monaco-languageclient-examples 6.4.5-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/License.txt +11 -0
- package/README.md +17 -0
- package/browser.html +16 -0
- package/client.html +16 -0
- package/dist/browser/main.d.ts +2 -0
- package/dist/browser/main.d.ts.map +1 -0
- package/dist/browser/main.js +111 -0
- package/dist/browser/main.js.map +1 -0
- package/dist/common.d.ts +22 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +109 -0
- package/dist/common.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/json/client/main.d.ts +2 -0
- package/dist/json/client/main.d.ts.map +1 -0
- package/dist/json/client/main.js +19 -0
- package/dist/json/client/main.js.map +1 -0
- package/dist/json/server/json-server.d.ts +36 -0
- package/dist/json/server/json-server.d.ts.map +1 -0
- package/dist/json/server/json-server.js +216 -0
- package/dist/json/server/json-server.js.map +1 -0
- package/dist/json/server/main.d.ts +2 -0
- package/dist/json/server/main.d.ts.map +1 -0
- package/dist/json/server/main.js +64 -0
- package/dist/json/server/main.js.map +1 -0
- package/dist/langium/langiumClient.d.ts +2 -0
- package/dist/langium/langiumClient.d.ts.map +1 -0
- package/dist/langium/langiumClient.js +130 -0
- package/dist/langium/langiumClient.js.map +1 -0
- package/dist/langium/langiumServerWorker.d.ts +2 -0
- package/dist/langium/langiumServerWorker.d.ts.map +1 -0
- package/dist/langium/langiumServerWorker.js +18 -0
- package/dist/langium/langiumServerWorker.js.map +1 -0
- package/dist/langium/statemachineClient.d.ts +2 -0
- package/dist/langium/statemachineClient.d.ts.map +1 -0
- package/dist/langium/statemachineClient.js +140 -0
- package/dist/langium/statemachineClient.js.map +1 -0
- package/dist/node.d.ts +5 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +9 -0
- package/dist/node.js.map +1 -0
- package/dist/python/client.d.ts +3 -0
- package/dist/python/client.d.ts.map +1 -0
- package/dist/python/client.js +157 -0
- package/dist/python/client.js.map +1 -0
- package/dist/python/server.d.ts +2 -0
- package/dist/python/server.d.ts.map +1 -0
- package/dist/python/server.js +105 -0
- package/dist/python/server.js.map +1 -0
- package/dist/react/app.d.ts +10 -0
- package/dist/react/app.d.ts.map +1 -0
- package/dist/react/app.js +45 -0
- package/dist/react/app.js.map +1 -0
- package/dist/react/main.d.ts +2 -0
- package/dist/react/main.d.ts.map +1 -0
- package/dist/react/main.js +14 -0
- package/dist/react/main.js.map +1 -0
- package/dist/utils/fs-utils.d.ts +5 -0
- package/dist/utils/fs-utils.d.ts.map +1 -0
- package/dist/utils/fs-utils.js +14 -0
- package/dist/utils/fs-utils.js.map +1 -0
- package/dist/worker/langiumServerWorker.js +210 -0
- package/dist/worker/statemachineServerWorker.js +534 -0
- package/langium_client.html +17 -0
- package/package.json +96 -0
- package/python.html +16 -0
- package/react.html +16 -0
- package/src/browser/main.ts +131 -0
- package/src/common.ts +130 -0
- package/src/index.ts +13 -0
- package/src/json/client/main.ts +22 -0
- package/src/json/server/json-server.ts +265 -0
- package/src/json/server/main.ts +68 -0
- package/src/langium/example.langium +215 -0
- package/src/langium/example.statemachine +26 -0
- package/src/langium/langium.configuration.json +164 -0
- package/src/langium/langium.tmLanguage.json +290 -0
- package/src/langium/langiumClient.ts +146 -0
- package/src/langium/langiumServerWorker.ts +21 -0
- package/src/langium/statemachineClient.ts +151 -0
- package/src/node.ts +9 -0
- package/src/python/client.ts +170 -0
- package/src/python/server.ts +114 -0
- package/src/react/app.tsx +73 -0
- package/src/react/main.tsx +19 -0
- package/src/utils/fs-utils.ts +14 -0
- package/statemachine_client.html +16 -0
- package/vite.statemachine-worker.ts +17 -0
|
@@ -0,0 +1,534 @@
|
|
|
1
|
+
(()=>{var mN=Object.create;var _h=Object.defineProperty;var hN=Object.getOwnPropertyDescriptor;var gN=Object.getOwnPropertyNames;var yN=Object.getPrototypeOf,vN=Object.prototype.hasOwnProperty;var Wl=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var $=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),TN=(t,e)=>{for(var r in e)_h(t,r,{get:e[r],enumerable:!0})},RN=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of gN(e))!vN.call(t,i)&&i!==r&&_h(t,i,{get:()=>e[i],enumerable:!(n=hN(e,i))||n.enumerable});return t};var Ie=(t,e,r)=>(r=t!=null?mN(yN(t)):{},RN(e||!t||!t.__esModule?_h(r,"default",{value:t,enumerable:!0}):r,t));var eo=$(Ch=>{"use strict";Object.defineProperty(Ch,"__esModule",{value:!0});var Sh;function kh(){if(Sh===void 0)throw new Error("No runtime abstraction layer installed");return Sh}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Sh=r}t.install=e})(kh||(kh={}));Ch.default=kh});var wh=$(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.Disposable=void 0;var bN;(function(t){function e(r){return{dispose:r}}t.create=e})(bN=Yc.Disposable||(Yc.Disposable={}))});var vs=$(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.Emitter=ys.Event=void 0;var xN=eo(),_N;(function(t){let e={dispose(){}};t.None=function(){return e}})(_N=ys.Event||(ys.Event={}));var Dh=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,xN.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Hl=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Dh),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};ys.Emitter=Hl;Hl._noop=function(){}});var HR=$(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});Gl.AbstractMessageBuffer=void 0;var SN=13,kN=10,CN=`\r
|
|
2
|
+
`,Eh=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(){if(this._chunks.length===0)return;let e=0,r=0,n=0,i=0;e:for(;r<this._chunks.length;){let c=this._chunks[r];for(n=0;n<c.length;){switch(c[n]){case SN:switch(e){case 0:e=1;break;case 2:e=3;break;default:e=0}break;case kN:switch(e){case 1:e=2;break;case 3:e=4,n++;break e;default:e=0}break;default:e=0}n++}i+=c.byteLength,r++}if(e!==4)return;let o=this._read(i+n),s=new Map,a=this.toString(o,"ascii").split(CN);if(a.length<2)return s;for(let c=0;c<a.length-2;c++){let f=a[c],p=f.indexOf(":");if(p===-1)throw new Error("Message header must separate key and value using :");let m=f.substr(0,p),T=f.substr(p+1).trim();s.set(m,T)}return s}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};Gl.AbstractMessageBuffer=Eh});var KR=$(Ih=>{"use strict";Object.defineProperty(Ih,"__esModule",{value:!0});var GR=eo(),ra=wh(),wN=vs(),DN=HR(),Bl=class t extends DN.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};Bl.emptyBuffer=new Uint8Array(0);var Ph=class{constructor(e){this.socket=e,this._onData=new wN.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,GR.default)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),ra.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),ra.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),ra.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},Ah=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),ra.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),ra.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),ra.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},EN=new TextEncoder,BR=Object.freeze({messageBuffer:Object.freeze({create:t=>new Bl(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(EN.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new Ph(t),asWritableStream:t=>new Ah(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function Nh(){return BR}(function(t){function e(){GR.default.install(BR)}t.install=e})(Nh||(Nh={}));Ih.default=Nh});var na=$(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.stringArray=jr.array=jr.func=jr.error=jr.number=jr.string=jr.boolean=void 0;function PN(t){return t===!0||t===!1}jr.boolean=PN;function zR(t){return typeof t=="string"||t instanceof String}jr.string=zR;function AN(t){return typeof t=="number"||t instanceof Number}jr.number=AN;function NN(t){return t instanceof Error}jr.error=NN;function IN(t){return typeof t=="function"}jr.func=IN;function VR(t){return Array.isArray(t)}jr.array=VR;function ON(t){return VR(t)&&t.every(e=>zR(e))}jr.stringArray=ON});var ng=$(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.Message=ue.NotificationType9=ue.NotificationType8=ue.NotificationType7=ue.NotificationType6=ue.NotificationType5=ue.NotificationType4=ue.NotificationType3=ue.NotificationType2=ue.NotificationType1=ue.NotificationType0=ue.NotificationType=ue.RequestType9=ue.RequestType8=ue.RequestType7=ue.RequestType6=ue.RequestType5=ue.RequestType4=ue.RequestType3=ue.RequestType2=ue.RequestType1=ue.RequestType=ue.RequestType0=ue.AbstractMessageSignature=ue.ParameterStructures=ue.ResponseError=ue.ErrorCodes=void 0;var Ts=na(),XR;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(XR=ue.ErrorCodes||(ue.ErrorCodes={}));var Oh=class t extends Error{constructor(e,r,n){super(r),this.code=Ts.number(e)?e:XR.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ue.ResponseError=Oh;var fn=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ue.ParameterStructures=fn;fn.auto=new fn("auto");fn.byPosition=new fn("byPosition");fn.byName=new fn("byName");var bt=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return fn.auto}};ue.AbstractMessageSignature=bt;var Lh=class extends bt{constructor(e){super(e,0)}};ue.RequestType0=Lh;var Mh=class extends bt{constructor(e,r=fn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ue.RequestType=Mh;var $h=class extends bt{constructor(e,r=fn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ue.RequestType1=$h;var qh=class extends bt{constructor(e){super(e,2)}};ue.RequestType2=qh;var Fh=class extends bt{constructor(e){super(e,3)}};ue.RequestType3=Fh;var jh=class extends bt{constructor(e){super(e,4)}};ue.RequestType4=jh;var Uh=class extends bt{constructor(e){super(e,5)}};ue.RequestType5=Uh;var Wh=class extends bt{constructor(e){super(e,6)}};ue.RequestType6=Wh;var Hh=class extends bt{constructor(e){super(e,7)}};ue.RequestType7=Hh;var Gh=class extends bt{constructor(e){super(e,8)}};ue.RequestType8=Gh;var Bh=class extends bt{constructor(e){super(e,9)}};ue.RequestType9=Bh;var Kh=class extends bt{constructor(e,r=fn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ue.NotificationType=Kh;var zh=class extends bt{constructor(e){super(e,0)}};ue.NotificationType0=zh;var Vh=class extends bt{constructor(e,r=fn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ue.NotificationType1=Vh;var Xh=class extends bt{constructor(e){super(e,2)}};ue.NotificationType2=Xh;var Yh=class extends bt{constructor(e){super(e,3)}};ue.NotificationType3=Yh;var Jh=class extends bt{constructor(e){super(e,4)}};ue.NotificationType4=Jh;var Qh=class extends bt{constructor(e){super(e,5)}};ue.NotificationType5=Qh;var Zh=class extends bt{constructor(e){super(e,6)}};ue.NotificationType6=Zh;var eg=class extends bt{constructor(e){super(e,7)}};ue.NotificationType7=eg;var tg=class extends bt{constructor(e){super(e,8)}};ue.NotificationType8=tg;var rg=class extends bt{constructor(e){super(e,9)}};ue.NotificationType9=rg;var LN;(function(t){function e(i){let o=i;return o&&Ts.string(o.method)&&(Ts.string(o.id)||Ts.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Ts.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Ts.string(o.id)||Ts.number(o.id)||o.id===null)}t.isResponse=n})(LN=ue.Message||(ue.Message={}))});var og=$(to=>{"use strict";var YR;Object.defineProperty(to,"__esModule",{value:!0});to.LRUCache=to.LinkedMap=to.Touch=void 0;var Yr;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Yr=to.Touch||(to.Touch={}));var Kl=class{constructor(){this[YR]="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(e){return this._map.has(e)}get(e,r=Yr.None){let n=this._map.get(e);if(n)return r!==Yr.None&&this.touch(n,r),n.value}set(e,r,n=Yr.None){let i=this._map.get(e);if(i)i.value=r,n!==Yr.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Yr.None:this.addItemLast(i);break;case Yr.First:this.addItemFirst(i);break;case Yr.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(YR=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Yr.First&&r!==Yr.Last)){if(r===Yr.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Yr.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};to.LinkedMap=Kl;var ig=class extends Kl{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Yr.AsNew){return super.get(e,r)}peek(e){return super.get(e,Yr.None)}set(e,r){return super.set(e,r,Yr.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};to.LRUCache=ig});var ug=$(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.CancellationTokenSource=Rs.CancellationToken=void 0;var MN=eo(),$N=na(),sg=vs(),ag;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:sg.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:sg.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||$N.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(ag=Rs.CancellationToken||(Rs.CancellationToken={}));var qN=Object.freeze(function(t,e){let r=(0,MN.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),zl=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?qN:(this._emitter||(this._emitter=new sg.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},cg=class{get token(){return this._token||(this._token=new zl),this._token}cancel(){this._token?this._token.cancel():this._token=ag.Cancelled}dispose(){this._token?this._token instanceof zl&&this._token.dispose():this._token=ag.None}};Rs.CancellationTokenSource=cg});var JR=$(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.ReadableStreamMessageReader=ro.AbstractMessageReader=ro.MessageReader=void 0;var fg=eo(),ia=na(),lg=vs(),FN;(function(t){function e(r){let n=r;return n&&ia.func(n.listen)&&ia.func(n.dispose)&&ia.func(n.onError)&&ia.func(n.onClose)&&ia.func(n.onPartialMessage)}t.is=e})(FN=ro.MessageReader||(ro.MessageReader={}));var Vl=class{constructor(){this.errorEmitter=new lg.Emitter,this.closeEmitter=new lg.Emitter,this.partialMessageEmitter=new lg.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${ia.string(e.message)?e.message:"unknown"}`)}};ro.AbstractMessageReader=Vl;var dg;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let f of r.contentDecoders)s.set(f.name,f);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let f of r.contentTypeDecoders)c.set(f.name,f)}return a===void 0&&(a=(0,fg.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(dg||(dg={}));var pg=class extends Vl{constructor(e,r){super(),this.readable=e,this.options=dg.fromOptions(r),this.buffer=(0,fg.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let i=this.buffer.tryReadHeaders();if(!i)return;let o=i.get("Content-Length");if(!o)throw new Error("Header must provide a Content-Length property.");let s=parseInt(o);if(isNaN(s))throw new Error("Content-Length value must be a number.");this.nextMessageLength=s}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1;let n;this.options.contentDecoder!==void 0?n=this.options.contentDecoder.decode(r):n=Promise.resolve(r),n.then(i=>{this.options.contentTypeDecoder.decode(i,this.options).then(o=>{this.callback(o)},o=>{this.fireError(o)})},i=>{this.fireError(i)})}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,fg.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};ro.ReadableStreamMessageReader=pg});var QR=$(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});Xl.Semaphore=void 0;var jN=eo(),mg=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,jN.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};Xl.Semaphore=mg});var rb=$(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.WriteableStreamMessageWriter=no.AbstractMessageWriter=no.MessageWriter=void 0;var ZR=eo(),Jc=na(),UN=QR(),eb=vs(),WN="Content-Length: ",tb=`\r
|
|
3
|
+
`,HN;(function(t){function e(r){let n=r;return n&&Jc.func(n.dispose)&&Jc.func(n.onClose)&&Jc.func(n.onError)&&Jc.func(n.write)}t.is=e})(HN=no.MessageWriter||(no.MessageWriter={}));var Yl=class{constructor(){this.errorEmitter=new eb.Emitter,this.closeEmitter=new eb.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Jc.string(e.message)?e.message:"unknown"}`)}};no.AbstractMessageWriter=Yl;var hg;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,ZR.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,ZR.default)().applicationJson.encoder}}t.fromOptions=e})(hg||(hg={}));var gg=class extends Yl{constructor(e,r){super(),this.writable=e,this.options=hg.fromOptions(r),this.errorCount=0,this.writeSemaphore=new UN.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(WN,n.byteLength.toString(),tb),i.push(tb),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};no.WriteableStreamMessageWriter=gg});var cb=$(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.createMessageConnection=ge.ConnectionOptions=ge.CancellationStrategy=ge.CancellationSenderStrategy=ge.CancellationReceiverStrategy=ge.ConnectionStrategy=ge.ConnectionError=ge.ConnectionErrors=ge.LogTraceNotification=ge.SetTraceNotification=ge.TraceFormat=ge.TraceValues=ge.Trace=ge.NullLogger=ge.ProgressType=ge.ProgressToken=void 0;var nb=eo(),fr=na(),Te=ng(),ib=og(),Qc=vs(),yg=ug(),eu;(function(t){t.type=new Te.NotificationType("$/cancelRequest")})(eu||(eu={}));var ob;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(ob=ge.ProgressToken||(ge.ProgressToken={}));var Zc;(function(t){t.type=new Te.NotificationType("$/progress")})(Zc||(Zc={}));var vg=class{constructor(){}};ge.ProgressType=vg;var Tg;(function(t){function e(r){return fr.func(r)}t.is=e})(Tg||(Tg={}));ge.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Je;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Je=ge.Trace||(ge.Trace={}));var GN;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(GN=ge.TraceValues||(ge.TraceValues={}));(function(t){function e(n){if(!fr.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(Je=ge.Trace||(ge.Trace={}));var Zn;(function(t){t.Text="text",t.JSON="json"})(Zn=ge.TraceFormat||(ge.TraceFormat={}));(function(t){function e(r){return fr.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(Zn=ge.TraceFormat||(ge.TraceFormat={}));var sb;(function(t){t.type=new Te.NotificationType("$/setTrace")})(sb=ge.SetTraceNotification||(ge.SetTraceNotification={}));var Rg;(function(t){t.type=new Te.NotificationType("$/logTrace")})(Rg=ge.LogTraceNotification||(ge.LogTraceNotification={}));var Jl;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(Jl=ge.ConnectionErrors||(ge.ConnectionErrors={}));var oa=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};ge.ConnectionError=oa;var ab;(function(t){function e(r){let n=r;return n&&fr.func(n.cancelUndispatched)}t.is=e})(ab=ge.ConnectionStrategy||(ge.ConnectionStrategy={}));var bg;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new yg.CancellationTokenSource}});function e(r){let n=r;return n&&fr.func(n.createCancellationTokenSource)}t.is=e})(bg=ge.CancellationReceiverStrategy||(ge.CancellationReceiverStrategy={}));var xg;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(eu.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&fr.func(n.sendCancellation)&&fr.func(n.cleanup)}t.is=e})(xg=ge.CancellationSenderStrategy||(ge.CancellationSenderStrategy={}));var _g;(function(t){t.Message=Object.freeze({receiver:bg.Message,sender:xg.Message});function e(r){let n=r;return n&&bg.is(n.receiver)&&xg.is(n.sender)}t.is=e})(_g=ge.CancellationStrategy||(ge.CancellationStrategy={}));var BN;(function(t){function e(r){let n=r;return n&&(_g.is(n.cancellationStrategy)||ab.is(n.connectionStrategy))}t.is=e})(BN=ge.ConnectionOptions||(ge.ConnectionOptions={}));var ei;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(ei||(ei={}));function KN(t,e,r,n){let i=r!==void 0?r:ge.NullLogger,o=0,s=0,a=0,c="2.0",f,p=new Map,m,T=new Map,_=new Map,E,N=new ib.LinkedMap,I=new Map,A=new Set,y=new Map,h=Je.Off,C=Zn.Text,L,J=ei.New,fe=new Qc.Emitter,Ae=new Qc.Emitter,Wt=new Qc.Emitter,Xe=new Qc.Emitter,Ye=new Qc.Emitter,V=n&&n.cancellationStrategy?n.cancellationStrategy:_g.Message;function it(D){if(D===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+D.toString()}function Tt(D){return D===null?"res-unknown-"+(++a).toString():"res-"+D.toString()}function ur(){return"not-"+(++s).toString()}function j(D,R){Te.Message.isRequest(R)?D.set(it(R.id),R):Te.Message.isResponse(R)?D.set(Tt(R.id),R):D.set(ur(),R)}function M(D){}function U(){return J===ei.Listening}function W(){return J===ei.Closed}function re(){return J===ei.Disposed}function ve(){(J===ei.New||J===ei.Listening)&&(J=ei.Closed,Ae.fire(void 0))}function ne(D){fe.fire([D,void 0,void 0])}function Yt(D){fe.fire(D)}t.onClose(ve),t.onError(ne),e.onClose(ve),e.onError(Yt);function Rt(){E||N.size===0||(E=(0,nb.default)().timer.setImmediate(()=>{E=void 0,Ge()}))}function Ge(){if(N.size===0)return;let D=N.shift();try{Te.Message.isRequest(D)?He(D):Te.Message.isNotification(D)?un(D):Te.Message.isResponse(D)?Jt(D):Kt(D)}finally{Rt()}}let Xr=D=>{try{if(Te.Message.isNotification(D)&&D.method===eu.type.method){let R=D.params.id,P=it(R),O=N.get(P);if(Te.Message.isRequest(O)){let de=n?.connectionStrategy,pe=de&&de.cancelUndispatched?de.cancelUndispatched(O,M):void 0;if(pe&&(pe.error!==void 0||pe.result!==void 0)){N.delete(P),y.delete(R),pe.id=O.id,yr(pe,D.method,Date.now()),e.write(pe).catch(()=>i.error("Sending response for canceled message failed."));return}}let H=y.get(R);if(H!==void 0){H.cancel(),In(D);return}else A.add(R)}j(N,D)}finally{Rt()}};function He(D){if(re())return;function R(ce,ie,se){let me={jsonrpc:c,id:D.id};ce instanceof Te.ResponseError?me.error=ce.toJson():me.result=ce===void 0?null:ce,yr(me,ie,se),e.write(me).catch(()=>i.error("Sending response failed."))}function P(ce,ie,se){let me={jsonrpc:c,id:D.id,error:ce.toJson()};yr(me,ie,se),e.write(me).catch(()=>i.error("Sending response failed."))}function O(ce,ie,se){ce===void 0&&(ce=null);let me={jsonrpc:c,id:D.id,result:ce};yr(me,ie,se),e.write(me).catch(()=>i.error("Sending response failed."))}ln(D);let H=p.get(D.method),de,pe;H&&(de=H.type,pe=H.handler);let be=Date.now();if(pe||f){let ce=D.id??String(Date.now()),ie=V.receiver.createCancellationTokenSource(ce);D.id!==null&&A.has(D.id)&&ie.cancel(),D.id!==null&&y.set(ce,ie);try{let se;if(pe)if(D.params===void 0){if(de!==void 0&&de.numberOfParams!==0){P(new Te.ResponseError(Te.ErrorCodes.InvalidParams,`Request ${D.method} defines ${de.numberOfParams} params but received none.`),D.method,be);return}se=pe(ie.token)}else if(Array.isArray(D.params)){if(de!==void 0&&de.parameterStructures===Te.ParameterStructures.byName){P(new Te.ResponseError(Te.ErrorCodes.InvalidParams,`Request ${D.method} defines parameters by name but received parameters by position`),D.method,be);return}se=pe(...D.params,ie.token)}else{if(de!==void 0&&de.parameterStructures===Te.ParameterStructures.byPosition){P(new Te.ResponseError(Te.ErrorCodes.InvalidParams,`Request ${D.method} defines parameters by position but received parameters by name`),D.method,be);return}se=pe(D.params,ie.token)}else f&&(se=f(D.method,D.params,ie.token));let me=se;se?me.then?me.then(Pe=>{y.delete(ce),R(Pe,D.method,be)},Pe=>{y.delete(ce),Pe instanceof Te.ResponseError?P(Pe,D.method,be):Pe&&fr.string(Pe.message)?P(new Te.ResponseError(Te.ErrorCodes.InternalError,`Request ${D.method} failed with message: ${Pe.message}`),D.method,be):P(new Te.ResponseError(Te.ErrorCodes.InternalError,`Request ${D.method} failed unexpectedly without providing any details.`),D.method,be)}):(y.delete(ce),R(se,D.method,be)):(y.delete(ce),O(se,D.method,be))}catch(se){y.delete(ce),se instanceof Te.ResponseError?R(se,D.method,be):se&&fr.string(se.message)?P(new Te.ResponseError(Te.ErrorCodes.InternalError,`Request ${D.method} failed with message: ${se.message}`),D.method,be):P(new Te.ResponseError(Te.ErrorCodes.InternalError,`Request ${D.method} failed unexpectedly without providing any details.`),D.method,be)}}else P(new Te.ResponseError(Te.ErrorCodes.MethodNotFound,`Unhandled method ${D.method}`),D.method,be)}function Jt(D){if(!re())if(D.id===null)D.error?i.error(`Received response message without id: Error is:
|
|
4
|
+
${JSON.stringify(D.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let R=D.id,P=I.get(R);if(Ji(D,P),P!==void 0){I.delete(R);try{if(D.error){let O=D.error;P.reject(new Te.ResponseError(O.code,O.message,O.data))}else if(D.result!==void 0)P.resolve(D.result);else throw new Error("Should never happen.")}catch(O){O.message?i.error(`Response handler '${P.method}' failed with message: ${O.message}`):i.error(`Response handler '${P.method}' failed unexpectedly.`)}}}}function un(D){if(re())return;let R,P;if(D.method===eu.type.method){let O=D.params.id;A.delete(O),In(D);return}else{let O=T.get(D.method);O&&(P=O.handler,R=O.type)}if(P||m)try{if(In(D),P)if(D.params===void 0)R!==void 0&&R.numberOfParams!==0&&R.parameterStructures!==Te.ParameterStructures.byName&&i.error(`Notification ${D.method} defines ${R.numberOfParams} params but received none.`),P();else if(Array.isArray(D.params)){let O=D.params;D.method===Zc.type.method&&O.length===2&&ob.is(O[0])?P({token:O[0],value:O[1]}):(R!==void 0&&(R.parameterStructures===Te.ParameterStructures.byName&&i.error(`Notification ${D.method} defines parameters by name but received parameters by position`),R.numberOfParams!==D.params.length&&i.error(`Notification ${D.method} defines ${R.numberOfParams} params but received ${O.length} arguments`)),P(...O))}else R!==void 0&&R.parameterStructures===Te.ParameterStructures.byPosition&&i.error(`Notification ${D.method} defines parameters by position but received parameters by name`),P(D.params);else m&&m(D.method,D.params)}catch(O){O.message?i.error(`Notification handler '${D.method}' failed with message: ${O.message}`):i.error(`Notification handler '${D.method}' failed unexpectedly.`)}else Wt.fire(D)}function Kt(D){if(!D){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
|
|
5
|
+
${JSON.stringify(D,null,4)}`);let R=D;if(fr.string(R.id)||fr.number(R.id)){let P=R.id,O=I.get(P);O&&O.reject(new Error("The received response has neither a result nor an error property."))}}function ot(D){if(D!=null)switch(h){case Je.Verbose:return JSON.stringify(D,null,4);case Je.Compact:return JSON.stringify(D);default:return}}function Et(D){if(!(h===Je.Off||!L))if(C===Zn.Text){let R;(h===Je.Verbose||h===Je.Compact)&&D.params&&(R=`Params: ${ot(D.params)}
|
|
6
|
+
|
|
7
|
+
`),L.log(`Sending request '${D.method} - (${D.id})'.`,R)}else On("send-request",D)}function Sr(D){if(!(h===Je.Off||!L))if(C===Zn.Text){let R;(h===Je.Verbose||h===Je.Compact)&&(D.params?R=`Params: ${ot(D.params)}
|
|
8
|
+
|
|
9
|
+
`:R=`No parameters provided.
|
|
10
|
+
|
|
11
|
+
`),L.log(`Sending notification '${D.method}'.`,R)}else On("send-notification",D)}function yr(D,R,P){if(!(h===Je.Off||!L))if(C===Zn.Text){let O;(h===Je.Verbose||h===Je.Compact)&&(D.error&&D.error.data?O=`Error data: ${ot(D.error.data)}
|
|
12
|
+
|
|
13
|
+
`:D.result?O=`Result: ${ot(D.result)}
|
|
14
|
+
|
|
15
|
+
`:D.error===void 0&&(O=`No result returned.
|
|
16
|
+
|
|
17
|
+
`)),L.log(`Sending response '${R} - (${D.id})'. Processing request took ${Date.now()-P}ms`,O)}else On("send-response",D)}function ln(D){if(!(h===Je.Off||!L))if(C===Zn.Text){let R;(h===Je.Verbose||h===Je.Compact)&&D.params&&(R=`Params: ${ot(D.params)}
|
|
18
|
+
|
|
19
|
+
`),L.log(`Received request '${D.method} - (${D.id})'.`,R)}else On("receive-request",D)}function In(D){if(!(h===Je.Off||!L||D.method===Rg.type.method))if(C===Zn.Text){let R;(h===Je.Verbose||h===Je.Compact)&&(D.params?R=`Params: ${ot(D.params)}
|
|
20
|
+
|
|
21
|
+
`:R=`No parameters provided.
|
|
22
|
+
|
|
23
|
+
`),L.log(`Received notification '${D.method}'.`,R)}else On("receive-notification",D)}function Ji(D,R){if(!(h===Je.Off||!L))if(C===Zn.Text){let P;if((h===Je.Verbose||h===Je.Compact)&&(D.error&&D.error.data?P=`Error data: ${ot(D.error.data)}
|
|
24
|
+
|
|
25
|
+
`:D.result?P=`Result: ${ot(D.result)}
|
|
26
|
+
|
|
27
|
+
`:D.error===void 0&&(P=`No result returned.
|
|
28
|
+
|
|
29
|
+
`)),R){let O=D.error?` Request failed: ${D.error.message} (${D.error.code}).`:"";L.log(`Received response '${R.method} - (${D.id})' in ${Date.now()-R.timerStart}ms.${O}`,P)}else L.log(`Received response ${D.id} without active response promise.`,P)}else On("receive-response",D)}function On(D,R){if(!L||h===Je.Off)return;let P={isLSPMessage:!0,type:D,message:R,timestamp:Date.now()};L.log(P)}function qr(){if(W())throw new oa(Jl.Closed,"Connection is closed.");if(re())throw new oa(Jl.Disposed,"Connection is disposed.")}function Jn(){if(U())throw new oa(Jl.AlreadyListening,"Connection is already listening")}function gs(){if(!U())throw new Error("Call listen() first.")}function Qn(D){return D===void 0?null:D}function Fr(D){if(D!==null)return D}function Qi(D){return D!=null&&!Array.isArray(D)&&typeof D=="object"}function Si(D,R){switch(D){case Te.ParameterStructures.auto:return Qi(R)?Fr(R):[Qn(R)];case Te.ParameterStructures.byName:if(!Qi(R))throw new Error("Received parameters by name but param is not an object literal.");return Fr(R);case Te.ParameterStructures.byPosition:return[Qn(R)];default:throw new Error(`Unknown parameter structure ${D.toString()}`)}}function ki(D,R){let P,O=D.numberOfParams;switch(O){case 0:P=void 0;break;case 1:P=Si(D.parameterStructures,R[0]);break;default:P=[];for(let H=0;H<R.length&&H<O;H++)P.push(Qn(R[H]));if(R.length<O)for(let H=R.length;H<O;H++)P.push(null);break}return P}let Rn={sendNotification:(D,...R)=>{qr();let P,O;if(fr.string(D)){P=D;let de=R[0],pe=0,be=Te.ParameterStructures.auto;Te.ParameterStructures.is(de)&&(pe=1,be=de);let ce=R.length,ie=ce-pe;switch(ie){case 0:O=void 0;break;case 1:O=Si(be,R[pe]);break;default:if(be===Te.ParameterStructures.byName)throw new Error(`Received ${ie} parameters for 'by Name' notification parameter structure.`);O=R.slice(pe,ce).map(se=>Qn(se));break}}else{let de=R;P=D.method,O=ki(D,de)}let H={jsonrpc:c,method:P,params:O};return Sr(H),e.write(H).catch(()=>i.error("Sending notification failed."))},onNotification:(D,R)=>{qr();let P;return fr.func(D)?m=D:R&&(fr.string(D)?(P=D,T.set(D,{type:void 0,handler:R})):(P=D.method,T.set(D.method,{type:D,handler:R}))),{dispose:()=>{P!==void 0?T.delete(P):m=void 0}}},onProgress:(D,R,P)=>{if(_.has(R))throw new Error(`Progress handler for token ${R} already registered`);return _.set(R,P),{dispose:()=>{_.delete(R)}}},sendProgress:(D,R,P)=>Rn.sendNotification(Zc.type,{token:R,value:P}),onUnhandledProgress:Xe.event,sendRequest:(D,...R)=>{qr(),gs();let P,O,H;if(fr.string(D)){P=D;let ce=R[0],ie=R[R.length-1],se=0,me=Te.ParameterStructures.auto;Te.ParameterStructures.is(ce)&&(se=1,me=ce);let Pe=R.length;yg.CancellationToken.is(ie)&&(Pe=Pe-1,H=ie);let ct=Pe-se;switch(ct){case 0:O=void 0;break;case 1:O=Si(me,R[se]);break;default:if(me===Te.ParameterStructures.byName)throw new Error(`Received ${ct} parameters for 'by Name' request parameter structure.`);O=R.slice(se,Pe).map(Pt=>Qn(Pt));break}}else{let ce=R;P=D.method,O=ki(D,ce);let ie=D.numberOfParams;H=yg.CancellationToken.is(ce[ie])?ce[ie]:void 0}let de=o++,pe;return H&&(pe=H.onCancellationRequested(()=>{let ce=V.sender.sendCancellation(Rn,de);return ce===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${de}`),Promise.resolve()):ce.catch(()=>{i.log(`Sending cancellation messages for id ${de} failed`)})})),new Promise((ce,ie)=>{let se={jsonrpc:c,id:de,method:P,params:O},me=Pt=>{ce(Pt),V.sender.cleanup(de),pe?.dispose()},Pe=Pt=>{ie(Pt),V.sender.cleanup(de),pe?.dispose()},ct={method:P,timerStart:Date.now(),resolve:me,reject:Pe};Et(se);try{e.write(se).catch(()=>i.error("Sending request failed."))}catch(Pt){ct.reject(new Te.ResponseError(Te.ErrorCodes.MessageWriteError,Pt.message?Pt.message:"Unknown reason")),ct=null}ct&&I.set(de,ct)})},onRequest:(D,R)=>{qr();let P=null;return Tg.is(D)?(P=void 0,f=D):fr.string(D)?(P=null,R!==void 0&&(P=D,p.set(D,{handler:R,type:void 0}))):R!==void 0&&(P=D.method,p.set(D.method,{type:D,handler:R})),{dispose:()=>{P!==null&&(P!==void 0?p.delete(P):f=void 0)}}},hasPendingResponse:()=>I.size>0,trace:async(D,R,P)=>{let O=!1,H=Zn.Text;P!==void 0&&(fr.boolean(P)?O=P:(O=P.sendNotification||!1,H=P.traceFormat||Zn.Text)),h=D,C=H,h===Je.Off?L=void 0:L=R,O&&!W()&&!re()&&await Rn.sendNotification(sb.type,{value:Je.toString(D)})},onError:fe.event,onClose:Ae.event,onUnhandledNotification:Wt.event,onDispose:Ye.event,end:()=>{e.end()},dispose:()=>{if(re())return;J=ei.Disposed,Ye.fire(void 0);let D=new Te.ResponseError(Te.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let R of I.values())R.reject(D);I=new Map,y=new Map,A=new Set,N=new ib.LinkedMap,fr.func(e.dispose)&&e.dispose(),fr.func(t.dispose)&&t.dispose()},listen:()=>{qr(),Jn(),J=ei.Listening,t.listen(Xr)},inspect:()=>{(0,nb.default)().console.log("inspect")}};return Rn.onNotification(Rg.type,D=>{if(h===Je.Off||!L)return;let R=h===Je.Verbose||h===Je.Compact;L.log(D.message,R?D.verbose:void 0)}),Rn.onNotification(Zc.type,D=>{let R=_.get(D.token);R?R(D.value):Xe.fire(D)}),Rn}ge.createMessageConnection=KN});var wg=$(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.TraceFormat=F.TraceValues=F.Trace=F.ProgressType=F.ProgressToken=F.createMessageConnection=F.NullLogger=F.ConnectionOptions=F.ConnectionStrategy=F.WriteableStreamMessageWriter=F.AbstractMessageWriter=F.MessageWriter=F.ReadableStreamMessageReader=F.AbstractMessageReader=F.MessageReader=F.CancellationToken=F.CancellationTokenSource=F.Emitter=F.Event=F.Disposable=F.LRUCache=F.Touch=F.LinkedMap=F.ParameterStructures=F.NotificationType9=F.NotificationType8=F.NotificationType7=F.NotificationType6=F.NotificationType5=F.NotificationType4=F.NotificationType3=F.NotificationType2=F.NotificationType1=F.NotificationType0=F.NotificationType=F.ErrorCodes=F.ResponseError=F.RequestType9=F.RequestType8=F.RequestType7=F.RequestType6=F.RequestType5=F.RequestType4=F.RequestType3=F.RequestType2=F.RequestType1=F.RequestType0=F.RequestType=F.Message=F.RAL=void 0;F.CancellationStrategy=F.CancellationSenderStrategy=F.CancellationReceiverStrategy=F.ConnectionError=F.ConnectionErrors=F.LogTraceNotification=F.SetTraceNotification=void 0;var ft=ng();Object.defineProperty(F,"Message",{enumerable:!0,get:function(){return ft.Message}});Object.defineProperty(F,"RequestType",{enumerable:!0,get:function(){return ft.RequestType}});Object.defineProperty(F,"RequestType0",{enumerable:!0,get:function(){return ft.RequestType0}});Object.defineProperty(F,"RequestType1",{enumerable:!0,get:function(){return ft.RequestType1}});Object.defineProperty(F,"RequestType2",{enumerable:!0,get:function(){return ft.RequestType2}});Object.defineProperty(F,"RequestType3",{enumerable:!0,get:function(){return ft.RequestType3}});Object.defineProperty(F,"RequestType4",{enumerable:!0,get:function(){return ft.RequestType4}});Object.defineProperty(F,"RequestType5",{enumerable:!0,get:function(){return ft.RequestType5}});Object.defineProperty(F,"RequestType6",{enumerable:!0,get:function(){return ft.RequestType6}});Object.defineProperty(F,"RequestType7",{enumerable:!0,get:function(){return ft.RequestType7}});Object.defineProperty(F,"RequestType8",{enumerable:!0,get:function(){return ft.RequestType8}});Object.defineProperty(F,"RequestType9",{enumerable:!0,get:function(){return ft.RequestType9}});Object.defineProperty(F,"ResponseError",{enumerable:!0,get:function(){return ft.ResponseError}});Object.defineProperty(F,"ErrorCodes",{enumerable:!0,get:function(){return ft.ErrorCodes}});Object.defineProperty(F,"NotificationType",{enumerable:!0,get:function(){return ft.NotificationType}});Object.defineProperty(F,"NotificationType0",{enumerable:!0,get:function(){return ft.NotificationType0}});Object.defineProperty(F,"NotificationType1",{enumerable:!0,get:function(){return ft.NotificationType1}});Object.defineProperty(F,"NotificationType2",{enumerable:!0,get:function(){return ft.NotificationType2}});Object.defineProperty(F,"NotificationType3",{enumerable:!0,get:function(){return ft.NotificationType3}});Object.defineProperty(F,"NotificationType4",{enumerable:!0,get:function(){return ft.NotificationType4}});Object.defineProperty(F,"NotificationType5",{enumerable:!0,get:function(){return ft.NotificationType5}});Object.defineProperty(F,"NotificationType6",{enumerable:!0,get:function(){return ft.NotificationType6}});Object.defineProperty(F,"NotificationType7",{enumerable:!0,get:function(){return ft.NotificationType7}});Object.defineProperty(F,"NotificationType8",{enumerable:!0,get:function(){return ft.NotificationType8}});Object.defineProperty(F,"NotificationType9",{enumerable:!0,get:function(){return ft.NotificationType9}});Object.defineProperty(F,"ParameterStructures",{enumerable:!0,get:function(){return ft.ParameterStructures}});var Sg=og();Object.defineProperty(F,"LinkedMap",{enumerable:!0,get:function(){return Sg.LinkedMap}});Object.defineProperty(F,"LRUCache",{enumerable:!0,get:function(){return Sg.LRUCache}});Object.defineProperty(F,"Touch",{enumerable:!0,get:function(){return Sg.Touch}});var zN=wh();Object.defineProperty(F,"Disposable",{enumerable:!0,get:function(){return zN.Disposable}});var ub=vs();Object.defineProperty(F,"Event",{enumerable:!0,get:function(){return ub.Event}});Object.defineProperty(F,"Emitter",{enumerable:!0,get:function(){return ub.Emitter}});var lb=ug();Object.defineProperty(F,"CancellationTokenSource",{enumerable:!0,get:function(){return lb.CancellationTokenSource}});Object.defineProperty(F,"CancellationToken",{enumerable:!0,get:function(){return lb.CancellationToken}});var kg=JR();Object.defineProperty(F,"MessageReader",{enumerable:!0,get:function(){return kg.MessageReader}});Object.defineProperty(F,"AbstractMessageReader",{enumerable:!0,get:function(){return kg.AbstractMessageReader}});Object.defineProperty(F,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return kg.ReadableStreamMessageReader}});var Cg=rb();Object.defineProperty(F,"MessageWriter",{enumerable:!0,get:function(){return Cg.MessageWriter}});Object.defineProperty(F,"AbstractMessageWriter",{enumerable:!0,get:function(){return Cg.AbstractMessageWriter}});Object.defineProperty(F,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Cg.WriteableStreamMessageWriter}});var Ur=cb();Object.defineProperty(F,"ConnectionStrategy",{enumerable:!0,get:function(){return Ur.ConnectionStrategy}});Object.defineProperty(F,"ConnectionOptions",{enumerable:!0,get:function(){return Ur.ConnectionOptions}});Object.defineProperty(F,"NullLogger",{enumerable:!0,get:function(){return Ur.NullLogger}});Object.defineProperty(F,"createMessageConnection",{enumerable:!0,get:function(){return Ur.createMessageConnection}});Object.defineProperty(F,"ProgressToken",{enumerable:!0,get:function(){return Ur.ProgressToken}});Object.defineProperty(F,"ProgressType",{enumerable:!0,get:function(){return Ur.ProgressType}});Object.defineProperty(F,"Trace",{enumerable:!0,get:function(){return Ur.Trace}});Object.defineProperty(F,"TraceValues",{enumerable:!0,get:function(){return Ur.TraceValues}});Object.defineProperty(F,"TraceFormat",{enumerable:!0,get:function(){return Ur.TraceFormat}});Object.defineProperty(F,"SetTraceNotification",{enumerable:!0,get:function(){return Ur.SetTraceNotification}});Object.defineProperty(F,"LogTraceNotification",{enumerable:!0,get:function(){return Ur.LogTraceNotification}});Object.defineProperty(F,"ConnectionErrors",{enumerable:!0,get:function(){return Ur.ConnectionErrors}});Object.defineProperty(F,"ConnectionError",{enumerable:!0,get:function(){return Ur.ConnectionError}});Object.defineProperty(F,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Ur.CancellationReceiverStrategy}});Object.defineProperty(F,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Ur.CancellationSenderStrategy}});Object.defineProperty(F,"CancellationStrategy",{enumerable:!0,get:function(){return Ur.CancellationStrategy}});var VN=eo();F.RAL=VN.default});var io=$(xn=>{"use strict";var XN=xn&&xn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),YN=xn&&xn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&XN(e,t,r)};Object.defineProperty(xn,"__esModule",{value:!0});xn.createMessageConnection=xn.BrowserMessageWriter=xn.BrowserMessageReader=void 0;var JN=KR();JN.default.install();var sa=wg();YN(wg(),xn);var Dg=class extends sa.AbstractMessageReader{constructor(e){super(),this._onData=new sa.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};xn.BrowserMessageReader=Dg;var Eg=class extends sa.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};xn.BrowserMessageWriter=Eg;function QN(t,e,r,n){return r===void 0&&(r=sa.NullLogger),sa.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,sa.createMessageConnection)(t,e,r,n)}xn.createMessageConnection=QN});var Pg=$((y4,fb)=>{"use strict";fb.exports=io()});var bs=$((db,Ql)=>{(function(t){if(typeof Ql=="object"&&typeof Ql.exports=="object"){var e=t(Wl,db);e!==void 0&&(Ql.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],t)})(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var r;(function(l){function g(v){return typeof v=="string"}l.is=g})(r=e.DocumentUri||(e.DocumentUri={}));var n;(function(l){function g(v){return typeof v=="string"}l.is=g})(n=e.URI||(e.URI={}));var i;(function(l){l.MIN_VALUE=-2147483648,l.MAX_VALUE=2147483647;function g(v){return typeof v=="number"&&l.MIN_VALUE<=v&&v<=l.MAX_VALUE}l.is=g})(i=e.integer||(e.integer={}));var o;(function(l){l.MIN_VALUE=0,l.MAX_VALUE=2147483647;function g(v){return typeof v=="number"&&l.MIN_VALUE<=v&&v<=l.MAX_VALUE}l.is=g})(o=e.uinteger||(e.uinteger={}));var s;(function(l){function g(d,u){return d===Number.MAX_VALUE&&(d=o.MAX_VALUE),u===Number.MAX_VALUE&&(u=o.MAX_VALUE),{line:d,character:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.uinteger(u.line)&&b.uinteger(u.character)}l.is=v})(s=e.Position||(e.Position={}));var a;(function(l){function g(d,u,x,w){if(b.uinteger(d)&&b.uinteger(u)&&b.uinteger(x)&&b.uinteger(w))return{start:s.create(d,u),end:s.create(x,w)};if(s.is(d)&&s.is(u))return{start:d,end:u};throw new Error("Range#create called with invalid arguments[".concat(d,", ").concat(u,", ").concat(x,", ").concat(w,"]"))}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&s.is(u.start)&&s.is(u.end)}l.is=v})(a=e.Range||(e.Range={}));var c;(function(l){function g(d,u){return{uri:d,range:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&(b.string(u.uri)||b.undefined(u.uri))}l.is=v})(c=e.Location||(e.Location={}));var f;(function(l){function g(d,u,x,w){return{targetUri:d,targetRange:u,targetSelectionRange:x,originSelectionRange:w}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.targetRange)&&b.string(u.targetUri)&&a.is(u.targetSelectionRange)&&(a.is(u.originSelectionRange)||b.undefined(u.originSelectionRange))}l.is=v})(f=e.LocationLink||(e.LocationLink={}));var p;(function(l){function g(d,u,x,w){return{red:d,green:u,blue:x,alpha:w}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.numberRange(u.red,0,1)&&b.numberRange(u.green,0,1)&&b.numberRange(u.blue,0,1)&&b.numberRange(u.alpha,0,1)}l.is=v})(p=e.Color||(e.Color={}));var m;(function(l){function g(d,u){return{range:d,color:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&p.is(u.color)}l.is=v})(m=e.ColorInformation||(e.ColorInformation={}));var T;(function(l){function g(d,u,x){return{label:d,textEdit:u,additionalTextEdits:x}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.string(u.label)&&(b.undefined(u.textEdit)||L.is(u))&&(b.undefined(u.additionalTextEdits)||b.typedArray(u.additionalTextEdits,L.is))}l.is=v})(T=e.ColorPresentation||(e.ColorPresentation={}));var _;(function(l){l.Comment="comment",l.Imports="imports",l.Region="region"})(_=e.FoldingRangeKind||(e.FoldingRangeKind={}));var E;(function(l){function g(d,u,x,w,G,xe){var he={startLine:d,endLine:u};return b.defined(x)&&(he.startCharacter=x),b.defined(w)&&(he.endCharacter=w),b.defined(G)&&(he.kind=G),b.defined(xe)&&(he.collapsedText=xe),he}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.uinteger(u.startLine)&&b.uinteger(u.startLine)&&(b.undefined(u.startCharacter)||b.uinteger(u.startCharacter))&&(b.undefined(u.endCharacter)||b.uinteger(u.endCharacter))&&(b.undefined(u.kind)||b.string(u.kind))}l.is=v})(E=e.FoldingRange||(e.FoldingRange={}));var N;(function(l){function g(d,u){return{location:d,message:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&c.is(u.location)&&b.string(u.message)}l.is=v})(N=e.DiagnosticRelatedInformation||(e.DiagnosticRelatedInformation={}));var I;(function(l){l.Error=1,l.Warning=2,l.Information=3,l.Hint=4})(I=e.DiagnosticSeverity||(e.DiagnosticSeverity={}));var A;(function(l){l.Unnecessary=1,l.Deprecated=2})(A=e.DiagnosticTag||(e.DiagnosticTag={}));var y;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&b.string(d.href)}l.is=g})(y=e.CodeDescription||(e.CodeDescription={}));var h;(function(l){function g(d,u,x,w,G,xe){var he={range:d,message:u};return b.defined(x)&&(he.severity=x),b.defined(w)&&(he.code=w),b.defined(G)&&(he.source=G),b.defined(xe)&&(he.relatedInformation=xe),he}l.create=g;function v(d){var u,x=d;return b.defined(x)&&a.is(x.range)&&b.string(x.message)&&(b.number(x.severity)||b.undefined(x.severity))&&(b.integer(x.code)||b.string(x.code)||b.undefined(x.code))&&(b.undefined(x.codeDescription)||b.string((u=x.codeDescription)===null||u===void 0?void 0:u.href))&&(b.string(x.source)||b.undefined(x.source))&&(b.undefined(x.relatedInformation)||b.typedArray(x.relatedInformation,N.is))}l.is=v})(h=e.Diagnostic||(e.Diagnostic={}));var C;(function(l){function g(d,u){for(var x=[],w=2;w<arguments.length;w++)x[w-2]=arguments[w];var G={title:d,command:u};return b.defined(x)&&x.length>0&&(G.arguments=x),G}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.title)&&b.string(u.command)}l.is=v})(C=e.Command||(e.Command={}));var L;(function(l){function g(x,w){return{range:x,newText:w}}l.replace=g;function v(x,w){return{range:{start:x,end:x},newText:w}}l.insert=v;function d(x){return{range:x,newText:""}}l.del=d;function u(x){var w=x;return b.objectLiteral(w)&&b.string(w.newText)&&a.is(w.range)}l.is=u})(L=e.TextEdit||(e.TextEdit={}));var J;(function(l){function g(d,u,x){var w={label:d};return u!==void 0&&(w.needsConfirmation=u),x!==void 0&&(w.description=x),w}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.string(u.label)&&(b.boolean(u.needsConfirmation)||u.needsConfirmation===void 0)&&(b.string(u.description)||u.description===void 0)}l.is=v})(J=e.ChangeAnnotation||(e.ChangeAnnotation={}));var fe;(function(l){function g(v){var d=v;return b.string(d)}l.is=g})(fe=e.ChangeAnnotationIdentifier||(e.ChangeAnnotationIdentifier={}));var Ae;(function(l){function g(x,w,G){return{range:x,newText:w,annotationId:G}}l.replace=g;function v(x,w,G){return{range:{start:x,end:x},newText:w,annotationId:G}}l.insert=v;function d(x,w){return{range:x,newText:"",annotationId:w}}l.del=d;function u(x){var w=x;return L.is(w)&&(J.is(w.annotationId)||fe.is(w.annotationId))}l.is=u})(Ae=e.AnnotatedTextEdit||(e.AnnotatedTextEdit={}));var Wt;(function(l){function g(d,u){return{textDocument:d,edits:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&W.is(u.textDocument)&&Array.isArray(u.edits)}l.is=v})(Wt=e.TextDocumentEdit||(e.TextDocumentEdit={}));var Xe;(function(l){function g(d,u,x){var w={kind:"create",uri:d};return u!==void 0&&(u.overwrite!==void 0||u.ignoreIfExists!==void 0)&&(w.options=u),x!==void 0&&(w.annotationId=x),w}l.create=g;function v(d){var u=d;return u&&u.kind==="create"&&b.string(u.uri)&&(u.options===void 0||(u.options.overwrite===void 0||b.boolean(u.options.overwrite))&&(u.options.ignoreIfExists===void 0||b.boolean(u.options.ignoreIfExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(Xe=e.CreateFile||(e.CreateFile={}));var Ye;(function(l){function g(d,u,x,w){var G={kind:"rename",oldUri:d,newUri:u};return x!==void 0&&(x.overwrite!==void 0||x.ignoreIfExists!==void 0)&&(G.options=x),w!==void 0&&(G.annotationId=w),G}l.create=g;function v(d){var u=d;return u&&u.kind==="rename"&&b.string(u.oldUri)&&b.string(u.newUri)&&(u.options===void 0||(u.options.overwrite===void 0||b.boolean(u.options.overwrite))&&(u.options.ignoreIfExists===void 0||b.boolean(u.options.ignoreIfExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(Ye=e.RenameFile||(e.RenameFile={}));var V;(function(l){function g(d,u,x){var w={kind:"delete",uri:d};return u!==void 0&&(u.recursive!==void 0||u.ignoreIfNotExists!==void 0)&&(w.options=u),x!==void 0&&(w.annotationId=x),w}l.create=g;function v(d){var u=d;return u&&u.kind==="delete"&&b.string(u.uri)&&(u.options===void 0||(u.options.recursive===void 0||b.boolean(u.options.recursive))&&(u.options.ignoreIfNotExists===void 0||b.boolean(u.options.ignoreIfNotExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(V=e.DeleteFile||(e.DeleteFile={}));var it;(function(l){function g(v){var d=v;return d&&(d.changes!==void 0||d.documentChanges!==void 0)&&(d.documentChanges===void 0||d.documentChanges.every(function(u){return b.string(u.kind)?Xe.is(u)||Ye.is(u)||V.is(u):Wt.is(u)}))}l.is=g})(it=e.WorkspaceEdit||(e.WorkspaceEdit={}));var Tt=function(){function l(g,v){this.edits=g,this.changeAnnotations=v}return l.prototype.insert=function(g,v,d){var u,x;if(d===void 0?u=L.insert(g,v):fe.is(d)?(x=d,u=Ae.insert(g,v,d)):(this.assertChangeAnnotations(this.changeAnnotations),x=this.changeAnnotations.manage(d),u=Ae.insert(g,v,x)),this.edits.push(u),x!==void 0)return x},l.prototype.replace=function(g,v,d){var u,x;if(d===void 0?u=L.replace(g,v):fe.is(d)?(x=d,u=Ae.replace(g,v,d)):(this.assertChangeAnnotations(this.changeAnnotations),x=this.changeAnnotations.manage(d),u=Ae.replace(g,v,x)),this.edits.push(u),x!==void 0)return x},l.prototype.delete=function(g,v){var d,u;if(v===void 0?d=L.del(g):fe.is(v)?(u=v,d=Ae.del(g,v)):(this.assertChangeAnnotations(this.changeAnnotations),u=this.changeAnnotations.manage(v),d=Ae.del(g,u)),this.edits.push(d),u!==void 0)return u},l.prototype.add=function(g){this.edits.push(g)},l.prototype.all=function(){return this.edits},l.prototype.clear=function(){this.edits.splice(0,this.edits.length)},l.prototype.assertChangeAnnotations=function(g){if(g===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},l}(),ur=function(){function l(g){this._annotations=g===void 0?Object.create(null):g,this._counter=0,this._size=0}return l.prototype.all=function(){return this._annotations},Object.defineProperty(l.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),l.prototype.manage=function(g,v){var d;if(fe.is(g)?d=g:(d=this.nextId(),v=g),this._annotations[d]!==void 0)throw new Error("Id ".concat(d," is already in use."));if(v===void 0)throw new Error("No annotation provided for id ".concat(d));return this._annotations[d]=v,this._size++,d},l.prototype.nextId=function(){return this._counter++,this._counter.toString()},l}(),j=function(){function l(g){var v=this;this._textEditChanges=Object.create(null),g!==void 0?(this._workspaceEdit=g,g.documentChanges?(this._changeAnnotations=new ur(g.changeAnnotations),g.changeAnnotations=this._changeAnnotations.all(),g.documentChanges.forEach(function(d){if(Wt.is(d)){var u=new Tt(d.edits,v._changeAnnotations);v._textEditChanges[d.textDocument.uri]=u}})):g.changes&&Object.keys(g.changes).forEach(function(d){var u=new Tt(g.changes[d]);v._textEditChanges[d]=u})):this._workspaceEdit={}}return Object.defineProperty(l.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),l.prototype.getTextEditChange=function(g){if(W.is(g)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var v={uri:g.uri,version:g.version},d=this._textEditChanges[v.uri];if(!d){var u=[],x={textDocument:v,edits:u};this._workspaceEdit.documentChanges.push(x),d=new Tt(u,this._changeAnnotations),this._textEditChanges[v.uri]=d}return d}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var d=this._textEditChanges[g];if(!d){var u=[];this._workspaceEdit.changes[g]=u,d=new Tt(u),this._textEditChanges[g]=d}return d}},l.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ur,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},l.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},l.prototype.createFile=function(g,v,d){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var u;J.is(v)||fe.is(v)?u=v:d=v;var x,w;if(u===void 0?x=Xe.create(g,d):(w=fe.is(u)?u:this._changeAnnotations.manage(u),x=Xe.create(g,d,w)),this._workspaceEdit.documentChanges.push(x),w!==void 0)return w},l.prototype.renameFile=function(g,v,d,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var x;J.is(d)||fe.is(d)?x=d:u=d;var w,G;if(x===void 0?w=Ye.create(g,v,u):(G=fe.is(x)?x:this._changeAnnotations.manage(x),w=Ye.create(g,v,u,G)),this._workspaceEdit.documentChanges.push(w),G!==void 0)return G},l.prototype.deleteFile=function(g,v,d){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var u;J.is(v)||fe.is(v)?u=v:d=v;var x,w;if(u===void 0?x=V.create(g,d):(w=fe.is(u)?u:this._changeAnnotations.manage(u),x=V.create(g,d,w)),this._workspaceEdit.documentChanges.push(x),w!==void 0)return w},l}();e.WorkspaceChange=j;var M;(function(l){function g(d){return{uri:d}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)}l.is=v})(M=e.TextDocumentIdentifier||(e.TextDocumentIdentifier={}));var U;(function(l){function g(d,u){return{uri:d,version:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&b.integer(u.version)}l.is=v})(U=e.VersionedTextDocumentIdentifier||(e.VersionedTextDocumentIdentifier={}));var W;(function(l){function g(d,u){return{uri:d,version:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&(u.version===null||b.integer(u.version))}l.is=v})(W=e.OptionalVersionedTextDocumentIdentifier||(e.OptionalVersionedTextDocumentIdentifier={}));var re;(function(l){function g(d,u,x,w){return{uri:d,languageId:u,version:x,text:w}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&b.string(u.languageId)&&b.integer(u.version)&&b.string(u.text)}l.is=v})(re=e.TextDocumentItem||(e.TextDocumentItem={}));var ve;(function(l){l.PlainText="plaintext",l.Markdown="markdown";function g(v){var d=v;return d===l.PlainText||d===l.Markdown}l.is=g})(ve=e.MarkupKind||(e.MarkupKind={}));var ne;(function(l){function g(v){var d=v;return b.objectLiteral(v)&&ve.is(d.kind)&&b.string(d.value)}l.is=g})(ne=e.MarkupContent||(e.MarkupContent={}));var Yt;(function(l){l.Text=1,l.Method=2,l.Function=3,l.Constructor=4,l.Field=5,l.Variable=6,l.Class=7,l.Interface=8,l.Module=9,l.Property=10,l.Unit=11,l.Value=12,l.Enum=13,l.Keyword=14,l.Snippet=15,l.Color=16,l.File=17,l.Reference=18,l.Folder=19,l.EnumMember=20,l.Constant=21,l.Struct=22,l.Event=23,l.Operator=24,l.TypeParameter=25})(Yt=e.CompletionItemKind||(e.CompletionItemKind={}));var Rt;(function(l){l.PlainText=1,l.Snippet=2})(Rt=e.InsertTextFormat||(e.InsertTextFormat={}));var Ge;(function(l){l.Deprecated=1})(Ge=e.CompletionItemTag||(e.CompletionItemTag={}));var Xr;(function(l){function g(d,u,x){return{newText:d,insert:u,replace:x}}l.create=g;function v(d){var u=d;return u&&b.string(u.newText)&&a.is(u.insert)&&a.is(u.replace)}l.is=v})(Xr=e.InsertReplaceEdit||(e.InsertReplaceEdit={}));var He;(function(l){l.asIs=1,l.adjustIndentation=2})(He=e.InsertTextMode||(e.InsertTextMode={}));var Jt;(function(l){function g(v){var d=v;return d&&(b.string(d.detail)||d.detail===void 0)&&(b.string(d.description)||d.description===void 0)}l.is=g})(Jt=e.CompletionItemLabelDetails||(e.CompletionItemLabelDetails={}));var un;(function(l){function g(v){return{label:v}}l.create=g})(un=e.CompletionItem||(e.CompletionItem={}));var Kt;(function(l){function g(v,d){return{items:v||[],isIncomplete:!!d}}l.create=g})(Kt=e.CompletionList||(e.CompletionList={}));var ot;(function(l){function g(d){return d.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}l.fromPlainText=g;function v(d){var u=d;return b.string(u)||b.objectLiteral(u)&&b.string(u.language)&&b.string(u.value)}l.is=v})(ot=e.MarkedString||(e.MarkedString={}));var Et;(function(l){function g(v){var d=v;return!!d&&b.objectLiteral(d)&&(ne.is(d.contents)||ot.is(d.contents)||b.typedArray(d.contents,ot.is))&&(v.range===void 0||a.is(v.range))}l.is=g})(Et=e.Hover||(e.Hover={}));var Sr;(function(l){function g(v,d){return d?{label:v,documentation:d}:{label:v}}l.create=g})(Sr=e.ParameterInformation||(e.ParameterInformation={}));var yr;(function(l){function g(v,d){for(var u=[],x=2;x<arguments.length;x++)u[x-2]=arguments[x];var w={label:v};return b.defined(d)&&(w.documentation=d),b.defined(u)?w.parameters=u:w.parameters=[],w}l.create=g})(yr=e.SignatureInformation||(e.SignatureInformation={}));var ln;(function(l){l.Text=1,l.Read=2,l.Write=3})(ln=e.DocumentHighlightKind||(e.DocumentHighlightKind={}));var In;(function(l){function g(v,d){var u={range:v};return b.number(d)&&(u.kind=d),u}l.create=g})(In=e.DocumentHighlight||(e.DocumentHighlight={}));var Ji;(function(l){l.File=1,l.Module=2,l.Namespace=3,l.Package=4,l.Class=5,l.Method=6,l.Property=7,l.Field=8,l.Constructor=9,l.Enum=10,l.Interface=11,l.Function=12,l.Variable=13,l.Constant=14,l.String=15,l.Number=16,l.Boolean=17,l.Array=18,l.Object=19,l.Key=20,l.Null=21,l.EnumMember=22,l.Struct=23,l.Event=24,l.Operator=25,l.TypeParameter=26})(Ji=e.SymbolKind||(e.SymbolKind={}));var On;(function(l){l.Deprecated=1})(On=e.SymbolTag||(e.SymbolTag={}));var qr;(function(l){function g(v,d,u,x,w){var G={name:v,kind:d,location:{uri:x,range:u}};return w&&(G.containerName=w),G}l.create=g})(qr=e.SymbolInformation||(e.SymbolInformation={}));var Jn;(function(l){function g(v,d,u,x){return x!==void 0?{name:v,kind:d,location:{uri:u,range:x}}:{name:v,kind:d,location:{uri:u}}}l.create=g})(Jn=e.WorkspaceSymbol||(e.WorkspaceSymbol={}));var gs;(function(l){function g(d,u,x,w,G,xe){var he={name:d,detail:u,kind:x,range:w,selectionRange:G};return xe!==void 0&&(he.children=xe),he}l.create=g;function v(d){var u=d;return u&&b.string(u.name)&&b.number(u.kind)&&a.is(u.range)&&a.is(u.selectionRange)&&(u.detail===void 0||b.string(u.detail))&&(u.deprecated===void 0||b.boolean(u.deprecated))&&(u.children===void 0||Array.isArray(u.children))&&(u.tags===void 0||Array.isArray(u.tags))}l.is=v})(gs=e.DocumentSymbol||(e.DocumentSymbol={}));var Qn;(function(l){l.Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll"})(Qn=e.CodeActionKind||(e.CodeActionKind={}));var Fr;(function(l){l.Invoked=1,l.Automatic=2})(Fr=e.CodeActionTriggerKind||(e.CodeActionTriggerKind={}));var Qi;(function(l){function g(d,u,x){var w={diagnostics:d};return u!=null&&(w.only=u),x!=null&&(w.triggerKind=x),w}l.create=g;function v(d){var u=d;return b.defined(u)&&b.typedArray(u.diagnostics,h.is)&&(u.only===void 0||b.typedArray(u.only,b.string))&&(u.triggerKind===void 0||u.triggerKind===Fr.Invoked||u.triggerKind===Fr.Automatic)}l.is=v})(Qi=e.CodeActionContext||(e.CodeActionContext={}));var Si;(function(l){function g(d,u,x){var w={title:d},G=!0;return typeof u=="string"?(G=!1,w.kind=u):C.is(u)?w.command=u:w.edit=u,G&&x!==void 0&&(w.kind=x),w}l.create=g;function v(d){var u=d;return u&&b.string(u.title)&&(u.diagnostics===void 0||b.typedArray(u.diagnostics,h.is))&&(u.kind===void 0||b.string(u.kind))&&(u.edit!==void 0||u.command!==void 0)&&(u.command===void 0||C.is(u.command))&&(u.isPreferred===void 0||b.boolean(u.isPreferred))&&(u.edit===void 0||it.is(u.edit))}l.is=v})(Si=e.CodeAction||(e.CodeAction={}));var ki;(function(l){function g(d,u){var x={range:d};return b.defined(u)&&(x.data=u),x}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(u.range)&&(b.undefined(u.command)||C.is(u.command))}l.is=v})(ki=e.CodeLens||(e.CodeLens={}));var Rn;(function(l){function g(d,u){return{tabSize:d,insertSpaces:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.uinteger(u.tabSize)&&b.boolean(u.insertSpaces)}l.is=v})(Rn=e.FormattingOptions||(e.FormattingOptions={}));var D;(function(l){function g(d,u,x){return{range:d,target:u,data:x}}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(u.range)&&(b.undefined(u.target)||b.string(u.target))}l.is=v})(D=e.DocumentLink||(e.DocumentLink={}));var R;(function(l){function g(d,u){return{range:d,parent:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&(u.parent===void 0||l.is(u.parent))}l.is=v})(R=e.SelectionRange||(e.SelectionRange={}));var P;(function(l){l.namespace="namespace",l.type="type",l.class="class",l.enum="enum",l.interface="interface",l.struct="struct",l.typeParameter="typeParameter",l.parameter="parameter",l.variable="variable",l.property="property",l.enumMember="enumMember",l.event="event",l.function="function",l.method="method",l.macro="macro",l.keyword="keyword",l.modifier="modifier",l.comment="comment",l.string="string",l.number="number",l.regexp="regexp",l.operator="operator",l.decorator="decorator"})(P=e.SemanticTokenTypes||(e.SemanticTokenTypes={}));var O;(function(l){l.declaration="declaration",l.definition="definition",l.readonly="readonly",l.static="static",l.deprecated="deprecated",l.abstract="abstract",l.async="async",l.modification="modification",l.documentation="documentation",l.defaultLibrary="defaultLibrary"})(O=e.SemanticTokenModifiers||(e.SemanticTokenModifiers={}));var H;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&(d.resultId===void 0||typeof d.resultId=="string")&&Array.isArray(d.data)&&(d.data.length===0||typeof d.data[0]=="number")}l.is=g})(H=e.SemanticTokens||(e.SemanticTokens={}));var de;(function(l){function g(d,u){return{range:d,text:u}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&b.string(u.text)}l.is=v})(de=e.InlineValueText||(e.InlineValueText={}));var pe;(function(l){function g(d,u,x){return{range:d,variableName:u,caseSensitiveLookup:x}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&b.boolean(u.caseSensitiveLookup)&&(b.string(u.variableName)||u.variableName===void 0)}l.is=v})(pe=e.InlineValueVariableLookup||(e.InlineValueVariableLookup={}));var be;(function(l){function g(d,u){return{range:d,expression:u}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&(b.string(u.expression)||u.expression===void 0)}l.is=v})(be=e.InlineValueEvaluatableExpression||(e.InlineValueEvaluatableExpression={}));var ce;(function(l){function g(d,u){return{frameId:d,stoppedLocation:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(d.stoppedLocation)}l.is=v})(ce=e.InlineValueContext||(e.InlineValueContext={}));var ie;(function(l){l.Type=1,l.Parameter=2;function g(v){return v===1||v===2}l.is=g})(ie=e.InlayHintKind||(e.InlayHintKind={}));var se;(function(l){function g(d){return{value:d}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&(u.tooltip===void 0||b.string(u.tooltip)||ne.is(u.tooltip))&&(u.location===void 0||c.is(u.location))&&(u.command===void 0||C.is(u.command))}l.is=v})(se=e.InlayHintLabelPart||(e.InlayHintLabelPart={}));var me;(function(l){function g(d,u,x){var w={position:d,label:u};return x!==void 0&&(w.kind=x),w}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&s.is(u.position)&&(b.string(u.label)||b.typedArray(u.label,se.is))&&(u.kind===void 0||ie.is(u.kind))&&u.textEdits===void 0||b.typedArray(u.textEdits,L.is)&&(u.tooltip===void 0||b.string(u.tooltip)||ne.is(u.tooltip))&&(u.paddingLeft===void 0||b.boolean(u.paddingLeft))&&(u.paddingRight===void 0||b.boolean(u.paddingRight))}l.is=v})(me=e.InlayHint||(e.InlayHint={}));var Pe;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&n.is(d.uri)&&b.string(d.name)}l.is=g})(Pe=e.WorkspaceFolder||(e.WorkspaceFolder={})),e.EOL=[`
|
|
30
|
+
`,`\r
|
|
31
|
+
`,"\r"];var ct;(function(l){function g(x,w,G,xe){return new Pt(x,w,G,xe)}l.create=g;function v(x){var w=x;return!!(b.defined(w)&&b.string(w.uri)&&(b.undefined(w.languageId)||b.string(w.languageId))&&b.uinteger(w.lineCount)&&b.func(w.getText)&&b.func(w.positionAt)&&b.func(w.offsetAt))}l.is=v;function d(x,w){for(var G=x.getText(),xe=u(w,function(bn,Zi){var Xc=bn.range.start.line-Zi.range.start.line;return Xc===0?bn.range.start.character-Zi.range.start.character:Xc}),he=G.length,At=xe.length-1;At>=0;At--){var Nt=xe[At],lr=x.offsetAt(Nt.range.start),Q=x.offsetAt(Nt.range.end);if(Q<=he)G=G.substring(0,lr)+Nt.newText+G.substring(Q,G.length);else throw new Error("Overlapping edit");he=lr}return G}l.applyEdits=d;function u(x,w){if(x.length<=1)return x;var G=x.length/2|0,xe=x.slice(0,G),he=x.slice(G);u(xe,w),u(he,w);for(var At=0,Nt=0,lr=0;At<xe.length&&Nt<he.length;){var Q=w(xe[At],he[Nt]);Q<=0?x[lr++]=xe[At++]:x[lr++]=he[Nt++]}for(;At<xe.length;)x[lr++]=xe[At++];for(;Nt<he.length;)x[lr++]=he[Nt++];return x}})(ct=e.TextDocument||(e.TextDocument={}));var Pt=function(){function l(g,v,d,u){this._uri=g,this._languageId=v,this._version=d,this._content=u,this._lineOffsets=void 0}return Object.defineProperty(l.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(l.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(l.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),l.prototype.getText=function(g){if(g){var v=this.offsetAt(g.start),d=this.offsetAt(g.end);return this._content.substring(v,d)}return this._content},l.prototype.update=function(g,v){this._content=g.text,this._version=v,this._lineOffsets=void 0},l.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var g=[],v=this._content,d=!0,u=0;u<v.length;u++){d&&(g.push(u),d=!1);var x=v.charAt(u);d=x==="\r"||x===`
|
|
32
|
+
`,x==="\r"&&u+1<v.length&&v.charAt(u+1)===`
|
|
33
|
+
`&&u++}d&&v.length>0&&g.push(v.length),this._lineOffsets=g}return this._lineOffsets},l.prototype.positionAt=function(g){g=Math.max(Math.min(g,this._content.length),0);var v=this.getLineOffsets(),d=0,u=v.length;if(u===0)return s.create(0,g);for(;d<u;){var x=Math.floor((d+u)/2);v[x]>g?u=x:d=x+1}var w=d-1;return s.create(w,g-v[w])},l.prototype.offsetAt=function(g){var v=this.getLineOffsets();if(g.line>=v.length)return this._content.length;if(g.line<0)return 0;var d=v[g.line],u=g.line+1<v.length?v[g.line+1]:this._content.length;return Math.max(Math.min(d+g.character,u),d)},Object.defineProperty(l.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),l}(),b;(function(l){var g=Object.prototype.toString;function v(Q){return typeof Q<"u"}l.defined=v;function d(Q){return typeof Q>"u"}l.undefined=d;function u(Q){return Q===!0||Q===!1}l.boolean=u;function x(Q){return g.call(Q)==="[object String]"}l.string=x;function w(Q){return g.call(Q)==="[object Number]"}l.number=w;function G(Q,bn,Zi){return g.call(Q)==="[object Number]"&&bn<=Q&&Q<=Zi}l.numberRange=G;function xe(Q){return g.call(Q)==="[object Number]"&&-2147483648<=Q&&Q<=2147483647}l.integer=xe;function he(Q){return g.call(Q)==="[object Number]"&&0<=Q&&Q<=2147483647}l.uinteger=he;function At(Q){return g.call(Q)==="[object Function]"}l.func=At;function Nt(Q){return Q!==null&&typeof Q=="object"}l.objectLiteral=Nt;function lr(Q,bn){return Array.isArray(Q)&&Q.every(bn)}l.typedArray=lr})(b||(b={}))})});var It=$(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.ProtocolNotificationType=Jr.ProtocolNotificationType0=Jr.ProtocolRequestType=Jr.ProtocolRequestType0=Jr.RegistrationType=Jr.MessageDirection=void 0;var aa=io(),ZN;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(ZN=Jr.MessageDirection||(Jr.MessageDirection={}));var Ag=class{constructor(e){this.method=e}};Jr.RegistrationType=Ag;var Ng=class extends aa.RequestType0{constructor(e){super(e)}};Jr.ProtocolRequestType0=Ng;var Ig=class extends aa.RequestType{constructor(e){super(e,aa.ParameterStructures.byName)}};Jr.ProtocolRequestType=Ig;var Og=class extends aa.NotificationType0{constructor(e){super(e)}};Jr.ProtocolNotificationType0=Og;var Lg=class extends aa.NotificationType{constructor(e){super(e,aa.ParameterStructures.byName)}};Jr.ProtocolNotificationType=Lg});var Zl=$(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.objectLiteral=Qt.typedArray=Qt.stringArray=Qt.array=Qt.func=Qt.error=Qt.number=Qt.string=Qt.boolean=void 0;function eI(t){return t===!0||t===!1}Qt.boolean=eI;function pb(t){return typeof t=="string"||t instanceof String}Qt.string=pb;function tI(t){return typeof t=="number"||t instanceof Number}Qt.number=tI;function rI(t){return t instanceof Error}Qt.error=rI;function nI(t){return typeof t=="function"}Qt.func=nI;function mb(t){return Array.isArray(t)}Qt.array=mb;function iI(t){return mb(t)&&t.every(e=>pb(e))}Qt.stringArray=iI;function oI(t,e){return Array.isArray(t)&&t.every(e)}Qt.typedArray=oI;function sI(t){return t!==null&&typeof t=="object"}Qt.objectLiteral=sI});var gb=$(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});tu.ImplementationRequest=void 0;var hb=It(),aI;(function(t){t.method="textDocument/implementation",t.messageDirection=hb.MessageDirection.clientToServer,t.type=new hb.ProtocolRequestType(t.method)})(aI=tu.ImplementationRequest||(tu.ImplementationRequest={}))});var vb=$(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});ru.TypeDefinitionRequest=void 0;var yb=It(),cI;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=yb.MessageDirection.clientToServer,t.type=new yb.ProtocolRequestType(t.method)})(cI=ru.TypeDefinitionRequest||(ru.TypeDefinitionRequest={}))});var Tb=$(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.DidChangeWorkspaceFoldersNotification=Io.WorkspaceFoldersRequest=void 0;var ef=It(),uI;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=ef.MessageDirection.serverToClient,t.type=new ef.ProtocolRequestType0(t.method)})(uI=Io.WorkspaceFoldersRequest||(Io.WorkspaceFoldersRequest={}));var lI;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=ef.MessageDirection.clientToServer,t.type=new ef.ProtocolNotificationType(t.method)})(lI=Io.DidChangeWorkspaceFoldersNotification||(Io.DidChangeWorkspaceFoldersNotification={}))});var bb=$(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.ConfigurationRequest=void 0;var Rb=It(),fI;(function(t){t.method="workspace/configuration",t.messageDirection=Rb.MessageDirection.serverToClient,t.type=new Rb.ProtocolRequestType(t.method)})(fI=nu.ConfigurationRequest||(nu.ConfigurationRequest={}))});var xb=$(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.ColorPresentationRequest=Oo.DocumentColorRequest=void 0;var tf=It(),dI;(function(t){t.method="textDocument/documentColor",t.messageDirection=tf.MessageDirection.clientToServer,t.type=new tf.ProtocolRequestType(t.method)})(dI=Oo.DocumentColorRequest||(Oo.DocumentColorRequest={}));var pI;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=tf.MessageDirection.clientToServer,t.type=new tf.ProtocolRequestType(t.method)})(pI=Oo.ColorPresentationRequest||(Oo.ColorPresentationRequest={}))});var Sb=$(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.FoldingRangeRequest=void 0;var _b=It(),mI;(function(t){t.method="textDocument/foldingRange",t.messageDirection=_b.MessageDirection.clientToServer,t.type=new _b.ProtocolRequestType(t.method)})(mI=iu.FoldingRangeRequest||(iu.FoldingRangeRequest={}))});var Cb=$(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});ou.DeclarationRequest=void 0;var kb=It(),hI;(function(t){t.method="textDocument/declaration",t.messageDirection=kb.MessageDirection.clientToServer,t.type=new kb.ProtocolRequestType(t.method)})(hI=ou.DeclarationRequest||(ou.DeclarationRequest={}))});var Db=$(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.SelectionRangeRequest=void 0;var wb=It(),gI;(function(t){t.method="textDocument/selectionRange",t.messageDirection=wb.MessageDirection.clientToServer,t.type=new wb.ProtocolRequestType(t.method)})(gI=su.SelectionRangeRequest||(su.SelectionRangeRequest={}))});var Eb=$(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});ti.WorkDoneProgressCancelNotification=ti.WorkDoneProgressCreateRequest=ti.WorkDoneProgress=void 0;var yI=io(),rf=It(),vI;(function(t){t.type=new yI.ProgressType;function e(r){return r===t.type}t.is=e})(vI=ti.WorkDoneProgress||(ti.WorkDoneProgress={}));var TI;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=rf.MessageDirection.serverToClient,t.type=new rf.ProtocolRequestType(t.method)})(TI=ti.WorkDoneProgressCreateRequest||(ti.WorkDoneProgressCreateRequest={}));var RI;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=rf.MessageDirection.clientToServer,t.type=new rf.ProtocolNotificationType(t.method)})(RI=ti.WorkDoneProgressCancelNotification||(ti.WorkDoneProgressCancelNotification={}))});var Pb=$(ri=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});ri.CallHierarchyOutgoingCallsRequest=ri.CallHierarchyIncomingCallsRequest=ri.CallHierarchyPrepareRequest=void 0;var ca=It(),bI;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=ca.MessageDirection.clientToServer,t.type=new ca.ProtocolRequestType(t.method)})(bI=ri.CallHierarchyPrepareRequest||(ri.CallHierarchyPrepareRequest={}));var xI;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=ca.MessageDirection.clientToServer,t.type=new ca.ProtocolRequestType(t.method)})(xI=ri.CallHierarchyIncomingCallsRequest||(ri.CallHierarchyIncomingCallsRequest={}));var _I;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=ca.MessageDirection.clientToServer,t.type=new ca.ProtocolRequestType(t.method)})(_I=ri.CallHierarchyOutgoingCallsRequest||(ri.CallHierarchyOutgoingCallsRequest={}))});var Ab=$(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.SemanticTokensRefreshRequest=Zt.SemanticTokensRangeRequest=Zt.SemanticTokensDeltaRequest=Zt.SemanticTokensRequest=Zt.SemanticTokensRegistrationType=Zt.TokenFormat=void 0;var oo=It(),SI;(function(t){t.Relative="relative"})(SI=Zt.TokenFormat||(Zt.TokenFormat={}));var nf;(function(t){t.method="textDocument/semanticTokens",t.type=new oo.RegistrationType(t.method)})(nf=Zt.SemanticTokensRegistrationType||(Zt.SemanticTokensRegistrationType={}));var kI;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=oo.MessageDirection.clientToServer,t.type=new oo.ProtocolRequestType(t.method),t.registrationMethod=nf.method})(kI=Zt.SemanticTokensRequest||(Zt.SemanticTokensRequest={}));var CI;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=oo.MessageDirection.clientToServer,t.type=new oo.ProtocolRequestType(t.method),t.registrationMethod=nf.method})(CI=Zt.SemanticTokensDeltaRequest||(Zt.SemanticTokensDeltaRequest={}));var wI;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=oo.MessageDirection.clientToServer,t.type=new oo.ProtocolRequestType(t.method),t.registrationMethod=nf.method})(wI=Zt.SemanticTokensRangeRequest||(Zt.SemanticTokensRangeRequest={}));var DI;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=oo.MessageDirection.clientToServer,t.type=new oo.ProtocolRequestType0(t.method)})(DI=Zt.SemanticTokensRefreshRequest||(Zt.SemanticTokensRefreshRequest={}))});var Ib=$(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});au.ShowDocumentRequest=void 0;var Nb=It(),EI;(function(t){t.method="window/showDocument",t.messageDirection=Nb.MessageDirection.serverToClient,t.type=new Nb.ProtocolRequestType(t.method)})(EI=au.ShowDocumentRequest||(au.ShowDocumentRequest={}))});var Lb=$(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});cu.LinkedEditingRangeRequest=void 0;var Ob=It(),PI;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=Ob.MessageDirection.clientToServer,t.type=new Ob.ProtocolRequestType(t.method)})(PI=cu.LinkedEditingRangeRequest||(cu.LinkedEditingRangeRequest={}))});var Mb=$(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.WillDeleteFilesRequest=Ot.DidDeleteFilesNotification=Ot.DidRenameFilesNotification=Ot.WillRenameFilesRequest=Ot.DidCreateFilesNotification=Ot.WillCreateFilesRequest=Ot.FileOperationPatternKind=void 0;var Ln=It(),AI;(function(t){t.file="file",t.folder="folder"})(AI=Ot.FileOperationPatternKind||(Ot.FileOperationPatternKind={}));var NI;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolRequestType(t.method)})(NI=Ot.WillCreateFilesRequest||(Ot.WillCreateFilesRequest={}));var II;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolNotificationType(t.method)})(II=Ot.DidCreateFilesNotification||(Ot.DidCreateFilesNotification={}));var OI;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolRequestType(t.method)})(OI=Ot.WillRenameFilesRequest||(Ot.WillRenameFilesRequest={}));var LI;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolNotificationType(t.method)})(LI=Ot.DidRenameFilesNotification||(Ot.DidRenameFilesNotification={}));var MI;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolNotificationType(t.method)})(MI=Ot.DidDeleteFilesNotification||(Ot.DidDeleteFilesNotification={}));var $I;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolRequestType(t.method)})($I=Ot.WillDeleteFilesRequest||(Ot.WillDeleteFilesRequest={}))});var qb=$(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.MonikerRequest=ni.MonikerKind=ni.UniquenessLevel=void 0;var $b=It(),qI;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(qI=ni.UniquenessLevel||(ni.UniquenessLevel={}));var FI;(function(t){t.$import="import",t.$export="export",t.local="local"})(FI=ni.MonikerKind||(ni.MonikerKind={}));var jI;(function(t){t.method="textDocument/moniker",t.messageDirection=$b.MessageDirection.clientToServer,t.type=new $b.ProtocolRequestType(t.method)})(jI=ni.MonikerRequest||(ni.MonikerRequest={}))});var Fb=$(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.TypeHierarchySubtypesRequest=ii.TypeHierarchySupertypesRequest=ii.TypeHierarchyPrepareRequest=void 0;var ua=It(),UI;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=ua.MessageDirection.clientToServer,t.type=new ua.ProtocolRequestType(t.method)})(UI=ii.TypeHierarchyPrepareRequest||(ii.TypeHierarchyPrepareRequest={}));var WI;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=ua.MessageDirection.clientToServer,t.type=new ua.ProtocolRequestType(t.method)})(WI=ii.TypeHierarchySupertypesRequest||(ii.TypeHierarchySupertypesRequest={}));var HI;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=ua.MessageDirection.clientToServer,t.type=new ua.ProtocolRequestType(t.method)})(HI=ii.TypeHierarchySubtypesRequest||(ii.TypeHierarchySubtypesRequest={}))});var jb=$(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.InlineValueRefreshRequest=Lo.InlineValueRequest=void 0;var of=It(),GI;(function(t){t.method="textDocument/inlineValue",t.messageDirection=of.MessageDirection.clientToServer,t.type=new of.ProtocolRequestType(t.method)})(GI=Lo.InlineValueRequest||(Lo.InlineValueRequest={}));var BI;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=of.MessageDirection.clientToServer,t.type=new of.ProtocolRequestType0(t.method)})(BI=Lo.InlineValueRefreshRequest||(Lo.InlineValueRefreshRequest={}))});var Ub=$(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.InlayHintRefreshRequest=oi.InlayHintResolveRequest=oi.InlayHintRequest=void 0;var la=It(),KI;(function(t){t.method="textDocument/inlayHint",t.messageDirection=la.MessageDirection.clientToServer,t.type=new la.ProtocolRequestType(t.method)})(KI=oi.InlayHintRequest||(oi.InlayHintRequest={}));var zI;(function(t){t.method="inlayHint/resolve",t.messageDirection=la.MessageDirection.clientToServer,t.type=new la.ProtocolRequestType(t.method)})(zI=oi.InlayHintResolveRequest||(oi.InlayHintResolveRequest={}));var VI;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=la.MessageDirection.clientToServer,t.type=new la.ProtocolRequestType0(t.method)})(VI=oi.InlayHintRefreshRequest||(oi.InlayHintRefreshRequest={}))});var Hb=$(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.DiagnosticRefreshRequest=kr.WorkspaceDiagnosticRequest=kr.DocumentDiagnosticRequest=kr.DocumentDiagnosticReportKind=kr.DiagnosticServerCancellationData=void 0;var Wb=io(),XI=Zl(),fa=It(),YI;(function(t){function e(r){let n=r;return n&&XI.boolean(n.retriggerRequest)}t.is=e})(YI=kr.DiagnosticServerCancellationData||(kr.DiagnosticServerCancellationData={}));var JI;(function(t){t.Full="full",t.Unchanged="unchanged"})(JI=kr.DocumentDiagnosticReportKind||(kr.DocumentDiagnosticReportKind={}));var QI;(function(t){t.method="textDocument/diagnostic",t.messageDirection=fa.MessageDirection.clientToServer,t.type=new fa.ProtocolRequestType(t.method),t.partialResult=new Wb.ProgressType})(QI=kr.DocumentDiagnosticRequest||(kr.DocumentDiagnosticRequest={}));var ZI;(function(t){t.method="workspace/diagnostic",t.messageDirection=fa.MessageDirection.clientToServer,t.type=new fa.ProtocolRequestType(t.method),t.partialResult=new Wb.ProgressType})(ZI=kr.WorkspaceDiagnosticRequest||(kr.WorkspaceDiagnosticRequest={}));var e0;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=fa.MessageDirection.clientToServer,t.type=new fa.ProtocolRequestType0(t.method)})(e0=kr.DiagnosticRefreshRequest||(kr.DiagnosticRefreshRequest={}))});var Kb=$(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.DidCloseNotebookDocumentNotification=Fe.DidSaveNotebookDocumentNotification=Fe.DidChangeNotebookDocumentNotification=Fe.NotebookCellArrayChange=Fe.DidOpenNotebookDocumentNotification=Fe.NotebookDocumentSyncRegistrationType=Fe.NotebookDocument=Fe.NotebookCell=Fe.ExecutionSummary=Fe.NotebookCellKind=void 0;var uu=bs(),si=Zl(),Ci=It(),Gb;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(Gb=Fe.NotebookCellKind||(Fe.NotebookCellKind={}));var Bb;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return si.objectLiteral(o)&&uu.uinteger.is(o.executionOrder)&&(o.success===void 0||si.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(Bb=Fe.ExecutionSummary||(Fe.ExecutionSummary={}));var Mg;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return si.objectLiteral(s)&&Gb.is(s.kind)&&uu.DocumentUri.is(s.document)&&(s.metadata===void 0||si.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!Bb.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let f=0;f<o.length;f++)if(!i(o[f],s[f]))return!1}if(si.objectLiteral(o)&&si.objectLiteral(s)){let f=Object.keys(o),p=Object.keys(s);if(f.length!==p.length||(f.sort(),p.sort(),!i(f,p)))return!1;for(let m=0;m<f.length;m++){let T=f[m];if(!i(o[T],s[T]))return!1}}return!0}})(Mg=Fe.NotebookCell||(Fe.NotebookCell={}));var t0;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return si.objectLiteral(i)&&si.string(i.uri)&&uu.integer.is(i.version)&&si.typedArray(i.cells,Mg.is)}t.is=r})(t0=Fe.NotebookDocument||(Fe.NotebookDocument={}));var lu;(function(t){t.method="notebookDocument/sync",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.RegistrationType(t.method)})(lu=Fe.NotebookDocumentSyncRegistrationType||(Fe.NotebookDocumentSyncRegistrationType={}));var r0;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.ProtocolNotificationType(t.method),t.registrationMethod=lu.method})(r0=Fe.DidOpenNotebookDocumentNotification||(Fe.DidOpenNotebookDocumentNotification={}));var n0;(function(t){function e(n){let i=n;return si.objectLiteral(i)&&uu.uinteger.is(i.start)&&uu.uinteger.is(i.deleteCount)&&(i.cells===void 0||si.typedArray(i.cells,Mg.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(n0=Fe.NotebookCellArrayChange||(Fe.NotebookCellArrayChange={}));var i0;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.ProtocolNotificationType(t.method),t.registrationMethod=lu.method})(i0=Fe.DidChangeNotebookDocumentNotification||(Fe.DidChangeNotebookDocumentNotification={}));var o0;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.ProtocolNotificationType(t.method),t.registrationMethod=lu.method})(o0=Fe.DidSaveNotebookDocumentNotification||(Fe.DidSaveNotebookDocumentNotification={}));var s0;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.ProtocolNotificationType(t.method),t.registrationMethod=lu.method})(s0=Fe.DidCloseNotebookDocumentNotification||(Fe.DidCloseNotebookDocumentNotification={}))});var tx=$(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.WorkspaceSymbolRequest=S.CodeActionResolveRequest=S.CodeActionRequest=S.DocumentSymbolRequest=S.DocumentHighlightRequest=S.ReferencesRequest=S.DefinitionRequest=S.SignatureHelpRequest=S.SignatureHelpTriggerKind=S.HoverRequest=S.CompletionResolveRequest=S.CompletionRequest=S.CompletionTriggerKind=S.PublishDiagnosticsNotification=S.WatchKind=S.RelativePattern=S.FileChangeType=S.DidChangeWatchedFilesNotification=S.WillSaveTextDocumentWaitUntilRequest=S.WillSaveTextDocumentNotification=S.TextDocumentSaveReason=S.DidSaveTextDocumentNotification=S.DidCloseTextDocumentNotification=S.DidChangeTextDocumentNotification=S.TextDocumentContentChangeEvent=S.DidOpenTextDocumentNotification=S.TextDocumentSyncKind=S.TelemetryEventNotification=S.LogMessageNotification=S.ShowMessageRequest=S.ShowMessageNotification=S.MessageType=S.DidChangeConfigurationNotification=S.ExitNotification=S.ShutdownRequest=S.InitializedNotification=S.InitializeErrorCodes=S.InitializeRequest=S.WorkDoneProgressOptions=S.TextDocumentRegistrationOptions=S.StaticRegistrationOptions=S.PositionEncodingKind=S.FailureHandlingKind=S.ResourceOperationKind=S.UnregistrationRequest=S.RegistrationRequest=S.DocumentSelector=S.NotebookCellTextDocumentFilter=S.NotebookDocumentFilter=S.TextDocumentFilter=void 0;S.TypeHierarchySubtypesRequest=S.TypeHierarchyPrepareRequest=S.MonikerRequest=S.MonikerKind=S.UniquenessLevel=S.WillDeleteFilesRequest=S.DidDeleteFilesNotification=S.WillRenameFilesRequest=S.DidRenameFilesNotification=S.WillCreateFilesRequest=S.DidCreateFilesNotification=S.FileOperationPatternKind=S.LinkedEditingRangeRequest=S.ShowDocumentRequest=S.SemanticTokensRegistrationType=S.SemanticTokensRefreshRequest=S.SemanticTokensRangeRequest=S.SemanticTokensDeltaRequest=S.SemanticTokensRequest=S.TokenFormat=S.CallHierarchyPrepareRequest=S.CallHierarchyOutgoingCallsRequest=S.CallHierarchyIncomingCallsRequest=S.WorkDoneProgressCancelNotification=S.WorkDoneProgressCreateRequest=S.WorkDoneProgress=S.SelectionRangeRequest=S.DeclarationRequest=S.FoldingRangeRequest=S.ColorPresentationRequest=S.DocumentColorRequest=S.ConfigurationRequest=S.DidChangeWorkspaceFoldersNotification=S.WorkspaceFoldersRequest=S.TypeDefinitionRequest=S.ImplementationRequest=S.ApplyWorkspaceEditRequest=S.ExecuteCommandRequest=S.PrepareRenameRequest=S.RenameRequest=S.PrepareSupportDefaultBehavior=S.DocumentOnTypeFormattingRequest=S.DocumentRangeFormattingRequest=S.DocumentFormattingRequest=S.DocumentLinkResolveRequest=S.DocumentLinkRequest=S.CodeLensRefreshRequest=S.CodeLensResolveRequest=S.CodeLensRequest=S.WorkspaceSymbolResolveRequest=void 0;S.DidCloseNotebookDocumentNotification=S.DidSaveNotebookDocumentNotification=S.DidChangeNotebookDocumentNotification=S.NotebookCellArrayChange=S.DidOpenNotebookDocumentNotification=S.NotebookDocumentSyncRegistrationType=S.NotebookDocument=S.NotebookCell=S.ExecutionSummary=S.NotebookCellKind=S.DiagnosticRefreshRequest=S.WorkspaceDiagnosticRequest=S.DocumentDiagnosticRequest=S.DocumentDiagnosticReportKind=S.DiagnosticServerCancellationData=S.InlayHintRefreshRequest=S.InlayHintResolveRequest=S.InlayHintRequest=S.InlineValueRefreshRequest=S.InlineValueRequest=S.TypeHierarchySupertypesRequest=void 0;var B=It(),zb=bs(),Cr=Zl(),a0=gb();Object.defineProperty(S,"ImplementationRequest",{enumerable:!0,get:function(){return a0.ImplementationRequest}});var c0=vb();Object.defineProperty(S,"TypeDefinitionRequest",{enumerable:!0,get:function(){return c0.TypeDefinitionRequest}});var Vb=Tb();Object.defineProperty(S,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return Vb.WorkspaceFoldersRequest}});Object.defineProperty(S,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return Vb.DidChangeWorkspaceFoldersNotification}});var u0=bb();Object.defineProperty(S,"ConfigurationRequest",{enumerable:!0,get:function(){return u0.ConfigurationRequest}});var Xb=xb();Object.defineProperty(S,"DocumentColorRequest",{enumerable:!0,get:function(){return Xb.DocumentColorRequest}});Object.defineProperty(S,"ColorPresentationRequest",{enumerable:!0,get:function(){return Xb.ColorPresentationRequest}});var l0=Sb();Object.defineProperty(S,"FoldingRangeRequest",{enumerable:!0,get:function(){return l0.FoldingRangeRequest}});var f0=Cb();Object.defineProperty(S,"DeclarationRequest",{enumerable:!0,get:function(){return f0.DeclarationRequest}});var d0=Db();Object.defineProperty(S,"SelectionRangeRequest",{enumerable:!0,get:function(){return d0.SelectionRangeRequest}});var $g=Eb();Object.defineProperty(S,"WorkDoneProgress",{enumerable:!0,get:function(){return $g.WorkDoneProgress}});Object.defineProperty(S,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return $g.WorkDoneProgressCreateRequest}});Object.defineProperty(S,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return $g.WorkDoneProgressCancelNotification}});var qg=Pb();Object.defineProperty(S,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return qg.CallHierarchyIncomingCallsRequest}});Object.defineProperty(S,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return qg.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(S,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return qg.CallHierarchyPrepareRequest}});var da=Ab();Object.defineProperty(S,"TokenFormat",{enumerable:!0,get:function(){return da.TokenFormat}});Object.defineProperty(S,"SemanticTokensRequest",{enumerable:!0,get:function(){return da.SemanticTokensRequest}});Object.defineProperty(S,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return da.SemanticTokensDeltaRequest}});Object.defineProperty(S,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return da.SemanticTokensRangeRequest}});Object.defineProperty(S,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return da.SemanticTokensRefreshRequest}});Object.defineProperty(S,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return da.SemanticTokensRegistrationType}});var p0=Ib();Object.defineProperty(S,"ShowDocumentRequest",{enumerable:!0,get:function(){return p0.ShowDocumentRequest}});var m0=Lb();Object.defineProperty(S,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return m0.LinkedEditingRangeRequest}});var xs=Mb();Object.defineProperty(S,"FileOperationPatternKind",{enumerable:!0,get:function(){return xs.FileOperationPatternKind}});Object.defineProperty(S,"DidCreateFilesNotification",{enumerable:!0,get:function(){return xs.DidCreateFilesNotification}});Object.defineProperty(S,"WillCreateFilesRequest",{enumerable:!0,get:function(){return xs.WillCreateFilesRequest}});Object.defineProperty(S,"DidRenameFilesNotification",{enumerable:!0,get:function(){return xs.DidRenameFilesNotification}});Object.defineProperty(S,"WillRenameFilesRequest",{enumerable:!0,get:function(){return xs.WillRenameFilesRequest}});Object.defineProperty(S,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return xs.DidDeleteFilesNotification}});Object.defineProperty(S,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return xs.WillDeleteFilesRequest}});var Fg=qb();Object.defineProperty(S,"UniquenessLevel",{enumerable:!0,get:function(){return Fg.UniquenessLevel}});Object.defineProperty(S,"MonikerKind",{enumerable:!0,get:function(){return Fg.MonikerKind}});Object.defineProperty(S,"MonikerRequest",{enumerable:!0,get:function(){return Fg.MonikerRequest}});var jg=Fb();Object.defineProperty(S,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return jg.TypeHierarchyPrepareRequest}});Object.defineProperty(S,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return jg.TypeHierarchySubtypesRequest}});Object.defineProperty(S,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return jg.TypeHierarchySupertypesRequest}});var Yb=jb();Object.defineProperty(S,"InlineValueRequest",{enumerable:!0,get:function(){return Yb.InlineValueRequest}});Object.defineProperty(S,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return Yb.InlineValueRefreshRequest}});var Ug=Ub();Object.defineProperty(S,"InlayHintRequest",{enumerable:!0,get:function(){return Ug.InlayHintRequest}});Object.defineProperty(S,"InlayHintResolveRequest",{enumerable:!0,get:function(){return Ug.InlayHintResolveRequest}});Object.defineProperty(S,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return Ug.InlayHintRefreshRequest}});var fu=Hb();Object.defineProperty(S,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return fu.DiagnosticServerCancellationData}});Object.defineProperty(S,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return fu.DocumentDiagnosticReportKind}});Object.defineProperty(S,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return fu.DocumentDiagnosticRequest}});Object.defineProperty(S,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return fu.WorkspaceDiagnosticRequest}});Object.defineProperty(S,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return fu.DiagnosticRefreshRequest}});var wi=Kb();Object.defineProperty(S,"NotebookCellKind",{enumerable:!0,get:function(){return wi.NotebookCellKind}});Object.defineProperty(S,"ExecutionSummary",{enumerable:!0,get:function(){return wi.ExecutionSummary}});Object.defineProperty(S,"NotebookCell",{enumerable:!0,get:function(){return wi.NotebookCell}});Object.defineProperty(S,"NotebookDocument",{enumerable:!0,get:function(){return wi.NotebookDocument}});Object.defineProperty(S,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return wi.NotebookDocumentSyncRegistrationType}});Object.defineProperty(S,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return wi.DidOpenNotebookDocumentNotification}});Object.defineProperty(S,"NotebookCellArrayChange",{enumerable:!0,get:function(){return wi.NotebookCellArrayChange}});Object.defineProperty(S,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return wi.DidChangeNotebookDocumentNotification}});Object.defineProperty(S,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return wi.DidSaveNotebookDocumentNotification}});Object.defineProperty(S,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return wi.DidCloseNotebookDocumentNotification}});var Jb;(function(t){function e(r){let n=r;return Cr.string(n.language)||Cr.string(n.scheme)||Cr.string(n.pattern)}t.is=e})(Jb=S.TextDocumentFilter||(S.TextDocumentFilter={}));var Qb;(function(t){function e(r){let n=r;return Cr.objectLiteral(n)&&(Cr.string(n.notebookType)||Cr.string(n.scheme)||Cr.string(n.pattern))}t.is=e})(Qb=S.NotebookDocumentFilter||(S.NotebookDocumentFilter={}));var Zb;(function(t){function e(r){let n=r;return Cr.objectLiteral(n)&&(Cr.string(n.notebook)||Qb.is(n.notebook))&&(n.language===void 0||Cr.string(n.language))}t.is=e})(Zb=S.NotebookCellTextDocumentFilter||(S.NotebookCellTextDocumentFilter={}));var ex;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Cr.string(n)&&!Jb.is(n)&&!Zb.is(n))return!1;return!0}t.is=e})(ex=S.DocumentSelector||(S.DocumentSelector={}));var h0;(function(t){t.method="client/registerCapability",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType(t.method)})(h0=S.RegistrationRequest||(S.RegistrationRequest={}));var g0;(function(t){t.method="client/unregisterCapability",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType(t.method)})(g0=S.UnregistrationRequest||(S.UnregistrationRequest={}));var y0;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(y0=S.ResourceOperationKind||(S.ResourceOperationKind={}));var v0;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(v0=S.FailureHandlingKind||(S.FailureHandlingKind={}));var T0;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(T0=S.PositionEncodingKind||(S.PositionEncodingKind={}));var R0;(function(t){function e(r){let n=r;return n&&Cr.string(n.id)&&n.id.length>0}t.hasId=e})(R0=S.StaticRegistrationOptions||(S.StaticRegistrationOptions={}));var b0;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||ex.is(n.documentSelector))}t.is=e})(b0=S.TextDocumentRegistrationOptions||(S.TextDocumentRegistrationOptions={}));var x0;(function(t){function e(n){let i=n;return Cr.objectLiteral(i)&&(i.workDoneProgress===void 0||Cr.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Cr.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(x0=S.WorkDoneProgressOptions||(S.WorkDoneProgressOptions={}));var _0;(function(t){t.method="initialize",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(_0=S.InitializeRequest||(S.InitializeRequest={}));var S0;(function(t){t.unknownProtocolVersion=1})(S0=S.InitializeErrorCodes||(S.InitializeErrorCodes={}));var k0;(function(t){t.method="initialized",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(k0=S.InitializedNotification||(S.InitializedNotification={}));var C0;(function(t){t.method="shutdown",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType0(t.method)})(C0=S.ShutdownRequest||(S.ShutdownRequest={}));var w0;(function(t){t.method="exit",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType0(t.method)})(w0=S.ExitNotification||(S.ExitNotification={}));var D0;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(D0=S.DidChangeConfigurationNotification||(S.DidChangeConfigurationNotification={}));var E0;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4})(E0=S.MessageType||(S.MessageType={}));var P0;(function(t){t.method="window/showMessage",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolNotificationType(t.method)})(P0=S.ShowMessageNotification||(S.ShowMessageNotification={}));var A0;(function(t){t.method="window/showMessageRequest",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType(t.method)})(A0=S.ShowMessageRequest||(S.ShowMessageRequest={}));var N0;(function(t){t.method="window/logMessage",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolNotificationType(t.method)})(N0=S.LogMessageNotification||(S.LogMessageNotification={}));var I0;(function(t){t.method="telemetry/event",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolNotificationType(t.method)})(I0=S.TelemetryEventNotification||(S.TelemetryEventNotification={}));var O0;(function(t){t.None=0,t.Full=1,t.Incremental=2})(O0=S.TextDocumentSyncKind||(S.TextDocumentSyncKind={}));var L0;(function(t){t.method="textDocument/didOpen",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(L0=S.DidOpenTextDocumentNotification||(S.DidOpenTextDocumentNotification={}));var M0;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(M0=S.TextDocumentContentChangeEvent||(S.TextDocumentContentChangeEvent={}));var $0;(function(t){t.method="textDocument/didChange",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})($0=S.DidChangeTextDocumentNotification||(S.DidChangeTextDocumentNotification={}));var q0;(function(t){t.method="textDocument/didClose",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(q0=S.DidCloseTextDocumentNotification||(S.DidCloseTextDocumentNotification={}));var F0;(function(t){t.method="textDocument/didSave",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(F0=S.DidSaveTextDocumentNotification||(S.DidSaveTextDocumentNotification={}));var j0;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(j0=S.TextDocumentSaveReason||(S.TextDocumentSaveReason={}));var U0;(function(t){t.method="textDocument/willSave",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(U0=S.WillSaveTextDocumentNotification||(S.WillSaveTextDocumentNotification={}));var W0;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(W0=S.WillSaveTextDocumentWaitUntilRequest||(S.WillSaveTextDocumentWaitUntilRequest={}));var H0;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(H0=S.DidChangeWatchedFilesNotification||(S.DidChangeWatchedFilesNotification={}));var G0;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(G0=S.FileChangeType||(S.FileChangeType={}));var B0;(function(t){function e(r){let n=r;return Cr.objectLiteral(n)&&(zb.URI.is(n.baseUri)||zb.WorkspaceFolder.is(n.baseUri))&&Cr.string(n.pattern)}t.is=e})(B0=S.RelativePattern||(S.RelativePattern={}));var K0;(function(t){t.Create=1,t.Change=2,t.Delete=4})(K0=S.WatchKind||(S.WatchKind={}));var z0;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolNotificationType(t.method)})(z0=S.PublishDiagnosticsNotification||(S.PublishDiagnosticsNotification={}));var V0;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(V0=S.CompletionTriggerKind||(S.CompletionTriggerKind={}));var X0;(function(t){t.method="textDocument/completion",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(X0=S.CompletionRequest||(S.CompletionRequest={}));var Y0;(function(t){t.method="completionItem/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(Y0=S.CompletionResolveRequest||(S.CompletionResolveRequest={}));var J0;(function(t){t.method="textDocument/hover",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(J0=S.HoverRequest||(S.HoverRequest={}));var Q0;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(Q0=S.SignatureHelpTriggerKind||(S.SignatureHelpTriggerKind={}));var Z0;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(Z0=S.SignatureHelpRequest||(S.SignatureHelpRequest={}));var eO;(function(t){t.method="textDocument/definition",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(eO=S.DefinitionRequest||(S.DefinitionRequest={}));var tO;(function(t){t.method="textDocument/references",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(tO=S.ReferencesRequest||(S.ReferencesRequest={}));var rO;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(rO=S.DocumentHighlightRequest||(S.DocumentHighlightRequest={}));var nO;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(nO=S.DocumentSymbolRequest||(S.DocumentSymbolRequest={}));var iO;(function(t){t.method="textDocument/codeAction",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(iO=S.CodeActionRequest||(S.CodeActionRequest={}));var oO;(function(t){t.method="codeAction/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(oO=S.CodeActionResolveRequest||(S.CodeActionResolveRequest={}));var sO;(function(t){t.method="workspace/symbol",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(sO=S.WorkspaceSymbolRequest||(S.WorkspaceSymbolRequest={}));var aO;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(aO=S.WorkspaceSymbolResolveRequest||(S.WorkspaceSymbolResolveRequest={}));var cO;(function(t){t.method="textDocument/codeLens",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(cO=S.CodeLensRequest||(S.CodeLensRequest={}));var uO;(function(t){t.method="codeLens/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(uO=S.CodeLensResolveRequest||(S.CodeLensResolveRequest={}));var lO;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType0(t.method)})(lO=S.CodeLensRefreshRequest||(S.CodeLensRefreshRequest={}));var fO;(function(t){t.method="textDocument/documentLink",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(fO=S.DocumentLinkRequest||(S.DocumentLinkRequest={}));var dO;(function(t){t.method="documentLink/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(dO=S.DocumentLinkResolveRequest||(S.DocumentLinkResolveRequest={}));var pO;(function(t){t.method="textDocument/formatting",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(pO=S.DocumentFormattingRequest||(S.DocumentFormattingRequest={}));var mO;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(mO=S.DocumentRangeFormattingRequest||(S.DocumentRangeFormattingRequest={}));var hO;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(hO=S.DocumentOnTypeFormattingRequest||(S.DocumentOnTypeFormattingRequest={}));var gO;(function(t){t.Identifier=1})(gO=S.PrepareSupportDefaultBehavior||(S.PrepareSupportDefaultBehavior={}));var yO;(function(t){t.method="textDocument/rename",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(yO=S.RenameRequest||(S.RenameRequest={}));var vO;(function(t){t.method="textDocument/prepareRename",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(vO=S.PrepareRenameRequest||(S.PrepareRenameRequest={}));var TO;(function(t){t.method="workspace/executeCommand",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(TO=S.ExecuteCommandRequest||(S.ExecuteCommandRequest={}));var RO;(function(t){t.method="workspace/applyEdit",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType("workspace/applyEdit")})(RO=S.ApplyWorkspaceEditRequest||(S.ApplyWorkspaceEditRequest={}))});var nx=$(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});sf.createProtocolConnection=void 0;var rx=io();function bO(t,e,r,n){return rx.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,rx.createMessageConnection)(t,e,r,n)}sf.createProtocolConnection=bO});var ix=$(Qr=>{"use strict";var xO=Qr&&Qr.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),af=Qr&&Qr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&xO(e,t,r)};Object.defineProperty(Qr,"__esModule",{value:!0});Qr.LSPErrorCodes=Qr.createProtocolConnection=void 0;af(io(),Qr);af(bs(),Qr);af(It(),Qr);af(tx(),Qr);var _O=nx();Object.defineProperty(Qr,"createProtocolConnection",{enumerable:!0,get:function(){return _O.createProtocolConnection}});var SO;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(SO=Qr.LSPErrorCodes||(Qr.LSPErrorCodes={}))});var er=$(Di=>{"use strict";var kO=Di&&Di.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),ox=Di&&Di.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&kO(e,t,r)};Object.defineProperty(Di,"__esModule",{value:!0});Di.createProtocolConnection=void 0;var CO=Pg();ox(Pg(),Di);ox(ix(),Di);function wO(t,e,r,n){return(0,CO.createMessageConnection)(t,e,r,n)}Di.createProtocolConnection=wO});var Hg=$(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.SemanticTokensBuilder=Mo.SemanticTokensDiff=Mo.SemanticTokensFeature=void 0;var cf=er(),DO=t=>class extends t{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(cf.SemanticTokensRefreshRequest.type),on:e=>{let r=cf.SemanticTokensRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onDelta:e=>{let r=cf.SemanticTokensDeltaRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onRange:e=>{let r=cf.SemanticTokensRangeRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};Mo.SemanticTokensFeature=DO;var uf=class{constructor(e,r){this.originalSequence=e,this.modifiedSequence=r}computeDiff(){let e=this.originalSequence.length,r=this.modifiedSequence.length,n=0;for(;n<r&&n<e&&this.originalSequence[n]===this.modifiedSequence[n];)n++;if(n<r&&n<e){let i=e-1,o=r-1;for(;i>=n&&o>=n&&this.originalSequence[i]===this.modifiedSequence[o];)i--,o--;(i<n||o<n)&&(i++,o++);let s=i-n+1,a=this.modifiedSequence.slice(n,o+1);return a.length===1&&a[0]===this.originalSequence[i]?[{start:n,deleteCount:s-1}]:[{start:n,deleteCount:s,data:a}]}else return n<r?[{start:n,deleteCount:0,data:this.modifiedSequence.slice(n)}]:n<e?[{start:n,deleteCount:e-n}]:[]}};Mo.SemanticTokensDiff=uf;var Wg=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,r,n,i,o){let s=e,a=r;this._dataLen>0&&(s-=this._prevLine,s===0&&(a-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=a,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=o,this._prevLine=e,this._prevChar=r}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new uf(this._prevData,this._data).computeDiff()}:this.build()}};Mo.SemanticTokensBuilder=Wg});var Bg=$(lf=>{"use strict";Object.defineProperty(lf,"__esModule",{value:!0});lf.TextDocuments=void 0;var _s=er(),Gg=class{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new _s.Emitter,this._onDidOpen=new _s.Emitter,this._onDidClose=new _s.Emitter,this._onDidSave=new _s.Emitter,this._onWillSave=new _s.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(e)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=_s.TextDocumentSyncKind.Incremental;let r=[];return r.push(e.onDidOpenTextDocument(n=>{let i=n.textDocument,o=this._configuration.create(i.uri,i.languageId,i.version,i.text);this._syncedDocuments.set(i.uri,o);let s=Object.freeze({document:o});this._onDidOpen.fire(s),this._onDidChangeContent.fire(s)})),r.push(e.onDidChangeTextDocument(n=>{let i=n.textDocument,o=n.contentChanges;if(o.length===0)return;let{version:s}=i;if(s==null)throw new Error(`Received document change event for ${i.uri} without valid version identifier`);let a=this._syncedDocuments.get(i.uri);a!==void 0&&(a=this._configuration.update(a,o,s),this._syncedDocuments.set(i.uri,a),this._onDidChangeContent.fire(Object.freeze({document:a})))})),r.push(e.onDidCloseTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&(this._syncedDocuments.delete(n.textDocument.uri),this._onDidClose.fire(Object.freeze({document:i})))})),r.push(e.onWillSaveTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&this._onWillSave.fire(Object.freeze({document:i,reason:n.reason}))})),r.push(e.onWillSaveTextDocumentWaitUntil((n,i)=>{let o=this._syncedDocuments.get(n.textDocument.uri);return o!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:o,reason:n.reason}),i):[]})),r.push(e.onDidSaveTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&this._onDidSave.fire(Object.freeze({document:i}))})),_s.Disposable.create(()=>{r.forEach(n=>n.dispose())})}};lf.TextDocuments=Gg});var zg=$(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.NotebookDocuments=pa.NotebookSyncFeature=void 0;var Mn=er(),sx=Bg(),EO=t=>class extends t{get synchronization(){return{onDidOpenNotebookDocument:e=>this.connection.onNotification(Mn.DidOpenNotebookDocumentNotification.type,r=>{e(r)}),onDidChangeNotebookDocument:e=>this.connection.onNotification(Mn.DidChangeNotebookDocumentNotification.type,r=>{e(r)}),onDidSaveNotebookDocument:e=>this.connection.onNotification(Mn.DidSaveNotebookDocumentNotification.type,r=>{e(r)}),onDidCloseNotebookDocument:e=>this.connection.onNotification(Mn.DidCloseNotebookDocumentNotification.type,r=>{e(r)})}}};pa.NotebookSyncFeature=EO;var ff=class t{onDidOpenTextDocument(e){return this.openHandler=e,Mn.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(e){this.openHandler&&this.openHandler(e)}onDidChangeTextDocument(e){return this.changeHandler=e,Mn.Disposable.create(()=>{this.changeHandler=e})}changeTextDocument(e){this.changeHandler&&this.changeHandler(e)}onDidCloseTextDocument(e){return this.closeHandler=e,Mn.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(e){this.closeHandler&&this.closeHandler(e)}onWillSaveTextDocument(){return t.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return t.NULL_DISPOSE}onDidSaveTextDocument(){return t.NULL_DISPOSE}};ff.NULL_DISPOSE=Object.freeze({dispose:()=>{}});var Kg=class{constructor(e){e instanceof sx.TextDocuments?this._cellTextDocuments=e:this._cellTextDocuments=new sx.TextDocuments(e),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new Mn.Emitter,this._onDidChange=new Mn.Emitter,this._onDidSave=new Mn.Emitter,this._onDidClose=new Mn.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(e){return this._cellTextDocuments.get(e.document)}getNotebookDocument(e){return this.notebookDocuments.get(e)}getNotebookCell(e){let r=this.notebookCellMap.get(e);return r&&r[0]}findNotebookDocumentForCell(e){let r=typeof e=="string"?e:e.document,n=this.notebookCellMap.get(r);return n&&n[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(e){let r=new ff,n=[];return n.push(this.cellTextDocuments.listen(r)),n.push(e.notebooks.synchronization.onDidOpenNotebookDocument(i=>{this.notebookDocuments.set(i.notebookDocument.uri,i.notebookDocument);for(let o of i.cellTextDocuments)r.openTextDocument({textDocument:o});this.updateCellMap(i.notebookDocument),this._onDidOpen.fire(i.notebookDocument)})),n.push(e.notebooks.synchronization.onDidChangeNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);if(o===void 0)return;o.version=i.notebookDocument.version;let s=o.metadata,a=!1,c=i.change;c.metadata!==void 0&&(a=!0,o.metadata=c.metadata);let f=[],p=[],m=[],T=[];if(c.cells!==void 0){let A=c.cells;if(A.structure!==void 0){let y=A.structure.array;if(o.cells.splice(y.start,y.deleteCount,...y.cells!==void 0?y.cells:[]),A.structure.didOpen!==void 0)for(let h of A.structure.didOpen)r.openTextDocument({textDocument:h}),f.push(h.uri);if(A.structure.didClose)for(let h of A.structure.didClose)r.closeTextDocument({textDocument:h}),p.push(h.uri)}if(A.data!==void 0){let y=new Map(A.data.map(h=>[h.document,h]));for(let h=0;h<=o.cells.length;h++){let C=y.get(o.cells[h].document);if(C!==void 0){let L=o.cells.splice(h,1,C);if(m.push({old:L[0],new:C}),y.delete(C.document),y.size===0)break}}}if(A.textContent!==void 0)for(let y of A.textContent)r.changeTextDocument({textDocument:y.document,contentChanges:y.changes}),T.push(y.document.uri)}this.updateCellMap(o);let _={notebookDocument:o};a&&(_.metadata={old:s,new:o.metadata});let E=[];for(let A of f)E.push(this.getNotebookCell(A));let N=[];for(let A of p)N.push(this.getNotebookCell(A));let I=[];for(let A of T)I.push(this.getNotebookCell(A));(E.length>0||N.length>0||m.length>0||I.length>0)&&(_.cells={added:E,removed:N,changed:{data:m,textContent:I}}),(_.metadata!==void 0||_.cells!==void 0)&&this._onDidChange.fire(_)})),n.push(e.notebooks.synchronization.onDidSaveNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);o!==void 0&&this._onDidSave.fire(o)})),n.push(e.notebooks.synchronization.onDidCloseNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);if(o!==void 0){this._onDidClose.fire(o);for(let s of i.cellTextDocuments)r.closeTextDocument({textDocument:s});this.notebookDocuments.delete(i.notebookDocument.uri);for(let s of o.cells)this.notebookCellMap.delete(s.document)}})),Mn.Disposable.create(()=>{n.forEach(i=>i.dispose())})}updateCellMap(e){for(let r of e.cells)this.notebookCellMap.set(r.document,[r,e])}};pa.NotebookDocuments=Kg});var Vg=$(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.thenable=tr.typedArray=tr.stringArray=tr.array=tr.func=tr.error=tr.number=tr.string=tr.boolean=void 0;function PO(t){return t===!0||t===!1}tr.boolean=PO;function ax(t){return typeof t=="string"||t instanceof String}tr.string=ax;function AO(t){return typeof t=="number"||t instanceof Number}tr.number=AO;function NO(t){return t instanceof Error}tr.error=NO;function cx(t){return typeof t=="function"}tr.func=cx;function ux(t){return Array.isArray(t)}tr.array=ux;function IO(t){return ux(t)&&t.every(e=>ax(e))}tr.stringArray=IO;function OO(t,e){return Array.isArray(t)&&t.every(e)}tr.typedArray=OO;function LO(t){return t&&cx(t.then)}tr.thenable=LO});var Xg=$($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.generateUuid=$n.parse=$n.isUUID=$n.v4=$n.empty=void 0;var du=class{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}},pu=class t extends du{constructor(){super([t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return t._oneOf(t._chars)}};pu._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];pu._timeHighBits=["8","9","a","b"];$n.empty=new du("00000000-0000-0000-0000-000000000000");function lx(){return new pu}$n.v4=lx;var MO=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function fx(t){return MO.test(t)}$n.isUUID=fx;function $O(t){if(!fx(t))throw new Error("invalid uuid");return new du(t)}$n.parse=$O;function qO(){return lx().asHex()}$n.generateUuid=qO});var dx=$(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.attachPartialResult=qo.ProgressFeature=qo.attachWorkDone=void 0;var $o=er(),FO=Xg(),Ss=class t{constructor(e,r){this._connection=e,this._token=r,t.Instances.set(this._token,this)}begin(e,r,n,i){let o={kind:"begin",title:e,percentage:r,message:n,cancellable:i};this._connection.sendProgress($o.WorkDoneProgress.type,this._token,o)}report(e,r){let n={kind:"report"};typeof e=="number"?(n.percentage=e,r!==void 0&&(n.message=r)):n.message=e,this._connection.sendProgress($o.WorkDoneProgress.type,this._token,n)}done(){t.Instances.delete(this._token),this._connection.sendProgress($o.WorkDoneProgress.type,this._token,{kind:"end"})}};Ss.Instances=new Map;var df=class extends Ss{constructor(e,r){super(e,r),this._source=new $o.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},mu=class{constructor(){}begin(){}report(){}done(){}},pf=class extends mu{constructor(){super(),this._source=new $o.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function jO(t,e){if(e===void 0||e.workDoneToken===void 0)return new mu;let r=e.workDoneToken;return delete e.workDoneToken,new Ss(t,r)}qo.attachWorkDone=jO;var UO=t=>class extends t{constructor(){super(),this._progressSupported=!1}initialize(e){super.initialize(e),e?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification($o.WorkDoneProgressCancelNotification.type,r=>{let n=Ss.Instances.get(r.token);(n instanceof df||n instanceof pf)&&n.cancel()}))}attachWorkDoneProgress(e){return e===void 0?new mu:new Ss(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){let e=(0,FO.generateUuid)();return this.connection.sendRequest($o.WorkDoneProgressCreateRequest.type,{token:e}).then(()=>new df(this.connection,e))}else return Promise.resolve(new pf)}};qo.ProgressFeature=UO;var Yg;(function(t){t.type=new $o.ProgressType})(Yg||(Yg={}));var Jg=class{constructor(e,r){this._connection=e,this._token=r}report(e){this._connection.sendProgress(Yg.type,this._token,e)}};function WO(t,e){if(e===void 0||e.partialResultToken===void 0)return;let r=e.partialResultToken;return delete e.partialResultToken,new Jg(t,r)}qo.attachPartialResult=WO});var px=$(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});mf.ConfigurationFeature=void 0;var HO=er(),GO=Vg(),BO=t=>class extends t{getConfiguration(e){return e?GO.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let r={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(HO.ConfigurationRequest.type,r).then(n=>Array.isArray(n)?Array.isArray(e)?n:n[0]:Array.isArray(e)?[]:null)}};mf.ConfigurationFeature=BO});var mx=$(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});gf.WorkspaceFoldersFeature=void 0;var hf=er(),KO=t=>class extends t{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(e){super.initialize(e);let r=e.workspace;r&&r.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new hf.Emitter,this.connection.onNotification(hf.DidChangeWorkspaceFoldersNotification.type,n=>{this._onDidChangeWorkspaceFolders.fire(n.event)}))}fillServerCapabilities(e){super.fillServerCapabilities(e);let r=e.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=r===!0||typeof r=="string"}getWorkspaceFolders(){return this.connection.sendRequest(hf.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(hf.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};gf.WorkspaceFoldersFeature=KO});var hx=$(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});yf.CallHierarchyFeature=void 0;var Qg=er(),zO=t=>class extends t{get callHierarchy(){return{onPrepare:e=>this.connection.onRequest(Qg.CallHierarchyPrepareRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0)),onIncomingCalls:e=>{let r=Qg.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onOutgoingCalls:e=>{let r=Qg.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};yf.CallHierarchyFeature=zO});var gx=$(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});vf.ShowDocumentFeature=void 0;var VO=er(),XO=t=>class extends t{showDocument(e){return this.connection.sendRequest(VO.ShowDocumentRequest.type,e)}};vf.ShowDocumentFeature=XO});var yx=$(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});Tf.FileOperationsFeature=void 0;var ma=er(),YO=t=>class extends t{onDidCreateFiles(e){return this.connection.onNotification(ma.DidCreateFilesNotification.type,r=>{e(r)})}onDidRenameFiles(e){return this.connection.onNotification(ma.DidRenameFilesNotification.type,r=>{e(r)})}onDidDeleteFiles(e){return this.connection.onNotification(ma.DidDeleteFilesNotification.type,r=>{e(r)})}onWillCreateFiles(e){return this.connection.onRequest(ma.WillCreateFilesRequest.type,(r,n)=>e(r,n))}onWillRenameFiles(e){return this.connection.onRequest(ma.WillRenameFilesRequest.type,(r,n)=>e(r,n))}onWillDeleteFiles(e){return this.connection.onRequest(ma.WillDeleteFilesRequest.type,(r,n)=>e(r,n))}};Tf.FileOperationsFeature=YO});var vx=$(Rf=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});Rf.LinkedEditingRangeFeature=void 0;var JO=er(),QO=t=>class extends t{onLinkedEditingRange(e){return this.connection.onRequest(JO.LinkedEditingRangeRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0))}};Rf.LinkedEditingRangeFeature=QO});var Tx=$(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.TypeHierarchyFeature=void 0;var Zg=er(),ZO=t=>class extends t{get typeHierarchy(){return{onPrepare:e=>this.connection.onRequest(Zg.TypeHierarchyPrepareRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0)),onSupertypes:e=>{let r=Zg.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onSubtypes:e=>{let r=Zg.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};bf.TypeHierarchyFeature=ZO});var bx=$(xf=>{"use strict";Object.defineProperty(xf,"__esModule",{value:!0});xf.InlineValueFeature=void 0;var Rx=er(),eL=t=>class extends t{get inlineValue(){return{refresh:()=>this.connection.sendRequest(Rx.InlineValueRefreshRequest.type),on:e=>this.connection.onRequest(Rx.InlineValueRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r)))}}};xf.InlineValueFeature=eL});var xx=$(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.InlayHintFeature=void 0;var ey=er(),tL=t=>class extends t{get inlayHint(){return{refresh:()=>this.connection.sendRequest(ey.InlayHintRefreshRequest.type),on:e=>this.connection.onRequest(ey.InlayHintRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r))),resolve:e=>this.connection.onRequest(ey.InlayHintResolveRequest.type,(r,n)=>e(r,n))}}};_f.InlayHintFeature=tL});var _x=$(Sf=>{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.DiagnosticFeature=void 0;var hu=er(),rL=t=>class extends t{get diagnostics(){return{refresh:()=>this.connection.sendRequest(hu.DiagnosticRefreshRequest.type),on:e=>this.connection.onRequest(hu.DocumentDiagnosticRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(hu.DocumentDiagnosticRequest.partialResult,r))),onWorkspace:e=>this.connection.onRequest(hu.WorkspaceDiagnosticRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(hu.WorkspaceDiagnosticRequest.partialResult,r)))}}};Sf.DiagnosticFeature=rL});var Sx=$(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.MonikerFeature=void 0;var nL=er(),iL=t=>class extends t{get moniker(){return{on:e=>{let r=nL.MonikerRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};kf.MonikerFeature=iL});var $x=$(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.createConnection=Le.combineFeatures=Le.combineNotebooksFeatures=Le.combineLanguagesFeatures=Le.combineWorkspaceFeatures=Le.combineWindowFeatures=Le.combineClientFeatures=Le.combineTracerFeatures=Le.combineTelemetryFeatures=Le.combineConsoleFeatures=Le._NotebooksImpl=Le._LanguagesImpl=Le.BulkUnregistration=Le.BulkRegistration=Le.ErrorMessageTracker=void 0;var X=er(),qn=Vg(),ry=Xg(),_e=dx(),oL=px(),sL=mx(),aL=hx(),cL=Hg(),uL=gx(),lL=yx(),fL=vx(),dL=Tx(),pL=bx(),mL=xx(),hL=_x(),gL=zg(),yL=Sx();function ty(t){if(t!==null)return t}var ny=class{constructor(){this._messages=Object.create(null)}add(e){let r=this._messages[e];r||(r=0),r++,this._messages[e]=r}sendErrors(e){Object.keys(this._messages).forEach(r=>{e.window.showErrorMessage(r)})}};Le.ErrorMessageTracker=ny;var Cf=class{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(X.MessageType.Error,e)}warn(e){this.send(X.MessageType.Warning,e)}info(e){this.send(X.MessageType.Info,e)}log(e){this.send(X.MessageType.Log,e)}send(e,r){this._rawConnection&&this._rawConnection.sendNotification(X.LogMessageNotification.type,{type:e,message:r}).catch(()=>{(0,X.RAL)().console.error("Sending log message failed")})}},iy=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...r){let n={type:X.MessageType.Error,message:e,actions:r};return this.connection.sendRequest(X.ShowMessageRequest.type,n).then(ty)}showWarningMessage(e,...r){let n={type:X.MessageType.Warning,message:e,actions:r};return this.connection.sendRequest(X.ShowMessageRequest.type,n).then(ty)}showInformationMessage(e,...r){let n={type:X.MessageType.Info,message:e,actions:r};return this.connection.sendRequest(X.ShowMessageRequest.type,n).then(ty)}},kx=(0,uL.ShowDocumentFeature)((0,_e.ProgressFeature)(iy)),vL;(function(t){function e(){return new wf}t.create=e})(vL=Le.BulkRegistration||(Le.BulkRegistration={}));var wf=class{constructor(){this._registrations=[],this._registered=new Set}add(e,r){let n=qn.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);let i=ry.generateUuid();this._registrations.push({id:i,method:n,registerOptions:r||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}},TL;(function(t){function e(){return new gu(void 0,[])}t.create=e})(TL=Le.BulkUnregistration||(Le.BulkUnregistration={}));var gu=class{constructor(e,r){this._connection=e,this._unregistrations=new Map,r.forEach(n=>{this._unregistrations.set(n.method,n)})}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let n of this._unregistrations.values())e.push(n);let r={unregisterations:e};this._connection.sendRequest(X.UnregistrationRequest.type,r).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(e){let r=qn.string(e)?e:e.method,n=this._unregistrations.get(r);if(!n)return!1;let i={unregisterations:[n]};return this._connection.sendRequest(X.UnregistrationRequest.type,i).then(()=>{this._unregistrations.delete(r)},o=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)}),!0}},Df=class{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,r,n){return e instanceof wf?this.registerMany(e):e instanceof gu?this.registerSingle1(e,r,n):this.registerSingle2(e,r)}registerSingle1(e,r,n){let i=qn.string(r)?r:r.method,o=ry.generateUuid(),s={registrations:[{id:o,method:i,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(X.RegistrationRequest.type,s).then(a=>(e.add({id:o,method:i}),e),a=>(this.connection.console.info(`Registering request handler for ${i} failed.`),Promise.reject(a)))}registerSingle2(e,r){let n=qn.string(e)?e:e.method,i=ry.generateUuid(),o={registrations:[{id:i,method:n,registerOptions:r||{}}]};return this.connection.sendRequest(X.RegistrationRequest.type,o).then(s=>X.Disposable.create(()=>{this.unregisterSingle(i,n).catch(()=>{this.connection.console.info(`Un-registering capability with id ${i} failed.`)})}),s=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(s)))}unregisterSingle(e,r){let n={unregisterations:[{id:e,method:r}]};return this.connection.sendRequest(X.UnregistrationRequest.type,n).catch(()=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)})}registerMany(e){let r=e.asRegistrationParams();return this.connection.sendRequest(X.RegistrationRequest.type,r).then(()=>new gu(this._connection,r.registrations.map(n=>({id:n.id,method:n.method}))),n=>(this.connection.console.info("Bulk registration failed."),Promise.reject(n)))}},oy=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){function r(i){return i&&!!i.edit}let n=r(e)?e:{edit:e};return this.connection.sendRequest(X.ApplyWorkspaceEditRequest.type,n)}},Cx=(0,lL.FileOperationsFeature)((0,sL.WorkspaceFoldersFeature)((0,oL.ConfigurationFeature)(oy))),Ef=class{constructor(){this._trace=X.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,r){this._trace!==X.Trace.Off&&this.connection.sendNotification(X.LogTraceNotification.type,{message:e,verbose:this._trace===X.Trace.Verbose?r:void 0}).catch(()=>{})}},Pf=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(X.TelemetryEventNotification.type,e).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},Af=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,_e.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,r){return(0,_e.attachPartialResult)(this.connection,r)}};Le._LanguagesImpl=Af;var wx=(0,yL.MonikerFeature)((0,hL.DiagnosticFeature)((0,mL.InlayHintFeature)((0,pL.InlineValueFeature)((0,dL.TypeHierarchyFeature)((0,fL.LinkedEditingRangeFeature)((0,cL.SemanticTokensFeature)((0,aL.CallHierarchyFeature)(Af)))))))),Nf=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,_e.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,r){return(0,_e.attachPartialResult)(this.connection,r)}};Le._NotebooksImpl=Nf;var Dx=(0,gL.NotebookSyncFeature)(Nf);function Ex(t,e){return function(r){return e(t(r))}}Le.combineConsoleFeatures=Ex;function Px(t,e){return function(r){return e(t(r))}}Le.combineTelemetryFeatures=Px;function Ax(t,e){return function(r){return e(t(r))}}Le.combineTracerFeatures=Ax;function Nx(t,e){return function(r){return e(t(r))}}Le.combineClientFeatures=Nx;function Ix(t,e){return function(r){return e(t(r))}}Le.combineWindowFeatures=Ix;function Ox(t,e){return function(r){return e(t(r))}}Le.combineWorkspaceFeatures=Ox;function Lx(t,e){return function(r){return e(t(r))}}Le.combineLanguagesFeatures=Lx;function Mx(t,e){return function(r){return e(t(r))}}Le.combineNotebooksFeatures=Mx;function RL(t,e){function r(i,o,s){return i&&o?s(i,o):i||o}return{__brand:"features",console:r(t.console,e.console,Ex),tracer:r(t.tracer,e.tracer,Ax),telemetry:r(t.telemetry,e.telemetry,Px),client:r(t.client,e.client,Nx),window:r(t.window,e.window,Ix),workspace:r(t.workspace,e.workspace,Ox),languages:r(t.languages,e.languages,Lx),notebooks:r(t.notebooks,e.notebooks,Mx)}}Le.combineFeatures=RL;function bL(t,e,r){let n=r&&r.console?new(r.console(Cf)):new Cf,i=t(n);n.rawAttach(i);let o=r&&r.tracer?new(r.tracer(Ef)):new Ef,s=r&&r.telemetry?new(r.telemetry(Pf)):new Pf,a=r&&r.client?new(r.client(Df)):new Df,c=r&&r.window?new(r.window(kx)):new kx,f=r&&r.workspace?new(r.workspace(Cx)):new Cx,p=r&&r.languages?new(r.languages(wx)):new wx,m=r&&r.notebooks?new(r.notebooks(Dx)):new Dx,T=[n,o,s,a,c,f,p,m];function _(y){return y instanceof Promise?y:qn.thenable(y)?new Promise((h,C)=>{y.then(L=>h(L),L=>C(L))}):Promise.resolve(y)}let E,N,I,A={listen:()=>i.listen(),sendRequest:(y,...h)=>i.sendRequest(qn.string(y)?y:y.method,...h),onRequest:(y,h)=>i.onRequest(y,h),sendNotification:(y,h)=>{let C=qn.string(y)?y:y.method;return arguments.length===1?i.sendNotification(C):i.sendNotification(C,h)},onNotification:(y,h)=>i.onNotification(y,h),onProgress:i.onProgress,sendProgress:i.sendProgress,onInitialize:y=>(N=y,{dispose:()=>{N=void 0}}),onInitialized:y=>i.onNotification(X.InitializedNotification.type,y),onShutdown:y=>(E=y,{dispose:()=>{E=void 0}}),onExit:y=>(I=y,{dispose:()=>{I=void 0}}),get console(){return n},get telemetry(){return s},get tracer(){return o},get client(){return a},get window(){return c},get workspace(){return f},get languages(){return p},get notebooks(){return m},onDidChangeConfiguration:y=>i.onNotification(X.DidChangeConfigurationNotification.type,y),onDidChangeWatchedFiles:y=>i.onNotification(X.DidChangeWatchedFilesNotification.type,y),__textDocumentSync:void 0,onDidOpenTextDocument:y=>i.onNotification(X.DidOpenTextDocumentNotification.type,y),onDidChangeTextDocument:y=>i.onNotification(X.DidChangeTextDocumentNotification.type,y),onDidCloseTextDocument:y=>i.onNotification(X.DidCloseTextDocumentNotification.type,y),onWillSaveTextDocument:y=>i.onNotification(X.WillSaveTextDocumentNotification.type,y),onWillSaveTextDocumentWaitUntil:y=>i.onRequest(X.WillSaveTextDocumentWaitUntilRequest.type,y),onDidSaveTextDocument:y=>i.onNotification(X.DidSaveTextDocumentNotification.type,y),sendDiagnostics:y=>i.sendNotification(X.PublishDiagnosticsNotification.type,y),onHover:y=>i.onRequest(X.HoverRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onCompletion:y=>i.onRequest(X.CompletionRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onCompletionResolve:y=>i.onRequest(X.CompletionResolveRequest.type,y),onSignatureHelp:y=>i.onRequest(X.SignatureHelpRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onDeclaration:y=>i.onRequest(X.DeclarationRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onDefinition:y=>i.onRequest(X.DefinitionRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onTypeDefinition:y=>i.onRequest(X.TypeDefinitionRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onImplementation:y=>i.onRequest(X.ImplementationRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onReferences:y=>i.onRequest(X.ReferencesRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onDocumentHighlight:y=>i.onRequest(X.DocumentHighlightRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onDocumentSymbol:y=>i.onRequest(X.DocumentSymbolRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onWorkspaceSymbol:y=>i.onRequest(X.WorkspaceSymbolRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onWorkspaceSymbolResolve:y=>i.onRequest(X.WorkspaceSymbolResolveRequest.type,y),onCodeAction:y=>i.onRequest(X.CodeActionRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onCodeActionResolve:y=>i.onRequest(X.CodeActionResolveRequest.type,(h,C)=>y(h,C)),onCodeLens:y=>i.onRequest(X.CodeLensRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onCodeLensResolve:y=>i.onRequest(X.CodeLensResolveRequest.type,(h,C)=>y(h,C)),onDocumentFormatting:y=>i.onRequest(X.DocumentFormattingRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onDocumentRangeFormatting:y=>i.onRequest(X.DocumentRangeFormattingRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onDocumentOnTypeFormatting:y=>i.onRequest(X.DocumentOnTypeFormattingRequest.type,(h,C)=>y(h,C)),onRenameRequest:y=>i.onRequest(X.RenameRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onPrepareRename:y=>i.onRequest(X.PrepareRenameRequest.type,(h,C)=>y(h,C)),onDocumentLinks:y=>i.onRequest(X.DocumentLinkRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onDocumentLinkResolve:y=>i.onRequest(X.DocumentLinkResolveRequest.type,(h,C)=>y(h,C)),onDocumentColor:y=>i.onRequest(X.DocumentColorRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onColorPresentation:y=>i.onRequest(X.ColorPresentationRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onFoldingRanges:y=>i.onRequest(X.FoldingRangeRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onSelectionRanges:y=>i.onRequest(X.SelectionRangeRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onExecuteCommand:y=>i.onRequest(X.ExecuteCommandRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),dispose:()=>i.dispose()};for(let y of T)y.attach(A);return i.onRequest(X.InitializeRequest.type,y=>{e.initialize(y),qn.string(y.trace)&&(o.trace=X.Trace.fromString(y.trace));for(let h of T)h.initialize(y.capabilities);if(N){let h=N(y,new X.CancellationTokenSource().token,(0,_e.attachWorkDone)(i,y),void 0);return _(h).then(C=>{if(C instanceof X.ResponseError)return C;let L=C;L||(L={capabilities:{}});let J=L.capabilities;J||(J={},L.capabilities=J),J.textDocumentSync===void 0||J.textDocumentSync===null?J.textDocumentSync=qn.number(A.__textDocumentSync)?A.__textDocumentSync:X.TextDocumentSyncKind.None:!qn.number(J.textDocumentSync)&&!qn.number(J.textDocumentSync.change)&&(J.textDocumentSync.change=qn.number(A.__textDocumentSync)?A.__textDocumentSync:X.TextDocumentSyncKind.None);for(let fe of T)fe.fillServerCapabilities(J);return L})}else{let h={capabilities:{textDocumentSync:X.TextDocumentSyncKind.None}};for(let C of T)C.fillServerCapabilities(h.capabilities);return h}}),i.onRequest(X.ShutdownRequest.type,()=>{if(e.shutdownReceived=!0,E)return E(new X.CancellationTokenSource().token)}),i.onNotification(X.ExitNotification.type,()=>{try{I&&I()}finally{e.shutdownReceived?e.exit(0):e.exit(1)}}),i.onNotification(X.SetTraceNotification.type,y=>{o.trace=X.Trace.fromString(y.value)}),A}Le.createConnection=bL});var sy=$(wr=>{"use strict";var xL=wr&&wr.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),qx=wr&&wr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&xL(e,t,r)};Object.defineProperty(wr,"__esModule",{value:!0});wr.ProposedFeatures=wr.NotebookDocuments=wr.TextDocuments=wr.SemanticTokensBuilder=void 0;var _L=Hg();Object.defineProperty(wr,"SemanticTokensBuilder",{enumerable:!0,get:function(){return _L.SemanticTokensBuilder}});qx(er(),wr);var SL=Bg();Object.defineProperty(wr,"TextDocuments",{enumerable:!0,get:function(){return SL.TextDocuments}});var kL=zg();Object.defineProperty(wr,"NotebookDocuments",{enumerable:!0,get:function(){return kL.NotebookDocuments}});qx($x(),wr);var CL;(function(t){t.all={__brand:"features"}})(CL=wr.ProposedFeatures||(wr.ProposedFeatures={}))});var jx=$((S8,Fx)=>{"use strict";Fx.exports=er()});var Qe=$(Ei=>{"use strict";var wL=Ei&&Ei.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Wx=Ei&&Ei.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&wL(e,t,r)};Object.defineProperty(Ei,"__esModule",{value:!0});Ei.createConnection=void 0;var If=sy();Wx(jx(),Ei);Wx(sy(),Ei);var Ux=!1,DL={initialize:t=>{},get shutdownReceived(){return Ux},set shutdownReceived(t){Ux=t},exit:t=>{}};function EL(t,e,r,n){let i,o,s,a;t!==void 0&&t.__brand==="features"&&(i=t,t=e,e=r,r=n),If.ConnectionStrategy.is(t)||If.ConnectionOptions.is(t)?a=t:(o=t,s=e,a=r);let c=f=>(0,If.createProtocolConnection)(o,s,f,a);return(0,If.createConnection)(c,DL,i)}Ei.createConnection=EL});var Lc=$(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.stringArray=Vr.array=Vr.func=Vr.error=Vr.number=Vr.string=Vr.boolean=void 0;function LK(t){return t===!0||t===!1}Vr.boolean=LK;function rP(t){return typeof t=="string"||t instanceof String}Vr.string=rP;function MK(t){return typeof t=="number"||t instanceof Number}Vr.number=MK;function $K(t){return t instanceof Error}Vr.error=$K;function qK(t){return typeof t=="function"}Vr.func=qK;function nP(t){return Array.isArray(t)}Vr.array=nP;function FK(t){return nP(t)&&t.every(e=>rP(e))}Vr.stringArray=FK});var kT=$(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.Message=le.NotificationType9=le.NotificationType8=le.NotificationType7=le.NotificationType6=le.NotificationType5=le.NotificationType4=le.NotificationType3=le.NotificationType2=le.NotificationType1=le.NotificationType0=le.NotificationType=le.RequestType9=le.RequestType8=le.RequestType7=le.RequestType6=le.RequestType5=le.RequestType4=le.RequestType3=le.RequestType2=le.RequestType1=le.RequestType=le.RequestType0=le.AbstractMessageSignature=le.ParameterStructures=le.ResponseError=le.ErrorCodes=void 0;var Xs=Lc(),iP;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(iP=le.ErrorCodes||(le.ErrorCodes={}));var rT=class t extends Error{constructor(e,r,n){super(r),this.code=Xs.number(e)?e:iP.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};le.ResponseError=rT;var Tn=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};le.ParameterStructures=Tn;Tn.auto=new Tn("auto");Tn.byPosition=new Tn("byPosition");Tn.byName=new Tn("byName");var _t=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return Tn.auto}};le.AbstractMessageSignature=_t;var nT=class extends _t{constructor(e){super(e,0)}};le.RequestType0=nT;var iT=class extends _t{constructor(e,r=Tn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};le.RequestType=iT;var oT=class extends _t{constructor(e,r=Tn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};le.RequestType1=oT;var sT=class extends _t{constructor(e){super(e,2)}};le.RequestType2=sT;var aT=class extends _t{constructor(e){super(e,3)}};le.RequestType3=aT;var cT=class extends _t{constructor(e){super(e,4)}};le.RequestType4=cT;var uT=class extends _t{constructor(e){super(e,5)}};le.RequestType5=uT;var lT=class extends _t{constructor(e){super(e,6)}};le.RequestType6=lT;var fT=class extends _t{constructor(e){super(e,7)}};le.RequestType7=fT;var dT=class extends _t{constructor(e){super(e,8)}};le.RequestType8=dT;var pT=class extends _t{constructor(e){super(e,9)}};le.RequestType9=pT;var mT=class extends _t{constructor(e,r=Tn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};le.NotificationType=mT;var hT=class extends _t{constructor(e){super(e,0)}};le.NotificationType0=hT;var gT=class extends _t{constructor(e,r=Tn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};le.NotificationType1=gT;var yT=class extends _t{constructor(e){super(e,2)}};le.NotificationType2=yT;var vT=class extends _t{constructor(e){super(e,3)}};le.NotificationType3=vT;var TT=class extends _t{constructor(e){super(e,4)}};le.NotificationType4=TT;var RT=class extends _t{constructor(e){super(e,5)}};le.NotificationType5=RT;var bT=class extends _t{constructor(e){super(e,6)}};le.NotificationType6=bT;var xT=class extends _t{constructor(e){super(e,7)}};le.NotificationType7=xT;var _T=class extends _t{constructor(e){super(e,8)}};le.NotificationType8=_T;var ST=class extends _t{constructor(e){super(e,9)}};le.NotificationType9=ST;var jK;(function(t){function e(i){let o=i;return o&&Xs.string(o.method)&&(Xs.string(o.id)||Xs.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Xs.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Xs.string(o.id)||Xs.number(o.id)||o.id===null)}t.isResponse=n})(jK=le.Message||(le.Message={}))});var wT=$(Eo=>{"use strict";var oP;Object.defineProperty(Eo,"__esModule",{value:!0});Eo.LRUCache=Eo.LinkedMap=Eo.Touch=void 0;var sn;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(sn=Eo.Touch||(Eo.Touch={}));var Dm=class{constructor(){this[oP]="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(e){return this._map.has(e)}get(e,r=sn.None){let n=this._map.get(e);if(n)return r!==sn.None&&this.touch(n,r),n.value}set(e,r,n=sn.None){let i=this._map.get(e);if(i)i.value=r,n!==sn.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case sn.None:this.addItemLast(i);break;case sn.First:this.addItemFirst(i);break;case sn.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(oP=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==sn.First&&r!==sn.Last)){if(r===sn.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===sn.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Eo.LinkedMap=Dm;var CT=class extends Dm{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=sn.AsNew){return super.get(e,r)}peek(e){return super.get(e,sn.None)}set(e,r){return super.set(e,r,sn.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Eo.LRUCache=CT});var sP=$(Tl=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});Tl.Disposable=void 0;var UK;(function(t){function e(r){return{dispose:r}}t.create=e})(UK=Tl.Disposable||(Tl.Disposable={}))});var cs=$(PT=>{"use strict";Object.defineProperty(PT,"__esModule",{value:!0});var DT;function ET(){if(DT===void 0)throw new Error("No runtime abstraction layer installed");return DT}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");DT=r}t.install=e})(ET||(ET={}));PT.default=ET});var Mc=$(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.Emitter=Ys.Event=void 0;var WK=cs(),HK;(function(t){let e={dispose(){}};t.None=function(){return e}})(HK=Ys.Event||(Ys.Event={}));var AT=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,WK.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Em=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new AT),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Ys.Emitter=Em;Em._noop=function(){}});var Am=$(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.CancellationTokenSource=Js.CancellationToken=void 0;var GK=cs(),BK=Lc(),NT=Mc(),IT;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:NT.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:NT.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||BK.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(IT=Js.CancellationToken||(Js.CancellationToken={}));var KK=Object.freeze(function(t,e){let r=(0,GK.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Pm=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?KK:(this._emitter||(this._emitter=new NT.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},OT=class{get token(){return this._token||(this._token=new Pm),this._token}cancel(){this._token?this._token.cancel():this._token=IT.Cancelled}dispose(){this._token?this._token instanceof Pm&&this._token.dispose():this._token=IT.None}};Js.CancellationTokenSource=OT});var aP=$($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.SharedArrayReceiverStrategy=$c.SharedArraySenderStrategy=void 0;var zK=Am(),Rl;(function(t){t.Continue=0,t.Cancelled=1})(Rl||(Rl={}));var LT=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Rl.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Rl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};$c.SharedArraySenderStrategy=LT;var MT=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Rl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},$T=class{constructor(e){this.token=new MT(e)}cancel(){}dispose(){}},qT=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new zK.CancellationTokenSource:new $T(r)}};$c.SharedArrayReceiverStrategy=qT});var jT=$(Nm=>{"use strict";Object.defineProperty(Nm,"__esModule",{value:!0});Nm.Semaphore=void 0;var VK=cs(),FT=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,VK.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};Nm.Semaphore=FT});var cP=$(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.ReadableStreamMessageReader=Po.AbstractMessageReader=Po.MessageReader=void 0;var WT=cs(),qc=Lc(),UT=Mc(),XK=jT(),YK;(function(t){function e(r){let n=r;return n&&qc.func(n.listen)&&qc.func(n.dispose)&&qc.func(n.onError)&&qc.func(n.onClose)&&qc.func(n.onPartialMessage)}t.is=e})(YK=Po.MessageReader||(Po.MessageReader={}));var Im=class{constructor(){this.errorEmitter=new UT.Emitter,this.closeEmitter=new UT.Emitter,this.partialMessageEmitter=new UT.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${qc.string(e.message)?e.message:"unknown"}`)}};Po.AbstractMessageReader=Im;var HT;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let f of r.contentDecoders)s.set(f.name,f);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let f of r.contentTypeDecoders)c.set(f.name,f)}return a===void 0&&(a=(0,WT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(HT||(HT={}));var GT=class extends Im{constructor(e,r){super(),this.readable=e,this.options=HT.fromOptions(r),this.buffer=(0,WT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new XK.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error("Header must provide a Content-Length property."));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error("Content-Length value must be a number."));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,WT.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Po.ReadableStreamMessageReader=GT});var dP=$(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.WriteableStreamMessageWriter=Ao.AbstractMessageWriter=Ao.MessageWriter=void 0;var uP=cs(),bl=Lc(),JK=jT(),lP=Mc(),QK="Content-Length: ",fP=`\r
|
|
34
|
+
`,ZK;(function(t){function e(r){let n=r;return n&&bl.func(n.dispose)&&bl.func(n.onClose)&&bl.func(n.onError)&&bl.func(n.write)}t.is=e})(ZK=Ao.MessageWriter||(Ao.MessageWriter={}));var Om=class{constructor(){this.errorEmitter=new lP.Emitter,this.closeEmitter=new lP.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${bl.string(e.message)?e.message:"unknown"}`)}};Ao.AbstractMessageWriter=Om;var BT;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,uP.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,uP.default)().applicationJson.encoder}}t.fromOptions=e})(BT||(BT={}));var KT=class extends Om{constructor(e,r){super(),this.writable=e,this.options=BT.fromOptions(r),this.errorCount=0,this.writeSemaphore=new JK.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(QK,n.byteLength.toString(),fP),i.push(fP),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Ao.WriteableStreamMessageWriter=KT});var pP=$(Lm=>{"use strict";Object.defineProperty(Lm,"__esModule",{value:!0});Lm.AbstractMessageBuffer=void 0;var ez=13,tz=10,rz=`\r
|
|
35
|
+
`,zT=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,o=0;e:for(;n<this._chunks.length;){let f=this._chunks[n];for(i=0;i<f.length;){switch(f[i]){case ez:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case tz:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}o+=f.byteLength,n++}if(r!==4)return;let s=this._read(o+i),a=new Map,c=this.toString(s,"ascii").split(rz);if(c.length<2)return a;for(let f=0;f<c.length-2;f++){let p=c[f],m=p.indexOf(":");if(m===-1)throw new Error("Message header must separate key and value using :");let T=p.substr(0,m),_=p.substr(m+1).trim();a.set(e?T.toLowerCase():T,_)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};Lm.AbstractMessageBuffer=zT});var RP=$(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.createMessageConnection=ae.ConnectionOptions=ae.MessageStrategy=ae.CancellationStrategy=ae.CancellationSenderStrategy=ae.CancellationReceiverStrategy=ae.RequestCancellationReceiverStrategy=ae.IdCancellationReceiverStrategy=ae.ConnectionStrategy=ae.ConnectionError=ae.ConnectionErrors=ae.LogTraceNotification=ae.SetTraceNotification=ae.TraceFormat=ae.TraceValues=ae.Trace=ae.NullLogger=ae.ProgressType=ae.ProgressToken=void 0;var mP=cs(),Ft=Lc(),Re=kT(),hP=wT(),xl=Mc(),VT=Am(),Sl;(function(t){t.type=new Re.NotificationType("$/cancelRequest")})(Sl||(Sl={}));var gP;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(gP=ae.ProgressToken||(ae.ProgressToken={}));var _l;(function(t){t.type=new Re.NotificationType("$/progress")})(_l||(_l={}));var XT=class{constructor(){}};ae.ProgressType=XT;var YT;(function(t){function e(r){return Ft.func(r)}t.is=e})(YT||(YT={}));ae.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var nt;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(nt=ae.Trace||(ae.Trace={}));var nz;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(nz=ae.TraceValues||(ae.TraceValues={}));(function(t){function e(n){if(!Ft.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(nt=ae.Trace||(ae.Trace={}));var gi;(function(t){t.Text="text",t.JSON="json"})(gi=ae.TraceFormat||(ae.TraceFormat={}));(function(t){function e(r){return Ft.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(gi=ae.TraceFormat||(ae.TraceFormat={}));var yP;(function(t){t.type=new Re.NotificationType("$/setTrace")})(yP=ae.SetTraceNotification||(ae.SetTraceNotification={}));var JT;(function(t){t.type=new Re.NotificationType("$/logTrace")})(JT=ae.LogTraceNotification||(ae.LogTraceNotification={}));var Mm;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(Mm=ae.ConnectionErrors||(ae.ConnectionErrors={}));var Fc=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};ae.ConnectionError=Fc;var vP;(function(t){function e(r){let n=r;return n&&Ft.func(n.cancelUndispatched)}t.is=e})(vP=ae.ConnectionStrategy||(ae.ConnectionStrategy={}));var eR;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&Ft.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ft.func(n.dispose))}t.is=e})(eR=ae.IdCancellationReceiverStrategy||(ae.IdCancellationReceiverStrategy={}));var TP;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&Ft.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ft.func(n.dispose))}t.is=e})(TP=ae.RequestCancellationReceiverStrategy||(ae.RequestCancellationReceiverStrategy={}));var QT;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new VT.CancellationTokenSource}});function e(r){return eR.is(r)||TP.is(r)}t.is=e})(QT=ae.CancellationReceiverStrategy||(ae.CancellationReceiverStrategy={}));var ZT;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(Sl.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&Ft.func(n.sendCancellation)&&Ft.func(n.cleanup)}t.is=e})(ZT=ae.CancellationSenderStrategy||(ae.CancellationSenderStrategy={}));var tR;(function(t){t.Message=Object.freeze({receiver:QT.Message,sender:ZT.Message});function e(r){let n=r;return n&&QT.is(n.receiver)&&ZT.is(n.sender)}t.is=e})(tR=ae.CancellationStrategy||(ae.CancellationStrategy={}));var rR;(function(t){function e(r){let n=r;return n&&Ft.func(n.handleMessage)}t.is=e})(rR=ae.MessageStrategy||(ae.MessageStrategy={}));var iz;(function(t){function e(r){let n=r;return n&&(tR.is(n.cancellationStrategy)||vP.is(n.connectionStrategy)||rR.is(n.messageStrategy))}t.is=e})(iz=ae.ConnectionOptions||(ae.ConnectionOptions={}));var yi;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(yi||(yi={}));function oz(t,e,r,n){let i=r!==void 0?r:ae.NullLogger,o=0,s=0,a=0,c="2.0",f,p=new Map,m,T=new Map,_=new Map,E,N=new hP.LinkedMap,I=new Map,A=new Set,y=new Map,h=nt.Off,C=gi.Text,L,J=yi.New,fe=new xl.Emitter,Ae=new xl.Emitter,Wt=new xl.Emitter,Xe=new xl.Emitter,Ye=new xl.Emitter,V=n&&n.cancellationStrategy?n.cancellationStrategy:tR.Message;function it(R){if(R===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+R.toString()}function Tt(R){return R===null?"res-unknown-"+(++a).toString():"res-"+R.toString()}function ur(){return"not-"+(++s).toString()}function j(R,P){Re.Message.isRequest(P)?R.set(it(P.id),P):Re.Message.isResponse(P)?R.set(Tt(P.id),P):R.set(ur(),P)}function M(R){}function U(){return J===yi.Listening}function W(){return J===yi.Closed}function re(){return J===yi.Disposed}function ve(){(J===yi.New||J===yi.Listening)&&(J=yi.Closed,Ae.fire(void 0))}function ne(R){fe.fire([R,void 0,void 0])}function Yt(R){fe.fire(R)}t.onClose(ve),t.onError(ne),e.onClose(ve),e.onError(Yt);function Rt(){E||N.size===0||(E=(0,mP.default)().timer.setImmediate(()=>{E=void 0,Xr()}))}function Ge(R){Re.Message.isRequest(R)?Jt(R):Re.Message.isNotification(R)?Kt(R):Re.Message.isResponse(R)?un(R):ot(R)}function Xr(){if(N.size===0)return;let R=N.shift();try{let P=n?.messageStrategy;rR.is(P)?P.handleMessage(R,Ge):Ge(R)}finally{Rt()}}let He=R=>{try{if(Re.Message.isNotification(R)&&R.method===Sl.type.method){let P=R.params.id,O=it(P),H=N.get(O);if(Re.Message.isRequest(H)){let pe=n?.connectionStrategy,be=pe&&pe.cancelUndispatched?pe.cancelUndispatched(H,M):void 0;if(be&&(be.error!==void 0||be.result!==void 0)){N.delete(O),y.delete(P),be.id=H.id,ln(be,R.method,Date.now()),e.write(be).catch(()=>i.error("Sending response for canceled message failed."));return}}let de=y.get(P);if(de!==void 0){de.cancel(),Ji(R);return}else A.add(P)}j(N,R)}finally{Rt()}};function Jt(R){if(re())return;function P(ie,se,me){let Pe={jsonrpc:c,id:R.id};ie instanceof Re.ResponseError?Pe.error=ie.toJson():Pe.result=ie===void 0?null:ie,ln(Pe,se,me),e.write(Pe).catch(()=>i.error("Sending response failed."))}function O(ie,se,me){let Pe={jsonrpc:c,id:R.id,error:ie.toJson()};ln(Pe,se,me),e.write(Pe).catch(()=>i.error("Sending response failed."))}function H(ie,se,me){ie===void 0&&(ie=null);let Pe={jsonrpc:c,id:R.id,result:ie};ln(Pe,se,me),e.write(Pe).catch(()=>i.error("Sending response failed."))}In(R);let de=p.get(R.method),pe,be;de&&(pe=de.type,be=de.handler);let ce=Date.now();if(be||f){let ie=R.id??String(Date.now()),se=eR.is(V.receiver)?V.receiver.createCancellationTokenSource(ie):V.receiver.createCancellationTokenSource(R);R.id!==null&&A.has(R.id)&&se.cancel(),R.id!==null&&y.set(ie,se);try{let me;if(be)if(R.params===void 0){if(pe!==void 0&&pe.numberOfParams!==0){O(new Re.ResponseError(Re.ErrorCodes.InvalidParams,`Request ${R.method} defines ${pe.numberOfParams} params but received none.`),R.method,ce);return}me=be(se.token)}else if(Array.isArray(R.params)){if(pe!==void 0&&pe.parameterStructures===Re.ParameterStructures.byName){O(new Re.ResponseError(Re.ErrorCodes.InvalidParams,`Request ${R.method} defines parameters by name but received parameters by position`),R.method,ce);return}me=be(...R.params,se.token)}else{if(pe!==void 0&&pe.parameterStructures===Re.ParameterStructures.byPosition){O(new Re.ResponseError(Re.ErrorCodes.InvalidParams,`Request ${R.method} defines parameters by position but received parameters by name`),R.method,ce);return}me=be(R.params,se.token)}else f&&(me=f(R.method,R.params,se.token));let Pe=me;me?Pe.then?Pe.then(ct=>{y.delete(ie),P(ct,R.method,ce)},ct=>{y.delete(ie),ct instanceof Re.ResponseError?O(ct,R.method,ce):ct&&Ft.string(ct.message)?O(new Re.ResponseError(Re.ErrorCodes.InternalError,`Request ${R.method} failed with message: ${ct.message}`),R.method,ce):O(new Re.ResponseError(Re.ErrorCodes.InternalError,`Request ${R.method} failed unexpectedly without providing any details.`),R.method,ce)}):(y.delete(ie),P(me,R.method,ce)):(y.delete(ie),H(me,R.method,ce))}catch(me){y.delete(ie),me instanceof Re.ResponseError?P(me,R.method,ce):me&&Ft.string(me.message)?O(new Re.ResponseError(Re.ErrorCodes.InternalError,`Request ${R.method} failed with message: ${me.message}`),R.method,ce):O(new Re.ResponseError(Re.ErrorCodes.InternalError,`Request ${R.method} failed unexpectedly without providing any details.`),R.method,ce)}}else O(new Re.ResponseError(Re.ErrorCodes.MethodNotFound,`Unhandled method ${R.method}`),R.method,ce)}function un(R){if(!re())if(R.id===null)R.error?i.error(`Received response message without id: Error is:
|
|
36
|
+
${JSON.stringify(R.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let P=R.id,O=I.get(P);if(On(R,O),O!==void 0){I.delete(P);try{if(R.error){let H=R.error;O.reject(new Re.ResponseError(H.code,H.message,H.data))}else if(R.result!==void 0)O.resolve(R.result);else throw new Error("Should never happen.")}catch(H){H.message?i.error(`Response handler '${O.method}' failed with message: ${H.message}`):i.error(`Response handler '${O.method}' failed unexpectedly.`)}}}}function Kt(R){if(re())return;let P,O;if(R.method===Sl.type.method){let H=R.params.id;A.delete(H),Ji(R);return}else{let H=T.get(R.method);H&&(O=H.handler,P=H.type)}if(O||m)try{if(Ji(R),O)if(R.params===void 0)P!==void 0&&P.numberOfParams!==0&&P.parameterStructures!==Re.ParameterStructures.byName&&i.error(`Notification ${R.method} defines ${P.numberOfParams} params but received none.`),O();else if(Array.isArray(R.params)){let H=R.params;R.method===_l.type.method&&H.length===2&&gP.is(H[0])?O({token:H[0],value:H[1]}):(P!==void 0&&(P.parameterStructures===Re.ParameterStructures.byName&&i.error(`Notification ${R.method} defines parameters by name but received parameters by position`),P.numberOfParams!==R.params.length&&i.error(`Notification ${R.method} defines ${P.numberOfParams} params but received ${H.length} arguments`)),O(...H))}else P!==void 0&&P.parameterStructures===Re.ParameterStructures.byPosition&&i.error(`Notification ${R.method} defines parameters by position but received parameters by name`),O(R.params);else m&&m(R.method,R.params)}catch(H){H.message?i.error(`Notification handler '${R.method}' failed with message: ${H.message}`):i.error(`Notification handler '${R.method}' failed unexpectedly.`)}else Wt.fire(R)}function ot(R){if(!R){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
|
|
37
|
+
${JSON.stringify(R,null,4)}`);let P=R;if(Ft.string(P.id)||Ft.number(P.id)){let O=P.id,H=I.get(O);H&&H.reject(new Error("The received response has neither a result nor an error property."))}}function Et(R){if(R!=null)switch(h){case nt.Verbose:return JSON.stringify(R,null,4);case nt.Compact:return JSON.stringify(R);default:return}}function Sr(R){if(!(h===nt.Off||!L))if(C===gi.Text){let P;(h===nt.Verbose||h===nt.Compact)&&R.params&&(P=`Params: ${Et(R.params)}
|
|
38
|
+
|
|
39
|
+
`),L.log(`Sending request '${R.method} - (${R.id})'.`,P)}else qr("send-request",R)}function yr(R){if(!(h===nt.Off||!L))if(C===gi.Text){let P;(h===nt.Verbose||h===nt.Compact)&&(R.params?P=`Params: ${Et(R.params)}
|
|
40
|
+
|
|
41
|
+
`:P=`No parameters provided.
|
|
42
|
+
|
|
43
|
+
`),L.log(`Sending notification '${R.method}'.`,P)}else qr("send-notification",R)}function ln(R,P,O){if(!(h===nt.Off||!L))if(C===gi.Text){let H;(h===nt.Verbose||h===nt.Compact)&&(R.error&&R.error.data?H=`Error data: ${Et(R.error.data)}
|
|
44
|
+
|
|
45
|
+
`:R.result?H=`Result: ${Et(R.result)}
|
|
46
|
+
|
|
47
|
+
`:R.error===void 0&&(H=`No result returned.
|
|
48
|
+
|
|
49
|
+
`)),L.log(`Sending response '${P} - (${R.id})'. Processing request took ${Date.now()-O}ms`,H)}else qr("send-response",R)}function In(R){if(!(h===nt.Off||!L))if(C===gi.Text){let P;(h===nt.Verbose||h===nt.Compact)&&R.params&&(P=`Params: ${Et(R.params)}
|
|
50
|
+
|
|
51
|
+
`),L.log(`Received request '${R.method} - (${R.id})'.`,P)}else qr("receive-request",R)}function Ji(R){if(!(h===nt.Off||!L||R.method===JT.type.method))if(C===gi.Text){let P;(h===nt.Verbose||h===nt.Compact)&&(R.params?P=`Params: ${Et(R.params)}
|
|
52
|
+
|
|
53
|
+
`:P=`No parameters provided.
|
|
54
|
+
|
|
55
|
+
`),L.log(`Received notification '${R.method}'.`,P)}else qr("receive-notification",R)}function On(R,P){if(!(h===nt.Off||!L))if(C===gi.Text){let O;if((h===nt.Verbose||h===nt.Compact)&&(R.error&&R.error.data?O=`Error data: ${Et(R.error.data)}
|
|
56
|
+
|
|
57
|
+
`:R.result?O=`Result: ${Et(R.result)}
|
|
58
|
+
|
|
59
|
+
`:R.error===void 0&&(O=`No result returned.
|
|
60
|
+
|
|
61
|
+
`)),P){let H=R.error?` Request failed: ${R.error.message} (${R.error.code}).`:"";L.log(`Received response '${P.method} - (${R.id})' in ${Date.now()-P.timerStart}ms.${H}`,O)}else L.log(`Received response ${R.id} without active response promise.`,O)}else qr("receive-response",R)}function qr(R,P){if(!L||h===nt.Off)return;let O={isLSPMessage:!0,type:R,message:P,timestamp:Date.now()};L.log(O)}function Jn(){if(W())throw new Fc(Mm.Closed,"Connection is closed.");if(re())throw new Fc(Mm.Disposed,"Connection is disposed.")}function gs(){if(U())throw new Fc(Mm.AlreadyListening,"Connection is already listening")}function Qn(){if(!U())throw new Error("Call listen() first.")}function Fr(R){return R===void 0?null:R}function Qi(R){if(R!==null)return R}function Si(R){return R!=null&&!Array.isArray(R)&&typeof R=="object"}function ki(R,P){switch(R){case Re.ParameterStructures.auto:return Si(P)?Qi(P):[Fr(P)];case Re.ParameterStructures.byName:if(!Si(P))throw new Error("Received parameters by name but param is not an object literal.");return Qi(P);case Re.ParameterStructures.byPosition:return[Fr(P)];default:throw new Error(`Unknown parameter structure ${R.toString()}`)}}function Rn(R,P){let O,H=R.numberOfParams;switch(H){case 0:O=void 0;break;case 1:O=ki(R.parameterStructures,P[0]);break;default:O=[];for(let de=0;de<P.length&&de<H;de++)O.push(Fr(P[de]));if(P.length<H)for(let de=P.length;de<H;de++)O.push(null);break}return O}let D={sendNotification:(R,...P)=>{Jn();let O,H;if(Ft.string(R)){O=R;let pe=P[0],be=0,ce=Re.ParameterStructures.auto;Re.ParameterStructures.is(pe)&&(be=1,ce=pe);let ie=P.length,se=ie-be;switch(se){case 0:H=void 0;break;case 1:H=ki(ce,P[be]);break;default:if(ce===Re.ParameterStructures.byName)throw new Error(`Received ${se} parameters for 'by Name' notification parameter structure.`);H=P.slice(be,ie).map(me=>Fr(me));break}}else{let pe=P;O=R.method,H=Rn(R,pe)}let de={jsonrpc:c,method:O,params:H};return yr(de),e.write(de).catch(pe=>{throw i.error("Sending notification failed."),pe})},onNotification:(R,P)=>{Jn();let O;return Ft.func(R)?m=R:P&&(Ft.string(R)?(O=R,T.set(R,{type:void 0,handler:P})):(O=R.method,T.set(R.method,{type:R,handler:P}))),{dispose:()=>{O!==void 0?T.delete(O):m=void 0}}},onProgress:(R,P,O)=>{if(_.has(P))throw new Error(`Progress handler for token ${P} already registered`);return _.set(P,O),{dispose:()=>{_.delete(P)}}},sendProgress:(R,P,O)=>D.sendNotification(_l.type,{token:P,value:O}),onUnhandledProgress:Xe.event,sendRequest:(R,...P)=>{Jn(),Qn();let O,H,de;if(Ft.string(R)){O=R;let ie=P[0],se=P[P.length-1],me=0,Pe=Re.ParameterStructures.auto;Re.ParameterStructures.is(ie)&&(me=1,Pe=ie);let ct=P.length;VT.CancellationToken.is(se)&&(ct=ct-1,de=se);let Pt=ct-me;switch(Pt){case 0:H=void 0;break;case 1:H=ki(Pe,P[me]);break;default:if(Pe===Re.ParameterStructures.byName)throw new Error(`Received ${Pt} parameters for 'by Name' request parameter structure.`);H=P.slice(me,ct).map(b=>Fr(b));break}}else{let ie=P;O=R.method,H=Rn(R,ie);let se=R.numberOfParams;de=VT.CancellationToken.is(ie[se])?ie[se]:void 0}let pe=o++,be;de&&(be=de.onCancellationRequested(()=>{let ie=V.sender.sendCancellation(D,pe);return ie===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${pe}`),Promise.resolve()):ie.catch(()=>{i.log(`Sending cancellation messages for id ${pe} failed`)})}));let ce={jsonrpc:c,id:pe,method:O,params:H};return Sr(ce),typeof V.sender.enableCancellation=="function"&&V.sender.enableCancellation(ce),new Promise(async(ie,se)=>{let me=Pt=>{ie(Pt),V.sender.cleanup(pe),be?.dispose()},Pe=Pt=>{se(Pt),V.sender.cleanup(pe),be?.dispose()},ct={method:O,timerStart:Date.now(),resolve:me,reject:Pe};try{await e.write(ce),I.set(pe,ct)}catch(Pt){throw i.error("Sending request failed."),ct.reject(new Re.ResponseError(Re.ErrorCodes.MessageWriteError,Pt.message?Pt.message:"Unknown reason")),Pt}})},onRequest:(R,P)=>{Jn();let O=null;return YT.is(R)?(O=void 0,f=R):Ft.string(R)?(O=null,P!==void 0&&(O=R,p.set(R,{handler:P,type:void 0}))):P!==void 0&&(O=R.method,p.set(R.method,{type:R,handler:P})),{dispose:()=>{O!==null&&(O!==void 0?p.delete(O):f=void 0)}}},hasPendingResponse:()=>I.size>0,trace:async(R,P,O)=>{let H=!1,de=gi.Text;O!==void 0&&(Ft.boolean(O)?H=O:(H=O.sendNotification||!1,de=O.traceFormat||gi.Text)),h=R,C=de,h===nt.Off?L=void 0:L=P,H&&!W()&&!re()&&await D.sendNotification(yP.type,{value:nt.toString(R)})},onError:fe.event,onClose:Ae.event,onUnhandledNotification:Wt.event,onDispose:Ye.event,end:()=>{e.end()},dispose:()=>{if(re())return;J=yi.Disposed,Ye.fire(void 0);let R=new Re.ResponseError(Re.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let P of I.values())P.reject(R);I=new Map,y=new Map,A=new Set,N=new hP.LinkedMap,Ft.func(e.dispose)&&e.dispose(),Ft.func(t.dispose)&&t.dispose()},listen:()=>{Jn(),gs(),J=yi.Listening,t.listen(He)},inspect:()=>{(0,mP.default)().console.log("inspect")}};return D.onNotification(JT.type,R=>{if(h===nt.Off||!L)return;let P=h===nt.Verbose||h===nt.Compact;L.log(R.message,P?R.verbose:void 0)}),D.onNotification(_l.type,R=>{let P=_.get(R.token);P?P(R.value):Xe.fire(R)}),D}ae.createMessageConnection=oz});var $m=$(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.ProgressType=q.ProgressToken=q.createMessageConnection=q.NullLogger=q.ConnectionOptions=q.ConnectionStrategy=q.AbstractMessageBuffer=q.WriteableStreamMessageWriter=q.AbstractMessageWriter=q.MessageWriter=q.ReadableStreamMessageReader=q.AbstractMessageReader=q.MessageReader=q.SharedArrayReceiverStrategy=q.SharedArraySenderStrategy=q.CancellationToken=q.CancellationTokenSource=q.Emitter=q.Event=q.Disposable=q.LRUCache=q.Touch=q.LinkedMap=q.ParameterStructures=q.NotificationType9=q.NotificationType8=q.NotificationType7=q.NotificationType6=q.NotificationType5=q.NotificationType4=q.NotificationType3=q.NotificationType2=q.NotificationType1=q.NotificationType0=q.NotificationType=q.ErrorCodes=q.ResponseError=q.RequestType9=q.RequestType8=q.RequestType7=q.RequestType6=q.RequestType5=q.RequestType4=q.RequestType3=q.RequestType2=q.RequestType1=q.RequestType0=q.RequestType=q.Message=q.RAL=void 0;q.MessageStrategy=q.CancellationStrategy=q.CancellationSenderStrategy=q.CancellationReceiverStrategy=q.ConnectionError=q.ConnectionErrors=q.LogTraceNotification=q.SetTraceNotification=q.TraceFormat=q.TraceValues=q.Trace=void 0;var vt=kT();Object.defineProperty(q,"Message",{enumerable:!0,get:function(){return vt.Message}});Object.defineProperty(q,"RequestType",{enumerable:!0,get:function(){return vt.RequestType}});Object.defineProperty(q,"RequestType0",{enumerable:!0,get:function(){return vt.RequestType0}});Object.defineProperty(q,"RequestType1",{enumerable:!0,get:function(){return vt.RequestType1}});Object.defineProperty(q,"RequestType2",{enumerable:!0,get:function(){return vt.RequestType2}});Object.defineProperty(q,"RequestType3",{enumerable:!0,get:function(){return vt.RequestType3}});Object.defineProperty(q,"RequestType4",{enumerable:!0,get:function(){return vt.RequestType4}});Object.defineProperty(q,"RequestType5",{enumerable:!0,get:function(){return vt.RequestType5}});Object.defineProperty(q,"RequestType6",{enumerable:!0,get:function(){return vt.RequestType6}});Object.defineProperty(q,"RequestType7",{enumerable:!0,get:function(){return vt.RequestType7}});Object.defineProperty(q,"RequestType8",{enumerable:!0,get:function(){return vt.RequestType8}});Object.defineProperty(q,"RequestType9",{enumerable:!0,get:function(){return vt.RequestType9}});Object.defineProperty(q,"ResponseError",{enumerable:!0,get:function(){return vt.ResponseError}});Object.defineProperty(q,"ErrorCodes",{enumerable:!0,get:function(){return vt.ErrorCodes}});Object.defineProperty(q,"NotificationType",{enumerable:!0,get:function(){return vt.NotificationType}});Object.defineProperty(q,"NotificationType0",{enumerable:!0,get:function(){return vt.NotificationType0}});Object.defineProperty(q,"NotificationType1",{enumerable:!0,get:function(){return vt.NotificationType1}});Object.defineProperty(q,"NotificationType2",{enumerable:!0,get:function(){return vt.NotificationType2}});Object.defineProperty(q,"NotificationType3",{enumerable:!0,get:function(){return vt.NotificationType3}});Object.defineProperty(q,"NotificationType4",{enumerable:!0,get:function(){return vt.NotificationType4}});Object.defineProperty(q,"NotificationType5",{enumerable:!0,get:function(){return vt.NotificationType5}});Object.defineProperty(q,"NotificationType6",{enumerable:!0,get:function(){return vt.NotificationType6}});Object.defineProperty(q,"NotificationType7",{enumerable:!0,get:function(){return vt.NotificationType7}});Object.defineProperty(q,"NotificationType8",{enumerable:!0,get:function(){return vt.NotificationType8}});Object.defineProperty(q,"NotificationType9",{enumerable:!0,get:function(){return vt.NotificationType9}});Object.defineProperty(q,"ParameterStructures",{enumerable:!0,get:function(){return vt.ParameterStructures}});var nR=wT();Object.defineProperty(q,"LinkedMap",{enumerable:!0,get:function(){return nR.LinkedMap}});Object.defineProperty(q,"LRUCache",{enumerable:!0,get:function(){return nR.LRUCache}});Object.defineProperty(q,"Touch",{enumerable:!0,get:function(){return nR.Touch}});var sz=sP();Object.defineProperty(q,"Disposable",{enumerable:!0,get:function(){return sz.Disposable}});var bP=Mc();Object.defineProperty(q,"Event",{enumerable:!0,get:function(){return bP.Event}});Object.defineProperty(q,"Emitter",{enumerable:!0,get:function(){return bP.Emitter}});var xP=Am();Object.defineProperty(q,"CancellationTokenSource",{enumerable:!0,get:function(){return xP.CancellationTokenSource}});Object.defineProperty(q,"CancellationToken",{enumerable:!0,get:function(){return xP.CancellationToken}});var _P=aP();Object.defineProperty(q,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return _P.SharedArraySenderStrategy}});Object.defineProperty(q,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return _P.SharedArrayReceiverStrategy}});var iR=cP();Object.defineProperty(q,"MessageReader",{enumerable:!0,get:function(){return iR.MessageReader}});Object.defineProperty(q,"AbstractMessageReader",{enumerable:!0,get:function(){return iR.AbstractMessageReader}});Object.defineProperty(q,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return iR.ReadableStreamMessageReader}});var oR=dP();Object.defineProperty(q,"MessageWriter",{enumerable:!0,get:function(){return oR.MessageWriter}});Object.defineProperty(q,"AbstractMessageWriter",{enumerable:!0,get:function(){return oR.AbstractMessageWriter}});Object.defineProperty(q,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return oR.WriteableStreamMessageWriter}});var az=pP();Object.defineProperty(q,"AbstractMessageBuffer",{enumerable:!0,get:function(){return az.AbstractMessageBuffer}});var Or=RP();Object.defineProperty(q,"ConnectionStrategy",{enumerable:!0,get:function(){return Or.ConnectionStrategy}});Object.defineProperty(q,"ConnectionOptions",{enumerable:!0,get:function(){return Or.ConnectionOptions}});Object.defineProperty(q,"NullLogger",{enumerable:!0,get:function(){return Or.NullLogger}});Object.defineProperty(q,"createMessageConnection",{enumerable:!0,get:function(){return Or.createMessageConnection}});Object.defineProperty(q,"ProgressToken",{enumerable:!0,get:function(){return Or.ProgressToken}});Object.defineProperty(q,"ProgressType",{enumerable:!0,get:function(){return Or.ProgressType}});Object.defineProperty(q,"Trace",{enumerable:!0,get:function(){return Or.Trace}});Object.defineProperty(q,"TraceValues",{enumerable:!0,get:function(){return Or.TraceValues}});Object.defineProperty(q,"TraceFormat",{enumerable:!0,get:function(){return Or.TraceFormat}});Object.defineProperty(q,"SetTraceNotification",{enumerable:!0,get:function(){return Or.SetTraceNotification}});Object.defineProperty(q,"LogTraceNotification",{enumerable:!0,get:function(){return Or.LogTraceNotification}});Object.defineProperty(q,"ConnectionErrors",{enumerable:!0,get:function(){return Or.ConnectionErrors}});Object.defineProperty(q,"ConnectionError",{enumerable:!0,get:function(){return Or.ConnectionError}});Object.defineProperty(q,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Or.CancellationReceiverStrategy}});Object.defineProperty(q,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Or.CancellationSenderStrategy}});Object.defineProperty(q,"CancellationStrategy",{enumerable:!0,get:function(){return Or.CancellationStrategy}});Object.defineProperty(q,"MessageStrategy",{enumerable:!0,get:function(){return Or.MessageStrategy}});var cz=cs();q.RAL=cz.default});var kP=$(uR=>{"use strict";Object.defineProperty(uR,"__esModule",{value:!0});var Ki=$m(),qm=class t extends Ki.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};qm.emptyBuffer=new Uint8Array(0);var sR=class{constructor(e){this.socket=e,this._onData=new Ki.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Ki.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Ki.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Ki.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Ki.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},aR=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Ki.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Ki.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Ki.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},uz=new TextEncoder,SP=Object.freeze({messageBuffer:Object.freeze({create:t=>new qm(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(uz.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new sR(t),asWritableStream:t=>new aR(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function cR(){return SP}(function(t){function e(){Ki.RAL.install(SP)}t.install=e})(cR||(cR={}));uR.default=cR});var Qs=$(Nn=>{"use strict";var lz=Nn&&Nn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),fz=Nn&&Nn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&lz(e,t,r)};Object.defineProperty(Nn,"__esModule",{value:!0});Nn.createMessageConnection=Nn.BrowserMessageWriter=Nn.BrowserMessageReader=void 0;var dz=kP();dz.default.install();var jc=$m();fz($m(),Nn);var lR=class extends jc.AbstractMessageReader{constructor(e){super(),this._onData=new jc.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};Nn.BrowserMessageReader=lR;var fR=class extends jc.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};Nn.BrowserMessageWriter=fR;function pz(t,e,r,n){return r===void 0&&(r=jc.NullLogger),jc.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,jc.createMessageConnection)(t,e,r,n)}Nn.createMessageConnection=pz});var dR=$((uve,CP)=>{"use strict";CP.exports=Qs()});var jm=$((wP,Fm)=>{(function(t){if(typeof Fm=="object"&&typeof Fm.exports=="object"){var e=t(Wl,wP);e!==void 0&&(Fm.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],t)})(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var r;(function(l){function g(v){return typeof v=="string"}l.is=g})(r=e.DocumentUri||(e.DocumentUri={}));var n;(function(l){function g(v){return typeof v=="string"}l.is=g})(n=e.URI||(e.URI={}));var i;(function(l){l.MIN_VALUE=-2147483648,l.MAX_VALUE=2147483647;function g(v){return typeof v=="number"&&l.MIN_VALUE<=v&&v<=l.MAX_VALUE}l.is=g})(i=e.integer||(e.integer={}));var o;(function(l){l.MIN_VALUE=0,l.MAX_VALUE=2147483647;function g(v){return typeof v=="number"&&l.MIN_VALUE<=v&&v<=l.MAX_VALUE}l.is=g})(o=e.uinteger||(e.uinteger={}));var s;(function(l){function g(d,u){return d===Number.MAX_VALUE&&(d=o.MAX_VALUE),u===Number.MAX_VALUE&&(u=o.MAX_VALUE),{line:d,character:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.uinteger(u.line)&&b.uinteger(u.character)}l.is=v})(s=e.Position||(e.Position={}));var a;(function(l){function g(d,u,x,w){if(b.uinteger(d)&&b.uinteger(u)&&b.uinteger(x)&&b.uinteger(w))return{start:s.create(d,u),end:s.create(x,w)};if(s.is(d)&&s.is(u))return{start:d,end:u};throw new Error("Range#create called with invalid arguments[".concat(d,", ").concat(u,", ").concat(x,", ").concat(w,"]"))}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&s.is(u.start)&&s.is(u.end)}l.is=v})(a=e.Range||(e.Range={}));var c;(function(l){function g(d,u){return{uri:d,range:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&(b.string(u.uri)||b.undefined(u.uri))}l.is=v})(c=e.Location||(e.Location={}));var f;(function(l){function g(d,u,x,w){return{targetUri:d,targetRange:u,targetSelectionRange:x,originSelectionRange:w}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.targetRange)&&b.string(u.targetUri)&&a.is(u.targetSelectionRange)&&(a.is(u.originSelectionRange)||b.undefined(u.originSelectionRange))}l.is=v})(f=e.LocationLink||(e.LocationLink={}));var p;(function(l){function g(d,u,x,w){return{red:d,green:u,blue:x,alpha:w}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.numberRange(u.red,0,1)&&b.numberRange(u.green,0,1)&&b.numberRange(u.blue,0,1)&&b.numberRange(u.alpha,0,1)}l.is=v})(p=e.Color||(e.Color={}));var m;(function(l){function g(d,u){return{range:d,color:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&p.is(u.color)}l.is=v})(m=e.ColorInformation||(e.ColorInformation={}));var T;(function(l){function g(d,u,x){return{label:d,textEdit:u,additionalTextEdits:x}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.string(u.label)&&(b.undefined(u.textEdit)||L.is(u))&&(b.undefined(u.additionalTextEdits)||b.typedArray(u.additionalTextEdits,L.is))}l.is=v})(T=e.ColorPresentation||(e.ColorPresentation={}));var _;(function(l){l.Comment="comment",l.Imports="imports",l.Region="region"})(_=e.FoldingRangeKind||(e.FoldingRangeKind={}));var E;(function(l){function g(d,u,x,w,G,xe){var he={startLine:d,endLine:u};return b.defined(x)&&(he.startCharacter=x),b.defined(w)&&(he.endCharacter=w),b.defined(G)&&(he.kind=G),b.defined(xe)&&(he.collapsedText=xe),he}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.uinteger(u.startLine)&&b.uinteger(u.startLine)&&(b.undefined(u.startCharacter)||b.uinteger(u.startCharacter))&&(b.undefined(u.endCharacter)||b.uinteger(u.endCharacter))&&(b.undefined(u.kind)||b.string(u.kind))}l.is=v})(E=e.FoldingRange||(e.FoldingRange={}));var N;(function(l){function g(d,u){return{location:d,message:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&c.is(u.location)&&b.string(u.message)}l.is=v})(N=e.DiagnosticRelatedInformation||(e.DiagnosticRelatedInformation={}));var I;(function(l){l.Error=1,l.Warning=2,l.Information=3,l.Hint=4})(I=e.DiagnosticSeverity||(e.DiagnosticSeverity={}));var A;(function(l){l.Unnecessary=1,l.Deprecated=2})(A=e.DiagnosticTag||(e.DiagnosticTag={}));var y;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&b.string(d.href)}l.is=g})(y=e.CodeDescription||(e.CodeDescription={}));var h;(function(l){function g(d,u,x,w,G,xe){var he={range:d,message:u};return b.defined(x)&&(he.severity=x),b.defined(w)&&(he.code=w),b.defined(G)&&(he.source=G),b.defined(xe)&&(he.relatedInformation=xe),he}l.create=g;function v(d){var u,x=d;return b.defined(x)&&a.is(x.range)&&b.string(x.message)&&(b.number(x.severity)||b.undefined(x.severity))&&(b.integer(x.code)||b.string(x.code)||b.undefined(x.code))&&(b.undefined(x.codeDescription)||b.string((u=x.codeDescription)===null||u===void 0?void 0:u.href))&&(b.string(x.source)||b.undefined(x.source))&&(b.undefined(x.relatedInformation)||b.typedArray(x.relatedInformation,N.is))}l.is=v})(h=e.Diagnostic||(e.Diagnostic={}));var C;(function(l){function g(d,u){for(var x=[],w=2;w<arguments.length;w++)x[w-2]=arguments[w];var G={title:d,command:u};return b.defined(x)&&x.length>0&&(G.arguments=x),G}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.title)&&b.string(u.command)}l.is=v})(C=e.Command||(e.Command={}));var L;(function(l){function g(x,w){return{range:x,newText:w}}l.replace=g;function v(x,w){return{range:{start:x,end:x},newText:w}}l.insert=v;function d(x){return{range:x,newText:""}}l.del=d;function u(x){var w=x;return b.objectLiteral(w)&&b.string(w.newText)&&a.is(w.range)}l.is=u})(L=e.TextEdit||(e.TextEdit={}));var J;(function(l){function g(d,u,x){var w={label:d};return u!==void 0&&(w.needsConfirmation=u),x!==void 0&&(w.description=x),w}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.string(u.label)&&(b.boolean(u.needsConfirmation)||u.needsConfirmation===void 0)&&(b.string(u.description)||u.description===void 0)}l.is=v})(J=e.ChangeAnnotation||(e.ChangeAnnotation={}));var fe;(function(l){function g(v){var d=v;return b.string(d)}l.is=g})(fe=e.ChangeAnnotationIdentifier||(e.ChangeAnnotationIdentifier={}));var Ae;(function(l){function g(x,w,G){return{range:x,newText:w,annotationId:G}}l.replace=g;function v(x,w,G){return{range:{start:x,end:x},newText:w,annotationId:G}}l.insert=v;function d(x,w){return{range:x,newText:"",annotationId:w}}l.del=d;function u(x){var w=x;return L.is(w)&&(J.is(w.annotationId)||fe.is(w.annotationId))}l.is=u})(Ae=e.AnnotatedTextEdit||(e.AnnotatedTextEdit={}));var Wt;(function(l){function g(d,u){return{textDocument:d,edits:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&W.is(u.textDocument)&&Array.isArray(u.edits)}l.is=v})(Wt=e.TextDocumentEdit||(e.TextDocumentEdit={}));var Xe;(function(l){function g(d,u,x){var w={kind:"create",uri:d};return u!==void 0&&(u.overwrite!==void 0||u.ignoreIfExists!==void 0)&&(w.options=u),x!==void 0&&(w.annotationId=x),w}l.create=g;function v(d){var u=d;return u&&u.kind==="create"&&b.string(u.uri)&&(u.options===void 0||(u.options.overwrite===void 0||b.boolean(u.options.overwrite))&&(u.options.ignoreIfExists===void 0||b.boolean(u.options.ignoreIfExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(Xe=e.CreateFile||(e.CreateFile={}));var Ye;(function(l){function g(d,u,x,w){var G={kind:"rename",oldUri:d,newUri:u};return x!==void 0&&(x.overwrite!==void 0||x.ignoreIfExists!==void 0)&&(G.options=x),w!==void 0&&(G.annotationId=w),G}l.create=g;function v(d){var u=d;return u&&u.kind==="rename"&&b.string(u.oldUri)&&b.string(u.newUri)&&(u.options===void 0||(u.options.overwrite===void 0||b.boolean(u.options.overwrite))&&(u.options.ignoreIfExists===void 0||b.boolean(u.options.ignoreIfExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(Ye=e.RenameFile||(e.RenameFile={}));var V;(function(l){function g(d,u,x){var w={kind:"delete",uri:d};return u!==void 0&&(u.recursive!==void 0||u.ignoreIfNotExists!==void 0)&&(w.options=u),x!==void 0&&(w.annotationId=x),w}l.create=g;function v(d){var u=d;return u&&u.kind==="delete"&&b.string(u.uri)&&(u.options===void 0||(u.options.recursive===void 0||b.boolean(u.options.recursive))&&(u.options.ignoreIfNotExists===void 0||b.boolean(u.options.ignoreIfNotExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(V=e.DeleteFile||(e.DeleteFile={}));var it;(function(l){function g(v){var d=v;return d&&(d.changes!==void 0||d.documentChanges!==void 0)&&(d.documentChanges===void 0||d.documentChanges.every(function(u){return b.string(u.kind)?Xe.is(u)||Ye.is(u)||V.is(u):Wt.is(u)}))}l.is=g})(it=e.WorkspaceEdit||(e.WorkspaceEdit={}));var Tt=function(){function l(g,v){this.edits=g,this.changeAnnotations=v}return l.prototype.insert=function(g,v,d){var u,x;if(d===void 0?u=L.insert(g,v):fe.is(d)?(x=d,u=Ae.insert(g,v,d)):(this.assertChangeAnnotations(this.changeAnnotations),x=this.changeAnnotations.manage(d),u=Ae.insert(g,v,x)),this.edits.push(u),x!==void 0)return x},l.prototype.replace=function(g,v,d){var u,x;if(d===void 0?u=L.replace(g,v):fe.is(d)?(x=d,u=Ae.replace(g,v,d)):(this.assertChangeAnnotations(this.changeAnnotations),x=this.changeAnnotations.manage(d),u=Ae.replace(g,v,x)),this.edits.push(u),x!==void 0)return x},l.prototype.delete=function(g,v){var d,u;if(v===void 0?d=L.del(g):fe.is(v)?(u=v,d=Ae.del(g,v)):(this.assertChangeAnnotations(this.changeAnnotations),u=this.changeAnnotations.manage(v),d=Ae.del(g,u)),this.edits.push(d),u!==void 0)return u},l.prototype.add=function(g){this.edits.push(g)},l.prototype.all=function(){return this.edits},l.prototype.clear=function(){this.edits.splice(0,this.edits.length)},l.prototype.assertChangeAnnotations=function(g){if(g===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},l}(),ur=function(){function l(g){this._annotations=g===void 0?Object.create(null):g,this._counter=0,this._size=0}return l.prototype.all=function(){return this._annotations},Object.defineProperty(l.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),l.prototype.manage=function(g,v){var d;if(fe.is(g)?d=g:(d=this.nextId(),v=g),this._annotations[d]!==void 0)throw new Error("Id ".concat(d," is already in use."));if(v===void 0)throw new Error("No annotation provided for id ".concat(d));return this._annotations[d]=v,this._size++,d},l.prototype.nextId=function(){return this._counter++,this._counter.toString()},l}(),j=function(){function l(g){var v=this;this._textEditChanges=Object.create(null),g!==void 0?(this._workspaceEdit=g,g.documentChanges?(this._changeAnnotations=new ur(g.changeAnnotations),g.changeAnnotations=this._changeAnnotations.all(),g.documentChanges.forEach(function(d){if(Wt.is(d)){var u=new Tt(d.edits,v._changeAnnotations);v._textEditChanges[d.textDocument.uri]=u}})):g.changes&&Object.keys(g.changes).forEach(function(d){var u=new Tt(g.changes[d]);v._textEditChanges[d]=u})):this._workspaceEdit={}}return Object.defineProperty(l.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),l.prototype.getTextEditChange=function(g){if(W.is(g)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var v={uri:g.uri,version:g.version},d=this._textEditChanges[v.uri];if(!d){var u=[],x={textDocument:v,edits:u};this._workspaceEdit.documentChanges.push(x),d=new Tt(u,this._changeAnnotations),this._textEditChanges[v.uri]=d}return d}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var d=this._textEditChanges[g];if(!d){var u=[];this._workspaceEdit.changes[g]=u,d=new Tt(u),this._textEditChanges[g]=d}return d}},l.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ur,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},l.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},l.prototype.createFile=function(g,v,d){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var u;J.is(v)||fe.is(v)?u=v:d=v;var x,w;if(u===void 0?x=Xe.create(g,d):(w=fe.is(u)?u:this._changeAnnotations.manage(u),x=Xe.create(g,d,w)),this._workspaceEdit.documentChanges.push(x),w!==void 0)return w},l.prototype.renameFile=function(g,v,d,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var x;J.is(d)||fe.is(d)?x=d:u=d;var w,G;if(x===void 0?w=Ye.create(g,v,u):(G=fe.is(x)?x:this._changeAnnotations.manage(x),w=Ye.create(g,v,u,G)),this._workspaceEdit.documentChanges.push(w),G!==void 0)return G},l.prototype.deleteFile=function(g,v,d){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var u;J.is(v)||fe.is(v)?u=v:d=v;var x,w;if(u===void 0?x=V.create(g,d):(w=fe.is(u)?u:this._changeAnnotations.manage(u),x=V.create(g,d,w)),this._workspaceEdit.documentChanges.push(x),w!==void 0)return w},l}();e.WorkspaceChange=j;var M;(function(l){function g(d){return{uri:d}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)}l.is=v})(M=e.TextDocumentIdentifier||(e.TextDocumentIdentifier={}));var U;(function(l){function g(d,u){return{uri:d,version:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&b.integer(u.version)}l.is=v})(U=e.VersionedTextDocumentIdentifier||(e.VersionedTextDocumentIdentifier={}));var W;(function(l){function g(d,u){return{uri:d,version:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&(u.version===null||b.integer(u.version))}l.is=v})(W=e.OptionalVersionedTextDocumentIdentifier||(e.OptionalVersionedTextDocumentIdentifier={}));var re;(function(l){function g(d,u,x,w){return{uri:d,languageId:u,version:x,text:w}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&b.string(u.languageId)&&b.integer(u.version)&&b.string(u.text)}l.is=v})(re=e.TextDocumentItem||(e.TextDocumentItem={}));var ve;(function(l){l.PlainText="plaintext",l.Markdown="markdown";function g(v){var d=v;return d===l.PlainText||d===l.Markdown}l.is=g})(ve=e.MarkupKind||(e.MarkupKind={}));var ne;(function(l){function g(v){var d=v;return b.objectLiteral(v)&&ve.is(d.kind)&&b.string(d.value)}l.is=g})(ne=e.MarkupContent||(e.MarkupContent={}));var Yt;(function(l){l.Text=1,l.Method=2,l.Function=3,l.Constructor=4,l.Field=5,l.Variable=6,l.Class=7,l.Interface=8,l.Module=9,l.Property=10,l.Unit=11,l.Value=12,l.Enum=13,l.Keyword=14,l.Snippet=15,l.Color=16,l.File=17,l.Reference=18,l.Folder=19,l.EnumMember=20,l.Constant=21,l.Struct=22,l.Event=23,l.Operator=24,l.TypeParameter=25})(Yt=e.CompletionItemKind||(e.CompletionItemKind={}));var Rt;(function(l){l.PlainText=1,l.Snippet=2})(Rt=e.InsertTextFormat||(e.InsertTextFormat={}));var Ge;(function(l){l.Deprecated=1})(Ge=e.CompletionItemTag||(e.CompletionItemTag={}));var Xr;(function(l){function g(d,u,x){return{newText:d,insert:u,replace:x}}l.create=g;function v(d){var u=d;return u&&b.string(u.newText)&&a.is(u.insert)&&a.is(u.replace)}l.is=v})(Xr=e.InsertReplaceEdit||(e.InsertReplaceEdit={}));var He;(function(l){l.asIs=1,l.adjustIndentation=2})(He=e.InsertTextMode||(e.InsertTextMode={}));var Jt;(function(l){function g(v){var d=v;return d&&(b.string(d.detail)||d.detail===void 0)&&(b.string(d.description)||d.description===void 0)}l.is=g})(Jt=e.CompletionItemLabelDetails||(e.CompletionItemLabelDetails={}));var un;(function(l){function g(v){return{label:v}}l.create=g})(un=e.CompletionItem||(e.CompletionItem={}));var Kt;(function(l){function g(v,d){return{items:v||[],isIncomplete:!!d}}l.create=g})(Kt=e.CompletionList||(e.CompletionList={}));var ot;(function(l){function g(d){return d.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}l.fromPlainText=g;function v(d){var u=d;return b.string(u)||b.objectLiteral(u)&&b.string(u.language)&&b.string(u.value)}l.is=v})(ot=e.MarkedString||(e.MarkedString={}));var Et;(function(l){function g(v){var d=v;return!!d&&b.objectLiteral(d)&&(ne.is(d.contents)||ot.is(d.contents)||b.typedArray(d.contents,ot.is))&&(v.range===void 0||a.is(v.range))}l.is=g})(Et=e.Hover||(e.Hover={}));var Sr;(function(l){function g(v,d){return d?{label:v,documentation:d}:{label:v}}l.create=g})(Sr=e.ParameterInformation||(e.ParameterInformation={}));var yr;(function(l){function g(v,d){for(var u=[],x=2;x<arguments.length;x++)u[x-2]=arguments[x];var w={label:v};return b.defined(d)&&(w.documentation=d),b.defined(u)?w.parameters=u:w.parameters=[],w}l.create=g})(yr=e.SignatureInformation||(e.SignatureInformation={}));var ln;(function(l){l.Text=1,l.Read=2,l.Write=3})(ln=e.DocumentHighlightKind||(e.DocumentHighlightKind={}));var In;(function(l){function g(v,d){var u={range:v};return b.number(d)&&(u.kind=d),u}l.create=g})(In=e.DocumentHighlight||(e.DocumentHighlight={}));var Ji;(function(l){l.File=1,l.Module=2,l.Namespace=3,l.Package=4,l.Class=5,l.Method=6,l.Property=7,l.Field=8,l.Constructor=9,l.Enum=10,l.Interface=11,l.Function=12,l.Variable=13,l.Constant=14,l.String=15,l.Number=16,l.Boolean=17,l.Array=18,l.Object=19,l.Key=20,l.Null=21,l.EnumMember=22,l.Struct=23,l.Event=24,l.Operator=25,l.TypeParameter=26})(Ji=e.SymbolKind||(e.SymbolKind={}));var On;(function(l){l.Deprecated=1})(On=e.SymbolTag||(e.SymbolTag={}));var qr;(function(l){function g(v,d,u,x,w){var G={name:v,kind:d,location:{uri:x,range:u}};return w&&(G.containerName=w),G}l.create=g})(qr=e.SymbolInformation||(e.SymbolInformation={}));var Jn;(function(l){function g(v,d,u,x){return x!==void 0?{name:v,kind:d,location:{uri:u,range:x}}:{name:v,kind:d,location:{uri:u}}}l.create=g})(Jn=e.WorkspaceSymbol||(e.WorkspaceSymbol={}));var gs;(function(l){function g(d,u,x,w,G,xe){var he={name:d,detail:u,kind:x,range:w,selectionRange:G};return xe!==void 0&&(he.children=xe),he}l.create=g;function v(d){var u=d;return u&&b.string(u.name)&&b.number(u.kind)&&a.is(u.range)&&a.is(u.selectionRange)&&(u.detail===void 0||b.string(u.detail))&&(u.deprecated===void 0||b.boolean(u.deprecated))&&(u.children===void 0||Array.isArray(u.children))&&(u.tags===void 0||Array.isArray(u.tags))}l.is=v})(gs=e.DocumentSymbol||(e.DocumentSymbol={}));var Qn;(function(l){l.Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll"})(Qn=e.CodeActionKind||(e.CodeActionKind={}));var Fr;(function(l){l.Invoked=1,l.Automatic=2})(Fr=e.CodeActionTriggerKind||(e.CodeActionTriggerKind={}));var Qi;(function(l){function g(d,u,x){var w={diagnostics:d};return u!=null&&(w.only=u),x!=null&&(w.triggerKind=x),w}l.create=g;function v(d){var u=d;return b.defined(u)&&b.typedArray(u.diagnostics,h.is)&&(u.only===void 0||b.typedArray(u.only,b.string))&&(u.triggerKind===void 0||u.triggerKind===Fr.Invoked||u.triggerKind===Fr.Automatic)}l.is=v})(Qi=e.CodeActionContext||(e.CodeActionContext={}));var Si;(function(l){function g(d,u,x){var w={title:d},G=!0;return typeof u=="string"?(G=!1,w.kind=u):C.is(u)?w.command=u:w.edit=u,G&&x!==void 0&&(w.kind=x),w}l.create=g;function v(d){var u=d;return u&&b.string(u.title)&&(u.diagnostics===void 0||b.typedArray(u.diagnostics,h.is))&&(u.kind===void 0||b.string(u.kind))&&(u.edit!==void 0||u.command!==void 0)&&(u.command===void 0||C.is(u.command))&&(u.isPreferred===void 0||b.boolean(u.isPreferred))&&(u.edit===void 0||it.is(u.edit))}l.is=v})(Si=e.CodeAction||(e.CodeAction={}));var ki;(function(l){function g(d,u){var x={range:d};return b.defined(u)&&(x.data=u),x}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(u.range)&&(b.undefined(u.command)||C.is(u.command))}l.is=v})(ki=e.CodeLens||(e.CodeLens={}));var Rn;(function(l){function g(d,u){return{tabSize:d,insertSpaces:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.uinteger(u.tabSize)&&b.boolean(u.insertSpaces)}l.is=v})(Rn=e.FormattingOptions||(e.FormattingOptions={}));var D;(function(l){function g(d,u,x){return{range:d,target:u,data:x}}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(u.range)&&(b.undefined(u.target)||b.string(u.target))}l.is=v})(D=e.DocumentLink||(e.DocumentLink={}));var R;(function(l){function g(d,u){return{range:d,parent:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&(u.parent===void 0||l.is(u.parent))}l.is=v})(R=e.SelectionRange||(e.SelectionRange={}));var P;(function(l){l.namespace="namespace",l.type="type",l.class="class",l.enum="enum",l.interface="interface",l.struct="struct",l.typeParameter="typeParameter",l.parameter="parameter",l.variable="variable",l.property="property",l.enumMember="enumMember",l.event="event",l.function="function",l.method="method",l.macro="macro",l.keyword="keyword",l.modifier="modifier",l.comment="comment",l.string="string",l.number="number",l.regexp="regexp",l.operator="operator",l.decorator="decorator"})(P=e.SemanticTokenTypes||(e.SemanticTokenTypes={}));var O;(function(l){l.declaration="declaration",l.definition="definition",l.readonly="readonly",l.static="static",l.deprecated="deprecated",l.abstract="abstract",l.async="async",l.modification="modification",l.documentation="documentation",l.defaultLibrary="defaultLibrary"})(O=e.SemanticTokenModifiers||(e.SemanticTokenModifiers={}));var H;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&(d.resultId===void 0||typeof d.resultId=="string")&&Array.isArray(d.data)&&(d.data.length===0||typeof d.data[0]=="number")}l.is=g})(H=e.SemanticTokens||(e.SemanticTokens={}));var de;(function(l){function g(d,u){return{range:d,text:u}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&b.string(u.text)}l.is=v})(de=e.InlineValueText||(e.InlineValueText={}));var pe;(function(l){function g(d,u,x){return{range:d,variableName:u,caseSensitiveLookup:x}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&b.boolean(u.caseSensitiveLookup)&&(b.string(u.variableName)||u.variableName===void 0)}l.is=v})(pe=e.InlineValueVariableLookup||(e.InlineValueVariableLookup={}));var be;(function(l){function g(d,u){return{range:d,expression:u}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&(b.string(u.expression)||u.expression===void 0)}l.is=v})(be=e.InlineValueEvaluatableExpression||(e.InlineValueEvaluatableExpression={}));var ce;(function(l){function g(d,u){return{frameId:d,stoppedLocation:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(d.stoppedLocation)}l.is=v})(ce=e.InlineValueContext||(e.InlineValueContext={}));var ie;(function(l){l.Type=1,l.Parameter=2;function g(v){return v===1||v===2}l.is=g})(ie=e.InlayHintKind||(e.InlayHintKind={}));var se;(function(l){function g(d){return{value:d}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&(u.tooltip===void 0||b.string(u.tooltip)||ne.is(u.tooltip))&&(u.location===void 0||c.is(u.location))&&(u.command===void 0||C.is(u.command))}l.is=v})(se=e.InlayHintLabelPart||(e.InlayHintLabelPart={}));var me;(function(l){function g(d,u,x){var w={position:d,label:u};return x!==void 0&&(w.kind=x),w}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&s.is(u.position)&&(b.string(u.label)||b.typedArray(u.label,se.is))&&(u.kind===void 0||ie.is(u.kind))&&u.textEdits===void 0||b.typedArray(u.textEdits,L.is)&&(u.tooltip===void 0||b.string(u.tooltip)||ne.is(u.tooltip))&&(u.paddingLeft===void 0||b.boolean(u.paddingLeft))&&(u.paddingRight===void 0||b.boolean(u.paddingRight))}l.is=v})(me=e.InlayHint||(e.InlayHint={}));var Pe;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&n.is(d.uri)&&b.string(d.name)}l.is=g})(Pe=e.WorkspaceFolder||(e.WorkspaceFolder={})),e.EOL=[`
|
|
62
|
+
`,`\r
|
|
63
|
+
`,"\r"];var ct;(function(l){function g(x,w,G,xe){return new Pt(x,w,G,xe)}l.create=g;function v(x){var w=x;return!!(b.defined(w)&&b.string(w.uri)&&(b.undefined(w.languageId)||b.string(w.languageId))&&b.uinteger(w.lineCount)&&b.func(w.getText)&&b.func(w.positionAt)&&b.func(w.offsetAt))}l.is=v;function d(x,w){for(var G=x.getText(),xe=u(w,function(bn,Zi){var Xc=bn.range.start.line-Zi.range.start.line;return Xc===0?bn.range.start.character-Zi.range.start.character:Xc}),he=G.length,At=xe.length-1;At>=0;At--){var Nt=xe[At],lr=x.offsetAt(Nt.range.start),Q=x.offsetAt(Nt.range.end);if(Q<=he)G=G.substring(0,lr)+Nt.newText+G.substring(Q,G.length);else throw new Error("Overlapping edit");he=lr}return G}l.applyEdits=d;function u(x,w){if(x.length<=1)return x;var G=x.length/2|0,xe=x.slice(0,G),he=x.slice(G);u(xe,w),u(he,w);for(var At=0,Nt=0,lr=0;At<xe.length&&Nt<he.length;){var Q=w(xe[At],he[Nt]);Q<=0?x[lr++]=xe[At++]:x[lr++]=he[Nt++]}for(;At<xe.length;)x[lr++]=xe[At++];for(;Nt<he.length;)x[lr++]=he[Nt++];return x}})(ct=e.TextDocument||(e.TextDocument={}));var Pt=function(){function l(g,v,d,u){this._uri=g,this._languageId=v,this._version=d,this._content=u,this._lineOffsets=void 0}return Object.defineProperty(l.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(l.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(l.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),l.prototype.getText=function(g){if(g){var v=this.offsetAt(g.start),d=this.offsetAt(g.end);return this._content.substring(v,d)}return this._content},l.prototype.update=function(g,v){this._content=g.text,this._version=v,this._lineOffsets=void 0},l.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var g=[],v=this._content,d=!0,u=0;u<v.length;u++){d&&(g.push(u),d=!1);var x=v.charAt(u);d=x==="\r"||x===`
|
|
64
|
+
`,x==="\r"&&u+1<v.length&&v.charAt(u+1)===`
|
|
65
|
+
`&&u++}d&&v.length>0&&g.push(v.length),this._lineOffsets=g}return this._lineOffsets},l.prototype.positionAt=function(g){g=Math.max(Math.min(g,this._content.length),0);var v=this.getLineOffsets(),d=0,u=v.length;if(u===0)return s.create(0,g);for(;d<u;){var x=Math.floor((d+u)/2);v[x]>g?u=x:d=x+1}var w=d-1;return s.create(w,g-v[w])},l.prototype.offsetAt=function(g){var v=this.getLineOffsets();if(g.line>=v.length)return this._content.length;if(g.line<0)return 0;var d=v[g.line],u=g.line+1<v.length?v[g.line+1]:this._content.length;return Math.max(Math.min(d+g.character,u),d)},Object.defineProperty(l.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),l}(),b;(function(l){var g=Object.prototype.toString;function v(Q){return typeof Q<"u"}l.defined=v;function d(Q){return typeof Q>"u"}l.undefined=d;function u(Q){return Q===!0||Q===!1}l.boolean=u;function x(Q){return g.call(Q)==="[object String]"}l.string=x;function w(Q){return g.call(Q)==="[object Number]"}l.number=w;function G(Q,bn,Zi){return g.call(Q)==="[object Number]"&&bn<=Q&&Q<=Zi}l.numberRange=G;function xe(Q){return g.call(Q)==="[object Number]"&&-2147483648<=Q&&Q<=2147483647}l.integer=xe;function he(Q){return g.call(Q)==="[object Number]"&&0<=Q&&Q<=2147483647}l.uinteger=he;function At(Q){return g.call(Q)==="[object Function]"}l.func=At;function Nt(Q){return Q!==null&&typeof Q=="object"}l.objectLiteral=Nt;function lr(Q,bn){return Array.isArray(Q)&&Q.every(bn)}l.typedArray=lr})(b||(b={}))})});var jt=$(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.ProtocolNotificationType=an.ProtocolNotificationType0=an.ProtocolRequestType=an.ProtocolRequestType0=an.RegistrationType=an.MessageDirection=void 0;var Uc=Qs(),mz;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(mz=an.MessageDirection||(an.MessageDirection={}));var pR=class{constructor(e){this.method=e}};an.RegistrationType=pR;var mR=class extends Uc.RequestType0{constructor(e){super(e)}};an.ProtocolRequestType0=mR;var hR=class extends Uc.RequestType{constructor(e){super(e,Uc.ParameterStructures.byName)}};an.ProtocolRequestType=hR;var gR=class extends Uc.NotificationType0{constructor(e){super(e)}};an.ProtocolNotificationType0=gR;var yR=class extends Uc.NotificationType{constructor(e){super(e,Uc.ParameterStructures.byName)}};an.ProtocolNotificationType=yR});var Um=$(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.objectLiteral=sr.typedArray=sr.stringArray=sr.array=sr.func=sr.error=sr.number=sr.string=sr.boolean=void 0;function hz(t){return t===!0||t===!1}sr.boolean=hz;function DP(t){return typeof t=="string"||t instanceof String}sr.string=DP;function gz(t){return typeof t=="number"||t instanceof Number}sr.number=gz;function yz(t){return t instanceof Error}sr.error=yz;function vz(t){return typeof t=="function"}sr.func=vz;function EP(t){return Array.isArray(t)}sr.array=EP;function Tz(t){return EP(t)&&t.every(e=>DP(e))}sr.stringArray=Tz;function Rz(t,e){return Array.isArray(t)&&t.every(e)}sr.typedArray=Rz;function bz(t){return t!==null&&typeof t=="object"}sr.objectLiteral=bz});var AP=$(kl=>{"use strict";Object.defineProperty(kl,"__esModule",{value:!0});kl.ImplementationRequest=void 0;var PP=jt(),xz;(function(t){t.method="textDocument/implementation",t.messageDirection=PP.MessageDirection.clientToServer,t.type=new PP.ProtocolRequestType(t.method)})(xz=kl.ImplementationRequest||(kl.ImplementationRequest={}))});var IP=$(Cl=>{"use strict";Object.defineProperty(Cl,"__esModule",{value:!0});Cl.TypeDefinitionRequest=void 0;var NP=jt(),_z;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=NP.MessageDirection.clientToServer,t.type=new NP.ProtocolRequestType(t.method)})(_z=Cl.TypeDefinitionRequest||(Cl.TypeDefinitionRequest={}))});var OP=$(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.DidChangeWorkspaceFoldersNotification=us.WorkspaceFoldersRequest=void 0;var Wm=jt(),Sz;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=Wm.MessageDirection.serverToClient,t.type=new Wm.ProtocolRequestType0(t.method)})(Sz=us.WorkspaceFoldersRequest||(us.WorkspaceFoldersRequest={}));var kz;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=Wm.MessageDirection.clientToServer,t.type=new Wm.ProtocolNotificationType(t.method)})(kz=us.DidChangeWorkspaceFoldersNotification||(us.DidChangeWorkspaceFoldersNotification={}))});var MP=$(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});wl.ConfigurationRequest=void 0;var LP=jt(),Cz;(function(t){t.method="workspace/configuration",t.messageDirection=LP.MessageDirection.serverToClient,t.type=new LP.ProtocolRequestType(t.method)})(Cz=wl.ConfigurationRequest||(wl.ConfigurationRequest={}))});var $P=$(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.ColorPresentationRequest=ls.DocumentColorRequest=void 0;var Hm=jt(),wz;(function(t){t.method="textDocument/documentColor",t.messageDirection=Hm.MessageDirection.clientToServer,t.type=new Hm.ProtocolRequestType(t.method)})(wz=ls.DocumentColorRequest||(ls.DocumentColorRequest={}));var Dz;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Hm.MessageDirection.clientToServer,t.type=new Hm.ProtocolRequestType(t.method)})(Dz=ls.ColorPresentationRequest||(ls.ColorPresentationRequest={}))});var FP=$(Dl=>{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});Dl.FoldingRangeRequest=void 0;var qP=jt(),Ez;(function(t){t.method="textDocument/foldingRange",t.messageDirection=qP.MessageDirection.clientToServer,t.type=new qP.ProtocolRequestType(t.method)})(Ez=Dl.FoldingRangeRequest||(Dl.FoldingRangeRequest={}))});var UP=$(El=>{"use strict";Object.defineProperty(El,"__esModule",{value:!0});El.DeclarationRequest=void 0;var jP=jt(),Pz;(function(t){t.method="textDocument/declaration",t.messageDirection=jP.MessageDirection.clientToServer,t.type=new jP.ProtocolRequestType(t.method)})(Pz=El.DeclarationRequest||(El.DeclarationRequest={}))});var HP=$(Pl=>{"use strict";Object.defineProperty(Pl,"__esModule",{value:!0});Pl.SelectionRangeRequest=void 0;var WP=jt(),Az;(function(t){t.method="textDocument/selectionRange",t.messageDirection=WP.MessageDirection.clientToServer,t.type=new WP.ProtocolRequestType(t.method)})(Az=Pl.SelectionRangeRequest||(Pl.SelectionRangeRequest={}))});var GP=$(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.WorkDoneProgressCancelNotification=vi.WorkDoneProgressCreateRequest=vi.WorkDoneProgress=void 0;var Nz=Qs(),Gm=jt(),Iz;(function(t){t.type=new Nz.ProgressType;function e(r){return r===t.type}t.is=e})(Iz=vi.WorkDoneProgress||(vi.WorkDoneProgress={}));var Oz;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Gm.MessageDirection.serverToClient,t.type=new Gm.ProtocolRequestType(t.method)})(Oz=vi.WorkDoneProgressCreateRequest||(vi.WorkDoneProgressCreateRequest={}));var Lz;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Gm.MessageDirection.clientToServer,t.type=new Gm.ProtocolNotificationType(t.method)})(Lz=vi.WorkDoneProgressCancelNotification||(vi.WorkDoneProgressCancelNotification={}))});var BP=$(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.CallHierarchyOutgoingCallsRequest=Ti.CallHierarchyIncomingCallsRequest=Ti.CallHierarchyPrepareRequest=void 0;var Wc=jt(),Mz;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Wc.MessageDirection.clientToServer,t.type=new Wc.ProtocolRequestType(t.method)})(Mz=Ti.CallHierarchyPrepareRequest||(Ti.CallHierarchyPrepareRequest={}));var $z;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Wc.MessageDirection.clientToServer,t.type=new Wc.ProtocolRequestType(t.method)})($z=Ti.CallHierarchyIncomingCallsRequest||(Ti.CallHierarchyIncomingCallsRequest={}));var qz;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Wc.MessageDirection.clientToServer,t.type=new Wc.ProtocolRequestType(t.method)})(qz=Ti.CallHierarchyOutgoingCallsRequest||(Ti.CallHierarchyOutgoingCallsRequest={}))});var KP=$(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.SemanticTokensRefreshRequest=ar.SemanticTokensRangeRequest=ar.SemanticTokensDeltaRequest=ar.SemanticTokensRequest=ar.SemanticTokensRegistrationType=ar.TokenFormat=void 0;var No=jt(),Fz;(function(t){t.Relative="relative"})(Fz=ar.TokenFormat||(ar.TokenFormat={}));var Bm;(function(t){t.method="textDocument/semanticTokens",t.type=new No.RegistrationType(t.method)})(Bm=ar.SemanticTokensRegistrationType||(ar.SemanticTokensRegistrationType={}));var jz;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method),t.registrationMethod=Bm.method})(jz=ar.SemanticTokensRequest||(ar.SemanticTokensRequest={}));var Uz;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method),t.registrationMethod=Bm.method})(Uz=ar.SemanticTokensDeltaRequest||(ar.SemanticTokensDeltaRequest={}));var Wz;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method),t.registrationMethod=Bm.method})(Wz=ar.SemanticTokensRangeRequest||(ar.SemanticTokensRangeRequest={}));var Hz;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=No.MessageDirection.serverToClient,t.type=new No.ProtocolRequestType0(t.method)})(Hz=ar.SemanticTokensRefreshRequest||(ar.SemanticTokensRefreshRequest={}))});var VP=$(Al=>{"use strict";Object.defineProperty(Al,"__esModule",{value:!0});Al.ShowDocumentRequest=void 0;var zP=jt(),Gz;(function(t){t.method="window/showDocument",t.messageDirection=zP.MessageDirection.serverToClient,t.type=new zP.ProtocolRequestType(t.method)})(Gz=Al.ShowDocumentRequest||(Al.ShowDocumentRequest={}))});var YP=$(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});Nl.LinkedEditingRangeRequest=void 0;var XP=jt(),Bz;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=XP.MessageDirection.clientToServer,t.type=new XP.ProtocolRequestType(t.method)})(Bz=Nl.LinkedEditingRangeRequest||(Nl.LinkedEditingRangeRequest={}))});var JP=$(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.WillDeleteFilesRequest=Ut.DidDeleteFilesNotification=Ut.DidRenameFilesNotification=Ut.WillRenameFilesRequest=Ut.DidCreateFilesNotification=Ut.WillCreateFilesRequest=Ut.FileOperationPatternKind=void 0;var zn=jt(),Kz;(function(t){t.file="file",t.folder="folder"})(Kz=Ut.FileOperationPatternKind||(Ut.FileOperationPatternKind={}));var zz;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method)})(zz=Ut.WillCreateFilesRequest||(Ut.WillCreateFilesRequest={}));var Vz;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolNotificationType(t.method)})(Vz=Ut.DidCreateFilesNotification||(Ut.DidCreateFilesNotification={}));var Xz;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method)})(Xz=Ut.WillRenameFilesRequest||(Ut.WillRenameFilesRequest={}));var Yz;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolNotificationType(t.method)})(Yz=Ut.DidRenameFilesNotification||(Ut.DidRenameFilesNotification={}));var Jz;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolNotificationType(t.method)})(Jz=Ut.DidDeleteFilesNotification||(Ut.DidDeleteFilesNotification={}));var Qz;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method)})(Qz=Ut.WillDeleteFilesRequest||(Ut.WillDeleteFilesRequest={}))});var ZP=$(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.MonikerRequest=Ri.MonikerKind=Ri.UniquenessLevel=void 0;var QP=jt(),Zz;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(Zz=Ri.UniquenessLevel||(Ri.UniquenessLevel={}));var e2;(function(t){t.$import="import",t.$export="export",t.local="local"})(e2=Ri.MonikerKind||(Ri.MonikerKind={}));var t2;(function(t){t.method="textDocument/moniker",t.messageDirection=QP.MessageDirection.clientToServer,t.type=new QP.ProtocolRequestType(t.method)})(t2=Ri.MonikerRequest||(Ri.MonikerRequest={}))});var eA=$(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.TypeHierarchySubtypesRequest=bi.TypeHierarchySupertypesRequest=bi.TypeHierarchyPrepareRequest=void 0;var Hc=jt(),r2;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Hc.MessageDirection.clientToServer,t.type=new Hc.ProtocolRequestType(t.method)})(r2=bi.TypeHierarchyPrepareRequest||(bi.TypeHierarchyPrepareRequest={}));var n2;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Hc.MessageDirection.clientToServer,t.type=new Hc.ProtocolRequestType(t.method)})(n2=bi.TypeHierarchySupertypesRequest||(bi.TypeHierarchySupertypesRequest={}));var i2;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Hc.MessageDirection.clientToServer,t.type=new Hc.ProtocolRequestType(t.method)})(i2=bi.TypeHierarchySubtypesRequest||(bi.TypeHierarchySubtypesRequest={}))});var tA=$(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.InlineValueRefreshRequest=fs.InlineValueRequest=void 0;var Km=jt(),o2;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Km.MessageDirection.clientToServer,t.type=new Km.ProtocolRequestType(t.method)})(o2=fs.InlineValueRequest||(fs.InlineValueRequest={}));var s2;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Km.MessageDirection.serverToClient,t.type=new Km.ProtocolRequestType0(t.method)})(s2=fs.InlineValueRefreshRequest||(fs.InlineValueRefreshRequest={}))});var rA=$(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.InlayHintRefreshRequest=xi.InlayHintResolveRequest=xi.InlayHintRequest=void 0;var Gc=jt(),a2;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Gc.MessageDirection.clientToServer,t.type=new Gc.ProtocolRequestType(t.method)})(a2=xi.InlayHintRequest||(xi.InlayHintRequest={}));var c2;(function(t){t.method="inlayHint/resolve",t.messageDirection=Gc.MessageDirection.clientToServer,t.type=new Gc.ProtocolRequestType(t.method)})(c2=xi.InlayHintResolveRequest||(xi.InlayHintResolveRequest={}));var u2;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Gc.MessageDirection.serverToClient,t.type=new Gc.ProtocolRequestType0(t.method)})(u2=xi.InlayHintRefreshRequest||(xi.InlayHintRefreshRequest={}))});var iA=$(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.DiagnosticRefreshRequest=Lr.WorkspaceDiagnosticRequest=Lr.DocumentDiagnosticRequest=Lr.DocumentDiagnosticReportKind=Lr.DiagnosticServerCancellationData=void 0;var nA=Qs(),l2=Um(),Bc=jt(),f2;(function(t){function e(r){let n=r;return n&&l2.boolean(n.retriggerRequest)}t.is=e})(f2=Lr.DiagnosticServerCancellationData||(Lr.DiagnosticServerCancellationData={}));var d2;(function(t){t.Full="full",t.Unchanged="unchanged"})(d2=Lr.DocumentDiagnosticReportKind||(Lr.DocumentDiagnosticReportKind={}));var p2;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Bc.MessageDirection.clientToServer,t.type=new Bc.ProtocolRequestType(t.method),t.partialResult=new nA.ProgressType})(p2=Lr.DocumentDiagnosticRequest||(Lr.DocumentDiagnosticRequest={}));var m2;(function(t){t.method="workspace/diagnostic",t.messageDirection=Bc.MessageDirection.clientToServer,t.type=new Bc.ProtocolRequestType(t.method),t.partialResult=new nA.ProgressType})(m2=Lr.WorkspaceDiagnosticRequest||(Lr.WorkspaceDiagnosticRequest={}));var h2;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Bc.MessageDirection.serverToClient,t.type=new Bc.ProtocolRequestType0(t.method)})(h2=Lr.DiagnosticRefreshRequest||(Lr.DiagnosticRefreshRequest={}))});var aA=$(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.DidCloseNotebookDocumentNotification=We.DidSaveNotebookDocumentNotification=We.DidChangeNotebookDocumentNotification=We.NotebookCellArrayChange=We.DidOpenNotebookDocumentNotification=We.NotebookDocumentSyncRegistrationType=We.NotebookDocument=We.NotebookCell=We.ExecutionSummary=We.NotebookCellKind=void 0;var Il=jm(),_i=Um(),zi=jt(),oA;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(oA=We.NotebookCellKind||(We.NotebookCellKind={}));var sA;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return _i.objectLiteral(o)&&Il.uinteger.is(o.executionOrder)&&(o.success===void 0||_i.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(sA=We.ExecutionSummary||(We.ExecutionSummary={}));var vR;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return _i.objectLiteral(s)&&oA.is(s.kind)&&Il.DocumentUri.is(s.document)&&(s.metadata===void 0||_i.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!sA.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let f=0;f<o.length;f++)if(!i(o[f],s[f]))return!1}if(_i.objectLiteral(o)&&_i.objectLiteral(s)){let f=Object.keys(o),p=Object.keys(s);if(f.length!==p.length||(f.sort(),p.sort(),!i(f,p)))return!1;for(let m=0;m<f.length;m++){let T=f[m];if(!i(o[T],s[T]))return!1}}return!0}})(vR=We.NotebookCell||(We.NotebookCell={}));var g2;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return _i.objectLiteral(i)&&_i.string(i.uri)&&Il.integer.is(i.version)&&_i.typedArray(i.cells,vR.is)}t.is=r})(g2=We.NotebookDocument||(We.NotebookDocument={}));var Ol;(function(t){t.method="notebookDocument/sync",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.RegistrationType(t.method)})(Ol=We.NotebookDocumentSyncRegistrationType||(We.NotebookDocumentSyncRegistrationType={}));var y2;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.ProtocolNotificationType(t.method),t.registrationMethod=Ol.method})(y2=We.DidOpenNotebookDocumentNotification||(We.DidOpenNotebookDocumentNotification={}));var v2;(function(t){function e(n){let i=n;return _i.objectLiteral(i)&&Il.uinteger.is(i.start)&&Il.uinteger.is(i.deleteCount)&&(i.cells===void 0||_i.typedArray(i.cells,vR.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(v2=We.NotebookCellArrayChange||(We.NotebookCellArrayChange={}));var T2;(function(t){t.method="notebookDocument/didChange",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.ProtocolNotificationType(t.method),t.registrationMethod=Ol.method})(T2=We.DidChangeNotebookDocumentNotification||(We.DidChangeNotebookDocumentNotification={}));var R2;(function(t){t.method="notebookDocument/didSave",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.ProtocolNotificationType(t.method),t.registrationMethod=Ol.method})(R2=We.DidSaveNotebookDocumentNotification||(We.DidSaveNotebookDocumentNotification={}));var b2;(function(t){t.method="notebookDocument/didClose",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.ProtocolNotificationType(t.method),t.registrationMethod=Ol.method})(b2=We.DidCloseNotebookDocumentNotification||(We.DidCloseNotebookDocumentNotification={}))});var gA=$(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.WorkspaceSymbolRequest=k.CodeActionResolveRequest=k.CodeActionRequest=k.DocumentSymbolRequest=k.DocumentHighlightRequest=k.ReferencesRequest=k.DefinitionRequest=k.SignatureHelpRequest=k.SignatureHelpTriggerKind=k.HoverRequest=k.CompletionResolveRequest=k.CompletionRequest=k.CompletionTriggerKind=k.PublishDiagnosticsNotification=k.WatchKind=k.RelativePattern=k.FileChangeType=k.DidChangeWatchedFilesNotification=k.WillSaveTextDocumentWaitUntilRequest=k.WillSaveTextDocumentNotification=k.TextDocumentSaveReason=k.DidSaveTextDocumentNotification=k.DidCloseTextDocumentNotification=k.DidChangeTextDocumentNotification=k.TextDocumentContentChangeEvent=k.DidOpenTextDocumentNotification=k.TextDocumentSyncKind=k.TelemetryEventNotification=k.LogMessageNotification=k.ShowMessageRequest=k.ShowMessageNotification=k.MessageType=k.DidChangeConfigurationNotification=k.ExitNotification=k.ShutdownRequest=k.InitializedNotification=k.InitializeErrorCodes=k.InitializeRequest=k.WorkDoneProgressOptions=k.TextDocumentRegistrationOptions=k.StaticRegistrationOptions=k.PositionEncodingKind=k.FailureHandlingKind=k.ResourceOperationKind=k.UnregistrationRequest=k.RegistrationRequest=k.DocumentSelector=k.NotebookCellTextDocumentFilter=k.NotebookDocumentFilter=k.TextDocumentFilter=void 0;k.TypeHierarchySubtypesRequest=k.TypeHierarchyPrepareRequest=k.MonikerRequest=k.MonikerKind=k.UniquenessLevel=k.WillDeleteFilesRequest=k.DidDeleteFilesNotification=k.WillRenameFilesRequest=k.DidRenameFilesNotification=k.WillCreateFilesRequest=k.DidCreateFilesNotification=k.FileOperationPatternKind=k.LinkedEditingRangeRequest=k.ShowDocumentRequest=k.SemanticTokensRegistrationType=k.SemanticTokensRefreshRequest=k.SemanticTokensRangeRequest=k.SemanticTokensDeltaRequest=k.SemanticTokensRequest=k.TokenFormat=k.CallHierarchyPrepareRequest=k.CallHierarchyOutgoingCallsRequest=k.CallHierarchyIncomingCallsRequest=k.WorkDoneProgressCancelNotification=k.WorkDoneProgressCreateRequest=k.WorkDoneProgress=k.SelectionRangeRequest=k.DeclarationRequest=k.FoldingRangeRequest=k.ColorPresentationRequest=k.DocumentColorRequest=k.ConfigurationRequest=k.DidChangeWorkspaceFoldersNotification=k.WorkspaceFoldersRequest=k.TypeDefinitionRequest=k.ImplementationRequest=k.ApplyWorkspaceEditRequest=k.ExecuteCommandRequest=k.PrepareRenameRequest=k.RenameRequest=k.PrepareSupportDefaultBehavior=k.DocumentOnTypeFormattingRequest=k.DocumentRangeFormattingRequest=k.DocumentFormattingRequest=k.DocumentLinkResolveRequest=k.DocumentLinkRequest=k.CodeLensRefreshRequest=k.CodeLensResolveRequest=k.CodeLensRequest=k.WorkspaceSymbolResolveRequest=void 0;k.DidCloseNotebookDocumentNotification=k.DidSaveNotebookDocumentNotification=k.DidChangeNotebookDocumentNotification=k.NotebookCellArrayChange=k.DidOpenNotebookDocumentNotification=k.NotebookDocumentSyncRegistrationType=k.NotebookDocument=k.NotebookCell=k.ExecutionSummary=k.NotebookCellKind=k.DiagnosticRefreshRequest=k.WorkspaceDiagnosticRequest=k.DocumentDiagnosticRequest=k.DocumentDiagnosticReportKind=k.DiagnosticServerCancellationData=k.InlayHintRefreshRequest=k.InlayHintResolveRequest=k.InlayHintRequest=k.InlineValueRefreshRequest=k.InlineValueRequest=k.TypeHierarchySupertypesRequest=void 0;var K=jt(),cA=jm(),Mr=Um(),x2=AP();Object.defineProperty(k,"ImplementationRequest",{enumerable:!0,get:function(){return x2.ImplementationRequest}});var _2=IP();Object.defineProperty(k,"TypeDefinitionRequest",{enumerable:!0,get:function(){return _2.TypeDefinitionRequest}});var uA=OP();Object.defineProperty(k,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return uA.WorkspaceFoldersRequest}});Object.defineProperty(k,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return uA.DidChangeWorkspaceFoldersNotification}});var S2=MP();Object.defineProperty(k,"ConfigurationRequest",{enumerable:!0,get:function(){return S2.ConfigurationRequest}});var lA=$P();Object.defineProperty(k,"DocumentColorRequest",{enumerable:!0,get:function(){return lA.DocumentColorRequest}});Object.defineProperty(k,"ColorPresentationRequest",{enumerable:!0,get:function(){return lA.ColorPresentationRequest}});var k2=FP();Object.defineProperty(k,"FoldingRangeRequest",{enumerable:!0,get:function(){return k2.FoldingRangeRequest}});var C2=UP();Object.defineProperty(k,"DeclarationRequest",{enumerable:!0,get:function(){return C2.DeclarationRequest}});var w2=HP();Object.defineProperty(k,"SelectionRangeRequest",{enumerable:!0,get:function(){return w2.SelectionRangeRequest}});var TR=GP();Object.defineProperty(k,"WorkDoneProgress",{enumerable:!0,get:function(){return TR.WorkDoneProgress}});Object.defineProperty(k,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return TR.WorkDoneProgressCreateRequest}});Object.defineProperty(k,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return TR.WorkDoneProgressCancelNotification}});var RR=BP();Object.defineProperty(k,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return RR.CallHierarchyIncomingCallsRequest}});Object.defineProperty(k,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return RR.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(k,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return RR.CallHierarchyPrepareRequest}});var Kc=KP();Object.defineProperty(k,"TokenFormat",{enumerable:!0,get:function(){return Kc.TokenFormat}});Object.defineProperty(k,"SemanticTokensRequest",{enumerable:!0,get:function(){return Kc.SemanticTokensRequest}});Object.defineProperty(k,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Kc.SemanticTokensDeltaRequest}});Object.defineProperty(k,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Kc.SemanticTokensRangeRequest}});Object.defineProperty(k,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Kc.SemanticTokensRefreshRequest}});Object.defineProperty(k,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Kc.SemanticTokensRegistrationType}});var D2=VP();Object.defineProperty(k,"ShowDocumentRequest",{enumerable:!0,get:function(){return D2.ShowDocumentRequest}});var E2=YP();Object.defineProperty(k,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return E2.LinkedEditingRangeRequest}});var Zs=JP();Object.defineProperty(k,"FileOperationPatternKind",{enumerable:!0,get:function(){return Zs.FileOperationPatternKind}});Object.defineProperty(k,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Zs.DidCreateFilesNotification}});Object.defineProperty(k,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Zs.WillCreateFilesRequest}});Object.defineProperty(k,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Zs.DidRenameFilesNotification}});Object.defineProperty(k,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Zs.WillRenameFilesRequest}});Object.defineProperty(k,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Zs.DidDeleteFilesNotification}});Object.defineProperty(k,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Zs.WillDeleteFilesRequest}});var bR=ZP();Object.defineProperty(k,"UniquenessLevel",{enumerable:!0,get:function(){return bR.UniquenessLevel}});Object.defineProperty(k,"MonikerKind",{enumerable:!0,get:function(){return bR.MonikerKind}});Object.defineProperty(k,"MonikerRequest",{enumerable:!0,get:function(){return bR.MonikerRequest}});var xR=eA();Object.defineProperty(k,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return xR.TypeHierarchyPrepareRequest}});Object.defineProperty(k,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return xR.TypeHierarchySubtypesRequest}});Object.defineProperty(k,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return xR.TypeHierarchySupertypesRequest}});var fA=tA();Object.defineProperty(k,"InlineValueRequest",{enumerable:!0,get:function(){return fA.InlineValueRequest}});Object.defineProperty(k,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return fA.InlineValueRefreshRequest}});var _R=rA();Object.defineProperty(k,"InlayHintRequest",{enumerable:!0,get:function(){return _R.InlayHintRequest}});Object.defineProperty(k,"InlayHintResolveRequest",{enumerable:!0,get:function(){return _R.InlayHintResolveRequest}});Object.defineProperty(k,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return _R.InlayHintRefreshRequest}});var Ll=iA();Object.defineProperty(k,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return Ll.DiagnosticServerCancellationData}});Object.defineProperty(k,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return Ll.DocumentDiagnosticReportKind}});Object.defineProperty(k,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return Ll.DocumentDiagnosticRequest}});Object.defineProperty(k,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return Ll.WorkspaceDiagnosticRequest}});Object.defineProperty(k,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return Ll.DiagnosticRefreshRequest}});var Vi=aA();Object.defineProperty(k,"NotebookCellKind",{enumerable:!0,get:function(){return Vi.NotebookCellKind}});Object.defineProperty(k,"ExecutionSummary",{enumerable:!0,get:function(){return Vi.ExecutionSummary}});Object.defineProperty(k,"NotebookCell",{enumerable:!0,get:function(){return Vi.NotebookCell}});Object.defineProperty(k,"NotebookDocument",{enumerable:!0,get:function(){return Vi.NotebookDocument}});Object.defineProperty(k,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Vi.NotebookDocumentSyncRegistrationType}});Object.defineProperty(k,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Vi.DidOpenNotebookDocumentNotification}});Object.defineProperty(k,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Vi.NotebookCellArrayChange}});Object.defineProperty(k,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Vi.DidChangeNotebookDocumentNotification}});Object.defineProperty(k,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Vi.DidSaveNotebookDocumentNotification}});Object.defineProperty(k,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Vi.DidCloseNotebookDocumentNotification}});var dA;(function(t){function e(r){let n=r;return Mr.string(n.language)||Mr.string(n.scheme)||Mr.string(n.pattern)}t.is=e})(dA=k.TextDocumentFilter||(k.TextDocumentFilter={}));var pA;(function(t){function e(r){let n=r;return Mr.objectLiteral(n)&&(Mr.string(n.notebookType)||Mr.string(n.scheme)||Mr.string(n.pattern))}t.is=e})(pA=k.NotebookDocumentFilter||(k.NotebookDocumentFilter={}));var mA;(function(t){function e(r){let n=r;return Mr.objectLiteral(n)&&(Mr.string(n.notebook)||pA.is(n.notebook))&&(n.language===void 0||Mr.string(n.language))}t.is=e})(mA=k.NotebookCellTextDocumentFilter||(k.NotebookCellTextDocumentFilter={}));var hA;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Mr.string(n)&&!dA.is(n)&&!mA.is(n))return!1;return!0}t.is=e})(hA=k.DocumentSelector||(k.DocumentSelector={}));var P2;(function(t){t.method="client/registerCapability",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType(t.method)})(P2=k.RegistrationRequest||(k.RegistrationRequest={}));var A2;(function(t){t.method="client/unregisterCapability",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType(t.method)})(A2=k.UnregistrationRequest||(k.UnregistrationRequest={}));var N2;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(N2=k.ResourceOperationKind||(k.ResourceOperationKind={}));var I2;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(I2=k.FailureHandlingKind||(k.FailureHandlingKind={}));var O2;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(O2=k.PositionEncodingKind||(k.PositionEncodingKind={}));var L2;(function(t){function e(r){let n=r;return n&&Mr.string(n.id)&&n.id.length>0}t.hasId=e})(L2=k.StaticRegistrationOptions||(k.StaticRegistrationOptions={}));var M2;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||hA.is(n.documentSelector))}t.is=e})(M2=k.TextDocumentRegistrationOptions||(k.TextDocumentRegistrationOptions={}));var $2;(function(t){function e(n){let i=n;return Mr.objectLiteral(i)&&(i.workDoneProgress===void 0||Mr.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Mr.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})($2=k.WorkDoneProgressOptions||(k.WorkDoneProgressOptions={}));var q2;(function(t){t.method="initialize",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(q2=k.InitializeRequest||(k.InitializeRequest={}));var F2;(function(t){t.unknownProtocolVersion=1})(F2=k.InitializeErrorCodes||(k.InitializeErrorCodes={}));var j2;(function(t){t.method="initialized",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(j2=k.InitializedNotification||(k.InitializedNotification={}));var U2;(function(t){t.method="shutdown",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType0(t.method)})(U2=k.ShutdownRequest||(k.ShutdownRequest={}));var W2;(function(t){t.method="exit",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType0(t.method)})(W2=k.ExitNotification||(k.ExitNotification={}));var H2;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(H2=k.DidChangeConfigurationNotification||(k.DidChangeConfigurationNotification={}));var G2;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4})(G2=k.MessageType||(k.MessageType={}));var B2;(function(t){t.method="window/showMessage",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolNotificationType(t.method)})(B2=k.ShowMessageNotification||(k.ShowMessageNotification={}));var K2;(function(t){t.method="window/showMessageRequest",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType(t.method)})(K2=k.ShowMessageRequest||(k.ShowMessageRequest={}));var z2;(function(t){t.method="window/logMessage",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolNotificationType(t.method)})(z2=k.LogMessageNotification||(k.LogMessageNotification={}));var V2;(function(t){t.method="telemetry/event",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolNotificationType(t.method)})(V2=k.TelemetryEventNotification||(k.TelemetryEventNotification={}));var X2;(function(t){t.None=0,t.Full=1,t.Incremental=2})(X2=k.TextDocumentSyncKind||(k.TextDocumentSyncKind={}));var Y2;(function(t){t.method="textDocument/didOpen",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(Y2=k.DidOpenTextDocumentNotification||(k.DidOpenTextDocumentNotification={}));var J2;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(J2=k.TextDocumentContentChangeEvent||(k.TextDocumentContentChangeEvent={}));var Q2;(function(t){t.method="textDocument/didChange",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(Q2=k.DidChangeTextDocumentNotification||(k.DidChangeTextDocumentNotification={}));var Z2;(function(t){t.method="textDocument/didClose",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(Z2=k.DidCloseTextDocumentNotification||(k.DidCloseTextDocumentNotification={}));var eV;(function(t){t.method="textDocument/didSave",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(eV=k.DidSaveTextDocumentNotification||(k.DidSaveTextDocumentNotification={}));var tV;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(tV=k.TextDocumentSaveReason||(k.TextDocumentSaveReason={}));var rV;(function(t){t.method="textDocument/willSave",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(rV=k.WillSaveTextDocumentNotification||(k.WillSaveTextDocumentNotification={}));var nV;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(nV=k.WillSaveTextDocumentWaitUntilRequest||(k.WillSaveTextDocumentWaitUntilRequest={}));var iV;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(iV=k.DidChangeWatchedFilesNotification||(k.DidChangeWatchedFilesNotification={}));var oV;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(oV=k.FileChangeType||(k.FileChangeType={}));var sV;(function(t){function e(r){let n=r;return Mr.objectLiteral(n)&&(cA.URI.is(n.baseUri)||cA.WorkspaceFolder.is(n.baseUri))&&Mr.string(n.pattern)}t.is=e})(sV=k.RelativePattern||(k.RelativePattern={}));var aV;(function(t){t.Create=1,t.Change=2,t.Delete=4})(aV=k.WatchKind||(k.WatchKind={}));var cV;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolNotificationType(t.method)})(cV=k.PublishDiagnosticsNotification||(k.PublishDiagnosticsNotification={}));var uV;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(uV=k.CompletionTriggerKind||(k.CompletionTriggerKind={}));var lV;(function(t){t.method="textDocument/completion",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(lV=k.CompletionRequest||(k.CompletionRequest={}));var fV;(function(t){t.method="completionItem/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(fV=k.CompletionResolveRequest||(k.CompletionResolveRequest={}));var dV;(function(t){t.method="textDocument/hover",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(dV=k.HoverRequest||(k.HoverRequest={}));var pV;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(pV=k.SignatureHelpTriggerKind||(k.SignatureHelpTriggerKind={}));var mV;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(mV=k.SignatureHelpRequest||(k.SignatureHelpRequest={}));var hV;(function(t){t.method="textDocument/definition",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(hV=k.DefinitionRequest||(k.DefinitionRequest={}));var gV;(function(t){t.method="textDocument/references",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(gV=k.ReferencesRequest||(k.ReferencesRequest={}));var yV;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(yV=k.DocumentHighlightRequest||(k.DocumentHighlightRequest={}));var vV;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(vV=k.DocumentSymbolRequest||(k.DocumentSymbolRequest={}));var TV;(function(t){t.method="textDocument/codeAction",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(TV=k.CodeActionRequest||(k.CodeActionRequest={}));var RV;(function(t){t.method="codeAction/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(RV=k.CodeActionResolveRequest||(k.CodeActionResolveRequest={}));var bV;(function(t){t.method="workspace/symbol",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(bV=k.WorkspaceSymbolRequest||(k.WorkspaceSymbolRequest={}));var xV;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(xV=k.WorkspaceSymbolResolveRequest||(k.WorkspaceSymbolResolveRequest={}));var _V;(function(t){t.method="textDocument/codeLens",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(_V=k.CodeLensRequest||(k.CodeLensRequest={}));var SV;(function(t){t.method="codeLens/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(SV=k.CodeLensResolveRequest||(k.CodeLensResolveRequest={}));var kV;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType0(t.method)})(kV=k.CodeLensRefreshRequest||(k.CodeLensRefreshRequest={}));var CV;(function(t){t.method="textDocument/documentLink",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(CV=k.DocumentLinkRequest||(k.DocumentLinkRequest={}));var wV;(function(t){t.method="documentLink/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(wV=k.DocumentLinkResolveRequest||(k.DocumentLinkResolveRequest={}));var DV;(function(t){t.method="textDocument/formatting",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(DV=k.DocumentFormattingRequest||(k.DocumentFormattingRequest={}));var EV;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(EV=k.DocumentRangeFormattingRequest||(k.DocumentRangeFormattingRequest={}));var PV;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(PV=k.DocumentOnTypeFormattingRequest||(k.DocumentOnTypeFormattingRequest={}));var AV;(function(t){t.Identifier=1})(AV=k.PrepareSupportDefaultBehavior||(k.PrepareSupportDefaultBehavior={}));var NV;(function(t){t.method="textDocument/rename",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(NV=k.RenameRequest||(k.RenameRequest={}));var IV;(function(t){t.method="textDocument/prepareRename",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(IV=k.PrepareRenameRequest||(k.PrepareRenameRequest={}));var OV;(function(t){t.method="workspace/executeCommand",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(OV=k.ExecuteCommandRequest||(k.ExecuteCommandRequest={}));var LV;(function(t){t.method="workspace/applyEdit",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType("workspace/applyEdit")})(LV=k.ApplyWorkspaceEditRequest||(k.ApplyWorkspaceEditRequest={}))});var vA=$(zm=>{"use strict";Object.defineProperty(zm,"__esModule",{value:!0});zm.createProtocolConnection=void 0;var yA=Qs();function MV(t,e,r,n){return yA.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,yA.createMessageConnection)(t,e,r,n)}zm.createProtocolConnection=MV});var TA=$(cn=>{"use strict";var $V=cn&&cn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Vm=cn&&cn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&$V(e,t,r)};Object.defineProperty(cn,"__esModule",{value:!0});cn.LSPErrorCodes=cn.createProtocolConnection=void 0;Vm(Qs(),cn);Vm(jm(),cn);Vm(jt(),cn);Vm(gA(),cn);var qV=vA();Object.defineProperty(cn,"createProtocolConnection",{enumerable:!0,get:function(){return qV.createProtocolConnection}});var FV;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(FV=cn.LSPErrorCodes||(cn.LSPErrorCodes={}))});var gr=$(Xi=>{"use strict";var jV=Xi&&Xi.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),RA=Xi&&Xi.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&jV(e,t,r)};Object.defineProperty(Xi,"__esModule",{value:!0});Xi.createProtocolConnection=void 0;var UV=dR();RA(dR(),Xi);RA(TA(),Xi);function WV(t,e,r,n){return(0,UV.createMessageConnection)(t,e,r,n)}Xi.createProtocolConnection=WV});var kR=$(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.SemanticTokensBuilder=ds.SemanticTokensDiff=ds.SemanticTokensFeature=void 0;var Xm=gr(),HV=t=>class extends t{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(Xm.SemanticTokensRefreshRequest.type),on:e=>{let r=Xm.SemanticTokensRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onDelta:e=>{let r=Xm.SemanticTokensDeltaRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onRange:e=>{let r=Xm.SemanticTokensRangeRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};ds.SemanticTokensFeature=HV;var Ym=class{constructor(e,r){this.originalSequence=e,this.modifiedSequence=r}computeDiff(){let e=this.originalSequence.length,r=this.modifiedSequence.length,n=0;for(;n<r&&n<e&&this.originalSequence[n]===this.modifiedSequence[n];)n++;if(n<r&&n<e){let i=e-1,o=r-1;for(;i>=n&&o>=n&&this.originalSequence[i]===this.modifiedSequence[o];)i--,o--;(i<n||o<n)&&(i++,o++);let s=i-n+1,a=this.modifiedSequence.slice(n,o+1);return a.length===1&&a[0]===this.originalSequence[i]?[{start:n,deleteCount:s-1}]:[{start:n,deleteCount:s,data:a}]}else return n<r?[{start:n,deleteCount:0,data:this.modifiedSequence.slice(n)}]:n<e?[{start:n,deleteCount:e-n}]:[]}};ds.SemanticTokensDiff=Ym;var SR=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,r,n,i,o){let s=e,a=r;this._dataLen>0&&(s-=this._prevLine,s===0&&(a-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=a,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=o,this._prevLine=e,this._prevChar=r}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new Ym(this._prevData,this._data).computeDiff()}:this.build()}};ds.SemanticTokensBuilder=SR});var wR=$(Jm=>{"use strict";Object.defineProperty(Jm,"__esModule",{value:!0});Jm.TextDocuments=void 0;var ea=gr(),CR=class{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new ea.Emitter,this._onDidOpen=new ea.Emitter,this._onDidClose=new ea.Emitter,this._onDidSave=new ea.Emitter,this._onWillSave=new ea.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(e)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=ea.TextDocumentSyncKind.Incremental;let r=[];return r.push(e.onDidOpenTextDocument(n=>{let i=n.textDocument,o=this._configuration.create(i.uri,i.languageId,i.version,i.text);this._syncedDocuments.set(i.uri,o);let s=Object.freeze({document:o});this._onDidOpen.fire(s),this._onDidChangeContent.fire(s)})),r.push(e.onDidChangeTextDocument(n=>{let i=n.textDocument,o=n.contentChanges;if(o.length===0)return;let{version:s}=i;if(s==null)throw new Error(`Received document change event for ${i.uri} without valid version identifier`);let a=this._syncedDocuments.get(i.uri);a!==void 0&&(a=this._configuration.update(a,o,s),this._syncedDocuments.set(i.uri,a),this._onDidChangeContent.fire(Object.freeze({document:a})))})),r.push(e.onDidCloseTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&(this._syncedDocuments.delete(n.textDocument.uri),this._onDidClose.fire(Object.freeze({document:i})))})),r.push(e.onWillSaveTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&this._onWillSave.fire(Object.freeze({document:i,reason:n.reason}))})),r.push(e.onWillSaveTextDocumentWaitUntil((n,i)=>{let o=this._syncedDocuments.get(n.textDocument.uri);return o!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:o,reason:n.reason}),i):[]})),r.push(e.onDidSaveTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&this._onDidSave.fire(Object.freeze({document:i}))})),ea.Disposable.create(()=>{r.forEach(n=>n.dispose())})}};Jm.TextDocuments=CR});var ER=$(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.NotebookDocuments=zc.NotebookSyncFeature=void 0;var Vn=gr(),bA=wR(),GV=t=>class extends t{get synchronization(){return{onDidOpenNotebookDocument:e=>this.connection.onNotification(Vn.DidOpenNotebookDocumentNotification.type,r=>{e(r)}),onDidChangeNotebookDocument:e=>this.connection.onNotification(Vn.DidChangeNotebookDocumentNotification.type,r=>{e(r)}),onDidSaveNotebookDocument:e=>this.connection.onNotification(Vn.DidSaveNotebookDocumentNotification.type,r=>{e(r)}),onDidCloseNotebookDocument:e=>this.connection.onNotification(Vn.DidCloseNotebookDocumentNotification.type,r=>{e(r)})}}};zc.NotebookSyncFeature=GV;var Qm=class t{onDidOpenTextDocument(e){return this.openHandler=e,Vn.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(e){this.openHandler&&this.openHandler(e)}onDidChangeTextDocument(e){return this.changeHandler=e,Vn.Disposable.create(()=>{this.changeHandler=e})}changeTextDocument(e){this.changeHandler&&this.changeHandler(e)}onDidCloseTextDocument(e){return this.closeHandler=e,Vn.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(e){this.closeHandler&&this.closeHandler(e)}onWillSaveTextDocument(){return t.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return t.NULL_DISPOSE}onDidSaveTextDocument(){return t.NULL_DISPOSE}};Qm.NULL_DISPOSE=Object.freeze({dispose:()=>{}});var DR=class{constructor(e){e instanceof bA.TextDocuments?this._cellTextDocuments=e:this._cellTextDocuments=new bA.TextDocuments(e),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new Vn.Emitter,this._onDidChange=new Vn.Emitter,this._onDidSave=new Vn.Emitter,this._onDidClose=new Vn.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(e){return this._cellTextDocuments.get(e.document)}getNotebookDocument(e){return this.notebookDocuments.get(e)}getNotebookCell(e){let r=this.notebookCellMap.get(e);return r&&r[0]}findNotebookDocumentForCell(e){let r=typeof e=="string"?e:e.document,n=this.notebookCellMap.get(r);return n&&n[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(e){let r=new Qm,n=[];return n.push(this.cellTextDocuments.listen(r)),n.push(e.notebooks.synchronization.onDidOpenNotebookDocument(i=>{this.notebookDocuments.set(i.notebookDocument.uri,i.notebookDocument);for(let o of i.cellTextDocuments)r.openTextDocument({textDocument:o});this.updateCellMap(i.notebookDocument),this._onDidOpen.fire(i.notebookDocument)})),n.push(e.notebooks.synchronization.onDidChangeNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);if(o===void 0)return;o.version=i.notebookDocument.version;let s=o.metadata,a=!1,c=i.change;c.metadata!==void 0&&(a=!0,o.metadata=c.metadata);let f=[],p=[],m=[],T=[];if(c.cells!==void 0){let A=c.cells;if(A.structure!==void 0){let y=A.structure.array;if(o.cells.splice(y.start,y.deleteCount,...y.cells!==void 0?y.cells:[]),A.structure.didOpen!==void 0)for(let h of A.structure.didOpen)r.openTextDocument({textDocument:h}),f.push(h.uri);if(A.structure.didClose)for(let h of A.structure.didClose)r.closeTextDocument({textDocument:h}),p.push(h.uri)}if(A.data!==void 0){let y=new Map(A.data.map(h=>[h.document,h]));for(let h=0;h<=o.cells.length;h++){let C=y.get(o.cells[h].document);if(C!==void 0){let L=o.cells.splice(h,1,C);if(m.push({old:L[0],new:C}),y.delete(C.document),y.size===0)break}}}if(A.textContent!==void 0)for(let y of A.textContent)r.changeTextDocument({textDocument:y.document,contentChanges:y.changes}),T.push(y.document.uri)}this.updateCellMap(o);let _={notebookDocument:o};a&&(_.metadata={old:s,new:o.metadata});let E=[];for(let A of f)E.push(this.getNotebookCell(A));let N=[];for(let A of p)N.push(this.getNotebookCell(A));let I=[];for(let A of T)I.push(this.getNotebookCell(A));(E.length>0||N.length>0||m.length>0||I.length>0)&&(_.cells={added:E,removed:N,changed:{data:m,textContent:I}}),(_.metadata!==void 0||_.cells!==void 0)&&this._onDidChange.fire(_)})),n.push(e.notebooks.synchronization.onDidSaveNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);o!==void 0&&this._onDidSave.fire(o)})),n.push(e.notebooks.synchronization.onDidCloseNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);if(o!==void 0){this._onDidClose.fire(o);for(let s of i.cellTextDocuments)r.closeTextDocument({textDocument:s});this.notebookDocuments.delete(i.notebookDocument.uri);for(let s of o.cells)this.notebookCellMap.delete(s.document)}})),Vn.Disposable.create(()=>{n.forEach(i=>i.dispose())})}updateCellMap(e){for(let r of e.cells)this.notebookCellMap.set(r.document,[r,e])}};zc.NotebookDocuments=DR});var PR=$(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.thenable=cr.typedArray=cr.stringArray=cr.array=cr.func=cr.error=cr.number=cr.string=cr.boolean=void 0;function BV(t){return t===!0||t===!1}cr.boolean=BV;function xA(t){return typeof t=="string"||t instanceof String}cr.string=xA;function KV(t){return typeof t=="number"||t instanceof Number}cr.number=KV;function zV(t){return t instanceof Error}cr.error=zV;function _A(t){return typeof t=="function"}cr.func=_A;function SA(t){return Array.isArray(t)}cr.array=SA;function VV(t){return SA(t)&&t.every(e=>xA(e))}cr.stringArray=VV;function XV(t,e){return Array.isArray(t)&&t.every(e)}cr.typedArray=XV;function YV(t){return t&&_A(t.then)}cr.thenable=YV});var AR=$(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.generateUuid=Xn.parse=Xn.isUUID=Xn.v4=Xn.empty=void 0;var Ml=class{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}},$l=class t extends Ml{constructor(){super([t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return t._oneOf(t._chars)}};$l._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];$l._timeHighBits=["8","9","a","b"];Xn.empty=new Ml("00000000-0000-0000-0000-000000000000");function kA(){return new $l}Xn.v4=kA;var JV=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function CA(t){return JV.test(t)}Xn.isUUID=CA;function QV(t){if(!CA(t))throw new Error("invalid uuid");return new Ml(t)}Xn.parse=QV;function ZV(){return kA().asHex()}Xn.generateUuid=ZV});var wA=$(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.attachPartialResult=ms.ProgressFeature=ms.attachWorkDone=void 0;var ps=gr(),e3=AR(),ta=class t{constructor(e,r){this._connection=e,this._token=r,t.Instances.set(this._token,this)}begin(e,r,n,i){let o={kind:"begin",title:e,percentage:r,message:n,cancellable:i};this._connection.sendProgress(ps.WorkDoneProgress.type,this._token,o)}report(e,r){let n={kind:"report"};typeof e=="number"?(n.percentage=e,r!==void 0&&(n.message=r)):n.message=e,this._connection.sendProgress(ps.WorkDoneProgress.type,this._token,n)}done(){t.Instances.delete(this._token),this._connection.sendProgress(ps.WorkDoneProgress.type,this._token,{kind:"end"})}};ta.Instances=new Map;var Zm=class extends ta{constructor(e,r){super(e,r),this._source=new ps.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},ql=class{constructor(){}begin(){}report(){}done(){}},eh=class extends ql{constructor(){super(),this._source=new ps.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function t3(t,e){if(e===void 0||e.workDoneToken===void 0)return new ql;let r=e.workDoneToken;return delete e.workDoneToken,new ta(t,r)}ms.attachWorkDone=t3;var r3=t=>class extends t{constructor(){super(),this._progressSupported=!1}initialize(e){super.initialize(e),e?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(ps.WorkDoneProgressCancelNotification.type,r=>{let n=ta.Instances.get(r.token);(n instanceof Zm||n instanceof eh)&&n.cancel()}))}attachWorkDoneProgress(e){return e===void 0?new ql:new ta(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){let e=(0,e3.generateUuid)();return this.connection.sendRequest(ps.WorkDoneProgressCreateRequest.type,{token:e}).then(()=>new Zm(this.connection,e))}else return Promise.resolve(new eh)}};ms.ProgressFeature=r3;var NR;(function(t){t.type=new ps.ProgressType})(NR||(NR={}));var IR=class{constructor(e,r){this._connection=e,this._token=r}report(e){this._connection.sendProgress(NR.type,this._token,e)}};function n3(t,e){if(e===void 0||e.partialResultToken===void 0)return;let r=e.partialResultToken;return delete e.partialResultToken,new IR(t,r)}ms.attachPartialResult=n3});var DA=$(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.ConfigurationFeature=void 0;var i3=gr(),o3=PR(),s3=t=>class extends t{getConfiguration(e){return e?o3.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let r={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i3.ConfigurationRequest.type,r).then(n=>Array.isArray(n)?Array.isArray(e)?n:n[0]:Array.isArray(e)?[]:null)}};th.ConfigurationFeature=s3});var EA=$(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.WorkspaceFoldersFeature=void 0;var rh=gr(),a3=t=>class extends t{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(e){super.initialize(e);let r=e.workspace;r&&r.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new rh.Emitter,this.connection.onNotification(rh.DidChangeWorkspaceFoldersNotification.type,n=>{this._onDidChangeWorkspaceFolders.fire(n.event)}))}fillServerCapabilities(e){super.fillServerCapabilities(e);let r=e.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=r===!0||typeof r=="string"}getWorkspaceFolders(){return this.connection.sendRequest(rh.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(rh.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};nh.WorkspaceFoldersFeature=a3});var PA=$(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});ih.CallHierarchyFeature=void 0;var OR=gr(),c3=t=>class extends t{get callHierarchy(){return{onPrepare:e=>this.connection.onRequest(OR.CallHierarchyPrepareRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0)),onIncomingCalls:e=>{let r=OR.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onOutgoingCalls:e=>{let r=OR.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};ih.CallHierarchyFeature=c3});var AA=$(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.ShowDocumentFeature=void 0;var u3=gr(),l3=t=>class extends t{showDocument(e){return this.connection.sendRequest(u3.ShowDocumentRequest.type,e)}};oh.ShowDocumentFeature=l3});var NA=$(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.FileOperationsFeature=void 0;var Vc=gr(),f3=t=>class extends t{onDidCreateFiles(e){return this.connection.onNotification(Vc.DidCreateFilesNotification.type,r=>{e(r)})}onDidRenameFiles(e){return this.connection.onNotification(Vc.DidRenameFilesNotification.type,r=>{e(r)})}onDidDeleteFiles(e){return this.connection.onNotification(Vc.DidDeleteFilesNotification.type,r=>{e(r)})}onWillCreateFiles(e){return this.connection.onRequest(Vc.WillCreateFilesRequest.type,(r,n)=>e(r,n))}onWillRenameFiles(e){return this.connection.onRequest(Vc.WillRenameFilesRequest.type,(r,n)=>e(r,n))}onWillDeleteFiles(e){return this.connection.onRequest(Vc.WillDeleteFilesRequest.type,(r,n)=>e(r,n))}};sh.FileOperationsFeature=f3});var IA=$(ah=>{"use strict";Object.defineProperty(ah,"__esModule",{value:!0});ah.LinkedEditingRangeFeature=void 0;var d3=gr(),p3=t=>class extends t{onLinkedEditingRange(e){return this.connection.onRequest(d3.LinkedEditingRangeRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0))}};ah.LinkedEditingRangeFeature=p3});var OA=$(ch=>{"use strict";Object.defineProperty(ch,"__esModule",{value:!0});ch.TypeHierarchyFeature=void 0;var LR=gr(),m3=t=>class extends t{get typeHierarchy(){return{onPrepare:e=>this.connection.onRequest(LR.TypeHierarchyPrepareRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0)),onSupertypes:e=>{let r=LR.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onSubtypes:e=>{let r=LR.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};ch.TypeHierarchyFeature=m3});var MA=$(uh=>{"use strict";Object.defineProperty(uh,"__esModule",{value:!0});uh.InlineValueFeature=void 0;var LA=gr(),h3=t=>class extends t{get inlineValue(){return{refresh:()=>this.connection.sendRequest(LA.InlineValueRefreshRequest.type),on:e=>this.connection.onRequest(LA.InlineValueRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r)))}}};uh.InlineValueFeature=h3});var $A=$(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});lh.InlayHintFeature=void 0;var MR=gr(),g3=t=>class extends t{get inlayHint(){return{refresh:()=>this.connection.sendRequest(MR.InlayHintRefreshRequest.type),on:e=>this.connection.onRequest(MR.InlayHintRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r))),resolve:e=>this.connection.onRequest(MR.InlayHintResolveRequest.type,(r,n)=>e(r,n))}}};lh.InlayHintFeature=g3});var qA=$(fh=>{"use strict";Object.defineProperty(fh,"__esModule",{value:!0});fh.DiagnosticFeature=void 0;var Fl=gr(),y3=t=>class extends t{get diagnostics(){return{refresh:()=>this.connection.sendRequest(Fl.DiagnosticRefreshRequest.type),on:e=>this.connection.onRequest(Fl.DocumentDiagnosticRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(Fl.DocumentDiagnosticRequest.partialResult,r))),onWorkspace:e=>this.connection.onRequest(Fl.WorkspaceDiagnosticRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(Fl.WorkspaceDiagnosticRequest.partialResult,r)))}}};fh.DiagnosticFeature=y3});var FA=$(dh=>{"use strict";Object.defineProperty(dh,"__esModule",{value:!0});dh.MonikerFeature=void 0;var v3=gr(),T3=t=>class extends t{get moniker(){return{on:e=>{let r=v3.MonikerRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};dh.MonikerFeature=T3});var QA=$($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.createConnection=$e.combineFeatures=$e.combineNotebooksFeatures=$e.combineLanguagesFeatures=$e.combineWorkspaceFeatures=$e.combineWindowFeatures=$e.combineClientFeatures=$e.combineTracerFeatures=$e.combineTelemetryFeatures=$e.combineConsoleFeatures=$e._NotebooksImpl=$e._LanguagesImpl=$e.BulkUnregistration=$e.BulkRegistration=$e.ErrorMessageTracker=void 0;var Y=gr(),Yn=PR(),qR=AR(),Se=wA(),R3=DA(),b3=EA(),x3=PA(),_3=kR(),S3=AA(),k3=NA(),C3=IA(),w3=OA(),D3=MA(),E3=$A(),P3=qA(),A3=ER(),N3=FA();function $R(t){if(t!==null)return t}var FR=class{constructor(){this._messages=Object.create(null)}add(e){let r=this._messages[e];r||(r=0),r++,this._messages[e]=r}sendErrors(e){Object.keys(this._messages).forEach(r=>{e.window.showErrorMessage(r)})}};$e.ErrorMessageTracker=FR;var ph=class{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(Y.MessageType.Error,e)}warn(e){this.send(Y.MessageType.Warning,e)}info(e){this.send(Y.MessageType.Info,e)}log(e){this.send(Y.MessageType.Log,e)}send(e,r){this._rawConnection&&this._rawConnection.sendNotification(Y.LogMessageNotification.type,{type:e,message:r}).catch(()=>{(0,Y.RAL)().console.error("Sending log message failed")})}},jR=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...r){let n={type:Y.MessageType.Error,message:e,actions:r};return this.connection.sendRequest(Y.ShowMessageRequest.type,n).then($R)}showWarningMessage(e,...r){let n={type:Y.MessageType.Warning,message:e,actions:r};return this.connection.sendRequest(Y.ShowMessageRequest.type,n).then($R)}showInformationMessage(e,...r){let n={type:Y.MessageType.Info,message:e,actions:r};return this.connection.sendRequest(Y.ShowMessageRequest.type,n).then($R)}},jA=(0,S3.ShowDocumentFeature)((0,Se.ProgressFeature)(jR)),I3;(function(t){function e(){return new mh}t.create=e})(I3=$e.BulkRegistration||($e.BulkRegistration={}));var mh=class{constructor(){this._registrations=[],this._registered=new Set}add(e,r){let n=Yn.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);let i=qR.generateUuid();this._registrations.push({id:i,method:n,registerOptions:r||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}},O3;(function(t){function e(){return new jl(void 0,[])}t.create=e})(O3=$e.BulkUnregistration||($e.BulkUnregistration={}));var jl=class{constructor(e,r){this._connection=e,this._unregistrations=new Map,r.forEach(n=>{this._unregistrations.set(n.method,n)})}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let n of this._unregistrations.values())e.push(n);let r={unregisterations:e};this._connection.sendRequest(Y.UnregistrationRequest.type,r).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(e){let r=Yn.string(e)?e:e.method,n=this._unregistrations.get(r);if(!n)return!1;let i={unregisterations:[n]};return this._connection.sendRequest(Y.UnregistrationRequest.type,i).then(()=>{this._unregistrations.delete(r)},o=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)}),!0}},hh=class{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,r,n){return e instanceof mh?this.registerMany(e):e instanceof jl?this.registerSingle1(e,r,n):this.registerSingle2(e,r)}registerSingle1(e,r,n){let i=Yn.string(r)?r:r.method,o=qR.generateUuid(),s={registrations:[{id:o,method:i,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(Y.RegistrationRequest.type,s).then(a=>(e.add({id:o,method:i}),e),a=>(this.connection.console.info(`Registering request handler for ${i} failed.`),Promise.reject(a)))}registerSingle2(e,r){let n=Yn.string(e)?e:e.method,i=qR.generateUuid(),o={registrations:[{id:i,method:n,registerOptions:r||{}}]};return this.connection.sendRequest(Y.RegistrationRequest.type,o).then(s=>Y.Disposable.create(()=>{this.unregisterSingle(i,n).catch(()=>{this.connection.console.info(`Un-registering capability with id ${i} failed.`)})}),s=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(s)))}unregisterSingle(e,r){let n={unregisterations:[{id:e,method:r}]};return this.connection.sendRequest(Y.UnregistrationRequest.type,n).catch(()=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)})}registerMany(e){let r=e.asRegistrationParams();return this.connection.sendRequest(Y.RegistrationRequest.type,r).then(()=>new jl(this._connection,r.registrations.map(n=>({id:n.id,method:n.method}))),n=>(this.connection.console.info("Bulk registration failed."),Promise.reject(n)))}},UR=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){function r(i){return i&&!!i.edit}let n=r(e)?e:{edit:e};return this.connection.sendRequest(Y.ApplyWorkspaceEditRequest.type,n)}},UA=(0,k3.FileOperationsFeature)((0,b3.WorkspaceFoldersFeature)((0,R3.ConfigurationFeature)(UR))),gh=class{constructor(){this._trace=Y.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,r){this._trace!==Y.Trace.Off&&this.connection.sendNotification(Y.LogTraceNotification.type,{message:e,verbose:this._trace===Y.Trace.Verbose?r:void 0}).catch(()=>{})}},yh=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(Y.TelemetryEventNotification.type,e).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},vh=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,Se.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,r){return(0,Se.attachPartialResult)(this.connection,r)}};$e._LanguagesImpl=vh;var WA=(0,N3.MonikerFeature)((0,P3.DiagnosticFeature)((0,E3.InlayHintFeature)((0,D3.InlineValueFeature)((0,w3.TypeHierarchyFeature)((0,C3.LinkedEditingRangeFeature)((0,_3.SemanticTokensFeature)((0,x3.CallHierarchyFeature)(vh)))))))),Th=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,Se.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,r){return(0,Se.attachPartialResult)(this.connection,r)}};$e._NotebooksImpl=Th;var HA=(0,A3.NotebookSyncFeature)(Th);function GA(t,e){return function(r){return e(t(r))}}$e.combineConsoleFeatures=GA;function BA(t,e){return function(r){return e(t(r))}}$e.combineTelemetryFeatures=BA;function KA(t,e){return function(r){return e(t(r))}}$e.combineTracerFeatures=KA;function zA(t,e){return function(r){return e(t(r))}}$e.combineClientFeatures=zA;function VA(t,e){return function(r){return e(t(r))}}$e.combineWindowFeatures=VA;function XA(t,e){return function(r){return e(t(r))}}$e.combineWorkspaceFeatures=XA;function YA(t,e){return function(r){return e(t(r))}}$e.combineLanguagesFeatures=YA;function JA(t,e){return function(r){return e(t(r))}}$e.combineNotebooksFeatures=JA;function L3(t,e){function r(i,o,s){return i&&o?s(i,o):i||o}return{__brand:"features",console:r(t.console,e.console,GA),tracer:r(t.tracer,e.tracer,KA),telemetry:r(t.telemetry,e.telemetry,BA),client:r(t.client,e.client,zA),window:r(t.window,e.window,VA),workspace:r(t.workspace,e.workspace,XA),languages:r(t.languages,e.languages,YA),notebooks:r(t.notebooks,e.notebooks,JA)}}$e.combineFeatures=L3;function M3(t,e,r){let n=r&&r.console?new(r.console(ph)):new ph,i=t(n);n.rawAttach(i);let o=r&&r.tracer?new(r.tracer(gh)):new gh,s=r&&r.telemetry?new(r.telemetry(yh)):new yh,a=r&&r.client?new(r.client(hh)):new hh,c=r&&r.window?new(r.window(jA)):new jA,f=r&&r.workspace?new(r.workspace(UA)):new UA,p=r&&r.languages?new(r.languages(WA)):new WA,m=r&&r.notebooks?new(r.notebooks(HA)):new HA,T=[n,o,s,a,c,f,p,m];function _(y){return y instanceof Promise?y:Yn.thenable(y)?new Promise((h,C)=>{y.then(L=>h(L),L=>C(L))}):Promise.resolve(y)}let E,N,I,A={listen:()=>i.listen(),sendRequest:(y,...h)=>i.sendRequest(Yn.string(y)?y:y.method,...h),onRequest:(y,h)=>i.onRequest(y,h),sendNotification:(y,h)=>{let C=Yn.string(y)?y:y.method;return arguments.length===1?i.sendNotification(C):i.sendNotification(C,h)},onNotification:(y,h)=>i.onNotification(y,h),onProgress:i.onProgress,sendProgress:i.sendProgress,onInitialize:y=>(N=y,{dispose:()=>{N=void 0}}),onInitialized:y=>i.onNotification(Y.InitializedNotification.type,y),onShutdown:y=>(E=y,{dispose:()=>{E=void 0}}),onExit:y=>(I=y,{dispose:()=>{I=void 0}}),get console(){return n},get telemetry(){return s},get tracer(){return o},get client(){return a},get window(){return c},get workspace(){return f},get languages(){return p},get notebooks(){return m},onDidChangeConfiguration:y=>i.onNotification(Y.DidChangeConfigurationNotification.type,y),onDidChangeWatchedFiles:y=>i.onNotification(Y.DidChangeWatchedFilesNotification.type,y),__textDocumentSync:void 0,onDidOpenTextDocument:y=>i.onNotification(Y.DidOpenTextDocumentNotification.type,y),onDidChangeTextDocument:y=>i.onNotification(Y.DidChangeTextDocumentNotification.type,y),onDidCloseTextDocument:y=>i.onNotification(Y.DidCloseTextDocumentNotification.type,y),onWillSaveTextDocument:y=>i.onNotification(Y.WillSaveTextDocumentNotification.type,y),onWillSaveTextDocumentWaitUntil:y=>i.onRequest(Y.WillSaveTextDocumentWaitUntilRequest.type,y),onDidSaveTextDocument:y=>i.onNotification(Y.DidSaveTextDocumentNotification.type,y),sendDiagnostics:y=>i.sendNotification(Y.PublishDiagnosticsNotification.type,y),onHover:y=>i.onRequest(Y.HoverRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onCompletion:y=>i.onRequest(Y.CompletionRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onCompletionResolve:y=>i.onRequest(Y.CompletionResolveRequest.type,y),onSignatureHelp:y=>i.onRequest(Y.SignatureHelpRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onDeclaration:y=>i.onRequest(Y.DeclarationRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onDefinition:y=>i.onRequest(Y.DefinitionRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onTypeDefinition:y=>i.onRequest(Y.TypeDefinitionRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onImplementation:y=>i.onRequest(Y.ImplementationRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onReferences:y=>i.onRequest(Y.ReferencesRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onDocumentHighlight:y=>i.onRequest(Y.DocumentHighlightRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onDocumentSymbol:y=>i.onRequest(Y.DocumentSymbolRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onWorkspaceSymbol:y=>i.onRequest(Y.WorkspaceSymbolRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onWorkspaceSymbolResolve:y=>i.onRequest(Y.WorkspaceSymbolResolveRequest.type,y),onCodeAction:y=>i.onRequest(Y.CodeActionRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onCodeActionResolve:y=>i.onRequest(Y.CodeActionResolveRequest.type,(h,C)=>y(h,C)),onCodeLens:y=>i.onRequest(Y.CodeLensRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onCodeLensResolve:y=>i.onRequest(Y.CodeLensResolveRequest.type,(h,C)=>y(h,C)),onDocumentFormatting:y=>i.onRequest(Y.DocumentFormattingRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onDocumentRangeFormatting:y=>i.onRequest(Y.DocumentRangeFormattingRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onDocumentOnTypeFormatting:y=>i.onRequest(Y.DocumentOnTypeFormattingRequest.type,(h,C)=>y(h,C)),onRenameRequest:y=>i.onRequest(Y.RenameRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onPrepareRename:y=>i.onRequest(Y.PrepareRenameRequest.type,(h,C)=>y(h,C)),onDocumentLinks:y=>i.onRequest(Y.DocumentLinkRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onDocumentLinkResolve:y=>i.onRequest(Y.DocumentLinkResolveRequest.type,(h,C)=>y(h,C)),onDocumentColor:y=>i.onRequest(Y.DocumentColorRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onColorPresentation:y=>i.onRequest(Y.ColorPresentationRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onFoldingRanges:y=>i.onRequest(Y.FoldingRangeRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onSelectionRanges:y=>i.onRequest(Y.SelectionRangeRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onExecuteCommand:y=>i.onRequest(Y.ExecuteCommandRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),dispose:()=>i.dispose()};for(let y of T)y.attach(A);return i.onRequest(Y.InitializeRequest.type,y=>{e.initialize(y),Yn.string(y.trace)&&(o.trace=Y.Trace.fromString(y.trace));for(let h of T)h.initialize(y.capabilities);if(N){let h=N(y,new Y.CancellationTokenSource().token,(0,Se.attachWorkDone)(i,y),void 0);return _(h).then(C=>{if(C instanceof Y.ResponseError)return C;let L=C;L||(L={capabilities:{}});let J=L.capabilities;J||(J={},L.capabilities=J),J.textDocumentSync===void 0||J.textDocumentSync===null?J.textDocumentSync=Yn.number(A.__textDocumentSync)?A.__textDocumentSync:Y.TextDocumentSyncKind.None:!Yn.number(J.textDocumentSync)&&!Yn.number(J.textDocumentSync.change)&&(J.textDocumentSync.change=Yn.number(A.__textDocumentSync)?A.__textDocumentSync:Y.TextDocumentSyncKind.None);for(let fe of T)fe.fillServerCapabilities(J);return L})}else{let h={capabilities:{textDocumentSync:Y.TextDocumentSyncKind.None}};for(let C of T)C.fillServerCapabilities(h.capabilities);return h}}),i.onRequest(Y.ShutdownRequest.type,()=>{if(e.shutdownReceived=!0,E)return E(new Y.CancellationTokenSource().token)}),i.onNotification(Y.ExitNotification.type,()=>{try{I&&I()}finally{e.shutdownReceived?e.exit(0):e.exit(1)}}),i.onNotification(Y.SetTraceNotification.type,y=>{o.trace=Y.Trace.fromString(y.value)}),A}$e.createConnection=M3});var WR=$($r=>{"use strict";var $3=$r&&$r.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),ZA=$r&&$r.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&$3(e,t,r)};Object.defineProperty($r,"__esModule",{value:!0});$r.ProposedFeatures=$r.NotebookDocuments=$r.TextDocuments=$r.SemanticTokensBuilder=void 0;var q3=kR();Object.defineProperty($r,"SemanticTokensBuilder",{enumerable:!0,get:function(){return q3.SemanticTokensBuilder}});ZA(gr(),$r);var F3=wR();Object.defineProperty($r,"TextDocuments",{enumerable:!0,get:function(){return F3.TextDocuments}});var j3=ER();Object.defineProperty($r,"NotebookDocuments",{enumerable:!0,get:function(){return j3.NotebookDocuments}});ZA(QA(),$r);var U3;(function(t){t.all={__brand:"features"}})(U3=$r.ProposedFeatures||($r.ProposedFeatures={}))});var tN=$((gTe,eN)=>{"use strict";eN.exports=gr()});var iN=$(Yi=>{"use strict";var W3=Yi&&Yi.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),nN=Yi&&Yi.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&W3(e,t,r)};Object.defineProperty(Yi,"__esModule",{value:!0});Yi.createConnection=void 0;var Rh=WR();nN(tN(),Yi);nN(WR(),Yi);var rN=!1,H3={initialize:t=>{},get shutdownReceived(){return rN},set shutdownReceived(t){rN=t},exit:t=>{}};function G3(t,e,r,n){let i,o,s,a;t!==void 0&&t.__brand==="features"&&(i=t,t=e,e=r,r=n),Rh.ConnectionStrategy.is(t)||Rh.ConnectionOptions.is(t)?a=t:(o=t,s=e,a=r);let c=f=>(0,Rh.createProtocolConnection)(o,s,f,a);return(0,Rh.createConnection)(c,H3,i)}Yi.createConnection=G3});var sN=$((vTe,oN)=>{"use strict";oN.exports=iN()});var tP=Ie(Qe(),1);var PL=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,o;n<i;n++)(o||!(n in e))&&(o||(o=Array.prototype.slice.call(e,0,n)),o[n]=e[n]);return t.concat(o||Array.prototype.slice.call(e))},Hx=function(){function t(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(e){if(e){var r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content},t.prototype.update=function(e,r){for(var n=0,i=e;n<i.length;n++){var o=i[n];if(t.isIncremental(o)){var s=Bx(o.range),a=this.offsetAt(s.start),c=this.offsetAt(s.end);this._content=this._content.substring(0,a)+o.text+this._content.substring(c,this._content.length);var f=Math.max(s.start.line,0),p=Math.max(s.end.line,0),m=this._lineOffsets,T=Gx(o.text,!1,a);if(p-f===T.length)for(var _=0,E=T.length;_<E;_++)m[_+f+1]=T[_];else T.length<1e4?m.splice.apply(m,PL([f+1,p-f],T,!1)):this._lineOffsets=m=m.slice(0,f+1).concat(T,m.slice(p+1));var N=o.text.length-(c-a);if(N!==0)for(var _=f+1+T.length,E=m.length;_<E;_++)m[_]=m[_]+N}else if(t.isFull(o))this._content=o.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received")}this._version=r},t.prototype.getLineOffsets=function(){return this._lineOffsets===void 0&&(this._lineOffsets=Gx(this._content,!0)),this._lineOffsets},t.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){var o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}var s=n-1;return{line:s,character:e-r[s]}},t.prototype.offsetAt=function(e){var r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;var n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)},Object.defineProperty(t.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),t.isIncremental=function(e){var r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")},t.isFull=function(e){var r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0},t}(),ha;(function(t){function e(i,o,s,a){return new Hx(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof Hx)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){for(var s=i.getText(),a=ay(o.map(AL),function(E,N){var I=E.range.start.line-N.range.start.line;return I===0?E.range.start.character-N.range.start.character:I}),c=0,f=[],p=0,m=a;p<m.length;p++){var T=m[p],_=i.offsetAt(T.range.start);if(_<c)throw new Error("Overlapping edit");_>c&&f.push(s.substring(c,_)),T.newText.length&&f.push(T.newText),c=i.offsetAt(T.range.end)}return f.push(s.substr(c)),f.join("")}t.applyEdits=n})(ha||(ha={}));function ay(t,e){if(t.length<=1)return t;var r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);ay(n,e),ay(i,e);for(var o=0,s=0,a=0;o<n.length&&s<i.length;){var c=e(n[o],i[s]);c<=0?t[a++]=n[o++]:t[a++]=i[s++]}for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function Gx(t,e,r){r===void 0&&(r=0);for(var n=e?[r]:[],i=0;i<t.length;i++){var o=t.charCodeAt(i);(o===13||o===10)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function Bx(t){var e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function AL(t){var e=Bx(t.range);return e!==t.range?{newText:t.newText,range:e}:t}function rr(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function so(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Kx(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function ga(t){return typeof t=="object"&&t!==null&&rr(t.container)&&so(t.reference)&&typeof t.message=="string"}var ks=class{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return rr(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.computeIsSubtype(e,r);return n[r]=o,o}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function Pi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Cs(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function zx(t){return Pi(t)&&typeof t.fullText=="string"}var _n=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){let r=e[Symbol.iterator]();return new t(()=>({first:this.startFn(),firstDone:!1}),n=>{let i;if(!n.firstDone){do if(i=this.nextFn(n.first),!i.done)return i;while(!i.done);n.firstDone=!0}do if(i=r.next(),!i.done)return i;while(!i.done);return Zr})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=NL(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Zr:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Zr})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(Of(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return Zr})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(Of(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return Zr})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Zr:this.nextFn(r.state)))}distinct(e){let r=new Set;return this.filter(n=>{let i=e?e(n):n;return r.has(i)?!1:(r.add(i),!0)})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function NL(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Of(t){return!!t&&typeof t[Symbol.iterator]=="function"}var ya=new _n(()=>{},()=>Zr),Zr=Object.freeze({done:!0,value:void 0});function Ce(...t){if(t.length===1){let e=t[0];if(e instanceof _n)return e;if(Of(e))return new _n(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new _n(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Zr)}return t.length>1?new _n(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];Of(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Zr}):ya}var Fn=class extends _n{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Zr})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},yu;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(yu=yu||(yu={}));function cy(t){return new Fn(t,e=>Pi(e)?e.content:[],{includeRoot:!0})}function Yx(t){return cy(t).filter(Cs)}function Jx(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function vu(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Wr(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ao;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside"})(ao=ao||(ao={}));function IL(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<t.start.character)return ao.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>e.end.character)return ao.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?ao.Inside:r?ao.OverlapBack:ao.OverlapFront}function Lf(t,e){return IL(t,e)>ao.After}var uy=/^[\w\p{L}]$/u;function dr(t,e,r=uy){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return dn(t,e)}}function Qx(t,e){if(t){let r=OL(t,!0);if(r&&Vx(r,e))return r;if(zx(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Vx(o,e))return o}}}}function Vx(t,e){return Cs(t)&&e.includes(t.tokenType.name)}function dn(t,e){if(Cs(t))return t;if(Pi(t)){let r=0,n=t.content.length-1;for(;r<n;){let i=Math.floor((r+n)/2),o=t.content[i];if(o.offset>e)n=i-1;else if(o.end<=e)r=i+1;else return dn(o,e)}if(r===n)return dn(t.content[r],e)}}function OL(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function Zx(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function e_(t,e){let r=LL(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function LL(t,e){let r=Xx(t),n=Xx(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function Xx(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}function ws(t,e,r,n){let i=[t,e,r,n].reduce(i_,{});return n_(i)}var ly=Symbol("isProxy");function Mf(t){if(t&&t[ly])for(let e of Object.values(t))Mf(e);return t}function n_(t,e){let r=new Proxy({},{deleteProperty:()=>!1,get:(n,i)=>r_(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(r_(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Reflect.ownKeys(t),ly]});return r[ly]=!0,r}var t_=Symbol();function r_(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===t_)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=t_;try{t[e]=typeof i=="function"?i(n):n_(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function i_(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!==void 0){let i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=i_(i,n):t[r]=n}}return t}var Ze=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return yu.sum(Ce(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Ce(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Ce(this.map.keys())}values(){return Ce(this.map.values()).flat()}entriesGroupedByKey(){return Ce(this.map.entries())}};var fy="AbstractRule";var Ds="AbstractType";var ML="Condition";var $L="TypeDefinition";var dy="AbstractElement";function va(t){return Ne.isInstance(t,dy)}var o_="ArrayType";function Es(t){return Ne.isInstance(t,o_)}var s_="Conjunction";function a_(t){return Ne.isInstance(t,s_)}var c_="Disjunction";function u_(t){return Ne.isInstance(t,c_)}var l_="Grammar";function Ta(t){return Ne.isInstance(t,l_)}var qL="GrammarImport";function $f(t){return Ne.isInstance(t,qL)}var FL="InferredType";function Ra(t){return Ne.isInstance(t,FL)}var Ru="Interface";function pn(t){return Ne.isInstance(t,Ru)}var f_="LiteralCondition";function d_(t){return Ne.isInstance(t,f_)}var p_="Negation";function m_(t){return Ne.isInstance(t,p_)}var h_="Parameter";function g_(t){return Ne.isInstance(t,h_)}var y_="ParameterReference";function ba(t){return Ne.isInstance(t,y_)}var v_="ParserRule";function ee(t){return Ne.isInstance(t,v_)}var T_="ReferenceType";function Ps(t){return Ne.isInstance(t,T_)}var jL="ReturnType";function xa(t){return Ne.isInstance(t,jL)}var R_="SimpleType";function Hr(t){return Ne.isInstance(t,R_)}var py="TerminalRule";function Be(t){return Ne.isInstance(t,py)}var bu="Type";function vr(t){return Ne.isInstance(t,bu)}var UL="TypeAttribute";function qf(t){return Ne.isInstance(t,UL)}var b_="UnionType";function jn(t){return Ne.isInstance(t,b_)}var x_="Action";function et(t){return Ne.isInstance(t,x_)}var __="Alternatives";function Sn(t){return Ne.isInstance(t,__)}var S_="Assignment";function je(t){return Ne.isInstance(t,S_)}var k_="CharacterRange";function Ff(t){return Ne.isInstance(t,k_)}var C_="CrossReference";function Dr(t){return Ne.isInstance(t,C_)}var w_="Group";function Tr(t){return Ne.isInstance(t,w_)}var D_="Keyword";function Ht(t){return Ne.isInstance(t,D_)}var E_="NegatedToken";function P_(t){return Ne.isInstance(t,E_)}var A_="RegexToken";function N_(t){return Ne.isInstance(t,A_)}var I_="RuleCall";function tt(t){return Ne.isInstance(t,I_)}var O_="TerminalAlternatives";function L_(t){return Ne.isInstance(t,O_)}var M_="TerminalGroup";function $_(t){return Ne.isInstance(t,M_)}var q_="TerminalRuleCall";function jf(t){return Ne.isInstance(t,q_)}var F_="UnorderedGroup";function kn(t){return Ne.isInstance(t,F_)}var j_="UntilToken";function U_(t){return Ne.isInstance(t,j_)}var W_="Wildcard";function H_(t){return Ne.isInstance(t,W_)}var Tu=class extends ks{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayType","Assignment","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","LiteralCondition","NamedArgument","NegatedToken","Negation","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","Wildcard"]}computeIsSubtype(e,r){switch(e){case x_:return this.isSubtype(dy,r)||this.isSubtype(Ds,r);case __:case S_:case k_:case C_:case w_:case D_:case E_:case A_:case I_:case O_:case M_:case q_:case F_:case j_:case W_:return this.isSubtype(dy,r);case o_:case T_:case R_:case b_:return this.isSubtype($L,r);case s_:case c_:case f_:case p_:case y_:return this.isSubtype(ML,r);case Ru:case bu:return this.isSubtype(Ds,r);case v_:return this.isSubtype(fy,r)||this.isSubtype(Ds,r);case py:return this.isSubtype(fy,r);default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Ds;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return fy;case"Grammar:usedGrammars":return l_;case"NamedArgument:parameter":case"ParameterReference:parameter":return h_;case"TerminalRuleCall:rule":return py;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"Grammar":return{name:"Grammar",mandatory:[{name:"definesHiddenTokens",type:"boolean"},{name:"hiddenTokens",type:"array"},{name:"imports",type:"array"},{name:"interfaces",type:"array"},{name:"isDeclared",type:"boolean"},{name:"rules",type:"array"},{name:"types",type:"array"},{name:"usedGrammars",type:"array"}]};case"Interface":return{name:"Interface",mandatory:[{name:"attributes",type:"array"},{name:"superTypes",type:"array"}]};case"LiteralCondition":return{name:"LiteralCondition",mandatory:[{name:"true",type:"boolean"}]};case"NamedArgument":return{name:"NamedArgument",mandatory:[{name:"calledByName",type:"boolean"}]};case"ParserRule":return{name:"ParserRule",mandatory:[{name:"definesHiddenTokens",type:"boolean"},{name:"entry",type:"boolean"},{name:"fragment",type:"boolean"},{name:"hiddenTokens",type:"array"},{name:"parameters",type:"array"},{name:"wildcard",type:"boolean"}]};case"TerminalRule":return{name:"TerminalRule",mandatory:[{name:"fragment",type:"boolean"},{name:"hidden",type:"boolean"}]};case"TypeAttribute":return{name:"TypeAttribute",mandatory:[{name:"isOptional",type:"boolean"}]};case"UnionType":return{name:"UnionType",mandatory:[{name:"types",type:"array"}]};case"Alternatives":return{name:"Alternatives",mandatory:[{name:"elements",type:"array"}]};case"CrossReference":return{name:"CrossReference",mandatory:[{name:"deprecatedSyntax",type:"boolean"}]};case"Group":return{name:"Group",mandatory:[{name:"elements",type:"array"}]};case"RuleCall":return{name:"RuleCall",mandatory:[{name:"arguments",type:"array"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",mandatory:[{name:"elements",type:"array"}]};case"TerminalGroup":return{name:"TerminalGroup",mandatory:[{name:"elements",type:"array"}]};case"UnorderedGroup":return{name:"UnorderedGroup",mandatory:[{name:"elements",type:"array"}]};default:return{name:e,mandatory:[]}}}},Ne=new Tu;function G_(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{rr(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):rr(r)&&(r.$container=t,r.$containerProperty=e))}function rt(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function ke(t){let r=Uf(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Uf(t){for(;t.$container;)t=t.$container;return t}function Fo(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new _n(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(rr(o)){if(n.keyIndex++,my(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(rr(a)&&my(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return Zr})}function St(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Fn(t,r=>Fo(r,e))}function uo(t,e){if(t){if(e?.range&&!my(t,e.range))return new Fn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Fn(t,r=>Fo(r,e),{includeRoot:!0})}function my(t,e){var r;if(!e)return!0;let n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?Lf(n,e):!1}function Wf(t){return new _n(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(so(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(so(o))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Zr})}function B_(t){var e,r;if(t){if("astNode"in t)return GL(t);if(Array.isArray(t))return t.reduce(K_,void 0);{let n=t,i=WL(n)?HL((r=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&r!==void 0?r:n?.astNode):void 0;return _a(n,i)}}else return}function WL(t){return typeof t<"u"&&"element"in t&&"text"in t}function HL(t){try{return ke(t).uri.toString()}catch{return}}function GL(t){var e,r;let{astNode:n,property:i,index:o}=t??{},s=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||s===void 0)){if(i===void 0)return _a(s,hy(n));{let a=c=>o!==void 0&&o>-1&&Array.isArray(n[i])?o<c.length?c[o]:void 0:c.reduce(K_,void 0);if(!((r=s.assignments)===null||r===void 0)&&r[i]){let c=a(s.assignments[i]);return c&&_a(c,hy(n))}else if(n.$cstNode){let c=a(jo(n.$cstNode,i));return c&&_a(c,hy(n))}else return}}}function hy(t){var e,r,n,i;return t.$cstNode?(r=(e=ke(t))===null||e===void 0?void 0:e.uri)===null||r===void 0?void 0:r.toString():t.$textRegion?t.$textRegion.documentURI||((i=(n=new Fn(t,o=>o.$container?[o.$container]:[]).find(o=>{var s;return(s=o.$textRegion)===null||s===void 0?void 0:s.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||i===void 0?void 0:i.documentURI):void 0}function _a(t,e){var r,n;let i={offset:t.offset,end:(r=t.end)!==null&&r!==void 0?r:t.offset+t.length,length:(n=t.length)!==null&&n!==void 0?n:t.end-t.offset};return t.range&&(i.range=t.range),e??(e=t.fileURI),e&&(i.fileURI=e),i}function K_(t,e){var r,n;if(t){if(!e)return t&&_a(t)}else return e&&_a(e);let i=(r=t.end)!==null&&r!==void 0?r:t.offset+t.length,o=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,s=Math.min(t.offset,e.offset),a=Math.max(i,o),c=a-s,f={offset:s,end:a,length:c};if(t.range&&e.range&&(f.range={start:e.range.start.line<t.range.start.line||e.range.start.line===t.range.start.line&&e.range.start.character<t.range.start.character?e.range.start:t.range.start,end:e.range.end.line>t.range.end.line||e.range.end.line===t.range.end.line&&e.range.end.character>t.range.end.character?e.range.end:t.range.end}),t.fileURI||e.fileURI){let p=t.fileURI,m=e.fileURI,T=p&&m&&p!==m?`<unmergable text regions of ${p}, ${m}>`:p??m;f.fileURI=T}return f}var gy=class{constructor(e){this.defaultIndentation=" ",this.pendingIndent=!0,this.currentIndents=[],this.recentNonImmediateIndents=[],this.traceData=[],this.lines=[[]],typeof e=="string"?this.defaultIndentation=e:typeof e=="number"&&(this.defaultIndentation="".padStart(e))}get content(){return this.lines.map(e=>e.join("")).join("")}get currentLineNumber(){return this.lines.length-1}get currentLineContent(){return this.lines[this.currentLineNumber].join("")}get currentPosition(){return{offset:this.content.length,line:this.currentLineNumber,character:this.currentLineContent.length}}append(e,r){if(e.length>0){let n=r&&this.currentPosition;this.lines[this.currentLineNumber].push(e),n&&this.indentPendingTraceRegions(n)}}indentPendingTraceRegions(e){for(let r=this.traceData.length-1;r>=0;r--){let n=this.traceData[r];n.targetStart&&n.targetStart.offset===e.offset&&(n.targetStart=this.currentPosition)}}increaseIndent(e){this.currentIndents.push(e),e.indentImmediately||this.recentNonImmediateIndents.push(e)}decreaseIndent(){this.currentIndents.pop()}get relevantIndents(){return this.currentIndents.filter(e=>!this.recentNonImmediateIndents.includes(e))}resetCurrentLine(){this.lines[this.currentLineNumber]=[],this.pendingIndent=!0}addNewLine(){this.pendingIndent=!0,this.lines.push([]),this.recentNonImmediateIndents.length=0}pushTraceRegion(e){let r=BL(e,this.currentPosition,n=>{var i,o;return(o=(i=this.traceData[this.traceData.length-1])===null||i===void 0?void 0:i.children)===null||o===void 0?void 0:o.push(n)});return this.traceData.push(r),r}popTraceRegion(e){let r=this.traceData.pop();return this.assertTrue(r===e,"Trace region mismatch!"),r}getParentTraceSourceFileURI(){var e;for(let r=this.traceData.length-1;r>-1;r--){let n=(e=this.traceData[r].sourceRegion)===null||e===void 0?void 0:e.fileURI;if(n)return n}}assertTrue(e,r){if(!e)throw new Error(r)}};function BL(t,e,r){let n={sourceRegion:t,targetRegion:void 0,children:[],targetStart:e,complete:i=>{var o,s;return n.targetRegion={offset:n.targetStart.offset,end:i.offset,length:i.offset-n.targetStart.offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:i.line,character:i.character}}},delete n.targetStart,((o=n.children)===null||o===void 0?void 0:o.length)===0&&delete n.children,!((s=n.targetRegion)===null||s===void 0)&&s.length&&r(n),delete n.complete,n}};return n}function z_(t,e){let r=new gy(e),n=r.pushTraceRegion(void 0);V_(t,r),r.popTraceRegion(n),n.complete&&n.complete(r.currentPosition);let i=n.children&&n.children.length===1?n.children[0]:void 0,o=i?.targetRegion,s=n.targetRegion;return o&&i.sourceRegion&&o.offset===s.offset&&o.length===s.length?{text:r.content,trace:i}:{text:r.content,trace:n}}function V_(t,e){typeof t=="string"?KL(t,e):t instanceof Sa?zL(t,e):t instanceof Er?J_(t,e):t instanceof Uo&&VL(t,e)}function X_(t,e){return typeof t=="string"?t.length!==0:t instanceof Er?t.contents.some(r=>X_(r,e)):t instanceof Uo?!(t.ifNotEmpty&&e.currentLineContent.length===0):!1}function KL(t,e){t&&(e.pendingIndent&&Y_(e,!1),e.append(t))}function Y_(t,e){var r;let n="";for(let i of t.relevantIndents.filter(o=>o.indentEmptyLines||!e))n+=(r=i.indentation)!==null&&r!==void 0?r:t.defaultIndentation;t.append(n,!0),t.pendingIndent=!1}function J_(t,e){let r,n=B_(t.tracedSource);n&&(r=e.pushTraceRegion(n));for(let i of t.contents)V_(i,e);if(r){e.popTraceRegion(r);let i=e.getParentTraceSourceFileURI();i&&n?.fileURI===i&&delete n.fileURI,r.complete&&r.complete(e.currentPosition)}}function zL(t,e){var r;if(X_(t,e)){t.indentImmediately&&!e.pendingIndent&&e.append((r=t.indentation)!==null&&r!==void 0?r:e.defaultIndentation,!0);try{e.increaseIndent(t),J_(t,e)}finally{e.decreaseIndent()}}}function VL(t,e){t.ifNotEmpty&&!XL(e.currentLineContent)?e.resetCurrentLine():(e.pendingIndent&&Y_(e,!0),e.append(t.lineDelimiter),e.addNewLine())}function XL(t){return t.trimStart()!==""}var V8=Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__"),xu=/\r?\n/g,YL=/\S|$/;function Q_(t){let e=t.filter(n=>n.length>0).map(n=>n.search(YL)),r=e.length===0?0:Math.min(...e);return Math.max(0,r)}function vy(t,...e){let r=JL(t),n=QL(t,e,r);return eM(n)}function tS(t,e,r){return(n,...i)=>Ty(t,e,r)(vy(n,...i))}function JL(t){let e=t.join("_").split(xu),r=e.length>1&&e[0].trim().length===0,n=r&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:r,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let i=r?e.slice(1):e;i=n?i.slice(0,i.length-1):i,i=i.filter(s=>s.length!==0);let o=Q_(i);return{indentation:o,omitFirstLine:r,omitLastLine:n&&(e[e.length-1].length<o||!e[e.length-1].startsWith(i[0].substring(0,o)))}}}function QL(t,e,{indentation:r,omitFirstLine:n,omitLastLine:i,trimLastLine:o}){let s=[];t.forEach((f,p)=>{s.push(...f.split(xu).map((m,T)=>T===0||m.length<r?m:m.substring(r)).reduce(p===0?(m,T,_)=>_===0?n?[]:[T]:_===1&&m.length===0?[T]:m.concat(Hf,T):(m,T,_)=>_===0?[T]:m.concat(Hf,T),[]).filter(m=>!(typeof m=="string"&&m.length===0)).concat(_u(e[p])?e[p]:e[p]!==void 0?{content:String(e[p])}:p<e.length?rS:[]))});let a=s.length,c=a!==0?s[a-1]:void 0;return(i||o)&&typeof c=="string"&&c.trim().length===0?n&&a!==1&&s[a-2]===Hf?s.slice(0,a-2):s.slice(0,a-1):s}var Hf={isNewLine:!0},rS={isUndefinedSegment:!0},eS=t=>t===Hf,yy=t=>t===rS,ZL=t=>t.content!==void 0;function eM(t){return t.reduce((r,n,i)=>yy(n)?r:eS(n)?{node:i!==0&&(yy(t[i-1])||_u(t[i-1]))||i>1&&typeof t[i-1]=="string"&&(yy(t[i-2])||_u(t[i-2]))?r.node.appendNewLineIfNotEmpty():r.node.appendNewLine()}:(()=>{var o;let s=(i===0||eS(t[i-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=ZL(n)?n.content:n,c;return{node:r.indented?r.node:s.length!==0?r.node.indent({indentation:s,indentImmediately:!1,indentedChildren:f=>c=f.append(a)}):r.node.append(a),indented:c??((o=r.indented)===null||o===void 0?void 0:o.append(a))}})(),{node:new Er}).node}var Z_=typeof process>"u"?`
|
|
66
|
+
`:process.platform==="win32"?`\r
|
|
67
|
+
`:`
|
|
68
|
+
`;function _u(t){return t instanceof Er||t instanceof Sa||t instanceof Uo}function ka(t,e){return _u(t)?z_(t,e).text:String(t)}var Er=class t{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,r,n){if(rr(e)){if(this.tracedSource={astNode:e,property:r,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative value is assigned to 'index' in 'CompositeGeneratorNode.trace(...)'.")}else this.tracedSource=e;return this}append(...e){for(let r of e)typeof r=="function"?r(this):r&&this.contents.push(r);return this}appendIf(e,...r){return e?this.append(...r):this}appendNewLine(){return this.append(Lt)}appendNewLineIf(e){return e?this.append(Lt):this}appendNewLineIfNotEmpty(){return this.append(tM)}appendNewLineIfNotEmptyIf(e){return e?this.appendNewLineIfNotEmpty():this}appendTemplate(e,...r){return this.append(vy(e,...r))}appendTemplateIf(e){return e?(r,...n)=>this.appendTemplate(r,...n):()=>this}indent(e){let{indentedChildren:r,indentation:n,indentEmptyLines:i,indentImmediately:o}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},s=new Sa(n,o,i);return this.contents.push(s),Array.isArray(r)?s.append(...r):r&&s.append(r),this}appendTraced(e,r,n){return i=>this.append(new t().trace(e,r,n).append(i))}appendTracedIf(e,r,n,i){return e?this.appendTraced(typeof r=="function"?r():r,n,i):()=>this}appendTracedTemplate(e,r,n){return(i,...o)=>this.append(tS(e,r,n)(i,...o))}appendTracedTemplateIf(e,r,n,i){return e?this.appendTracedTemplate(typeof r=="function"?r():r,n,i):()=>this}};function Ty(t,e,r){return n=>n instanceof Er&&n.tracedSource===void 0?n.trace(t,e,r):new Er().trace(t,e,r).append(n)}var Sa=class extends Er{constructor(e,r=!0,n=!1){super(),this.indentImmediately=!0,this.indentEmptyLines=!1,typeof e=="string"?this.indentation=e:typeof e=="number"&&(this.indentation="".padStart(e)),this.indentImmediately=r,this.indentEmptyLines=n}},Uo=class{constructor(e,r=!1){this.ifNotEmpty=!1,this.lineDelimiter=e??Z_,this.ifNotEmpty=r}},Lt=new Uo,tM=new Uo(void 0,!0);function lo(t){return"referenceType"in t}function fo(t){return"elementType"in t}function pr(t){return"types"in t}function xy(t){if(pr(t)){let e=[];for(let r of t.types)e.push(...xy(r));return e}else return[t]}function Cn(t){return"value"in t}function wn(t){return"primitive"in t}function Ai(t){return"string"in t}function ai(t){return t&&"type"in t}function ui(t){return t&&"properties"in t}var Bf=class{constructor(e,r){var n;this.superTypes=new Set,this.subTypes=new Set,this.typeNames=new Set,this.name=e,this.declared=(n=r?.declared)!==null&&n!==void 0?n:!1,this.dataType=r?.dataType}toAstTypesString(e){let r=new Er;return r.append(`export type ${this.name} = ${ci(this.type,"AstType")};`,Lt),e&&(r.append(Lt),oS(r,this.name)),this.dataType&&rM(r,this),ka(r)}toDeclaredTypesString(e){let r=new Er;return r.append(`type ${_y(this.name,e)} = ${ci(this.type,"DeclaredType")};`,Lt),ka(r)}},Ca=class t{get superProperties(){return this.getSuperProperties(new Set)}getSuperProperties(e){if(e.has(this.name))return[];e.add(this.name);let r=new Map;for(let n of this.properties)r.set(n.name,n);for(let n of this.interfaceSuperTypes){let i=n.getSuperProperties(e);for(let o of i)r.has(o.name)||r.set(o.name,o)}return Array.from(r.values())}get allProperties(){let e=new Map(this.superProperties.map(n=>[n.name,n]));for(let n of this.subTypes)this.getSubTypeProperties(n,e,new Set);return Array.from(e.values())}getSubTypeProperties(e,r,n){if(n.has(this.name))return;n.add(this.name);let i=ui(e)?e.properties:[];for(let o of i)r.has(o.name)||r.set(o.name,o);for(let o of e.subTypes)this.getSubTypeProperties(o,r,n)}get interfaceSuperTypes(){return Array.from(this.superTypes).filter(e=>e instanceof t)}constructor(e,r,n){this.superTypes=new Set,this.subTypes=new Set,this.containerTypes=new Set,this.typeNames=new Set,this.declared=!1,this.abstract=!1,this.properties=[],this.name=e,this.declared=r,this.abstract=n}toAstTypesString(e){let r=new Er,n=this.interfaceSuperTypes.map(o=>o.name),i=n.length>0?As([...n]):["AstNode"];return r.append(`export interface ${this.name} extends ${i.join(", ")} {`,Lt),r.indent(o=>{this.containerTypes.size>0&&o.append(`readonly $container: ${As([...this.containerTypes].map(s=>s.name)).join(" | ")};`,Lt),this.typeNames.size>0&&o.append(`readonly $type: ${As([...this.typeNames]).map(s=>`'${s}'`).join(" | ")};`,Lt),nS(o,this.properties,"AstType")}),r.append("}",Lt),e&&(r.append(Lt),oS(r,this.name)),ka(r)}toDeclaredTypesString(e){let r=new Er,n=_y(this.name,e),i=As(this.interfaceSuperTypes.map(o=>o.name)).join(", ");return r.append(`interface ${n}${i.length>0?` extends ${i}`:""} {`,Lt),r.indent(o=>nS(o,this.properties,"DeclaredType",e)),r.append("}",Lt),ka(r)}},Kf=class extends Error{constructor(e,r){super(e),this.name="TypeResolutionError",this.target=r}};function ku(t,e){return Wo(t,e,new Map)}function Wo(t,e,r){let n=`${Su(t)}\xBB${Su(e)}`,i=r.get(n);return i!==void 0||(r.set(n,!1),i=!1,pr(t)?i=t.types.every(o=>Wo(o,e,r)):pr(e)?i=e.types.some(o=>Wo(t,o,r)):Cn(e)&&ai(e.value)?Cn(t)&&ai(t.value)&&e.value.name===t.value.name?i=!0:i=Wo(t,e.value.type,r):lo(t)?i=lo(e)&&Wo(t.referenceType,e.referenceType,r):fo(t)?i=fo(e)&&Wo(t.elementType,e.elementType,r):Cn(t)?ai(t.value)?i=Wo(t.value.type,e,r):Cn(e)?ai(e.value)?i=Wo(t,e.value.type,r):i=iS(t.value,e.value,new Set):i=!1:wn(t)?i=wn(e)&&t.primitive===e.primitive:Ai(t)&&(i=wn(e)&&e.primitive==="string"||Ai(e)&&e.string===t.string),i&&r.set(n,i)),i}function iS(t,e,r){let n=t.name;if(r.has(n))return!1;if(r.add(n),t.name===e.name)return!0;for(let i of t.superTypes)if(ui(i)&&iS(i,e,r))return!0;return!1}function Su(t){if(lo(t))return`@(${Su(t.referenceType)})}`;if(fo(t))return`(${Su(t.elementType)})[]`;if(pr(t)){let e=t.types.map(r=>Su(r)).join(" | ");return t.types.length<=1?`Union<${e}>`:e}else{if(Cn(t))return`Value<${t.value.name}>`;if(wn(t))return t.primitive;if(Ai(t))return`'${t.string}'`}throw new Error("Invalid type")}function ci(t,e="AstType"){if(lo(t)){let r=ci(t.referenceType,e);return e==="AstType"?`Reference<${r}>`:`@${Ry(t.referenceType,r)}`}else if(fo(t)){let r=ci(t.elementType,e);return e==="AstType"?`Array<${r}>`:`${Ry(t.elementType,r)}[]`}else if(pr(t)){let r=t.types.map(n=>Ry(n,ci(n,e)));return As(r).join(" | ")}else{if(Cn(t))return t.value.name;if(wn(t))return t.primitive;if(Ai(t)){let r=e==="AstType"?"'":'"';return`${r}${t.string}${r}`}}throw new Error("Invalid type")}function Ry(t,e){return pr(t)&&(e=`(${e})`),e}function nS(t,e,r,n=new Set){function i(o){let s=r==="AstType"?o.name:_y(o.name,n),a=o.optional&&!zf(o.type),c=ci(o.type,r);return`${s}${a?"?":""}: ${c}`}As(e,(o,s)=>o.name.localeCompare(s.name)).forEach(o=>t.append(i(o),Lt))}function zf(t){return fo(t)?!0:lo(t)?!1:pr(t)?t.types.every(e=>zf(e)):wn(t)?t.primitive==="boolean":!1}function oS(t,e){t.append(`export const ${e} = '${e}';`,Lt),t.append(Lt),t.append(`export function is${e}(item: unknown): item is ${e} {`,Lt),t.indent(r=>r.append(`return reflection.isInstance(item, ${e});`,Lt)),t.append("}",Lt)}function rM(t,e){switch(e.dataType){case"string":if(by(e.type)){let r=Array.from(e.subTypes).map(o=>o.name),n=sS(e.type),i=aS(e.type);if(r.length===0&&n.length===0&&i.length===0)Gf(t,e.name,`typeof item === '${e.dataType}'`);else{let o=nM(r,n,i);Gf(t,e.name,o)}}break;case"number":case"boolean":case"bigint":Gf(t,e.name,`typeof item === '${e.dataType}'`);break;case"Date":Gf(t,e.name,"item instanceof Date");break;default:return}}function by(t){let e=!0;if(wn(t))return t.primitive==="string";if(Ai(t))return!0;if(pr(t)){for(let r of t.types)if(Cn(r))if(ai(r.value)){if(!by(r.value.type))return!1}else return!1;else if(wn(r)){if(r.primitive!=="string"||!r.regex)return!1}else if(pr(r))e=by(r);else if(!Ai(r))return!1}else return!1;return e}function nM(t,e,r){let n=[...t.map(i=>`is${i}(item)`),...e.map(i=>`item === '${i}'`)];if(r.length>0){let i=r.map(o=>`${o}.test(item)`).join(" || ");n.push(`(typeof item === 'string' && (${i}))`)}return n.join(" || ")}function _y(t,e){return e.has(t)?`^${t}`:t}function sS(t){let e=[];if(Ai(t))return[t.string];if(pr(t))for(let r of t.types)Ai(r)?e.push(r.string):pr(r)&&e.push(...sS(r));return e}function aS(t){let e=[];if(wn(t)&&t.primitive==="string"&&t.regex&&e.push(t.regex),pr(t))for(let r of t.types)wn(r)&&r.primitive==="string"&&r.regex?e.push(r.regex):pr(r)&&e.push(...aS(r));return e}function Gf(t,e,r){t.append(Lt,`export function is${e}(item: unknown): item is ${e} {`,Lt),t.indent(n=>n.append(`return ${r};`,Lt)),t.append("}",Lt)}function As(t,e){return Array.from(new Set(t)).sort(e)}function Sy(t,e,r,n){let i=new Set;return i.add(t),e.findReferences(t,{}).forEach(s=>{let a=r.getOrCreateDocument(s.sourceUri),c=n.getAstNode(a.parseResult.value,s.sourcePath);pn(c)?(i.add(c),Sy(c,e,r,n).forEach(p=>i.add(p))):c&&vr(c.$container)&&i.add(c.$container)}),i}function Cu(t){let e=new Set;if(pn(t))e.add(t),t.superTypes.forEach(r=>{if(pn(r.ref)){e.add(r.ref);let n=Cu(r.ref);for(let i of n)e.add(i)}});else if(vr(t)){let r=cS(t.type);for(let n of r){let i=Cu(n);for(let o of i)e.add(o)}}return e}function cS(t){var e;if(jn(t))return t.types.flatMap(r=>cS(r));if(Hr(t)){let r=(e=t.typeRef)===null||e===void 0?void 0:e.ref;if(vr(r)||pn(r))return[r]}return[]}function ky(t,e){return t.interfaces.concat(e.interfaces)}function Xf(t){return t.interfaces.concat(t.unions)}function uS(t){let e=t.sort((i,o)=>i.name.localeCompare(o.name)).map(i=>({value:i,nodes:[]}));for(let i of e)i.nodes=e.filter(o=>i.value.superTypes.has(o.value.name));let r=[],n=e.filter(i=>i.nodes.length===0);for(;n.length>0;){let i=n.shift();r.includes(i)||(r.push(i),e.filter(o=>o.nodes.includes(i)).forEach(o=>n.push(o)))}return r.map(i=>i.value)}function lS(t){return Vf(t,new Set)}function Vf(t,e){if(e.has(t))return[];if(e.add(t),pr(t))return t.types.flatMap(r=>Vf(r,e));if(Cn(t)){let r=t.value;return"type"in r?Vf(r.type,e):[r.name]}else if(fo(t))return Vf(t.elementType,e);return[]}function wu(t){return typeof t.name=="string"}var wa=class{getName(e){if(wu(e))return e.name}getNameNode(e){return Pr(e.$cstNode,"name")}};function ye(t){return t.charCodeAt(0)}function Yf(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Da(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function Ns(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Du(){throw Error("Internal Error - Should never get here!")}function Cy(t){return t.type==="Character"}var Eu=[];for(let t=ye("0");t<=ye("9");t++)Eu.push(t);var Pu=[ye("_")].concat(Eu);for(let t=ye("a");t<=ye("z");t++)Pu.push(t);for(let t=ye("A");t<=ye("Z");t++)Pu.push(t);var wy=[ye(" "),ye("\f"),ye(`
|
|
69
|
+
`),ye("\r"),ye(" "),ye("\v"),ye(" "),ye("\xA0"),ye("\u1680"),ye("\u2000"),ye("\u2001"),ye("\u2002"),ye("\u2003"),ye("\u2004"),ye("\u2005"),ye("\u2006"),ye("\u2007"),ye("\u2008"),ye("\u2009"),ye("\u200A"),ye("\u2028"),ye("\u2029"),ye("\u202F"),ye("\u205F"),ye("\u3000"),ye("\uFEFF")];var iM=/[0-9a-fA-F]/,Jf=/[0-9]/,oM=/[1-9]/,Is=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Da(n,"global");break;case"i":Da(n,"ignoreCase");break;case"m":Da(n,"multiLine");break;case"u":Da(n,"unicode");break;case"y":Da(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}Ns(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return Du()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let o;this.isDigit()?(o=this.integerIncludingZero(),r={atLeast:i,atMost:o}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Ns(r);break}if(!(e===!0&&r===void 0)&&Ns(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Ns(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Du()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ye(`
|
|
70
|
+
`),ye("\r"),ye("\u2028"),ye("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Eu;break;case"D":e=Eu,r=!0;break;case"s":e=wy;break;case"S":e=wy,r=!0;break;case"w":e=Pu;break;case"W":e=Pu,r=!0;break}return Ns(e)?{type:"Set",value:e,complement:r}:Du()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ye("\f");break;case"n":e=ye(`
|
|
71
|
+
`);break;case"r":e=ye("\r");break;case"t":e=ye(" ");break;case"v":e=ye("\v");break}return Ns(e)?{type:"Character",value:e}:Du()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ye("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:ye(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
72
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:ye(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(Cy(n)&&this.isRangeDash()){this.consumeChar("-");let o=this.classAtom(),s=o.type==="Character";if(Cy(o)){if(o.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:o.value})}else Yf(n.value,e),e.push(ye("-")),Yf(o.value,e)}else Yf(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
73
|
+
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:ye("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(oM.test(e)===!1)throw Error("Expecting a positive integer");for(;Jf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Jf.test(e)===!1)throw Error("Expecting an integer");for(;Jf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
|
|
74
|
+
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:ye(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Jf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
75
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
76
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(iM.test(o)===!1)throw Error("Expecting a HexDecimal digits");r+=o}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var Ni=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var sM=new Is,Ey=class extends Ni{constructor(){super(...arguments),this.isStarting=!0,this.endRegexStack=[],this.multiline=!1}get endRegex(){return this.endRegexStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegex="",this.isStarting=!0,this.endRegexStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
|
|
77
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexStack=[];else{let n=po(r);this.endRegexStack.push(n),this.isStarting&&(this.startRegex+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
|
|
78
|
+
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexStack.push(r),this.isStarting&&(this.startRegex+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Dy=new Ey;function fS(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Dy.reset(t),Dy.visit(sM.pattern(t)),Dy.multiline}catch{return!1}}function Py(t){return(typeof t=="string"?new RegExp(t):t).test(" ")}function po(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function dS(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:po(e)).join("")}function pS(t,e){let r=aM(t),n=e.match(r);return!!n&&n[0].length>0}function aM(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(f){o+=r.substr(n,f),n+=f}function c(f){o+="(?:"+r.substr(n,f)+"|$)",n+=f}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}var Ay={};TN(Ay,{URI:()=>cM,Utils:()=>uM});var mS;(()=>{"use strict";var t={470:i=>{function o(c){if(typeof c!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(c))}function s(c,f){for(var p,m="",T=0,_=-1,E=0,N=0;N<=c.length;++N){if(N<c.length)p=c.charCodeAt(N);else{if(p===47)break;p=47}if(p===47){if(!(_===N-1||E===1))if(_!==N-1&&E===2){if(m.length<2||T!==2||m.charCodeAt(m.length-1)!==46||m.charCodeAt(m.length-2)!==46){if(m.length>2){var I=m.lastIndexOf("/");if(I!==m.length-1){I===-1?(m="",T=0):T=(m=m.slice(0,I)).length-1-m.lastIndexOf("/"),_=N,E=0;continue}}else if(m.length===2||m.length===1){m="",T=0,_=N,E=0;continue}}f&&(m.length>0?m+="/..":m="..",T=2)}else m.length>0?m+="/"+c.slice(_+1,N):m=c.slice(_+1,N),T=N-_-1;_=N,E=0}else p===46&&E!==-1?++E:E=-1}return m}var a={resolve:function(){for(var c,f="",p=!1,m=arguments.length-1;m>=-1&&!p;m--){var T;m>=0?T=arguments[m]:(c===void 0&&(c=process.cwd()),T=c),o(T),T.length!==0&&(f=T+"/"+f,p=T.charCodeAt(0)===47)}return f=s(f,!p),p?f.length>0?"/"+f:"/":f.length>0?f:"."},normalize:function(c){if(o(c),c.length===0)return".";var f=c.charCodeAt(0)===47,p=c.charCodeAt(c.length-1)===47;return(c=s(c,!f)).length!==0||f||(c="."),c.length>0&&p&&(c+="/"),f?"/"+c:c},isAbsolute:function(c){return o(c),c.length>0&&c.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var c,f=0;f<arguments.length;++f){var p=arguments[f];o(p),p.length>0&&(c===void 0?c=p:c+="/"+p)}return c===void 0?".":a.normalize(c)},relative:function(c,f){if(o(c),o(f),c===f||(c=a.resolve(c))===(f=a.resolve(f)))return"";for(var p=1;p<c.length&&c.charCodeAt(p)===47;++p);for(var m=c.length,T=m-p,_=1;_<f.length&&f.charCodeAt(_)===47;++_);for(var E=f.length-_,N=T<E?T:E,I=-1,A=0;A<=N;++A){if(A===N){if(E>N){if(f.charCodeAt(_+A)===47)return f.slice(_+A+1);if(A===0)return f.slice(_+A)}else T>N&&(c.charCodeAt(p+A)===47?I=A:A===0&&(I=0));break}var y=c.charCodeAt(p+A);if(y!==f.charCodeAt(_+A))break;y===47&&(I=A)}var h="";for(A=p+I+1;A<=m;++A)A!==m&&c.charCodeAt(A)!==47||(h.length===0?h+="..":h+="/..");return h.length>0?h+f.slice(_+I):(_+=I,f.charCodeAt(_)===47&&++_,f.slice(_))},_makeLong:function(c){return c},dirname:function(c){if(o(c),c.length===0)return".";for(var f=c.charCodeAt(0),p=f===47,m=-1,T=!0,_=c.length-1;_>=1;--_)if((f=c.charCodeAt(_))===47){if(!T){m=_;break}}else T=!1;return m===-1?p?"/":".":p&&m===1?"//":c.slice(0,m)},basename:function(c,f){if(f!==void 0&&typeof f!="string")throw new TypeError('"ext" argument must be a string');o(c);var p,m=0,T=-1,_=!0;if(f!==void 0&&f.length>0&&f.length<=c.length){if(f.length===c.length&&f===c)return"";var E=f.length-1,N=-1;for(p=c.length-1;p>=0;--p){var I=c.charCodeAt(p);if(I===47){if(!_){m=p+1;break}}else N===-1&&(_=!1,N=p+1),E>=0&&(I===f.charCodeAt(E)?--E==-1&&(T=p):(E=-1,T=N))}return m===T?T=N:T===-1&&(T=c.length),c.slice(m,T)}for(p=c.length-1;p>=0;--p)if(c.charCodeAt(p)===47){if(!_){m=p+1;break}}else T===-1&&(_=!1,T=p+1);return T===-1?"":c.slice(m,T)},extname:function(c){o(c);for(var f=-1,p=0,m=-1,T=!0,_=0,E=c.length-1;E>=0;--E){var N=c.charCodeAt(E);if(N!==47)m===-1&&(T=!1,m=E+1),N===46?f===-1?f=E:_!==1&&(_=1):f!==-1&&(_=-1);else if(!T){p=E+1;break}}return f===-1||m===-1||_===0||_===1&&f===m-1&&f===p+1?"":c.slice(f,m)},format:function(c){if(c===null||typeof c!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof c);return function(f,p){var m=p.dir||p.root,T=p.base||(p.name||"")+(p.ext||"");return m?m===p.root?m+T:m+"/"+T:T}(0,c)},parse:function(c){o(c);var f={root:"",dir:"",base:"",ext:"",name:""};if(c.length===0)return f;var p,m=c.charCodeAt(0),T=m===47;T?(f.root="/",p=1):p=0;for(var _=-1,E=0,N=-1,I=!0,A=c.length-1,y=0;A>=p;--A)if((m=c.charCodeAt(A))!==47)N===-1&&(I=!1,N=A+1),m===46?_===-1?_=A:y!==1&&(y=1):_!==-1&&(y=-1);else if(!I){E=A+1;break}return _===-1||N===-1||y===0||y===1&&_===N-1&&_===E+1?N!==-1&&(f.base=f.name=E===0&&T?c.slice(1,N):c.slice(E,N)):(E===0&&T?(f.name=c.slice(1,_),f.base=c.slice(1,N)):(f.name=c.slice(E,_),f.base=c.slice(E,N)),f.ext=c.slice(_,N)),E>0?f.dir=c.slice(0,E-1):T&&(f.dir="/"),f},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,i.exports=a}},e={};function r(i){var o=e[i];if(o!==void 0)return o.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}r.d=(i,o)=>{for(var s in o)r.o(o,s)&&!r.o(i,s)&&Object.defineProperty(i,s,{enumerable:!0,get:o[s]})},r.o=(i,o)=>Object.prototype.hasOwnProperty.call(i,o),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{var i;if(r.r(n),r.d(n,{URI:()=>I,Utils:()=>Ye}),typeof process=="object")i=process.platform==="win32";else if(typeof navigator=="object"){var o=navigator.userAgent;i=o.indexOf("Windows")>=0}var s,a,c=(s=function(j,M){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(U,W){U.__proto__=W}||function(U,W){for(var re in W)Object.prototype.hasOwnProperty.call(W,re)&&(U[re]=W[re])},s(j,M)},function(j,M){if(typeof M!="function"&&M!==null)throw new TypeError("Class extends value "+String(M)+" is not a constructor or null");function U(){this.constructor=j}s(j,M),j.prototype=M===null?Object.create(M):(U.prototype=M.prototype,new U)}),f=/^\w[\w\d+.-]*$/,p=/^\//,m=/^\/\//;function T(j,M){if(!j.scheme&&M)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(j.authority,'", path: "').concat(j.path,'", query: "').concat(j.query,'", fragment: "').concat(j.fragment,'"}'));if(j.scheme&&!f.test(j.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(j.path){if(j.authority){if(!p.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(m.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 ("//")')}}var _="",E="/",N=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,I=function(){function j(M,U,W,re,ve,ne){ne===void 0&&(ne=!1),typeof M=="object"?(this.scheme=M.scheme||_,this.authority=M.authority||_,this.path=M.path||_,this.query=M.query||_,this.fragment=M.fragment||_):(this.scheme=function(Yt,Rt){return Yt||Rt?Yt:"file"}(M,ne),this.authority=U||_,this.path=function(Yt,Rt){switch(Yt){case"https":case"http":case"file":Rt?Rt[0]!==E&&(Rt=E+Rt):Rt=E}return Rt}(this.scheme,W||_),this.query=re||_,this.fragment=ve||_,T(this,ne))}return j.isUri=function(M){return M instanceof j||!!M&&typeof M.authority=="string"&&typeof M.fragment=="string"&&typeof M.path=="string"&&typeof M.query=="string"&&typeof M.scheme=="string"&&typeof M.fsPath=="string"&&typeof M.with=="function"&&typeof M.toString=="function"},Object.defineProperty(j.prototype,"fsPath",{get:function(){return J(this,!1)},enumerable:!1,configurable:!0}),j.prototype.with=function(M){if(!M)return this;var U=M.scheme,W=M.authority,re=M.path,ve=M.query,ne=M.fragment;return U===void 0?U=this.scheme:U===null&&(U=_),W===void 0?W=this.authority:W===null&&(W=_),re===void 0?re=this.path:re===null&&(re=_),ve===void 0?ve=this.query:ve===null&&(ve=_),ne===void 0?ne=this.fragment:ne===null&&(ne=_),U===this.scheme&&W===this.authority&&re===this.path&&ve===this.query&&ne===this.fragment?this:new y(U,W,re,ve,ne)},j.parse=function(M,U){U===void 0&&(U=!1);var W=N.exec(M);return W?new y(W[2]||_,Xe(W[4]||_),Xe(W[5]||_),Xe(W[7]||_),Xe(W[9]||_),U):new y(_,_,_,_,_)},j.file=function(M){var U=_;if(i&&(M=M.replace(/\\/g,E)),M[0]===E&&M[1]===E){var W=M.indexOf(E,2);W===-1?(U=M.substring(2),M=E):(U=M.substring(2,W),M=M.substring(W)||E)}return new y("file",U,M,_,_)},j.from=function(M){var U=new y(M.scheme,M.authority,M.path,M.query,M.fragment);return T(U,!0),U},j.prototype.toString=function(M){return M===void 0&&(M=!1),fe(this,M)},j.prototype.toJSON=function(){return this},j.revive=function(M){if(M){if(M instanceof j)return M;var U=new y(M);return U._formatted=M.external,U._fsPath=M._sep===A?M.fsPath:null,U}return M},j}(),A=i?1:void 0,y=function(j){function M(){var U=j!==null&&j.apply(this,arguments)||this;return U._formatted=null,U._fsPath=null,U}return c(M,j),Object.defineProperty(M.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=J(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),M.prototype.toString=function(U){return U===void 0&&(U=!1),U?fe(this,!0):(this._formatted||(this._formatted=fe(this,!1)),this._formatted)},M.prototype.toJSON=function(){var U={$mid:1};return this._fsPath&&(U.fsPath=this._fsPath,U._sep=A),this._formatted&&(U.external=this._formatted),this.path&&(U.path=this.path),this.scheme&&(U.scheme=this.scheme),this.authority&&(U.authority=this.authority),this.query&&(U.query=this.query),this.fragment&&(U.fragment=this.fragment),U},M}(I),h=((a={})[58]="%3A",a[47]="%2F",a[63]="%3F",a[35]="%23",a[91]="%5B",a[93]="%5D",a[64]="%40",a[33]="%21",a[36]="%24",a[38]="%26",a[39]="%27",a[40]="%28",a[41]="%29",a[42]="%2A",a[43]="%2B",a[44]="%2C",a[59]="%3B",a[61]="%3D",a[32]="%20",a);function C(j,M,U){for(var W=void 0,re=-1,ve=0;ve<j.length;ve++){var ne=j.charCodeAt(ve);if(ne>=97&&ne<=122||ne>=65&&ne<=90||ne>=48&&ne<=57||ne===45||ne===46||ne===95||ne===126||M&&ne===47||U&&ne===91||U&&ne===93||U&&ne===58)re!==-1&&(W+=encodeURIComponent(j.substring(re,ve)),re=-1),W!==void 0&&(W+=j.charAt(ve));else{W===void 0&&(W=j.substr(0,ve));var Yt=h[ne];Yt!==void 0?(re!==-1&&(W+=encodeURIComponent(j.substring(re,ve)),re=-1),W+=Yt):re===-1&&(re=ve)}}return re!==-1&&(W+=encodeURIComponent(j.substring(re))),W!==void 0?W:j}function L(j){for(var M=void 0,U=0;U<j.length;U++){var W=j.charCodeAt(U);W===35||W===63?(M===void 0&&(M=j.substr(0,U)),M+=h[W]):M!==void 0&&(M+=j[U])}return M!==void 0?M:j}function J(j,M){var U;return U=j.authority&&j.path.length>1&&j.scheme==="file"?"//".concat(j.authority).concat(j.path):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?M?j.path.substr(1):j.path[1].toLowerCase()+j.path.substr(2):j.path,i&&(U=U.replace(/\//g,"\\")),U}function fe(j,M){var U=M?L:C,W="",re=j.scheme,ve=j.authority,ne=j.path,Yt=j.query,Rt=j.fragment;if(re&&(W+=re,W+=":"),(ve||re==="file")&&(W+=E,W+=E),ve){var Ge=ve.indexOf("@");if(Ge!==-1){var Xr=ve.substr(0,Ge);ve=ve.substr(Ge+1),(Ge=Xr.lastIndexOf(":"))===-1?W+=U(Xr,!1,!1):(W+=U(Xr.substr(0,Ge),!1,!1),W+=":",W+=U(Xr.substr(Ge+1),!1,!0)),W+="@"}(Ge=(ve=ve.toLowerCase()).lastIndexOf(":"))===-1?W+=U(ve,!1,!0):(W+=U(ve.substr(0,Ge),!1,!0),W+=ve.substr(Ge))}if(ne){if(ne.length>=3&&ne.charCodeAt(0)===47&&ne.charCodeAt(2)===58)(He=ne.charCodeAt(1))>=65&&He<=90&&(ne="/".concat(String.fromCharCode(He+32),":").concat(ne.substr(3)));else if(ne.length>=2&&ne.charCodeAt(1)===58){var He;(He=ne.charCodeAt(0))>=65&&He<=90&&(ne="".concat(String.fromCharCode(He+32),":").concat(ne.substr(2)))}W+=U(ne,!0,!1)}return Yt&&(W+="?",W+=U(Yt,!1,!1)),Rt&&(W+="#",W+=M?Rt:C(Rt,!1,!1)),W}function Ae(j){try{return decodeURIComponent(j)}catch{return j.length>3?j.substr(0,3)+Ae(j.substr(3)):j}}var Wt=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Xe(j){return j.match(Wt)?j.replace(Wt,function(M){return Ae(M)}):j}var Ye,V=r(470),it=function(j,M,U){if(U||arguments.length===2)for(var W,re=0,ve=M.length;re<ve;re++)!W&&re in M||(W||(W=Array.prototype.slice.call(M,0,re)),W[re]=M[re]);return j.concat(W||Array.prototype.slice.call(M))},Tt=V.posix||V,ur="/";(function(j){j.joinPath=function(M){for(var U=[],W=1;W<arguments.length;W++)U[W-1]=arguments[W];return M.with({path:Tt.join.apply(Tt,it([M.path],U,!1))})},j.resolvePath=function(M){for(var U=[],W=1;W<arguments.length;W++)U[W-1]=arguments[W];var re=M.path,ve=!1;re[0]!==ur&&(re=ur+re,ve=!0);var ne=Tt.resolve.apply(Tt,it([re],U,!1));return ve&&ne[0]===ur&&!M.authority&&(ne=ne.substring(1)),M.with({path:ne})},j.dirname=function(M){if(M.path.length===0||M.path===ur)return M;var U=Tt.dirname(M.path);return U.length===1&&U.charCodeAt(0)===46&&(U=""),M.with({path:U})},j.basename=function(M){return Tt.basename(M.path)},j.extname=function(M){return Tt.extname(M.path)}})(Ye||(Ye={}))})(),mS=n})();var{URI:cM,Utils:uM}=mS;var mo=Ay;"default"in mo&&(mo=mo.default);var Ar=mo.URI;var qe;(function(t){t.basename=mo.Utils.basename,t.dirname=mo.Utils.dirname,t.extname=mo.Utils.extname,t.joinPath=mo.Utils.joinPath,t.resolvePath=mo.Utils.resolvePath;function e(n,i){return n?.toString()===i?.toString()}t.equals=e;function r(n,i){let o=typeof n=="string"?n:n.path,s=typeof i=="string"?i:i.path,a=o.split("/").filter(T=>T.length>0),c=s.split("/").filter(T=>T.length>0),f=0;for(;f<a.length&&a[f]===c[f];f++);let p="../".repeat(a.length-f),m=c.slice(f).join("/");return p+m}t.relative=r})(qe=qe||(qe={}));var S6=qe.equals,k6=qe.relative;var Qf,hS=()=>Qf??(Qf=Zf(`{"$type":"Grammar","isDeclared":true,"name":"LangiumGrammar","rules":[{"$type":"ParserRule","name":"Grammar","entry":true,"definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"isDeclared","operator":"?=","terminal":{"$type":"Keyword","value":"grammar"}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"with"},{"$type":"Assignment","feature":"usedGrammars","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"usedGrammars","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"definesHiddenTokens","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"}},{"$type":"Keyword","value":"("},{"$type":"Group","elements":[{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}],"cardinality":"?"}],"cardinality":"?"},{"$type":"Assignment","feature":"imports","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"interfaces","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"types","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"+"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Interface","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"interface"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"extends"},{"$type":"Assignment","feature":"superTypes","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"superTypes","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SchemaType","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"attributes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TypeAttribute","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}},{"$type":"Assignment","feature":"isOptional","operator":"?=","terminal":{"$type":"Keyword","value":"?"},"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TypeDefinition","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"UnionType","inferredType":{"$type":"InferredType","name":"TypeDefinition"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"UnionType"},"feature":"types","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"types","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ArrayType","inferredType":{"$type":"InferredType","name":"TypeDefinition"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ArrayType"},"feature":"elementType","operator":"="},{"$type":"Keyword","value":"["},{"$type":"Keyword","value":"]"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ReferenceType","inferredType":{"$type":"InferredType","name":"TypeDefinition"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ReferenceType"}},{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"referenceType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SimpleType","inferredType":{"$type":"InferredType","name":"TypeDefinition"},"definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":")"}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"SimpleType"}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"typeRef","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"primitiveType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"stringType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}}]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PrimitiveType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"string"},{"$type":"Keyword","value":"number"},{"$type":"Keyword","value":"boolean"},{"$type":"Keyword","value":"Date"},{"$type":"Keyword","value":"bigint"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Type","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"type"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AbstractRule","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GrammarImport","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"import"},{"$type":"Assignment","feature":"path","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParserRule","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"entry","operator":"?=","terminal":{"$type":"Keyword","value":"entry"}},{"$type":"Assignment","feature":"fragment","operator":"?=","terminal":{"$type":"Keyword","value":"fragment"}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"wildcard","operator":"?=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"returnType","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Assignment","feature":"inferredType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[{"$type":"NamedArgument","value":{"$type":"LiteralCondition","true":false},"calledByName":false}]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"definesHiddenTokens","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"}},{"$type":"Keyword","value":"("},{"$type":"Group","elements":[{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"InferredType","parameters":[{"$type":"Parameter","name":"imperative"}],"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","guardCondition":{"$type":"ParameterReference","parameter":{"$ref":"#/rules@14/parameters@0"}},"elements":[{"$type":"Keyword","value":"infer"}]},{"$type":"Group","guardCondition":{"$type":"Negation","value":{"$type":"ParameterReference","parameter":{"$ref":"#/rules@14/parameters@0"}}},"elements":[{"$type":"Keyword","value":"infers"}]}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"wildcard":false},{"$type":"ParserRule","name":"RuleNameAndParams","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"parameters","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"parameters","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Parameter","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Alternatives","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Alternatives"},"feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ConditionalBranch","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Group"}},{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"guardCondition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":">"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"+"}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"UnorderedGroup","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"UnorderedGroup"},"feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"&"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Group"},"feature":"elements","operator":"+="},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AbstractToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AbstractTokenWithCardinality","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}]},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"*"},{"$type":"Keyword","value":"+"}]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Action","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Action"}},{"$type":"Keyword","value":"{"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"inferredType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[{"$type":"NamedArgument","value":{"$type":"LiteralCondition","true":true},"calledByName":false}]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"feature","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"+="}]}},{"$type":"Keyword","value":"current"}],"cardinality":"?"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AbstractTerminal","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@43"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Keyword","definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RuleCall","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NamedArgument","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"parameter","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@16"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"calledByName","operator":"?=","terminal":{"$type":"Keyword","value":"="}}],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LiteralCondition","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"true","operator":"?=","terminal":{"$type":"Keyword","value":"true"}},{"$type":"Keyword","value":"false"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Disjunction","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Disjunction"},"feature":"left","operator":"="},{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Conjunction","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Conjunction"},"feature":"left","operator":"="},{"$type":"Keyword","value":"&"},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Negation","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Negation"}},{"$type":"Keyword","value":"!"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Atom","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParenthesizedCondition","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParameterReference","definition":{"$type":"Assignment","feature":"parameter","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@16"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PredicatedKeyword","inferredType":{"$type":"InferredType","name":"Keyword"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"=>"},{"$type":"Keyword","value":"->"}]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PredicatedRuleCall","inferredType":{"$type":"InferredType","name":"RuleCall"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"=>"},{"$type":"Keyword","value":"->"}]},{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Assignment","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Assignment"}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"=>"},{"$type":"Keyword","value":"->"}],"cardinality":"?"},{"$type":"Assignment","feature":"feature","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"+="},{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"?="}]}},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AssignableTerminal","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParenthesizedAssignableElement","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AssignableAlternatives","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Alternatives"},"feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]}}],"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CrossReference","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"CrossReference"}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"deprecatedSyntax","operator":"?=","terminal":{"$type":"Keyword","value":"|"}},{"$type":"Keyword","value":":"}]},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CrossReferenceableTerminal","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParenthesizedElement","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PredicatedGroup","inferredType":{"$type":"InferredType","name":"Group"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"=>"},{"$type":"Keyword","value":"->"}]},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ReturnType","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalRule","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"hidden","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"},"cardinality":"?"},{"$type":"Keyword","value":"terminal"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"fragment","operator":"?=","terminal":{"$type":"Keyword","value":"fragment"}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}}],"cardinality":"?"}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@47"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalAlternatives","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"TerminalAlternatives"},"feature":"elements","operator":"+="},{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalGroup","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"TerminalGroup"},"feature":"elements","operator":"+="},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"*"},{"$type":"Keyword","value":"+"}]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalTokenElement","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@57"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@55"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@56"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParenthesizedTerminalElement","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"lookahead","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?="},{"$type":"Keyword","value":"?!"}]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@47"},"arguments":[]},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalRuleCall","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"TerminalRuleCall"}},{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@46"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NegatedToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"NegatedToken"}},{"$type":"Keyword","value":"!"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"UntilToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"UntilToken"}},{"$type":"Keyword","value":"->"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RegexToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"RegexToken"}},{"$type":"Assignment","feature":"regex","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Wildcard","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Wildcard"}},{"$type":"Keyword","value":"."}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CharacterRange","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"CharacterRange"}},{"$type":"Assignment","feature":"left","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":".."},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"FeatureName","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"current"},{"$type":"Keyword","value":"entry"},{"$type":"Keyword","value":"extends"},{"$type":"Keyword","value":"false"},{"$type":"Keyword","value":"fragment"},{"$type":"Keyword","value":"grammar"},{"$type":"Keyword","value":"hidden"},{"$type":"Keyword","value":"import"},{"$type":"Keyword","value":"interface"},{"$type":"Keyword","value":"returns"},{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"true"},{"$type":"Keyword","value":"type"},{"$type":"Keyword","value":"infer"},{"$type":"Keyword","value":"infers"},{"$type":"Keyword","value":"with"},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ID","definition":{"$type":"RegexToken","regex":"/\\\\^?[_a-zA-Z][\\\\w_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"(\\\\\\\\.|[^\\"\\\\\\\\])*\\"|'(\\\\\\\\.|[^'\\\\\\\\])*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RegexLiteral","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\/(?![*+?])(?:[^\\\\r\\\\n\\\\[/\\\\\\\\]|\\\\\\\\.|\\\\[(?:[^\\\\r\\\\n\\\\]\\\\\\\\]|\\\\\\\\.)*\\\\])+\\\\/[a-z]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/"},"fragment":false}],"types":[{"$type":"Type","name":"AbstractType","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@1"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@10"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@23/definition/elements@0"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@13"}}]}}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"interfaces":[],"usedGrammars":[]}`));var rd=Ie(bs(),1);var Au=Ie(io(),1);function lM(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var gS=0,fM=10;var yS=Symbol("OperationCancelled");function Os(t){return t===yS}async function kt(t){if(t===Au.CancellationToken.None)return;let e=Date.now();if(e-gS>=fM&&(gS=e,await lM()),t.isCancellationRequested)throw yS}var ed=class{constructor(){this.previousAction=Promise.resolve(),this.previousTokenSource=new Au.CancellationTokenSource}lock(e){this.cancel();let r=new Au.CancellationTokenSource;return this.previousTokenSource=r,this.previousAction=this.previousAction.then(()=>e(r.token).catch(n=>{Os(n)||console.error("Error: ",n)}))}cancel(){this.previousTokenSource.cancel()}};function Dn(t){return{code:t}}var Ea;(function(t){t.all=["fast","slow","built-in"]})(Ea=Ea||(Ea={}));var td=class{constructor(e){this.entries=new Ze,this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}}}wrapValidationException(e,r){return async(n,i,o)=>{try{await e.call(r,n,i,o)}catch(s){if(Os(s))throw s;console.error("An error occurred during validation:",s);let a=s instanceof Error?s.message:String(s);s instanceof Error&&s.stack&&console.error(s.stack),i("error","An error occurred during validation: "+a,{node:n})}}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Ce(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}};function vS(t,e){let r={unions:[],interfaces:[]};for(let n of t){let i=[];for(let a of n.attributes)i.push({name:a.name,optional:a.isOptional,astNodes:new Set([a]),type:Ls(a.type)});let o=new Set;for(let a of n.superTypes)a.ref&&o.add(li(a.ref));let s={name:n.name,declared:!0,abstract:!1,properties:i,superTypes:o,subTypes:new Set};r.interfaces.push(s)}for(let n of e){let i={name:n.name,declared:!0,type:Ls(n.type),superTypes:new Set,subTypes:new Set};r.unions.push(i)}return r}function Ls(t){if(Es(t))return{elementType:Ls(t.elementType)};if(Ps(t))return{referenceType:Ls(t.referenceType)};if(jn(t))return{types:t.types.map(Ls)};if(Hr(t)){let e;if(t.primitiveType)return e=t.primitiveType,{primitive:e};if(t.stringType)return e=t.stringType,{string:e};if(t.typeRef){let r=t.typeRef.ref,n=Ii(r);if(n)return Pa(n)?{primitive:n}:{value:n}}}return{primitive:"unknown"}}function Aa(t){return"referenceType"in t}function Ny(t){return"elementType"in t}function TS(t){return"types"in t}function Iy(t){return"value"in t}function dM(t){return"primitive"in t}function pM(t){return"string"in t}function RS(t){let e=new Map,r=new Map;for(let n of t.interfaces){let i=new Ca(n.name,n.declared,n.abstract);e.set(n.name,i)}for(let n of t.unions){let i=new Bf(n.name,{declared:n.declared,dataType:n.dataType});r.set(n.name,i)}for(let n of t.interfaces){let i=e.get(n.name);for(let o of n.superTypes){let s=e.get(o)||r.get(o);s&&i.superTypes.add(s)}for(let o of n.subTypes){let s=e.get(o)||r.get(o);s&&i.subTypes.add(s)}for(let o of n.properties){let s=mM(o,e,r);i.properties.push(s)}}for(let n of t.unions){let i=r.get(n.name);i.type=Nu(n.type,i,e,r)}return{interfaces:Array.from(e.values()),unions:Array.from(r.values())}}function mM(t,e,r){return{name:t.name,optional:t.optional,astNodes:t.astNodes,type:Nu(t.type,void 0,e,r)}}function Nu(t,e,r,n){if(Ny(t))return{elementType:Nu(t.elementType,e,r,n)};if(Aa(t))return{referenceType:Nu(t.referenceType,void 0,r,n)};if(TS(t))return{types:t.types.map(i=>Nu(i,e,r,n))};if(pM(t))return{string:t.string};if(dM(t))return{primitive:t.primitive,regex:t.regex};if(Iy(t)){let i=r.get(t.value)||n.get(t.value);return i?(e&&e.subTypes.add(i),{value:i}):{primitive:"unknown"}}else throw new Error("Invalid property type")}function Ly(t,e){let r=Iu(t),n=Iu(e);for(let i of n)hM(r,i)||r.push(i);return r.length===1?r[0]:{types:r}}function hM(t,e){return t.some(r=>Oy(r,e))}function Oy(t,e){return Ny(t)&&Ny(e)?Oy(t.elementType,e.elementType):Aa(t)&&Aa(e)?Oy(t.referenceType,e.referenceType):Iy(t)&&Iy(e)?t.value===e.value:!1}function Iu(t){return TS(t)?t.types.flatMap(e=>Iu(e)):[t]}function bS(t){let e=t.validation.ValidationRegistry,r=t.validation.LangiumGrammarValidator,n={Action:[r.checkAssignmentReservedName],AbstractRule:r.checkRuleName,Assignment:[r.checkAssignmentWithFeatureName,r.checkAssignmentToFragmentRule,r.checkAssignmentTypes,r.checkAssignmentReservedName],ParserRule:[r.checkParserRuleDataType,r.checkRuleParametersUsed,r.checkParserRuleReservedName],TerminalRule:[r.checkTerminalRuleReturnType,r.checkHiddenTerminalRule,r.checkEmptyTerminalRule],InferredType:r.checkTypeReservedName,Keyword:r.checkKeyword,UnorderedGroup:r.checkUnorderedGroup,Grammar:[r.checkGrammarName,r.checkEntryGrammarRule,r.checkUniqueRuleName,r.checkUniqueTypeName,r.checkUniqueImportedRules,r.checkDuplicateImportedGrammar,r.checkGrammarHiddenTokens,r.checkGrammarForUnusedRules,r.checkGrammarTypeInfer,r.checkClashingTerminalNames],GrammarImport:r.checkPackageImport,CharacterRange:r.checkInvalidCharacterRange,Interface:[r.checkTypeReservedName,r.checkInterfacePropertyTypes],Type:[r.checkTypeReservedName],TypeAttribute:r.checkTypeReservedName,RuleCall:[r.checkUsedHiddenTerminalRule,r.checkUsedFragmentTerminalRule,r.checkRuleCallParameters],TerminalRuleCall:r.checkUsedHiddenTerminalRule,CrossReference:[r.checkCrossReferenceSyntax,r.checkCrossRefNameAssignment,r.checkCrossRefTerminalType,r.checkCrossRefType,r.checkCrossReferenceToTypeUnion],SimpleType:r.checkFragmentsInTypes,ReferenceType:r.checkReferenceTypeUnion,RegexToken:[r.checkInvalidRegexFlags,r.checkDirectlyUsedRegexFlags]};e.register(n,r)}var Ke;(function(t){t.GrammarNameUppercase="grammar-name-uppercase",t.RuleNameUppercase="rule-name-uppercase",t.HiddenGrammarTokens="hidden-grammar-tokens",t.UseRegexTokens="use-regex-tokens",t.EntryRuleTokenSyntax="entry-rule-token-syntax",t.CrossRefTokenSyntax="cross-ref-token-syntax",t.UnnecessaryFileExtension="unnecessary-file-extension",t.InvalidReturns="invalid-returns",t.InvalidInfers="invalid-infers",t.MissingInfer="missing-infer",t.MissingReturns="missing-returns",t.SuperfluousInfer="superfluous-infer",t.OptionalUnorderedGroup="optional-unordered-group"})(Ke=Ke||(Ke={}));var nd=class{constructor(e){this.references=e.references.References,this.documents=e.shared.workspace.LangiumDocuments}checkGrammarName(e,r){if(e.name){let n=e.name.substring(0,1);n.toUpperCase()!==n&&r("warning","Grammar name should start with an upper case letter.",{node:e,property:"name",data:Dn(Ke.GrammarNameUppercase)})}}checkEntryGrammarRule(e,r){if(e.isDeclared&&!e.name)return;let n=e.rules.filter(i=>ee(i)&&i.entry);if(e.isDeclared&&n.length===0){let i=e.rules.find(o=>ee(o)&&!En(o));i?r("error","The grammar is missing an entry parser rule. This rule can be an entry one.",{node:i,property:"name",data:Dn(Ke.EntryRuleTokenSyntax)}):r("error","This grammar is missing an entry parser rule.",{node:e,property:"name"})}else!e.isDeclared&&n.length>=1?n.forEach(i=>r("error","Cannot declare entry rules for unnamed grammars.",{node:i,property:"name"})):n.length>1?n.forEach(i=>r("error","The entry rule has to be unique.",{node:i,property:"name"})):n.length===1&&En(n[0])&&r("error","The entry rule cannot be a data type rule.",{node:n[0],property:"name"})}checkUniqueRuleName(e,r){let n=i=>Ce(i.rules).filter(o=>!Ou(o));this.checkUniqueName(e,r,n,"rule")}checkUniqueTypeName(e,r){let n=i=>Ce(i.types).concat(i.interfaces);this.checkUniqueName(e,r,n,"type")}checkUniqueName(e,r,n,i){let o=new Ze;n(e).forEach(c=>o.add(c.name,c));for(let[,c]of o.entriesGroupedByKey())c.length>1&&c.forEach(f=>{r("error",`A ${i}'s name has to be unique.`,{node:f,property:"name"})});let s=new Set,a=Lu(this.documents,e);for(let c of a)n(c).forEach(f=>s.add(f.name));for(let c of o.keys())s.has(c)&&o.get(c).forEach(p=>{r("error",`A ${i} with the name '${p.name}' already exists in an imported grammar.`,{node:p,property:"name"})})}checkDuplicateImportedGrammar(e,r){let n=new Ze;for(let i of e.imports){let o=ho(this.documents,i);o&&n.add(o,i)}for(let[,i]of n.entriesGroupedByKey())i.length>1&&i.forEach((o,s)=>{s>0&&r("warning","The grammar is already being directly imported.",{node:o,tags:[rd.DiagnosticTag.Unnecessary]})})}checkUniqueImportedRules(e,r){let n=new Map;for(let o of e.imports){let s=Lu(this.documents,o);n.set(o,s)}let i=new Ze;for(let o of e.imports){let s=n.get(o);for(let a of e.imports){if(o===a)continue;let c=n.get(a),f=this.getDuplicateExportedRules(s,c);for(let p of f)i.add(o,p)}}for(let o of e.imports){let s=i.get(o);s.length>0&&r("error","Some rules exported by this grammar are also included in other imports: "+Ce(s).distinct().join(", "),{node:o,property:"path"})}}getDuplicateExportedRules(e,r){let i=e.filter(a=>!r.includes(a)).flatMap(a=>a.rules),o=r.flatMap(a=>a.rules),s=new Set;for(let a of i){let c=a.name;for(let f of o){let p=f.name;c===p&&s.add(f.name)}}return s}checkGrammarTypeInfer(e,r){var n,i,o;let s=new Set;for(let c of e.types)s.add(c.name);for(let c of e.interfaces)s.add(c.name);for(let c of Lu(this.documents,e))c.types.forEach(f=>s.add(f.name)),c.interfaces.forEach(f=>s.add(f.name));for(let c of e.rules.filter(ee)){if(Ou(c))continue;let f=En(c),p=!c.returnType&&!c.dataType,m=Ii(c);if(!f&&m&&s.has(m)===p){if((p||((n=c.returnType)===null||n===void 0?void 0:n.ref)!==void 0)&&c.inferredType===void 0)r("error",a(m,p),{node:c,property:"name",data:Dn(Ke.MissingReturns)});else if(p||((i=c.returnType)===null||i===void 0?void 0:i.ref)!==void 0){let T=Un(c.inferredType.$cstNode,"infers");r("error",a(m,p),{node:c.inferredType,property:"name",data:{code:Ke.InvalidInfers,actionSegment:Wr(T)}})}}else if(f&&p){let T=Un(c.$cstNode,"infer");r("error","Data type rules cannot infer a type.",{node:c,property:"inferredType",data:{code:Ke.InvalidInfers,actionSegment:Wr(T)}})}}for(let c of St(e).filter(et)){let f=this.getActionType(c);if(f){let p=!!c.inferredType,m=Ii(c);if(c.type&&m&&s.has(m)===p){let T=p?Un(c.$cstNode,"infer"):Un(c.$cstNode,"{");r("error",a(m,p),{node:c,property:"type",data:{code:p?Ke.SuperfluousInfer:Ke.MissingInfer,actionSegment:Wr(T)}})}else if(f&&m&&s.has(m)&&p&&c.$cstNode){let T=Pr((o=c.inferredType)===null||o===void 0?void 0:o.$cstNode,"name"),_=Un(c.$cstNode,"{");T&&_&&r("error",`${m} is a declared type and cannot be redefined.`,{node:c,property:"type",data:{code:Ke.SuperfluousInfer,actionRange:{start:_.range.end,end:T.range.start}}})}}}function a(c,f){return f?`The type '${c}' is already explicitly declared and cannot be inferred.`:`The type '${c}' is not explicitly declared and must be inferred.`}}getActionType(e){var r;if(e.type)return(r=e.type)===null||r===void 0?void 0:r.ref;if(e.inferredType)return e.inferredType}checkGrammarHiddenTokens(e,r){e.definesHiddenTokens&&r("error","Hidden terminals are declared at the terminal definition.",{node:e,property:"definesHiddenTokens",data:Dn(Ke.HiddenGrammarTokens)})}checkHiddenTerminalRule(e,r){e.hidden&&e.fragment&&r("error","Cannot use terminal fragments as hidden tokens.",{node:e,property:"hidden"})}checkEmptyTerminalRule(e,r){try{let n=Hn(e);new RegExp(n).test("")&&r("error","This terminal could match an empty string.",{node:e,property:"name"})}catch{}}checkInvalidRegexFlags(e,r){let n=e.regex;if(n){let i=n.lastIndexOf("/"),o=n.substring(i+1),s="gmy",c=s+"isu",f=new Set,p=new Set;for(let T=0;T<o.length;T++){let _=o.charAt(T);c.includes(_)?s.includes(_)&&p.add(_):f.add(_)}let m=this.getFlagRange(e);m&&(f.size>0?r("error",`'${Array.from(f).join("")}' ${f.size>1?"are":"is"} not valid regular expression flag${f.size>1?"s":""}.`,{node:e,range:m}):p.size>0&&r("warning",`'${Array.from(p).join("")}' regular expression flag${p.size>1?"s":""} will be ignored by Langium.`,{node:e,range:m}))}}checkDirectlyUsedRegexFlags(e,r){if(!Be(e.$container)){let n=this.getFlagRange(e);n&&r("warning","Regular expression flags are only applied if the terminal is not a composition",{node:e,range:n})}}getFlagRange(e){let r=Pr(e.$cstNode,"regex");if(!r||!e.regex)return;let n=e.regex,i=n.lastIndexOf("/")+1;return{start:{line:r.range.end.line,character:r.range.end.character-n.length+i},end:r.range.end}}checkUsedHiddenTerminalRule(e,r){let n=rt(e,i=>Be(i)||ee(i));if(n){if("hidden"in n&&n.hidden)return;let i=e.rule.ref;Be(i)&&i.hidden&&r("error","Cannot use hidden terminal in non-hidden rule",{node:e,property:"rule"})}}checkUsedFragmentTerminalRule(e,r){let n=e.rule.ref;Be(n)&&n.fragment&&rt(e,ee)&&r("error","Cannot use terminal fragments as part of parser rules.",{node:e,property:"rule"})}checkCrossReferenceSyntax(e,r){e.deprecatedSyntax&&r("error","'|' is deprecated. Please, use ':' instead.",{node:e,property:"deprecatedSyntax",data:Dn(Ke.CrossRefTokenSyntax)})}checkPackageImport(e,r){ho(this.documents,e)===void 0?r("error","Import cannot be resolved.",{node:e,property:"path"}):e.path.endsWith(".langium")&&r("warning","Imports do not need file extensions.",{node:e,property:"path",data:Dn(Ke.UnnecessaryFileExtension)})}checkInvalidCharacterRange(e,r){if(e.right){let n="Character ranges cannot use more than one character",i=!1;e.left.value.length>1&&(i=!0,r("error",n,{node:e.left,property:"value"})),e.right.value.length>1&&(i=!0,r("error",n,{node:e.right,property:"value"})),i||r("hint","Consider using regex instead of character ranges",{node:e,data:Dn(Ke.UseRegexTokens)})}}checkGrammarForUnusedRules(e,r){let n=Na(e,!0);for(let i of e.rules)Be(i)&&i.hidden||Ou(i)||n.has(i)||r("hint","This rule is declared but never referenced.",{node:i,property:"name",tags:[rd.DiagnosticTag.Unnecessary]})}checkClashingTerminalNames(e,r){let n=new Ze,i=new Set;for(let f of e.rules)Be(f)&&f.name&&n.add(f.name,f),ee(f)&&St(f).filter(Ht).forEach(m=>i.add(m.value));let o=new Ze,s=new Ze;for(let f of e.imports){let p=Lu(this.documents,f);for(let m of p)for(let T of m.rules)Be(T)&&T.name?o.add(T.name,f):ee(T)&&T.name&&St(T).filter(Ht).forEach(E=>s.add(E.value,f))}for(let f of n.values())if(i.has(f.name))r("error","Terminal name clashes with existing keyword.",{node:f,property:"name"});else if(s.has(f.name)){let p=s.get(f.name);r("error",`Terminal name clashes with imported keyword from "${p[0].path}".`,{node:f,property:"name"})}let a=new Ze;for(let f of i)for(let p of o.get(f))a.add(p,f);for(let[f,p]of a.entriesGroupedByKey())p.length>0&&r("error",`Imported terminals (${p.join(", ")}) clash with locally defined keywords.`,{node:f,property:"path"});let c=new Ze;for(let[f,p]of o.entriesGroupedByKey()){let m=s.get(f);m.length>0&&p.filter(T=>!m.includes(T)).forEach(T=>c.add(T,f))}for(let[f,p]of c.entriesGroupedByKey())p.length>0&&r("error",`Imported terminals (${p.join(", ")}) clash with imported keywords.`,{node:f,property:"path"})}checkRuleName(e,r){if(e.name&&!Ou(e)){let n=e.name.substring(0,1);n.toUpperCase()!==n&&r("warning","Rule name should start with an upper case letter.",{node:e,property:"name",data:Dn(Ke.RuleNameUppercase)})}}checkTypeReservedName(e,r){this.checkReservedName(e,"name",r)}checkAssignmentReservedName(e,r){this.checkReservedName(e,"feature",r)}checkParserRuleReservedName(e,r){e.inferredType||this.checkReservedName(e,"name",r)}checkReservedName(e,r,n){let i=e[r];typeof i=="string"&&gM.has(i)&&n("error",`'${i}' is a reserved name of the JavaScript runtime.`,{node:e,property:r})}checkKeyword(e,r){rt(e,ee)&&(e.value.length===0?r("error","Keywords cannot be empty.",{node:e}):e.value.trim().length===0?r("error","Keywords cannot only consist of whitespace characters.",{node:e}):/\s/g.test(e.value)&&r("warning","Keywords should not contain whitespace characters.",{node:e}))}checkUnorderedGroup(e,r){e.elements.forEach(n=>{Wn(n.cardinality)&&r("error","Optional elements in Unordered groups are currently not supported",{node:n,data:Dn(Ke.OptionalUnorderedGroup)})})}checkRuleParametersUsed(e,r){let n=e.parameters;if(n.length>0){let i=St(e).filter(ba);for(let o of n)i.some(s=>s.parameter.ref===o)||r("hint",`Parameter '${o.name}' is unused.`,{node:o,tags:[rd.DiagnosticTag.Unnecessary]})}}checkParserRuleDataType(e,r){if(Ou(e))return;let n=_S(e),i=En(e);!n&&i?r("error","This parser rule does not create an object. Add a primitive return type or an action to the start of the rule to force object instantiation.",{node:e,property:"name"}):n&&!i&&r("error","Normal parser rules are not allowed to return a primitive value. Use a datatype rule for that.",{node:e,property:e.dataType?"dataType":"returnType"})}checkAssignmentToFragmentRule(e,r){e.terminal&&tt(e.terminal)&&ee(e.terminal.rule.ref)&&e.terminal.rule.ref.fragment&&r("error",`Cannot use fragment rule '${e.terminal.rule.ref.name}' for assignment of property '${e.feature}'.`,{node:e,property:"terminal"})}checkAssignmentTypes(e,r){if(!e.terminal)return;let n;St(e.terminal).map(o=>Dr(o)?"ref":"other").find(o=>n?o!==n:(n=o,!1))&&r("error",this.createMixedTypeError(e.feature),{node:e,property:"terminal"})}checkInterfacePropertyTypes(e,r){for(let n of e.attributes)if(n.type){let i=Ls(n.type),o=Iu(i),s=!1,a=!1;for(let c of o)Aa(c)?s=!0:Aa(c)||(a=!0);s&&a&&r("error",this.createMixedTypeError(n.name),{node:n,property:"type"})}}createMixedTypeError(e){return`Mixing a cross-reference with other types is not supported. Consider splitting property "${e}" into two or more different properties.`}checkTerminalRuleReturnType(e,r){var n;!((n=e.type)===null||n===void 0)&&n.name&&!Pa(e.type.name)&&r("error","Terminal rules can only return primitive types like 'string', 'boolean', 'number', 'Date' or 'bigint'.",{node:e.type,property:"name"})}checkRuleCallParameters(e,r){let n=e.rule.ref;if(ee(n)){let i=n.parameters.length,o=e.arguments.length;i!==o&&r("error",`Rule '${n.name}' expects ${i} arguments, but got ${o}.`,{node:e})}else Be(n)&&e.arguments.length>0&&r("error","Terminal rules do not accept any arguments",{node:e})}checkCrossRefNameAssignment(e,r){!e.terminal&&e.type.ref&&!Mu(e.type.ref)&&r("error","Cannot infer terminal or data type rule for cross-reference.",{node:e,property:"type"})}checkCrossRefTerminalType(e,r){var n;let i=e.terminal;if(tt(i)){let o=i.rule.ref;ee(o)&&!En(o)?r("error","Parser rules cannot be used for cross-references.",{node:i,property:"rule"}):ee(o)&&!SS(o)?r("error","Data type rules for cross-references must be of type string.",{node:i,property:"rule"}):Be(o)&&(!((n=o.type)===null||n===void 0)&&n.name)&&o.type.name!=="string"&&r("error","Terminal rules for cross-references must be of type string.",{node:i,property:"rule"})}}checkCrossRefType(e,r){let n=this.checkReferenceToRuleButNotType(e?.type);n&&r("error",n,{node:e,property:"type"})}checkCrossReferenceToTypeUnion(e,r){if(vr(e.type.ref)&&jn(e.type.ref.type)){let n=xS(e.type.ref.type);n.length>0&&r("error",`Cross-reference on type union is only valid if all alternatives are AST nodes. ${n.join(", ")} ${n.length>1?"are":"is"} not ${n.length>1?"":"an "}AST node${n.length>1?"s":""}.`,{node:e,property:"type"})}}checkFragmentsInTypes(e,r){var n,i;ee((n=e.typeRef)===null||n===void 0?void 0:n.ref)&&(!((i=e.typeRef)===null||i===void 0)&&i.ref.fragment)&&r("error","Cannot use rule fragments in types.",{node:e,property:"typeRef"})}checkReferenceTypeUnion(e,r){Hr(e.referenceType)||r("error","Only direct rule references are allowed in reference types.",{node:e,property:"referenceType"})}checkReferenceToRuleButNotType(e){if(e&&ee(e.ref)&&!En(e.ref)&&(e.ref.returnType||e.ref.inferredType)){let r=Ii(e.ref);if(r)return`Use the rule type '${r}' instead of the typed rule name '${e.ref.name}' for cross-references.`}}checkAssignmentWithFeatureName(e,r){e.feature==="name"&&Dr(e.terminal)&&r("warning",'The "name" property is not recommended for cross-references.',{node:e,property:"feature"})}};function Ou(t){return!t.definition||!t.definition.$cstNode||t.definition.$cstNode.length===0}var gM=new Set(["Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Map","Set","WeakMap","WeakSet","Error","AggregateError","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","BigInt","RegExp","Number","Object","Function","Symbol","String","Math","NaN","Infinity","isFinite","isNaN","Buffer","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","globalThis","decodeURIComponent","decodeURI","encodeURIComponent","encodeURI","parseInt","parseFloat","Promise","Generator","GeneratorFunction","AsyncFunction","AsyncGenerator","AsyncGeneratorFunction","Reflect","Proxy","Date","Intl","eval","undefined"]);function xS(t){let e=[];return t.types.forEach(r=>{var n;Hr(r)&&(!((n=r.typeRef)===null||n===void 0)&&n.ref?vr(r.typeRef.ref)&&(jn(r.typeRef.ref.type)?e.push(...xS(r.typeRef.ref.type)):e.push(r.typeRef.ref.name)):r.stringType?e.push(`"${r.stringType}"`):r.primitiveType&&e.push(r.primitiveType))}),Array.from(new Set(e))}function Wn(t,e){return t==="?"||t==="*"||Tr(e)&&!!e.guardCondition}function kS(t){return t==="*"||t==="+"}function En(t){return CS(t,new Set)}function CS(t,e){if(e.has(t))return!0;e.add(t);for(let r of St(t))if(tt(r)){if(!r.rule.ref||ee(r.rule.ref)&&!CS(r.rule.ref,e))return!1}else{if(je(r))return!1;if(et(r))return!1}return!!t.definition}function _S(t){var e;let r=(e=t.returnType)===null||e===void 0?void 0:e.ref;return t.dataType!==void 0||vr(r)&&yM(r)}function yM(t){return $y(t.type,new Set)}function $y(t,e){if(e.has(t))return!0;if(e.add(t),Es(t))return!1;if(Ps(t))return!1;if(jn(t))return t.types.every(r=>$y(r,e));if(Hr(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return vr(r)?$y(r.type,e):!1}else return!1}else return!1}function SS(t){return $u(t,new Set)}function $u(t,e){var r,n;if(e.has(t))return!0;if(e.add(t),ee(t)){if(t.dataType)return t.dataType==="string";if(!((r=t.returnType)===null||r===void 0)&&r.ref)return $u(t.returnType.ref,e)}else{if(vr(t))return $u(t.type,e);if(Es(t))return!1;if(Ps(t))return!1;if(jn(t))return t.types.every(i=>$u(i,e));if(Hr(t)){if(t.primitiveType==="string")return!0;if(t.stringType)return!0;if(!((n=t.typeRef)===null||n===void 0)&&n.ref)return $u(t.typeRef.ref,e)}}return!1}function Fy(t){let e=t.$container;if(Tr(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(et(o))return o;{let s=St(r[i]).find(et);if(s)return s}}}if(va(e))return Fy(e)}function li(t){var e;if(ee(t))return En(t)?t.name:(e=Oa(t))!==null&&e!==void 0?e:t.name;if(pn(t)||vr(t)||xa(t))return t.name;if(et(t)){let r=La(t);if(r)return r}else if(Ra(t))return t.name;throw new Kf("Cannot get name of Unknown Type",t.$cstNode)}function Ii(t){if(t)try{return li(t)}catch{return}}function Oa(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(ee(e))return e.name;if(pn(e)||vr(e))return e.name}}}function La(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return li(t.type.ref)}function Ms(t){var e,r,n;return Be(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":En(t)?t.name:(n=Oa(t))!==null&&n!==void 0?n:t.name}function Hn(t){let e={s:!1,i:!1,u:!1},r=Ma(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var jy=/[\s\S]/.source;function Ma(t,e){if(L_(t))return vM(t);if($_(t))return TM(t);if(Ff(t))return xM(t);if(jf(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return go(Ma(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(P_(t))return bM(t);if(U_(t))return RM(t);if(N_(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),go(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(H_(t))return go(jy,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function vM(t){return go(t.elements.map(e=>Ma(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function TM(t){return go(t.elements.map(e=>Ma(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function RM(t){return go(`${jy}*?${Ma(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function bM(t){return go(`(?!${Ma(t.terminal)})${jy}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function xM(t){return t.right?go(`[${My(t.left)}-${My(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):go(My(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function My(t){return po(t.value)}function go(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function Uy(t){if(t.path===void 0||t.path.length===0)return;let e=qe.dirname(ke(t).uri),r=t.path;return r.endsWith(".langium")||(r+=".langium"),qe.resolvePath(e,r)}function ho(t,e){let r=Uy(e);try{if(r){let i=t.getOrCreateDocument(r).parseResult.value;if(Ta(i))return i}}catch{}}function Lu(t,e){if($f(e)){let r=ho(t,e);if(r){let n=qy(t,r);return n.push(r),n}return[]}else return qy(t,e)}function qy(t,e,r=e,n=new Set,i=new Set){let o=ke(e);if(r!==e&&i.add(e),!n.has(o.uri)){n.add(o.uri);for(let s of e.imports){let a=ho(t,s);a&&qy(t,a,r,n,i)}}return Array.from(i)}function Ia(t){return je(t)?[t]:Sn(t)||Tr(t)||kn(t)?t.elements.flatMap(e=>Ia(e)):tt(t)&&t.rule.ref?Ia(t.rule.ref.definition):[]}var _M=["string","number","boolean","Date","bigint"];function Pa(t){return _M.includes(t)}var Wy=class{constructor(e,r){this.context=e,this.root=r}getTypes(){let e={name:this.root.name,properties:this.root.properties,ruleCalls:this.root.ruleCalls,super:[]};return this.root.children.length===0?[{alt:e,next:[]}]:this.applyNext(this.root,{alt:e,next:this.root.children})}applyNext(e,r){let n=this.splitType(r.alt,r.next.length),i=[];for(let o=0;o<r.next.length;o++){let s=n[o],a=r.next[o];a.actionWithAssignment&&i.push({alt:wS(s),next:[]}),a.name!==void 0&&a.name!==s.name&&(a.actionWithAssignment?(s.properties=[],s.ruleCalls=[],s.super=[e.name],s.name=a.name):(s.super=[s.name,...s.ruleCalls],s.properties=[],s.ruleCalls=[],s.name=a.name)),s.properties.push(...a.properties),s.ruleCalls.push(...a.ruleCalls);let c={alt:s,next:a.children};c.next.length===0?(c.alt.super=c.alt.super.filter(f=>f!==c.alt.name),i.push(c)):i.push(...this.applyNext(e,c))}return NS(i)}splitType(e,r){let n=[];for(let i=0;i<r;i++)n.push(wS(e));return n}getSuperTypes(e){let r=new Set;return this.collectSuperTypes(e,e,r),Array.from(r)}collectSuperTypes(e,r,n){if(r.ruleCalls.length>0){for(let i of r.ruleCalls)n.add(i);return}for(let i of r.parents)e.name===void 0?this.collectSuperTypes(i,i,n):i.name!==void 0&&i.name!==e.name?n.add(i.name):this.collectSuperTypes(e,i,n);r.parents.length===0&&r.name&&n.add(r.name)}connect(e,r){return r.parents.push(e),e.children.push(r),r}merge(...e){if(e.length===1)return e[0];if(e.length===0)throw new Error("No parts to merge");let r=$s();r.parents=e;for(let n of e)n.children.push(r);return r}hasLeafNode(e){return this.partHasLeafNode(e)}partHasLeafNode(e,r){return e.children.some(n=>n!==r)?!0:e.name?!1:e.parents.some(n=>this.partHasLeafNode(n,e))}};function SM(t){return{name:t.name,children:[],parents:[],actionWithAssignment:t.actionWithAssignment,ruleCalls:[...t.ruleCalls],properties:t.properties.map(DS)}}function wS(t){return{name:t.name,super:t.super,ruleCalls:t.ruleCalls,properties:t.properties.map(e=>DS(e))}}function DS(t){return{name:t.name,optional:t.optional,type:t.type,astNodes:t.astNodes}}function ES(t,e,r){let n=[],i={fragments:new Map};for(let c of t)n.push(...PS(i,c));let o=PM(n),s=AM(o),a=NM(o,s,r);for(let c of e){let f=kM(c);a.unions.push({name:c.name,declared:!1,type:f,subTypes:new Set,superTypes:new Set,dataType:c.dataType})}return a}function kM(t){if(t.dataType&&t.dataType!=="string")return{primitive:t.dataType};let e=!1,r=()=>(e=!0,{primitive:"unknown"}),n=Hy(t.definition,r);return e?{primitive:"string"}:n}function Hy(t,e){var r,n,i;if(t.cardinality)return e();if(Sn(t))return{types:t.elements.map(o=>Hy(o,e))};if(Tr(t)||kn(t))return t.elements.length!==1?e():Hy(t.elements[0],e);if(tt(t)){let o=(r=t.rule)===null||r===void 0?void 0:r.ref;return o?Be(o)?{primitive:(i=(n=o.type)===null||n===void 0?void 0:n.name)!==null&&i!==void 0?i:"string",regex:Hn(o).toString()}:{value:o.name}:e()}else if(Ht(t))return{string:t.value};return e()}function PS(t,e){let r=$s(e),n=new Wy(t,r);return e.definition&&Gy(n,n.root,e.definition),n.getTypes()}function $s(t){return{name:ee(t)||et(t)?Ii(t):t,properties:[],ruleCalls:[],children:[],parents:[],actionWithAssignment:!1}}function Gy(t,e,r){let n=Wn(r.cardinality,r);if(Sn(r)){let i=[];n&&i.push(t.connect(e,$s()));for(let o of r.elements){let s=t.connect(e,$s());i.push(Gy(t,s,o))}return t.merge(...i)}else if(Tr(r)||kn(r)){let i=t.connect(e,$s()),o;n&&(o=t.connect(e,$s()));for(let s of r.elements)i=Gy(t,i,s);return o?t.merge(o,i):i}else{if(et(r))return CM(t,e,r);je(r)?wM(e,r):tt(r)&&DM(t,e,r)}return e}function CM(t,e,r){var n;if(!t.hasLeafNode(e)){let o=SM(e);t.connect(e,o)}let i=t.connect(e,$s(r));if(r.type){let o=(n=r.type)===null||n===void 0?void 0:n.ref;o&&wu(o)&&(i.name=o.name)}return r.feature&&r.operator&&(i.actionWithAssignment=!0,i.properties.push({name:r.feature,optional:!1,type:qs(r.operator==="+=",!1,t.root.ruleCalls.length!==0?t.root.ruleCalls:t.getSuperTypes(i)),astNodes:new Set([r])})),i}function wM(t,e){let r={types:new Set,reference:!1};AS(e.terminal,r);let n=qs(e.operator==="+=",r.reference,e.operator==="?="?["boolean"]:Array.from(r.types));t.properties.push({name:e.feature,optional:Wn(e.cardinality),type:n,astNodes:new Set([e])})}function AS(t,e){if(Sn(t)||kn(t)||Tr(t))for(let r of t.elements)AS(r,e);else if(Ht(t))e.types.add(`'${t.value}'`);else if(tt(t)&&t.rule.ref)e.types.add(Ms(t.rule.ref));else if(Dr(t)&&t.type.ref){let r=Ii(t.type.ref);r&&e.types.add(r),e.reference=!0}}function DM(t,e,r){let n=r.rule.ref;if(ee(n)&&n.fragment){let i=EM(n,t.context);Wn(r.cardinality)?e.properties.push(...i.map(o=>Object.assign(Object.assign({},o),{optional:!0}))):e.properties.push(...i)}else ee(n)&&e.ruleCalls.push(Ms(n))}function EM(t,e){let r=e.fragments.get(t);if(r)return r;let n=[];e.fragments.set(t,n);let i=Ii(t),o=PS(e,t).filter(s=>s.alt.name===i);return n.push(...o.flatMap(s=>s.alt.properties)),n}function PM(t){let e=new Map,r=[],n=NS(t).map(i=>i.alt);for(let i of n){let o={name:i.name,properties:i.properties,superTypes:new Set(i.super),subTypes:new Set,declared:!1,abstract:!1};e.set(o.name,o),i.ruleCalls.length>0&&(r.push(i),i.ruleCalls.forEach(s=>{s!==o.name&&o.subTypes.add(s)}))}for(let i of r)for(let o of i.ruleCalls){let s=e.get(o);s&&s.name!==i.name&&s.superTypes.add(i.name)}return Array.from(e.values())}function NS(t){let e=t.reduce((n,i)=>n.add(i.alt.name,i),new Ze),r=[];for(let[n,i]of e.entriesGroupedByKey()){let o=[],s=new Set,a={alt:{name:n,properties:o,ruleCalls:[],super:[]},next:[]};for(let c of i){let f=c.alt;a.alt.super.push(...f.super),a.next.push(...c.next);let p=f.properties;for(let m of p){let T=o.find(_=>_.name===m.name);T?(T.type=Ly(T.type,m.type),m.astNodes.forEach(_=>T.astNodes.add(_))):o.push(Object.assign({},m))}f.ruleCalls.forEach(m=>s.add(m))}for(let c of i){let f=c.alt;if(f.ruleCalls.length===0)for(let p of o)f.properties.find(m=>m.name===p.name)||(p.optional=!0)}a.alt.ruleCalls=Array.from(s),r.push(a)}return r}function AM(t){let e=new Map(t.map(i=>[i.name,i])),r=[],n=new Ze;for(let i of t)for(let o of i.superTypes)n.add(o,i.name);for(let[i,o]of n.entriesGroupedByKey())if(!e.has(i)){let s={declared:!1,name:i,subTypes:new Set,superTypes:new Set,type:qs(!1,!1,o)};r.push(s)}return r}function NM(t,e,r){let n=new Ze;for(let a of t)for(let c of a.superTypes)n.add(c,a.name);let i=new Set(r.interfaces.map(a=>a.name)),o={interfaces:[],unions:e},s=new Map(e.map(a=>[a.name,a]));for(let a of t){let c=new Set(n.get(a.name));if(a.properties.length===0&&c.size>0)if(i.has(a.name))a.abstract=!0,o.interfaces.push(a);else{let f=qs(!1,!1,Array.from(c)),p=s.get(a.name);if(p)p.type=Ly(p.type,f);else{let m={name:a.name,declared:!1,subTypes:c,superTypes:a.superTypes,type:f};o.unions.push(m),s.set(a.name,m)}}else o.interfaces.push(a)}for(let a of o.interfaces)a.superTypes=new Set([...a.superTypes].filter(c=>!s.has(c)));return o}function qs(t,e,r){if(t)return{elementType:qs(!1,e,r)};if(e)return{referenceType:qs(!1,!1,r)};if(r.length===1){let n=r[0];return n.startsWith("'")?{string:n.substring(1,n.length-1)}:Pa(n)?{primitive:n}:{value:n}}else return{types:r.map(n=>qs(!1,!1,[n]))}}function IS(t,e){let r=OS(t,e),n=vS(r.interfaces,r.types),i=ES(r.parserRules,r.datatypeRules,n);return{astResources:r,inferred:i,declared:n}}function OS(t,e,r=new Set,n={parserRules:[],datatypeRules:[],interfaces:[],types:[]}){Array.isArray(t)||(t=[t]);for(let i of t){let o=ke(i);if(!r.has(o.uri)){r.add(o.uri);for(let s of i.rules)ee(s)&&!s.fragment&&(En(s)?n.datatypeRules.push(s):n.parserRules.push(s));if(i.interfaces.forEach(s=>n.interfaces.push(s)),i.types.forEach(s=>n.types.push(s)),e){let s=i.imports.map(a=>ho(e,a)).filter(a=>a!==void 0);OS(s,e,r,n)}}}return n}function $S(t,e){let{inferred:r,declared:n,astResources:i}=IS(t,e);return{astResources:i,inferred:LS(n,r),declared:LS(r,n)}}function LS(t,e){var r,n;let i={interfaces:uS(MS(...t.interfaces,...(r=e?.interfaces)!==null&&r!==void 0?r:[])),unions:MS(...t.unions,...(n=e?.unions)!==null&&n!==void 0?n:[])},o=RS(i);return IM(o),o}function MS(...t){return Array.from(t.reduce((e,r)=>(e.set(r.name,r),e),new Map).values()).sort((e,r)=>e.name.localeCompare(r.name))}function IM(t){let e=LM(t),r=Array.from(e.values());MM(r),$M(t.interfaces),OM(r)}function OM(t){let e=new Set,r=n=>{if(!e.has(n)){e.add(n),n.typeNames.add(n.name);for(let i of n.subTypes)r(i),i.typeNames.forEach(o=>n.typeNames.add(o))}};t.forEach(r)}function LM({interfaces:t,unions:e}){let r=t.concat(e).reduce((i,o)=>(i.set(o.name,o),i),new Map),n=new Map;for(let i of e)n.set(i,By(i.type,new Set));for(let[i,o]of n)o&&r.delete(i.name);return r}function By(t,e){if(e.has(t))return!0;if(e.add(t),pr(t))return t.types.every(r=>By(r,e));if(Cn(t)){let r=t.value;return ai(r)?By(r.type,e):!1}else return wn(t)||Ai(t)}function MM(t){for(let e of t)for(let r of e.superTypes)r.subTypes.add(e)}function $M(t){var e;let r=t.reduce((s,a)=>(s.set(a.name,a),s),new Map);for(let s of t){let a=s.properties.flatMap(c=>lS(c.type));for(let c of a)(e=r.get(c))===null||e===void 0||e.containerTypes.add(s)}let n=new Set,i=t.filter(s=>s.subTypes.size===0),o=new Set(i);for(;i.length>0;){let s=i.shift();if(s)for(let a of s.superTypes)ui(a)&&(s.containerTypes.size===0?(n.add(a.name),a.containerTypes.clear()):n.has(a.name)||s.containerTypes.forEach(c=>a.containerTypes.add(c)),o.has(a)||(o.add(a),i.push(a)))}}var qM={languageId:"langium",fileExtensions:[".langium"],caseInsensitive:!1},FM={maxLookahead:3},qS={AstReflection:()=>new Tu},FS={Grammar:()=>hS(),LanguageMetaData:()=>qM,parser:{ParserConfig:()=>FM}};var qu=class{constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}},$a=class{constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let o of e){let s=this.caseInsensitive?o.name.toLowerCase():o.name;this.elements.set(s,o)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Ce(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},jS={getElement(){},getAllElements(){return ya}};var id=Ie(io(),1);var qa=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=id.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=Fo,i=id.CancellationToken.None){let o=[];this.exportNode(e,o,r);for(let s of n(e))await kt(i),this.exportNode(s,o,r);return o}exportNode(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=id.CancellationToken.None){let n=e.parseResult.value,i=new Ze;for(let o of St(n))await kt(r),this.processNode(o,e,i);return i}processNode(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var od=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Ky=class extends od{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},sd=class extends od{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}};var ad=class extends Ky{constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Fa=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new ad(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=ke(e.container).precomputedScopes;if(i){let s=e.container;do{let a=i.get(s);a.length>0&&r.push(Ce(a).filter(c=>this.reflection.isSubtype(c.type,n))),s=s.$container}while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new qu(Ce(e),r,n)}createScopeForNodes(e,r,n){let i=Ce(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new qu(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new $a(this.indexManager.allElements(e)))}};var cd=class extends Fa{constructor(e){super(e),this.langiumDocuments=e.shared.workspace.LangiumDocuments}getScope(e){let r=this.reflection.getReferenceType(e);return r===Ds?this.getTypeScope(r,e):super.getScope(e)}getTypeScope(e,r){let n,i=ke(r.container).precomputedScopes,o=Uf(r.container);if(i&&o){let a=i.get(o);a.length>0&&(n=Ce(a).filter(c=>c.type===Ru||c.type===bu))}let s=this.getGlobalScope(e,r);return n?this.createScope(n,s):s}getGlobalScope(e,r){let n=rt(r.container,Ta);if(!n)return jS;let i=new Set;this.gatherImports(n,i);let o=this.indexManager.allElements(e,i);return e===Ds&&(o=o.filter(s=>s.type===Ru||s.type===bu)),new $a(o)}gatherImports(e,r){for(let n of e.imports){let i=Uy(n);if(i&&!r.has(i.toString())&&(r.add(i.toString()),this.langiumDocuments.hasDocument(i))){let s=this.langiumDocuments.getOrCreateDocument(i).parseResult.value;Ta(s)&&this.gatherImports(s,r)}}}},ud=class extends qa{constructor(e){super(e),this.astNodeLocator=e.workspace.AstNodeLocator}exportNode(e,r,n){var i;if(super.exportNode(e,r,n),ee(e)){if(!e.returnType&&!e.dataType){let o=(i=e.inferredType)!==null&&i!==void 0?i:e;r.push(this.createInterfaceDescription(o,o.name,n))}St(e).forEach(o=>{if(et(o)&&o.inferredType){let s=La(o);s&&r.push(this.createInterfaceDescription(o,s,n))}})}}processNode(e,r,n){xa(e)||(this.processTypeNode(e,r,n),this.processActionNode(e,r,n),super.processNode(e,r,n))}processTypeNode(e,r,n){var i;let o=e.$container;if(o&&ee(e)&&!e.returnType&&!e.dataType){let s=(i=e.inferredType)!==null&&i!==void 0?i:e;n.add(o,this.createInterfaceDescription(s,s.name,r))}}processActionNode(e,r,n){let i=Uf(e);if(i&&et(e)&&e.inferredType){let o=La(e);o&&n.add(i,this.createInterfaceDescription(e,o,r))}}createInterfaceDescription(e,r,n=ke(e)){let i,o=()=>{var s;return i??(i=Wr((s=this.nameProvider.getNameNode(e))!==null&&s!==void 0?s:e.$cstNode))};return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Wr(e.$cstNode),type:"Interface",documentUri:n.uri,path:this.astNodeLocator.getAstNodePath(e)}}};var Pn=Ie(Qe(),1);var Gr=Ie(Qe(),1);var ld=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=Gr.CancellationToken.None){let i=e.parseResult,o=[];if(await kt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>{var a;return((a=s.data)===null||a===void 0?void 0:a.code)===fi.LexingError})||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>{var a;return((a=s.data)===null||a===void 0?void 0:a.code)===fi.ParsingError}))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>{var a;return((a=s.data)===null||a===void 0?void 0:a.code)===fi.LinkingError}))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(Os(s))throw s;console.error("An error occurred during validation:",s)}return await kt(n),o}processLexingErrors(e,r,n){for(let i of e.lexerErrors){let o={severity:Gr.DiagnosticSeverity.Error,range:{start:{line:i.line-1,character:i.column-1},end:{line:i.line-1,character:i.column+i.length-1}},message:i.message,data:Dn(fi.LexingError),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset))o=Gr.Range.create(0,0,0,0);else{let a=Gr.Position.create(s.endLine-1,s.endColumn);o=Gr.Range.create(a,a)}}}else o=vu(i.token);if(o){let s={severity:Gr.DiagnosticSeverity.Error,range:o,message:i.message,data:Dn(fi.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.container,property:o.property,index:o.index,data:{code:fi.LinkingError,containerType:o.container.$type,property:o.property,refText:o.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=Gr.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await Promise.all(uo(e).map(async s=>{await kt(n);let a=this.validationRegistry.getChecks(s.$type,r.categories);for(let c of a)await c(s,o,n)})),i}toDiagnostic(e,r,n){return{message:r,range:jM(n),severity:UM(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function jM(t){if(Gr.Range.is(t.range))return t.range;let e;return typeof t.property=="string"?e=Pr(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Un(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function UM(t){switch(t){case"error":return Gr.DiagnosticSeverity.Error;case"warning":return Gr.DiagnosticSeverity.Warning;case"info":return Gr.DiagnosticSeverity.Information;case"hint":return Gr.DiagnosticSeverity.Hint;default:throw new Error("Invalid diagnostic severity: "+t)}}var fi;(function(t){t.LexingError="lexing-error",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(fi=fi||(fi={}));var fd=class{constructor(e){this.reflection=e.shared.AstReflection,this.indexManager=e.shared.workspace.IndexManager}getCodeActions(e,r){let n=[],i=o=>o&&n.push(o);for(let o of r.context.diagnostics)this.createCodeActions(o,e,i);return n}createCodeActions(e,r,n){var i;switch((i=e.data)===null||i===void 0?void 0:i.code){case Ke.GrammarNameUppercase:case Ke.RuleNameUppercase:n(this.makeUpperCase(e,r));break;case Ke.HiddenGrammarTokens:n(this.fixHiddenTerminals(e,r));break;case Ke.UseRegexTokens:n(this.fixRegexTokens(e,r));break;case Ke.EntryRuleTokenSyntax:n(this.addEntryKeyword(e,r));break;case Ke.CrossRefTokenSyntax:n(this.fixCrossRefSyntax(e,r));break;case Ke.UnnecessaryFileExtension:n(this.fixUnnecessaryFileExtension(e,r));break;case Ke.MissingReturns:n(this.fixMissingReturns(e,r));break;case Ke.InvalidInfers:case Ke.InvalidReturns:n(this.fixInvalidReturnsInfers(e,r));break;case Ke.MissingInfer:n(this.fixMissingInfer(e,r));break;case Ke.SuperfluousInfer:n(this.fixSuperfluousInfer(e,r));break;case fi.LinkingError:{let o=e.data;o&&o.containerType==="RuleCall"&&o.property==="rule"&&n(this.addNewRule(e,o,r)),o&&this.lookInGlobalScope(e,o,r).forEach(n);break}}}fixMissingReturns(e,r){let n=r.textDocument.getText(e.range);if(n)return{title:`Add explicit return type for parser rule ${n}`,kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],edit:{changes:{[r.textDocument.uri]:[{range:e.range,newText:`${n} returns ${n}`}]}}}}fixInvalidReturnsInfers(e,r){let n=e.data;if(n&&n.actionSegment){let i=r.textDocument.getText(n.actionSegment.range);return{title:`Correct ${i} usage`,kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],edit:{changes:{[r.textDocument.uri]:[{range:n.actionSegment.range,newText:i==="infers"?"returns":"infers"}]}}}}}fixMissingInfer(e,r){let n=e.data;if(n&&n.actionSegment)return{title:"Correct 'infer' usage",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],edit:{changes:{[r.textDocument.uri]:[{range:{start:n.actionSegment.range.end,end:n.actionSegment.range.end},newText:"infer "}]}}}}fixSuperfluousInfer(e,r){let n=e.data;if(n&&n.actionRange)return{title:"Remove the 'infer' keyword",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],edit:{changes:{[r.textDocument.uri]:[{range:n.actionRange,newText:""}]}}}}fixUnnecessaryFileExtension(e,r){let n=Object.assign({},e.range.end);n.character-=1;let i=Object.assign({},n);return i.character-=8,{title:"Remove file extension",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:{start:i,end:n},newText:""}]}}}}makeUpperCase(e,r){let n={start:e.range.start,end:{line:e.range.start.line,character:e.range.start.character+1}};return{title:"First letter to upper case",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:n,newText:r.textDocument.getText(n).toUpperCase()}]}}}}addEntryKeyword(e,r){return{title:"Add entry keyword",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:{start:e.range.start,end:e.range.start},newText:"entry "}]}}}}fixRegexTokens(e,r){let n=r.textDocument.offsetAt(e.range.start),i=r.parseResult.value.$cstNode;if(i){let o=dn(i,n),s=rt(o?.astNode,Ff);if(s&&s.right&&s.$cstNode){let a=s.left.value,c=s.right.value;return{title:"Refactor into regular expression",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:s.$cstNode.range,newText:`/[${po(a)}-${po(c)}]/`}]}}}}}}fixCrossRefSyntax(e,r){return{title:"Replace '|' with ':'",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:e.range,newText:":"}]}}}}fixHiddenTerminals(e,r){let n=r.parseResult.value,i=n.hiddenTokens,o=[],s=Pr(n.$cstNode,"definesHiddenTokens");if(s){let a=s.range.start,c=s.offset,f=n.$cstNode.text.indexOf(")",c)+1;o.push({newText:"",range:{start:a,end:r.textDocument.positionAt(f)}})}for(let a of i){let c=a.ref;if(c&&Be(c)&&!c.hidden&&c.$cstNode){let f=c.$cstNode.range.start;o.push({newText:"hidden ",range:{start:f,end:f}})}}return{title:"Fix hidden terminals",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:o}}}}addNewRule(e,r,n){let i=n.textDocument.offsetAt(e.range.start),o=n.parseResult.value.$cstNode;if(o){let s=dn(o,i),a=rt(s?.astNode,ee);if(a&&a.$cstNode)return{title:`Add new rule '${r.refText}'`,kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!1,edit:{changes:{[n.textDocument.uri]:[{range:{start:a.$cstNode.range.end,end:a.$cstNode.range.end},newText:`
|
|
79
|
+
|
|
80
|
+
`+r.refText+`:
|
|
81
|
+
/* TODO implement rule */ {infer `+r.refText+"};"}]}}}}}lookInGlobalScope(e,r,n){var i,o;let s={container:{$type:r.containerType},property:r.property,reference:{$refText:r.refText}},a=this.reflection.getReferenceType(s),c=this.indexManager.allElements(a).filter(T=>T.name===r.refText),f=[],p=-1,m=-1;for(let T of c){if(qe.equals(T.documentUri,n.uri))continue;let _=WM(n.uri,T.documentUri),E,N="",I=n.parseResult.value,A=I.imports.find(y=>y.path&&_<y.path);if(A)E=(i=A.$cstNode)===null||i===void 0?void 0:i.range.start;else if(I.imports.length>0){let y=I.imports[I.imports.length-1].$cstNode.range.end;y&&(E={line:y.line+1,character:0})}else I.rules.length>0&&(E=(o=I.rules[0].$cstNode)===null||o===void 0?void 0:o.range.start,N=`
|
|
82
|
+
`);E&&((p<0||_.length<m)&&(p=f.length,m=_.length),f.push({title:`Add import to '${_}'`,kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!1,edit:{changes:{[n.textDocument.uri]:[{range:{start:E,end:E},newText:`import '${_}'
|
|
83
|
+
${N}`}]}}}))}return p>=0&&(f[p].isPreferred=!0),f}};function WM(t,e){let r=qe.dirname(t),n=qe.relative(r,e);return!n.startsWith("./")&&!n.startsWith("../")&&(n="./"+n),n.endsWith(".langium")&&(n=n.substring(0,n.length-8)),n}var GS=Ie(bs(),1);var Wa=Ie(Qe(),1);function zy(t,e){let r={stacks:t,tokens:e};return HM(r),r.stacks.flat().forEach(i=>{i.property=void 0}),WS(r.stacks).map(i=>i[i.length-1])}function Vy(t){let{next:e,cardinalities:r,visited:n,plus:i}=t,o=[],s=e.feature;if(n.has(s))return[];n.add(s);let a,c=s;for(;c.$container;)if(Tr(c.$container)){a=c.$container;break}else if(va(c.$container))c=c.$container;else break;if(kS(c.cardinality)){let f=ja({next:{feature:c,type:e.type,new:!1},cardinalities:r,visited:n,plus:i});for(let p of f)i.add(p.feature);o.push(...f)}if(a){let f=a.elements.indexOf(c);f!==void 0&&f<a.elements.length-1&&o.push(...US({feature:a,type:e.type,new:!1},f+1,r,n,i)),o.every(p=>Wn(p.feature.cardinality,p.feature)||Wn(r.get(p.feature))||i.has(p.feature))&&o.push(...Vy({next:{feature:a,type:e.type,new:!1},cardinalities:r,visited:n,plus:i}))}return o}function Fu(t){return rr(t)&&(t={feature:t}),ja({next:t,cardinalities:new Map,visited:new Set,plus:new Set})}function ja(t){var e,r,n;let{next:i,cardinalities:o,visited:s,plus:a}=t;if(i===void 0)return[];let{feature:c,type:f}=i;if(Tr(c)){if(s.has(c))return[];s.add(c)}if(Tr(c))return US(i,0,o,s,a).map(p=>dd(p,c.cardinality,o));if(Sn(c)||kn(c))return c.elements.flatMap(p=>ja({next:{feature:p,new:!1,type:f},cardinalities:o,visited:s,plus:a})).map(p=>dd(p,c.cardinality,o));if(je(c)){let p={feature:c.terminal,new:!1,type:f,property:(e=i.property)!==null&&e!==void 0?e:c.feature};return ja({next:p,cardinalities:o,visited:s,plus:a}).map(m=>dd(m,c.cardinality,o))}else{if(et(c))return Vy({next:{feature:c,new:!0,type:li(c),property:(r=i.property)!==null&&r!==void 0?r:c.feature},cardinalities:o,visited:s,plus:a});if(tt(c)&&ee(c.rule.ref)){let p=c.rule.ref,m={feature:p.definition,new:!0,type:p.fragment?void 0:(n=Oa(p))!==null&&n!==void 0?n:p.name,property:i.property};return ja({next:m,cardinalities:o,visited:s,plus:a}).map(T=>dd(T,c.cardinality,o))}else return[i]}}function dd(t,e,r){return r.set(t.feature,e),t}function US(t,e,r,n,i){var o;let s=[],a;for(;e<t.feature.elements.length&&(a={feature:t.feature.elements[e++],new:!1,type:t.type},s.push(...ja({next:a,cardinalities:r,visited:n,plus:i})),!!Wn((o=a.feature.cardinality)!==null&&o!==void 0?o:r.get(a.feature),a.feature)););return s}function HM(t){for(let e of t.tokens){let r=WS(t.stacks,e);t.stacks=r}}function WS(t,e){let r=[];for(let n of t)r.push(...GM(n,e));return r}function GM(t,e){let r=new Map,n=new Set(t.map(o=>o.feature).filter(BM)),i=[];for(;t.length>0;){let o=t.pop(),s=Vy({next:o,cardinalities:r,plus:n,visited:new Set}).filter(a=>e?Xy(a.feature,e):!0);for(let a of s)i.push([...t,a]);if(!s.every(a=>Wn(a.feature.cardinality,a.feature)||Wn(r.get(a.feature))))break}return i}function BM(t){if(t.cardinality==="+")return!0;let e=rt(t,je);return!!(e&&e.cardinality==="+")}function Xy(t,e){if(Ht(t))return t.value===e.image;if(tt(t))return KM(t.rule.ref,e);if(Dr(t)){let r=pd(t);if(r)return Xy(r,e)}return!1}function KM(t,e){return ee(t)?Fu(t.definition).some(n=>Xy(n.feature,e)):Be(t)?Hn(t).test(e.image):!1}function HS(t){let e=Array.from(new Set(t.flatMap(n=>{var i;return(i=n?.triggerCharacters)!==null&&i!==void 0?i:[]}))),r=Array.from(new Set(t.flatMap(n=>{var i;return(i=n?.allCommitCharacters)!==null&&i!==void 0?i:[]})));return{triggerCharacters:e.length>0?e:void 0,allCommitCharacters:r.length>0?r:void 0}}var Ua=class{constructor(e){this.scopeProvider=e.references.ScopeProvider,this.grammar=e.Grammar,this.completionParser=e.parser.CompletionParser,this.nameProvider=e.references.NameProvider,this.lexer=e.parser.Lexer,this.nodeKindProvider=e.shared.lsp.NodeKindProvider,this.fuzzyMatcher=e.shared.lsp.FuzzyMatcher,this.grammarConfig=e.parser.GrammarConfig}async getCompletion(e,r){let n=[],i=this.buildContexts(e,r.position),o=(c,f)=>{let p=this.fillCompletionItem(c,f);p&&n.push(p)},s=c=>Ht(c.feature)?c.feature.value:c.feature,a=[];for(let c of i)if(await Promise.all(Ce(c.features).distinct(s).exclude(a).map(f=>this.completionFor(c,f,o))),a.push(...c.features),!this.continueCompletion(n))break;return Wa.CompletionList.create(this.deduplicateItems(n),!0)}deduplicateItems(e){return Ce(e).distinct(r=>`${r.kind}_${r.label}_${r.detail}`).toArray()}findFeaturesAt(e,r){let n=e.getText({start:Wa.Position.create(0,0),end:e.positionAt(r)}),i=this.completionParser.parse(n),o=i.tokens;if(i.tokenIndex===0){let c=md(this.grammar),f=Fu({feature:c.definition,new:!0,type:Oa(c)});return o.length>0?(o.shift(),zy(f.map(p=>[p]),o)):f}let s=[...o].splice(i.tokenIndex);return zy([i.elementStack.map(c=>({feature:c}))],s)}*buildContexts(e,r){var n,i,o,s,a;let c=e.parseResult.value.$cstNode;if(!c)return;let f=e.textDocument,p=f.getText(),m=f.offsetAt(r),T={document:e,textDocument:f,offset:m,position:r},_=this.findDataTypeRuleStart(c,m);if(_){let[h,C]=_,L=(n=dn(c,h))===null||n===void 0?void 0:n.astNode,J=this.findFeaturesAt(f,h);yield Object.assign(Object.assign({},T),{node:L,tokenOffset:h,tokenEndOffset:C,features:J})}let{nextTokenStart:E,nextTokenEnd:N,previousTokenStart:I,previousTokenEnd:A}=this.backtrackToAnyToken(p,m),y;if(I!==void 0&&A!==void 0&&A===m){y=(i=dn(c,I))===null||i===void 0?void 0:i.astNode;let h=this.findFeaturesAt(f,I);yield Object.assign(Object.assign({},T),{node:y,tokenOffset:I,tokenEndOffset:A,features:h})}if(y=(s=(o=dn(c,E))===null||o===void 0?void 0:o.astNode)!==null&&s!==void 0?s:I===void 0||(a=dn(c,I))===null||a===void 0?void 0:a.astNode,y){let h=this.findFeaturesAt(f,E);yield Object.assign(Object.assign({},T),{node:y,tokenOffset:E,tokenEndOffset:N,features:h})}else{let h=md(this.grammar),C=Fu(h.definition);yield Object.assign(Object.assign({},T),{tokenOffset:E,tokenEndOffset:N,features:C})}}findDataTypeRuleStart(e,r){var n,i;let o=dr(e,r,this.grammarConfig.nameRegexp),s=!!(!((n=rt(o?.grammarSource,ee))===null||n===void 0)&&n.dataType);if(s){for(;s;)o=o?.container,s=!!(!((i=rt(o?.grammarSource,ee))===null||i===void 0)&&i.dataType);if(o)return[o.offset,o.end]}}continueCompletion(e){return e.length===0}backtrackToAnyToken(e,r){let n=this.lexer.tokenize(e).tokens;if(n.length===0)return{nextTokenStart:r,nextTokenEnd:r};let i;for(let o of n){if(o.startOffset>=r)return{nextTokenStart:r,nextTokenEnd:r,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0};if(o.endOffset>=r)return{nextTokenStart:o.startOffset,nextTokenEnd:o.endOffset+1,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0};i=o}return{nextTokenStart:r,nextTokenEnd:r,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0}}async completionForRule(e,r,n){if(ee(r)){let i=Fu(r.definition);await Promise.all(i.map(o=>this.completionFor(e,o,n)))}}completionFor(e,r,n){if(Ht(r.feature))return this.completionForKeyword(e,r.feature,n);if(Dr(r.feature)&&e.node)return this.completionForCrossReference(e,r,n)}completionForCrossReference(e,r,n){let i=rt(r.feature,je),o=e.node;if(i&&o){if(r.type&&(r.new||o.$type!==r.type)&&(o={$type:r.type,$container:o,$containerProperty:r.property}),!e)return;let s={reference:{},container:o,property:i.feature};try{let a=this.scopeProvider.getScope(s),c=new Set;a.getAllElements().forEach(f=>{!c.has(f.name)&&this.filterCrossReference(f)&&(n(e,this.createReferenceCompletionItem(f)),c.add(f.name))})}catch(a){console.error(a)}}}createReferenceCompletionItem(e){return{nodeDescription:e,kind:this.nodeKindProvider.getCompletionItemKind(e),detail:e.type,sortText:"0"}}filterCrossReference(e){return!0}completionForKeyword(e,r,n){r.value.match(/[\w]/)&&n(e,{label:r.value,kind:Wa.CompletionItemKind.Keyword,detail:"Keyword",sortText:"1"})}fillCompletionItem(e,r){var n,i;let o;if(typeof r.label=="string")o=r.label;else if("node"in r){let f=this.nameProvider.getName(r.node);if(!f)return;o=f}else if("nodeDescription"in r)o=r.nodeDescription.name;else return;let s;typeof((n=r.textEdit)===null||n===void 0?void 0:n.newText)=="string"?s=r.textEdit.newText:typeof r.insertText=="string"?s=r.insertText:s=o;let a=(i=r.textEdit)!==null&&i!==void 0?i:this.buildCompletionTextEdit(e,o,s);return a?{additionalTextEdits:r.additionalTextEdits,command:r.command,commitCharacters:r.commitCharacters,data:r.data,detail:r.detail,documentation:r.documentation,filterText:r.filterText,insertText:r.insertText,insertTextFormat:r.insertTextFormat,insertTextMode:r.insertTextMode,kind:r.kind,labelDetails:r.labelDetails,preselect:r.preselect,sortText:r.sortText,tags:r.tags,textEditText:r.textEditText,textEdit:a,label:o}:void 0}buildCompletionTextEdit(e,r,n){let o=e.textDocument.getText().substring(e.tokenOffset,e.offset);if(this.fuzzyMatcher.match(o,r)){let s=e.textDocument.positionAt(e.tokenOffset),a=e.position;return{newText:n,range:{start:s,end:a}}}else return}};var hd=class extends Ua{constructor(e){super(e),this.documents=()=>e.shared.workspace.LangiumDocuments}completionFor(e,r,n){let i=rt(r.feature,je);if(i?.feature==="path")this.completeImportPath(e,n);else return super.completionFor(e,r,n)}completeImportPath(e,r){let i=e.textDocument.getText().substring(e.tokenOffset,e.offset),o=this.getAllFiles(e.document),s={start:e.position,end:e.position};if(i.length>0){let a=i.substring(1);o=o.filter(p=>p.startsWith(a));let c=e.textDocument.positionAt(e.tokenOffset+1),f=e.textDocument.positionAt(e.tokenEndOffset-1);s={start:c,end:f}}for(let a of o){let c=i.length>0?"":'"',f=`${c}${a}${c}`;r(e,{label:a,textEdit:{newText:f,range:s},kind:GS.CompletionItemKind.File,sortText:"0"})}}getAllFiles(e){let r=this.documents().all,n=e.uri.toString(),i=qe.dirname(e.uri).toString(),o=[];for(let s of r)if(!qe.equals(s.uri,n)){let a=s.uri.toString(),c=a.substring(0,a.length-qe.extname(s.uri).length),f=qe.relative(i,c);f.startsWith(".")||(f=`./${f}`),o.push(f)}return o}};var ju=Ie(Qe(),1);var Ha=class{constructor(e){this.commentNames=e.parser.GrammarConfig.multilineCommentRules}getFoldingRanges(e){let r=[],n=i=>r.push(i);return this.collectFolding(e,n),r}collectFolding(e,r){var n;let i=(n=e.parseResult)===null||n===void 0?void 0:n.value;if(i){if(this.shouldProcessContent(i)){let o=St(i).iterator(),s;do if(s=o.next(),!s.done){let a=s.value;this.shouldProcess(a)&&this.collectObjectFolding(e,a,r),this.shouldProcessContent(a)||o.prune()}while(!s.done)}this.collectCommentFolding(e,i,r)}}shouldProcess(e){return!0}shouldProcessContent(e){return!0}collectObjectFolding(e,r,n){let i=r.$cstNode;if(i){let o=this.toFoldingRange(e,i);o&&n(o)}}collectCommentFolding(e,r,n){let i=r.$cstNode;if(i){for(let o of Yx(i))if(this.commentNames.includes(o.tokenType.name)){let s=this.toFoldingRange(e,o,ju.FoldingRangeKind.Comment);s&&n(s)}}}toFoldingRange(e,r,n){let i=r.range,o=i.start,s=i.end;if(!(s.line-o.line<2))return this.includeLastFoldingLine(r,n)||(s=e.textDocument.positionAt(e.textDocument.offsetAt({line:s.line,character:0})-1)),ju.FoldingRange.create(o.line,s.line,o.character,s.character,n)}includeLastFoldingLine(e,r){if(r===ju.FoldingRangeKind.Comment)return!1;let n=e.text,i=n.charAt(n.length-1);return!(i==="}"||i===")"||i==="]")}};var gd=class extends Ha{shouldProcessContent(e){return!ee(e)}};var yd=class{constructor(){this.collector=()=>{}}getNodeFormatter(e){return new Yy(e,this.collector)}formatDocument(e,r){let n=e.parseResult;return n.lexerErrors.length===0&&n.parserErrors.length===0?this.doDocumentFormat(e,r.options):[]}isFormatRangeErrorFree(e,r){let n=e.parseResult;return n.lexerErrors.length||n.parserErrors.length?Math.min(...n.lexerErrors.map(o=>{var s;return(s=o.line)!==null&&s!==void 0?s:Number.MAX_VALUE}),...n.parserErrors.map(o=>{var s;return(s=o.token.startLine)!==null&&s!==void 0?s:Number.MAX_VALUE}))>r.end.line:!0}formatDocumentRange(e,r){return this.isFormatRangeErrorFree(e,r.range)?this.doDocumentFormat(e,r.options,r.range):[]}formatDocumentOnType(e,r){let n={start:{character:0,line:r.position.line},end:r.position};return this.isFormatRangeErrorFree(e,n)?this.doDocumentFormat(e,r.options,n):[]}get formatOnTypeOptions(){}doDocumentFormat(e,r,n){let i=new Map,o=(a,c,f)=>{var p,m;let T=this.nodeModeToKey(a,c),_=i.get(T),E=(p=f.options.priority)!==null&&p!==void 0?p:0,N=(m=_?.options.priority)!==null&&m!==void 0?m:0;(!_||N<=E)&&i.set(T,f)};this.collector=o,this.iterateAstFormatting(e,n);let s=this.iterateCstFormatting(e,i,r,n);return this.avoidOverlappingEdits(e.textDocument,s)}avoidOverlappingEdits(e,r){let n=[];for(let i of r){let o=n[n.length-1];if(o){let s=e.offsetAt(i.range.start),a=e.offsetAt(o.range.end);s<a&&n.pop()}n.push(i)}return n}iterateAstFormatting(e,r){let n=e.parseResult.value;this.format(n);let i=St(n).iterator(),o;do if(o=i.next(),!o.done){let s=o.value;this.insideRange(s.$cstNode.range,r)?this.format(s):i.prune()}while(!o.done)}nodeModeToKey(e,r){return`${e.offset}:${e.end}:${r}`}insideRange(e,r){return!r||e.start.line<=r.start.line&&e.end.line>=r.end.line||e.start.line>=r.start.line&&e.end.line<=r.end.line||e.start.line<=r.end.line&&e.end.line>=r.end.line}isNecessary(e,r){return r.getText(e.range)!==e.newText}iterateCstFormatting(e,r,n,i){let o={indentation:0,options:n,document:e.textDocument},s=[],c=this.iterateCstTree(e,o).iterator(),f,p;do if(p=c.next(),!p.done){let m=p.value,T=Cs(m),_=this.nodeModeToKey(m,"prepend"),E=r.get(_);if(r.delete(_),E){let A=this.createTextEdit(f,m,E,o);for(let y of A)y&&this.insideRange(y.range,i)&&this.isNecessary(y,e.textDocument)&&s.push(y)}let N=this.nodeModeToKey(m,"append"),I=r.get(N);if(r.delete(N),I){let A=Zx(m);if(A){let y=this.createTextEdit(m,A,I,o);for(let h of y)h&&this.insideRange(h.range,i)&&this.isNecessary(h,e.textDocument)&&s.push(h)}}if(!E&&m.hidden){let A=this.createHiddenTextEdits(f,m,void 0,o);for(let y of A)y&&this.insideRange(y.range,i)&&this.isNecessary(y,e.textDocument)&&s.push(y)}T&&(f=m)}while(!p.done);return s}createHiddenTextEdits(e,r,n,i){var o;let s=r.range.start.line;if(e&&e.range.end.line===s)return[];let a=[],c={start:{character:0,line:s},end:r.range.start},f=i.document.getText(c),p=this.findFittingMove(c,(o=n?.moves)!==null&&o!==void 0?o:[],i),m=this.getExistingIndentationCharacterCount(f,i),_=this.getIndentationCharacterCount(i,p)-m;if(_===0)return[];let E="";_>0&&(E=(i.options.insertSpaces?" ":" ").repeat(_));let N=r.text.split(`
|
|
84
|
+
`);N[0]=f+N[0];for(let I=0;I<N.length;I++){let A=s+I,y={character:0,line:A};if(_>0)a.push({newText:E,range:{start:y,end:y}});else{let h=N[I],C=0;for(;C<h.length;C++){let L=h.charAt(C);if(L!==" "&&L!==" ")break}a.push({newText:"",range:{start:y,end:{line:A,character:Math.min(C,Math.abs(_))}}})}}return a}getExistingIndentationCharacterCount(e,r){let n=" ".repeat(r.options.tabSize);return(r.options.insertSpaces?e.replaceAll(" ",n):e.replaceAll(n," ")).length}getIndentationCharacterCount(e,r){let n=e.indentation;return r&&r.tabs&&(n+=r.tabs),(e.options.insertSpaces?e.options.tabSize:1)*n}createTextEdit(e,r,n,i){var o;if(r.hidden)return this.createHiddenTextEdits(e,r,n,i);let s={start:(o=e?.range.end)!==null&&o!==void 0?o:{character:0,line:0},end:r.range.start},a=this.findFittingMove(s,n.moves,i);if(!a)return[];let c=a.characters,f=a.lines,p=a.tabs,m=i.indentation;i.indentation+=p??0;let T=[];return c!==void 0?T.push(this.createSpaceTextEdit(s,c,n.options)):f!==void 0?T.push(this.createLineTextEdit(s,f,i,n.options)):p!==void 0&&T.push(this.createTabTextEdit(s,!!e,i)),Cs(r)&&(i.indentation=m),T}createSpaceTextEdit(e,r,n){if(e.start.line===e.end.line){let o=e.end.character-e.start.character;r=this.fitIntoOptions(r,o,n)}return{newText:" ".repeat(r),range:e}}createLineTextEdit(e,r,n,i){let o=e.end.line-e.start.line;r=this.fitIntoOptions(r,o,i);let a=(n.options.insertSpaces?" ".repeat(n.options.tabSize):" ").repeat(n.indentation);return{newText:`${`
|
|
85
|
+
`.repeat(r)}${a}`,range:e}}createTabTextEdit(e,r,n){let o=(n.options.insertSpaces?" ".repeat(n.options.tabSize):" ").repeat(n.indentation),s=r?1:0,a=Math.max(e.end.line-e.start.line,s);return{newText:`${`
|
|
86
|
+
`.repeat(a)}${o}`,range:e}}fitIntoOptions(e,r,n){return n.allowMore?e=Math.max(r,e):n.allowLess&&(e=Math.min(r,e)),e}findFittingMove(e,r,n){if(r.length===0)return;if(r.length===1)return r[0];let i=e.end.line-e.start.line;for(let o of r){if(o.lines!==void 0&&i<=o.lines)return o;if(o.lines===void 0&&i===0)return o}return r[r.length-1]}iterateCstTree(e,r){let i=e.parseResult.value.$cstNode;return i?new Fn(i,o=>this.iterateCst(o,r)):ya}iterateCst(e,r){if(!Pi(e))return ya;let n=r.indentation;return new _n(()=>({index:0}),i=>i.index<e.content.length?{done:!1,value:e.content[i.index++]}:(r.indentation=n,Zr))}},Yy=class{constructor(e,r){this.astNode=e,this.collector=r}node(e){return new di(e.$cstNode?[e.$cstNode]:[],this.collector)}nodes(...e){let r=[];for(let n of e)n.$cstNode&&r.push(n.$cstNode);return new di(r,this.collector)}property(e,r){let n=Pr(this.astNode.$cstNode,e,r);return new di(n?[n]:[],this.collector)}properties(...e){let r=[];for(let n of e){let i=jo(this.astNode.$cstNode,n);r.push(...i)}return new di(r,this.collector)}keyword(e,r){let n=Un(this.astNode.$cstNode,e,r);return new di(n?[n]:[],this.collector)}keywords(...e){let r=[];for(let n of e){let i=vd(this.astNode.$cstNode,n);r.push(...i)}return new di(r,this.collector)}cst(e){return new di([...e],this.collector)}interior(e,r){let n=e.nodes,i=r.nodes;if(n.length!==1||i.length!==1)return new di([],this.collector);let o=n[0],s=i[0];if(o.offset>s.offset){let a=o;o=s,s=a}return new di(e_(o,s),this.collector)}},di=class t{constructor(e,r){this.nodes=e,this.collector=r}prepend(e){for(let r of this.nodes)this.collector(r,"prepend",e);return this}append(e){for(let r of this.nodes)this.collector(r,"append",e);return this}surround(e){for(let r of this.nodes)this.collector(r,"prepend",e),this.collector(r,"append",e);return this}slice(e,r){return new t(this.nodes.slice(e,r),this.collector)}},Me;(function(t){function e(...p){return{options:{},moves:p.flatMap(m=>m.moves).sort(f)}}t.fit=e;function r(p){return i(0,p)}t.noSpace=r;function n(p){return i(1,p)}t.oneSpace=n;function i(p,m){return{options:m??{},moves:[{characters:p}]}}t.spaces=i;function o(p){return s(1,p)}t.newLine=o;function s(p,m){return{options:m??{},moves:[{lines:p}]}}t.newLines=s;function a(p){return{options:p??{},moves:[{tabs:1,lines:1}]}}t.indent=a;function c(p){return{options:p??{},moves:[{tabs:0}]}}t.noIndent=c;function f(p,m){var T,_,E,N,I,A;let y=(T=p.lines)!==null&&T!==void 0?T:0,h=(_=m.lines)!==null&&_!==void 0?_:0,C=(E=p.tabs)!==null&&E!==void 0?E:0,L=(N=m.tabs)!==null&&N!==void 0?N:0,J=(I=p.characters)!==null&&I!==void 0?I:0,fe=(A=m.characters)!==null&&A!==void 0?A:0;return y<h?-1:y>h?1:C<L?-1:C>L?1:J<fe?-1:J>fe?1:0}})(Me=Me||(Me={}));var Td=class extends yd{format(e){if(Dr(e))this.getNodeFormatter(e).properties("type","terminal").surround(Me.noSpace());else if(ee(e)){let r=this.getNodeFormatter(e);r.keywords("entry","fragment","returns").append(Me.oneSpace()),(e.inferredType||e.returnType||e.dataType)&&e.parameters.length===0?r.property("name").append(Me.oneSpace()):r.property("name").append(Me.noSpace()),r.properties("parameters").append(Me.noSpace()),r.keywords(",").append(Me.oneSpace()),r.keywords("<").append(Me.noSpace());let n=r.keyword(";"),i=r.keyword(":");i.prepend(Me.noSpace()),r.interior(i,n).prepend(Me.indent()),n.prepend(Me.fit(Me.noSpace(),Me.newLine())),r.node(e).prepend(Me.noIndent())}else if(Be(e)){let r=this.getNodeFormatter(e);e.type&&(r.property("name").append(Me.oneSpace()),r.keyword("returns").append(Me.oneSpace())),r.keywords("hidden","terminal","fragment").append(Me.oneSpace()),r.keyword(":").prepend(Me.noSpace()),r.keyword(";").prepend(Me.fit(Me.noSpace(),Me.newLine())),r.node(e).prepend(Me.noIndent())}else if(et(e)){let r=this.getNodeFormatter(e);r.keyword("{").append(Me.noSpace()),r.keywords(".","+=","=").surround(Me.noSpace()),r.keyword("}").prepend(Me.noSpace())}else if(Ra(e))this.getNodeFormatter(e).keywords("infer","infers").append(Me.oneSpace());else if(je(e))this.getNodeFormatter(e).keywords("=","+=","?=").surround(Me.noSpace());else if(tt(e)){let r=this.getNodeFormatter(e);r.keyword("<").surround(Me.noSpace()),r.keyword(",").append(Me.oneSpace()),r.properties("arguments").append(Me.noSpace())}va(e)&&this.getNodeFormatter(e).property("cardinality").prepend(Me.noSpace())}};var yo=Ie(Qe(),1);var we=Ie(Qe(),1);var Zy={[we.SemanticTokenTypes.class]:0,[we.SemanticTokenTypes.comment]:1,[we.SemanticTokenTypes.enum]:2,[we.SemanticTokenTypes.enumMember]:3,[we.SemanticTokenTypes.event]:4,[we.SemanticTokenTypes.function]:5,[we.SemanticTokenTypes.interface]:6,[we.SemanticTokenTypes.keyword]:7,[we.SemanticTokenTypes.macro]:8,[we.SemanticTokenTypes.method]:9,[we.SemanticTokenTypes.modifier]:10,[we.SemanticTokenTypes.namespace]:11,[we.SemanticTokenTypes.number]:12,[we.SemanticTokenTypes.operator]:13,[we.SemanticTokenTypes.parameter]:14,[we.SemanticTokenTypes.property]:15,[we.SemanticTokenTypes.regexp]:16,[we.SemanticTokenTypes.string]:17,[we.SemanticTokenTypes.struct]:18,[we.SemanticTokenTypes.type]:19,[we.SemanticTokenTypes.typeParameter]:20,[we.SemanticTokenTypes.variable]:21},BS={[we.SemanticTokenModifiers.abstract]:1,[we.SemanticTokenModifiers.async]:2,[we.SemanticTokenModifiers.declaration]:4,[we.SemanticTokenModifiers.defaultLibrary]:8,[we.SemanticTokenModifiers.definition]:16,[we.SemanticTokenModifiers.deprecated]:32,[we.SemanticTokenModifiers.documentation]:64,[we.SemanticTokenModifiers.modification]:128,[we.SemanticTokenModifiers.readonly]:256,[we.SemanticTokenModifiers.static]:512},KS={legend:{tokenTypes:Object.keys(Zy),tokenModifiers:Object.keys(BS)},full:{delta:!0},range:!0},Qy=class extends we.SemanticTokensBuilder{constructor(){super(...arguments),this._tokens=[]}push(e,r,n,i,o){this._tokens.push({line:e,char:r,length:n,tokenType:i,tokenModifiers:o})}build(){return this.applyTokens(),super.build()}buildEdits(){return this.applyTokens(),super.buildEdits()}applyTokens(){for(let e of this._tokens.sort(this.compareTokens))super.push(e.line,e.char,e.length,e.tokenType,e.tokenModifiers);this._tokens=[]}compareTokens(e,r){return e.line===r.line?e.char-r.char:e.line-r.line}},Rd=class{constructor(e){this.tokensBuilders=new Map,e.shared.workspace.TextDocuments.onDidClose(r=>{this.tokensBuilders.delete(r.document.uri)}),e.shared.lsp.LanguageServer.onInitialize(r=>{var n;this.initialize((n=r.capabilities.textDocument)===null||n===void 0?void 0:n.semanticTokens)})}initialize(e){this.clientCapabilities=e}async semanticHighlight(e,r,n=we.CancellationToken.None){return this.currentRange=void 0,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),await this.computeHighlighting(e,this.createAcceptor(),n),this.currentTokensBuilder.build()}async semanticHighlightRange(e,r,n=we.CancellationToken.None){return this.currentRange=r.range,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),await this.computeHighlighting(e,this.createAcceptor(),n),this.currentTokensBuilder.build()}async semanticHighlightDelta(e,r,n=we.CancellationToken.None){return this.currentRange=void 0,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),this.currentTokensBuilder.previousResult(r.previousResultId),await this.computeHighlighting(e,this.createAcceptor(),n),this.currentTokensBuilder.buildEdits()}createAcceptor(){return r=>{"line"in r?this.highlightToken({range:{start:{line:r.line,character:r.char},end:{line:r.line,character:r.char+r.length}},type:r.type,modifier:r.modifier}):"range"in r?this.highlightToken(r):"keyword"in r?this.highlightKeyword(r):"property"in r?this.highlightProperty(r):this.highlightNode({node:r.cst,type:r.type,modifier:r.modifier})}}getDocumentTokensBuilder(e){let r=this.tokensBuilders.get(e.uri.toString());if(r)return r;let n=new Qy;return this.tokensBuilders.set(e.uri.toString(),n),n}async computeHighlighting(e,r,n){let i=e.parseResult.value,o=uo(i,{range:this.currentRange}).iterator(),s;do if(s=o.next(),!s.done){await kt(n);let a=s.value;this.highlightElement(a,r)==="prune"&&o.prune()}while(!s.done)}highlightToken(e){var r;let{range:n,type:i}=e,o=e.modifier;if(this.currentRange&&!Lf(n,this.currentRange)||!this.currentDocument||!this.currentTokensBuilder)return;let s=Zy[i],a=0;if(o!==void 0){typeof o=="string"&&(o=[o]);for(let p of o){let m=BS[p];a|=m}}let c=n.start.line,f=n.end.line;if(c===f){let p=n.start.character,m=n.end.character-p;this.currentTokensBuilder.push(c,p,m,s,a)}else if(!((r=this.clientCapabilities)===null||r===void 0)&&r.multilineTokenSupport){let p=n.start.character,m=this.currentDocument.textDocument.offsetAt(n.start),T=this.currentDocument.textDocument.offsetAt(n.end);this.currentTokensBuilder.push(c,p,T-m,s,a)}else{let p=n.start,m=this.currentDocument.textDocument.offsetAt({line:c+1,character:0});this.currentTokensBuilder.push(p.line,p.character,m-p.character-1,s,a);for(let T=c+1;T<f;T++){let _=m;m=this.currentDocument.textDocument.offsetAt({line:T+1,character:0}),this.currentTokensBuilder.push(T,0,m-_-1,s,a)}this.currentTokensBuilder.push(f,0,n.end.character,s,a)}}highlightProperty(e){let r=[];if(typeof e.index=="number"){let o=Pr(e.node.$cstNode,e.property,e.index);o&&r.push(o)}else r.push(...jo(e.node.$cstNode,e.property));let{type:n,modifier:i}=e;for(let o of r)this.highlightNode({node:o,type:n,modifier:i})}highlightKeyword(e){let{node:r,keyword:n,type:i,index:o,modifier:s}=e,a=[];if(typeof o=="number"){let c=Un(r.$cstNode,n,o);c&&a.push(c)}else a.push(...vd(r.$cstNode,n));for(let c of a)this.highlightNode({node:c,type:i,modifier:s})}highlightNode(e){let{node:r,type:n,modifier:i}=e,o=r.range;this.highlightToken({range:o,type:n,modifier:i})}},Jy;(function(t){function e(n,i){let o=new Map;Object.entries(Zy).forEach(([c,f])=>o.set(f,c));let s=0,a=0;return r(n.data,5).map(c=>{s+=c[0],c[0]!==0&&(a=0),a+=c[1];let f=c[2];return{offset:i.textDocument.offsetAt({line:s,character:a}),tokenType:o.get(c[3]),tokenModifiers:c[4],text:i.textDocument.getText({start:{line:s,character:a},end:{line:s,character:a+f}})}})}t.decode=e;function r(n,i){let o=[];for(let s=0;s<n.length;s+=i){let a=n.slice(s,s+i);o.push(a)}return o}})(Jy=Jy||(Jy={}));var bd=class extends Rd{highlightElement(e,r){var n;je(e)?r({node:e,property:"feature",type:yo.SemanticTokenTypes.property}):et(e)?e.feature&&r({node:e,property:"feature",type:yo.SemanticTokenTypes.property}):xa(e)?r({node:e,property:"name",type:yo.SemanticTokenTypes.type}):Hr(e)?(e.primitiveType||e.typeRef)&&r({node:e,property:e.primitiveType?"primitiveType":"typeRef",type:yo.SemanticTokenTypes.type}):g_(e)?r({node:e,property:"name",type:yo.SemanticTokenTypes.parameter}):ba(e)?r({node:e,property:"parameter",type:yo.SemanticTokenTypes.parameter}):tt(e)?!((n=e.rule.ref)===null||n===void 0)&&n.fragment&&r({node:e,property:"rule",type:yo.SemanticTokenTypes.type}):qf(e)&&r({node:e,property:"name",type:yo.SemanticTokenTypes.property})}};var xd=class extends wa{getName(e){return je(e)?e.feature:super.getName(e)}getNameNode(e){return je(e)?Pr(e.$cstNode,"feature"):super.getNameNode(e)}};var Ga=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let r=Ba(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(so(i))return i.ref;if(Array.isArray(i)){for(let o of i)if(so(o)&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return o.ref}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Jx(e,i)))return n}}}findDeclarationNode(e){let r=this.findDeclaration(e);if(r?.$cstNode){let n=this.nameProvider.getNameNode(r);return n??r.$cstNode}}findReferences(e,r){let n=[];if(r.includeDeclaration){let o=this.getReferenceToSelf(e);o&&n.push(o)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>qe.equals(o.sourceUri,r.documentUri))),n.push(...i),Ce(n)}getReferenceToSelf(e){let r=this.nameProvider.getNameNode(e);if(r){let n=ke(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:Wr(r),local:!0}}}};var _d=class extends Ga{constructor(e){super(e),this.documents=e.shared.workspace.LangiumDocuments}findDeclaration(e){let r=e.astNode,n=Ba(e);if(n&&n.feature==="feature"){if(je(r))return this.findAssignmentDeclaration(r);if(et(r))return this.findActionDeclaration(r)}return super.findDeclaration(e)}findReferences(e,r){var n;return qf(e)?this.findReferencesToTypeAttribute(e,(n=r.includeDeclaration)!==null&&n!==void 0?n:!1):super.findReferences(e,r)}findReferencesToTypeAttribute(e,r){let n=[],i=rt(e,pn);if(i){if(r){let a=this.getReferenceToSelf(e);a&&n.push(a)}let o=Sy(i,this,this.documents,this.nodeLocator),s=[];o.forEach(a=>{let c=this.findRulesWithReturnType(a);s.push(...c)}),s.forEach(a=>{let c=this.createReferencesToAttribute(a,e);n.push(...c)})}return Ce(n)}createReferencesToAttribute(e,r){let n=[];if(ee(e)){let i=Ia(e.definition).find(o=>o.feature===r.name);if(i?.$cstNode){let o=this.nameProvider.getNameNode(i);o&&n.push({sourceUri:ke(i).uri,sourcePath:this.nodeLocator.getAstNodePath(i),targetUri:ke(r).uri,targetPath:this.nodeLocator.getAstNodePath(r),segment:Wr(o),local:qe.equals(ke(i).uri,ke(r).uri)})}}else{if(e.feature===r.name){let o=Pr(e.$cstNode,"feature");o&&n.push({sourceUri:ke(e).uri,sourcePath:this.nodeLocator.getAstNodePath(e),targetUri:ke(r).uri,targetPath:this.nodeLocator.getAstNodePath(r),segment:Wr(o),local:qe.equals(ke(e).uri,ke(r).uri)})}let i=rt(e,ee);n.push(...this.createReferencesToAttribute(i,r))}return n}findAssignmentDeclaration(e){var r;let n=rt(e,ee),i=Fy(e);if(i){let o=this.findActionDeclaration(i,e.feature);if(o)return o}if(!((r=n?.returnType)===null||r===void 0)&&r.ref&&(pn(n.returnType.ref)||vr(n.returnType.ref))){let o=Cu(n.returnType.ref);for(let s of o){let a=s.attributes.find(c=>c.name===e.feature);if(a)return a}}return e}findActionDeclaration(e,r){var n;if(!((n=e.type)===null||n===void 0)&&n.ref){let i=r??e.feature,o=Cu(e.type.ref);for(let s of o){let a=s.attributes.find(c=>c.name===i);if(a)return a}}}findRulesWithReturnType(e){let r=[];return this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)).forEach(i=>{let o=this.documents.getOrCreateDocument(i.sourceUri),s=this.nodeLocator.getAstNode(o.parseResult.value,i.sourcePath);(ee(s)||et(s))&&r.push(s)}),r}};var Uu=Ie(Qe(),1);var zS=Ie(Qe(),1);var Sd=class{constructor(e){this.grammarConfig=e.parser.GrammarConfig,this.nameProvider=e.references.NameProvider,this.documents=e.shared.workspace.LangiumDocuments,this.references=e.references.References}prepareCallHierarchy(e,r){let n=e.parseResult.value,i=dr(n.$cstNode,e.textDocument.offsetAt(r.position),this.grammarConfig.nameRegexp);if(!i)return;let o=this.references.findDeclarationNode(i);if(o)return this.getCallHierarchyItems(o.astNode,e)}getCallHierarchyItems(e,r){let n=this.nameProvider.getNameNode(e),i=this.nameProvider.getName(e);if(!(!n||!e.$cstNode||i===void 0))return[Object.assign({kind:zS.SymbolKind.Method,name:i,range:e.$cstNode.range,selectionRange:n.range,uri:r.uri.toString()},this.getCallHierarchyItem(e))]}getCallHierarchyItem(e){}incomingCalls(e){let r=this.documents.getOrCreateDocument(Ar.parse(e.item.uri)),n=r.parseResult.value,i=dr(n.$cstNode,r.textDocument.offsetAt(e.item.range.start),this.grammarConfig.nameRegexp);if(!i)return;let o=this.references.findReferences(i.astNode,{includeDeclaration:!1});return this.getIncomingCalls(i.astNode,o)}outgoingCalls(e){let r=this.documents.getOrCreateDocument(Ar.parse(e.item.uri)),n=r.parseResult.value,i=dr(n.$cstNode,r.textDocument.offsetAt(e.item.range.start),this.grammarConfig.nameRegexp);if(i)return this.getOutgoingCalls(i.astNode)}};var VS=Ie(Qe(),1);var Ka=class{constructor(e){this.nameProvider=e.references.NameProvider,this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}getDefinition(e,r){let n=e.parseResult.value;if(n.$cstNode){let i=n.$cstNode,o=dr(i,e.textDocument.offsetAt(r.position),this.grammarConfig.nameRegexp);if(o)return this.collectLocationLinks(o,r)}}collectLocationLinks(e,r){var n;let i=this.findLink(e);if(i)return[VS.LocationLink.create(i.targetDocument.textDocument.uri,((n=i.target.astNode.$cstNode)!==null&&n!==void 0?n:i.target).range,i.target.range,i.source.range)]}findLink(e){let r=this.references.findDeclarationNode(e);if(r?.astNode){let n=ke(r.astNode);if(r&&n)return{source:e,target:r,targetDocument:n}}}};var XS=Ie(Qe(),1);var kd=class{constructor(e){this.references=e.references.References,this.nameProvider=e.references.NameProvider,this.grammarConfig=e.parser.GrammarConfig}getDocumentHighlight(e,r){let n=e.parseResult.value.$cstNode;if(!n)return;let i=dr(n,e.textDocument.offsetAt(r.position),this.grammarConfig.nameRegexp);if(!i)return;let o=this.references.findDeclaration(i);if(o){let s=qe.equals(ke(o).uri,e.uri),a={documentUri:e.uri,includeDeclaration:s};return this.references.findReferences(o,a).map(f=>this.createDocumentHighlight(f)).toArray()}}createDocumentHighlight(e){return XS.DocumentHighlight.create(e.segment.range)}};var Cd=class{constructor(e){this.nameProvider=e.references.NameProvider,this.nodeKindProvider=e.shared.lsp.NodeKindProvider}getSymbols(e){return this.getSymbol(e,e.parseResult.value)}getSymbol(e,r){let n=r.$cstNode,i=this.nameProvider.getNameNode(r);if(i&&n){let o=this.nameProvider.getName(r);return[{kind:this.nodeKindProvider.getSymbolKind(r),name:o??i.text,range:n.range,selectionRange:i.range,children:this.getChildSymbols(e,r)}]}else return this.getChildSymbols(e,r)||[]}getChildSymbols(e,r){let n=[];for(let i of Fo(r)){let o=this.getSymbol(e,i);n.push(...o)}if(n.length>0)return n}};var zM=Ie(Qe(),1);var wd=class{match(e,r){if(e.length===0)return!0;r=r.toLowerCase();let n=!1,i,o=0,s=r.length;for(let a=0;a<s;a++){let c=r.charCodeAt(a),f=e.charCodeAt(o);if((c===f||this.toUpperCharCode(c)===this.toUpperCharCode(f))&&(n||(n=i===void 0||this.isWordTransition(i,c)),n&&o++,o===e.length))return!0;i=c}return!1}isWordTransition(e,r){return YS<=e&&e<=JS&&VM<=r&&r<=XM||e===QS&&r!==QS}toUpperCharCode(e){return YS<=e&&e<=JS?e-32:e}},YS="a".charCodeAt(0),JS="z".charCodeAt(0),VM="A".charCodeAt(0),XM="Z".charCodeAt(0),QS="_".charCodeAt(0);var ev=class{constructor(e){this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}getHoverContent(e,r){var n,i;let o=(i=(n=e.parseResult)===null||n===void 0?void 0:n.value)===null||i===void 0?void 0:i.$cstNode;if(o){let s=e.textDocument.offsetAt(r.position),a=dr(o,s,this.grammarConfig.nameRegexp);if(a&&a.offset+a.length>s){let c=this.references.findDeclaration(a);if(c)return this.getAstNodeHoverContent(c)}}}},Dd=class extends ev{constructor(e){super(e),this.documentationProvider=e.documentation.DocumentationProvider}getAstNodeHoverContent(e){let r=this.documentationProvider.getDocumentation(e);if(r)return{contents:{kind:"markdown",value:r}}}};var YM=Ie(Qe(),1);var JM=Ie(Qe(),1);var Gn=Ie(Qe(),1);var st;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(st=st||(st={}));var Ed=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}fromTextDocument(e,r){return this.create(r??Ar.parse(e.uri),e)}fromString(e,r){return this.create(r,e)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r){if(r??(r=this.textDocuments.get(e.toString())),r??(r=this.getContentFromFileSystem(e)),typeof r=="string"){let n=this.parse(e,r);return this.createLangiumDocument(n,e,void 0,r)}else if("$model"in r){let n={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,r.getText());return this.createLangiumDocument(n,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:st.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:st.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}update(e){let r=this.textDocuments.get(e.uri.toString()),n=r?r.getText():this.getContentFromFileSystem(e.uri);if(r)Object.defineProperty(e,"textDocument",{value:r});else{let i=this.createTextDocumentGetter(e.uri,n);Object.defineProperty(e,"textDocument",{get:i})}return e.parseResult=this.parse(e.uri,n),e.parseResult.value.$document=e,e}getContentFromFileSystem(e){return this.fileSystemProvider.readFileSync(e)}parse(e,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=ha.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Pd=class{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return Ce(this.documentMap.values())}addDocument(e){let r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getOrCreateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n||(n=this.langiumDocumentFactory.create(e),this.documentMap.set(r,n),n)}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=st.Changed,n.precomputedScopes=void 0,n.references=[],n.diagnostics=void 0),n}deleteDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=st.Changed,this.documentMap.delete(r)),n}};var QM=Ie(Qe(),1);function ZS(t){let e=[],r=[];t.forEach(i=>{i?.triggerCharacters&&e.push(...i.triggerCharacters),i?.retriggerCharacters&&r.push(...i.retriggerCharacters)});let n={triggerCharacters:e.length>0?Array.from(new Set(e)).sort():void 0,retriggerCharacters:r.length>0?Array.from(new Set(r)).sort():void 0};return n.triggerCharacters?n:void 0}var Ad=class{constructor(e){this.onInitializeEmitter=new Gn.Emitter,this.onInitializedEmitter=new Gn.Emitter,this.services=e}get onInitialize(){return this.onInitializeEmitter.event}get onInitialized(){return this.onInitializedEmitter.event}async initialize(e){return this.eagerLoadServices(),this.onInitializeEmitter.fire(e),this.onInitializeEmitter.dispose(),this.buildInitializeResult(e)}eagerLoadServices(){Mf(this.services),this.services.ServiceRegistry.all.forEach(e=>Mf(e))}hasService(e){return this.services.ServiceRegistry.all.some(r=>e(r)!==void 0)}buildInitializeResult(e){var r;let n=this.services.ServiceRegistry.all,i=this.hasService(V=>V.lsp.Formatter),o=n.map(V=>{var it;return(it=V.lsp.Formatter)===null||it===void 0?void 0:it.formatOnTypeOptions}).find(V=>!!V),s=this.hasService(V=>V.lsp.CodeActionProvider),a=this.hasService(V=>V.lsp.SemanticTokenProvider),c=(r=this.services.lsp.ExecuteCommandHandler)===null||r===void 0?void 0:r.commands,f=this.hasService(V=>V.lsp.DocumentLinkProvider),p=ZS(n.map(V=>{var it;return(it=V.lsp.SignatureHelp)===null||it===void 0?void 0:it.signatureHelpOptions})),m=this.hasService(V=>V.lsp.TypeProvider),T=this.hasService(V=>V.lsp.ImplementationProvider),_=this.hasService(V=>V.lsp.CompletionProvider),E=HS(n.map(V=>{var it;return(it=V.lsp.CompletionProvider)===null||it===void 0?void 0:it.completionOptions})),N=this.hasService(V=>V.lsp.ReferencesProvider),I=this.hasService(V=>V.lsp.DocumentSymbolProvider),A=this.hasService(V=>V.lsp.DefinitionProvider),y=this.hasService(V=>V.lsp.DocumentHighlightProvider),h=this.hasService(V=>V.lsp.FoldingRangeProvider),C=this.hasService(V=>V.lsp.HoverProvider),L=this.hasService(V=>V.lsp.RenameProvider),J=this.hasService(V=>V.lsp.CallHierarchyProvider),fe=this.hasService(V=>V.lsp.CodeLensProvider),Ae=this.hasService(V=>V.lsp.DeclarationProvider),Wt=this.hasService(V=>V.lsp.InlayHintProvider),Xe=this.services.lsp.WorkspaceSymbolProvider;return{capabilities:{workspace:{workspaceFolders:{supported:!0}},executeCommandProvider:c&&{commands:c},textDocumentSync:Gn.TextDocumentSyncKind.Incremental,completionProvider:_?E:void 0,referencesProvider:N,documentSymbolProvider:I,definitionProvider:A,typeDefinitionProvider:m,documentHighlightProvider:y,codeActionProvider:s,documentFormattingProvider:i,documentRangeFormattingProvider:i,documentOnTypeFormattingProvider:o,foldingRangeProvider:h,hoverProvider:C,renameProvider:L?{prepareProvider:!0}:void 0,semanticTokensProvider:a?KS:void 0,signatureHelpProvider:p,implementationProvider:T,callHierarchyProvider:J?{}:void 0,documentLinkProvider:f?{resolveProvider:!1}:void 0,codeLensProvider:fe?{resolveProvider:!1}:void 0,declarationProvider:Ae,inlayHintProvider:Wt?{resolveProvider:!1}:void 0,workspaceSymbolProvider:Xe?{resolveProvider:!!Xe.resolveSymbol}:void 0}}}async initialized(e){this.onInitializedEmitter.fire(e),this.onInitializedEmitter.dispose()}};function tk(t){let e=t.lsp.Connection;if(!e)throw new Error("Starting a language server requires the languageServer.Connection service to be set.");ZM(e,t),e$(e,t),t$(e,t),r$(e,t),i$(e,t),o$(e,t),s$(e,t),a$(e,t),u$(e,t),f$(e,t),d$(e,t),n$(e,t),p$(e,t),l$(e,t),m$(e,t),h$(e,t),y$(e,t),T$(e,t),x$(e,t),R$(e,t),v$(e,t),g$(e,t),c$(e,t),b$(e,t),e.onInitialize(n=>t.lsp.LanguageServer.initialize(n)),e.onInitialized(n=>t.lsp.LanguageServer.initialized(n)),t.workspace.TextDocuments.listen(e),e.listen()}function ZM(t,e){let r=e.workspace.DocumentBuilder,n=e.workspace.MutexLock;function i(s,a){n.lock(c=>r.update(s,a,c))}e.workspace.TextDocuments.onDidChangeContent(s=>{i([Ar.parse(s.document.uri)],[])}),t.onDidChangeWatchedFiles(s=>{let a=[],c=[];for(let f of s.changes){let p=Ar.parse(f.uri);f.type===Gn.FileChangeType.Deleted?c.push(p):a.push(p)}i(a,c)})}function e$(t,e){e.workspace.DocumentBuilder.onBuildPhase(st.Validated,async(n,i)=>{for(let o of n)if(o.diagnostics&&t.sendDiagnostics({uri:o.uri.toString(),diagnostics:o.diagnostics}),i.isCancellationRequested)return})}function t$(t,e){t.onCompletion(Br((r,n,i,o)=>{var s;return(s=r.lsp.CompletionProvider)===null||s===void 0?void 0:s.getCompletion(n,i,o)},e))}function r$(t,e){t.onReferences(Br((r,n,i,o)=>{var s;return(s=r.lsp.ReferencesProvider)===null||s===void 0?void 0:s.findReferences(n,i,o)},e))}function n$(t,e){t.onCodeAction(Br((r,n,i,o)=>{var s;return(s=r.lsp.CodeActionProvider)===null||s===void 0?void 0:s.getCodeActions(n,i,o)},e))}function i$(t,e){t.onDocumentSymbol(Br((r,n,i,o)=>{var s;return(s=r.lsp.DocumentSymbolProvider)===null||s===void 0?void 0:s.getSymbols(n,i,o)},e))}function o$(t,e){t.onDefinition(Br((r,n,i,o)=>{var s;return(s=r.lsp.DefinitionProvider)===null||s===void 0?void 0:s.getDefinition(n,i,o)},e))}function s$(t,e){t.onTypeDefinition(Br((r,n,i,o)=>{var s;return(s=r.lsp.TypeProvider)===null||s===void 0?void 0:s.getTypeDefinition(n,i,o)},e))}function a$(t,e){t.onImplementation(Br((r,n,i,o)=>{var s;return(s=r.lsp.ImplementationProvider)===null||s===void 0?void 0:s.getImplementation(n,i,o)},e))}function c$(t,e){t.onDeclaration(Br((r,n,i,o)=>{var s;return(s=r.lsp.DeclarationProvider)===null||s===void 0?void 0:s.getDeclaration(n,i,o)},e))}function u$(t,e){t.onDocumentHighlight(Br((r,n,i,o)=>{var s;return(s=r.lsp.DocumentHighlightProvider)===null||s===void 0?void 0:s.getDocumentHighlight(n,i,o)},e))}function l$(t,e){t.onHover(Br((r,n,i,o)=>{var s;return(s=r.lsp.HoverProvider)===null||s===void 0?void 0:s.getHoverContent(n,i,o)},e))}function f$(t,e){t.onFoldingRanges(Br((r,n,i,o)=>{var s;return(s=r.lsp.FoldingRangeProvider)===null||s===void 0?void 0:s.getFoldingRanges(n,i,o)},e))}function d$(t,e){t.onDocumentFormatting(Br((r,n,i,o)=>{var s;return(s=r.lsp.Formatter)===null||s===void 0?void 0:s.formatDocument(n,i,o)},e)),t.onDocumentRangeFormatting(Br((r,n,i,o)=>{var s;return(s=r.lsp.Formatter)===null||s===void 0?void 0:s.formatDocumentRange(n,i,o)},e)),t.onDocumentOnTypeFormatting(Br((r,n,i,o)=>{var s;return(s=r.lsp.Formatter)===null||s===void 0?void 0:s.formatDocumentOnType(n,i,o)},e))}function p$(t,e){t.onRenameRequest(Br((r,n,i,o)=>{var s;return(s=r.lsp.RenameProvider)===null||s===void 0?void 0:s.rename(n,i,o)},e)),t.onPrepareRename(Br((r,n,i,o)=>{var s;return(s=r.lsp.RenameProvider)===null||s===void 0?void 0:s.prepareRename(n,i,o)},e))}function m$(t,e){t.languages.inlayHint.on(Ho((r,n,i,o)=>{var s;return(s=r.lsp.InlayHintProvider)===null||s===void 0?void 0:s.getInlayHints(n,i,o)},e))}function h$(t,e){let r={data:[]};t.languages.semanticTokens.on(Ho((n,i,o,s)=>n.lsp.SemanticTokenProvider?n.lsp.SemanticTokenProvider.semanticHighlight(i,o,s):r,e)),t.languages.semanticTokens.onDelta(Ho((n,i,o,s)=>n.lsp.SemanticTokenProvider?n.lsp.SemanticTokenProvider.semanticHighlightDelta(i,o,s):r,e)),t.languages.semanticTokens.onRange(Ho((n,i,o,s)=>n.lsp.SemanticTokenProvider?n.lsp.SemanticTokenProvider.semanticHighlightRange(i,o,s):r,e))}function g$(t,e){t.onDidChangeConfiguration(r=>{r.settings&&e.workspace.ConfigurationProvider.updateConfiguration(r)})}function y$(t,e){let r=e.lsp.ExecuteCommandHandler;r&&t.onExecuteCommand(async(n,i)=>{var o;try{return await r.executeCommand(n.command,(o=n.arguments)!==null&&o!==void 0?o:[],i)}catch(s){return za(s)}})}function v$(t,e){t.onDocumentLinks(Ho((r,n,i,o)=>{var s;return(s=r.lsp.DocumentLinkProvider)===null||s===void 0?void 0:s.getDocumentLinks(n,i,o)},e))}function T$(t,e){t.onSignatureHelp(Ho((r,n,i,o)=>{var s;return(s=r.lsp.SignatureHelp)===null||s===void 0?void 0:s.provideSignatureHelp(n,i,o)},e))}function R$(t,e){t.onCodeLens(Ho((r,n,i,o)=>{var s;return(s=r.lsp.CodeLensProvider)===null||s===void 0?void 0:s.provideCodeLens(n,i,o)},e))}function b$(t,e){var r;let n=e.lsp.WorkspaceSymbolProvider;if(n){t.onWorkspaceSymbol(async(o,s)=>{try{return await n.getSymbols(o,s)}catch(a){return za(a)}});let i=(r=n.resolveSymbol)===null||r===void 0?void 0:r.bind(n);i&&t.onWorkspaceSymbolResolve(async(o,s)=>{try{return await i(o,s)}catch(a){return za(a)}})}}function x$(t,e){t.languages.callHierarchy.onPrepare(Ho((r,n,i,o)=>{var s;return r.lsp.CallHierarchyProvider&&(s=r.lsp.CallHierarchyProvider.prepareCallHierarchy(n,i,o))!==null&&s!==void 0?s:null},e)),t.languages.callHierarchy.onIncomingCalls(ek((r,n,i)=>{var o;return r.lsp.CallHierarchyProvider&&(o=r.lsp.CallHierarchyProvider.incomingCalls(n,i))!==null&&o!==void 0?o:null},e)),t.languages.callHierarchy.onOutgoingCalls(ek((r,n,i)=>{var o;return r.lsp.CallHierarchyProvider&&(o=r.lsp.CallHierarchyProvider.outgoingCalls(n,i))!==null&&o!==void 0?o:null},e))}function ek(t,e){let r=e.ServiceRegistry;return async(n,i)=>{let o=Ar.parse(n.item.uri),s=r.getServices(o);if(!s){let a=`Could not find service instance for uri: '${o.toString()}'`;throw console.error(a),new Error(a)}try{return await t(s,n,i)}catch(a){return za(a)}}}function Ho(t,e){let r=e.workspace.LangiumDocuments,n=e.ServiceRegistry;return async(i,o)=>{let s=Ar.parse(i.textDocument.uri),a=n.getServices(s);if(!a)throw console.error(`Could not find service instance for uri: '${s.toString()}'`),new Error;let c=r.getOrCreateDocument(s);if(!c)throw new Error;try{return await t(a,c,i,o)}catch(f){return za(f)}}}function Br(t,e){let r=e.workspace.LangiumDocuments,n=e.ServiceRegistry;return async(i,o)=>{let s=Ar.parse(i.textDocument.uri),a=n.getServices(s);if(!a)return console.error(`Could not find service instance for uri: '${s.toString()}'`),null;let c=r.getOrCreateDocument(s);if(!c)return null;try{return await t(a,c,i,o)}catch(f){return za(f)}}}function za(t){if(Os(t))return new Gn.ResponseError(Gn.LSPErrorCodes.RequestCancelled,"The request has been cancelled.");if(t instanceof Gn.ResponseError)return t;throw t}var Id=Ie(Qe(),1),Nd=class{getSymbolKind(){return Id.SymbolKind.Field}getCompletionItemKind(){return Id.CompletionItemKind.Reference}};var rk=Ie(Qe(),1);var Od=class{constructor(e){this.nameProvider=e.references.NameProvider,this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}findReferences(e,r){let n=e.parseResult.value.$cstNode;if(!n)return[];let i=dr(n,e.textDocument.offsetAt(r.position),this.grammarConfig.nameRegexp);return i?this.getReferences(i,r,e):[]}getReferences(e,r,n){let i=[],o=this.references.findDeclaration(e);if(o){let s={includeDeclaration:r.context.includeDeclaration};this.references.findReferences(o,s).forEach(a=>{i.push(rk.Location.create(a.sourceUri.toString(),a.segment.range))})}return i}};var nk=Ie(Qe(),1);var Ld=class{constructor(e){this.references=e.references.References,this.nameProvider=e.references.NameProvider,this.grammarConfig=e.parser.GrammarConfig}async rename(e,r){let n={},i=e.parseResult.value.$cstNode;if(!i)return;let o=e.textDocument.offsetAt(r.position),s=dr(i,o,this.grammarConfig.nameRegexp);if(!s)return;let a=this.references.findDeclaration(s);if(!a)return;let c={onlyLocal:!1,includeDeclaration:!0};return this.references.findReferences(a,c).forEach(p=>{let m=nk.TextEdit.replace(p.segment.range,r.newName),T=p.sourceUri.toString();n[T]?n[T].push(m):n[T]=[m]}),{changes:n}}prepareRename(e,r){return this.renameNodeRange(e,r.position)}renameNodeRange(e,r){let n=e.parseResult.value.$cstNode,i=e.textDocument.offsetAt(r);if(n&&i){let o=dr(n,i,this.grammarConfig.nameRegexp);if(!o)return;if(this.references.findDeclaration(o)||this.isNameNode(o))return o.range}}isNameNode(e){return e?.astNode&&wu(e.astNode)&&e===this.nameProvider.getNameNode(e.astNode)}};var _$=Ie(Qe(),1);var ik=Ie(Qe(),1);var Md=class{constructor(e){this.indexManager=e.workspace.IndexManager,this.nodeKindProvider=e.lsp.NodeKindProvider,this.fuzzyMatcher=e.lsp.FuzzyMatcher}async getSymbols(e,r=ik.CancellationToken.None){let n=[],i=e.query.toLowerCase();for(let o of this.indexManager.allElements())if(await kt(r),this.fuzzyMatcher.match(i,o.name)){let s=this.getWorkspaceSymbol(o);s&&n.push(s)}return n}getWorkspaceSymbol(e){let r=e.nameSegment;if(r)return{kind:this.nodeKindProvider.getSymbolKind(e),name:e.name,location:{range:r.range,uri:e.documentUri.toString()}}}};var $d=class extends Ka{constructor(e){super(e),this.documents=e.shared.workspace.LangiumDocuments}collectLocationLinks(e,r){var n,i,o,s,a,c;let f="path";if($f(e.astNode)&&((n=Ba(e))===null||n===void 0?void 0:n.feature)===f){let p=ho(this.documents,e.astNode);if(p?.$document){let m=(i=this.findTargetObject(p))!==null&&i!==void 0?i:p,T=(s=(o=this.nameProvider.getNameNode(m))===null||o===void 0?void 0:o.range)!==null&&s!==void 0?s:Uu.Range.create(0,0,0,0),_=(c=(a=m.$cstNode)===null||a===void 0?void 0:a.range)!==null&&c!==void 0?c:Uu.Range.create(0,0,0,0);return[Uu.LocationLink.create(p.$document.uri.toString(),_,T,e.range)]}return}return super.collectLocationLinks(e,r)}findTargetObject(e){return e.isDeclared?e:Fo(e).head()}};var tv=Ie(Qe(),1);var qd=class extends Sd{getIncomingCalls(e,r){if(!ee(e))return;let n=new Map;if(r.forEach(i=>{let s=this.documents.getOrCreateDocument(i.sourceUri).parseResult.value;if(!s.$cstNode)return;let a=dn(s.$cstNode,i.segment.offset);if(!a)return;let c=rt(a.astNode,ee);if(!c||!c.$cstNode)return;let f=this.nameProvider.getNameNode(c);if(!f)return;let p=i.sourceUri.toString(),m=p+"@"+f.text;n.has(m)?n.set(m,{parserRule:c.$cstNode,nameNode:f,targetNodes:[...n.get(m).targetNodes,a],docUri:p}):n.set(m,{parserRule:c.$cstNode,nameNode:f,targetNodes:[a],docUri:p})}),n.size!==0)return Array.from(n.values()).map(i=>({from:{kind:tv.SymbolKind.Method,name:i.nameNode.text,range:i.parserRule.range,selectionRange:i.nameNode.range,uri:i.docUri},fromRanges:i.targetNodes.map(o=>o.range)}))}getOutgoingCalls(e){if(!ee(e))return;let r=St(e).filter(tt).toArray(),n=new Map;if(r.forEach(i=>{var o;let s=i.$cstNode;if(!s)return;let a=(o=i.rule.ref)===null||o===void 0?void 0:o.$cstNode;if(!a)return;let c=this.nameProvider.getNameNode(a.astNode);if(!c)return;let f=ke(a.astNode).uri.toString(),p=f+"@"+c.text;n.has(p)?n.set(p,{refCstNode:a,to:c,from:[...n.get(p).from,s.range],docUri:f}):n.set(p,{refCstNode:a,to:c,from:[s.range],docUri:f})}),n.size!==0)return Array.from(n.values()).map(i=>({to:{kind:tv.SymbolKind.Method,name:i.to.text,range:i.refCstNode.range,selectionRange:i.to.range,uri:i.docUri},fromRanges:i.from}))}};var Fd=class{constructor(e){this.documents=e.shared.workspace.LangiumDocuments}collectValidationResources(e){let r=$S(e,this.documents);return{typeToValidationInfo:this.collectValidationInfo(r),typeToSuperProperties:this.collectSuperProperties(r)}}collectValidationInfo({astResources:e,inferred:r,declared:n}){let i=new Map,o=S$(e);for(let a of Xf(r))i.set(a.name,{inferred:a,inferredNodes:o.get(a.name)});let s=Ce(e.interfaces).concat(e.types).reduce((a,c)=>a.set(c.name,c),new Map);for(let a of Xf(n)){let c=s.get(a.name);if(c){let f=i.get(a.name);i.set(a.name,Object.assign(Object.assign({},f??{}),{declared:a,declaredNode:c}))}}return i}collectSuperProperties({inferred:e,declared:r}){let n=new Map,i=ky(e,r),o=new Map(i.map(s=>[s.name,s]));for(let s of ky(e,r))n.set(s.name,this.addSuperProperties(s,o,new Set));return n}addSuperProperties(e,r,n){if(n.has(e.name))return[];n.add(e.name);let i=[...e.properties];for(let o of e.superTypes){let s=r.get(o.name);s&&i.push(...this.addSuperProperties(s,r,n))}return i}};function S$({parserRules:t,datatypeRules:e}){let r=new Ze;Ce(t).concat(e).forEach(i=>r.add(Ms(i),i));function n(i){if(et(i)){let o=La(i);o&&r.add(o,i)}(Sn(i)||Tr(i)||kn(i))&&i.elements.forEach(o=>n(o))}return t.forEach(i=>n(i.definition)),r}function ok(t){return t&&"declared"in t}function sk(t){return t&&"inferred"in t}function ak(t){return t&&"inferred"in t&&"declared"in t}function uk(t){let e=t.validation.ValidationRegistry,r=t.validation.LangiumGrammarTypesValidator,n={Action:[r.checkActionIsNotUnionType],Grammar:[r.checkDeclaredTypesConsistency,r.checkDeclaredAndInferredTypesConsistency],Interface:[r.checkCyclicInterface],Type:[r.checkCyclicType]};e.register(n,r)}var jd=class{checkCyclicType(e,r){Go(e,new Set)&&r("error",`Type alias '${e.name}' circularly references itself.`,{node:e,property:"name"})}checkCyclicInterface(e,r){Go(e,new Set)&&r("error",`Type '${e.name}' recursively references itself as a base type.`,{node:e,property:"name"})}checkDeclaredTypesConsistency(e,r){var n;let i=(n=e.$document)===null||n===void 0?void 0:n.validationResources;if(i){for(let o of i.typeToValidationInfo.values())if(ok(o)&&ui(o.declared)&&pn(o.declaredNode)){let s=o;C$(s,r),w$(s,r)}}}checkDeclaredAndInferredTypesConsistency(e,r){var n;let i=(n=e.$document)===null||n===void 0?void 0:n.validationResources;if(i)for(let o of i.typeToValidationInfo.values())sk(o)&&o.inferred instanceof Ca&&k$(o.inferred,r),ak(o)&&P$(o,i,r)}checkActionIsNotUnionType(e,r){vr(e.type)&&r("error","Actions cannot create union types.",{node:e,property:"type"})}};function Go(t,e){var r;if(e.has(t))return!0;if(e.add(t),vr(t))return Go(t.type,e);if(pn(t))return t.superTypes.some(n=>n.ref&&Go(n.ref,e));if(Hr(t)){if(!((r=t.typeRef)===null||r===void 0)&&r.ref)return Go(t.typeRef.ref,e)}else{if(Ps(t))return Go(t.referenceType,e);if(Es(t))return Go(t.elementType,e);if(jn(t))return t.types.some(n=>Go(n,e))}return!1}function k$(t,e){t.properties.forEach(r=>{var n;let i=xy(r.type);if(i.length>1){let o=a=>lo(a)?"ref":"other",s=o(i[0]);if(i.slice(1).some(a=>o(a)!==s)){let a=(n=r.astNodes.values().next())===null||n===void 0?void 0:n.value;a&&e("error",`Mixing a cross-reference with other types is not supported. Consider splitting property "${r.name}" into two or more different properties.`,{node:a})}}})}function C$({declared:t,declaredNode:e},r){Array.from(t.superTypes).forEach((n,i)=>{n&&(ai(n)&&r("error","Interfaces cannot extend union types.",{node:e,property:"superTypes",index:i}),n.declared||r("error","Extending an inferred type is discouraged.",{node:e,property:"superTypes",index:i}))})}function w$({declared:t,declaredNode:e},r){let n=t.properties.reduce((s,a)=>s.add(a.name,a),new Ze);for(let[s,a]of n.entriesGroupedByKey())if(a.length>1)for(let c of a)r("error",`Cannot have two properties with the same name '${s}'.`,{node:Array.from(c.astNodes)[0],property:"name"});let i=Array.from(t.superTypes);for(let s=0;s<i.length;s++)for(let a=s+1;a<i.length;a++){let c=i[s],f=i[a],p=ui(c)?c.superProperties:[],m=ui(f)?f.superProperties:[],T=D$(p,m);T.length>0&&r("error",`Cannot simultaneously inherit from '${c}' and '${f}'. Their ${T.map(_=>"'"+_+"'").join(", ")} properties are not identical.`,{node:e,property:"name"})}let o=new Set;for(let s of i){let a=ui(s)?s.superProperties:[];for(let c of a)o.add(c.name)}for(let s of t.properties)if(o.has(s.name)){let a=e.attributes.find(c=>c.name===s.name);a&&r("error",`Cannot redeclare property '${s.name}'. It is already inherited from another interface.`,{node:a,property:"name"})}}function D$(t,e){let r=[];for(let n of t){let i=e.find(o=>o.name===n.name);i&&!E$(n,i)&&r.push(n.name)}return r}function E$(t,e){return ku(t.type,e.type)&&ku(e.type,t.type)}function P$(t,e,r){let{inferred:n,declared:i,declaredNode:o,inferredNodes:s}=t,a=i.name,c=m=>T=>s.forEach(_=>r("error",`${T}${m?` ${m}`:""}.`,_?.inferredType?{node:_?.inferredType,property:"name"}:{node:_,property:et(_)?"type":"name"})),f=(m,T)=>m.forEach(_=>r("error",T,{node:_,property:je(_)||et(_)?"feature":"name"})),p=m=>{s.forEach(T=>{ee(T)&&Ia(T.definition).find(E=>E.feature===m)===void 0&&r("error",`Property '${m}' is missing in a rule '${T.name}', but is required in type '${a}'.`,{node:T,property:"parameters"})})};if(ai(n)&&ai(i))A$(n.type,i.type,c(`in a rule that returns type '${a}'`));else if(ui(n)&&ui(i))N$(n,i,e,c(`in a rule that returns type '${a}'`),f,p);else{let m=`Inferred and declared versions of type '${a}' both have to be interfaces or unions.`;c()(m),r("error",m,{node:o,property:"name"})}}function A$(t,e,r){ku(t,e)||r(`Cannot assign type '${ci(t,"DeclaredType")}' to '${ci(e,"DeclaredType")}'`)}function ck(t){return t.optional||zf(t.type)}function N$(t,e,r,n,i,o){let s=new Set(t.properties.map(m=>m.name)),a=new Map(t.allProperties.map(m=>[m.name,m])),c=new Map(e.superProperties.map(m=>[m.name,m])),f=m=>{if(pr(m))return{types:m.types.map(T=>f(T))};if(lo(m))return{referenceType:f(m.referenceType)};if(fo(m))return{elementType:f(m.elementType)};if(Cn(m)){let T=r.typeToValidationInfo.get(m.value.name);return T?{value:"declared"in T?T.declared:T.inferred}:m}return m};for(let[m,T]of a.entries()){let _=c.get(m);if(_){let E=ci(T.type,"DeclaredType"),N=ci(_.type,"DeclaredType");if(!ku(f(T.type),_.type)&&N!=="unknown"){let A=`The assigned type '${E}' is not compatible with the declared property '${m}' of type '${N}'.`;i(T.astNodes,A)}T.optional&&!ck(_)&&o(m)}else s.has(m)&&i(T.astNodes,`A property '${m}' is not expected.`)}let p=new Set;for(let[m,T]of c.entries())!a.get(m)&&!ck(T)&&p.add(m);if(p.size>0){let m=p.size>1?"Properties":"A property",T=p.size>1?"are expected":"is expected",_=Array.from(p).map(E=>`'${E}'`).sort().join(", ");n(`${m} ${_} ${T}.`)}}var I$={validation:{LangiumGrammarValidator:t=>new nd(t),ValidationResourcesCollector:t=>new Fd(t),LangiumGrammarTypesValidator:()=>new jd},lsp:{FoldingRangeProvider:t=>new gd(t),CodeActionProvider:t=>new fd(t),SemanticTokenProvider:t=>new bd(t),Formatter:()=>new Td,DefinitionProvider:t=>new $d(t),CallHierarchyProvider:t=>new qd(t),CompletionProvider:t=>new hd(t)},references:{ScopeComputation:t=>new ud(t),ScopeProvider:t=>new cd(t),References:t=>new _d(t),NameProvider:()=>new xd}};function lk(t,e){let r=ws(Hu(t),qS,e),n=ws(Wu({shared:r}),FS,I$);return O$(r,n),r.ServiceRegistry.register(n),bS(n),uk(n),{shared:r,grammar:n}}function O$(t,e){t.workspace.DocumentBuilder.onBuildPhase(st.IndexedReferences,async(n,i)=>{for(let o of n){await kt(i);let s=e.validation.ValidationResourcesCollector,a=o.parseResult.value;o.validationResources=s.collectValidationResources(a)}})}var rv=class{readFile(){throw new Error("Method not implemented.")}readFileSync(){throw new Error("Method not implemented.")}async readDirectory(){return[]}},Ud={fileSystemProvider:()=>new rv};function md(t){return t.rules.find(e=>ee(e)&&e.entry)}function L$(t){return t.rules.filter(e=>Be(e)&&e.hidden)}function Na(t,e){let r=new Set,n=md(t);if(!n)return new Set(t.rules);let i=[n].concat(L$(t));for(let s of i)fk(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||Be(s)&&s.hidden)&&o.add(s);return o}function fk(t,e,r){e.add(t.name),St(t).forEach(n=>{if(tt(n)||r&&jf(n)){let i=n.rule.ref;i&&!e.has(i.name)&&fk(i,e,r)}})}function pd(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=Mu(t.type.ref);return e?.terminal}}function dk(t){return t.hidden&&!Hn(t).test(" ")}function jo(t,e){return!t||!e?[]:nv(t,e,t.astNode,!0)}function Pr(t,e,r){if(!t||!e)return;let n=nv(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function nv(t,e,r,n){if(!n){let i=rt(t.grammarSource,je);if(i&&i.feature===e)return[t]}return Pi(t)&&t.astNode===r?t.content.flatMap(i=>nv(i,e,r,!1)):[]}function vd(t,e){return t?pk(t,e,t?.astNode):[]}function Un(t,e,r){if(!t)return;let n=pk(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function pk(t,e,r){if(t.astNode!==r)return[];if(Ht(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=cy(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Ht(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function Ba(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=rt(t.grammarSource,je);if(n)return n;t=t.container}}function Mu(t){return Ra(t)&&(t=t.$container),mk(t,new Map)}function mk(t,e){var r;function n(i,o){let s;return rt(i,je)||(s=mk(o,e)),e.set(t,s),s}if(e.has(t))return e.get(t);e.set(t,void 0);for(let i of St(t)){if(je(i)&&i.feature.toLowerCase()==="name")return e.set(t,i),i;if(tt(i)&&ee(i.rule.ref))return n(i,i.rule.ref);if(Hr(i)&&(!((r=i.typeRef)===null||r===void 0)&&r.ref))return n(i,i.typeRef.ref)}}function Zf(t){var e;let r=lk(Ud).grammar,n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,Ar.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}function hk(t){let e=[],r=t.Grammar;for(let n of r.rules)Be(n)&&dk(n)&&fS(Hn(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:uy}}var M$=typeof global=="object"&&global&&global.Object===Object&&global,Wd=M$;var $$=typeof self=="object"&&self&&self.Object===Object&&self,q$=Wd||$$||Function("return this")(),nr=q$;var F$=nr.Symbol,Rr=F$;var gk=Object.prototype,j$=gk.hasOwnProperty,U$=gk.toString,Gu=Rr?Rr.toStringTag:void 0;function W$(t){var e=j$.call(t,Gu),r=t[Gu];try{t[Gu]=void 0;var n=!0}catch{}var i=U$.call(t);return n&&(e?t[Gu]=r:delete t[Gu]),i}var yk=W$;var H$=Object.prototype,G$=H$.toString;function B$(t){return G$.call(t)}var vk=B$;var K$="[object Null]",z$="[object Undefined]",Tk=Rr?Rr.toStringTag:void 0;function V$(t){return t==null?t===void 0?z$:K$:Tk&&Tk in Object(t)?yk(t):vk(t)}var en=V$;function X$(t){return t!=null&&typeof t=="object"}var zt=X$;var Y$="[object Symbol]";function J$(t){return typeof t=="symbol"||zt(t)&&en(t)==Y$}var Oi=J$;function Q$(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Li=Q$;var Z$=Array.isArray,oe=Z$;var eq=1/0,Rk=Rr?Rr.prototype:void 0,bk=Rk?Rk.toString:void 0;function xk(t){if(typeof t=="string")return t;if(oe(t))return Li(t,xk)+"";if(Oi(t))return bk?bk.call(t):"";var e=t+"";return e=="0"&&1/t==-eq?"-0":e}var _k=xk;var tq=/\s/;function rq(t){for(var e=t.length;e--&&tq.test(t.charAt(e)););return e}var Sk=rq;var nq=/^\s+/;function iq(t){return t&&t.slice(0,Sk(t)+1).replace(nq,"")}var kk=iq;function oq(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Mt=oq;var Ck=0/0,sq=/^[-+]0x[0-9a-f]+$/i,aq=/^0b[01]+$/i,cq=/^0o[0-7]+$/i,uq=parseInt;function lq(t){if(typeof t=="number")return t;if(Oi(t))return Ck;if(Mt(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Mt(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=kk(t);var r=aq.test(t);return r||cq.test(t)?uq(t.slice(2),r?2:8):sq.test(t)?Ck:+t}var wk=lq;var Dk=1/0,fq=17976931348623157e292;function dq(t){if(!t)return t===0?t:0;if(t=wk(t),t===Dk||t===-Dk){var e=t<0?-1:1;return e*fq}return t===t?t:0}var Ek=dq;function pq(t){var e=Ek(t),r=e%1;return e===e?r?e-r:e:0}var Mi=pq;function mq(t){return t}var mn=mq;var hq="[object AsyncFunction]",gq="[object Function]",yq="[object GeneratorFunction]",vq="[object Proxy]";function Tq(t){if(!Mt(t))return!1;var e=en(t);return e==gq||e==yq||e==hq||e==vq}var tn=Tq;var Rq=nr["__core-js_shared__"],Hd=Rq;var Pk=function(){var t=/[^.]+$/.exec(Hd&&Hd.keys&&Hd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function bq(t){return!!Pk&&Pk in t}var Ak=bq;var xq=Function.prototype,_q=xq.toString;function Sq(t){if(t!=null){try{return _q.call(t)}catch{}try{return t+""}catch{}}return""}var vo=Sq;var kq=/[\\^$.*+?()[\]{}|]/g,Cq=/^\[object .+?Constructor\]$/,wq=Function.prototype,Dq=Object.prototype,Eq=wq.toString,Pq=Dq.hasOwnProperty,Aq=RegExp("^"+Eq.call(Pq).replace(kq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Nq(t){if(!Mt(t)||Ak(t))return!1;var e=tn(t)?Aq:Cq;return e.test(vo(t))}var Nk=Nq;function Iq(t,e){return t?.[e]}var Ik=Iq;function Oq(t,e){var r=Ik(t,e);return Nk(r)?r:void 0}var hn=Oq;var Lq=hn(nr,"WeakMap"),Gd=Lq;var Ok=Object.create,Mq=function(){function t(){}return function(e){if(!Mt(e))return{};if(Ok)return Ok(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Lk=Mq;function $q(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var Mk=$q;function qq(){}var $t=qq;function Fq(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var $k=Fq;var jq=800,Uq=16,Wq=Date.now;function Hq(t){var e=0,r=0;return function(){var n=Wq(),i=Uq-(n-r);if(r=n,i>0){if(++e>=jq)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var qk=Hq;function Gq(t){return function(){return t}}var Fk=Gq;var Bq=function(){try{var t=hn(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Va=Bq;var Kq=Va?function(t,e){return Va(t,"toString",{configurable:!0,enumerable:!1,value:Fk(e),writable:!0})}:mn,jk=Kq;var zq=qk(jk),Uk=zq;function Vq(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var Bd=Vq;function Xq(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var Kd=Xq;function Yq(t){return t!==t}var Wk=Yq;function Jq(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var Hk=Jq;function Qq(t,e,r){return e===e?Hk(t,e,r):Kd(t,Wk,r)}var Xa=Qq;function Zq(t,e){var r=t==null?0:t.length;return!!r&&Xa(t,e,0)>-1}var zd=Zq;var eF=9007199254740991,tF=/^(?:0|[1-9]\d*)$/;function rF(t,e){var r=typeof t;return e=e??eF,!!e&&(r=="number"||r!="symbol"&&tF.test(t))&&t>-1&&t%1==0&&t<e}var Bo=rF;function nF(t,e,r){e=="__proto__"&&Va?Va(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var Ya=nF;function iF(t,e){return t===e||t!==t&&e!==e}var $i=iF;var oF=Object.prototype,sF=oF.hasOwnProperty;function aF(t,e,r){var n=t[e];(!(sF.call(t,e)&&$i(n,r))||r===void 0&&!(e in t))&&Ya(t,e,r)}var Ko=aF;function cF(t,e,r,n){var i=!r;r||(r={});for(var o=-1,s=e.length;++o<s;){var a=e[o],c=n?n(r[a],t[a],a,r,t):void 0;c===void 0&&(c=t[a]),i?Ya(r,a,c):Ko(r,a,c)}return r}var qi=cF;var Gk=Math.max;function uF(t,e,r){return e=Gk(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,o=Gk(n.length-e,0),s=Array(o);++i<o;)s[i]=n[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=n[i];return a[e]=r(s),Mk(t,this,a)}}var Bk=uF;function lF(t,e){return Uk(Bk(t,e,mn),t+"")}var Ja=lF;var fF=9007199254740991;function dF(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=fF}var Qa=dF;function pF(t){return t!=null&&Qa(t.length)&&!tn(t)}var ir=pF;function mF(t,e,r){if(!Mt(r))return!1;var n=typeof e;return(n=="number"?ir(r)&&Bo(e,r.length):n=="string"&&e in r)?$i(r[e],t):!1}var zo=mF;function hF(t){return Ja(function(e,r){var n=-1,i=r.length,o=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(o=t.length>3&&typeof o=="function"?(i--,o):void 0,s&&zo(r[0],r[1],s)&&(o=i<3?void 0:o,i=1),e=Object(e);++n<i;){var a=r[n];a&&t(e,a,n,o)}return e})}var Kk=hF;var gF=Object.prototype;function yF(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||gF;return t===r}var Fi=yF;function vF(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var zk=vF;var TF="[object Arguments]";function RF(t){return zt(t)&&en(t)==TF}var iv=RF;var Vk=Object.prototype,bF=Vk.hasOwnProperty,xF=Vk.propertyIsEnumerable,_F=iv(function(){return arguments}())?iv:function(t){return zt(t)&&bF.call(t,"callee")&&!xF.call(t,"callee")},Vo=_F;function SF(){return!1}var Xk=SF;var Qk=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Yk=Qk&&typeof module=="object"&&module&&!module.nodeType&&module,kF=Yk&&Yk.exports===Qk,Jk=kF?nr.Buffer:void 0,CF=Jk?Jk.isBuffer:void 0,wF=CF||Xk,To=wF;var DF="[object Arguments]",EF="[object Array]",PF="[object Boolean]",AF="[object Date]",NF="[object Error]",IF="[object Function]",OF="[object Map]",LF="[object Number]",MF="[object Object]",$F="[object RegExp]",qF="[object Set]",FF="[object String]",jF="[object WeakMap]",UF="[object ArrayBuffer]",WF="[object DataView]",HF="[object Float32Array]",GF="[object Float64Array]",BF="[object Int8Array]",KF="[object Int16Array]",zF="[object Int32Array]",VF="[object Uint8Array]",XF="[object Uint8ClampedArray]",YF="[object Uint16Array]",JF="[object Uint32Array]",xt={};xt[HF]=xt[GF]=xt[BF]=xt[KF]=xt[zF]=xt[VF]=xt[XF]=xt[YF]=xt[JF]=!0;xt[DF]=xt[EF]=xt[UF]=xt[PF]=xt[WF]=xt[AF]=xt[NF]=xt[IF]=xt[OF]=xt[LF]=xt[MF]=xt[$F]=xt[qF]=xt[FF]=xt[jF]=!1;function QF(t){return zt(t)&&Qa(t.length)&&!!xt[en(t)]}var Zk=QF;function ZF(t){return function(e){return t(e)}}var ji=ZF;var eC=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Bu=eC&&typeof module=="object"&&module&&!module.nodeType&&module,e1=Bu&&Bu.exports===eC,ov=e1&&Wd.process,t1=function(){try{var t=Bu&&Bu.require&&Bu.require("util").types;return t||ov&&ov.binding&&ov.binding("util")}catch{}}(),Bn=t1;var tC=Bn&&Bn.isTypedArray,r1=tC?ji(tC):Zk,Za=r1;var n1=Object.prototype,i1=n1.hasOwnProperty;function o1(t,e){var r=oe(t),n=!r&&Vo(t),i=!r&&!n&&To(t),o=!r&&!n&&!i&&Za(t),s=r||n||i||o,a=s?zk(t.length,String):[],c=a.length;for(var f in t)(e||i1.call(t,f))&&!(s&&(f=="length"||i&&(f=="offset"||f=="parent")||o&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Bo(f,c)))&&a.push(f);return a}var Vd=o1;function s1(t,e){return function(r){return t(e(r))}}var Xd=s1;var a1=Xd(Object.keys,Object),rC=a1;var c1=Object.prototype,u1=c1.hasOwnProperty;function l1(t){if(!Fi(t))return rC(t);var e=[];for(var r in Object(t))u1.call(t,r)&&r!="constructor"&&e.push(r);return e}var Yd=l1;function f1(t){return ir(t)?Vd(t):Yd(t)}var dt=f1;var d1=Object.prototype,p1=d1.hasOwnProperty,m1=Kk(function(t,e){if(Fi(e)||ir(e)){qi(e,dt(e),t);return}for(var r in e)p1.call(e,r)&&Ko(t,r,e[r])}),Nr=m1;function h1(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var nC=h1;var g1=Object.prototype,y1=g1.hasOwnProperty;function v1(t){if(!Mt(t))return nC(t);var e=Fi(t),r=[];for(var n in t)n=="constructor"&&(e||!y1.call(t,n))||r.push(n);return r}var iC=v1;function T1(t){return ir(t)?Vd(t,!0):iC(t)}var Xo=T1;var R1=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,b1=/^\w*$/;function x1(t,e){if(oe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Oi(t)?!0:b1.test(t)||!R1.test(t)||e!=null&&t in Object(e)}var ec=x1;var _1=hn(Object,"create"),Ro=_1;function S1(){this.__data__=Ro?Ro(null):{},this.size=0}var oC=S1;function k1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var sC=k1;var C1="__lodash_hash_undefined__",w1=Object.prototype,D1=w1.hasOwnProperty;function E1(t){var e=this.__data__;if(Ro){var r=e[t];return r===C1?void 0:r}return D1.call(e,t)?e[t]:void 0}var aC=E1;var P1=Object.prototype,A1=P1.hasOwnProperty;function N1(t){var e=this.__data__;return Ro?e[t]!==void 0:A1.call(e,t)}var cC=N1;var I1="__lodash_hash_undefined__";function O1(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Ro&&e===void 0?I1:e,this}var uC=O1;function tc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}tc.prototype.clear=oC;tc.prototype.delete=sC;tc.prototype.get=aC;tc.prototype.has=cC;tc.prototype.set=uC;var sv=tc;function L1(){this.__data__=[],this.size=0}var lC=L1;function M1(t,e){for(var r=t.length;r--;)if($i(t[r][0],e))return r;return-1}var Yo=M1;var $1=Array.prototype,q1=$1.splice;function F1(t){var e=this.__data__,r=Yo(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():q1.call(e,r,1),--this.size,!0}var fC=F1;function j1(t){var e=this.__data__,r=Yo(e,t);return r<0?void 0:e[r][1]}var dC=j1;function U1(t){return Yo(this.__data__,t)>-1}var pC=U1;function W1(t,e){var r=this.__data__,n=Yo(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var mC=W1;function rc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}rc.prototype.clear=lC;rc.prototype.delete=fC;rc.prototype.get=dC;rc.prototype.has=pC;rc.prototype.set=mC;var Jo=rc;var H1=hn(nr,"Map"),Qo=H1;function G1(){this.size=0,this.__data__={hash:new sv,map:new(Qo||Jo),string:new sv}}var hC=G1;function B1(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var gC=B1;function K1(t,e){var r=t.__data__;return gC(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Zo=K1;function z1(t){var e=Zo(this,t).delete(t);return this.size-=e?1:0,e}var yC=z1;function V1(t){return Zo(this,t).get(t)}var vC=V1;function X1(t){return Zo(this,t).has(t)}var TC=X1;function Y1(t,e){var r=Zo(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var RC=Y1;function nc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}nc.prototype.clear=hC;nc.prototype.delete=yC;nc.prototype.get=vC;nc.prototype.has=TC;nc.prototype.set=RC;var Fs=nc;var J1="Expected a function";function av(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(J1);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(av.Cache||Fs),r}av.Cache=Fs;var bC=av;var Q1=500;function Z1(t){var e=bC(t,function(n){return r.size===Q1&&r.clear(),n}),r=e.cache;return e}var xC=Z1;var ej=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tj=/\\(\\)?/g,rj=xC(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(ej,function(r,n,i,o){e.push(i?o.replace(tj,"$1"):n||r)}),e}),_C=rj;function nj(t){return t==null?"":_k(t)}var SC=nj;function ij(t,e){return oe(t)?t:ec(t,e)?[t]:_C(SC(t))}var es=ij;var oj=1/0;function sj(t){if(typeof t=="string"||Oi(t))return t;var e=t+"";return e=="0"&&1/t==-oj?"-0":e}var Ui=sj;function aj(t,e){e=es(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Ui(e[r++])];return r&&r==n?t:void 0}var ic=aj;function cj(t,e,r){var n=t==null?void 0:ic(t,e);return n===void 0?r:n}var kC=cj;function uj(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var oc=uj;var CC=Rr?Rr.isConcatSpreadable:void 0;function lj(t){return oe(t)||Vo(t)||!!(CC&&t&&t[CC])}var wC=lj;function DC(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=wC),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?DC(a,e-1,r,n,i):oc(i,a):n||(i[i.length]=a)}return i}var sc=DC;function fj(t){var e=t==null?0:t.length;return e?sc(t,1):[]}var Vt=fj;var dj=Xd(Object.getPrototypeOf,Object),Jd=dj;function pj(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n<i;)o[n]=t[n+e];return o}var Qd=pj;function mj(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var EC=mj;function hj(){this.__data__=new Jo,this.size=0}var PC=hj;function gj(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var AC=gj;function yj(t){return this.__data__.get(t)}var NC=yj;function vj(t){return this.__data__.has(t)}var IC=vj;var Tj=200;function Rj(t,e){var r=this.__data__;if(r instanceof Jo){var n=r.__data__;if(!Qo||n.length<Tj-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Fs(n)}return r.set(t,e),this.size=r.size,this}var OC=Rj;function ac(t){var e=this.__data__=new Jo(t);this.size=e.size}ac.prototype.clear=PC;ac.prototype.delete=AC;ac.prototype.get=NC;ac.prototype.has=IC;ac.prototype.set=OC;var ts=ac;function bj(t,e){return t&&qi(e,dt(e),t)}var LC=bj;function xj(t,e){return t&&qi(e,Xo(e),t)}var MC=xj;var jC=typeof exports=="object"&&exports&&!exports.nodeType&&exports,$C=jC&&typeof module=="object"&&module&&!module.nodeType&&module,_j=$C&&$C.exports===jC,qC=_j?nr.Buffer:void 0,FC=qC?qC.allocUnsafe:void 0;function Sj(t,e){if(e)return t.slice();var r=t.length,n=FC?FC(r):new t.constructor(r);return t.copy(n),n}var UC=Sj;function kj(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var cc=kj;function Cj(){return[]}var Zd=Cj;var wj=Object.prototype,Dj=wj.propertyIsEnumerable,WC=Object.getOwnPropertySymbols,Ej=WC?function(t){return t==null?[]:(t=Object(t),cc(WC(t),function(e){return Dj.call(t,e)}))}:Zd,uc=Ej;function Pj(t,e){return qi(t,uc(t),e)}var HC=Pj;var Aj=Object.getOwnPropertySymbols,Nj=Aj?function(t){for(var e=[];t;)oc(e,uc(t)),t=Jd(t);return e}:Zd,ep=Nj;function Ij(t,e){return qi(t,ep(t),e)}var GC=Ij;function Oj(t,e,r){var n=e(t);return oe(t)?n:oc(n,r(t))}var tp=Oj;function Lj(t){return tp(t,dt,uc)}var Ku=Lj;function Mj(t){return tp(t,Xo,ep)}var rp=Mj;var $j=hn(nr,"DataView"),np=$j;var qj=hn(nr,"Promise"),ip=qj;var Fj=hn(nr,"Set"),rs=Fj;var BC="[object Map]",jj="[object Object]",KC="[object Promise]",zC="[object Set]",VC="[object WeakMap]",XC="[object DataView]",Uj=vo(np),Wj=vo(Qo),Hj=vo(ip),Gj=vo(rs),Bj=vo(Gd),js=en;(np&&js(new np(new ArrayBuffer(1)))!=XC||Qo&&js(new Qo)!=BC||ip&&js(ip.resolve())!=KC||rs&&js(new rs)!=zC||Gd&&js(new Gd)!=VC)&&(js=function(t){var e=en(t),r=e==jj?t.constructor:void 0,n=r?vo(r):"";if(n)switch(n){case Uj:return XC;case Wj:return BC;case Hj:return KC;case Gj:return zC;case Bj:return VC}return e});var pi=js;var Kj=Object.prototype,zj=Kj.hasOwnProperty;function Vj(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&zj.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var YC=Vj;var Xj=nr.Uint8Array,lc=Xj;function Yj(t){var e=new t.constructor(t.byteLength);return new lc(e).set(new lc(t)),e}var fc=Yj;function Jj(t,e){var r=e?fc(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var JC=Jj;var Qj=/\w*$/;function Zj(t){var e=new t.constructor(t.source,Qj.exec(t));return e.lastIndex=t.lastIndex,e}var QC=Zj;var ZC=Rr?Rr.prototype:void 0,ew=ZC?ZC.valueOf:void 0;function eU(t){return ew?Object(ew.call(t)):{}}var tw=eU;function tU(t,e){var r=e?fc(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var rw=tU;var rU="[object Boolean]",nU="[object Date]",iU="[object Map]",oU="[object Number]",sU="[object RegExp]",aU="[object Set]",cU="[object String]",uU="[object Symbol]",lU="[object ArrayBuffer]",fU="[object DataView]",dU="[object Float32Array]",pU="[object Float64Array]",mU="[object Int8Array]",hU="[object Int16Array]",gU="[object Int32Array]",yU="[object Uint8Array]",vU="[object Uint8ClampedArray]",TU="[object Uint16Array]",RU="[object Uint32Array]";function bU(t,e,r){var n=t.constructor;switch(e){case lU:return fc(t);case rU:case nU:return new n(+t);case fU:return JC(t,r);case dU:case pU:case mU:case hU:case gU:case yU:case vU:case TU:case RU:return rw(t,r);case iU:return new n;case oU:case cU:return new n(t);case sU:return QC(t);case aU:return new n;case uU:return tw(t)}}var nw=bU;function xU(t){return typeof t.constructor=="function"&&!Fi(t)?Lk(Jd(t)):{}}var iw=xU;var _U="[object Map]";function SU(t){return zt(t)&&pi(t)==_U}var ow=SU;var sw=Bn&&Bn.isMap,kU=sw?ji(sw):ow,aw=kU;var CU="[object Set]";function wU(t){return zt(t)&&pi(t)==CU}var cw=wU;var uw=Bn&&Bn.isSet,DU=uw?ji(uw):cw,lw=DU;var EU=1,PU=2,AU=4,fw="[object Arguments]",NU="[object Array]",IU="[object Boolean]",OU="[object Date]",LU="[object Error]",dw="[object Function]",MU="[object GeneratorFunction]",$U="[object Map]",qU="[object Number]",pw="[object Object]",FU="[object RegExp]",jU="[object Set]",UU="[object String]",WU="[object Symbol]",HU="[object WeakMap]",GU="[object ArrayBuffer]",BU="[object DataView]",KU="[object Float32Array]",zU="[object Float64Array]",VU="[object Int8Array]",XU="[object Int16Array]",YU="[object Int32Array]",JU="[object Uint8Array]",QU="[object Uint8ClampedArray]",ZU="[object Uint16Array]",eW="[object Uint32Array]",pt={};pt[fw]=pt[NU]=pt[GU]=pt[BU]=pt[IU]=pt[OU]=pt[KU]=pt[zU]=pt[VU]=pt[XU]=pt[YU]=pt[$U]=pt[qU]=pt[pw]=pt[FU]=pt[jU]=pt[UU]=pt[WU]=pt[JU]=pt[QU]=pt[ZU]=pt[eW]=!0;pt[LU]=pt[dw]=pt[HU]=!1;function op(t,e,r,n,i,o){var s,a=e&EU,c=e&PU,f=e&AU;if(r&&(s=i?r(t,n,i,o):r(t)),s!==void 0)return s;if(!Mt(t))return t;var p=oe(t);if(p){if(s=YC(t),!a)return $k(t,s)}else{var m=pi(t),T=m==dw||m==MU;if(To(t))return UC(t,a);if(m==pw||m==fw||T&&!i){if(s=c||T?{}:iw(t),!a)return c?GC(t,MC(s,t)):HC(t,LC(s,t))}else{if(!pt[m])return i?t:{};s=nw(t,m,a)}}o||(o=new ts);var _=o.get(t);if(_)return _;o.set(t,s),lw(t)?t.forEach(function(I){s.add(op(I,e,r,I,t,o))}):aw(t)&&t.forEach(function(I,A){s.set(A,op(I,e,r,A,t,o))});var E=f?c?rp:Ku:c?Xo:dt,N=p?void 0:E(t);return Bd(N||t,function(I,A){N&&(A=I,I=t[A]),Ko(s,A,op(I,e,r,A,t,o))}),s}var mw=op;var tW=4;function rW(t){return mw(t,tW)}var mt=rW;function nW(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e<r;){var o=t[e];o&&(i[n++]=o)}return i}var Wi=nW;var iW="__lodash_hash_undefined__";function oW(t){return this.__data__.set(t,iW),this}var hw=oW;function sW(t){return this.__data__.has(t)}var gw=sW;function sp(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Fs;++e<r;)this.add(t[e])}sp.prototype.add=sp.prototype.push=hw;sp.prototype.has=gw;var dc=sp;function aW(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var ap=aW;function cW(t,e){return t.has(e)}var pc=cW;var uW=1,lW=2;function fW(t,e,r,n,i,o){var s=r&uW,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var f=o.get(t),p=o.get(e);if(f&&p)return f==e&&p==t;var m=-1,T=!0,_=r&lW?new dc:void 0;for(o.set(t,e),o.set(e,t);++m<a;){var E=t[m],N=e[m];if(n)var I=s?n(N,E,m,e,t,o):n(E,N,m,t,e,o);if(I!==void 0){if(I)continue;T=!1;break}if(_){if(!ap(e,function(A,y){if(!pc(_,y)&&(E===A||i(E,A,r,n,o)))return _.push(y)})){T=!1;break}}else if(!(E===N||i(E,N,r,n,o))){T=!1;break}}return o.delete(t),o.delete(e),T}var cp=fW;function dW(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var yw=dW;function pW(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var mc=pW;var mW=1,hW=2,gW="[object Boolean]",yW="[object Date]",vW="[object Error]",TW="[object Map]",RW="[object Number]",bW="[object RegExp]",xW="[object Set]",_W="[object String]",SW="[object Symbol]",kW="[object ArrayBuffer]",CW="[object DataView]",vw=Rr?Rr.prototype:void 0,cv=vw?vw.valueOf:void 0;function wW(t,e,r,n,i,o,s){switch(r){case CW:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case kW:return!(t.byteLength!=e.byteLength||!o(new lc(t),new lc(e)));case gW:case yW:case RW:return $i(+t,+e);case vW:return t.name==e.name&&t.message==e.message;case bW:case _W:return t==e+"";case TW:var a=yw;case xW:var c=n&mW;if(a||(a=mc),t.size!=e.size&&!c)return!1;var f=s.get(t);if(f)return f==e;n|=hW,s.set(t,e);var p=cp(a(t),a(e),n,i,o,s);return s.delete(t),p;case SW:if(cv)return cv.call(t)==cv.call(e)}return!1}var Tw=wW;var DW=1,EW=Object.prototype,PW=EW.hasOwnProperty;function AW(t,e,r,n,i,o){var s=r&DW,a=Ku(t),c=a.length,f=Ku(e),p=f.length;if(c!=p&&!s)return!1;for(var m=c;m--;){var T=a[m];if(!(s?T in e:PW.call(e,T)))return!1}var _=o.get(t),E=o.get(e);if(_&&E)return _==e&&E==t;var N=!0;o.set(t,e),o.set(e,t);for(var I=s;++m<c;){T=a[m];var A=t[T],y=e[T];if(n)var h=s?n(y,A,T,e,t,o):n(A,y,T,t,e,o);if(!(h===void 0?A===y||i(A,y,r,n,o):h)){N=!1;break}I||(I=T=="constructor")}if(N&&!I){var C=t.constructor,L=e.constructor;C!=L&&"constructor"in t&&"constructor"in e&&!(typeof C=="function"&&C instanceof C&&typeof L=="function"&&L instanceof L)&&(N=!1)}return o.delete(t),o.delete(e),N}var Rw=AW;var NW=1,bw="[object Arguments]",xw="[object Array]",up="[object Object]",IW=Object.prototype,_w=IW.hasOwnProperty;function OW(t,e,r,n,i,o){var s=oe(t),a=oe(e),c=s?xw:pi(t),f=a?xw:pi(e);c=c==bw?up:c,f=f==bw?up:f;var p=c==up,m=f==up,T=c==f;if(T&&To(t)){if(!To(e))return!1;s=!0,p=!1}if(T&&!p)return o||(o=new ts),s||Za(t)?cp(t,e,r,n,i,o):Tw(t,e,c,r,n,i,o);if(!(r&NW)){var _=p&&_w.call(t,"__wrapped__"),E=m&&_w.call(e,"__wrapped__");if(_||E){var N=_?t.value():t,I=E?e.value():e;return o||(o=new ts),i(N,I,r,n,o)}}return T?(o||(o=new ts),Rw(t,e,r,n,i,o)):!1}var Sw=OW;function kw(t,e,r,n,i){return t===e?!0:t==null||e==null||!zt(t)&&!zt(e)?t!==t&&e!==e:Sw(t,e,r,n,kw,i)}var lp=kw;var LW=1,MW=2;function $W(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],f=t[c],p=a[1];if(s&&a[2]){if(f===void 0&&!(c in t))return!1}else{var m=new ts;if(n)var T=n(f,p,c,t,e,m);if(!(T===void 0?lp(p,f,LW|MW,n,m):T))return!1}}return!0}var Cw=$W;function qW(t){return t===t&&!Mt(t)}var fp=qW;function FW(t){for(var e=dt(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,fp(i)]}return e}var ww=FW;function jW(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var dp=jW;function UW(t){var e=ww(t);return e.length==1&&e[0][2]?dp(e[0][0],e[0][1]):function(r){return r===t||Cw(r,t,e)}}var Dw=UW;function WW(t,e){return t!=null&&e in Object(t)}var Ew=WW;function HW(t,e,r){e=es(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Ui(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&Qa(i)&&Bo(s,i)&&(oe(t)||Vo(t)))}var pp=HW;function GW(t,e){return t!=null&&pp(t,e,Ew)}var Pw=GW;var BW=1,KW=2;function zW(t,e){return ec(t)&&fp(e)?dp(Ui(t),e):function(r){var n=kC(r,t);return n===void 0&&n===e?Pw(r,t):lp(e,n,BW|KW)}}var Aw=zW;function VW(t){return function(e){return e?.[t]}}var Nw=VW;function XW(t){return function(e){return ic(e,t)}}var Iw=XW;function YW(t){return ec(t)?Nw(Ui(t)):Iw(t)}var Ow=YW;function JW(t){return typeof t=="function"?t:t==null?mn:typeof t=="object"?oe(t)?Aw(t[0],t[1]):Dw(t):Ow(t)}var Gt=JW;function QW(t,e,r,n){for(var i=-1,o=t==null?0:t.length;++i<o;){var s=t[i];e(n,s,r(s),t)}return n}var Lw=QW;function ZW(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var Mw=ZW;var eH=Mw(),$w=eH;function tH(t,e){return t&&$w(t,e,dt)}var qw=tH;function rH(t,e){return function(r,n){if(r==null)return r;if(!ir(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var Fw=rH;var nH=Fw(qw),gn=nH;function iH(t,e,r,n){return gn(t,function(i,o,s){e(n,i,r(i),s)}),n}var jw=iH;function oH(t,e){return function(r,n){var i=oe(r)?Lw:jw,o=e?e():{};return i(r,t,Gt(n,2),o)}}var Uw=oH;var Ww=Object.prototype,sH=Ww.hasOwnProperty,aH=Ja(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&zo(e[0],e[1],i)&&(n=1);++r<n;)for(var o=e[r],s=Xo(o),a=-1,c=s.length;++a<c;){var f=s[a],p=t[f];(p===void 0||$i(p,Ww[f])&&!sH.call(t,f))&&(t[f]=o[f])}return t}),hc=aH;function cH(t){return zt(t)&&ir(t)}var uv=cH;function uH(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var mp=uH;var lH=200;function fH(t,e,r,n){var i=-1,o=zd,s=!0,a=t.length,c=[],f=e.length;if(!a)return c;r&&(e=Li(e,ji(r))),n?(o=mp,s=!1):e.length>=lH&&(o=pc,s=!1,e=new dc(e));e:for(;++i<a;){var p=t[i],m=r==null?p:r(p);if(p=n||p!==0?p:0,s&&m===m){for(var T=f;T--;)if(e[T]===m)continue e;c.push(p)}else o(e,m,n)||c.push(p)}return c}var Hw=fH;var dH=Ja(function(t,e){return uv(t)?Hw(t,sc(e,1,uv,!0)):[]}),ns=dH;function pH(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var Hi=pH;function mH(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Mi(e),Qd(t,e<0?0:e,n)):[]}var Xt=mH;function hH(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Mi(e),e=n-e,Qd(t,0,e<0?0:e)):[]}var bo=hH;function gH(t){return typeof t=="function"?t:mn}var Gw=gH;function yH(t,e){var r=oe(t)?Bd:gn;return r(t,Gw(e))}var Z=yH;function vH(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(!e(t[r],r,t))return!1;return!0}var Bw=vH;function TH(t,e){var r=!0;return gn(t,function(n,i,o){return r=!!e(n,i,o),r}),r}var Kw=TH;function RH(t,e,r){var n=oe(t)?Bw:Kw;return r&&zo(t,e,r)&&(e=void 0),n(t,Gt(e,3))}var Kr=RH;function bH(t,e){var r=[];return gn(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var hp=bH;function xH(t,e){var r=oe(t)?cc:hp;return r(t,Gt(e,3))}var br=xH;function _H(t){return function(e,r,n){var i=Object(e);if(!ir(e)){var o=Gt(r,3);e=dt(e),r=function(a){return o(i[a],a,i)}}var s=t(e,r,n);return s>-1?i[o?e[s]:s]:void 0}}var zw=_H;var SH=Math.max;function kH(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Mi(r);return i<0&&(i=SH(n+i,0)),Kd(t,Gt(e,3),i)}var Vw=kH;var CH=zw(Vw),Gi=CH;function wH(t){return t&&t.length?t[0]:void 0}var xr=wH;function DH(t,e){var r=-1,n=ir(t)?Array(t.length):[];return gn(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var Xw=DH;function EH(t,e){var r=oe(t)?Li:Xw;return r(t,Gt(e,3))}var z=EH;function PH(t,e){return sc(z(t,e),1)}var Ir=PH;var AH=Object.prototype,NH=AH.hasOwnProperty,IH=Uw(function(t,e,r){NH.call(t,r)?t[r].push(e):Ya(t,r,[e])}),lv=IH;var OH=Object.prototype,LH=OH.hasOwnProperty;function MH(t,e){return t!=null&&LH.call(t,e)}var Yw=MH;function $H(t,e){return t!=null&&pp(t,e,Yw)}var te=$H;var qH="[object String]";function FH(t){return typeof t=="string"||!oe(t)&&zt(t)&&en(t)==qH}var mr=FH;function jH(t,e){return Li(e,function(r){return t[r]})}var Jw=jH;function UH(t){return t==null?[]:Jw(t,dt(t))}var at=UH;var WH=Math.max;function HH(t,e,r,n){t=ir(t)?t:at(t),r=r&&!n?Mi(r):0;var i=t.length;return r<0&&(r=WH(i+r,0)),mr(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&Xa(t,e,r)>-1}var Ct=HH;var GH=Math.max;function BH(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Mi(r);return i<0&&(i=GH(n+i,0)),Xa(t,e,i)}var gp=BH;var KH="[object Map]",zH="[object Set]",VH=Object.prototype,XH=VH.hasOwnProperty;function YH(t){if(t==null)return!0;if(ir(t)&&(oe(t)||typeof t=="string"||typeof t.splice=="function"||To(t)||Za(t)||Vo(t)))return!t.length;var e=pi(t);if(e==KH||e==zH)return!t.size;if(Fi(t))return!Yd(t).length;for(var r in t)if(XH.call(t,r))return!1;return!0}var De=YH;var JH="[object RegExp]";function QH(t){return zt(t)&&en(t)==JH}var Qw=QH;var Zw=Bn&&Bn.isRegExp,ZH=Zw?ji(Zw):Qw,Kn=ZH;function eG(t){return t===void 0}var zr=eG;function tG(t,e){return t<e}var eD=tG;function rG(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!Oi(s):r(s,a)))var a=s,c=o}return c}var tD=rG;function nG(t){return t&&t.length?tD(t,mn,eD):void 0}var rD=nG;var iG="Expected a function";function oG(t){if(typeof t!="function")throw new TypeError(iG);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var nD=oG;function sG(t,e,r,n){if(!Mt(t))return t;e=es(e,t);for(var i=-1,o=e.length,s=o-1,a=t;a!=null&&++i<o;){var c=Ui(e[i]),f=r;if(c==="__proto__"||c==="constructor"||c==="prototype")return t;if(i!=s){var p=a[c];f=n?n(p,c,a):void 0,f===void 0&&(f=Mt(p)?p:Bo(e[i+1])?[]:{})}Ko(a,c,f),a=a[c]}return t}var iD=sG;function aG(t,e,r){for(var n=-1,i=e.length,o={};++n<i;){var s=e[n],a=ic(t,s);r(a,s)&&iD(o,es(s,t),a)}return o}var oD=aG;function cG(t,e){if(t==null)return{};var r=Li(rp(t),function(n){return[n]});return e=Gt(e),oD(t,r,function(n,i){return e(n,i[0])})}var yn=cG;function uG(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var sD=uG;function lG(t,e,r){var n=oe(t)?EC:sD,i=arguments.length<3;return n(t,Gt(e,4),r,i,gn)}var qt=lG;function fG(t,e){var r=oe(t)?cc:hp;return r(t,nD(Gt(e,3)))}var is=fG;function dG(t,e){var r;return gn(t,function(n,i,o){return r=e(n,i,o),!r}),!!r}var aD=dG;function pG(t,e,r){var n=oe(t)?ap:aD;return r&&zo(t,e,r)&&(e=void 0),n(t,Gt(e,3))}var zu=pG;var mG=1/0,hG=rs&&1/mc(new rs([,-0]))[1]==mG?function(t){return new rs(t)}:$t,cD=hG;var gG=200;function yG(t,e,r){var n=-1,i=zd,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=mp;else if(o>=gG){var f=e?null:cD(t);if(f)return mc(f);s=!1,i=pc,c=new dc}else c=e?[]:a;e:for(;++n<o;){var p=t[n],m=e?e(p):p;if(p=r||p!==0?p:0,s&&m===m){for(var T=c.length;T--;)if(c[T]===m)continue e;e&&c.push(m),a.push(p)}else i(c,m,r)||(c!==a&&c.push(m),a.push(p))}return a}var yp=yG;function vG(t){return t&&t.length?yp(t):[]}var gc=vG;function TG(t,e){return t&&t.length?yp(t,Gt(e,2)):[]}var uD=TG;function yc(t){console&&console.error&&console.error(`Error: ${t}`)}function Vu(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Xu(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Yu(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function RG(t){return bG(t)?t.LABEL:t.name}function bG(t){return mr(t.LABEL)&&t.LABEL!==""}var An=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Z(this.definition,r=>{r.accept(e)})}},ze=class extends An{constructor(e){super([]),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},rn=class extends An{constructor(e){super(e.definition),this.orgText="",Nr(this,yn(e,r=>r!==void 0))}},ht=class extends An{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Nr(this,yn(e,r=>r!==void 0))}},Ve=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},gt=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},yt=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},Oe=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},ut=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},lt=class extends An{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Nr(this,yn(e,r=>r!==void 0))}},Ee=class{constructor(e){this.idx=1,Nr(this,yn(e,r=>r!==void 0))}accept(e){e.visit(this)}};function vp(t){return z(t,vc)}function vc(t){function e(r){return z(r,vc)}if(t instanceof ze){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return mr(t.label)&&(r.label=t.label),r}else{if(t instanceof ht)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ve)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof gt)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof yt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:vc(new Ee({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ut)return{type:"RepetitionWithSeparator",idx:t.idx,separator:vc(new Ee({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Oe)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof lt)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Ee){let r={type:"Terminal",name:t.terminalType.name,label:RG(t.terminalType),idx:t.idx};mr(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=Kn(n)?n.source:n),r}else{if(t instanceof rn)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var nn=class{visit(e){let r=e;switch(r.constructor){case ze:return this.visitNonTerminal(r);case ht:return this.visitAlternative(r);case Ve:return this.visitOption(r);case gt:return this.visitRepetitionMandatory(r);case yt:return this.visitRepetitionMandatoryWithSeparator(r);case ut:return this.visitRepetitionWithSeparator(r);case Oe:return this.visitRepetition(r);case lt:return this.visitAlternation(r);case Ee:return this.visitTerminal(r);case rn:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function fv(t){return t instanceof ht||t instanceof Ve||t instanceof Oe||t instanceof gt||t instanceof yt||t instanceof ut||t instanceof Ee||t instanceof rn}function Us(t,e=[]){return t instanceof Ve||t instanceof Oe||t instanceof ut?!0:t instanceof lt?zu(t.definition,n=>Us(n,e)):t instanceof ze&&Ct(e,t)?!1:t instanceof An?(t instanceof ze&&e.push(t),Kr(t.definition,n=>Us(n,e))):!1}function dv(t){return t instanceof lt}function vn(t){if(t instanceof ze)return"SUBRULE";if(t instanceof Ve)return"OPTION";if(t instanceof lt)return"OR";if(t instanceof gt)return"AT_LEAST_ONE";if(t instanceof yt)return"AT_LEAST_ONE_SEP";if(t instanceof ut)return"MANY_SEP";if(t instanceof Oe)return"MANY";if(t instanceof Ee)return"CONSUME";throw Error("non exhaustive match")}var xo=class{walk(e,r=[]){Z(e.definition,(n,i)=>{let o=Xt(e.definition,i+1);if(n instanceof ze)this.walkProdRef(n,o,r);else if(n instanceof Ee)this.walkTerminal(n,o,r);else if(n instanceof ht)this.walkFlat(n,o,r);else if(n instanceof Ve)this.walkOption(n,o,r);else if(n instanceof gt)this.walkAtLeastOne(n,o,r);else if(n instanceof yt)this.walkAtLeastOneSep(n,o,r);else if(n instanceof ut)this.walkManySep(n,o,r);else if(n instanceof Oe)this.walkMany(n,o,r);else if(n instanceof lt)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Ve({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=lD(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Ve({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=lD(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Z(e.definition,o=>{let s=new ht({definition:[o]});this.walk(s,i)})}};function lD(t,e,r){return[new Ve({definition:[new Ee({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Ws(t){if(t instanceof ze)return Ws(t.referencedRule);if(t instanceof Ee)return SG(t);if(fv(t))return xG(t);if(dv(t))return _G(t);throw Error("non exhaustive match")}function xG(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=Us(o),e=e.concat(Ws(o)),n=n+1,i=r.length>n;return gc(e)}function _G(t){let e=z(t.definition,r=>Ws(r));return gc(Vt(e))}function SG(t){return[t.terminalType]}var Tp="_~IN~_";var pv=class extends xo{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=kG(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new ht({definition:o}),a=Ws(s);this.follows[i]=a}};function fD(t){let e={};return Z(t,r=>{let n=new pv(r).startWalking();Nr(e,n)}),e}function kG(t,e){return t.name+e+Tp}var Rp={},CG=new Is;function Tc(t){let e=t.toString();if(Rp.hasOwnProperty(e))return Rp[e];{let r=CG.pattern(e);return Rp[e]=r,r}}function dD(){Rp={}}var mD="Complement Sets are not supported for first char optimization",Ju=`Unable to use "first char" lexer optimizations:
|
|
87
|
+
`;function hD(t,e=!1){try{let r=Tc(t);return mv(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===mD)e&&Vu(`${Ju} Unable to optimize: < ${t.toString()} >
|
|
88
|
+
Complement Sets cannot be automatically optimized.
|
|
89
|
+
This will disable the lexer's first char optimizations.
|
|
90
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
|
|
91
|
+
This will disable the lexer's first char optimizations.
|
|
92
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),yc(`${Ju}
|
|
93
|
+
Failed parsing: < ${t.toString()} >
|
|
94
|
+
Using the @chevrotain/regexp-to-ast library
|
|
95
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function mv(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)mv(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let o=n[i];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let s=o;switch(s.type){case"Character":bp(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(mD);Z(s.value,c=>{if(typeof c=="number")bp(c,e,r);else{let f=c;if(r===!0)for(let p=f.from;p<=f.to;p++)bp(p,e,r);else{for(let p=f.from;p<=f.to&&p<Rc;p++)bp(p,e,r);if(f.to>=Rc){let p=f.from>=Rc?f.from:Rc,m=f.to,T=Bi(p),_=Bi(m);for(let E=T;E<=_;E++)e[E]=E}}}});break;case"Group":mv(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let a=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&hv(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return at(e)}function bp(t,e,r){let n=Bi(t);e[n]=n,r===!0&&wG(t,e)}function wG(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Bi(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=Bi(i.charCodeAt(0));e[o]=o}}}function pD(t,e){return Gi(t.value,r=>{if(typeof r=="number")return Ct(e,r);{let n=r;return Gi(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function hv(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?oe(t.value)?Kr(t.value,hv):hv(t.value):!1}var gv=class extends Ni{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){Ct(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?pD(e,this.targetCharCodes)===void 0&&(this.found=!0):pD(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function xp(t,e){if(e instanceof RegExp){let r=Tc(e),n=new gv(t);return n.visit(r),n.found}else return Gi(e,r=>Ct(t,r.charCodeAt(0)))!==void 0}var Hs="PATTERN",bc="defaultMode",_p="modes",vv=typeof new RegExp("(?:)").sticky=="boolean";function vD(t,e){e=hc(e,{useSticky:vv,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
96
|
+
`],tracer:(y,h)=>h()});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{BG()});let n;r("Reject Lexer.NA",()=>{n=is(t,y=>y[Hs]===Bt.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=z(n,y=>{let h=y[Hs];if(Kn(h)){let C=h.source;return C.length===1&&C!=="^"&&C!=="$"&&C!=="."&&!h.ignoreCase?C:C.length===2&&C[0]==="\\"&&!Ct(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],C[1])?C[1]:e.useSticky?yD(h):gD(h)}else{if(tn(h))return i=!0,{exec:h};if(typeof h=="object")return i=!0,h;if(typeof h=="string"){if(h.length===1)return h;{let C=h.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),L=new RegExp(C);return e.useSticky?yD(L):gD(L)}}else throw Error("non exhaustive match")}})});let s,a,c,f,p;r("misc mapping",()=>{s=z(n,y=>y.tokenTypeIdx),a=z(n,y=>{let h=y.GROUP;if(h!==Bt.SKIPPED){if(mr(h))return h;if(zr(h))return!1;throw Error("non exhaustive match")}}),c=z(n,y=>{let h=y.LONGER_ALT;if(h)return oe(h)?z(h,L=>gp(n,L)):[gp(n,h)]}),f=z(n,y=>y.PUSH_MODE),p=z(n,y=>te(y,"POP_MODE"))});let m;r("Line Terminator Handling",()=>{let y=CD(e.lineTerminatorCharacters);m=z(n,h=>!1),e.positionTracking!=="onlyOffset"&&(m=z(n,h=>te(h,"LINE_BREAKS")?!!h.LINE_BREAKS:kD(h,y)===!1&&xp(y,h.PATTERN)))});let T,_,E,N;r("Misc Mapping #2",()=>{T=z(n,_D),_=z(o,HG),E=qt(n,(y,h)=>{let C=h.GROUP;return mr(C)&&C!==Bt.SKIPPED&&(y[C]=[]),y},{}),N=z(o,(y,h)=>({pattern:o[h],longerAlt:c[h],canLineTerminator:m[h],isCustom:T[h],short:_[h],group:a[h],push:f[h],pop:p[h],tokenTypeIdx:s[h],tokenType:n[h]}))});let I=!0,A=[];return e.safeMode||r("First Char Optimization",()=>{A=qt(n,(y,h,C)=>{if(typeof h.PATTERN=="string"){let L=h.PATTERN.charCodeAt(0),J=Bi(L);yv(y,J,N[C])}else if(oe(h.START_CHARS_HINT)){let L;Z(h.START_CHARS_HINT,J=>{let fe=typeof J=="string"?J.charCodeAt(0):J,Ae=Bi(fe);L!==Ae&&(L=Ae,yv(y,Ae,N[C]))})}else if(Kn(h.PATTERN))if(h.PATTERN.unicode)I=!1,e.ensureOptimizations&&yc(`${Ju} Unable to analyze < ${h.PATTERN.toString()} > pattern.
|
|
97
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
98
|
+
This will disable the lexer's first char optimizations.
|
|
99
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let L=hD(h.PATTERN,e.ensureOptimizations);De(L)&&(I=!1),Z(L,J=>{yv(y,J,N[C])})}else e.ensureOptimizations&&yc(`${Ju} TokenType: <${h.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
100
|
+
This will disable the lexer's first char optimizations.
|
|
101
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),I=!1;return y},[])}),{emptyGroups:E,patternIdxToConfig:N,charCodeToPatternIdxToConfig:A,hasCustom:i,canBeOptimized:I}}function TD(t,e){let r=[],n=EG(t);r=r.concat(n.errors);let i=PG(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(DG(o)),r=r.concat(qG(o)),r=r.concat(FG(o,e)),r=r.concat(jG(o)),r}function DG(t){let e=[],r=br(t,n=>Kn(n[Hs]));return e=e.concat(NG(r)),e=e.concat(LG(r)),e=e.concat(MG(r)),e=e.concat($G(r)),e=e.concat(IG(r)),e}function EG(t){let e=br(t,i=>!te(i,Hs)),r=z(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:wt.MISSING_PATTERN,tokenTypes:[i]})),n=ns(t,e);return{errors:r,valid:n}}function PG(t){let e=br(t,i=>{let o=i[Hs];return!Kn(o)&&!tn(o)&&!te(o,"exec")&&!mr(o)}),r=z(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:wt.INVALID_PATTERN,tokenTypes:[i]})),n=ns(t,e);return{errors:r,valid:n}}var AG=/[^\\][$]/;function NG(t){class e extends Ni{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}let r=br(t,i=>{let o=i.PATTERN;try{let s=Tc(o),a=new e;return a.visit(s),a.found}catch{return AG.test(o.source)}});return z(r,i=>({message:`Unexpected RegExp Anchor Error:
|
|
102
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
103
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:wt.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function IG(t){let e=br(t,n=>n.PATTERN.test(""));return z(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:wt.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var OG=/[^\\[][\^]|^\^/;function LG(t){class e extends Ni{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}let r=br(t,i=>{let o=i.PATTERN;try{let s=Tc(o),a=new e;return a.visit(s),a.found}catch{return OG.test(o.source)}});return z(r,i=>({message:`Unexpected RegExp Anchor Error:
|
|
104
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
105
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:wt.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function MG(t){let e=br(t,n=>{let i=n[Hs];return i instanceof RegExp&&(i.multiline||i.global)});return z(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:wt.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function $G(t){let e=[],r=z(t,o=>qt(t,(s,a)=>(o.PATTERN.source===a.PATTERN.source&&!Ct(e,a)&&a.PATTERN!==Bt.NA&&(e.push(a),s.push(a)),s),[]));r=Wi(r);let n=br(r,o=>o.length>1);return z(n,o=>{let s=z(o,c=>c.name);return{message:`The same RegExp pattern ->${xr(o).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:wt.DUPLICATE_PATTERNS_FOUND,tokenTypes:o}})}function qG(t){let e=br(t,n=>{if(!te(n,"GROUP"))return!1;let i=n.GROUP;return i!==Bt.SKIPPED&&i!==Bt.NA&&!mr(i)});return z(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:wt.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function FG(t,e){let r=br(t,i=>i.PUSH_MODE!==void 0&&!Ct(e,i.PUSH_MODE));return z(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:wt.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function jG(t){let e=[],r=qt(t,(n,i,o)=>{let s=i.PATTERN;return s===Bt.NA||(mr(s)?n.push({str:s,idx:o,tokenType:i}):Kn(s)&&WG(s)&&n.push({str:s.source,idx:o,tokenType:i})),n},[]);return Z(t,(n,i)=>{Z(r,({str:o,idx:s,tokenType:a})=>{if(i<s&&UG(o,n.PATTERN)){let c=`Token: ->${a.name}<- can never be matched.
|
|
106
|
+
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
|
|
107
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:wt.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function UG(t,e){if(Kn(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(tn(e))return e(t,0,[],{});if(te(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function WG(t){return Gi([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function gD(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function yD(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function RD(t,e,r){let n=[];return te(t,bc)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+bc+`> property in its definition
|
|
108
|
+
`,type:wt.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),te(t,_p)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+_p+`> property in its definition
|
|
109
|
+
`,type:wt.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),te(t,_p)&&te(t,bc)&&!te(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${bc}: <${t.defaultMode}>which does not exist
|
|
110
|
+
`,type:wt.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),te(t,_p)&&Z(t.modes,(i,o)=>{Z(i,(s,a)=>{if(zr(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${o}> at index: <${a}>
|
|
111
|
+
`,type:wt.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(te(s,"LONGER_ALT")){let c=oe(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Z(c,f=>{!zr(f)&&!Ct(i,f)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${f.name}> on token <${s.name}> outside of mode <${o}>
|
|
112
|
+
`,type:wt.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function bD(t,e,r){let n=[],i=!1,o=Wi(Vt(at(t.modes))),s=is(o,c=>c[Hs]===Bt.NA),a=CD(r);return e&&Z(s,c=>{let f=kD(c,a);if(f!==!1){let m={message:GG(c,f),type:f.issue,tokenType:c};n.push(m)}else te(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):xp(a,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
|
|
113
|
+
This Lexer has been defined to track line and column information,
|
|
114
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
115
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
116
|
+
for details.`,type:wt.NO_LINE_BREAKS_FLAGS}),n}function xD(t){let e={},r=dt(t);return Z(r,n=>{let i=t[n];if(oe(i))e[n]=[];else throw Error("non exhaustive match")}),e}function _D(t){let e=t.PATTERN;if(Kn(e))return!1;if(tn(e))return!0;if(te(e,"exec"))return!0;if(mr(e))return!1;throw Error("non exhaustive match")}function HG(t){return mr(t)&&t.length===1?t.charCodeAt(0):!1}var SD={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function kD(t,e){if(te(t,"LINE_BREAKS"))return!1;if(Kn(t.PATTERN)){try{xp(e,t.PATTERN)}catch(r){return{issue:wt.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(mr(t.PATTERN))return!1;if(_D(t))return{issue:wt.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function GG(t,e){if(e.issue===wt.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
117
|
+
The problem is in the <${t.name}> Token Type
|
|
118
|
+
Root cause: ${e.errMsg}.
|
|
119
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===wt.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
120
|
+
The problem is in the <${t.name}> Token Type
|
|
121
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function CD(t){return z(t,r=>mr(r)?r.charCodeAt(0):r)}function yv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var Rc=256,Sp=[];function Bi(t){return t<Rc?t:Sp[t]}function BG(){if(De(Sp)){Sp=new Array(65536);for(let t=0;t<65536;t++)Sp[t]=t>255?255+~~(t/255):t}}function _o(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function xc(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var wD=1,ED={};function So(t){let e=KG(t);zG(e),XG(e),VG(e),Z(e,r=>{r.isParent=r.categoryMatches.length>0})}function KG(t){let e=mt(t),r=t,n=!0;for(;n;){r=Wi(Vt(z(r,o=>o.CATEGORIES)));let i=ns(r,e);e=e.concat(i),De(i)?n=!1:r=i}return e}function zG(t){Z(t,e=>{Tv(e)||(ED[wD]=e,e.tokenTypeIdx=wD++),DD(e)&&!oe(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),DD(e)||(e.CATEGORIES=[]),YG(e)||(e.categoryMatches=[]),JG(e)||(e.categoryMatchesMap={})})}function VG(t){Z(t,e=>{e.categoryMatches=[],Z(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(ED[n].tokenTypeIdx)})})}function XG(t){Z(t,e=>{PD([],e)})}function PD(t,e){Z(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Z(e.CATEGORIES,r=>{let n=t.concat(e);Ct(n,r)||PD(n,r)})}function Tv(t){return te(t,"tokenTypeIdx")}function DD(t){return te(t,"CATEGORIES")}function YG(t){return te(t,"categoryMatches")}function JG(t){return te(t,"categoryMatchesMap")}function AD(t){return te(t,"tokenTypeIdx")}var Rv={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var wt;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(wt||(wt={}));var Qu={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
122
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Rv,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Qu);var Bt=class{constructor(e,r=Qu){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,o)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);let{time:a,value:c}=Xu(o),f=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&f(`${s}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return o()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
123
|
+
a boolean 2nd argument is no longer supported`);this.config=Nr({},Qu,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,o=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Qu.lineTerminatorsPattern)this.config.lineTerminatorsPattern=SD;else if(this.config.lineTerminatorCharacters===Qu.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
124
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),oe(e)?i={modes:{defaultMode:mt(e)},defaultMode:bc}:(o=!1,i=mt(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(RD(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(bD(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Z(i.modes,(a,c)=>{i.modes[c]=is(a,f=>zr(f))});let s=dt(i.modes);if(Z(i.modes,(a,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(TD(a,s))}),De(this.lexerDefinitionErrors)){So(a);let f;this.TRACE_INIT("analyzeTokenTypes",()=>{f=vD(a,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=f.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=f.charCodeToPatternIdxToConfig,this.emptyGroups=Nr({},this.emptyGroups,f.emptyGroups),this.hasCustom=f.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=f.canBeOptimized}})}),this.defaultMode=i.defaultMode,!De(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let c=z(this.lexerDefinitionErrors,f=>f.message).join(`-----------------------
|
|
125
|
+
`);throw new Error(`Errors detected in definition of Lexer:
|
|
126
|
+
`+c)}Z(this.lexerDefinitionWarning,a=>{Vu(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(vv?(this.chopInput=mn,this.match=this.matchWithTest):(this.updateLastIndex=$t,this.match=this.matchWithExec),o&&(this.handleModes=$t),this.trackStartLines===!1&&(this.computeNewColumn=mn),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=$t),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=qt(this.canModeBeOptimized,(c,f,p)=>(f===!1&&c.push(p),c),[]);if(r.ensureOptimizations&&!De(a))throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
|
|
127
|
+
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
128
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{dD()}),this.TRACE_INIT("toFastProperties",()=>{Yu(this)})})}tokenize(e,r=this.defaultMode){if(!De(this.lexerDefinitionErrors)){let i=z(this.lexerDefinitionErrors,o=>o.message).join(`-----------------------
|
|
129
|
+
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
130
|
+
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,f,p,m,T,_,E,N,I,A,y,h=e,C=h.length,L=0,J=0,fe=this.hasCustom?0:Math.floor(e.length/10),Ae=new Array(fe),Wt=[],Xe=this.trackStartLines?1:void 0,Ye=this.trackStartLines?1:void 0,V=xD(this.emptyGroups),it=this.trackStartLines,Tt=this.config.lineTerminatorsPattern,ur=0,j=[],M=[],U=[],W=[];Object.freeze(W);let re;function ve(){return j}function ne(He){let Jt=Bi(He),un=M[Jt];return un===void 0?W:un}let Yt=He=>{if(U.length===1&&He.tokenType.PUSH_MODE===void 0){let Jt=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(He);Wt.push({offset:He.startOffset,line:He.startLine,column:He.startColumn,length:He.image.length,message:Jt})}else{U.pop();let Jt=Hi(U);j=this.patternIdxToConfig[Jt],M=this.charCodeToPatternIdxToConfig[Jt],ur=j.length;let un=this.canModeBeOptimized[Jt]&&this.config.safeMode===!1;M&&un?re=ne:re=ve}};function Rt(He){U.push(He),M=this.charCodeToPatternIdxToConfig[He],j=this.patternIdxToConfig[He],ur=j.length,ur=j.length;let Jt=this.canModeBeOptimized[He]&&this.config.safeMode===!1;M&&Jt?re=ne:re=ve}Rt.call(this,r);let Ge,Xr=this.config.recoveryEnabled;for(;L<C;){c=null;let He=h.charCodeAt(L),Jt=re(He),un=Jt.length;for(n=0;n<un;n++){Ge=Jt[n];let Kt=Ge.pattern;f=null;let ot=Ge.short;if(ot!==!1?He===ot&&(c=Kt):Ge.isCustom===!0?(y=Kt.exec(h,L,Ae,V),y!==null?(c=y[0],y.payload!==void 0&&(f=y.payload)):c=null):(this.updateLastIndex(Kt,L),c=this.match(Kt,e,L)),c!==null){if(a=Ge.longerAlt,a!==void 0){let Et=a.length;for(o=0;o<Et;o++){let Sr=j[a[o]],yr=Sr.pattern;if(p=null,Sr.isCustom===!0?(y=yr.exec(h,L,Ae,V),y!==null?(s=y[0],y.payload!==void 0&&(p=y.payload)):s=null):(this.updateLastIndex(yr,L),s=this.match(yr,e,L)),s&&s.length>c.length){c=s,f=p,Ge=Sr;break}}}break}}if(c!==null){if(m=c.length,T=Ge.group,T!==void 0&&(_=Ge.tokenTypeIdx,E=this.createTokenInstance(c,L,_,Ge.tokenType,Xe,Ye,m),this.handlePayload(E,f),T===!1?J=this.addToken(Ae,J,E):V[T].push(E)),e=this.chopInput(e,m),L=L+m,Ye=this.computeNewColumn(Ye,m),it===!0&&Ge.canLineTerminator===!0){let Kt=0,ot,Et;Tt.lastIndex=0;do ot=Tt.test(c),ot===!0&&(Et=Tt.lastIndex-1,Kt++);while(ot===!0);Kt!==0&&(Xe=Xe+Kt,Ye=m-Et,this.updateTokenEndLineColumnLocation(E,T,Et,Kt,Xe,Ye,m))}this.handleModes(Ge,Yt,Rt,E)}else{let Kt=L,ot=Xe,Et=Ye,Sr=Xr===!1;for(;Sr===!1&&L<C;)for(e=this.chopInput(e,1),L++,i=0;i<ur;i++){let yr=j[i],ln=yr.pattern,In=yr.short;if(In!==!1?h.charCodeAt(L)===In&&(Sr=!0):yr.isCustom===!0?Sr=ln.exec(h,L,Ae,V)!==null:(this.updateLastIndex(ln,L),Sr=ln.exec(e)!==null),Sr===!0)break}if(N=L-Kt,Ye=this.computeNewColumn(Ye,N),A=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(h,Kt,N,ot,Et),Wt.push({offset:Kt,line:ot,column:Et,length:N,message:A}),Xr===!1)break}}return this.hasCustom||(Ae.length=J),{tokens:Ae,groups:V,errors:Wt}}handleModes(e,r,n,i){if(e.pop===!0){let o=e.push;r(i),o!==void 0&&n.call(this,o)}else e.push!==void 0&&n.call(this,e.push)}chopInput(e,r){return e.substring(r)}updateLastIndex(e,r){e.lastIndex=r}updateTokenEndLineColumnLocation(e,r,n,i,o,s,a){let c,f;r!==void 0&&(c=n===a-1,f=c?-1:0,i===1&&c===!0||(e.endLine=o+f,e.endColumn=s-1+-f))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,o,s){return{image:e,startOffset:r,startLine:o,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:r+a-1,startLine:o,endLine:o,startColumn:s,endColumn:s+a-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}matchWithTest(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchWithExec(e,r){let n=e.exec(r);return n!==null?n[0]:null}};Bt.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";Bt.NA=/NOT_APPLICABLE/;function ko(t){return bv(t)?t.LABEL:t.name}function bv(t){return mr(t.LABEL)&&t.LABEL!==""}var QG="parent",ND="categories",ID="label",OD="group",LD="push_mode",MD="pop_mode",$D="longer_alt",qD="line_breaks",FD="start_chars_hint";function kp(t){return ZG(t)}function ZG(t){let e=t.pattern,r={};if(r.name=t.name,zr(e)||(r.PATTERN=e),te(t,QG))throw`The parent property is no longer supported.
|
|
131
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return te(t,ND)&&(r.CATEGORIES=t[ND]),So([r]),te(t,ID)&&(r.LABEL=t[ID]),te(t,OD)&&(r.GROUP=t[OD]),te(t,MD)&&(r.POP_MODE=t[MD]),te(t,LD)&&(r.PUSH_MODE=t[LD]),te(t,$D)&&(r.LONGER_ALT=t[$D]),te(t,qD)&&(r.LINE_BREAKS=t[qD]),te(t,FD)&&(r.START_CHARS_HINT=t[FD]),r}var mi=kp({name:"EOF",pattern:Bt.NA});So([mi]);function Gs(t,e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:o,startColumn:s,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Zu(t,e){return _o(t,e)}var Co={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${bv(t)?`--> ${ko(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let o="Expecting: ",a=`
|
|
132
|
+
but found: '`+xr(e).image+"'";if(n)return o+n+a;{let c=qt(t,(T,_)=>T.concat(_),[]),f=z(c,T=>`[${z(T,_=>ko(_)).join(", ")}]`),m=`one of these possible Token sequences:
|
|
133
|
+
${z(f,(T,_)=>` ${_+1}. ${T}`).join(`
|
|
134
|
+
`)}`;return o+m+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=`
|
|
135
|
+
but found: '`+xr(e).image+"'";if(r)return i+r+s;{let c=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
136
|
+
<${z(t,f=>`[${z(f,p=>ko(p)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Co);var jD={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
137
|
+
inside top level rule: ->`+t.name+"<-"}},hi={buildDuplicateFoundError(t,e){function r(p){return p instanceof Ee?p.terminalType.name:p instanceof ze?p.nonTerminalName:""}let n=t.name,i=xr(e),o=i.idx,s=vn(i),a=r(i),c=o>0,f=`->${s}${c?o:""}<- ${a?`with argument: ->${a}<-`:""}
|
|
138
|
+
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
|
|
139
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
140
|
+
`;return f=f.replace(/[ \t]+/g," "),f=f.replace(/\s\s+/g,`
|
|
141
|
+
`),f},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
|
|
142
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
143
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
144
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
145
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=z(t.prefixPath,i=>ko(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
146
|
+
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
|
|
147
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
148
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
149
|
+
For Further details.`},buildAlternationAmbiguityError(t){let e=z(t.prefixPath,i=>ko(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${t.topLevelRule.name}> Rule,
|
|
150
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
151
|
+
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
152
|
+
For Further details.`,n},buildEmptyRepetitionError(t){let e=vn(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
153
|
+
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
154
|
+
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
155
|
+
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
156
|
+
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=z(t.leftRecursionPath,o=>o.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
157
|
+
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
158
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
159
|
+
${n}
|
|
160
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
161
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof rn?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function UD(t,e){let r=new xv(t,e);return r.resolveRefs(),r.errors}var xv=class extends nn{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Z(at(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:hr.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var _v=class extends xo{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=mt(this.path.ruleStack).reverse(),this.occurrenceStack=mt(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){De(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Cp=class extends _v{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new ht({definition:i});this.possibleTokTypes=Ws(o),this.found=!0}}},_c=class extends xo{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},wp=class extends _c{walkMany(e,r,n){if(e.idx===this.occurrence){let i=xr(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ee&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},el=class extends _c{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=xr(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ee&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},Dp=class extends _c{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=xr(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ee&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},tl=class extends _c{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=xr(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ee&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function Ep(t,e,r=[]){r=mt(r);let n=[],i=0;function o(a){return a.concat(Xt(t,i+1))}function s(a){let c=Ep(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof ht)return s(a.definition);if(a instanceof ze)return s(a.definition);if(a instanceof Ve)n=s(a.definition);else if(a instanceof gt){let c=a.definition.concat([new Oe({definition:a.definition})]);return s(c)}else if(a instanceof yt){let c=[new ht({definition:a.definition}),new Oe({definition:[new Ee({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof ut){let c=a.definition.concat([new Oe({definition:[new Ee({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof Oe){let c=a.definition.concat([new Oe({definition:a.definition})]);n=s(c)}else{if(a instanceof lt)return Z(a.definition,c=>{De(c.definition)===!1&&(n=s(c.definition))}),n;if(a instanceof Ee)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Xt(t,i)}),n}function Pp(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,f=c-n-1,p=[],m=[];for(m.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!De(m);){let T=m.pop();if(T===s){a&&Hi(m).idx<=f&&m.pop();continue}let _=T.def,E=T.idx,N=T.ruleStack,I=T.occurrenceStack;if(De(_))continue;let A=_[0];if(A===i){let y={idx:E,def:Xt(_),ruleStack:bo(N),occurrenceStack:bo(I)};m.push(y)}else if(A instanceof Ee)if(E<c-1){let y=E+1,h=e[y];if(r(h,A.terminalType)){let C={idx:y,def:Xt(_),ruleStack:N,occurrenceStack:I};m.push(C)}}else if(E===c-1)p.push({nextTokenType:A.terminalType,nextTokenOccurrence:A.idx,ruleStack:N,occurrenceStack:I}),a=!0;else throw Error("non exhaustive match");else if(A instanceof ze){let y=mt(N);y.push(A.nonTerminalName);let h=mt(I);h.push(A.idx);let C={idx:E,def:A.definition.concat(o,Xt(_)),ruleStack:y,occurrenceStack:h};m.push(C)}else if(A instanceof Ve){let y={idx:E,def:Xt(_),ruleStack:N,occurrenceStack:I};m.push(y),m.push(s);let h={idx:E,def:A.definition.concat(Xt(_)),ruleStack:N,occurrenceStack:I};m.push(h)}else if(A instanceof gt){let y=new Oe({definition:A.definition,idx:A.idx}),h=A.definition.concat([y],Xt(_)),C={idx:E,def:h,ruleStack:N,occurrenceStack:I};m.push(C)}else if(A instanceof yt){let y=new Ee({terminalType:A.separator}),h=new Oe({definition:[y].concat(A.definition),idx:A.idx}),C=A.definition.concat([h],Xt(_)),L={idx:E,def:C,ruleStack:N,occurrenceStack:I};m.push(L)}else if(A instanceof ut){let y={idx:E,def:Xt(_),ruleStack:N,occurrenceStack:I};m.push(y),m.push(s);let h=new Ee({terminalType:A.separator}),C=new Oe({definition:[h].concat(A.definition),idx:A.idx}),L=A.definition.concat([C],Xt(_)),J={idx:E,def:L,ruleStack:N,occurrenceStack:I};m.push(J)}else if(A instanceof Oe){let y={idx:E,def:Xt(_),ruleStack:N,occurrenceStack:I};m.push(y),m.push(s);let h=new Oe({definition:A.definition,idx:A.idx}),C=A.definition.concat([h],Xt(_)),L={idx:E,def:C,ruleStack:N,occurrenceStack:I};m.push(L)}else if(A instanceof lt)for(let y=A.definition.length-1;y>=0;y--){let h=A.definition[y],C={idx:E,def:h.definition.concat(Xt(_)),ruleStack:N,occurrenceStack:I};m.push(C),m.push(s)}else if(A instanceof ht)m.push({idx:E,def:A.definition.concat(Xt(_)),ruleStack:N,occurrenceStack:I});else if(A instanceof rn)m.push(eB(A,E,N,I));else throw Error("non exhaustive match")}return p}function eB(t,e,r,n){let i=mt(r);i.push(t.name);let o=mt(n);return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var Dt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Dt||(Dt={}));function rl(t){if(t instanceof Ve||t==="Option")return Dt.OPTION;if(t instanceof Oe||t==="Repetition")return Dt.REPETITION;if(t instanceof gt||t==="RepetitionMandatory")return Dt.REPETITION_MANDATORY;if(t instanceof yt||t==="RepetitionMandatoryWithSeparator")return Dt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ut||t==="RepetitionWithSeparator")return Dt.REPETITION_WITH_SEPARATOR;if(t instanceof lt||t==="Alternation")return Dt.ALTERNATION;throw Error("non exhaustive match")}function Np(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=rl(n);return o===Dt.ALTERNATION?Sc(e,r,i):kc(e,r,o,i)}function HD(t,e,r,n,i,o){let s=Sc(t,e,r),a=XD(s)?xc:_o;return o(s,n,a,i)}function GD(t,e,r,n,i,o){let s=kc(t,e,i,r),a=XD(s)?xc:_o;return o(s[0],a,n)}function BD(t,e,r,n){let i=t.length,o=Kr(t,s=>Kr(s,a=>a.length===1));if(e)return function(s){let a=z(s,c=>c.GATE);for(let c=0;c<i;c++){let f=t[c],p=f.length,m=a[c];if(!(m!==void 0&&m.call(this)===!1))e:for(let T=0;T<p;T++){let _=f[T],E=_.length;for(let N=0;N<E;N++){let I=this.LA(N+1);if(r(I,_[N])===!1)continue e}return c}}};if(o&&!n){let s=z(t,c=>Vt(c)),a=qt(s,(c,f,p)=>(Z(f,m=>{te(c,m.tokenTypeIdx)||(c[m.tokenTypeIdx]=p),Z(m.categoryMatches,T=>{te(c,T)||(c[T]=p)})}),c),{});return function(){let c=this.LA(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let f=0;f<c;f++){let p=a[f],m=p.length;for(let T=0;T<m;T++){let _=this.LA(T+1);if(r(_,p[T])===!1)continue e}return s}}}}function KD(t,e,r){let n=Kr(t,o=>o.length===1),i=t.length;if(n&&!r){let o=Vt(t);if(o.length===1&&De(o[0].categoryMatches)){let a=o[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{let s=qt(o,(a,c,f)=>(a[c.tokenTypeIdx]=!0,Z(c.categoryMatches,p=>{a[p]=!0}),a),[]);return function(){let a=this.LA(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let f=this.LA(c+1);if(e(f,s[c])===!1)continue e}return!0}return!1}}var kv=class extends xo{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Dt.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Dt.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Dt.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Dt.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Dt.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},Ap=class extends nn{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Dt.OPTION)}visitRepetition(e){this.checkIsTarget(e,Dt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Dt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Dt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Dt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Dt.ALTERNATION)}};function WD(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function Sv(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function tB(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function zD(t,e){let r=z(t,s=>Ep([s],1)),n=WD(r.length),i=z(r,s=>{let a={};return Z(s,c=>{let f=Sv(c.partialPath);Z(f,p=>{a[p]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=WD(a.length);for(let c=0;c<a.length;c++){let f=a[c];for(let p=0;p<f.length;p++){let m=f[p].partialPath,T=f[p].suffixDef,_=Sv(m);if(tB(i,_,c)||De(T)||m.length===e){let N=n[c];if(Ip(N,m)===!1){N.push(m);for(let I=0;I<_.length;I++){let A=_[I];i[c][A]=!0}}}else{let N=Ep(T,s+1,m);o[c]=o[c].concat(N),Z(N,I=>{let A=Sv(I.partialPath);Z(A,y=>{i[c][y]=!0})})}}}}return n}function Sc(t,e,r,n){let i=new Ap(t,Dt.ALTERNATION,n);return e.accept(i),zD(i.result,r)}function kc(t,e,r,n){let i=new Ap(t,r);e.accept(i);let o=i.result,a=new kv(e,t,r).startWalking(),c=new ht({definition:o}),f=new ht({definition:a});return zD([c,f],n)}function Ip(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function VD(t,e){return t.length<e.length&&Kr(t,(r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function XD(t){return Kr(t,e=>Kr(e,r=>Kr(r,n=>De(n.categoryMatches))))}function YD(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return z(e,r=>Object.assign({type:hr.CUSTOM_LOOKAHEAD_VALIDATION},r))}function JD(t,e,r,n){let i=Ir(t,c=>rB(c,r)),o=cB(t,e,r),s=Ir(t,c=>oB(c,r)),a=Ir(t,c=>iB(c,t,n,r));return i.concat(o,s,a)}function rB(t,e){let r=new Cv;t.accept(r);let n=r.allProductions,i=lv(n,nB),o=yn(i,a=>a.length>1);return z(at(o),a=>{let c=xr(a),f=e.buildDuplicateFoundError(t,a),p=vn(c),m={message:f,type:hr.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:p,occurrence:c.idx},T=QD(c);return T&&(m.parameter=T),m})}function nB(t){return`${vn(t)}_#_${t.idx}_#_${QD(t)}`}function QD(t){return t instanceof Ee?t.terminalType.name:t instanceof ze?t.nonTerminalName:""}var Cv=class extends nn{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function iB(t,e,r,n){let i=[];if(qt(e,(s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:hr.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function ZD(t,e,r){let n=[],i;return Ct(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:hr.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Dv(t,e,r,n=[]){let i=[],o=Op(e.definition);if(De(o))return[];{let s=t.name;Ct(o,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:hr.LEFT_RECURSION,ruleName:s});let c=ns(o,n.concat([t])),f=Ir(c,p=>{let m=mt(n);return m.push(p),Dv(t,p,r,m)});return i.concat(f)}}function Op(t){let e=[];if(De(t))return e;let r=xr(t);if(r instanceof ze)e.push(r.referencedRule);else if(r instanceof ht||r instanceof Ve||r instanceof gt||r instanceof yt||r instanceof ut||r instanceof Oe)e=e.concat(Op(r.definition));else if(r instanceof lt)e=Vt(z(r.definition,o=>Op(o.definition)));else if(!(r instanceof Ee))throw Error("non exhaustive match");let n=Us(r),i=t.length>1;if(n&&i){let o=Xt(t);return e.concat(Op(o))}else return e}var nl=class extends nn{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function eE(t,e){let r=new nl;t.accept(r);let n=r.alternations;return Ir(n,o=>{let s=bo(o.definition);return Ir(s,(a,c)=>{let f=Pp([a],[],_o,1);return De(f)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:hr.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]})})}function tE(t,e,r){let n=new nl;t.accept(n);let i=n.alternations;return i=is(i,s=>s.ignoreAmbiguities===!0),Ir(i,s=>{let a=s.idx,c=s.maxLookahead||e,f=Sc(a,t,c,s),p=sB(f,s,t,r),m=aB(f,s,t,r);return p.concat(m)})}var wv=class extends nn{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function oB(t,e){let r=new nl;t.accept(r);let n=r.alternations;return Ir(n,o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:hr.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function rE(t,e,r){let n=[];return Z(t,i=>{let o=new wv;i.accept(o);let s=o.allProductions;Z(s,a=>{let c=rl(a),f=a.maxLookahead||e,p=a.idx,T=kc(p,i,c,f)[0];if(De(Vt(T))){let _=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:_,type:hr.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function sB(t,e,r,n){let i=[],o=qt(t,(a,c,f)=>(e.definition[f].ignoreAmbiguities===!0||Z(c,p=>{let m=[f];Z(t,(T,_)=>{f!==_&&Ip(T,p)&&e.definition[_].ignoreAmbiguities!==!0&&m.push(_)}),m.length>1&&!Ip(i,p)&&(i.push(p),a.push({alts:m,path:p}))}),a),[]);return z(o,a=>{let c=z(a.alts,p=>p+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:hr.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function aB(t,e,r,n){let i=qt(t,(s,a,c)=>{let f=z(a,p=>({idx:c,path:p}));return s.concat(f)},[]);return Wi(Ir(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,f=s.path,p=br(i,T=>e.definition[T.idx].ignoreAmbiguities!==!0&&T.idx<c&&VD(T.path,f));return z(p,T=>{let _=[T.idx+1,c+1],E=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:_,prefixPath:T.path}),type:hr.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:E,alternatives:_}})}))}function cB(t,e,r){let n=[],i=z(e,o=>o.name);return Z(t,o=>{let s=o.name;if(Ct(i,s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:hr.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function nE(t){let e=hc(t,{errMsgProvider:jD}),r={};return Z(t.rules,n=>{r[n.name]=n}),UD(r,e.errMsgProvider)}function iE(t){return t=hc(t,{errMsgProvider:hi}),JD(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var oE="MismatchedTokenException",sE="NoViableAltException",aE="EarlyExitException",cE="NotAllInputParsedException",uE=[oE,sE,aE,cE];Object.freeze(uE);function os(t){return Ct(uE,t.name)}var Cc=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Bs=class extends Cc{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=oE}},il=class extends Cc{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=sE}},ol=class extends Cc{constructor(e,r){super(e,r),this.name=cE}},sl=class extends Cc{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=aE}};var Ev={},Av="InRuleRecoveryException",Pv=class extends Error{constructor(e){super(e),this.name=Av}},Lp=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=te(e,"recoveryEnabled")?e.recoveryEnabled:on.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=uB)}getTokenToInsert(e){let r=Gs(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,f=this.LA(1),p=this.LA(1),m=()=>{let T=this.LA(0),_=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:f,previous:T,ruleName:this.getCurrRuleFullName()}),E=new Bs(_,f,this.LA(0));E.resyncedTokens=bo(a),this.SAVE_ERROR(E)};for(;!c;)if(this.tokenMatcher(p,i)){m();return}else if(n.call(this)){m(),e.apply(this,r);return}else this.tokenMatcher(p,o)?c=!0:(p=this.SKIP_TOKEN(),this.addToResyncTokens(p,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Pv("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||De(r))return!1;let n=this.LA(1);return Gi(r,o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Ct(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Gi(e,o=>Zu(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Ev;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return z(e,(n,i)=>i===0?Ev:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=z(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Vt(e)}getFollowSetFromFollowKey(e){if(e===Ev)return[mi];let r=e.ruleName+e.idxInCallingRule+Tp+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,mi)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return bo(r)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=mt(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return z(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function uB(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let T=this.getCurrRuleFullName(),_=this.getGAstProductions()[T];c=new o(_,i).startWalking(),this.firstAfterRepMap[a]=c}let f=c.token,p=c.occurrence,m=c.isEndOfRule;this.RULE_STACK.length===1&&m&&f===void 0&&(f=mi,p=1),!(f===void 0||p===void 0)&&this.shouldInRepetitionRecoveryBeTried(f,p,s)&&this.tryInRepetitionRecovery(t,e,r,f)}function Mp(t,e,r){return r|e|t}var Hfe=32-8;var wo=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:on.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(De(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return Ir(e,r=>Dv(r,r,hi))}validateEmptyOrAlternatives(e){return Ir(e,r=>eE(r,hi))}validateAmbiguousAlternationAlternatives(e,r){return Ir(e,n=>tE(n,r,hi))}validateSomeNonEmptyLookaheadPath(e,r){return rE(e,r,hi)}buildLookaheadForAlternation(e){return HD(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,BD)}buildLookaheadForOptional(e){return GD(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,rl(e.prodType),KD)}};var qp=class{initLooksAhead(e){this.dynamicTokensEnabled=te(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:on.dynamicTokensEnabled,this.maxLookahead=te(e,"maxLookahead")?e.maxLookahead:on.maxLookahead,this.lookaheadStrategy=te(e,"lookaheadStrategy")?e.lookaheadStrategy:new wo({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Z(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=lB(r);Z(n,f=>{let p=f.idx===0?"":f.idx;this.TRACE_INIT(`${vn(f)}${p}`,()=>{let m=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:f.idx,rule:r,maxLookahead:f.maxLookahead||this.maxLookahead,hasPredicates:f.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),T=Mp(this.fullRuleNameToShort[r.name],256,f.idx);this.setLaFuncCache(T,m)})}),Z(i,f=>{this.computeLookaheadFunc(r,f.idx,768,"Repetition",f.maxLookahead,vn(f))}),Z(o,f=>{this.computeLookaheadFunc(r,f.idx,512,"Option",f.maxLookahead,vn(f))}),Z(s,f=>{this.computeLookaheadFunc(r,f.idx,1024,"RepetitionMandatory",f.maxLookahead,vn(f))}),Z(a,f=>{this.computeLookaheadFunc(r,f.idx,1536,"RepetitionMandatoryWithSeparator",f.maxLookahead,vn(f))}),Z(c,f=>{this.computeLookaheadFunc(r,f.idx,1280,"RepetitionWithSeparator",f.maxLookahead,vn(f))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Mp(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return Mp(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Nv=class extends nn{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},$p=new Nv;function lB(t){$p.reset(),t.accept($p);let e=$p.dslMethods;return $p.reset(),e}function Lv(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Mv(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function lE(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function fE(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var fB="name";function $v(t,e){Object.defineProperty(t,fB,{enumerable:!1,configurable:!0,writable:!1,value:e})}function dB(t,e){let r=dt(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let f=s[c];f.tokenTypeIdx===void 0&&this[f.name](f.children,e)}}}function dE(t,e){let r=function(){};$v(r,t+"BaseSemantics");let n={visit:function(i,o){if(oe(i)&&(i=i[0]),!zr(i))return this[i.name](i.children,o)},validateVisitor:function(){let i=pB(this,e);if(!De(i)){let o=z(i,s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
162
|
+
${o.join(`
|
|
163
|
+
|
|
164
|
+
`).replace(/\n/g,`
|
|
165
|
+
`)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function pE(t,e,r){let n=function(){};$v(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Z(e,o=>{i[o]=dB}),n.prototype=i,n.prototype.constructor=n,n}var qv;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(qv||(qv={}));function pB(t,e){return mB(t,e)}function mB(t,e){let r=br(e,i=>tn(t[i])===!1),n=z(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:qv.MISSING_METHOD,methodName:i}));return Wi(n)}var Wp=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=te(e,"nodeLocationTracking")?e.nodeLocationTracking:on.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=$t,this.cstFinallyStateUpdate=$t,this.cstPostTerminal=$t,this.cstPostNonTerminal=$t,this.cstPostRule=$t;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Mv,this.setNodeLocationFromNode=Mv,this.cstPostRule=$t,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=$t,this.setNodeLocationFromNode=$t,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Lv,this.setNodeLocationFromNode=Lv,this.cstPostRule=$t,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=$t,this.setNodeLocationFromNode=$t,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=$t,this.setNodeLocationFromNode=$t,this.cstPostRule=$t,this.setInitialNodeLocation=$t;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];lE(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];fE(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(zr(this.baseCstVisitorConstructor)){let e=dE(this.className,dt(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(zr(this.baseCstVisitorWithDefaultsConstructor)){let e=pE(this.className,dt(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}};var Hp=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):wc}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?wc:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}};var Gp=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Dc){if(Ct(this.definedRulesNames,e)){let s={message:hi.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:hr.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Dc){let i=ZD(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(os(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return vp(at(this.gastProductionsCache))}};var Bp=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=xc,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},te(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
166
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
167
|
+
For Further details.`);if(oe(e)){if(De(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
168
|
+
Note that the first argument for the parser constructor
|
|
169
|
+
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
170
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
171
|
+
For Further details.`)}if(oe(e))this.tokensMap=qt(e,(o,s)=>(o[s.name]=s,o),{});else if(te(e,"modes")&&Kr(Vt(at(e.modes)),AD)){let o=Vt(at(e.modes)),s=gc(o);this.tokensMap=qt(s,(a,c)=>(a[c.name]=c,a),{})}else if(Mt(e))this.tokensMap=mt(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=mi;let n=te(e,"modes")?Vt(at(e.modes)):at(e),i=Kr(n,o=>De(o.categoryMatches));this.tokenMatcher=i?xc:_o,So(at(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
172
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=te(n,"resyncEnabled")?n.resyncEnabled:Dc.resyncEnabled,o=te(n,"recoveryValueFunc")?n.recoveryValueFunc:Dc.recoveryValueFunc,s=this.ruleShortNameIdx<<4+8;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let a;return this.outputCst===!0?a=function(...p){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,p);let m=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(m),m}catch(m){return this.invokeRuleCatch(m,i,o)}finally{this.ruleFinallyStateUpdate()}}:a=function(...p){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,p)}catch(m){return this.invokeRuleCatch(m,i,o)}finally{this.ruleFinallyStateUpdate()}},Object.assign(a,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,o=r&&!this.isBackTracking()&&this.recoveryEnabled;if(os(e)){let s=e;if(o){let a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,s.partialCstResult=c}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof e!="function"){o=e.DEF;let s=e.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=e;if(i.call(this)===!0)return o.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let s=r.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=r;if(i.call(this)===!0){let s=this.doSingleRepetition(o);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o)}else throw this.raiseEarlyExitException(e,Dt.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,Dp)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA(1),o);for(;this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,tl],a,1536,e,tl)}else throw this.raiseEarlyExitException(e,Dt.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let a=r.GATE;if(a!==void 0){let c=i;i=()=>a.call(this)&&c.call(this)}}else o=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,wp,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA(1),o);for(;this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,el],a,1280,e,el)}}repetitionSepSecondInternal(e,r,n,i,o){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,o],n,1536,e,o)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=oe(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new ol(r,e))}}subruleInternal(e,r,n){let i;try{let o=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,o),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(o){throw this.subruleInternalError(o,n,e.ruleName)}}subruleInternalError(e,r,n){throw os(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let o=this.LA(1);this.tokenMatcher(o,e)===!0?(this.consumeToken(),i=o):this.consumeInternalError(e,o,n)}catch(o){i=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,o=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:o,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Bs(i,r,o))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(o){throw o.name===Av?n:o}}else throw n}saveRecogState(){let e=this.errors,r=mt(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),mi)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}};var Kp=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=te(e,"errorMessageProvider")?e.errorMessageProvider:on.errorMessageProvider}SAVE_ERROR(e){if(os(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:mt(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return mt(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),o=this.getGAstProductions()[i],a=kc(e,o,r,this.maxLookahead)[0],c=[];for(let p=1;p<=this.maxLookahead;p++)c.push(this.LA(p));let f=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new sl(f,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=Sc(e,i,this.maxLookahead),s=[];for(let f=1;f<=this.maxLookahead;f++)s.push(this.LA(f));let a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:o,actual:s,previous:a,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new il(c,this.LA(1),a))}};var zp=class{initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(zr(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Pp([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=xr(e.ruleStack),i=this.getGAstProductions()[r];return new Cp(i,e).startWalking()}};var Yp={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Yp);var mE=!0,hE=Math.pow(2,8)-1,yE=kp({name:"RECORDING_PHASE_TOKEN",pattern:Bt.NA});So([yE]);var vE=Gs(yE,`This IToken indicates the Parser is in Recording Phase
|
|
173
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(vE);var gB={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
174
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Vp=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return wc}topLevelRuleRecord(e,r){try{let n=new rn({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
|
|
175
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
176
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return cl.call(this,Ve,e,r)}atLeastOneInternalRecord(e,r){cl.call(this,gt,r,e)}atLeastOneSepFirstInternalRecord(e,r){cl.call(this,yt,r,e,mE)}manyInternalRecord(e,r){cl.call(this,Oe,r,e)}manySepFirstInternalRecord(e,r){cl.call(this,ut,r,e,mE)}orInternalRecord(e,r){return yB.call(this,e,r)}subruleInternalRecord(e,r,n){if(Xp(r),!e||te(e,"ruleName")===!1){let a=new Error(`<SUBRULE${gE(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
177
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=Hi(this.recordingProdStack),o=e.ruleName,s=new ze({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?gB:Yp}consumeInternalRecord(e,r,n){if(Xp(r),!Tv(e)){let s=new Error(`<CONSUME${gE(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
178
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=Hi(this.recordingProdStack),o=new Ee({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(o),vE}};function cl(t,e,r,n=!1){Xp(r);let i=Hi(this.recordingProdStack),o=tn(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),te(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),o.call(this),i.definition.push(s),this.recordingProdStack.pop(),Yp}function yB(t,e){Xp(e);let r=Hi(this.recordingProdStack),n=oe(t)===!1,i=n===!1?t:t.DEF,o=new lt({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});te(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);let s=zu(i,a=>tn(a.GATE));return o.hasPredicates=s,r.definition.push(o),Z(i,a=>{let c=new ht({definition:[]});o.definition.push(c),te(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:te(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),Yp}function gE(t){return t===0?"":`${t}`}function Xp(t){if(t<0||t>hE){let e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
179
|
+
Idx value must be a none negative value smaller than ${hE+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var Jp=class{initPerformanceTracer(e){if(te(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=on.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:o}=Xu(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,o}else return r()}};function TE(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let o=Object.getOwnPropertyDescriptor(n,i);o&&(o.get||o.set)?Object.defineProperty(t.prototype,i,o):t.prototype[i]=r.prototype[i]})})}var wc=Gs(mi,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(wc);var on=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Co,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Dc=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),hr;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(hr||(hr={}));function Qp(t=void 0){return function(){return t}}var ul=class t{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{Yu(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Z(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=nE({rules:at(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(De(n)&&this.skipValidations===!1){let i=iE({rules:at(this.gastProductionsCache),tokenTypes:at(this.tokensMap),errMsgProvider:hi,grammarName:r}),o=YD({lookaheadStrategy:this.lookaheadStrategy,rules:at(this.gastProductionsCache),tokenTypes:at(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,o)}}),De(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=fD(at(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,o;(o=(i=this.lookaheadStrategy).initialize)===null||o===void 0||o.call(i,{rules:at(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(at(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!De(this.definitionErrors))throw e=z(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
180
|
+
${e.join(`
|
|
181
|
+
-------------------------------
|
|
182
|
+
`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),te(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
183
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
184
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
185
|
+
For further details.`);this.skipValidations=te(r,"skipValidations")?r.skipValidations:on.skipValidations}};ul.DEFER_DEFINITION_ERRORS_HANDLING=!1;TE(ul,[Lp,qp,Wp,Hp,Bp,Gp,Kp,zp,Vp,Jp]);var ll=class extends ul{constructor(e,r=on){let n=mt(r);n.outputCst=!1,super(e,n)}};function Ks(t,e,r){return`${t.name}_${e}_${r}`}var ss=1,TB=2,RE=4,bE=5;var Ac=7,RB=8,bB=9,xB=10,_B=11,xE=12,fl=class{constructor(e){this.target=e}isEpsilon(){return!1}},Ec=class extends fl{constructor(e,r){super(e),this.tokenType=r}},dl=class extends fl{constructor(e){super(e)}isEpsilon(){return!0}},Pc=class extends fl{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function _E(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};SB(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=zs(e,i,i);o!==void 0&&LB(e,i,o)}return e}function SB(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=_r(t,i,void 0,{type:TB}),s=_r(t,i,void 0,{type:Ac});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function SE(t,e,r){return r instanceof Ee?jv(t,e,r.terminalType,r):r instanceof ze?OB(t,e,r):r instanceof lt?EB(t,e,r):r instanceof Ve?PB(t,e,r):r instanceof Oe?kB(t,e,r):r instanceof ut?CB(t,e,r):r instanceof gt?wB(t,e,r):r instanceof yt?DB(t,e,r):zs(t,e,r)}function kB(t,e,r){let n=_r(t,e,r,{type:bE});as(t,n);let i=Nc(t,e,n,r,zs(t,e,r));return CE(t,e,r,i)}function CB(t,e,r){let n=_r(t,e,r,{type:bE});as(t,n);let i=Nc(t,e,n,r,zs(t,e,r)),o=jv(t,e,r.separator,r);return CE(t,e,r,i,o)}function wB(t,e,r){let n=_r(t,e,r,{type:RE});as(t,n);let i=Nc(t,e,n,r,zs(t,e,r));return kE(t,e,r,i)}function DB(t,e,r){let n=_r(t,e,r,{type:RE});as(t,n);let i=Nc(t,e,n,r,zs(t,e,r)),o=jv(t,e,r.separator,r);return kE(t,e,r,i,o)}function EB(t,e,r){let n=_r(t,e,r,{type:ss});as(t,n);let i=z(r.definition,s=>SE(t,e,s));return Nc(t,e,n,r,...i)}function PB(t,e,r){let n=_r(t,e,r,{type:ss});as(t,n);let i=Nc(t,e,n,r,zs(t,e,r));return AB(t,e,r,i)}function zs(t,e,r){let n=br(z(r.definition,i=>SE(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:IB(t,n)}function kE(t,e,r,n,i){let o=n.left,s=n.right,a=_r(t,e,r,{type:_B});as(t,a);let c=_r(t,e,r,{type:xE});return o.loopback=a,c.loopback=a,t.decisionMap[Ks(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,or(s,a),i===void 0?(or(a,o),or(a,c)):(or(a,c),or(a,i.left),or(i.right,o)),{left:o,right:c}}function CE(t,e,r,n,i){let o=n.left,s=n.right,a=_r(t,e,r,{type:xB});as(t,a);let c=_r(t,e,r,{type:xE}),f=_r(t,e,r,{type:bB});return a.loopback=f,c.loopback=f,or(a,o),or(a,c),or(s,f),i!==void 0?(or(f,c),or(f,i.left),or(i.right,o)):or(f,a),t.decisionMap[Ks(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function AB(t,e,r,n){let i=n.left,o=n.right;return or(i,o),t.decisionMap[Ks(e,"Option",r.idx)]=i,n}function as(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Nc(t,e,r,n,...i){let o=_r(t,e,n,{type:RB,start:r});r.end=o;for(let a of i)a!==void 0?(or(r,a.left),or(a.right,o)):or(r,o);let s={left:r,right:o};return t.decisionMap[Ks(e,NB(n),n.idx)]=r,s}function NB(t){if(t instanceof lt)return"Alternation";if(t instanceof Ve)return"Option";if(t instanceof Oe)return"Repetition";if(t instanceof ut)return"RepetitionWithSeparator";if(t instanceof gt)return"RepetitionMandatory";if(t instanceof yt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function IB(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof Pc,f=a,p=e[o+1].left;s.left.type===ss&&s.right.type===ss&&a!==void 0&&(c&&f.followState===s.right||a.target===s.right)?(c?f.followState=p:a.target=p,MB(t,s.right)):or(s.right,p)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function jv(t,e,r,n){let i=_r(t,e,n,{type:ss}),o=_r(t,e,n,{type:ss});return Uv(i,new Ec(o,r)),{left:i,right:o}}function OB(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=_r(t,e,r,{type:ss}),s=_r(t,e,r,{type:ss}),a=new Pc(i,n,s);return Uv(o,a),{left:o,right:s}}function LB(t,e,r){let n=t.ruleToStartState.get(e);or(n,r.left);let i=t.ruleToStopState.get(e);return or(r.right,i),{left:n,right:i}}function or(t,e){let r=new dl(e);Uv(t,r)}function _r(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function Uv(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function MB(t,e){t.states.splice(t.states.indexOf(e),1)}var pl={},Ic=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Wv(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return z(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Wv(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function $B(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var Zp=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},wE=new Zp,ml=class extends wo{constructor(e){var r;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:n=>console.log(n)}initialize(e){this.atn=_E(e.rules),this.dfas=qB(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=Ks(n,"Alternation",r),p=this.atn.decisionMap[c].decision,m=z(Np({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),T=>z(T,_=>_[0]));if(DE(m,!1)&&!o){let T=qt(m,(_,E,N)=>(Z(E,I=>{I&&(_[I.tokenTypeIdx]=N,Z(I.categoryMatches,A=>{_[A]=N}))}),_),{});return i?function(_){var E;let N=this.LA(1),I=T[N.tokenTypeIdx];if(_!==void 0&&I!==void 0){let A=(E=_[I])===null||E===void 0?void 0:E.GATE;if(A!==void 0&&A.call(this)===!1)return}return I}:function(){let _=this.LA(1);return T[_.tokenTypeIdx]}}else return i?function(T){let _=new Zp,E=T===void 0?0:T.length;for(let I=0;I<E;I++){let A=T?.[I].GATE;_.set(I,A===void 0||A.call(this))}let N=Hv.call(this,s,p,_,a);return typeof N=="number"?N:void 0}:function(){let T=Hv.call(this,s,p,wE,a);return typeof T=="number"?T:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=Ks(n,i,r),p=this.atn.decisionMap[c].decision,m=z(Np({maxLookahead:1,occurrence:r,prodType:i,rule:n}),T=>z(T,_=>_[0]));if(DE(m)&&m[0][0]&&!o){let T=m[0],_=Vt(T);if(_.length===1&&De(_[0].categoryMatches)){let N=_[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===N}}else{let E=qt(_,(N,I)=>(I!==void 0&&(N[I.tokenTypeIdx]=!0,Z(I.categoryMatches,A=>{N[A]=!0})),N),{});return function(){let N=this.LA(1);return E[N.tokenTypeIdx]===!0}}}return function(){let T=Hv.call(this,s,p,wE,a);return typeof T=="object"?!1:T===0}}};function DE(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function qB(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=$B(t.decisionStates[n],n);return r}function Hv(t,e,r,n){let i=t[e](r),o=i.start;if(o===void 0){let a=XB(i.atnStartState);o=AE(i,PE(a)),i.start=o}return FB.apply(this,[i,o,r,n])}function FB(t,e,r,n){let i=e,o=1,s=[],a=this.LA(o++);for(;;){let c=BB(i,a);if(c===void 0&&(c=jB.apply(this,[t,i,a,o,r,n])),c===pl)return GB(s,i,a);if(c.isAcceptState===!0)return c.prediction;i=c,s.push(a),a=this.LA(o++)}}function jB(t,e,r,n,i,o){let s=KB(e.configs,r,i);if(s.size===0)return EE(t,e,r,pl),pl;let a=PE(s),c=VB(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(ZB(s)){let f=rD(s.alts);a.isAcceptState=!0,a.prediction=f,a.configs.uniqueAlt=f,UB.apply(this,[t,n,s.alts,o])}return a=EE(t,e,r,a),a}function UB(t,e,r,n){let i=[];for(let f=1;f<=e;f++)i.push(this.LA(f).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=WB({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function WB(t){let e=z(t.prefixPath,i=>ko(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${HB(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
|
|
186
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
187
|
+
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
188
|
+
For Further details.`,n}function HB(t){if(t instanceof ze)return"SUBRULE";if(t instanceof Ve)return"OPTION";if(t instanceof lt)return"OR";if(t instanceof gt)return"AT_LEAST_ONE";if(t instanceof yt)return"AT_LEAST_ONE_SEP";if(t instanceof ut)return"MANY_SEP";if(t instanceof Oe)return"MANY";if(t instanceof Ee)return"CONSUME";throw Error("non exhaustive match")}function GB(t,e,r){let n=Ir(e.configs.elements,o=>o.state.transitions),i=uD(n.filter(o=>o instanceof Ec).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function BB(t,e){return t.edges[e.tokenTypeIdx]}function KB(t,e,r){let n=new Ic,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Ac){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let f=s.state.transitions[c],p=zB(f,e);p!==void 0&&n.add({state:p,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new Ic;for(let s of n.elements)em(s,o)}if(i.length>0&&!JB(o))for(let s of i)o.add(s);return o}function zB(t,e){if(t instanceof Ec&&Zu(e,t.tokenType))return t.target}function VB(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function PE(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function EE(t,e,r,n){return n=AE(t,n),e.edges[r.tokenTypeIdx]=n,n}function AE(t,e){if(e===pl)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function XB(t){let e=new Ic,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};em(o,e)}return e}function em(t,e){let r=t.state;if(r.type===Ac){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};em(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=YB(t,o);s!==void 0&&em(s,e)}}function YB(t,e){if(e instanceof dl)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Pc){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function JB(t){for(let e of t.elements)if(e.state.type===Ac)return!0;return!1}function QB(t){for(let e of t.elements)if(e.state.type!==Ac)return!1;return!0}function ZB(t){if(QB(t))return!0;let e=eK(t.elements);return tK(e)&&!rK(e)}function eK(t){let e=new Map;for(let r of t){let n=Wv(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function tK(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function rK(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Gv=Ie(bs(),1);var tm=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new Kv(e),this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new im;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new nm(e.startOffset,e.image.length,vu(e),e.tokenType,!1);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}construct(e){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}addHiddenTokens(e){for(let r of e){let n=new nm(r.startOffset,r.image.length,vu(r),r.tokenType,!0);n.root=this.rootNode,this.addHiddenToken(this.rootNode,n)}}addHiddenToken(e,r){let{offset:n,end:i}=r;for(let o=0;o<e.content.length;o++){let s=e.content[o],{offset:a,end:c}=s;if(Pi(s)&&n>a&&i<c){this.addHiddenToken(s,r);return}else if(i<=a){e.content.splice(o,0,r);return}}e.content.push(r)}},rm=class{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,r;let n=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(r=this.container)===null||r===void 0?void 0:r.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},nm=class extends rm{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},im=class extends rm{constructor(){super(...arguments),this.content=new Bv(this)}get children(){return this.content}get offset(){var e,r;return(r=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&r!==void 0?r:0}get length(){return this.end-this.offset}get end(){var e,r;return(r=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&r!==void 0?r:0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:Gv.Position.create(0,0),end:Gv.Position.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Bv=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},Kv=class extends im{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var Vv=Symbol("Datatype");function zv(t){return t.$type===Vv}var NE="\u200B",IE=t=>t.endsWith(NE)?t:t+NE,om=class{constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition;this.wrapper=new Yv(r,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},sm=class extends om{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new tm,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=e.fragment?void 0:En(e)?Vv:li(e),i=this.wrapper.DEFINE_RULE(IE(e.name),this.startImplementation(n,r).bind(this));return e.entry&&(this.mainRule=i),i}parse(e){this.nodeBuilder.buildRootNode(e);let r=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(r.hidden),this.unorderedGroups.clear(),{value:n,lexerErrors:r.errors,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{if(!this.isRecording()){let o={$type:e};this.stack.push(o),e===Vv&&(o.value="")}let i;try{i=r(n)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&!i.isInsertedInRecovery){let o=this.nodeBuilder.buildLeafNode(i,n),{assignment:s,isCrossRef:a}=this.getAssignment(n),c=this.current;if(s){let f=Ht(n)?i.image:this.converter.convert(i.image,o);this.assign(s.operator,s.feature,f,o,a)}else if(zv(c)){let f=i.image;Ht(n)||(f=this.converter.convert(f,o).toString()),c.value+=f}}}subrule(e,r,n,i){let o;this.isRecording()||(o=this.nodeBuilder.buildCompositeNode(n));let s=this.wrapper.wrapSubrule(e,r,i);!this.isRecording()&&o&&o.length>0&&this.performSubruleAssignment(s,n,o)}performSubruleAssignment(e,r,n){let{assignment:i,isCrossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(zv(s))s.value+=e.toString();else{let a=e.$type,c=this.assignWithoutOverride(e,s);a&&(c.$type=a);let f=c;this.stack.pop(),this.stack.push(f)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(!n.$cstNode&&r.feature&&r.operator){n=this.construct(!1);let o=n.$cstNode.feature;this.nodeBuilder.buildCompositeNode(o)}let i={$type:e};this.stack.pop(),this.stack.push(i),r.feature&&r.operator&&this.assign(r.operator,r.feature,n,n.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;let r=this.current;return G_(r),this.nodeBuilder.construct(r),e&&this.stack.pop(),zv(r)?this.converter.convert(r.value,r.$cstNode):(this.assignMandatoryProperties(r),r)}assignMandatoryProperties(e){let r=this.astReflection.getTypeMetaData(e.$type);for(let n of r.mandatory){let i=e[n.name];n.type==="array"&&!Array.isArray(i)?e[n.name]=[]:n.type==="boolean"&&i===void 0&&(e[n.name]=!1)}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=rt(e,je);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Dr(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[n,i]of Object.entries(r)){let o=e[n];o===void 0?e[n]=i:Array.isArray(o)&&Array.isArray(i)&&(i.push(...o),e[n]=i)}return e}get definitionErrors(){return this.wrapper.definitionErrors}},Xv=class{buildMismatchTokenMessage(e){return Co.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Co.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Co.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Co.buildEarlyExitMessage(e)}},hl=class extends Xv{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},am=class extends om{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e);return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(IE(e.name),this.startImplementation(r).bind(this));return e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,r,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},nK={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new hl},Yv=class extends ll{constructor(e,r){let n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},nK),{lookaheadStrategy:n?new wo({maxLookahead:r.maxLookahead}):new ml}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}};var gl=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function cm(t){throw new Error("Error! The input value was not handled.")}function lm(t,e,r){return iK({parser:e,tokens:r,rules:new Map,ruleNames:new Map},t),e}function iK(t,e){let r=Na(e,!1),n=Ce(e.rules).filter(ee).filter(i=>r.has(i));for(let i of n){let o=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});o.rules.set(i.name,t.parser.rule(i,Vs(o,i.definition)))}}function Vs(t,e,r=!1){let n;if(Ht(e))n=fK(t,e);else if(et(e))n=oK(t,e);else if(je(e))n=Vs(t,e.terminal);else if(Dr(e))n=OE(t,e);else if(tt(e))n=sK(t,e);else if(Sn(e))n=cK(t,e);else if(kn(e))n=uK(t,e);else if(Tr(e))n=lK(t,e);else throw new gl(e.$cstNode,`Unexpected element type: ${e.$type}`);return LE(t,r?void 0:um(e),n,e.cardinality)}function oK(t,e){let r=li(e);return()=>t.parser.action(r,e)}function sK(t,e){let r=e.rule.ref;if(ee(r)){let n=t.subrule++,i=e.arguments.length>0?aK(r,e.arguments):()=>({});return o=>t.parser.subrule(n,ME(t,r),e,i(o))}else if(Be(r)){let n=t.consume++,i=Jv(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)cm(r);else throw new gl(e.$cstNode,`Undefined rule type: ${e.$type}`)}function aK(t,e){let r=e.map(n=>Do(n.value));return n=>{let i={};for(let o=0;o<r.length;o++){let s=t.parameters[o],a=r[o];i[s.name]=a(n)}return i}}function Do(t){if(u_(t)){let e=Do(t.left),r=Do(t.right);return n=>e(n)||r(n)}else if(a_(t)){let e=Do(t.left),r=Do(t.right);return n=>e(n)&&r(n)}else if(m_(t)){let e=Do(t.value);return r=>!e(r)}else if(ba(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(d_(t)){let e=!!t.true;return()=>e}cm(t)}function cK(t,e){if(e.elements.length===1)return Vs(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:Vs(t,i,!0)},s=um(i);s&&(o.GATE=Do(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function uK(t,e){if(e.elements.length===1)return Vs(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:Vs(t,a,!0)},f=um(a);f&&(c.GATE=Do(f)),r.push(c)}let n=t.or++,i=(a,c)=>{let f=c.getRuleStack().join("-");return`uGroup_${a}_${f}`},o=a=>t.parser.alternatives(n,r.map((c,f)=>{let p={ALT:()=>!0},m=t.parser;p.ALT=()=>{if(c.ALT(a),!m.isRecording()){let _=i(n,m);m.unorderedGroups.get(_)||m.unorderedGroups.set(_,[]);let E=m.unorderedGroups.get(_);typeof E?.[f]>"u"&&(E[f]=!0)}};let T=c.GATE;return T?p.GATE=()=>T(a):p.GATE=()=>{let _=m.unorderedGroups.get(i(n,m));return!_?.[f]},p})),s=LE(t,um(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function lK(t,e){let r=e.elements.map(n=>Vs(t,n));return n=>r.forEach(i=>i(n))}function um(t){if(Tr(t))return t.guardCondition}function OE(t,e,r=e.terminal){if(r)if(tt(r)&&ee(r.rule.ref)){let n=t.subrule++;return i=>t.parser.subrule(n,ME(t,r.rule.ref),e,i)}else if(tt(r)&&Be(r.rule.ref)){let n=t.consume++,i=Jv(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Ht(r)){let n=t.consume++,i=Jv(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let n=Mu(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+li(e.type.ref));return OE(t,e,i)}}function fK(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function LE(t,e,r,n){let i=e&&Do(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:Qp(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:Qp(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else cm(n)}function ME(t,e){let r=dK(t,e),n=t.rules.get(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function dK(t,e){if(ee(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ee(n);)(Tr(n)||Sn(n)||kn(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function Jv(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function $E(t){let e=t.Grammar,r=t.parser.Lexer,n=new am(t);return lm(e,n,r.definition),n.finalize(),n}function qE(t){let e=pK(t);return e.finalize(),e}function pK(t){let e=t.Grammar,r=t.parser.Lexer,n=new sm(t);return lm(e,n,r.definition)}var fm=class{buildTokens(e,r){let n=Ce(Na(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return i.forEach(s=>{let a=s.PATTERN;typeof a=="object"&&a&&"test"in a&&Py(a)?o.unshift(s):o.push(s)}),o}buildTerminalTokens(e){return e.filter(Be).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Hn(e),n=r.flags.includes("u")?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=Py(r)?Bt.SKIPPED:"hidden"),i}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(ee).flatMap(i=>St(i).filter(Ht)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){return{name:e.value,PATTERN:this.buildKeywordPattern(e,n),LONGER_ALT:this.findLongerAlt(e,r)}}buildKeywordPattern(e,r){return r?new RegExp(dS(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&pS("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var dm=class{convert(e,r){let n=r.grammarSource;if(Dr(n)&&(n=pd(n)),tt(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return yK(r);case"STRING":return mK(r);case"ID":return gK(r)}switch((i=Ms(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return RK(r);case"boolean":return bK(r);case"bigint":return vK(r);case"date":return TK(r);default:return r}}};function mK(t){let e="";for(let r=1;r<t.length-1;r++){let n=t.charAt(r);if(n==="\\"){let i=t.charAt(++r);e+=hK(i)}else e+=n}return e}function hK(t){switch(t){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
189
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return t}}function gK(t){return t.charAt(0)==="^"?t.substring(1):t}function yK(t){return parseInt(t)}function vK(t){return BigInt(t)}function TK(t){return new Date(t)}function RK(t){return Number(t)}function bK(t){return t.toLowerCase()==="true"}var FE=Ie(Qe(),1);var pm=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=FE.CancellationToken.None){for(let n of uo(e.parseResult.value))await kt(r),Wf(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if(n._ref===void 0)try{let i=this.getCandidate(e);if(ga(i))n._ref=i;else if(n._nodeDescription=i,this.langiumDocuments().hasDocument(i.documentUri)){let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${i}`})}r.references.push(n)}unlink(e){for(let r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){let n=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return n??this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,get ref(){var a;if(rr(this._ref))return this._ref;if(Kx(this._nodeDescription)){let c=o.loadAstNode(this._nodeDescription);this._ref=c??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){let c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&ke(e).state<st.ComputedScopes)return;this._ref=(a=c.node)!==null&&a!==void 0?a:c.error,this._nodeDescription=c.descr}return rr(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return ga(this._ref)?this._ref:void 0}};return s}getLinkedNode(e){try{let r=this.getCandidate(e);if(ga(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`})}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getOrCreateDocument(e.documentUri);return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ke(e.container);n.state<st.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r})}};function UE(t){return typeof t.$comment=="string"}function jE(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var mm=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r?.replacer,i=(s,a)=>this.replacer(s,a,r);return JSON.stringify(e,n?(s,a)=>n(s,a,i):i,r?.space)}deserialize(e){let r=JSON.parse(e);return this.linkNode(r,r),r}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s}={}){var a,c,f;if(!this.ignoreProperties.has(e))if(so(r)){let p=r.ref,m=n?r.$refText:void 0;return p?{$refText:m,$ref:"#"+(p&&this.astNodeLocator.getAstNodePath(p))}:{$refText:m,$error:(c=(a=r.error)===null||a===void 0?void 0:a.message)!==null&&c!==void 0?c:"Could not resolve reference"}}else{let p;if(o&&rr(r)&&(p=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&p?.$textRegion))try{p.$textRegion.documentURI=ke(r).uri.toString()}catch{}return i&&!e&&rr(r)&&(p??(p=Object.assign({},r)),p.$sourceText=(f=r.$cstNode)===null||f===void 0?void 0:f.text),s&&rr(r)&&(p??(p=Object.assign({},r)),p.$comment=this.commentProvider.getComment(r)),p??r}}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=jo(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o){for(let[a,c]of Object.entries(e))if(Array.isArray(c))for(let f=0;f<c.length;f++){let p=c[f];jE(p)?c[f]=this.reviveReference(e,a,r,p):rr(p)&&this.linkNode(p,r,e,a,f)}else jE(c)?e[a]=this.reviveReference(e,a,r,c):rr(c)&&this.linkNode(c,r,e,a);let s=e;s.$container=n,s.$containerProperty=i,s.$containerIndex=o}reviveReference(e,r,n,i){let o=i.$refText;if(i.$ref){let s=this.getRefNode(n,i.$ref);return o||(o=this.nameProvider.getName(s)),{$refText:o??"",ref:s}}else if(i.$error){let s={$refText:o??""};return s.error={container:e,property:r,message:i.$error,reference:s},s}else return}getRefNode(e,r){return this.astNodeLocator.getAstNode(e,r.substring(1))}};var hm=class{register(e){if(!this.singleton&&!this.map){this.singleton=e;return}if(!this.map&&(this.map={},this.singleton)){for(let r of this.singleton.LanguageMetaData.fileExtensions)this.map[r]=this.singleton;this.singleton=void 0}for(let r of e.LanguageMetaData.fileExtensions)this.map[r]!==void 0&&this.map[r]!==e&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`),this.map[r]=e}getServices(e){if(this.singleton!==void 0)return this.singleton;if(this.map===void 0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=qe.extname(e),n=this.map[r];if(!n)throw new Error(`The service registry contains no services for the extension '${r}'.`);return n}get all(){return this.singleton!==void 0?[this.singleton]:this.map!==void 0?Object.values(this.map):[]}};var WE=Ie(Qe(),1);var gm=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n=ke(e)){r??(r=this.nameProvider.getName(e));let i=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${i} has no name.`);let o,s=()=>{var a;return o??(o=Wr((a=this.nameProvider.getNameNode(e))!==null&&a!==void 0?a:e.$cstNode))};return{node:e,name:r,get nameSegment(){return s()},selectionSegment:Wr(e.$cstNode),type:e.$type,documentUri:n.uri,path:i}}},ym=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=WE.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of uo(i))await kt(r),Wf(o).filter(s=>!ga(s)).forEach(s=>{let a=this.createDescription(s);a&&n.push(a)});return n}createDescription(e){let r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;let i=ke(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:Wr(n),local:qe.equals(r.documentUri,i)}}};var vm=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1)),f=i[a];return f?.[c]}return i[o]},e)}};var HE=Ie(er(),1),Tm=class{constructor(e){this.settings={},this.workspaceConfig=!1,this.initialized=!1,this.serviceRegistry=e.ServiceRegistry,this.connection=e.lsp.Connection,e.lsp.LanguageServer.onInitialize(r=>{var n,i;this.workspaceConfig=(i=(n=r.capabilities.workspace)===null||n===void 0?void 0:n.configuration)!==null&&i!==void 0?i:!1}),e.lsp.LanguageServer.onInitialized(r=>{var n;let i=this.serviceRegistry.all;(n=e.lsp.Connection)===null||n===void 0||n.client.register(HE.DidChangeConfigurationNotification.type,{section:i.map(o=>this.toSectionName(o.LanguageMetaData.languageId))})})}async initialize(){if(this.workspaceConfig&&this.connection){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await this.connection.workspace.getConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}this.initialized=!0}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{this.updateSectionConfiguration(r,e.settings[r])})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){this.initialized||await this.initialize();let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}};var Oc=Ie(Qe(),1);var Rm=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ze,this.buildState=new Map,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Oc.CancellationToken.None){var i,o;for(let s of e){let a=s.uri.toString();if(s.state===st.Validated){if(typeof r.validation=="boolean"&&r.validation)s.state=st.IndexedReferences,s.diagnostics=void 0,this.buildState.delete(a);else if(typeof r.validation=="object"){let c=this.buildState.get(a),f=(i=c?.result)===null||i===void 0?void 0:i.validationChecks;if(f){let m=((o=r.validation.categories)!==null&&o!==void 0?o:Ea.all).filter(T=>!f.includes(T));m.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:m})},result:c.result}),s.state=st.IndexedReferences)}}}else this.buildState.delete(a)}await this.buildDocuments(e,r,n)}async update(e,r,n=Oc.CancellationToken.None){for(let s of r)this.langiumDocuments.deleteDocument(s),this.buildState.delete(s.toString());this.indexManager.remove(r);for(let s of e)this.langiumDocuments.invalidateDocument(s)||this.langiumDocuments.getOrCreateDocument(s),this.buildState.delete(s.toString());let i=Ce(e).concat(r).map(s=>s.toString()).toSet();this.langiumDocuments.all.filter(s=>!i.has(s.uri.toString())&&this.shouldRelink(s,i)).forEach(s=>{this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s),s.state=Math.min(s.state,st.ComputedScopes),s.diagnostics=void 0});for(let s of this.updateListeners)s(e,r);await kt(n);let o=this.langiumDocuments.all.filter(s=>{var a;return s.state<st.Linked||!(!((a=this.buildState.get(s.uri.toString()))===null||a===void 0)&&a.completed)}).toArray();await this.buildDocuments(o,this.updateBuildOptions,n)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Oc.Disposable.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,st.Parsed,n,o=>{this.langiumDocumentFactory.update(o)}),await this.runCancelable(e,st.IndexedContent,n,o=>this.indexManager.updateContent(o,n)),await this.runCancelable(e,st.ComputedScopes,n,async o=>{let s=this.serviceRegistry.getServices(o.uri).references.ScopeComputation;o.precomputedScopes=await s.computeLocalScopes(o,n)}),await this.runCancelable(e,st.Linked,n,o=>this.serviceRegistry.getServices(o.uri).references.Linker.link(o,n)),await this.runCancelable(e,st.IndexedReferences,n,o=>this.indexManager.updateReferences(o,n));let i=e.filter(o=>this.shouldValidate(o));await this.runCancelable(i,st.Validated,n,o=>this.validate(o,n));for(let o of e){let s=this.buildState.get(o.uri.toString());s&&(s.completed=!0)}}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){let o=e.filter(s=>s.state<r);for(let s of o)await kt(n),await i(s),s.state=r;await this.notifyBuildPhase(o,r,n)}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Oc.Disposable.create(()=>{this.buildPhaseListeners.delete(e,r)})}async notifyBuildPhase(e,r,n){if(e.length===0)return;let i=this.buildPhaseListeners.get(r);for(let o of i)await kt(n),await o(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;let o=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,s=this.getBuildOptions(e).validation,a=typeof s=="object"?s:void 0,c=await o.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...c):e.diagnostics=c;let f=this.buildState.get(e.uri.toString());if(f){(n=f.result)!==null&&n!==void 0||(f.result={});let p=(i=a?.categories)!==null&&i!==void 0?i:Ea.all;f.result.validationChecks?f.result.validationChecks.push(...p):f.result.validationChecks=[...p]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}};var Qv=Ie(Qe(),1);var bm=class{constructor(e){this.simpleIndex=new Map,this.simpleTypeIndex=new sd,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=ke(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{qe.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Ce(i)}allElements(e,r){let n=Ce(this.simpleIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.simpleTypeIndex.get(e,r,()=>{var o;return((o=this.simpleIndex.get(e))!==null&&o!==void 0?o:[]).filter(a=>this.astReflection.isSubtype(a.type,r))}):(n=this.simpleIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){for(let r of e){let n=r.toString();this.simpleIndex.delete(n),this.simpleTypeIndex.clear(n),this.referenceIndex.delete(n)}}async updateContent(e,r=Qv.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r);for(let s of i)s.node=void 0;let o=e.uri.toString();this.simpleIndex.set(o,i),this.simpleTypeIndex.clear(o)}async updateReferences(e,r=Qv.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var GE=Ie(Qe(),1);var xm=class{constructor(e){this.initialBuildOptions={},this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.MutexLock,e.lsp.LanguageServer.onInitialize(r=>{var n;this.folders=(n=r.workspaceFolders)!==null&&n!==void 0?n:void 0}),e.lsp.LanguageServer.onInitialized(r=>{this.mutex.lock(n=>{var i;return this.initializeWorkspace((i=this.folders)!==null&&i!==void 0?i:[],n)})})}async initializeWorkspace(e,r=GE.CancellationToken.None){let n=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),i=[],o=s=>{i.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,o),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,n,o))),await kt(r),await this.documentBuilder.build(i,this.initialBuildOptions,r)}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return Ar.parse(e.uri)}async traverseFolder(e,r,n,i){let o=await this.fileSystemProvider.readDirectory(r);await Promise.all(o.map(async s=>{if(this.includeEntry(e,s,n)){if(s.isDirectory)await this.traverseFolder(e,s.uri,n,i);else if(s.isFile){let a=this.langiumDocuments.getOrCreateDocument(s.uri);i(a)}}}))}includeEntry(e,r,n){let i=qe.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){let o=qe.extname(r.uri);return n.includes(o)}return!1}};var _m=class{constructor(e){let r=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=BE(r)?Object.values(r):r;this.chevrotainLexer=new Bt(n,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var r;let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:(r=n.groups.hidden)!==null&&r!==void 0?r:[]}}toTokenTypeDictionary(e){if(BE(e))return e;let r=KE(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function xK(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function KE(t){return t&&"modes"in t&&"defaultMode"in t}function BE(t){return!xK(t)&&!KE(t)}var Ue=Ie(Qe(),1);function XE(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Ue.Position.create(0,0));let o=JE(t),s=tT(n),a=SK({lines:o,position:i,options:s});return EK({index:0,tokens:a,position:i})}function YE(t,e){let r=tT(e),n=JE(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function JE(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(xu)}var zE=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,_K=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function SK(t){var e,r,n;let i=[],o=t.position.line,s=t.position.character;for(let a=0;a<t.lines.length;a++){let c=a===0,f=a===t.lines.length-1,p=t.lines[a],m=0;if(c&&t.options.start){let _=(e=t.options.start)===null||e===void 0?void 0:e.exec(p);_&&(m=_.index+_[0].length)}else{let _=(r=t.options.line)===null||r===void 0?void 0:r.exec(p);_&&(m=_.index+_[0].length)}if(f){let _=(n=t.options.end)===null||n===void 0?void 0:n.exec(p);_&&(p=p.substring(0,_.index))}if(p=p.substring(0,DK(p)),eT(p,0)>=p.length){if(i.length>0){let _=Ue.Position.create(o,s);i.push({type:"break",content:"",range:Ue.Range.create(_,_)})}}else{zE.lastIndex=m;let _=zE.exec(p);if(_){let E=_[0],N=_[1],I=Ue.Position.create(o,s+m),A=Ue.Position.create(o,s+m+E.length);i.push({type:"tag",content:N,range:Ue.Range.create(I,A)}),m+=E.length,m=eT(p,m)}if(m<p.length){let E=p.substring(m),N=Array.from(E.matchAll(_K));i.push(...kK(N,E,o,s+m))}}o++,s=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function kK(t,e,r,n){let i=[];if(t.length===0){let o=Ue.Position.create(r,n),s=Ue.Position.create(r,n+e.length);i.push({type:"text",content:e,range:Ue.Range.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,f=e.substring(o,c);f.length>0&&i.push({type:"text",content:e.substring(o,c),range:Ue.Range.create(Ue.Position.create(r,o+n),Ue.Position.create(r,c+n))});let p=f.length+1,m=a[1];if(i.push({type:"inline-tag",content:m,range:Ue.Range.create(Ue.Position.create(r,o+p+n),Ue.Position.create(r,o+p+m.length+n))}),p+=m.length,a.length===4){p+=a[2].length;let T=a[3];i.push({type:"text",content:T,range:Ue.Range.create(Ue.Position.create(r,o+p+n),Ue.Position.create(r,o+p+T.length+n))})}else i.push({type:"text",content:"",range:Ue.Range.create(Ue.Position.create(r,o+p+n),Ue.Position.create(r,o+p+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:Ue.Range.create(Ue.Position.create(r,o+n),Ue.Position.create(r,o+n+s.length))})}return i}var CK=/\S/,wK=/\s*$/;function eT(t,e){let r=t.substring(e).match(CK);return r?e+r.index:t.length}function DK(t){let e=t.match(wK);if(e&&typeof e.index=="number")return e.index}function EK(t){var e,r,n,i;let o=Ue.Position.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Sm([],Ue.Range.create(o,o));let s=[];for(;t.index<t.tokens.length;){let f=PK(t,s[s.length-1]);f&&s.push(f)}let a=(r=(e=s[0])===null||e===void 0?void 0:e.range.start)!==null&&r!==void 0?r:o,c=(i=(n=s[s.length-1])===null||n===void 0?void 0:n.range.end)!==null&&i!==void 0?i:o;return new Sm(s,Ue.Range.create(a,c))}function PK(t,e){let r=t.tokens[t.index];if(r.type==="tag")return ZE(t,!1);if(r.type==="text"||r.type==="inline-tag")return QE(t);AK(r,e),t.index++}function AK(t,e){if(e){let r=new km("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function QE(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(NK(t)),n=e,e=t.tokens[t.index];return new vl(i,Ue.Range.create(r.range.start,n.range.end))}function NK(t){return t.tokens[t.index].type==="inline-tag"?ZE(t,!0):eP(t)}function ZE(t,e){let r=t.tokens[t.index++],n=r.content.substring(1),i=t.tokens[t.index];if(i?.type==="text")if(e){let o=eP(t);return new yl(n,new vl([o],o.range),e,Ue.Range.create(r.range.start,o.range.end))}else{let o=QE(t);return new yl(n,o,e,Ue.Range.create(r.range.start,o.range.end))}else{let o=r.range;return new yl(n,new vl([],o),e,o)}}function eP(t){let e=t.tokens[t.index++];return new km(e.content,e.range)}function tT(t){if(!t)return tT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:Zv(e,!0),end:Zv(r,!1),line:Zv(n,!0)}}function Zv(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?po(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var Sm=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=VE(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=VE(r)+i}return r.trim()}},yl=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
190
|
+
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){let r=this.content.toMarkdown(e);if(this.inline){let o=IK(this.name,r,e??{});if(typeof o=="string")return o}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
|
|
191
|
+
${r}`),this.inline?`{${i}}`:i}};function IK(t,e,r){var n,i;if(t==="linkplain"||t==="linkcode"||t==="link"){let o=e.indexOf(" "),s=e;if(o>0){let c=eT(e,o);s=e.substring(c),e=e.substring(0,o)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(s=`\`${s}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,s))!==null&&i!==void 0?i:OK(e,s)}}function OK(t,e){try{return Ar.parse(t,!0),`[${e}](${t})`}catch{return t}}var vl=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
|
|
192
|
+
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],o=this.inlines[n+1];r+=i.toMarkdown(e),o&&o.range.start.line>i.range.start.line&&(r+=`
|
|
193
|
+
`)}return r}},km=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function VE(t){return t.endsWith(`
|
|
194
|
+
`)?`
|
|
195
|
+
`:`
|
|
196
|
+
|
|
197
|
+
`}var Cm=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&YE(r))return XE(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o)})}documentationLinkRenderer(e,r,n){var i;let o=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(o&&o.nameSegment){let s=o.nameSegment.range.start.line+1,a=o.nameSegment.range.start.character+1,c=o.documentUri.with({fragment:`L${s},${a}`});return`[${n}](${c.toString()})`}else return}findNameInPrecomputedScopes(e,r){let i=ke(e).precomputedScopes;if(!i)return;let o=e;do{let a=i.get(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var wm=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return UE(e)?e.$comment:(r=Qx(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}};function Wu(t){return{documentation:{CommentProvider:e=>new wm(e),DocumentationProvider:e=>new Cm(e)},parser:{GrammarConfig:e=>hk(e),LangiumParser:e=>qE(e),CompletionParser:e=>$E(e),ValueConverter:()=>new dm,TokenBuilder:()=>new fm,Lexer:e=>new _m(e),ParserErrorMessageProvider:()=>new hl},lsp:{CompletionProvider:e=>new Ua(e),DocumentSymbolProvider:e=>new Cd(e),HoverProvider:e=>new Dd(e),FoldingRangeProvider:e=>new Ha(e),ReferencesProvider:e=>new Od(e),DefinitionProvider:e=>new Ka(e),DocumentHighlightProvider:e=>new kd(e),RenameProvider:e=>new Ld(e)},workspace:{AstNodeLocator:()=>new vm,AstNodeDescriptionProvider:e=>new gm(e),ReferenceDescriptionProvider:e=>new ym(e)},references:{Linker:e=>new pm(e),NameProvider:()=>new wa,ScopeProvider:e=>new Fa(e),ScopeComputation:e=>new qa(e),References:e=>new Ga(e)},serializer:{JsonSerializer:e=>new mm(e)},validation:{DocumentValidator:e=>new ld(e),ValidationRegistry:e=>new td(e)},shared:()=>t.shared}}function Hu(t){return{ServiceRegistry:()=>new hm,lsp:{Connection:()=>t.connection,LanguageServer:e=>new Ad(e),WorkspaceSymbolProvider:e=>new Md(e),NodeKindProvider:()=>new Nd,FuzzyMatcher:()=>new wd},workspace:{LangiumDocuments:e=>new Pd(e),LangiumDocumentFactory:e=>new Ed(e),DocumentBuilder:e=>new Rm(e),TextDocuments:()=>new tP.TextDocuments(ha),IndexManager:e=>new bm(e),WorkspaceManager:e=>new xm(e),FileSystemProvider:e=>t.fileSystemProvider(e),MutexLock:()=>new ed,ConfigurationProvider:e=>new Tm(e)}}}var hs=Ie(sN(),1);var B3="Command";var K3="Event";var z3="State";var Ul=class extends ks{getAllTypes(){return["Command","Event","State","Statemachine","Transition"]}computeIsSubtype(e,r){switch(e){default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"State:actions":return B3;case"Statemachine:init":case"Transition:state":return z3;case"Transition:event":return K3;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"State":return{name:"State",mandatory:[{name:"actions",type:"array"},{name:"transitions",type:"array"}]};case"Statemachine":return{name:"Statemachine",mandatory:[{name:"commands",type:"array"},{name:"events",type:"array"},{name:"states",type:"array"}]};default:return{name:e,mandatory:[]}}}},RTe=new Ul;var bh,aN=()=>bh??(bh=Zf(`{
|
|
198
|
+
"$type": "Grammar",
|
|
199
|
+
"isDeclared": true,
|
|
200
|
+
"name": "Statemachine",
|
|
201
|
+
"rules": [
|
|
202
|
+
{
|
|
203
|
+
"$type": "ParserRule",
|
|
204
|
+
"name": "Statemachine",
|
|
205
|
+
"entry": true,
|
|
206
|
+
"definition": {
|
|
207
|
+
"$type": "Group",
|
|
208
|
+
"elements": [
|
|
209
|
+
{
|
|
210
|
+
"$type": "Keyword",
|
|
211
|
+
"value": "statemachine"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"$type": "Assignment",
|
|
215
|
+
"feature": "name",
|
|
216
|
+
"operator": "=",
|
|
217
|
+
"terminal": {
|
|
218
|
+
"$type": "RuleCall",
|
|
219
|
+
"rule": {
|
|
220
|
+
"$ref": "#/rules@6"
|
|
221
|
+
},
|
|
222
|
+
"arguments": []
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"$type": "Group",
|
|
227
|
+
"elements": [
|
|
228
|
+
{
|
|
229
|
+
"$type": "Keyword",
|
|
230
|
+
"value": "events"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"$type": "Assignment",
|
|
234
|
+
"feature": "events",
|
|
235
|
+
"operator": "+=",
|
|
236
|
+
"terminal": {
|
|
237
|
+
"$type": "RuleCall",
|
|
238
|
+
"rule": {
|
|
239
|
+
"$ref": "#/rules@1"
|
|
240
|
+
},
|
|
241
|
+
"arguments": []
|
|
242
|
+
},
|
|
243
|
+
"cardinality": "+"
|
|
244
|
+
}
|
|
245
|
+
],
|
|
246
|
+
"cardinality": "?"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"$type": "Group",
|
|
250
|
+
"elements": [
|
|
251
|
+
{
|
|
252
|
+
"$type": "Keyword",
|
|
253
|
+
"value": "commands"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"$type": "Assignment",
|
|
257
|
+
"feature": "commands",
|
|
258
|
+
"operator": "+=",
|
|
259
|
+
"terminal": {
|
|
260
|
+
"$type": "RuleCall",
|
|
261
|
+
"rule": {
|
|
262
|
+
"$ref": "#/rules@2"
|
|
263
|
+
},
|
|
264
|
+
"arguments": []
|
|
265
|
+
},
|
|
266
|
+
"cardinality": "+"
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
"cardinality": "?"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"$type": "Keyword",
|
|
273
|
+
"value": "initialState"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"$type": "Assignment",
|
|
277
|
+
"feature": "init",
|
|
278
|
+
"operator": "=",
|
|
279
|
+
"terminal": {
|
|
280
|
+
"$type": "CrossReference",
|
|
281
|
+
"type": {
|
|
282
|
+
"$ref": "#/rules@3"
|
|
283
|
+
},
|
|
284
|
+
"deprecatedSyntax": false
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"$type": "Assignment",
|
|
289
|
+
"feature": "states",
|
|
290
|
+
"operator": "+=",
|
|
291
|
+
"terminal": {
|
|
292
|
+
"$type": "RuleCall",
|
|
293
|
+
"rule": {
|
|
294
|
+
"$ref": "#/rules@3"
|
|
295
|
+
},
|
|
296
|
+
"arguments": []
|
|
297
|
+
},
|
|
298
|
+
"cardinality": "*"
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
},
|
|
302
|
+
"definesHiddenTokens": false,
|
|
303
|
+
"fragment": false,
|
|
304
|
+
"hiddenTokens": [],
|
|
305
|
+
"parameters": [],
|
|
306
|
+
"wildcard": false
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"$type": "ParserRule",
|
|
310
|
+
"name": "Event",
|
|
311
|
+
"definition": {
|
|
312
|
+
"$type": "Assignment",
|
|
313
|
+
"feature": "name",
|
|
314
|
+
"operator": "=",
|
|
315
|
+
"terminal": {
|
|
316
|
+
"$type": "RuleCall",
|
|
317
|
+
"rule": {
|
|
318
|
+
"$ref": "#/rules@6"
|
|
319
|
+
},
|
|
320
|
+
"arguments": []
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"definesHiddenTokens": false,
|
|
324
|
+
"entry": false,
|
|
325
|
+
"fragment": false,
|
|
326
|
+
"hiddenTokens": [],
|
|
327
|
+
"parameters": [],
|
|
328
|
+
"wildcard": false
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"$type": "ParserRule",
|
|
332
|
+
"name": "Command",
|
|
333
|
+
"definition": {
|
|
334
|
+
"$type": "Assignment",
|
|
335
|
+
"feature": "name",
|
|
336
|
+
"operator": "=",
|
|
337
|
+
"terminal": {
|
|
338
|
+
"$type": "RuleCall",
|
|
339
|
+
"rule": {
|
|
340
|
+
"$ref": "#/rules@6"
|
|
341
|
+
},
|
|
342
|
+
"arguments": []
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
"definesHiddenTokens": false,
|
|
346
|
+
"entry": false,
|
|
347
|
+
"fragment": false,
|
|
348
|
+
"hiddenTokens": [],
|
|
349
|
+
"parameters": [],
|
|
350
|
+
"wildcard": false
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"$type": "ParserRule",
|
|
354
|
+
"name": "State",
|
|
355
|
+
"definition": {
|
|
356
|
+
"$type": "Group",
|
|
357
|
+
"elements": [
|
|
358
|
+
{
|
|
359
|
+
"$type": "Keyword",
|
|
360
|
+
"value": "state"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"$type": "Assignment",
|
|
364
|
+
"feature": "name",
|
|
365
|
+
"operator": "=",
|
|
366
|
+
"terminal": {
|
|
367
|
+
"$type": "RuleCall",
|
|
368
|
+
"rule": {
|
|
369
|
+
"$ref": "#/rules@6"
|
|
370
|
+
},
|
|
371
|
+
"arguments": []
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"$type": "Group",
|
|
376
|
+
"elements": [
|
|
377
|
+
{
|
|
378
|
+
"$type": "Keyword",
|
|
379
|
+
"value": "actions"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"$type": "Keyword",
|
|
383
|
+
"value": "{"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"$type": "Assignment",
|
|
387
|
+
"feature": "actions",
|
|
388
|
+
"operator": "+=",
|
|
389
|
+
"terminal": {
|
|
390
|
+
"$type": "CrossReference",
|
|
391
|
+
"type": {
|
|
392
|
+
"$ref": "#/rules@2"
|
|
393
|
+
},
|
|
394
|
+
"deprecatedSyntax": false
|
|
395
|
+
},
|
|
396
|
+
"cardinality": "+"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"$type": "Keyword",
|
|
400
|
+
"value": "}"
|
|
401
|
+
}
|
|
402
|
+
],
|
|
403
|
+
"cardinality": "?"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"$type": "Assignment",
|
|
407
|
+
"feature": "transitions",
|
|
408
|
+
"operator": "+=",
|
|
409
|
+
"terminal": {
|
|
410
|
+
"$type": "RuleCall",
|
|
411
|
+
"rule": {
|
|
412
|
+
"$ref": "#/rules@4"
|
|
413
|
+
},
|
|
414
|
+
"arguments": []
|
|
415
|
+
},
|
|
416
|
+
"cardinality": "*"
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"$type": "Keyword",
|
|
420
|
+
"value": "end"
|
|
421
|
+
}
|
|
422
|
+
]
|
|
423
|
+
},
|
|
424
|
+
"definesHiddenTokens": false,
|
|
425
|
+
"entry": false,
|
|
426
|
+
"fragment": false,
|
|
427
|
+
"hiddenTokens": [],
|
|
428
|
+
"parameters": [],
|
|
429
|
+
"wildcard": false
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"$type": "ParserRule",
|
|
433
|
+
"name": "Transition",
|
|
434
|
+
"definition": {
|
|
435
|
+
"$type": "Group",
|
|
436
|
+
"elements": [
|
|
437
|
+
{
|
|
438
|
+
"$type": "Assignment",
|
|
439
|
+
"feature": "event",
|
|
440
|
+
"operator": "=",
|
|
441
|
+
"terminal": {
|
|
442
|
+
"$type": "CrossReference",
|
|
443
|
+
"type": {
|
|
444
|
+
"$ref": "#/rules@1"
|
|
445
|
+
},
|
|
446
|
+
"deprecatedSyntax": false
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"$type": "Keyword",
|
|
451
|
+
"value": "=>"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"$type": "Assignment",
|
|
455
|
+
"feature": "state",
|
|
456
|
+
"operator": "=",
|
|
457
|
+
"terminal": {
|
|
458
|
+
"$type": "CrossReference",
|
|
459
|
+
"type": {
|
|
460
|
+
"$ref": "#/rules@3"
|
|
461
|
+
},
|
|
462
|
+
"deprecatedSyntax": false
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
]
|
|
466
|
+
},
|
|
467
|
+
"definesHiddenTokens": false,
|
|
468
|
+
"entry": false,
|
|
469
|
+
"fragment": false,
|
|
470
|
+
"hiddenTokens": [],
|
|
471
|
+
"parameters": [],
|
|
472
|
+
"wildcard": false
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"$type": "TerminalRule",
|
|
476
|
+
"hidden": true,
|
|
477
|
+
"name": "WS",
|
|
478
|
+
"definition": {
|
|
479
|
+
"$type": "RegexToken",
|
|
480
|
+
"regex": "/\\\\s+/"
|
|
481
|
+
},
|
|
482
|
+
"fragment": false
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"$type": "TerminalRule",
|
|
486
|
+
"name": "ID",
|
|
487
|
+
"definition": {
|
|
488
|
+
"$type": "RegexToken",
|
|
489
|
+
"regex": "/[_a-zA-Z][\\\\w_]*/"
|
|
490
|
+
},
|
|
491
|
+
"fragment": false,
|
|
492
|
+
"hidden": false
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"$type": "TerminalRule",
|
|
496
|
+
"hidden": true,
|
|
497
|
+
"name": "ML_COMMENT",
|
|
498
|
+
"definition": {
|
|
499
|
+
"$type": "RegexToken",
|
|
500
|
+
"regex": "/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//"
|
|
501
|
+
},
|
|
502
|
+
"fragment": false
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"$type": "TerminalRule",
|
|
506
|
+
"hidden": true,
|
|
507
|
+
"name": "SL_COMMENT",
|
|
508
|
+
"definition": {
|
|
509
|
+
"$type": "RegexToken",
|
|
510
|
+
"regex": "/\\\\/\\\\/[^\\\\n\\\\r]*/"
|
|
511
|
+
},
|
|
512
|
+
"fragment": false
|
|
513
|
+
}
|
|
514
|
+
],
|
|
515
|
+
"definesHiddenTokens": false,
|
|
516
|
+
"hiddenTokens": [],
|
|
517
|
+
"imports": [],
|
|
518
|
+
"interfaces": [],
|
|
519
|
+
"types": [],
|
|
520
|
+
"usedGrammars": []
|
|
521
|
+
}`));var V3={languageId:"statemachine",fileExtensions:[".statemachine"],caseInsensitive:!1},cN={AstReflection:()=>new Ul},uN={Grammar:()=>aN(),LanguageMetaData:()=>V3,parser:{}};function lN(t){let e=t.validation.ValidationRegistry,r=t.validation.StatemachineValidator,n={State:r.checkStateNameStartsWithCapital,Statemachine:r.checkUniqueStatesAndEvents};e.register(n,r)}var xh=class{checkStateNameStartsWithCapital(e,r){if(e.name){let n=e.name.substring(0,1);n.toUpperCase()!==n&&r("warning","State name should start with a capital letter.",{node:e,property:"name"})}}checkUniqueStatesAndEvents(e,r){let n=new Ze,i=[...e.states,...e.events];for(let o of i)n.add(o.name,o);for(let[o,s]of n.entriesGroupedByKey())if(s.length>1)for(let a of s)r("error",`Duplicate identifier name: ${o}`,{node:a,property:"name"})}};var X3={validation:{StatemachineValidator:()=>new xh}};function fN(t){let e=ws(Hu(t),cN),r=ws(Wu({shared:e}),uN,X3);return e.ServiceRegistry.register(r),lN(r),{shared:e,statemachine:r}}var Y3=new hs.BrowserMessageReader(self),J3=new hs.BrowserMessageWriter(self),dN=(0,hs.createConnection)(Y3,J3),{shared:pN,statemachine:Q3}=fN(Object.assign({connection:dN},Ud));tk(pN);var Z3=new hs.NotificationType("browser/DocumentChange"),e4=Q3.serializer.JsonSerializer;pN.workspace.DocumentBuilder.onBuildPhase(st.Validated,t=>{var e;for(let r of t){let n=e4.serialize(r.parseResult.value);dN.sendNotification(Z3,{uri:r.uri.toString(),content:n,diagnostics:(e=r.diagnostics)!==null&&e!==void 0?e:[]})}});})();
|
|
522
|
+
/*! Bundled license information:
|
|
523
|
+
|
|
524
|
+
lodash-es/lodash.js:
|
|
525
|
+
(**
|
|
526
|
+
* @license
|
|
527
|
+
* Lodash (Custom Build) <https://lodash.com/>
|
|
528
|
+
* Build: `lodash modularize exports="es" -o ./`
|
|
529
|
+
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
530
|
+
* Released under MIT license <https://lodash.com/license>
|
|
531
|
+
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
532
|
+
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
533
|
+
*)
|
|
534
|
+
*/
|