import{a9 as Or}from"./app-DTJ1dk4L.js";import{m as s,r as ap,N as At,b6 as ge,P as Cf,aN as X,bI as sp,bJ as Hv,l as wr,v as Xv,b5 as In,bK as bu}from"./mermaid.esm.min-BbAqstPk.js";import{o as yt,_ as Ye,Z as B,k as Bo,J as U,p as je,R as nt,D as bn,q as Lt,f as V,A as tl,Q as St,X as Be,r as Nu,u as Tt,z as mt,N as op,U as It,v as Ot,e as vt,s as sr,y as Yv,w as Zv,V as Jv,M as He,x as xu,B as ot,C as or,E as Wo,K as Os,F as lp,G as rm,H as Af}from"./chunk-H3VCZNTA-nEiogkTg.js";var wu={};wr(wu,{AnnotatedTextEdit:()=>tr,ChangeAnnotation:()=>Fr,ChangeAnnotationIdentifier:()=>Ke,CodeAction:()=>id,CodeActionContext:()=>nd,CodeActionKind:()=>rd,CodeActionTriggerKind:()=>So,CodeDescription:()=>Lc,CodeLens:()=>ad,Color:()=>Cl,ColorInformation:()=>Nc,ColorPresentation:()=>xc,Command:()=>Mr,CompletionItem:()=>Bc,CompletionItemKind:()=>Fc,CompletionItemLabelDetails:()=>jc,CompletionItemTag:()=>Uc,CompletionList:()=>Wc,CreateFile:()=>Jn,DeleteFile:()=>ei,Diagnostic:()=>$o,DiagnosticRelatedInformation:()=>Al,DiagnosticSeverity:()=>Pc,DiagnosticTag:()=>Dc,DocumentHighlight:()=>Yc,DocumentHighlightKind:()=>Xc,DocumentLink:()=>od,DocumentSymbol:()=>td,DocumentUri:()=>Ac,EOL:()=>im,FoldingRange:()=>Ic,FoldingRangeKind:()=>wc,FormattingOptions:()=>sd,Hover:()=>Vc,InlayHint:()=>gd,InlayHintKind:()=>Nl,InlayHintLabelPart:()=>xl,InlineCompletionContext:()=>$d,InlineCompletionItem:()=>Td,InlineCompletionList:()=>vd,InlineCompletionTriggerKind:()=>Rd,InlineValueContext:()=>md,InlineValueEvaluatableExpression:()=>fd,InlineValueText:()=>pd,InlineValueVariableLookup:()=>hd,InsertReplaceEdit:()=>Gc,InsertTextFormat:()=>qc,InsertTextMode:()=>zc,Location:()=>Eo,LocationLink:()=>bc,MarkedString:()=>Ao,MarkupContent:()=>ti,MarkupKind:()=>bl,OptionalVersionedTextDocumentIdentifier:()=>Co,ParameterInformation:()=>Kc,Position:()=>ae,Range:()=>te,RenameFile:()=>Qn,SelectedCompletionInfo:()=>Ed,SelectionRange:()=>ld,SemanticTokenModifiers:()=>cd,SemanticTokenTypes:()=>ud,SemanticTokens:()=>dd,SignatureInformation:()=>Hc,StringValue:()=>yd,SymbolInformation:()=>Qc,SymbolKind:()=>Zc,SymbolTag:()=>Jc,TextDocument:()=>Cd,TextDocumentEdit:()=>ko,TextDocumentIdentifier:()=>Oc,TextDocumentItem:()=>Mc,TextEdit:()=>zt,URI:()=>kl,VersionedTextDocumentIdentifier:()=>_c,WorkspaceChange:()=>nm,WorkspaceEdit:()=>Sl,WorkspaceFolder:()=>kd,WorkspaceSymbol:()=>ed,integer:()=>Sc,uinteger:()=>Ro});var Ac,kl,Sc,Ro,ae,te,Eo,bc,Cl,Nc,xc,wc,Ic,Al,Pc,Dc,Lc,$o,Mr,zt,Fr,Ke,tr,ko,Jn,Qn,ei,Sl,go,gc,nm,Oc,_c,Co,Mc,bl,ti,Fc,qc,Uc,Gc,zc,jc,Bc,Wc,Ao,Vc,Kc,Hc,Xc,Yc,Zc,Jc,Qc,ed,td,rd,So,nd,id,ad,sd,od,ld,ud,cd,dd,pd,hd,fd,md,Nl,xl,gd,yd,Td,vd,Rd,Ed,$d,kd,im,Cd,Sf,E,rl=Hv(()=>{var t,e,r,n;(function(i){function a(o){return typeof o=="string"}s(a,"is"),i.is=a})(Ac||(Ac={})),(function(i){function a(o){return typeof o=="string"}s(a,"is"),i.is=a})(kl||(kl={})),(function(i){i.MIN_VALUE=-2147483648,i.MAX_VALUE=2147483647;function a(o){return typeof o=="number"&&i.MIN_VALUE<=o&&o<=i.MAX_VALUE}s(a,"is"),i.is=a})(Sc||(Sc={})),(function(i){i.MIN_VALUE=0,i.MAX_VALUE=2147483647;function a(o){return typeof o=="number"&&i.MIN_VALUE<=o&&o<=i.MAX_VALUE}s(a,"is"),i.is=a})(Ro||(Ro={})),(function(i){function a(u,l){return u===Number.MAX_VALUE&&(u=Ro.MAX_VALUE),l===Number.MAX_VALUE&&(l=Ro.MAX_VALUE),{line:u,character:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.uinteger(l.line)&&E.uinteger(l.character)}s(o,"is"),i.is=o})(ae||(ae={})),(function(i){function a(u,l,c,d){if(E.uinteger(u)&&E.uinteger(l)&&E.uinteger(c)&&E.uinteger(d))return{start:ae.create(u,l),end:ae.create(c,d)};if(ae.is(u)&&ae.is(l))return{start:u,end:l};throw new Error(`Range#create called with invalid arguments[${u}, ${l}, ${c}, ${d}]`)}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&ae.is(l.start)&&ae.is(l.end)}s(o,"is"),i.is=o})(te||(te={})),(function(i){function a(u,l){return{uri:u,range:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&te.is(l.range)&&(E.string(l.uri)||E.undefined(l.uri))}s(o,"is"),i.is=o})(Eo||(Eo={})),(function(i){function a(u,l,c,d){return{targetUri:u,targetRange:l,targetSelectionRange:c,originSelectionRange:d}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&te.is(l.targetRange)&&E.string(l.targetUri)&&te.is(l.targetSelectionRange)&&(te.is(l.originSelectionRange)||E.undefined(l.originSelectionRange))}s(o,"is"),i.is=o})(bc||(bc={})),(function(i){function a(u,l,c,d){return{red:u,green:l,blue:c,alpha:d}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.numberRange(l.red,0,1)&&E.numberRange(l.green,0,1)&&E.numberRange(l.blue,0,1)&&E.numberRange(l.alpha,0,1)}s(o,"is"),i.is=o})(Cl||(Cl={})),(function(i){function a(u,l){return{range:u,color:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&te.is(l.range)&&Cl.is(l.color)}s(o,"is"),i.is=o})(Nc||(Nc={})),(function(i){function a(u,l,c){return{label:u,textEdit:l,additionalTextEdits:c}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.string(l.label)&&(E.undefined(l.textEdit)||zt.is(l))&&(E.undefined(l.additionalTextEdits)||E.typedArray(l.additionalTextEdits,zt.is))}s(o,"is"),i.is=o})(xc||(xc={})),(function(i){i.Comment="comment",i.Imports="imports",i.Region="region"})(wc||(wc={})),(function(i){function a(u,l,c,d,p,h){let y={startLine:u,endLine:l};return E.defined(c)&&(y.startCharacter=c),E.defined(d)&&(y.endCharacter=d),E.defined(p)&&(y.kind=p),E.defined(h)&&(y.collapsedText=h),y}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.uinteger(l.startLine)&&E.uinteger(l.startLine)&&(E.undefined(l.startCharacter)||E.uinteger(l.startCharacter))&&(E.undefined(l.endCharacter)||E.uinteger(l.endCharacter))&&(E.undefined(l.kind)||E.string(l.kind))}s(o,"is"),i.is=o})(Ic||(Ic={})),(function(i){function a(u,l){return{location:u,message:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&Eo.is(l.location)&&E.string(l.message)}s(o,"is"),i.is=o})(Al||(Al={})),(function(i){i.Error=1,i.Warning=2,i.Information=3,i.Hint=4})(Pc||(Pc={})),(function(i){i.Unnecessary=1,i.Deprecated=2})(Dc||(Dc={})),(function(i){function a(o){let u=o;return E.objectLiteral(u)&&E.string(u.href)}s(a,"is"),i.is=a})(Lc||(Lc={})),(function(i){function a(u,l,c,d,p,h){let y={range:u,message:l};return E.defined(c)&&(y.severity=c),E.defined(d)&&(y.code=d),E.defined(p)&&(y.source=p),E.defined(h)&&(y.relatedInformation=h),y}s(a,"create"),i.create=a;function o(u){var l;let c=u;return E.defined(c)&&te.is(c.range)&&E.string(c.message)&&(E.number(c.severity)||E.undefined(c.severity))&&(E.integer(c.code)||E.string(c.code)||E.undefined(c.code))&&(E.undefined(c.codeDescription)||E.string((l=c.codeDescription)===null||l===void 0?void 0:l.href))&&(E.string(c.source)||E.undefined(c.source))&&(E.undefined(c.relatedInformation)||E.typedArray(c.relatedInformation,Al.is))}s(o,"is"),i.is=o})($o||($o={})),(function(i){function a(u,l,...c){let d={title:u,command:l};return E.defined(c)&&c.length>0&&(d.arguments=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.title)&&E.string(l.command)}s(o,"is"),i.is=o})(Mr||(Mr={})),(function(i){function a(c,d){return{range:c,newText:d}}s(a,"replace"),i.replace=a;function o(c,d){return{range:{start:c,end:c},newText:d}}s(o,"insert"),i.insert=o;function u(c){return{range:c,newText:""}}s(u,"del"),i.del=u;function l(c){let d=c;return E.objectLiteral(d)&&E.string(d.newText)&&te.is(d.range)}s(l,"is"),i.is=l})(zt||(zt={})),(function(i){function a(u,l,c){let d={label:u};return l!==void 0&&(d.needsConfirmation=l),c!==void 0&&(d.description=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&E.string(l.label)&&(E.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(E.string(l.description)||l.description===void 0)}s(o,"is"),i.is=o})(Fr||(Fr={})),(function(i){function a(o){let u=o;return E.string(u)}s(a,"is"),i.is=a})(Ke||(Ke={})),(function(i){function a(c,d,p){return{range:c,newText:d,annotationId:p}}s(a,"replace"),i.replace=a;function o(c,d,p){return{range:{start:c,end:c},newText:d,annotationId:p}}s(o,"insert"),i.insert=o;function u(c,d){return{range:c,newText:"",annotationId:d}}s(u,"del"),i.del=u;function l(c){let d=c;return zt.is(d)&&(Fr.is(d.annotationId)||Ke.is(d.annotationId))}s(l,"is"),i.is=l})(tr||(tr={})),(function(i){function a(u,l){return{textDocument:u,edits:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&Co.is(l.textDocument)&&Array.isArray(l.edits)}s(o,"is"),i.is=o})(ko||(ko={})),(function(i){function a(u,l,c){let d={kind:"create",uri:u};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(d.options=l),c!==void 0&&(d.annotationId=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return l&&l.kind==="create"&&E.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||E.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||E.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||Ke.is(l.annotationId))}s(o,"is"),i.is=o})(Jn||(Jn={})),(function(i){function a(u,l,c,d){let p={kind:"rename",oldUri:u,newUri:l};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(p.options=c),d!==void 0&&(p.annotationId=d),p}s(a,"create"),i.create=a;function o(u){let l=u;return l&&l.kind==="rename"&&E.string(l.oldUri)&&E.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||E.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||E.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||Ke.is(l.annotationId))}s(o,"is"),i.is=o})(Qn||(Qn={})),(function(i){function a(u,l,c){let d={kind:"delete",uri:u};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(d.options=l),c!==void 0&&(d.annotationId=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return l&&l.kind==="delete"&&E.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||E.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||E.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||Ke.is(l.annotationId))}s(o,"is"),i.is=o})(ei||(ei={})),(function(i){function a(o){let u=o;return u&&(u.changes!==void 0||u.documentChanges!==void 0)&&(u.documentChanges===void 0||u.documentChanges.every(l=>E.string(l.kind)?Jn.is(l)||Qn.is(l)||ei.is(l):ko.is(l)))}s(a,"is"),i.is=a})(Sl||(Sl={})),go=(t=class{constructor(a,o){this.edits=a,this.changeAnnotations=o}insert(a,o,u){let l,c;if(u===void 0?l=zt.insert(a,o):Ke.is(u)?(c=u,l=tr.insert(a,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=tr.insert(a,o,c)),this.edits.push(l),c!==void 0)return c}replace(a,o,u){let l,c;if(u===void 0?l=zt.replace(a,o):Ke.is(u)?(c=u,l=tr.replace(a,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=tr.replace(a,o,c)),this.edits.push(l),c!==void 0)return c}delete(a,o){let u,l;if(o===void 0?u=zt.del(a):Ke.is(o)?(l=o,u=tr.del(a,o)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(o),u=tr.del(a,l)),this.edits.push(u),l!==void 0)return l}add(a){this.edits.push(a)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(a){if(a===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},s(t,"TextEditChangeImpl"),t),gc=(e=class{constructor(a){this._annotations=a===void 0?Object.create(null):a,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(a,o){let u;if(Ke.is(a)?u=a:(u=this.nextId(),o=a),this._annotations[u]!==void 0)throw new Error(`Id ${u} is already in use.`);if(o===void 0)throw new Error(`No annotation provided for id ${u}`);return this._annotations[u]=o,this._size++,u}nextId(){return this._counter++,this._counter.toString()}},s(e,"ChangeAnnotations"),e),nm=(r=class{constructor(a){this._textEditChanges=Object.create(null),a!==void 0?(this._workspaceEdit=a,a.documentChanges?(this._changeAnnotations=new gc(a.changeAnnotations),a.changeAnnotations=this._changeAnnotations.all(),a.documentChanges.forEach(o=>{if(ko.is(o)){let u=new go(o.edits,this._changeAnnotations);this._textEditChanges[o.textDocument.uri]=u}})):a.changes&&Object.keys(a.changes).forEach(o=>{let u=new go(a.changes[o]);this._textEditChanges[o]=u})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(a){if(Co.is(a)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o={uri:a.uri,version:a.version},u=this._textEditChanges[o.uri];if(!u){let l=[],c={textDocument:o,edits:l};this._workspaceEdit.documentChanges.push(c),u=new go(l,this._changeAnnotations),this._textEditChanges[o.uri]=u}return u}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let o=this._textEditChanges[a];if(!o){let u=[];this._workspaceEdit.changes[a]=u,o=new go(u),this._textEditChanges[a]=o}return o}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new gc,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(a,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;Fr.is(o)||Ke.is(o)?l=o:u=o;let c,d;if(l===void 0?c=Jn.create(a,u):(d=Ke.is(l)?l:this._changeAnnotations.manage(l),c=Jn.create(a,u,d)),this._workspaceEdit.documentChanges.push(c),d!==void 0)return d}renameFile(a,o,u,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let c;Fr.is(u)||Ke.is(u)?c=u:l=u;let d,p;if(c===void 0?d=Qn.create(a,o,l):(p=Ke.is(c)?c:this._changeAnnotations.manage(c),d=Qn.create(a,o,l,p)),this._workspaceEdit.documentChanges.push(d),p!==void 0)return p}deleteFile(a,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;Fr.is(o)||Ke.is(o)?l=o:u=o;let c,d;if(l===void 0?c=ei.create(a,u):(d=Ke.is(l)?l:this._changeAnnotations.manage(l),c=ei.create(a,u,d)),this._workspaceEdit.documentChanges.push(c),d!==void 0)return d}},s(r,"WorkspaceChange"),r),(function(i){function a(u){return{uri:u}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.uri)}s(o,"is"),i.is=o})(Oc||(Oc={})),(function(i){function a(u,l){return{uri:u,version:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.uri)&&E.integer(l.version)}s(o,"is"),i.is=o})(_c||(_c={})),(function(i){function a(u,l){return{uri:u,version:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.uri)&&(l.version===null||E.integer(l.version))}s(o,"is"),i.is=o})(Co||(Co={})),(function(i){function a(u,l,c,d){return{uri:u,languageId:l,version:c,text:d}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.string(l.uri)&&E.string(l.languageId)&&E.integer(l.version)&&E.string(l.text)}s(o,"is"),i.is=o})(Mc||(Mc={})),(function(i){i.PlainText="plaintext",i.Markdown="markdown";function a(o){let u=o;return u===i.PlainText||u===i.Markdown}s(a,"is"),i.is=a})(bl||(bl={})),(function(i){function a(o){let u=o;return E.objectLiteral(o)&&bl.is(u.kind)&&E.string(u.value)}s(a,"is"),i.is=a})(ti||(ti={})),(function(i){i.Text=1,i.Method=2,i.Function=3,i.Constructor=4,i.Field=5,i.Variable=6,i.Class=7,i.Interface=8,i.Module=9,i.Property=10,i.Unit=11,i.Value=12,i.Enum=13,i.Keyword=14,i.Snippet=15,i.Color=16,i.File=17,i.Reference=18,i.Folder=19,i.EnumMember=20,i.Constant=21,i.Struct=22,i.Event=23,i.Operator=24,i.TypeParameter=25})(Fc||(Fc={})),(function(i){i.PlainText=1,i.Snippet=2})(qc||(qc={})),(function(i){i.Deprecated=1})(Uc||(Uc={})),(function(i){function a(u,l,c){return{newText:u,insert:l,replace:c}}s(a,"create"),i.create=a;function o(u){let l=u;return l&&E.string(l.newText)&&te.is(l.insert)&&te.is(l.replace)}s(o,"is"),i.is=o})(Gc||(Gc={})),(function(i){i.asIs=1,i.adjustIndentation=2})(zc||(zc={})),(function(i){function a(o){let u=o;return u&&(E.string(u.detail)||u.detail===void 0)&&(E.string(u.description)||u.description===void 0)}s(a,"is"),i.is=a})(jc||(jc={})),(function(i){function a(o){return{label:o}}s(a,"create"),i.create=a})(Bc||(Bc={})),(function(i){function a(o,u){return{items:o||[],isIncomplete:!!u}}s(a,"create"),i.create=a})(Wc||(Wc={})),(function(i){function a(u){return u.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(a,"fromPlainText"),i.fromPlainText=a;function o(u){let l=u;return E.string(l)||E.objectLiteral(l)&&E.string(l.language)&&E.string(l.value)}s(o,"is"),i.is=o})(Ao||(Ao={})),(function(i){function a(o){let u=o;return!!u&&E.objectLiteral(u)&&(ti.is(u.contents)||Ao.is(u.contents)||E.typedArray(u.contents,Ao.is))&&(o.range===void 0||te.is(o.range))}s(a,"is"),i.is=a})(Vc||(Vc={})),(function(i){function a(o,u){return u?{label:o,documentation:u}:{label:o}}s(a,"create"),i.create=a})(Kc||(Kc={})),(function(i){function a(o,u,...l){let c={label:o};return E.defined(u)&&(c.documentation=u),E.defined(l)?c.parameters=l:c.parameters=[],c}s(a,"create"),i.create=a})(Hc||(Hc={})),(function(i){i.Text=1,i.Read=2,i.Write=3})(Xc||(Xc={})),(function(i){function a(o,u){let l={range:o};return E.number(u)&&(l.kind=u),l}s(a,"create"),i.create=a})(Yc||(Yc={})),(function(i){i.File=1,i.Module=2,i.Namespace=3,i.Package=4,i.Class=5,i.Method=6,i.Property=7,i.Field=8,i.Constructor=9,i.Enum=10,i.Interface=11,i.Function=12,i.Variable=13,i.Constant=14,i.String=15,i.Number=16,i.Boolean=17,i.Array=18,i.Object=19,i.Key=20,i.Null=21,i.EnumMember=22,i.Struct=23,i.Event=24,i.Operator=25,i.TypeParameter=26})(Zc||(Zc={})),(function(i){i.Deprecated=1})(Jc||(Jc={})),(function(i){function a(o,u,l,c,d){let p={name:o,kind:u,location:{uri:c,range:l}};return d&&(p.containerName=d),p}s(a,"create"),i.create=a})(Qc||(Qc={})),(function(i){function a(o,u,l,c){return c!==void 0?{name:o,kind:u,location:{uri:l,range:c}}:{name:o,kind:u,location:{uri:l}}}s(a,"create"),i.create=a})(ed||(ed={})),(function(i){function a(u,l,c,d,p,h){let y={name:u,detail:l,kind:c,range:d,selectionRange:p};return h!==void 0&&(y.children=h),y}s(a,"create"),i.create=a;function o(u){let l=u;return l&&E.string(l.name)&&E.number(l.kind)&&te.is(l.range)&&te.is(l.selectionRange)&&(l.detail===void 0||E.string(l.detail))&&(l.deprecated===void 0||E.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}s(o,"is"),i.is=o})(td||(td={})),(function(i){i.Empty="",i.QuickFix="quickfix",i.Refactor="refactor",i.RefactorExtract="refactor.extract",i.RefactorInline="refactor.inline",i.RefactorRewrite="refactor.rewrite",i.Source="source",i.SourceOrganizeImports="source.organizeImports",i.SourceFixAll="source.fixAll"})(rd||(rd={})),(function(i){i.Invoked=1,i.Automatic=2})(So||(So={})),(function(i){function a(u,l,c){let d={diagnostics:u};return l!=null&&(d.only=l),c!=null&&(d.triggerKind=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.typedArray(l.diagnostics,$o.is)&&(l.only===void 0||E.typedArray(l.only,E.string))&&(l.triggerKind===void 0||l.triggerKind===So.Invoked||l.triggerKind===So.Automatic)}s(o,"is"),i.is=o})(nd||(nd={})),(function(i){function a(u,l,c){let d={title:u},p=!0;return typeof l=="string"?(p=!1,d.kind=l):Mr.is(l)?d.command=l:d.edit=l,p&&c!==void 0&&(d.kind=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return l&&E.string(l.title)&&(l.diagnostics===void 0||E.typedArray(l.diagnostics,$o.is))&&(l.kind===void 0||E.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||Mr.is(l.command))&&(l.isPreferred===void 0||E.boolean(l.isPreferred))&&(l.edit===void 0||Sl.is(l.edit))}s(o,"is"),i.is=o})(id||(id={})),(function(i){function a(u,l){let c={range:u};return E.defined(l)&&(c.data=l),c}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&te.is(l.range)&&(E.undefined(l.command)||Mr.is(l.command))}s(o,"is"),i.is=o})(ad||(ad={})),(function(i){function a(u,l){return{tabSize:u,insertSpaces:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&E.uinteger(l.tabSize)&&E.boolean(l.insertSpaces)}s(o,"is"),i.is=o})(sd||(sd={})),(function(i){function a(u,l,c){return{range:u,target:l,data:c}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&te.is(l.range)&&(E.undefined(l.target)||E.string(l.target))}s(o,"is"),i.is=o})(od||(od={})),(function(i){function a(u,l){return{range:u,parent:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&te.is(l.range)&&(l.parent===void 0||i.is(l.parent))}s(o,"is"),i.is=o})(ld||(ld={})),(function(i){i.namespace="namespace",i.type="type",i.class="class",i.enum="enum",i.interface="interface",i.struct="struct",i.typeParameter="typeParameter",i.parameter="parameter",i.variable="variable",i.property="property",i.enumMember="enumMember",i.event="event",i.function="function",i.method="method",i.macro="macro",i.keyword="keyword",i.modifier="modifier",i.comment="comment",i.string="string",i.number="number",i.regexp="regexp",i.operator="operator",i.decorator="decorator"})(ud||(ud={})),(function(i){i.declaration="declaration",i.definition="definition",i.readonly="readonly",i.static="static",i.deprecated="deprecated",i.abstract="abstract",i.async="async",i.modification="modification",i.documentation="documentation",i.defaultLibrary="defaultLibrary"})(cd||(cd={})),(function(i){function a(o){let u=o;return E.objectLiteral(u)&&(u.resultId===void 0||typeof u.resultId=="string")&&Array.isArray(u.data)&&(u.data.length===0||typeof u.data[0]=="number")}s(a,"is"),i.is=a})(dd||(dd={})),(function(i){function a(u,l){return{range:u,text:l}}s(a,"create"),i.create=a;function o(u){let l=u;return l!=null&&te.is(l.range)&&E.string(l.text)}s(o,"is"),i.is=o})(pd||(pd={})),(function(i){function a(u,l,c){return{range:u,variableName:l,caseSensitiveLookup:c}}s(a,"create"),i.create=a;function o(u){let l=u;return l!=null&&te.is(l.range)&&E.boolean(l.caseSensitiveLookup)&&(E.string(l.variableName)||l.variableName===void 0)}s(o,"is"),i.is=o})(hd||(hd={})),(function(i){function a(u,l){return{range:u,expression:l}}s(a,"create"),i.create=a;function o(u){let l=u;return l!=null&&te.is(l.range)&&(E.string(l.expression)||l.expression===void 0)}s(o,"is"),i.is=o})(fd||(fd={})),(function(i){function a(u,l){return{frameId:u,stoppedLocation:l}}s(a,"create"),i.create=a;function o(u){let l=u;return E.defined(l)&&te.is(u.stoppedLocation)}s(o,"is"),i.is=o})(md||(md={})),(function(i){i.Type=1,i.Parameter=2;function a(o){return o===1||o===2}s(a,"is"),i.is=a})(Nl||(Nl={})),(function(i){function a(u){return{value:u}}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&(l.tooltip===void 0||E.string(l.tooltip)||ti.is(l.tooltip))&&(l.location===void 0||Eo.is(l.location))&&(l.command===void 0||Mr.is(l.command))}s(o,"is"),i.is=o})(xl||(xl={})),(function(i){function a(u,l,c){let d={position:u,label:l};return c!==void 0&&(d.kind=c),d}s(a,"create"),i.create=a;function o(u){let l=u;return E.objectLiteral(l)&&ae.is(l.position)&&(E.string(l.label)||E.typedArray(l.label,xl.is))&&(l.kind===void 0||Nl.is(l.kind))&&l.textEdits===void 0||E.typedArray(l.textEdits,zt.is)&&(l.tooltip===void 0||E.string(l.tooltip)||ti.is(l.tooltip))&&(l.paddingLeft===void 0||E.boolean(l.paddingLeft))&&(l.paddingRight===void 0||E.boolean(l.paddingRight))}s(o,"is"),i.is=o})(gd||(gd={})),(function(i){function a(o){return{kind:"snippet",value:o}}s(a,"createSnippet"),i.createSnippet=a})(yd||(yd={})),(function(i){function a(o,u,l,c){return{insertText:o,filterText:u,range:l,command:c}}s(a,"create"),i.create=a})(Td||(Td={})),(function(i){function a(o){return{items:o}}s(a,"create"),i.create=a})(vd||(vd={})),(function(i){i.Invoked=0,i.Automatic=1})(Rd||(Rd={})),(function(i){function a(o,u){return{range:o,text:u}}s(a,"create"),i.create=a})(Ed||(Ed={})),(function(i){function a(o,u){return{triggerKind:o,selectedCompletionInfo:u}}s(a,"create"),i.create=a})($d||($d={})),(function(i){function a(o){let u=o;return E.objectLiteral(u)&&kl.is(u.uri)&&E.string(u.name)}s(a,"is"),i.is=a})(kd||(kd={})),im=[` `,`\r `,"\r"],(function(i){function a(c,d,p,h){return new Sf(c,d,p,h)}s(a,"create"),i.create=a;function o(c){let d=c;return!!(E.defined(d)&&E.string(d.uri)&&(E.undefined(d.languageId)||E.string(d.languageId))&&E.uinteger(d.lineCount)&&E.func(d.getText)&&E.func(d.positionAt)&&E.func(d.offsetAt))}s(o,"is"),i.is=o;function u(c,d){let p=c.getText(),h=l(d,(m,$)=>{let w=m.range.start.line-$.range.start.line;return w===0?m.range.start.character-$.range.start.character:w}),y=p.length;for(let m=h.length-1;m>=0;m--){let $=h[m],w=c.offsetAt($.range.start),A=c.offsetAt($.range.end);if(A<=y)p=p.substring(0,w)+$.newText+p.substring(A,p.length);else throw new Error("Overlapping edit");y=w}return p}s(u,"applyEdits"),i.applyEdits=u;function l(c,d){if(c.length<=1)return c;let p=c.length/2|0,h=c.slice(0,p),y=c.slice(p);l(h,d),l(y,d);let m=0,$=0,w=0;for(;m0&&a.push(o.length),this._lineOffsets=a}return this._lineOffsets}positionAt(a){a=Math.max(Math.min(a,this._content.length),0);let o=this.getLineOffsets(),u=0,l=o.length;if(l===0)return ae.create(0,a);for(;ua?l=d:u=d+1}let c=u-1;return ae.create(c,a-o[c])}offsetAt(a){let o=this.getLineOffsets();if(a.line>=o.length)return this._content.length;if(a.line<0)return 0;let u=o[a.line],l=a.line+1"u"}s(u,"undefined"),i.undefined=u;function l(A){return A===!0||A===!1}s(l,"boolean"),i.boolean=l;function c(A){return a.call(A)==="[object String]"}s(c,"string"),i.string=c;function d(A){return a.call(A)==="[object Number]"}s(d,"number"),i.number=d;function p(A,N,C){return a.call(A)==="[object Number]"&&N<=A&&A<=C}s(p,"numberRange"),i.numberRange=p;function h(A){return a.call(A)==="[object Number]"&&-2147483648<=A&&A<=2147483647}s(h,"integer"),i.integer=h;function y(A){return a.call(A)==="[object Number]"&&0<=A&&A<=2147483647}s(y,"uinteger"),i.uinteger=y;function m(A){return a.call(A)==="[object Function]"}s(m,"func"),i.func=m;function $(A){return A!==null&&typeof A=="object"}s($,"objectLiteral"),i.objectLiteral=$;function w(A,N){return Array.isArray(A)&&A.every(N)}s(w,"typedArray"),i.typedArray=w})(E||(E={}))}),Pn=X(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e;function r(){if(e===void 0)throw new Error("No runtime abstraction layer installed");return e}s(r,"RAL"),(function(n){function i(a){if(a===void 0)throw new Error("No runtime abstraction layer provided");e=a}s(i,"install"),n.install=i})(r||(r={})),t.default=r}),nl=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0;function e(l){return l===!0||l===!1}s(e,"boolean"),t.boolean=e;function r(l){return typeof l=="string"||l instanceof String}s(r,"string"),t.string=r;function n(l){return typeof l=="number"||l instanceof Number}s(n,"number"),t.number=n;function i(l){return l instanceof Error}s(i,"error"),t.error=i;function a(l){return typeof l=="function"}s(a,"func"),t.func=a;function o(l){return Array.isArray(l)}s(o,"array"),t.array=o;function u(l){return o(l)&&l.every(c=>r(c))}s(u,"stringArray"),t.stringArray=u}),Bs=X(t=>{var a,o;Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;var e=Pn(),r;(function(u){let l={dispose(){}};u.None=function(){return l}})(r||(t.Event=r={}));var n=(a=class{add(l,c=null,d){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(l),this._contexts.push(c),Array.isArray(d)&&d.push({dispose:s(()=>this.remove(l,c),"dispose")})}remove(l,c=null){if(!this._callbacks)return;let d=!1;for(let p=0,h=this._callbacks.length;p{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(l,c);let p={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(l,c),p.dispose=o._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(d)&&d.push(p),p}),this._event}fire(l){this._callbacks&&this._callbacks.invoke.call(this._callbacks,l)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}},s(o,"Emitter"),o);t.Emitter=i,i._noop=function(){}}),Iu=X(t=>{var l,c;Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;var e=Pn(),r=nl(),n=Bs(),i;(function(d){d.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),d.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function p(h){let y=h;return y&&(y===d.None||y===d.Cancelled||r.boolean(y.isCancellationRequested)&&!!y.onCancellationRequested)}s(p,"is"),d.is=p})(i||(t.CancellationToken=i={}));var a=Object.freeze(function(d,p){let h=(0,e.default)().timer.setTimeout(d.bind(p),0);return{dispose(){h.dispose()}}}),o=(l=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?a:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},s(l,"MutableToken"),l),u=(c=class{get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=i.None}},s(c,"CancellationTokenSource"),c);t.CancellationTokenSource=u}),am=X(t=>{var P,k,T,b,v,R,S,D,M,L,z,q,re,j,ee,de,pe,he,Te,Se,fe,J,Me,le,ze;Object.defineProperty(t,"__esModule",{value:!0}),t.Message=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;var e=nl(),r;(function(ve){ve.ParseError=-32700,ve.InvalidRequest=-32600,ve.MethodNotFound=-32601,ve.InvalidParams=-32602,ve.InternalError=-32603,ve.jsonrpcReservedErrorRangeStart=-32099,ve.serverErrorStart=-32099,ve.MessageWriteError=-32099,ve.MessageReadError=-32098,ve.PendingResponseRejected=-32097,ve.ConnectionInactive=-32096,ve.ServerNotInitialized=-32002,ve.UnknownErrorCode=-32001,ve.jsonrpcReservedErrorRangeEnd=-32e3,ve.serverErrorEnd=-32e3})(r||(t.ErrorCodes=r={}));var n=(P=class extends Error{constructor(F,Fe,Mt){super(Fe),this.code=e.number(F)?F:r.UnknownErrorCode,this.data=Mt,Object.setPrototypeOf(this,P.prototype)}toJson(){let F={code:this.code,message:this.message};return this.data!==void 0&&(F.data=this.data),F}},s(P,"ResponseError"),P);t.ResponseError=n;var i=(k=class{constructor(F){this.kind=F}static is(F){return F===k.auto||F===k.byName||F===k.byPosition}toString(){return this.kind}},s(k,"ParameterStructures"),k);t.ParameterStructures=i,i.auto=new i("auto"),i.byPosition=new i("byPosition"),i.byName=new i("byName");var a=(T=class{constructor(F,Fe){this.method=F,this.numberOfParams=Fe}get parameterStructures(){return i.auto}},s(T,"AbstractMessageSignature"),T);t.AbstractMessageSignature=a;var o=(b=class extends a{constructor(F){super(F,0)}},s(b,"RequestType0"),b);t.RequestType0=o;var u=(v=class extends a{constructor(F,Fe=i.auto){super(F,1),this._parameterStructures=Fe}get parameterStructures(){return this._parameterStructures}},s(v,"RequestType"),v);t.RequestType=u;var l=(R=class extends a{constructor(F,Fe=i.auto){super(F,1),this._parameterStructures=Fe}get parameterStructures(){return this._parameterStructures}},s(R,"RequestType1"),R);t.RequestType1=l;var c=(S=class extends a{constructor(F){super(F,2)}},s(S,"RequestType2"),S);t.RequestType2=c;var d=(D=class extends a{constructor(F){super(F,3)}},s(D,"RequestType3"),D);t.RequestType3=d;var p=(M=class extends a{constructor(F){super(F,4)}},s(M,"RequestType4"),M);t.RequestType4=p;var h=(L=class extends a{constructor(F){super(F,5)}},s(L,"RequestType5"),L);t.RequestType5=h;var y=(z=class extends a{constructor(F){super(F,6)}},s(z,"RequestType6"),z);t.RequestType6=y;var m=(q=class extends a{constructor(F){super(F,7)}},s(q,"RequestType7"),q);t.RequestType7=m;var $=(re=class extends a{constructor(F){super(F,8)}},s(re,"RequestType8"),re);t.RequestType8=$;var w=(j=class extends a{constructor(F){super(F,9)}},s(j,"RequestType9"),j);t.RequestType9=w;var A=(ee=class extends a{constructor(F,Fe=i.auto){super(F,1),this._parameterStructures=Fe}get parameterStructures(){return this._parameterStructures}},s(ee,"NotificationType"),ee);t.NotificationType=A;var N=(de=class extends a{constructor(F){super(F,0)}},s(de,"NotificationType0"),de);t.NotificationType0=N;var C=(pe=class extends a{constructor(F,Fe=i.auto){super(F,1),this._parameterStructures=Fe}get parameterStructures(){return this._parameterStructures}},s(pe,"NotificationType1"),pe);t.NotificationType1=C;var I=(he=class extends a{constructor(F){super(F,2)}},s(he,"NotificationType2"),he);t.NotificationType2=I;var Y=(Te=class extends a{constructor(F){super(F,3)}},s(Te,"NotificationType3"),Te);t.NotificationType3=Y;var ne=(Se=class extends a{constructor(F){super(F,4)}},s(Se,"NotificationType4"),Se);t.NotificationType4=ne;var Z=(fe=class extends a{constructor(F){super(F,5)}},s(fe,"NotificationType5"),fe);t.NotificationType5=Z;var ye=(J=class extends a{constructor(F){super(F,6)}},s(J,"NotificationType6"),J);t.NotificationType6=ye;var $e=(Me=class extends a{constructor(F){super(F,7)}},s(Me,"NotificationType7"),Me);t.NotificationType7=$e;var Ae=(le=class extends a{constructor(F){super(F,8)}},s(le,"NotificationType8"),le);t.NotificationType8=Ae;var oe=(ze=class extends a{constructor(F){super(F,9)}},s(ze,"NotificationType9"),ze);t.NotificationType9=oe;var Ze;(function(ve){function F($t){let Re=$t;return Re&&e.string(Re.method)&&(e.string(Re.id)||e.number(Re.id))}s(F,"isRequest"),ve.isRequest=F;function Fe($t){let Re=$t;return Re&&e.string(Re.method)&&$t.id===void 0}s(Fe,"isNotification"),ve.isNotification=Fe;function Mt($t){let Re=$t;return Re&&(Re.result!==void 0||!!Re.error)&&(e.string(Re.id)||e.number(Re.id)||Re.id===null)}s(Mt,"isResponse"),ve.isResponse=Mt})(Ze||(t.Message=Ze={}))}),sm=X(t=>{var a,o;var e;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0;var r;(function(u){u.None=0,u.First=1,u.AsOld=u.First,u.Last=2,u.AsNew=u.Last})(r||(t.Touch=r={}));var n=(a=class{constructor(){this[e]="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(l){return this._map.has(l)}get(l,c=r.None){let d=this._map.get(l);if(d)return c!==r.None&&this.touch(d,c),d.value}set(l,c,d=r.None){let p=this._map.get(l);if(p)p.value=c,d!==r.None&&this.touch(p,d);else{switch(p={key:l,value:c,next:void 0,previous:void 0},d){case r.None:this.addItemLast(p);break;case r.First:this.addItemFirst(p);break;case r.Last:this.addItemLast(p);break;default:this.addItemLast(p);break}this._map.set(l,p),this._size++}return this}delete(l){return!!this.remove(l)}remove(l){let c=this._map.get(l);if(c)return this._map.delete(l),this.removeItem(c),this._size--,c.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let l=this._head;return this._map.delete(l.key),this.removeItem(l),this._size--,l.value}forEach(l,c){let d=this._state,p=this._head;for(;p;){if(c?l.bind(c)(p.value,p.key,this):l(p.value,p.key,this),this._state!==d)throw new Error("LinkedMap got modified during iteration.");p=p.next}}keys(){let l=this._state,c=this._head,d={[Symbol.iterator]:()=>d,next:s(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(c){let p={value:c.key,done:!1};return c=c.next,p}else return{value:void 0,done:!0}},"next")};return d}values(){let l=this._state,c=this._head,d={[Symbol.iterator]:()=>d,next:s(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(c){let p={value:c.value,done:!1};return c=c.next,p}else return{value:void 0,done:!0}},"next")};return d}entries(){let l=this._state,c=this._head,d={[Symbol.iterator]:()=>d,next:s(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(c){let p={value:[c.key,c.value],done:!1};return c=c.next,p}else return{value:void 0,done:!0}},"next")};return d}[(e=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(l){if(l>=this.size)return;if(l===0){this.clear();return}let c=this._head,d=this.size;for(;c&&d>l;)this._map.delete(c.key),c=c.next,d--;this._head=c,this._size=d,c&&(c.previous=void 0),this._state++}addItemFirst(l){if(!this._head&&!this._tail)this._tail=l;else if(this._head)l.next=this._head,this._head.previous=l;else throw new Error("Invalid list");this._head=l,this._state++}addItemLast(l){if(!this._head&&!this._tail)this._head=l;else if(this._tail)l.previous=this._tail,this._tail.next=l;else throw new Error("Invalid list");this._tail=l,this._state++}removeItem(l){if(l===this._head&&l===this._tail)this._head=void 0,this._tail=void 0;else if(l===this._head){if(!l.next)throw new Error("Invalid list");l.next.previous=void 0,this._head=l.next}else if(l===this._tail){if(!l.previous)throw new Error("Invalid list");l.previous.next=void 0,this._tail=l.previous}else{let c=l.next,d=l.previous;if(!c||!d)throw new Error("Invalid list");c.previous=d,d.next=c}l.next=void 0,l.previous=void 0,this._state++}touch(l,c){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(c!==r.First&&c!==r.Last)){if(c===r.First){if(l===this._head)return;let d=l.next,p=l.previous;l===this._tail?(p.next=void 0,this._tail=p):(d.previous=p,p.next=d),l.previous=void 0,l.next=this._head,this._head.previous=l,this._head=l,this._state++}else if(c===r.Last){if(l===this._tail)return;let d=l.next,p=l.previous;l===this._head?(d.previous=void 0,this._head=d):(d.previous=p,p.next=d),l.next=void 0,l.previous=this._tail,this._tail.next=l,this._tail=l,this._state++}}}toJSON(){let l=[];return this.forEach((c,d)=>{l.push([d,c])}),l}fromJSON(l){this.clear();for(let[c,d]of l)this.set(c,d)}},s(a,"LinkedMap"),a);t.LinkedMap=n;var i=(o=class extends n{constructor(l,c=1){super(),this._limit=l,this._ratio=Math.min(Math.max(0,c),1)}get limit(){return this._limit}set limit(l){this._limit=l,this.checkTrim()}get ratio(){return this._ratio}set ratio(l){this._ratio=Math.min(Math.max(0,l),1),this.checkTrim()}get(l,c=r.AsNew){return super.get(l,c)}peek(l){return super.get(l,r.None)}set(l,c){return super.set(l,c,r.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}},s(o,"LRUCache"),o);t.LRUCache=i}),Qv=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0;var e;(function(r){function n(i){return{dispose:i}}s(n,"create"),r.create=n})(e||(t.Disposable=e={}))}),eR=X(t=>{var u,l,c,d;Object.defineProperty(t,"__esModule",{value:!0}),t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=void 0;var e=Iu(),r;(function(p){p.Continue=0,p.Cancelled=1})(r||(r={}));var n=(u=class{constructor(){this.buffers=new Map}enableCancellation(h){if(h.id===null)return;let y=new SharedArrayBuffer(4),m=new Int32Array(y,0,1);m[0]=r.Continue,this.buffers.set(h.id,y),h.$cancellationData=y}async sendCancellation(h,y){let m=this.buffers.get(y);if(m===void 0)return;let $=new Int32Array(m,0,1);Atomics.store($,0,r.Cancelled)}cleanup(h){this.buffers.delete(h)}dispose(){this.buffers.clear()}},s(u,"SharedArraySenderStrategy"),u);t.SharedArraySenderStrategy=n;var i=(l=class{constructor(h){this.data=new Int32Array(h,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},s(l,"SharedArrayBufferCancellationToken"),l),a=(c=class{constructor(h){this.token=new i(h)}cancel(){}dispose(){}},s(c,"SharedArrayBufferCancellationTokenSource"),c),o=(d=class{constructor(){this.kind="request"}createCancellationTokenSource(h){let y=h.$cancellationData;return y===void 0?new e.CancellationTokenSource:new a(y)}},s(d,"SharedArrayReceiverStrategy"),d);t.SharedArrayReceiverStrategy=o}),om=X(t=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;var e=Pn(),r=(n=class{constructor(a=1){if(a<=0)throw new Error("Capacity must be greater than 0");this._capacity=a,this._active=0,this._waiting=[]}lock(a){return new Promise((o,u)=>{this._waiting.push({thunk:a,resolve:o,reject:u}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,e.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let a=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let o=a.thunk();o instanceof Promise?o.then(u=>{this._active--,a.resolve(u),this.runNext()},u=>{this._active--,a.reject(u),this.runNext()}):(this._active--,a.resolve(o),this.runNext())}catch(o){this._active--,a.reject(o),this.runNext()}}},s(n,"Semaphore"),n);t.Semaphore=r}),tR=X(t=>{var c,d;Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;var e=Pn(),r=nl(),n=Bs(),i=om(),a;(function(p){function h(y){let m=y;return m&&r.func(m.listen)&&r.func(m.dispose)&&r.func(m.onError)&&r.func(m.onClose)&&r.func(m.onPartialMessage)}s(h,"is"),p.is=h})(a||(t.MessageReader=a={}));var o=(c=class{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(h){this.errorEmitter.fire(this.asError(h))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(h){this.partialMessageEmitter.fire(h)}asError(h){return h instanceof Error?h:new Error(`Reader received error. Reason: ${r.string(h.message)?h.message:"unknown"}`)}},s(c,"AbstractMessageReader"),c);t.AbstractMessageReader=o;var u;(function(p){function h(y){let m,$,w=new Map,A,N=new Map;if(y===void 0||typeof y=="string")m=y??"utf-8";else{if(m=y.charset??"utf-8",y.contentDecoder!==void 0&&($=y.contentDecoder,w.set($.name,$)),y.contentDecoders!==void 0)for(let C of y.contentDecoders)w.set(C.name,C);if(y.contentTypeDecoder!==void 0&&(A=y.contentTypeDecoder,N.set(A.name,A)),y.contentTypeDecoders!==void 0)for(let C of y.contentTypeDecoders)N.set(C.name,C)}return A===void 0&&(A=(0,e.default)().applicationJson.decoder,N.set(A.name,A)),{charset:m,contentDecoder:$,contentDecoders:w,contentTypeDecoder:A,contentTypeDecoders:N}}s(h,"fromOptions"),p.fromOptions=h})(u||(u={}));var l=(d=class extends o{constructor(h,y){super(),this.readable=h,this.options=u.fromOptions(y),this.buffer=(0,e.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new i.Semaphore(1)}set partialMessageTimeout(h){this._partialMessageTimeout=h}get partialMessageTimeout(){return this._partialMessageTimeout}listen(h){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=h;let y=this.readable.onData(m=>{this.onData(m)});return this.readable.onError(m=>this.fireError(m)),this.readable.onClose(()=>this.fireClose()),y}onData(h){try{for(this.buffer.append(h);;){if(this.nextMessageLength===-1){let m=this.buffer.tryReadHeaders(!0);if(!m)return;let $=m.get("content-length");if(!$){this.fireError(new Error(`Header must provide a Content-Length property. ${JSON.stringify(Object.fromEntries(m))}`));return}let w=parseInt($);if(isNaN(w)){this.fireError(new Error(`Content-Length value must be a number. Got ${$}`));return}this.nextMessageLength=w}let y=this.buffer.tryReadBody(this.nextMessageLength);if(y===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let m=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(y):y,$=await this.options.contentTypeDecoder.decode(m,this.options);this.callback($)}).catch(m=>{this.fireError(m)})}}catch(y){this.fireError(y)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,e.default)().timer.setTimeout((h,y)=>{this.partialMessageTimer=void 0,h===this.messageToken&&(this.firePartialMessage({messageToken:h,waitingTime:y}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}},s(d,"ReadableStreamMessageReader"),d);t.ReadableStreamMessageReader=l}),rR=X(t=>{var p,h;Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;var e=Pn(),r=nl(),n=om(),i=Bs(),a="Content-Length: ",o=`\r `,u;(function(y){function m($){let w=$;return w&&r.func(w.dispose)&&r.func(w.onClose)&&r.func(w.onError)&&r.func(w.write)}s(m,"is"),y.is=m})(u||(t.MessageWriter=u={}));var l=(p=class{constructor(){this.errorEmitter=new i.Emitter,this.closeEmitter=new i.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(m,$,w){this.errorEmitter.fire([this.asError(m),$,w])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(m){return m instanceof Error?m:new Error(`Writer received error. Reason: ${r.string(m.message)?m.message:"unknown"}`)}},s(p,"AbstractMessageWriter"),p);t.AbstractMessageWriter=l;var c;(function(y){function m($){return $===void 0||typeof $=="string"?{charset:$??"utf-8",contentTypeEncoder:(0,e.default)().applicationJson.encoder}:{charset:$.charset??"utf-8",contentEncoder:$.contentEncoder,contentTypeEncoder:$.contentTypeEncoder??(0,e.default)().applicationJson.encoder}}s(m,"fromOptions"),y.fromOptions=m})(c||(c={}));var d=(h=class extends l{constructor(m,$){super(),this.writable=m,this.options=c.fromOptions($),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(w=>this.fireError(w)),this.writable.onClose(()=>this.fireClose())}async write(m){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(m,this.options).then($=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode($):$).then($=>{let w=[];return w.push(a,$.byteLength.toString(),o),w.push(o),this.doWrite(m,w,$)},$=>{throw this.fireError($),$}))}async doWrite(m,$,w){try{return await this.writable.write($.join(""),"ascii"),this.writable.write(w)}catch(A){return this.handleError(A,m),Promise.reject(A)}}handleError(m,$){this.errorCount++,this.fireError(m,$,this.errorCount)}end(){this.writable.end()}},s(h,"WriteableStreamMessageWriter"),h);t.WriteableStreamMessageWriter=d}),nR=X(t=>{var a;Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0;var e=13,r=10,n=`\r `,i=(a=class{constructor(u="utf-8"){this._encoding=u,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(u){let l=typeof u=="string"?this.fromString(u,this._encoding):u;this._chunks.push(l),this._totalLength+=l.byteLength}tryReadHeaders(u=!1){if(this._chunks.length===0)return;let l=0,c=0,d=0,p=0;e:for(;cthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===u){let p=this._chunks[0];return this._chunks.shift(),this._totalLength-=u,this.asNative(p)}if(this._chunks[0].byteLength>u){let p=this._chunks[0],h=this.asNative(p,u);return this._chunks[0]=p.slice(u),this._totalLength-=u,h}let l=this.allocNative(u),c=0,d=0;for(;u>0;){let p=this._chunks[d];if(p.byteLength>u){let h=p.slice(0,u);l.set(h,c),c+=u,this._chunks[d]=p.slice(u),this._totalLength-=u,u-=u}else l.set(p,c),c+=p.byteLength,this._chunks.shift(),this._totalLength-=p.byteLength,u-=p.byteLength}return l}},s(a,"AbstractMessageBuffer"),a);t.AbstractMessageBuffer=i}),iR=X(t=>{var P,k;Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;var e=Pn(),r=nl(),n=am(),i=sm(),a=Bs(),o=Iu(),u;(function(T){T.type=new n.NotificationType("$/cancelRequest")})(u||(u={}));var l;(function(T){function b(v){return typeof v=="string"||typeof v=="number"}s(b,"is"),T.is=b})(l||(t.ProgressToken=l={}));var c;(function(T){T.type=new n.NotificationType("$/progress")})(c||(c={}));var d=(P=class{constructor(){}},s(P,"ProgressType"),P);t.ProgressType=d;var p;(function(T){function b(v){return r.func(v)}s(b,"is"),T.is=b})(p||(p={})),t.NullLogger=Object.freeze({error:s(()=>{},"error"),warn:s(()=>{},"warn"),info:s(()=>{},"info"),log:s(()=>{},"log")});var h;(function(T){T[T.Off=0]="Off",T[T.Messages=1]="Messages",T[T.Compact=2]="Compact",T[T.Verbose=3]="Verbose"})(h||(t.Trace=h={}));var y;(function(T){T.Off="off",T.Messages="messages",T.Compact="compact",T.Verbose="verbose"})(y||(t.TraceValues=y={})),(function(T){function b(R){if(!r.string(R))return T.Off;switch(R=R.toLowerCase(),R){case"off":return T.Off;case"messages":return T.Messages;case"compact":return T.Compact;case"verbose":return T.Verbose;default:return T.Off}}s(b,"fromString"),T.fromString=b;function v(R){switch(R){case T.Off:return"off";case T.Messages:return"messages";case T.Compact:return"compact";case T.Verbose:return"verbose";default:return"off"}}s(v,"toString"),T.toString=v})(h||(t.Trace=h={}));var m;(function(T){T.Text="text",T.JSON="json"})(m||(t.TraceFormat=m={})),(function(T){function b(v){return r.string(v)?(v=v.toLowerCase(),v==="json"?T.JSON:T.Text):T.Text}s(b,"fromString"),T.fromString=b})(m||(t.TraceFormat=m={}));var $;(function(T){T.type=new n.NotificationType("$/setTrace")})($||(t.SetTraceNotification=$={}));var w;(function(T){T.type=new n.NotificationType("$/logTrace")})(w||(t.LogTraceNotification=w={}));var A;(function(T){T[T.Closed=1]="Closed",T[T.Disposed=2]="Disposed",T[T.AlreadyListening=3]="AlreadyListening"})(A||(t.ConnectionErrors=A={}));var N=(k=class extends Error{constructor(b,v){super(v),this.code=b,Object.setPrototypeOf(this,k.prototype)}},s(k,"ConnectionError"),k);t.ConnectionError=N;var C;(function(T){function b(v){let R=v;return R&&r.func(R.cancelUndispatched)}s(b,"is"),T.is=b})(C||(t.ConnectionStrategy=C={}));var I;(function(T){function b(v){let R=v;return R&&(R.kind===void 0||R.kind==="id")&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}s(b,"is"),T.is=b})(I||(t.IdCancellationReceiverStrategy=I={}));var Y;(function(T){function b(v){let R=v;return R&&R.kind==="request"&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}s(b,"is"),T.is=b})(Y||(t.RequestCancellationReceiverStrategy=Y={}));var ne;(function(T){T.Message=Object.freeze({createCancellationTokenSource(v){return new o.CancellationTokenSource}});function b(v){return I.is(v)||Y.is(v)}s(b,"is"),T.is=b})(ne||(t.CancellationReceiverStrategy=ne={}));var Z;(function(T){T.Message=Object.freeze({sendCancellation(v,R){return v.sendNotification(u.type,{id:R})},cleanup(v){}});function b(v){let R=v;return R&&r.func(R.sendCancellation)&&r.func(R.cleanup)}s(b,"is"),T.is=b})(Z||(t.CancellationSenderStrategy=Z={}));var ye;(function(T){T.Message=Object.freeze({receiver:ne.Message,sender:Z.Message});function b(v){let R=v;return R&&ne.is(R.receiver)&&Z.is(R.sender)}s(b,"is"),T.is=b})(ye||(t.CancellationStrategy=ye={}));var $e;(function(T){function b(v){let R=v;return R&&r.func(R.handleMessage)}s(b,"is"),T.is=b})($e||(t.MessageStrategy=$e={}));var Ae;(function(T){function b(v){let R=v;return R&&(ye.is(R.cancellationStrategy)||C.is(R.connectionStrategy)||$e.is(R.messageStrategy))}s(b,"is"),T.is=b})(Ae||(t.ConnectionOptions=Ae={}));var oe;(function(T){T[T.New=1]="New",T[T.Listening=2]="Listening",T[T.Closed=3]="Closed",T[T.Disposed=4]="Disposed"})(oe||(oe={}));function Ze(T,b,v,R){let S=v!==void 0?v:t.NullLogger,D=0,M=0,L=0,z="2.0",q,re=new Map,j,ee=new Map,de=new Map,pe,he=new i.LinkedMap,Te=new Map,Se=new Set,fe=new Map,J=h.Off,Me=m.Text,le,ze=oe.New,ve=new a.Emitter,F=new a.Emitter,Fe=new a.Emitter,Mt=new a.Emitter,$t=new a.Emitter,Re=R&&R.cancellationStrategy?R.cancellationStrategy:ye.Message;function zn(g){if(g===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+g.toString()}s(zn,"createRequestQueueKey");function Js(g){return g===null?"res-unknown-"+(++L).toString():"res-"+g.toString()}s(Js,"createResponseQueueKey");function Qs(){return"not-"+(++M).toString()}s(Qs,"createNotificationQueueKey");function eo(g,x){n.Message.isRequest(x)?g.set(zn(x.id),x):n.Message.isResponse(x)?g.set(Js(x.id),x):g.set(Qs(),x)}s(eo,"addMessageToQueue");function to(g){}s(to,"cancelUndispatched");function jn(){return ze===oe.Listening}s(jn,"isListening");function Bn(){return ze===oe.Closed}s(Bn,"isClosed");function Ft(){return ze===oe.Disposed}s(Ft,"isDisposed");function Wn(){(ze===oe.New||ze===oe.Listening)&&(ze=oe.Closed,F.fire(void 0))}s(Wn,"closeHandler");function ro(g){ve.fire([g,void 0,void 0])}s(ro,"readErrorHandler");function no(g){ve.fire(g)}s(no,"writeErrorHandler"),T.onClose(Wn),T.onError(ro),b.onClose(Wn),b.onError(no);function Vn(){pe||he.size===0||(pe=(0,e.default)().timer.setImmediate(()=>{pe=void 0,io()}))}s(Vn,"triggerMessageQueue");function Kn(g){n.Message.isRequest(g)?ao(g):n.Message.isNotification(g)?oo(g):n.Message.isResponse(g)?so(g):lo(g)}s(Kn,"handleMessage");function io(){if(he.size===0)return;let g=he.shift();try{let x=R?.messageStrategy;$e.is(x)?x.handleMessage(g,Kn):Kn(g)}finally{Vn()}}s(io,"processMessageQueue");let fl=s(g=>{try{if(n.Message.isNotification(g)&&g.method===u.type.method){let x=g.params.id,_=zn(x),G=he.get(_);if(n.Message.isRequest(G)){let me=R?.connectionStrategy,Ie=me&&me.cancelUndispatched?me.cancelUndispatched(G,to):void 0;if(Ie&&(Ie.error!==void 0||Ie.result!==void 0)){he.delete(_),fe.delete(x),Ie.id=G.id,vr(Ie,g.method,Date.now()),b.write(Ie).catch(()=>S.error("Sending response for canceled message failed."));return}}let ke=fe.get(x);if(ke!==void 0){ke.cancel(),Lr(g);return}else Se.add(x)}eo(he,g)}finally{Vn()}},"callback");function ao(g){if(Ft())return;function x(ie,Ne,ue){let Ue={jsonrpc:z,id:g.id};ie instanceof n.ResponseError?Ue.error=ie.toJson():Ue.result=ie===void 0?null:ie,vr(Ue,Ne,ue),b.write(Ue).catch(()=>S.error("Sending response failed."))}s(x,"reply");function _(ie,Ne,ue){let Ue={jsonrpc:z,id:g.id,error:ie.toJson()};vr(Ue,Ne,ue),b.write(Ue).catch(()=>S.error("Sending response failed."))}s(_,"replyError");function G(ie,Ne,ue){ie===void 0&&(ie=null);let Ue={jsonrpc:z,id:g.id,result:ie};vr(Ue,Ne,ue),b.write(Ue).catch(()=>S.error("Sending response failed."))}s(G,"replySuccess"),po(g);let ke=re.get(g.method),me,Ie;ke&&(me=ke.type,Ie=ke.handler);let Oe=Date.now();if(Ie||q){let ie=g.id??String(Date.now()),Ne=I.is(Re.receiver)?Re.receiver.createCancellationTokenSource(ie):Re.receiver.createCancellationTokenSource(g);g.id!==null&&Se.has(g.id)&&Ne.cancel(),g.id!==null&&fe.set(ie,Ne);try{let ue;if(Ie)if(g.params===void 0){if(me!==void 0&&me.numberOfParams!==0){_(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${g.method} defines ${me.numberOfParams} params but received none.`),g.method,Oe);return}ue=Ie(Ne.token)}else if(Array.isArray(g.params)){if(me!==void 0&&me.parameterStructures===n.ParameterStructures.byName){_(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${g.method} defines parameters by name but received parameters by position`),g.method,Oe);return}ue=Ie(...g.params,Ne.token)}else{if(me!==void 0&&me.parameterStructures===n.ParameterStructures.byPosition){_(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${g.method} defines parameters by position but received parameters by name`),g.method,Oe);return}ue=Ie(g.params,Ne.token)}else q&&(ue=q(g.method,g.params,Ne.token));let Ue=ue;ue?Ue.then?Ue.then(Je=>{fe.delete(ie),x(Je,g.method,Oe)},Je=>{fe.delete(ie),Je instanceof n.ResponseError?_(Je,g.method,Oe):Je&&r.string(Je.message)?_(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${g.method} failed with message: ${Je.message}`),g.method,Oe):_(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${g.method} failed unexpectedly without providing any details.`),g.method,Oe)}):(fe.delete(ie),x(ue,g.method,Oe)):(fe.delete(ie),G(ue,g.method,Oe))}catch(ue){fe.delete(ie),ue instanceof n.ResponseError?x(ue,g.method,Oe):ue&&r.string(ue.message)?_(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${g.method} failed with message: ${ue.message}`),g.method,Oe):_(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${g.method} failed unexpectedly without providing any details.`),g.method,Oe)}}else _(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${g.method}`),g.method,Oe)}s(ao,"handleRequest");function so(g){if(!Ft())if(g.id===null)g.error?S.error(`Received response message without id: Error is: ${JSON.stringify(g.error,void 0,4)}`):S.error("Received response message without id. No further error information provided.");else{let x=g.id,_=Te.get(x);if(ho(g,_),_!==void 0){Te.delete(x);try{if(g.error){let G=g.error;_.reject(new n.ResponseError(G.code,G.message,G.data))}else if(g.result!==void 0)_.resolve(g.result);else throw new Error("Should never happen.")}catch(G){G.message?S.error(`Response handler '${_.method}' failed with message: ${G.message}`):S.error(`Response handler '${_.method}' failed unexpectedly.`)}}}}s(so,"handleResponse");function oo(g){if(Ft())return;let x,_;if(g.method===u.type.method){let G=g.params.id;Se.delete(G),Lr(g);return}else{let G=ee.get(g.method);G&&(_=G.handler,x=G.type)}if(_||j)try{if(Lr(g),_)if(g.params===void 0)x!==void 0&&x.numberOfParams!==0&&x.parameterStructures!==n.ParameterStructures.byName&&S.error(`Notification ${g.method} defines ${x.numberOfParams} params but received none.`),_();else if(Array.isArray(g.params)){let G=g.params;g.method===c.type.method&&G.length===2&&l.is(G[0])?_({token:G[0],value:G[1]}):(x!==void 0&&(x.parameterStructures===n.ParameterStructures.byName&&S.error(`Notification ${g.method} defines parameters by name but received parameters by position`),x.numberOfParams!==g.params.length&&S.error(`Notification ${g.method} defines ${x.numberOfParams} params but received ${G.length} arguments`)),_(...G))}else x!==void 0&&x.parameterStructures===n.ParameterStructures.byPosition&&S.error(`Notification ${g.method} defines parameters by position but received parameters by name`),_(g.params);else j&&j(g.method,g.params)}catch(G){G.message?S.error(`Notification handler '${g.method}' failed with message: ${G.message}`):S.error(`Notification handler '${g.method}' failed unexpectedly.`)}else Fe.fire(g)}s(oo,"handleNotification");function lo(g){if(!g){S.error("Received empty message.");return}S.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(g,null,4)}`);let x=g;if(r.string(x.id)||r.number(x.id)){let _=x.id,G=Te.get(_);G&&G.reject(new Error("The received response has neither a result nor an error property."))}}s(lo,"handleInvalidMessage");function kt(g){if(g!=null)switch(J){case h.Verbose:return JSON.stringify(g,null,4);case h.Compact:return JSON.stringify(g);default:return}}s(kt,"stringifyTrace");function uo(g){if(!(J===h.Off||!le))if(Me===m.Text){let x;(J===h.Verbose||J===h.Compact)&&g.params&&(x=`Params: ${kt(g.params)} `),le.log(`Sending request '${g.method} - (${g.id})'.`,x)}else qt("send-request",g)}s(uo,"traceSendingRequest");function co(g){if(!(J===h.Off||!le))if(Me===m.Text){let x;(J===h.Verbose||J===h.Compact)&&(g.params?x=`Params: ${kt(g.params)} `:x=`No parameters provided. `),le.log(`Sending notification '${g.method}'.`,x)}else qt("send-notification",g)}s(co,"traceSendingNotification");function vr(g,x,_){if(!(J===h.Off||!le))if(Me===m.Text){let G;(J===h.Verbose||J===h.Compact)&&(g.error&&g.error.data?G=`Error data: ${kt(g.error.data)} `:g.result?G=`Result: ${kt(g.result)} `:g.error===void 0&&(G=`No result returned. `)),le.log(`Sending response '${x} - (${g.id})'. Processing request took ${Date.now()-_}ms`,G)}else qt("send-response",g)}s(vr,"traceSendingResponse");function po(g){if(!(J===h.Off||!le))if(Me===m.Text){let x;(J===h.Verbose||J===h.Compact)&&g.params&&(x=`Params: ${kt(g.params)} `),le.log(`Received request '${g.method} - (${g.id})'.`,x)}else qt("receive-request",g)}s(po,"traceReceivedRequest");function Lr(g){if(!(J===h.Off||!le||g.method===w.type.method))if(Me===m.Text){let x;(J===h.Verbose||J===h.Compact)&&(g.params?x=`Params: ${kt(g.params)} `:x=`No parameters provided. `),le.log(`Received notification '${g.method}'.`,x)}else qt("receive-notification",g)}s(Lr,"traceReceivedNotification");function ho(g,x){if(!(J===h.Off||!le))if(Me===m.Text){let _;if((J===h.Verbose||J===h.Compact)&&(g.error&&g.error.data?_=`Error data: ${kt(g.error.data)} `:g.result?_=`Result: ${kt(g.result)} `:g.error===void 0&&(_=`No result returned. `)),x){let G=g.error?` Request failed: ${g.error.message} (${g.error.code}).`:"";le.log(`Received response '${x.method} - (${g.id})' in ${Date.now()-x.timerStart}ms.${G}`,_)}else le.log(`Received response ${g.id} without active response promise.`,_)}else qt("receive-response",g)}s(ho,"traceReceivedResponse");function qt(g,x){if(!le||J===h.Off)return;let _={isLSPMessage:!0,type:g,message:x,timestamp:Date.now()};le.log(_)}s(qt,"logLSPMessage");function er(){if(Bn())throw new N(A.Closed,"Connection is closed.");if(Ft())throw new N(A.Disposed,"Connection is disposed.")}s(er,"throwIfClosedOrDisposed");function fo(){if(jn())throw new N(A.AlreadyListening,"Connection is already listening")}s(fo,"throwIfListening");function mo(){if(!jn())throw new Error("Call listen() first.")}s(mo,"throwIfNotListening");function f(g){return g===void 0?null:g}s(f,"undefinedToNull");function se(g){if(g!==null)return g}s(se,"nullToUndefined");function be(g){return g!=null&&!Array.isArray(g)&&typeof g=="object"}s(be,"isNamedParam");function H(g,x){switch(g){case n.ParameterStructures.auto:return be(x)?se(x):[f(x)];case n.ParameterStructures.byName:if(!be(x))throw new Error("Received parameters by name but param is not an object literal.");return se(x);case n.ParameterStructures.byPosition:return[f(x)];default:throw new Error(`Unknown parameter structure ${g.toString()}`)}}s(H,"computeSingleParam");function Le(g,x){let _,G=g.numberOfParams;switch(G){case 0:_=void 0;break;case 1:_=H(g.parameterStructures,x[0]);break;default:_=[];for(let ke=0;ke{er();let _,G;if(r.string(g)){_=g;let me=x[0],Ie=0,Oe=n.ParameterStructures.auto;n.ParameterStructures.is(me)&&(Ie=1,Oe=me);let ie=x.length,Ne=ie-Ie;switch(Ne){case 0:G=void 0;break;case 1:G=H(Oe,x[Ie]);break;default:if(Oe===n.ParameterStructures.byName)throw new Error(`Received ${Ne} parameters for 'by Name' notification parameter structure.`);G=x.slice(Ie,ie).map(ue=>f(ue));break}}else{let me=x;_=g.method,G=Le(g,me)}let ke={jsonrpc:z,method:_,params:G};return co(ke),b.write(ke).catch(me=>{throw S.error("Sending notification failed."),me})},"sendNotification"),onNotification:s((g,x)=>{er();let _;return r.func(g)?j=g:x&&(r.string(g)?(_=g,ee.set(g,{type:void 0,handler:x})):(_=g.method,ee.set(g.method,{type:g,handler:x}))),{dispose:s(()=>{_!==void 0?ee.delete(_):j=void 0},"dispose")}},"onNotification"),onProgress:s((g,x,_)=>{if(de.has(x))throw new Error(`Progress handler for token ${x} already registered`);return de.set(x,_),{dispose:s(()=>{de.delete(x)},"dispose")}},"onProgress"),sendProgress:s((g,x,_)=>Hn.sendNotification(c.type,{token:x,value:_}),"sendProgress"),onUnhandledProgress:Mt.event,sendRequest:s((g,...x)=>{er(),mo();let _,G,ke;if(r.string(g)){_=g;let ie=x[0],Ne=x[x.length-1],ue=0,Ue=n.ParameterStructures.auto;n.ParameterStructures.is(ie)&&(ue=1,Ue=ie);let Je=x.length;o.CancellationToken.is(Ne)&&(Je=Je-1,ke=Ne);let Ut=Je-ue;switch(Ut){case 0:G=void 0;break;case 1:G=H(Ue,x[ue]);break;default:if(Ue===n.ParameterStructures.byName)throw new Error(`Received ${Ut} parameters for 'by Name' request parameter structure.`);G=x.slice(ue,Je).map(Kv=>f(Kv));break}}else{let ie=x;_=g.method,G=Le(g,ie);let Ne=g.numberOfParams;ke=o.CancellationToken.is(ie[Ne])?ie[Ne]:void 0}let me=D++,Ie;ke&&(Ie=ke.onCancellationRequested(()=>{let ie=Re.sender.sendCancellation(Hn,me);return ie===void 0?(S.log(`Received no promise from cancellation strategy when cancelling id ${me}`),Promise.resolve()):ie.catch(()=>{S.log(`Sending cancellation messages for id ${me} failed`)})}));let Oe={jsonrpc:z,id:me,method:_,params:G};return uo(Oe),typeof Re.sender.enableCancellation=="function"&&Re.sender.enableCancellation(Oe),new Promise(async(ie,Ne)=>{let ue=s(Ut=>{ie(Ut),Re.sender.cleanup(me),Ie?.dispose()},"resolveWithCleanup"),Ue=s(Ut=>{Ne(Ut),Re.sender.cleanup(me),Ie?.dispose()},"rejectWithCleanup"),Je={method:_,timerStart:Date.now(),resolve:ue,reject:Ue};try{await b.write(Oe),Te.set(me,Je)}catch(Ut){throw S.error("Sending request failed."),Je.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,Ut.message?Ut.message:"Unknown reason")),Ut}})},"sendRequest"),onRequest:s((g,x)=>{er();let _=null;return p.is(g)?(_=void 0,q=g):r.string(g)?(_=null,x!==void 0&&(_=g,re.set(g,{handler:x,type:void 0}))):x!==void 0&&(_=g.method,re.set(g.method,{type:g,handler:x})),{dispose:s(()=>{_!==null&&(_!==void 0?re.delete(_):q=void 0)},"dispose")}},"onRequest"),hasPendingResponse:s(()=>Te.size>0,"hasPendingResponse"),trace:s(async(g,x,_)=>{let G=!1,ke=m.Text;_!==void 0&&(r.boolean(_)?G=_:(G=_.sendNotification||!1,ke=_.traceFormat||m.Text)),J=g,Me=ke,J===h.Off?le=void 0:le=x,G&&!Bn()&&!Ft()&&await Hn.sendNotification($.type,{value:h.toString(g)})},"trace"),onError:ve.event,onClose:F.event,onUnhandledNotification:Fe.event,onDispose:$t.event,end:s(()=>{b.end()},"end"),dispose:s(()=>{if(Ft())return;ze=oe.Disposed,$t.fire(void 0);let g=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let x of Te.values())x.reject(g);Te=new Map,fe=new Map,Se=new Set,he=new i.LinkedMap,r.func(b.dispose)&&b.dispose(),r.func(T.dispose)&&T.dispose()},"dispose"),listen:s(()=>{er(),fo(),ze=oe.Listening,T.listen(fl)},"listen"),inspect:s(()=>{(0,e.default)().console.log("inspect")},"inspect")};return Hn.onNotification(w.type,g=>{if(J===h.Off||!le)return;let x=J===h.Verbose||J===h.Compact;le.log(g.message,x?g.verbose:void 0)}),Hn.onNotification(c.type,g=>{let x=de.get(g.token);x?x(g.value):Mt.fire(g)}),Hn}s(Ze,"createMessageConnection"),t.createMessageConnection=Ze}),Ad=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;var e=am();Object.defineProperty(t,"Message",{enumerable:!0,get:s(function(){return e.Message},"get")}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:s(function(){return e.RequestType},"get")}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:s(function(){return e.RequestType0},"get")}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:s(function(){return e.RequestType1},"get")}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:s(function(){return e.RequestType2},"get")}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:s(function(){return e.RequestType3},"get")}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:s(function(){return e.RequestType4},"get")}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:s(function(){return e.RequestType5},"get")}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:s(function(){return e.RequestType6},"get")}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:s(function(){return e.RequestType7},"get")}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:s(function(){return e.RequestType8},"get")}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:s(function(){return e.RequestType9},"get")}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:s(function(){return e.ResponseError},"get")}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:s(function(){return e.ErrorCodes},"get")}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:s(function(){return e.NotificationType},"get")}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:s(function(){return e.NotificationType0},"get")}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:s(function(){return e.NotificationType1},"get")}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:s(function(){return e.NotificationType2},"get")}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:s(function(){return e.NotificationType3},"get")}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:s(function(){return e.NotificationType4},"get")}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:s(function(){return e.NotificationType5},"get")}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:s(function(){return e.NotificationType6},"get")}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:s(function(){return e.NotificationType7},"get")}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:s(function(){return e.NotificationType8},"get")}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:s(function(){return e.NotificationType9},"get")}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:s(function(){return e.ParameterStructures},"get")});var r=sm();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:s(function(){return r.LinkedMap},"get")}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:s(function(){return r.LRUCache},"get")}),Object.defineProperty(t,"Touch",{enumerable:!0,get:s(function(){return r.Touch},"get")});var n=Qv();Object.defineProperty(t,"Disposable",{enumerable:!0,get:s(function(){return n.Disposable},"get")});var i=Bs();Object.defineProperty(t,"Event",{enumerable:!0,get:s(function(){return i.Event},"get")}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:s(function(){return i.Emitter},"get")});var a=Iu();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:s(function(){return a.CancellationTokenSource},"get")}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:s(function(){return a.CancellationToken},"get")});var o=eR();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:s(function(){return o.SharedArraySenderStrategy},"get")}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:s(function(){return o.SharedArrayReceiverStrategy},"get")});var u=tR();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:s(function(){return u.MessageReader},"get")}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:s(function(){return u.AbstractMessageReader},"get")}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:s(function(){return u.ReadableStreamMessageReader},"get")});var l=rR();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:s(function(){return l.MessageWriter},"get")}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:s(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:s(function(){return l.WriteableStreamMessageWriter},"get")});var c=nR();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:s(function(){return c.AbstractMessageBuffer},"get")});var d=iR();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:s(function(){return d.ConnectionStrategy},"get")}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:s(function(){return d.ConnectionOptions},"get")}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:s(function(){return d.NullLogger},"get")}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:s(function(){return d.createMessageConnection},"get")}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:s(function(){return d.ProgressToken},"get")}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:s(function(){return d.ProgressType},"get")}),Object.defineProperty(t,"Trace",{enumerable:!0,get:s(function(){return d.Trace},"get")}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:s(function(){return d.TraceValues},"get")}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:s(function(){return d.TraceFormat},"get")}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:s(function(){return d.SetTraceNotification},"get")}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:s(function(){return d.LogTraceNotification},"get")}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:s(function(){return d.ConnectionErrors},"get")}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:s(function(){return d.ConnectionError},"get")}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:s(function(){return d.CancellationReceiverStrategy},"get")}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:s(function(){return d.CancellationSenderStrategy},"get")}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:s(function(){return d.CancellationStrategy},"get")}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:s(function(){return d.MessageStrategy},"get")});var p=Pn();t.RAL=p.default}),aR=X(t=>{var l,c,d;Object.defineProperty(t,"__esModule",{value:!0});var e=Ad(),r=(l=class extends e.AbstractMessageBuffer{constructor(h="utf-8"){super(h),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return l.emptyBuffer}fromString(h,y){return new TextEncoder().encode(h)}toString(h,y){return y==="ascii"?this.asciiDecoder.decode(h):new TextDecoder(y).decode(h)}asNative(h,y){return y===void 0?h:h.slice(0,y)}allocNative(h){return new Uint8Array(h)}},s(l,"MessageBuffer"),l);r.emptyBuffer=new Uint8Array(0);var n=(c=class{constructor(h){this.socket=h,this._onData=new e.Emitter,this._messageListener=y=>{y.data.arrayBuffer().then(m=>{this._onData.fire(new Uint8Array(m))},()=>{(0,e.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(h){return this.socket.addEventListener("close",h),e.Disposable.create(()=>this.socket.removeEventListener("close",h))}onError(h){return this.socket.addEventListener("error",h),e.Disposable.create(()=>this.socket.removeEventListener("error",h))}onEnd(h){return this.socket.addEventListener("end",h),e.Disposable.create(()=>this.socket.removeEventListener("end",h))}onData(h){return this._onData.event(h)}},s(c,"ReadableStreamWrapper"),c),i=(d=class{constructor(h){this.socket=h}onClose(h){return this.socket.addEventListener("close",h),e.Disposable.create(()=>this.socket.removeEventListener("close",h))}onError(h){return this.socket.addEventListener("error",h),e.Disposable.create(()=>this.socket.removeEventListener("error",h))}onEnd(h){return this.socket.addEventListener("end",h),e.Disposable.create(()=>this.socket.removeEventListener("end",h))}write(h,y){if(typeof h=="string"){if(y!==void 0&&y!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${y}`);this.socket.send(h)}else this.socket.send(h);return Promise.resolve()}end(){this.socket.close()}},s(d,"WritableStreamWrapper"),d),a=new TextEncoder,o=Object.freeze({messageBuffer:Object.freeze({create:s(p=>new r(p),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:s((p,h)=>{if(h.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${h.charset}`);return Promise.resolve(a.encode(JSON.stringify(p,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:s((p,h)=>{if(!(p instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(h.charset).decode(p)))},"decode")})}),stream:Object.freeze({asReadableStream:s(p=>new n(p),"asReadableStream"),asWritableStream:s(p=>new i(p),"asWritableStream")}),console,timer:Object.freeze({setTimeout(p,h,...y){let m=setTimeout(p,h,...y);return{dispose:s(()=>clearTimeout(m),"dispose")}},setImmediate(p,...h){let y=setTimeout(p,0,...h);return{dispose:s(()=>clearTimeout(y),"dispose")}},setInterval(p,h,...y){let m=setInterval(p,h,...y);return{dispose:s(()=>clearInterval(m),"dispose")}}})});function u(){return o}s(u,"RIL"),(function(p){function h(){e.RAL.install(o)}s(h,"install"),p.install=h})(u||(u={})),t.default=u}),Ws=X(t=>{var l,c;var e=t&&t.__createBinding||(Object.create?(function(d,p,h,y){y===void 0&&(y=h);var m=Object.getOwnPropertyDescriptor(p,h);(!m||("get"in m?!p.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:s(function(){return p[h]},"get")}),Object.defineProperty(d,y,m)}):(function(d,p,h,y){y===void 0&&(y=h),d[y]=p[h]})),r=t&&t.__exportStar||function(d,p){for(var h in d)h!=="default"&&!Object.prototype.hasOwnProperty.call(p,h)&&e(p,d,h)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0;var n=aR();n.default.install();var i=Ad();r(Ad(),t);var a=(l=class extends i.AbstractMessageReader{constructor(p){super(),this._onData=new i.Emitter,this._messageListener=h=>{this._onData.fire(h.data)},p.addEventListener("error",h=>this.fireError(h)),p.onmessage=this._messageListener}listen(p){return this._onData.event(p)}},s(l,"BrowserMessageReader"),l);t.BrowserMessageReader=a;var o=(c=class extends i.AbstractMessageWriter{constructor(p){super(),this.port=p,this.errorCount=0,p.addEventListener("error",h=>this.fireError(h))}write(p){try{return this.port.postMessage(p),Promise.resolve()}catch(h){return this.handleError(h,p),Promise.reject(h)}}handleError(p,h){this.errorCount++,this.fireError(p,h,this.errorCount)}end(){}},s(c,"BrowserMessageWriter"),c);t.BrowserMessageWriter=o;function u(d,p,h,y){return h===void 0&&(h=i.NullLogger),i.ConnectionStrategy.is(y)&&(y={connectionStrategy:y}),(0,i.createMessageConnection)(d,p,h,y)}s(u,"createMessageConnection"),t.createMessageConnection=u}),bf=X((t,e)=>{e.exports=Ws()}),we=X(t=>{var l,c,d,p,h;Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=t.MessageDirection=void 0;var e=Ws(),r;(function(y){y.clientToServer="clientToServer",y.serverToClient="serverToClient",y.both="both"})(r||(t.MessageDirection=r={}));var n=(l=class{constructor(m){this.method=m}},s(l,"RegistrationType"),l);t.RegistrationType=n;var i=(c=class extends e.RequestType0{constructor(m){super(m)}},s(c,"ProtocolRequestType0"),c);t.ProtocolRequestType0=i;var a=(d=class extends e.RequestType{constructor(m){super(m,e.ParameterStructures.byName)}},s(d,"ProtocolRequestType"),d);t.ProtocolRequestType=a;var o=(p=class extends e.NotificationType0{constructor(m){super(m)}},s(p,"ProtocolNotificationType0"),p);t.ProtocolNotificationType0=o;var u=(h=class extends e.NotificationType{constructor(m){super(m,e.ParameterStructures.byName)}},s(h,"ProtocolNotificationType"),h);t.ProtocolNotificationType=u}),up=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0;function e(d){return d===!0||d===!1}s(e,"boolean"),t.boolean=e;function r(d){return typeof d=="string"||d instanceof String}s(r,"string"),t.string=r;function n(d){return typeof d=="number"||d instanceof Number}s(n,"number"),t.number=n;function i(d){return d instanceof Error}s(i,"error"),t.error=i;function a(d){return typeof d=="function"}s(a,"func"),t.func=a;function o(d){return Array.isArray(d)}s(o,"array"),t.array=o;function u(d){return o(d)&&d.every(p=>r(p))}s(u,"stringArray"),t.stringArray=u;function l(d,p){return Array.isArray(d)&&d.every(p)}s(l,"typedArray"),t.typedArray=l;function c(d){return d!==null&&typeof d=="object"}s(c,"objectLiteral"),t.objectLiteral=c}),sR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;var e=we(),r;(function(n){n.method="textDocument/implementation",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.ImplementationRequest=r={}))}),oR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;var e=we(),r;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.TypeDefinitionRequest=r={}))}),lR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;var e=we(),r;(function(i){i.method="workspace/workspaceFolders",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(r||(t.WorkspaceFoldersRequest=r={}));var n;(function(i){i.method="workspace/didChangeWorkspaceFolders",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolNotificationType(i.method)})(n||(t.DidChangeWorkspaceFoldersNotification=n={}))}),uR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;var e=we(),r;(function(n){n.method="workspace/configuration",n.messageDirection=e.MessageDirection.serverToClient,n.type=new e.ProtocolRequestType(n.method)})(r||(t.ConfigurationRequest=r={}))}),cR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;var e=we(),r;(function(i){i.method="textDocument/documentColor",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(r||(t.DocumentColorRequest=r={}));var n;(function(i){i.method="textDocument/colorPresentation",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(n||(t.ColorPresentationRequest=n={}))}),dR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=void 0;var e=we(),r;(function(i){i.method="textDocument/foldingRange",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(r||(t.FoldingRangeRequest=r={}));var n;(function(i){i.method="workspace/foldingRange/refresh",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(n||(t.FoldingRangeRefreshRequest=n={}))}),pR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;var e=we(),r;(function(n){n.method="textDocument/declaration",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.DeclarationRequest=r={}))}),hR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;var e=we(),r;(function(n){n.method="textDocument/selectionRange",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.SelectionRangeRequest=r={}))}),fR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;var e=Ws(),r=we(),n;(function(o){o.type=new e.ProgressType;function u(l){return l===o.type}s(u,"is"),o.is=u})(n||(t.WorkDoneProgress=n={}));var i;(function(o){o.method="window/workDoneProgress/create",o.messageDirection=r.MessageDirection.serverToClient,o.type=new r.ProtocolRequestType(o.method)})(i||(t.WorkDoneProgressCreateRequest=i={}));var a;(function(o){o.method="window/workDoneProgress/cancel",o.messageDirection=r.MessageDirection.clientToServer,o.type=new r.ProtocolNotificationType(o.method)})(a||(t.WorkDoneProgressCancelNotification=a={}))}),mR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;var e=we(),r;(function(a){a.method="textDocument/prepareCallHierarchy",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(r||(t.CallHierarchyPrepareRequest=r={}));var n;(function(a){a.method="callHierarchy/incomingCalls",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(t.CallHierarchyIncomingCallsRequest=n={}));var i;(function(a){a.method="callHierarchy/outgoingCalls",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(t.CallHierarchyOutgoingCallsRequest=i={}))}),gR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=void 0;var e=we(),r;(function(l){l.Relative="relative"})(r||(t.TokenFormat=r={}));var n;(function(l){l.method="textDocument/semanticTokens",l.type=new e.RegistrationType(l.method)})(n||(t.SemanticTokensRegistrationType=n={}));var i;(function(l){l.method="textDocument/semanticTokens/full",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(i||(t.SemanticTokensRequest=i={}));var a;(function(l){l.method="textDocument/semanticTokens/full/delta",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(a||(t.SemanticTokensDeltaRequest=a={}));var o;(function(l){l.method="textDocument/semanticTokens/range",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(o||(t.SemanticTokensRangeRequest=o={}));var u;(function(l){l.method="workspace/semanticTokens/refresh",l.messageDirection=e.MessageDirection.serverToClient,l.type=new e.ProtocolRequestType0(l.method)})(u||(t.SemanticTokensRefreshRequest=u={}))}),yR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;var e=we(),r;(function(n){n.method="window/showDocument",n.messageDirection=e.MessageDirection.serverToClient,n.type=new e.ProtocolRequestType(n.method)})(r||(t.ShowDocumentRequest=r={}))}),TR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;var e=we(),r;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.LinkedEditingRangeRequest=r={}))}),vR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;var e=we(),r;(function(c){c.file="file",c.folder="folder"})(r||(t.FileOperationPatternKind=r={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolRequestType(c.method)})(n||(t.WillCreateFilesRequest=n={}));var i;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolNotificationType(c.method)})(i||(t.DidCreateFilesNotification=i={}));var a;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolRequestType(c.method)})(a||(t.WillRenameFilesRequest=a={}));var o;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolNotificationType(c.method)})(o||(t.DidRenameFilesNotification=o={}));var u;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolNotificationType(c.method)})(u||(t.DidDeleteFilesNotification=u={}));var l;(function(c){c.method="workspace/willDeleteFiles",c.messageDirection=e.MessageDirection.clientToServer,c.type=new e.ProtocolRequestType(c.method)})(l||(t.WillDeleteFilesRequest=l={}))}),RR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;var e=we(),r;(function(a){a.document="document",a.project="project",a.group="group",a.scheme="scheme",a.global="global"})(r||(t.UniquenessLevel=r={}));var n;(function(a){a.$import="import",a.$export="export",a.local="local"})(n||(t.MonikerKind=n={}));var i;(function(a){a.method="textDocument/moniker",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(t.MonikerRequest=i={}))}),ER=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchySubtypesRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchyPrepareRequest=void 0;var e=we(),r;(function(a){a.method="textDocument/prepareTypeHierarchy",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(r||(t.TypeHierarchyPrepareRequest=r={}));var n;(function(a){a.method="typeHierarchy/supertypes",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(t.TypeHierarchySupertypesRequest=n={}));var i;(function(a){a.method="typeHierarchy/subtypes",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(t.TypeHierarchySubtypesRequest=i={}))}),$R=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueRefreshRequest=t.InlineValueRequest=void 0;var e=we(),r;(function(i){i.method="textDocument/inlineValue",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(r||(t.InlineValueRequest=r={}));var n;(function(i){i.method="workspace/inlineValue/refresh",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(n||(t.InlineValueRefreshRequest=n={}))}),kR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=void 0;var e=we(),r;(function(a){a.method="textDocument/inlayHint",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(r||(t.InlayHintRequest=r={}));var n;(function(a){a.method="inlayHint/resolve",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(t.InlayHintResolveRequest=n={}));var i;(function(a){a.method="workspace/inlayHint/refresh",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType0(a.method)})(i||(t.InlayHintRefreshRequest=i={}))}),CR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=void 0;var e=Ws(),r=up(),n=we(),i;(function(c){function d(p){let h=p;return h&&r.boolean(h.retriggerRequest)}s(d,"is"),c.is=d})(i||(t.DiagnosticServerCancellationData=i={}));var a;(function(c){c.Full="full",c.Unchanged="unchanged"})(a||(t.DocumentDiagnosticReportKind=a={}));var o;(function(c){c.method="textDocument/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new e.ProgressType})(o||(t.DocumentDiagnosticRequest=o={}));var u;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new e.ProgressType})(u||(t.WorkspaceDiagnosticRequest=u={}));var l;(function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)})(l||(t.DiagnosticRefreshRequest=l={}))}),AR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=void 0;var e=(rl(),sp(wu)),r=up(),n=we(),i;(function(m){m.Markup=1,m.Code=2;function $(w){return w===1||w===2}s($,"is"),m.is=$})(i||(t.NotebookCellKind=i={}));var a;(function(m){function $(N,C){let I={executionOrder:N};return(C===!0||C===!1)&&(I.success=C),I}s($,"create"),m.create=$;function w(N){let C=N;return r.objectLiteral(C)&&e.uinteger.is(C.executionOrder)&&(C.success===void 0||r.boolean(C.success))}s(w,"is"),m.is=w;function A(N,C){return N===C?!0:N==null||C===null||C===void 0?!1:N.executionOrder===C.executionOrder&&N.success===C.success}s(A,"equals"),m.equals=A})(a||(t.ExecutionSummary=a={}));var o;(function(m){function $(C,I){return{kind:C,document:I}}s($,"create"),m.create=$;function w(C){let I=C;return r.objectLiteral(I)&&i.is(I.kind)&&e.DocumentUri.is(I.document)&&(I.metadata===void 0||r.objectLiteral(I.metadata))}s(w,"is"),m.is=w;function A(C,I){let Y=new Set;return C.document!==I.document&&Y.add("document"),C.kind!==I.kind&&Y.add("kind"),C.executionSummary!==I.executionSummary&&Y.add("executionSummary"),(C.metadata!==void 0||I.metadata!==void 0)&&!N(C.metadata,I.metadata)&&Y.add("metadata"),(C.executionSummary!==void 0||I.executionSummary!==void 0)&&!a.equals(C.executionSummary,I.executionSummary)&&Y.add("executionSummary"),Y}s(A,"diff"),m.diff=A;function N(C,I){if(C===I)return!0;if(C==null||I===null||I===void 0||typeof C!=typeof I||typeof C!="object")return!1;let Y=Array.isArray(C),ne=Array.isArray(I);if(Y!==ne)return!1;if(Y&&ne){if(C.length!==I.length)return!1;for(let Z=0;Z{Object.defineProperty(t,"__esModule",{value:!0}),t.InlineCompletionRequest=void 0;var e=we(),r;(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.InlineCompletionRequest=r={}))}),bR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;var e=we(),r=(rl(),sp(wu)),n=up(),i=sR();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:s(function(){return i.ImplementationRequest},"get")});var a=oR();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:s(function(){return a.TypeDefinitionRequest},"get")});var o=lR();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:s(function(){return o.WorkspaceFoldersRequest},"get")}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:s(function(){return o.DidChangeWorkspaceFoldersNotification},"get")});var u=uR();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:s(function(){return u.ConfigurationRequest},"get")});var l=cR();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:s(function(){return l.DocumentColorRequest},"get")}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:s(function(){return l.ColorPresentationRequest},"get")});var c=dR();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:s(function(){return c.FoldingRangeRequest},"get")}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:s(function(){return c.FoldingRangeRefreshRequest},"get")});var d=pR();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:s(function(){return d.DeclarationRequest},"get")});var p=hR();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:s(function(){return p.SelectionRangeRequest},"get")});var h=fR();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:s(function(){return h.WorkDoneProgress},"get")}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:s(function(){return h.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:s(function(){return h.WorkDoneProgressCancelNotification},"get")});var y=mR();Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:s(function(){return y.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:s(function(){return y.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:s(function(){return y.CallHierarchyPrepareRequest},"get")});var m=gR();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:s(function(){return m.TokenFormat},"get")}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:s(function(){return m.SemanticTokensRequest},"get")}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:s(function(){return m.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:s(function(){return m.SemanticTokensRangeRequest},"get")}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:s(function(){return m.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:s(function(){return m.SemanticTokensRegistrationType},"get")});var $=yR();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:s(function(){return $.ShowDocumentRequest},"get")});var w=TR();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:s(function(){return w.LinkedEditingRangeRequest},"get")});var A=vR();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:s(function(){return A.FileOperationPatternKind},"get")}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:s(function(){return A.DidCreateFilesNotification},"get")}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:s(function(){return A.WillCreateFilesRequest},"get")}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:s(function(){return A.DidRenameFilesNotification},"get")}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:s(function(){return A.WillRenameFilesRequest},"get")}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:s(function(){return A.DidDeleteFilesNotification},"get")}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:s(function(){return A.WillDeleteFilesRequest},"get")});var N=RR();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:s(function(){return N.UniquenessLevel},"get")}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:s(function(){return N.MonikerKind},"get")}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:s(function(){return N.MonikerRequest},"get")});var C=ER();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:s(function(){return C.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:s(function(){return C.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:s(function(){return C.TypeHierarchySupertypesRequest},"get")});var I=$R();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:s(function(){return I.InlineValueRequest},"get")}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:s(function(){return I.InlineValueRefreshRequest},"get")});var Y=kR();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:s(function(){return Y.InlayHintRequest},"get")}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:s(function(){return Y.InlayHintResolveRequest},"get")}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:s(function(){return Y.InlayHintRefreshRequest},"get")});var ne=CR();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:s(function(){return ne.DiagnosticServerCancellationData},"get")}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:s(function(){return ne.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:s(function(){return ne.DocumentDiagnosticRequest},"get")}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:s(function(){return ne.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:s(function(){return ne.DiagnosticRefreshRequest},"get")});var Z=AR();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:s(function(){return Z.NotebookCellKind},"get")}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:s(function(){return Z.ExecutionSummary},"get")}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:s(function(){return Z.NotebookCell},"get")}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:s(function(){return Z.NotebookDocument},"get")}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:s(function(){return Z.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:s(function(){return Z.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:s(function(){return Z.NotebookCellArrayChange},"get")}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:s(function(){return Z.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:s(function(){return Z.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:s(function(){return Z.DidCloseNotebookDocumentNotification},"get")});var ye=SR();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:s(function(){return ye.InlineCompletionRequest},"get")});var $e;(function(f){function se(be){let H=be;return n.string(H)||n.string(H.language)||n.string(H.scheme)||n.string(H.pattern)}s(se,"is"),f.is=se})($e||(t.TextDocumentFilter=$e={}));var Ae;(function(f){function se(be){let H=be;return n.objectLiteral(H)&&(n.string(H.notebookType)||n.string(H.scheme)||n.string(H.pattern))}s(se,"is"),f.is=se})(Ae||(t.NotebookDocumentFilter=Ae={}));var oe;(function(f){function se(be){let H=be;return n.objectLiteral(H)&&(n.string(H.notebook)||Ae.is(H.notebook))&&(H.language===void 0||n.string(H.language))}s(se,"is"),f.is=se})(oe||(t.NotebookCellTextDocumentFilter=oe={}));var Ze;(function(f){function se(be){if(!Array.isArray(be))return!1;for(let H of be)if(!n.string(H)&&!$e.is(H)&&!oe.is(H))return!1;return!0}s(se,"is"),f.is=se})(Ze||(t.DocumentSelector=Ze={}));var P;(function(f){f.method="client/registerCapability",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType(f.method)})(P||(t.RegistrationRequest=P={}));var k;(function(f){f.method="client/unregisterCapability",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType(f.method)})(k||(t.UnregistrationRequest=k={}));var T;(function(f){f.Create="create",f.Rename="rename",f.Delete="delete"})(T||(t.ResourceOperationKind=T={}));var b;(function(f){f.Abort="abort",f.Transactional="transactional",f.TextOnlyTransactional="textOnlyTransactional",f.Undo="undo"})(b||(t.FailureHandlingKind=b={}));var v;(function(f){f.UTF8="utf-8",f.UTF16="utf-16",f.UTF32="utf-32"})(v||(t.PositionEncodingKind=v={}));var R;(function(f){function se(be){let H=be;return H&&n.string(H.id)&&H.id.length>0}s(se,"hasId"),f.hasId=se})(R||(t.StaticRegistrationOptions=R={}));var S;(function(f){function se(be){let H=be;return H&&(H.documentSelector===null||Ze.is(H.documentSelector))}s(se,"is"),f.is=se})(S||(t.TextDocumentRegistrationOptions=S={}));var D;(function(f){function se(H){let Le=H;return n.objectLiteral(Le)&&(Le.workDoneProgress===void 0||n.boolean(Le.workDoneProgress))}s(se,"is"),f.is=se;function be(H){let Le=H;return Le&&n.boolean(Le.workDoneProgress)}s(be,"hasWorkDoneProgress"),f.hasWorkDoneProgress=be})(D||(t.WorkDoneProgressOptions=D={}));var M;(function(f){f.method="initialize",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(M||(t.InitializeRequest=M={}));var L;(function(f){f.unknownProtocolVersion=1})(L||(t.InitializeErrorCodes=L={}));var z;(function(f){f.method="initialized",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(z||(t.InitializedNotification=z={}));var q;(function(f){f.method="shutdown",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType0(f.method)})(q||(t.ShutdownRequest=q={}));var re;(function(f){f.method="exit",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType0(f.method)})(re||(t.ExitNotification=re={}));var j;(function(f){f.method="workspace/didChangeConfiguration",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(j||(t.DidChangeConfigurationNotification=j={}));var ee;(function(f){f.Error=1,f.Warning=2,f.Info=3,f.Log=4,f.Debug=5})(ee||(t.MessageType=ee={}));var de;(function(f){f.method="window/showMessage",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolNotificationType(f.method)})(de||(t.ShowMessageNotification=de={}));var pe;(function(f){f.method="window/showMessageRequest",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType(f.method)})(pe||(t.ShowMessageRequest=pe={}));var he;(function(f){f.method="window/logMessage",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolNotificationType(f.method)})(he||(t.LogMessageNotification=he={}));var Te;(function(f){f.method="telemetry/event",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolNotificationType(f.method)})(Te||(t.TelemetryEventNotification=Te={}));var Se;(function(f){f.None=0,f.Full=1,f.Incremental=2})(Se||(t.TextDocumentSyncKind=Se={}));var fe;(function(f){f.method="textDocument/didOpen",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(fe||(t.DidOpenTextDocumentNotification=fe={}));var J;(function(f){function se(H){let Le=H;return Le!=null&&typeof Le.text=="string"&&Le.range!==void 0&&(Le.rangeLength===void 0||typeof Le.rangeLength=="number")}s(se,"isIncremental"),f.isIncremental=se;function be(H){let Le=H;return Le!=null&&typeof Le.text=="string"&&Le.range===void 0&&Le.rangeLength===void 0}s(be,"isFull"),f.isFull=be})(J||(t.TextDocumentContentChangeEvent=J={}));var Me;(function(f){f.method="textDocument/didChange",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(Me||(t.DidChangeTextDocumentNotification=Me={}));var le;(function(f){f.method="textDocument/didClose",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(le||(t.DidCloseTextDocumentNotification=le={}));var ze;(function(f){f.method="textDocument/didSave",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(ze||(t.DidSaveTextDocumentNotification=ze={}));var ve;(function(f){f.Manual=1,f.AfterDelay=2,f.FocusOut=3})(ve||(t.TextDocumentSaveReason=ve={}));var F;(function(f){f.method="textDocument/willSave",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(F||(t.WillSaveTextDocumentNotification=F={}));var Fe;(function(f){f.method="textDocument/willSaveWaitUntil",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Fe||(t.WillSaveTextDocumentWaitUntilRequest=Fe={}));var Mt;(function(f){f.method="workspace/didChangeWatchedFiles",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(Mt||(t.DidChangeWatchedFilesNotification=Mt={}));var $t;(function(f){f.Created=1,f.Changed=2,f.Deleted=3})($t||(t.FileChangeType=$t={}));var Re;(function(f){function se(be){let H=be;return n.objectLiteral(H)&&(r.URI.is(H.baseUri)||r.WorkspaceFolder.is(H.baseUri))&&n.string(H.pattern)}s(se,"is"),f.is=se})(Re||(t.RelativePattern=Re={}));var zn;(function(f){f.Create=1,f.Change=2,f.Delete=4})(zn||(t.WatchKind=zn={}));var Js;(function(f){f.method="textDocument/publishDiagnostics",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolNotificationType(f.method)})(Js||(t.PublishDiagnosticsNotification=Js={}));var Qs;(function(f){f.Invoked=1,f.TriggerCharacter=2,f.TriggerForIncompleteCompletions=3})(Qs||(t.CompletionTriggerKind=Qs={}));var eo;(function(f){f.method="textDocument/completion",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(eo||(t.CompletionRequest=eo={}));var to;(function(f){f.method="completionItem/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(to||(t.CompletionResolveRequest=to={}));var jn;(function(f){f.method="textDocument/hover",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(jn||(t.HoverRequest=jn={}));var Bn;(function(f){f.Invoked=1,f.TriggerCharacter=2,f.ContentChange=3})(Bn||(t.SignatureHelpTriggerKind=Bn={}));var Ft;(function(f){f.method="textDocument/signatureHelp",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Ft||(t.SignatureHelpRequest=Ft={}));var Wn;(function(f){f.method="textDocument/definition",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Wn||(t.DefinitionRequest=Wn={}));var ro;(function(f){f.method="textDocument/references",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(ro||(t.ReferencesRequest=ro={}));var no;(function(f){f.method="textDocument/documentHighlight",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(no||(t.DocumentHighlightRequest=no={}));var Vn;(function(f){f.method="textDocument/documentSymbol",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Vn||(t.DocumentSymbolRequest=Vn={}));var Kn;(function(f){f.method="textDocument/codeAction",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Kn||(t.CodeActionRequest=Kn={}));var io;(function(f){f.method="codeAction/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(io||(t.CodeActionResolveRequest=io={}));var fl;(function(f){f.method="workspace/symbol",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(fl||(t.WorkspaceSymbolRequest=fl={}));var ao;(function(f){f.method="workspaceSymbol/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(ao||(t.WorkspaceSymbolResolveRequest=ao={}));var so;(function(f){f.method="textDocument/codeLens",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(so||(t.CodeLensRequest=so={}));var oo;(function(f){f.method="codeLens/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(oo||(t.CodeLensResolveRequest=oo={}));var lo;(function(f){f.method="workspace/codeLens/refresh",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType0(f.method)})(lo||(t.CodeLensRefreshRequest=lo={}));var kt;(function(f){f.method="textDocument/documentLink",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(kt||(t.DocumentLinkRequest=kt={}));var uo;(function(f){f.method="documentLink/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(uo||(t.DocumentLinkResolveRequest=uo={}));var co;(function(f){f.method="textDocument/formatting",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(co||(t.DocumentFormattingRequest=co={}));var vr;(function(f){f.method="textDocument/rangeFormatting",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(vr||(t.DocumentRangeFormattingRequest=vr={}));var po;(function(f){f.method="textDocument/rangesFormatting",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(po||(t.DocumentRangesFormattingRequest=po={}));var Lr;(function(f){f.method="textDocument/onTypeFormatting",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Lr||(t.DocumentOnTypeFormattingRequest=Lr={}));var ho;(function(f){f.Identifier=1})(ho||(t.PrepareSupportDefaultBehavior=ho={}));var qt;(function(f){f.method="textDocument/rename",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(qt||(t.RenameRequest=qt={}));var er;(function(f){f.method="textDocument/prepareRename",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(er||(t.PrepareRenameRequest=er={}));var fo;(function(f){f.method="workspace/executeCommand",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(fo||(t.ExecuteCommandRequest=fo={}));var mo;(function(f){f.method="workspace/applyEdit",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType("workspace/applyEdit")})(mo||(t.ApplyWorkspaceEditRequest=mo={}))}),NR=X(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;var e=Ws();function r(n,i,a,o){return e.ConnectionStrategy.is(o)&&(o={connectionStrategy:o}),(0,e.createMessageConnection)(n,i,a,o)}s(r,"createProtocolConnection"),t.createProtocolConnection=r}),xR=X(t=>{var e=t&&t.__createBinding||(Object.create?(function(a,o,u,l){l===void 0&&(l=u);var c=Object.getOwnPropertyDescriptor(o,u);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:s(function(){return o[u]},"get")}),Object.defineProperty(a,l,c)}):(function(a,o,u,l){l===void 0&&(l=u),a[l]=o[u]})),r=t&&t.__exportStar||function(a,o){for(var u in a)u!=="default"&&!Object.prototype.hasOwnProperty.call(o,u)&&e(o,a,u)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(Ws(),t),r((rl(),sp(wu)),t),r(we(),t),r(bR(),t);var n=NR();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:s(function(){return n.createProtocolConnection},"get")});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))}),wR=X(t=>{var e=t&&t.__createBinding||(Object.create?(function(a,o,u,l){l===void 0&&(l=u);var c=Object.getOwnPropertyDescriptor(o,u);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:s(function(){return o[u]},"get")}),Object.defineProperty(a,l,c)}):(function(a,o,u,l){l===void 0&&(l=u),a[l]=o[u]})),r=t&&t.__exportStar||function(a,o){for(var u in a)u!=="default"&&!Object.prototype.hasOwnProperty.call(o,u)&&e(o,a,u)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;var n=bf();r(bf(),t),r(xR(),t);function i(a,o,u,l){return(0,n.createMessageConnection)(a,o,u,l)}s(i,"createProtocolConnection"),t.createProtocolConnection=i}),lm={};wr(lm,{AbstractAstReflection:()=>pp,AbstractCstNode:()=>Fh,AbstractLangiumParser:()=>Uh,AbstractParserErrorMessageProvider:()=>kT,AbstractThreadedAsyncParser:()=>xE,AstUtils:()=>hp,BiMap:()=>ku,Cancellation:()=>Ee,CompositeCstNodeImpl:()=>rc,ContextCache:()=>uc,CstNodeBuilder:()=>RT,CstUtils:()=>cp,DEFAULT_TOKENIZE_OPTIONS:()=>af,DONE_RESULT:()=>Qe,DatatypeSymbol:()=>vu,DefaultAstNodeDescriptionProvider:()=>QT,DefaultAstNodeLocator:()=>tv,DefaultAsyncParser:()=>vv,DefaultCommentProvider:()=>Tv,DefaultConfigurationProvider:()=>rv,DefaultDocumentBuilder:()=>nv,DefaultDocumentValidator:()=>JT,DefaultHydrator:()=>Ev,DefaultIndexManager:()=>iv,DefaultJsonSerializer:()=>HT,DefaultLangiumDocumentFactory:()=>qT,DefaultLangiumDocuments:()=>UT,DefaultLangiumProfiler:()=>LE,DefaultLexer:()=>sf,DefaultLexerErrorMessageProvider:()=>sv,DefaultLinker:()=>GT,DefaultNameProvider:()=>zT,DefaultReferenceDescriptionProvider:()=>ev,DefaultReferences:()=>jT,DefaultScopeComputation:()=>BT,DefaultScopeProvider:()=>KT,DefaultServiceRegistry:()=>XT,DefaultTokenBuilder:()=>ac,DefaultValueConverter:()=>Kh,DefaultWorkspaceLock:()=>Rv,DefaultWorkspaceManager:()=>av,Deferred:()=>fr,Disposable:()=>on,DisposableCache:()=>lc,DocumentCache:()=>VT,DocumentState:()=>Q,DocumentValidator:()=>Ct,EMPTY_SCOPE:()=>AE,EMPTY_STREAM:()=>_s,EmptyFileSystem:()=>Tr,EmptyFileSystemProvider:()=>Cv,ErrorWithLocation:()=>Uu,GrammarAST:()=>dm,GrammarUtils:()=>jp,IndentationAwareLexer:()=>IE,IndentationAwareTokenBuilder:()=>kv,JSDocDocumentationProvider:()=>yv,LangiumCompletionParser:()=>CT,LangiumParser:()=>$T,LangiumParserErrorMessageProvider:()=>Gh,LeafCstNodeImpl:()=>Tu,LexingMode:()=>an,MapScope:()=>CE,Module:()=>Xd,MultiMap:()=>mr,MultiMapScope:()=>WT,OperationCancelled:()=>Kt,ParserWorker:()=>wE,ProfilingTask:()=>Sv,Reduction:()=>Ko,RefResolving:()=>Ur,RegExpUtils:()=>Wp,RootCstNodeImpl:()=>qh,SimpleCache:()=>Qh,StreamImpl:()=>Vt,StreamScope:()=>Wd,TextDocument:()=>Eu,TreeStreamImpl:()=>Ms,URI:()=>gt,UriTrie:()=>Zh,UriUtils:()=>tt,VALIDATE_EACH_NODE:()=>ZT,ValidationCategory:()=>Cu,ValidationRegistry:()=>YT,ValueConverter:()=>Bt,WorkspaceCache:()=>ef,assertCondition:()=>Bp,assertUnreachable:()=>Ir,createCompletionParser:()=>Bh,createDefaultCoreModule:()=>Zt,createDefaultSharedCoreModule:()=>Jt,createGrammarConfig:()=>uh,createLangiumParser:()=>Wh,createParser:()=>nc,delayNextTick:()=>sc,diagnosticData:()=>nn,eagerLoad:()=>hf,getDiagnosticRange:()=>rf,indentationBuilderDefaultOptions:()=>Zd,inject:()=>Ve,interruptAndCheck:()=>We,isAstNode:()=>qe,isAstNodeDescription:()=>dp,isAstNodeWithComment:()=>tf,isCompositeCstNode:()=>lr,isIMultiModeLexerDefinition:()=>pc,isJSDoc:()=>lf,isLeafCstNode:()=>Dn,isLinkingError:()=>jr,isMultiReference:()=>Ht,isNamed:()=>Jh,isOperationCancelled:()=>Un,isReference:()=>et,isRootCstNode:()=>Pu,isTokenTypeArray:()=>dc,isTokenTypeDictionary:()=>Au,loadGrammarFromJson:()=>Qt,parseJSDoc:()=>of,prepareLangiumParser:()=>Vh,setInterruptionPeriod:()=>Hh,startCancelableOperation:()=>oc,stream:()=>ce,toDiagnosticData:()=>nf,toDiagnosticSeverity:()=>jo});var cp={};wr(cp,{DefaultNameRegexp:()=>Fp,RangeComparison:()=>Wt,compareRange:()=>_p,findCommentNode:()=>qp,findDeclarationNodeAtOffset:()=>wm,findLeafNodeAtOffset:()=>qu,findLeafNodeBeforeOffset:()=>Up,flattenCst:()=>xm,getDatatypeNode:()=>Nm,getInteriorNodes:()=>Dm,getNextNode:()=>Im,getPreviousNode:()=>zp,getStartlineNode:()=>Pm,inRange:()=>Mp,isChildNode:()=>Op,isCommentNode:()=>au,streamCst:()=>Gs,toDocumentSegment:()=>zs,tokenToRange:()=>Ho});function qe(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}s(qe,"isAstNode");function et(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}s(et,"isReference");function Ht(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}s(Ht,"isMultiReference");function dp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}s(dp,"isAstNodeDescription");function jr(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}s(jr,"isLinkingError");var vi,pp=(vi=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){return this.types[e]||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return qe(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 a=this.types[e],o=a?a.superTypes.some(u=>this.isSubtype(u,r)):!1;return n[r]=o,o}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}},s(vi,"AbstractAstReflection"),vi);function lr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}s(lr,"isCompositeCstNode");function Dn(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}s(Dn,"isLeafCstNode");function Pu(t){return lr(t)&&typeof t.fullText=="string"}s(Pu,"isRootCstNode");var ct,Vt=(ct=class{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[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){return new ct(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Qe})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=um(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=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 ct(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Qe:{done:!1,value:e(i)}})}filter(e){return new ct(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Qe})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=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 a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,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 ct(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(Vo(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Qe})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new ct(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let o=n.iterator.next();if(o.done)n.iterator=void 0;else return o}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(Vo(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Qe})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new ct(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Qe:this.nextFn(r.state)))}distinct(e){return new ct(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Qe})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}},s(ct,"StreamImpl"),ct);function um(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}s(um,"toString");function Vo(t){return!!t&&typeof t[Symbol.iterator]=="function"}s(Vo,"isIterable");var _s=new Vt(()=>{},()=>Qe),Qe=Object.freeze({done:!0,value:void 0});function ce(...t){if(t.length===1){let e=t[0];if(e instanceof Vt)return e;if(Vo(e))return new Vt(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Vt(()=>({index:0}),r=>r.index1?new Vt(()=>({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({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 a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(r(a.value)[Symbol.iterator]()),a}return Qe})}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),prune:s(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},s(Ri,"TreeStreamImpl"),Ri),Ko;(function(t){function e(a){return a.reduce((o,u)=>o+u,0)}s(e,"sum"),t.sum=e;function r(a){return a.reduce((o,u)=>o*u,0)}s(r,"product"),t.product=r;function n(a){return a.reduce((o,u)=>Math.min(o,u))}s(n,"min"),t.min=n;function i(a){return a.reduce((o,u)=>Math.max(o,u))}s(i,"max"),t.max=i})(Ko||(Ko={}));var hp={};wr(hp,{assignMandatoryProperties:()=>fp,copyAstNode:()=>Wl,findRootNode:()=>yi,getContainerOfType:()=>Ln,getDocument:()=>Pt,getReferenceNodes:()=>jl,hasContainerOfType:()=>cm,linkContentToContainer:()=>Fs,streamAllContents:()=>gr,streamAst:()=>Dt,streamContents:()=>il,streamReferences:()=>qs});function Fs(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{qe(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&Fs(i,e))}):qe(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&Fs(n,e)))}s(Fs,"linkContentToContainer");function Ln(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}s(Ln,"getContainerOfType");function cm(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}s(cm,"hasContainerOfType");function Pt(t){let e=yi(t).$document;if(!e)throw new Error("AST node has no document.");return e}s(Pt,"getDocument");function yi(t){for(;t.$container;)t=t.$container;return t}s(yi,"findRootNode");function jl(t){return et(t)?t.ref?[t.ref]:[]:Ht(t)?t.items.map(e=>e.ref):[]}s(jl,"getReferenceNodes");function il(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new Vt(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexil(r,e))}s(gr,"streamAllContents");function Dt(t,e){if(t){if(e?.range&&!Bl(t,e.range))return new Ms(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Ms(t,r=>il(r,e),{includeRoot:!0})}s(Dt,"streamAst");function Bl(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Mp(r,e):!1}s(Bl,"isAstNodeInRange");function qs(t){return new Vt(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexlt,AbstractParserRule:()=>Do,AbstractRule:()=>ui,AbstractType:()=>ft,Action:()=>Rr,Alternatives:()=>Lo,ArrayLiteral:()=>Vl,ArrayType:()=>Kl,Assignment:()=>Er,BooleanLiteral:()=>Hl,CharacterRange:()=>$r,Condition:()=>kr,Conjunction:()=>Oo,CrossReference:()=>Cr,Disjunction:()=>_o,EndOfFile:()=>Xl,Grammar:()=>nr,GrammarImport:()=>Yl,Group:()=>Br,InferredType:()=>Zl,InfixRule:()=>jt,InfixRuleOperatorList:()=>Mo,InfixRuleOperators:()=>Jl,Interface:()=>ci,Keyword:()=>di,LangiumGrammarAstReflection:()=>Lp,LangiumGrammarTerminals:()=>IR,NamedArgument:()=>pi,NegatedToken:()=>Wr,Negation:()=>Ql,NumberLiteral:()=>eu,Parameter:()=>hi,ParameterReference:()=>tu,ParserRule:()=>Nt,ReferenceType:()=>Fo,RegexToken:()=>Vr,ReturnType:()=>ru,RuleCall:()=>Kr,SimpleType:()=>fi,StringLiteral:()=>nu,TerminalAlternatives:()=>Hr,TerminalElement:()=>ut,TerminalGroup:()=>Xr,TerminalRule:()=>ir,TerminalRuleCall:()=>Yr,Type:()=>qo,TypeAttribute:()=>Zr,TypeDefinition:()=>Jr,UnionType:()=>iu,UnorderedGroup:()=>Uo,UntilToken:()=>Qr,ValueLiteral:()=>en,Wildcard:()=>mi,isAbstractElement:()=>Du,isAbstractParserRule:()=>On,isAbstractRule:()=>pm,isAbstractType:()=>hm,isAction:()=>Sr,isAlternatives:()=>Lu,isArrayLiteral:()=>fm,isArrayType:()=>gp,isAssignment:()=>ur,isBooleanLiteral:()=>yp,isCharacterRange:()=>Tp,isCondition:()=>mm,isConjunction:()=>vp,isCrossReference:()=>_n,isDisjunction:()=>Rp,isEndOfFile:()=>Ep,isGrammar:()=>gm,isGrammarImport:()=>ym,isGroup:()=>Mn,isInferredType:()=>al,isInfixRule:()=>Us,isInfixRuleOperatorList:()=>Tm,isInfixRuleOperators:()=>vm,isInterface:()=>$p,isKeyword:()=>cr,isNamedArgument:()=>Rm,isNegatedToken:()=>kp,isNegation:()=>Cp,isNumberLiteral:()=>Em,isParameter:()=>$m,isParameterReference:()=>Ap,isParserRule:()=>it,isReferenceType:()=>Sp,isRegexToken:()=>bp,isReturnType:()=>Np,isRuleCall:()=>dr,isSimpleType:()=>Ou,isStringLiteral:()=>km,isTerminalAlternatives:()=>xp,isTerminalElement:()=>Cm,isTerminalGroup:()=>wp,isTerminalRule:()=>bt,isTerminalRuleCall:()=>_u,isType:()=>Mu,isTypeAttribute:()=>Am,isTypeDefinition:()=>Sm,isUnionType:()=>Ip,isUnorderedGroup:()=>Fu,isUntilToken:()=>Pp,isValueLiteral:()=>bm,isWildcard:()=>Dp,reflection:()=>W});var IR={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},lt={$type:"AbstractElement",cardinality:"cardinality"};function Du(t){return W.isInstance(t,lt.$type)}s(Du,"isAbstractElement");var Do={$type:"AbstractParserRule"};function On(t){return W.isInstance(t,Do.$type)}s(On,"isAbstractParserRule");var ui={$type:"AbstractRule"};function pm(t){return W.isInstance(t,ui.$type)}s(pm,"isAbstractRule");var ft={$type:"AbstractType"};function hm(t){return W.isInstance(t,ft.$type)}s(hm,"isAbstractType");var Rr={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Sr(t){return W.isInstance(t,Rr.$type)}s(Sr,"isAction");var Lo={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Lu(t){return W.isInstance(t,Lo.$type)}s(Lu,"isAlternatives");var Vl={$type:"ArrayLiteral",elements:"elements"};function fm(t){return W.isInstance(t,Vl.$type)}s(fm,"isArrayLiteral");var Kl={$type:"ArrayType",elementType:"elementType"};function gp(t){return W.isInstance(t,Kl.$type)}s(gp,"isArrayType");var Er={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function ur(t){return W.isInstance(t,Er.$type)}s(ur,"isAssignment");var Hl={$type:"BooleanLiteral",true:"true"};function yp(t){return W.isInstance(t,Hl.$type)}s(yp,"isBooleanLiteral");var $r={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Tp(t){return W.isInstance(t,$r.$type)}s(Tp,"isCharacterRange");var kr={$type:"Condition"};function mm(t){return W.isInstance(t,kr.$type)}s(mm,"isCondition");var Oo={$type:"Conjunction",left:"left",right:"right"};function vp(t){return W.isInstance(t,Oo.$type)}s(vp,"isConjunction");var Cr={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function _n(t){return W.isInstance(t,Cr.$type)}s(_n,"isCrossReference");var _o={$type:"Disjunction",left:"left",right:"right"};function Rp(t){return W.isInstance(t,_o.$type)}s(Rp,"isDisjunction");var Xl={$type:"EndOfFile",cardinality:"cardinality"};function Ep(t){return W.isInstance(t,Xl.$type)}s(Ep,"isEndOfFile");var nr={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function gm(t){return W.isInstance(t,nr.$type)}s(gm,"isGrammar");var Yl={$type:"GrammarImport",path:"path"};function ym(t){return W.isInstance(t,Yl.$type)}s(ym,"isGrammarImport");var Br={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Mn(t){return W.isInstance(t,Br.$type)}s(Mn,"isGroup");var Zl={$type:"InferredType",name:"name"};function al(t){return W.isInstance(t,Zl.$type)}s(al,"isInferredType");var jt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Us(t){return W.isInstance(t,jt.$type)}s(Us,"isInfixRule");var Mo={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function Tm(t){return W.isInstance(t,Mo.$type)}s(Tm,"isInfixRuleOperatorList");var Jl={$type:"InfixRuleOperators",precedences:"precedences"};function vm(t){return W.isInstance(t,Jl.$type)}s(vm,"isInfixRuleOperators");var ci={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function $p(t){return W.isInstance(t,ci.$type)}s($p,"isInterface");var di={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function cr(t){return W.isInstance(t,di.$type)}s(cr,"isKeyword");var pi={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function Rm(t){return W.isInstance(t,pi.$type)}s(Rm,"isNamedArgument");var Wr={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function kp(t){return W.isInstance(t,Wr.$type)}s(kp,"isNegatedToken");var Ql={$type:"Negation",value:"value"};function Cp(t){return W.isInstance(t,Ql.$type)}s(Cp,"isNegation");var eu={$type:"NumberLiteral",value:"value"};function Em(t){return W.isInstance(t,eu.$type)}s(Em,"isNumberLiteral");var hi={$type:"Parameter",name:"name"};function $m(t){return W.isInstance(t,hi.$type)}s($m,"isParameter");var tu={$type:"ParameterReference",parameter:"parameter"};function Ap(t){return W.isInstance(t,tu.$type)}s(Ap,"isParameterReference");var Nt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function it(t){return W.isInstance(t,Nt.$type)}s(it,"isParserRule");var Fo={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Sp(t){return W.isInstance(t,Fo.$type)}s(Sp,"isReferenceType");var Vr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function bp(t){return W.isInstance(t,Vr.$type)}s(bp,"isRegexToken");var ru={$type:"ReturnType",name:"name"};function Np(t){return W.isInstance(t,ru.$type)}s(Np,"isReturnType");var Kr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function dr(t){return W.isInstance(t,Kr.$type)}s(dr,"isRuleCall");var fi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Ou(t){return W.isInstance(t,fi.$type)}s(Ou,"isSimpleType");var nu={$type:"StringLiteral",value:"value"};function km(t){return W.isInstance(t,nu.$type)}s(km,"isStringLiteral");var Hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function xp(t){return W.isInstance(t,Hr.$type)}s(xp,"isTerminalAlternatives");var ut={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Cm(t){return W.isInstance(t,ut.$type)}s(Cm,"isTerminalElement");var Xr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function wp(t){return W.isInstance(t,Xr.$type)}s(wp,"isTerminalGroup");var ir={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function bt(t){return W.isInstance(t,ir.$type)}s(bt,"isTerminalRule");var Yr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function _u(t){return W.isInstance(t,Yr.$type)}s(_u,"isTerminalRuleCall");var qo={$type:"Type",name:"name",type:"type"};function Mu(t){return W.isInstance(t,qo.$type)}s(Mu,"isType");var Zr={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function Am(t){return W.isInstance(t,Zr.$type)}s(Am,"isTypeAttribute");var Jr={$type:"TypeDefinition"};function Sm(t){return W.isInstance(t,Jr.$type)}s(Sm,"isTypeDefinition");var iu={$type:"UnionType",types:"types"};function Ip(t){return W.isInstance(t,iu.$type)}s(Ip,"isUnionType");var Uo={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Fu(t){return W.isInstance(t,Uo.$type)}s(Fu,"isUnorderedGroup");var Qr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Pp(t){return W.isInstance(t,Qr.$type)}s(Pp,"isUntilToken");var en={$type:"ValueLiteral"};function bm(t){return W.isInstance(t,en.$type)}s(bm,"isValueLiteral");var mi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Dp(t){return W.isInstance(t,mi.$type)}s(Dp,"isWildcard");var Ei,Lp=(Ei=class extends pp{constructor(){super(...arguments),this.types={AbstractElement:{name:lt.$type,properties:{cardinality:{name:lt.cardinality}},superTypes:[]},AbstractParserRule:{name:Do.$type,properties:{},superTypes:[ui.$type,ft.$type]},AbstractRule:{name:ui.$type,properties:{},superTypes:[]},AbstractType:{name:ft.$type,properties:{},superTypes:[]},Action:{name:Rr.$type,properties:{cardinality:{name:Rr.cardinality},feature:{name:Rr.feature},inferredType:{name:Rr.inferredType},operator:{name:Rr.operator},type:{name:Rr.type,referenceType:ft.$type}},superTypes:[lt.$type]},Alternatives:{name:Lo.$type,properties:{cardinality:{name:Lo.cardinality},elements:{name:Lo.elements,defaultValue:[]}},superTypes:[lt.$type]},ArrayLiteral:{name:Vl.$type,properties:{elements:{name:Vl.elements,defaultValue:[]}},superTypes:[en.$type]},ArrayType:{name:Kl.$type,properties:{elementType:{name:Kl.elementType}},superTypes:[Jr.$type]},Assignment:{name:Er.$type,properties:{cardinality:{name:Er.cardinality},feature:{name:Er.feature},operator:{name:Er.operator},predicate:{name:Er.predicate},terminal:{name:Er.terminal}},superTypes:[lt.$type]},BooleanLiteral:{name:Hl.$type,properties:{true:{name:Hl.true,defaultValue:!1}},superTypes:[kr.$type,en.$type]},CharacterRange:{name:$r.$type,properties:{cardinality:{name:$r.cardinality},left:{name:$r.left},lookahead:{name:$r.lookahead},parenthesized:{name:$r.parenthesized,defaultValue:!1},right:{name:$r.right}},superTypes:[ut.$type]},Condition:{name:kr.$type,properties:{},superTypes:[]},Conjunction:{name:Oo.$type,properties:{left:{name:Oo.left},right:{name:Oo.right}},superTypes:[kr.$type]},CrossReference:{name:Cr.$type,properties:{cardinality:{name:Cr.cardinality},deprecatedSyntax:{name:Cr.deprecatedSyntax,defaultValue:!1},isMulti:{name:Cr.isMulti,defaultValue:!1},terminal:{name:Cr.terminal},type:{name:Cr.type,referenceType:ft.$type}},superTypes:[lt.$type]},Disjunction:{name:_o.$type,properties:{left:{name:_o.left},right:{name:_o.right}},superTypes:[kr.$type]},EndOfFile:{name:Xl.$type,properties:{cardinality:{name:Xl.cardinality}},superTypes:[lt.$type]},Grammar:{name:nr.$type,properties:{imports:{name:nr.imports,defaultValue:[]},interfaces:{name:nr.interfaces,defaultValue:[]},isDeclared:{name:nr.isDeclared,defaultValue:!1},name:{name:nr.name},rules:{name:nr.rules,defaultValue:[]},types:{name:nr.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Yl.$type,properties:{path:{name:Yl.path}},superTypes:[]},Group:{name:Br.$type,properties:{cardinality:{name:Br.cardinality},elements:{name:Br.elements,defaultValue:[]},guardCondition:{name:Br.guardCondition},predicate:{name:Br.predicate}},superTypes:[lt.$type]},InferredType:{name:Zl.$type,properties:{name:{name:Zl.name}},superTypes:[ft.$type]},InfixRule:{name:jt.$type,properties:{call:{name:jt.call},dataType:{name:jt.dataType},inferredType:{name:jt.inferredType},name:{name:jt.name},operators:{name:jt.operators},parameters:{name:jt.parameters,defaultValue:[]},returnType:{name:jt.returnType,referenceType:ft.$type}},superTypes:[Do.$type]},InfixRuleOperatorList:{name:Mo.$type,properties:{associativity:{name:Mo.associativity},operators:{name:Mo.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Jl.$type,properties:{precedences:{name:Jl.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:ci.$type,properties:{attributes:{name:ci.attributes,defaultValue:[]},name:{name:ci.name},superTypes:{name:ci.superTypes,defaultValue:[],referenceType:ft.$type}},superTypes:[ft.$type]},Keyword:{name:di.$type,properties:{cardinality:{name:di.cardinality},predicate:{name:di.predicate},value:{name:di.value}},superTypes:[lt.$type]},NamedArgument:{name:pi.$type,properties:{calledByName:{name:pi.calledByName,defaultValue:!1},parameter:{name:pi.parameter,referenceType:hi.$type},value:{name:pi.value}},superTypes:[]},NegatedToken:{name:Wr.$type,properties:{cardinality:{name:Wr.cardinality},lookahead:{name:Wr.lookahead},parenthesized:{name:Wr.parenthesized,defaultValue:!1},terminal:{name:Wr.terminal}},superTypes:[ut.$type]},Negation:{name:Ql.$type,properties:{value:{name:Ql.value}},superTypes:[kr.$type]},NumberLiteral:{name:eu.$type,properties:{value:{name:eu.value}},superTypes:[en.$type]},Parameter:{name:hi.$type,properties:{name:{name:hi.name}},superTypes:[]},ParameterReference:{name:tu.$type,properties:{parameter:{name:tu.parameter,referenceType:hi.$type}},superTypes:[kr.$type]},ParserRule:{name:Nt.$type,properties:{dataType:{name:Nt.dataType},definition:{name:Nt.definition},entry:{name:Nt.entry,defaultValue:!1},fragment:{name:Nt.fragment,defaultValue:!1},inferredType:{name:Nt.inferredType},name:{name:Nt.name},parameters:{name:Nt.parameters,defaultValue:[]},returnType:{name:Nt.returnType,referenceType:ft.$type}},superTypes:[Do.$type]},ReferenceType:{name:Fo.$type,properties:{isMulti:{name:Fo.isMulti,defaultValue:!1},referenceType:{name:Fo.referenceType}},superTypes:[Jr.$type]},RegexToken:{name:Vr.$type,properties:{cardinality:{name:Vr.cardinality},lookahead:{name:Vr.lookahead},parenthesized:{name:Vr.parenthesized,defaultValue:!1},regex:{name:Vr.regex}},superTypes:[ut.$type]},ReturnType:{name:ru.$type,properties:{name:{name:ru.name}},superTypes:[]},RuleCall:{name:Kr.$type,properties:{arguments:{name:Kr.arguments,defaultValue:[]},cardinality:{name:Kr.cardinality},predicate:{name:Kr.predicate},rule:{name:Kr.rule,referenceType:ui.$type}},superTypes:[lt.$type]},SimpleType:{name:fi.$type,properties:{primitiveType:{name:fi.primitiveType},stringType:{name:fi.stringType},typeRef:{name:fi.typeRef,referenceType:ft.$type}},superTypes:[Jr.$type]},StringLiteral:{name:nu.$type,properties:{value:{name:nu.value}},superTypes:[en.$type]},TerminalAlternatives:{name:Hr.$type,properties:{cardinality:{name:Hr.cardinality},elements:{name:Hr.elements,defaultValue:[]},lookahead:{name:Hr.lookahead},parenthesized:{name:Hr.parenthesized,defaultValue:!1}},superTypes:[ut.$type]},TerminalElement:{name:ut.$type,properties:{cardinality:{name:ut.cardinality},lookahead:{name:ut.lookahead},parenthesized:{name:ut.parenthesized,defaultValue:!1}},superTypes:[lt.$type]},TerminalGroup:{name:Xr.$type,properties:{cardinality:{name:Xr.cardinality},elements:{name:Xr.elements,defaultValue:[]},lookahead:{name:Xr.lookahead},parenthesized:{name:Xr.parenthesized,defaultValue:!1}},superTypes:[ut.$type]},TerminalRule:{name:ir.$type,properties:{definition:{name:ir.definition},fragment:{name:ir.fragment,defaultValue:!1},hidden:{name:ir.hidden,defaultValue:!1},name:{name:ir.name},type:{name:ir.type}},superTypes:[ui.$type]},TerminalRuleCall:{name:Yr.$type,properties:{cardinality:{name:Yr.cardinality},lookahead:{name:Yr.lookahead},parenthesized:{name:Yr.parenthesized,defaultValue:!1},rule:{name:Yr.rule,referenceType:ir.$type}},superTypes:[ut.$type]},Type:{name:qo.$type,properties:{name:{name:qo.name},type:{name:qo.type}},superTypes:[ft.$type]},TypeAttribute:{name:Zr.$type,properties:{defaultValue:{name:Zr.defaultValue},isOptional:{name:Zr.isOptional,defaultValue:!1},name:{name:Zr.name},type:{name:Zr.type}},superTypes:[]},TypeDefinition:{name:Jr.$type,properties:{},superTypes:[]},UnionType:{name:iu.$type,properties:{types:{name:iu.types,defaultValue:[]}},superTypes:[Jr.$type]},UnorderedGroup:{name:Uo.$type,properties:{cardinality:{name:Uo.cardinality},elements:{name:Uo.elements,defaultValue:[]}},superTypes:[lt.$type]},UntilToken:{name:Qr.$type,properties:{cardinality:{name:Qr.cardinality},lookahead:{name:Qr.lookahead},parenthesized:{name:Qr.parenthesized,defaultValue:!1},terminal:{name:Qr.terminal}},superTypes:[ut.$type]},ValueLiteral:{name:en.$type,properties:{},superTypes:[]},Wildcard:{name:mi.$type,properties:{cardinality:{name:mi.cardinality},lookahead:{name:mi.lookahead},parenthesized:{name:mi.parenthesized,defaultValue:!1}},superTypes:[ut.$type]}}}},s(Ei,"LangiumGrammarAstReflection"),Ei),W=new Lp;function Nm(t){let e=t,r=!1;for(;e;){let n=Ln(e.grammarSource,it);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}s(Nm,"getDatatypeNode");function Gs(t){return new Ms(t,e=>lr(e)?e.content:[],{includeRoot:!0})}s(Gs,"streamCst");function xm(t){return Gs(t).filter(Dn)}s(xm,"flattenCst");function Op(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}s(Op,"isChildNode");function Ho(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}s(Ho,"tokenToRange");function zs(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}s(zs,"toDocumentSegment");var Wt;(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",t[t.Outside=5]="Outside"})(Wt||(Wt={}));function _p(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Wt.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineWt.After}s(Mp,"inRange");var Fp=/^[\w\p{L}]$/u;function wm(t,e,r=Fp){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return qu(t,e)}}s(wm,"findDeclarationNodeAtOffset");function qp(t,e){if(t){let r=zp(t,!0);if(r&&au(r,e))return r;if(Pu(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(au(a,e))return a}}}}s(qp,"findCommentNode");function au(t,e){return Dn(t)&&e.includes(t.tokenType.name)}s(au,"isCommentNode");function qu(t,e){if(Dn(t))return t;if(lr(t)){let r=Gp(t,e,!1);if(r)return qu(r,e)}}s(qu,"findLeafNodeAtOffset");function Up(t,e){if(Dn(t))return t;if(lr(t)){let r=Gp(t,e,!0);if(r)return Up(r,e)}}s(Up,"findLeafNodeBeforeOffset");function Gp(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let o=Math.floor((n+i)/2),u=t.content[o];if(u.offset<=e&&u.end>e)return u;u.end<=e?(a=r?u:void 0,n=o+1):i=o-1}return a}s(Gp,"binarySearch");function zp(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}}s(zp,"getPreviousNode");function Im(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;nrh,findNameAssignment:()=>Ku,findNodeForKeyword:()=>th,findNodeForProperty:()=>Bu,findNodesForKeyword:()=>Gm,findNodesForKeywordInternal:()=>Vu,findNodesForProperty:()=>eh,getActionAtElement:()=>ih,getActionType:()=>sh,getAllReachableRules:()=>ju,getAllRulesUsedForCrossReferences:()=>Um,getCrossReferenceTerminal:()=>Jp,getEntryRule:()=>Xp,getExplicitRuleType:()=>ol,getHiddenRules:()=>Yp,getRuleType:()=>oh,getRuleTypeName:()=>Vm,getTypeName:()=>Nn,isArrayCardinality:()=>jm,isArrayOperator:()=>Bm,isCommentTerminal:()=>Qp,isDataType:()=>Wm,isDataTypeRule:()=>sl,isOptionalCardinality:()=>zm,terminalRegex:()=>ll});var $i,Uu=($i=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}},s($i,"ErrorWithLocation"),$i);function Ir(t,e="Error: Got unexpected value."){throw new Error(e)}s(Ir,"assertUnreachable");function Bp(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}s(Bp,"assertCondition");var Wp={};wr(Wp,{NEWLINE_REGEXP:()=>_m,escapeRegExp:()=>Vs,getTerminalParts:()=>Fm,isMultilineComment:()=>Vp,isWhitespace:()=>zu,partialMatches:()=>Kp,partialRegExp:()=>Hp,whitespaceCharacters:()=>qm});function K(t){return t.charCodeAt(0)}s(K,"cc");function wl(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}s(wl,"insertToSet");function ri(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}s(ri,"addFlag");function qr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}s(qr,"ASSERT_EXISTS");function bo(){throw Error("Internal Error - Should never get here!")}s(bo,"ASSERT_NEVER_REACH_HERE");function bd(t){return t.type==="Character"}s(bd,"isCharacter");var su=[];for(let t=K("0");t<=K("9");t++)su.push(t);var ou=[K("_")].concat(su);for(let t=K("a");t<=K("z");t++)ou.push(t);for(let t=K("A");t<=K("Z");t++)ou.push(t);var Nf=[K(" "),K("\f"),K(` `),K("\r"),K(" "),K("\v"),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K(" "),K("\u2028"),K("\u2029"),K(" "),K(" "),K(" "),K("\uFEFF")],PR=/[0-9a-fA-F]/,ml=/[0-9]/,DR=/[1-9]/,ki,Om=(ki=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":ri(n,"global");break;case"i":ri(n,"ignoreCase");break;case"m":ri(n,"multiLine");break;case"u":ri(n,"unicode");break;case"y":ri(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;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}qr(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return bo()}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 a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;qr(r);break}if(!(e===!0&&r===void 0)&&qr(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()),qr(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):bo()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[K(` `),K("\r"),K("\u2028"),K("\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=su;break;case"D":e=su,r=!0;break;case"s":e=Nf;break;case"S":e=Nf,r=!0;break;case"w":e=ou;break;case"W":e=ou,r=!0;break}return qr(e)?{type:"Set",value:e,complement:r}:bo()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=K("\f");break;case"n":e=K(` `);break;case"r":e=K("\r");break;case"t":e=K(" ");break;case"v":e=K("\v");break}return qr(e)?{type:"Character",value:e}:bo()}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:K("\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:K(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:K(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom();if(n.type,bd(n)&&this.isRangeDash()){this.consumeChar("-");let i=this.classAtom();if(i.type,bd(i)){if(i.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}},s(ki,"RegExpParser"),ki),Ci,Gu=(Ci=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"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(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){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},s(Ci,"BaseRegExpVisitor"),Ci),_m=/\r?\n/gm,Mm=new Om,Ai,LR=(Ai=class extends Gu{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Vs(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},s(Ai,"TerminalRegExpVisitor"),Ai),tn=new LR;function Fm(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=Mm.pattern(t),r=[];for(let n of e.value.value)tn.reset(t),tn.visit(n),r.push({start:tn.startRegexp,end:tn.endRegex});return r}catch{return[]}}s(Fm,"getTerminalParts");function Vp(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),tn.reset(t),tn.visit(Mm.pattern(t)),tn.multiline}catch{return!1}}s(Vp,"isMultilineComment");var qm=`\f \r \v              \u2028\u2029   \uFEFF`.split("");function zu(t){let e=typeof t=="string"?new RegExp(t):t;return qm.some(r=>e.test(r))}s(zu,"isWhitespace");function Vs(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}s(Vs,"escapeRegExp");function Kp(t,e){let r=Hp(t),n=e.match(r);return!!n&&n[0].length>0}s(Kp,"partialMatches");function Hp(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",o;function u(c){a+=r.substr(n,c),n+=c}s(u,"appendRaw");function l(c){a+="(?:"+r.substr(n,c)+"|$)",n+=c}for(s(l,"appendOptional");n",n)-n+1);break;default:l(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(r)||[],l(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":u(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(r),o?u(o[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":o=n,n+=3,i(),a+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,i(),a+=r.substr(o,n-o);break;default:u(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else u(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return s(i,"process"),new RegExp(i(),t.flags)}s(Hp,"partialRegExp");function Xp(t){return t.rules.find(e=>it(e)&&e.entry)}s(Xp,"getEntryRule");function Yp(t){return t.rules.filter(e=>bt(e)&&e.hidden)}s(Yp,"getHiddenRules");function ju(t,e){let r=new Set,n=Xp(t);if(!n)return new Set(t.rules);let i=[n].concat(Yp(t));for(let o of i)Zp(o,r,e);let a=new Set;for(let o of t.rules)(r.has(o.name)||bt(o)&&o.hidden)&&a.add(o);return a}s(ju,"getAllReachableRules");function Zp(t,e,r){e.add(t.name),gr(t).forEach(n=>{if(dr(n)||r&&_u(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Zp(i,e,r)}})}s(Zp,"ruleDfs");function Um(t){let e=new Set;return gr(t).forEach(r=>{_n(r)&&(it(r.type.ref)&&e.add(r.type.ref),al(r.type.ref)&&it(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}s(Um,"getAllRulesUsedForCrossReferences");function Jp(t){if(t.terminal)return t.terminal;if(t.type.ref)return Ku(t.type.ref)?.terminal}s(Jp,"getCrossReferenceTerminal");function Qp(t){return t.hidden&&!zu(ll(t))}s(Qp,"isCommentTerminal");function eh(t,e){return!t||!e?[]:Wu(t,e,t.astNode,!0)}s(eh,"findNodesForProperty");function Bu(t,e,r){if(!t||!e)return;let n=Wu(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]}s(Bu,"findNodeForProperty");function Wu(t,e,r,n){if(!n){let i=Ln(t.grammarSource,ur);if(i&&i.feature===e)return[t]}return lr(t)&&t.astNode===r?t.content.flatMap(i=>Wu(i,e,r,!1)):[]}s(Wu,"findNodesForPropertyInternal");function Gm(t,e){return t?Vu(t,e,t?.astNode):[]}s(Gm,"findNodesForKeyword");function th(t,e,r){if(!t)return;let n=Vu(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]}s(th,"findNodeForKeyword");function Vu(t,e,r){if(t.astNode!==r)return[];if(cr(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Gs(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===r?cr(o.grammarSource)&&o.grammarSource.value===e&&a.push(o):n.prune()}while(!i.done);return a}s(Vu,"findNodesForKeywordInternal");function rh(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Ln(t.grammarSource,ur);if(r)return r;t=t.container}}s(rh,"findAssignment");function Ku(t){let e=t;return al(e)&&(Sr(e.$container)?e=e.$container.$container:On(e.$container)?e=e.$container:Ir(e.$container)),nh(t,e,new Map)}s(Ku,"findNameAssignment");function nh(t,e,r){function n(i,a){let o;return Ln(i,ur)||(o=nh(a,a,r)),r.set(t,o),o}if(s(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let i of gr(e)){if(ur(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(dr(i)&&it(i.rule.ref))return n(i,i.rule.ref);if(Ou(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}s(nh,"findNameAssignmentInternal");function ih(t){let e=t.$container;if(Mn(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Sr(a))return a;{let o=gr(r[i]).find(Sr);if(o)return o}}}if(Du(e))return ih(e)}s(ih,"getActionAtElement");function zm(t,e){return t==="?"||t==="*"||Mn(e)&&!!e.guardCondition}s(zm,"isOptionalCardinality");function jm(t){return t==="*"||t==="+"}s(jm,"isArrayCardinality");function Bm(t){return t==="+="}s(Bm,"isArrayOperator");function sl(t){return ah(t,new Set)}s(sl,"isDataTypeRule");function ah(t,e){if(e.has(t))return!0;e.add(t);for(let r of gr(t))if(dr(r)){if(!r.rule.ref||it(r.rule.ref)&&!ah(r.rule.ref,e)||Us(r.rule.ref))return!1}else if(ur(r)||Sr(r))return!1;return!!t.definition}s(ah,"isDataTypeRuleInternal");function Wm(t){return lu(t.type,new Set)}s(Wm,"isDataType");function lu(t,e){if(e.has(t))return!0;if(e.add(t),gp(t)||Sp(t))return!1;if(Ip(t))return t.types.every(r=>lu(r,e));if(Ou(t)){if(t.primitiveType!==void 0||t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Mu(r)?lu(r.type,e):!1}else return!1}else return!1}s(lu,"isDataTypeInternal");function ol(t){if(!bt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}s(ol,"getExplicitRuleType");function Nn(t){if(On(t))return it(t)&&sl(t)?t.name:ol(t)??t.name;if($p(t)||Mu(t)||Np(t))return t.name;if(Sr(t)){let e=sh(t);if(e)return e}else if(al(t))return t.name;throw new Error("Cannot get name of Unknown Type")}s(Nn,"getTypeName");function sh(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Nn(t.type.ref)}s(sh,"getActionType");function Vm(t){return bt(t)?t.type?.name??"string":it(t)&&sl(t)?t.name:ol(t)??t.name}s(Vm,"getRuleTypeName");function oh(t){return bt(t)?t.type?.name??"string":ol(t)??t.name}s(oh,"getRuleType");function ll(t){let e={s:!1,i:!1,u:!1},r=Fn(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}s(ll,"terminalRegex");var lh=/[\s\S]/.source;function Fn(t,e){if(xp(t))return Km(t);if(wp(t))return Hm(t);if(Tp(t))return Zm(t);if(_u(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Xt(Fn(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(kp(t))return Ym(t);if(Pp(t))return Xm(t);if(bp(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")),Xt(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Dp(t))return Xt(lh,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}s(Fn,"abstractElementToRegex");function Km(t){return Xt(t.elements.map(e=>Fn(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}s(Km,"terminalAlternativesToRegex");function Hm(t){return Xt(t.elements.map(e=>Fn(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}s(Hm,"terminalGroupToRegex");function Xm(t){return Xt(`${lh}*?${Fn(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}s(Xm,"untilTokenToRegex");function Ym(t){return Xt(`(?!${Fn(t.terminal)})${lh}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}s(Ym,"negateTokenToRegex");function Zm(t){return t.right?Xt(`[${Il(t.left)}-${Il(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Xt(Il(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}s(Zm,"characterRangeToRegex");function Il(t){return Vs(t.value)}s(Il,"keywordToRegex");function Xt(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}s(Xt,"withCardinality");function uh(t){let e=[],r=t.Grammar;for(let n of r.rules)bt(n)&&Qp(n)&&Vp(ll(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:Fp}}s(uh,"createGrammarConfig");function uu(t){console&&console.error&&console.error(`Error: ${t}`)}s(uu,"PRINT_ERROR");function ch(t){console&&console.warn&&console.warn(`Warning: ${t}`)}s(ch,"PRINT_WARNING");function dh(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}s(dh,"timer");function ph(t){function e(){}s(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return s(n,"fakeAccess"),n(),n(),t}s(ph,"toFastProperties");function Jm(t){return Qm(t)?t.LABEL:t.name}s(Jm,"tokenLabel");function Qm(t){return Tt(t.LABEL)&&t.LABEL!==""}s(Qm,"hasTokenLabel");var Si,Yt=(Si=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),B(this.definition,r=>{r.accept(e)})}},s(Si,"AbstractProduction"),Si),bi,at=(bi=class extends Yt{constructor(e){super([]),this.idx=1,yt(this,Ot(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},s(bi,"NonTerminal"),bi),Ni,Ks=(Ni=class extends Yt{constructor(e){super(e.definition),this.orgText="",yt(this,Ot(e,r=>r!==void 0))}},s(Ni,"Rule"),Ni),xi,dt=(xi=class extends Yt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,yt(this,Ot(e,r=>r!==void 0))}},s(xi,"Alternative"),xi),wi,Xe=(wi=class extends Yt{constructor(e){super(e.definition),this.idx=1,yt(this,Ot(e,r=>r!==void 0))}},s(wi,"Option"),wi),Ii,Rt=(Ii=class extends Yt{constructor(e){super(e.definition),this.idx=1,yt(this,Ot(e,r=>r!==void 0))}},s(Ii,"RepetitionMandatory"),Ii),Pi,Et=(Pi=class extends Yt{constructor(e){super(e.definition),this.idx=1,yt(this,Ot(e,r=>r!==void 0))}},s(Pi,"RepetitionMandatoryWithSeparator"),Pi),Di,Pe=(Di=class extends Yt{constructor(e){super(e.definition),this.idx=1,yt(this,Ot(e,r=>r!==void 0))}},s(Di,"Repetition"),Di),Li,pt=(Li=class extends Yt{constructor(e){super(e.definition),this.idx=1,yt(this,Ot(e,r=>r!==void 0))}},s(Li,"RepetitionWithSeparator"),Li),Oi,ht=(Oi=class extends Yt{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,yt(this,Ot(e,r=>r!==void 0))}},s(Oi,"Alternation"),Oi),_i,Ce=(_i=class{constructor(e){this.idx=1,yt(this,Ot(e,r=>r!==void 0))}accept(e){e.visit(this)}},s(_i,"Terminal"),_i);function eg(t){return U(t,Go)}s(eg,"serializeGrammar");function Go(t){function e(r){return U(r,Go)}if(s(e,"convertDefinition"),t instanceof at){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Tt(t.label)&&(r.label=t.label),r}else{if(t instanceof dt)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Xe)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Rt)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Et)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Go(new Ce({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof pt)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Go(new Ce({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Pe)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ht)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Ce){let r={type:"Terminal",name:t.terminalType.name,label:Jm(t.terminalType),idx:t.idx};Tt(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=or(n)?n.source:n),r}else{if(t instanceof Ks)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}s(Go,"serializeProduction");var Mi,Hs=(Mi=class{visit(e){let r=e;switch(r.constructor){case at:return this.visitNonTerminal(r);case dt:return this.visitAlternative(r);case Xe:return this.visitOption(r);case Rt:return this.visitRepetitionMandatory(r);case Et:return this.visitRepetitionMandatoryWithSeparator(r);case pt:return this.visitRepetitionWithSeparator(r);case Pe:return this.visitRepetition(r);case ht:return this.visitAlternation(r);case Ce:return this.visitTerminal(r);case Ks: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){}},s(Mi,"GAstVisitor"),Mi);function tg(t){return t instanceof dt||t instanceof Xe||t instanceof Pe||t instanceof Rt||t instanceof Et||t instanceof pt||t instanceof Ce||t instanceof Ks}s(tg,"isSequenceProd");function Xo(t,e=[]){return t instanceof Xe||t instanceof Pe||t instanceof pt?!0:t instanceof ht?rm(t.definition,r=>Xo(r,e)):t instanceof at&&ot(e,t)?!1:t instanceof Yt?(t instanceof at&&e.push(t),It(t.definition,r=>Xo(r,e))):!1}s(Xo,"isOptionalProd");function rg(t){return t instanceof ht}s(rg,"isBranchingProd");function xt(t){if(t instanceof at)return"SUBRULE";if(t instanceof Xe)return"OPTION";if(t instanceof ht)return"OR";if(t instanceof Rt)return"AT_LEAST_ONE";if(t instanceof Et)return"AT_LEAST_ONE_SEP";if(t instanceof pt)return"MANY_SEP";if(t instanceof Pe)return"MANY";if(t instanceof Ce)return"CONSUME";throw Error("non exhaustive match")}s(xt,"getProductionDslName");var Fi,Hu=(Fi=class{walk(e,r=[]){B(e.definition,(n,i)=>{let a=He(e.definition,i+1);if(n instanceof at)this.walkProdRef(n,a,r);else if(n instanceof Ce)this.walkTerminal(n,a,r);else if(n instanceof dt)this.walkFlat(n,a,r);else if(n instanceof Xe)this.walkOption(n,a,r);else if(n instanceof Rt)this.walkAtLeastOne(n,a,r);else if(n instanceof Et)this.walkAtLeastOneSep(n,a,r);else if(n instanceof pt)this.walkManySep(n,a,r);else if(n instanceof Pe)this.walkMany(n,a,r);else if(n instanceof ht)this.walkOr(n,a,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 Xe({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=Nd(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Xe({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=Nd(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);B(e.definition,a=>{let o=new dt({definition:[a]});this.walk(o,i)})}},s(Fi,"RestWalker"),Fi);function Nd(t,e,r){return[new Xe({definition:[new Ce({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}s(Nd,"restForRepetitionWithSeparator");function Xs(t){if(t instanceof at)return Xs(t.referencedRule);if(t instanceof Ce)return ag(t);if(tg(t))return ng(t);if(rg(t))return ig(t);throw Error("non exhaustive match")}s(Xs,"first");function ng(t){let e=[],r=t.definition,n=0,i=r.length>n,a,o=!0;for(;i&&o;)a=r[n],o=Xo(a),e=e.concat(Xs(a)),n=n+1,i=r.length>n;return lp(e)}s(ng,"firstForSequence");function ig(t){let e=U(t.definition,r=>Xs(r));return lp(St(e))}s(ig,"firstForBranching");function ag(t){return[t.terminalType]}s(ag,"firstForTerminal");var sg="_~IN~_",qi,OR=(qi=class extends Hu{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=lg(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),o=new dt({definition:a}),u=Xs(o);this.follows[i]=u}},s(qi,"ResyncFollowsWalker"),qi);function og(t){let e={};return B(t,r=>{let n=new OR(r).startWalking();yt(e,n)}),e}s(og,"computeAllProdsFollows");function lg(t,e){return t.name+e+sg}s(lg,"buildBetweenProdsFollowPrefix");var Pl={},_R=new Om;function ul(t){let e=t.toString();if(Pl.hasOwnProperty(e))return Pl[e];{let r=_R.pattern(e);return Pl[e]=r,r}}s(ul,"getRegExpAst");function ug(){Pl={}}s(ug,"clearRegExpParserCache");var cg="Complement Sets are not supported for first char optimization",cu=`Unable to use "first char" lexer optimizations: `;function dg(t,e=!1){try{let r=ul(t);return du(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===cg)e&&ch(`${cu} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),uu(`${cu} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}s(dg,"getOptimizedStartCodesIndices");function du(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof l=="number")No(l,e,r);else{let c=l;if(r===!0)for(let d=c.from;d<=c.to;d++)No(d,e,r);else{for(let d=c.from;d<=c.to&&d=wo){let d=c.from>=wo?c.from:wo,p=c.to,h=pr(d),y=pr(p);for(let m=h;m<=y;m++)e[m]=m}}}});break;case"Group":du(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}let u=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&pu(o)===!1||o.type!=="Group"&&u===!1)break}break;default:throw Error("non exhaustive match!")}return Be(e)}s(du,"firstCharOptimizedIndices");function No(t,e,r){let n=pr(t);e[n]=n,r===!0&&pg(t,e)}s(No,"addOptimizedIdxToResult");function pg(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=pr(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=pr(i.charCodeAt(0));e[a]=a}}}s(pg,"handleIgnoreCase");function xd(t,e){return Os(t.value,r=>{if(typeof r=="number")return ot(e,r);{let n=r;return Os(e,i=>n.from<=i&&i<=n.to)!==void 0}})}s(xd,"findCode");function pu(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?At(t.value)?It(t.value,pu):pu(t.value):!1}s(pu,"isWholeOptional");var Ui,MR=(Ui=class extends Gu{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;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){ot(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?xd(e,this.targetCharCodes)===void 0&&(this.found=!0):xd(e,this.targetCharCodes)!==void 0&&(this.found=!0)}},s(Ui,"CharCodeFinder"),Ui);function Xu(t,e){if(e instanceof RegExp){let r=ul(e),n=new MR(t);return n.visit(r),n.found}else return Os(e,r=>ot(t,r.charCodeAt(0)))!==void 0}s(Xu,"canMatchCharCode");var xn="PATTERN",xo="defaultMode",gl="modes",hg=typeof new RegExp("(?:)").sticky=="boolean";function fg(t,e){e=op(e,{useSticky:hg,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` `],tracer:s((N,C)=>C(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Og()});let n;r("Reject Lexer.NA",()=>{n=Nu(t,N=>N[xn]===rt.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=U(n,N=>{let C=N[xn];if(or(C)){let I=C.source;return I.length===1&&I!=="^"&&I!=="$"&&I!=="."&&!C.ignoreCase?I:I.length===2&&I[0]==="\\"&&!ot(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],I[1])?I[1]:e.useSticky?Id(C):wd(C)}else{if(In(C))return i=!0,{exec:C};if(typeof C=="object")return i=!0,C;if(typeof C=="string"){if(C.length===1)return C;{let I=C.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),Y=new RegExp(I);return e.useSticky?Id(Y):wd(Y)}}else throw Error("non exhaustive match")}})});let o,u,l,c,d;r("misc mapping",()=>{o=U(n,N=>N.tokenTypeIdx),u=U(n,N=>{let C=N.GROUP;if(C!==rt.SKIPPED){if(Tt(C))return C;if(sr(C))return!1;throw Error("non exhaustive match")}}),l=U(n,N=>{let C=N.LONGER_ALT;if(C)return At(C)?U(C,I=>Af(n,I)):[Af(n,C)]}),c=U(n,N=>N.PUSH_MODE),d=U(n,N=>V(N,"POP_MODE"))});let p;r("Line Terminator Handling",()=>{let N=mh(e.lineTerminatorCharacters);p=U(n,C=>!1),e.positionTracking!=="onlyOffset"&&(p=U(n,C=>V(C,"LINE_BREAKS")?!!C.LINE_BREAKS:fh(C,N)===!1&&Xu(N,C.PATTERN)))});let h,y,m,$;r("Misc Mapping #2",()=>{h=U(n,hh),y=U(a,Dg),m=nt(n,(N,C)=>{let I=C.GROUP;return Tt(I)&&I!==rt.SKIPPED&&(N[I]=[]),N},{}),$=U(a,(N,C)=>({pattern:a[C],longerAlt:l[C],canLineTerminator:p[C],isCustom:h[C],short:y[C],group:u[C],push:c[C],pop:d[C],tokenTypeIdx:o[C],tokenType:n[C]}))});let w=!0,A=[];return e.safeMode||r("First Char Optimization",()=>{A=nt(n,(N,C,I)=>{if(typeof C.PATTERN=="string"){let Y=C.PATTERN.charCodeAt(0),ne=pr(Y);Dl(N,ne,$[I])}else if(At(C.START_CHARS_HINT)){let Y;B(C.START_CHARS_HINT,ne=>{let Z=typeof ne=="string"?ne.charCodeAt(0):ne,ye=pr(Z);Y!==ye&&(Y=ye,Dl(N,ye,$[I]))})}else if(or(C.PATTERN))if(C.PATTERN.unicode)w=!1,e.ensureOptimizations&&uu(`${cu} Unable to analyze < ${C.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let Y=dg(C.PATTERN,e.ensureOptimizations);ge(Y)&&(w=!1),B(Y,ne=>{Dl(N,ne,$[I])})}else e.ensureOptimizations&&uu(`${cu} TokenType: <${C.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),w=!1;return N},[])}),{emptyGroups:m,patternIdxToConfig:$,charCodeToPatternIdxToConfig:A,hasCustom:i,canBeOptimized:w}}s(fg,"analyzeTokenTypes");function mg(t,e){let r=[],n=yg(t);r=r.concat(n.errors);let i=Tg(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(gg(a)),r=r.concat(Cg(a)),r=r.concat(Ag(a,e)),r=r.concat(Sg(a)),r}s(mg,"validatePatterns");function gg(t){let e=[],r=vt(t,n=>or(n[xn]));return e=e.concat(vg(r)),e=e.concat(Eg(r)),e=e.concat($g(r)),e=e.concat(kg(r)),e=e.concat(Rg(r)),e}s(gg,"validateRegExpPattern");function yg(t){let e=vt(t,i=>!V(i,xn)),r=U(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:De.MISSING_PATTERN,tokenTypes:[i]})),n=xu(t,e);return{errors:r,valid:n}}s(yg,"findMissingPatterns");function Tg(t){let e=vt(t,i=>{let a=i[xn];return!or(a)&&!In(a)&&!V(a,"exec")&&!Tt(a)}),r=U(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:De.INVALID_PATTERN,tokenTypes:[i]})),n=xu(t,e);return{errors:r,valid:n}}s(Tg,"findInvalidPatterns");var FR=/[^\\][$]/;function vg(t){const n=class n extends Gu{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}};s(n,"EndAnchorFinder");let e=n,r=vt(t,i=>{let a=i.PATTERN;try{let o=ul(a),u=new e;return u.visit(o),u.found}catch{return FR.test(a.source)}});return U(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:De.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}s(vg,"findEndOfInputAnchor");function Rg(t){let e=vt(t,r=>r.PATTERN.test(""));return U(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:De.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}s(Rg,"findEmptyMatchRegExps");var qR=/[^\\[][\^]|^\^/;function Eg(t){const n=class n extends Gu{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}};s(n,"StartAnchorFinder");let e=n,r=vt(t,i=>{let a=i.PATTERN;try{let o=ul(a),u=new e;return u.visit(o),u.found}catch{return qR.test(a.source)}});return U(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:De.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}s(Eg,"findStartOfInputAnchor");function $g(t){let e=vt(t,r=>{let n=r[xn];return n instanceof RegExp&&(n.multiline||n.global)});return U(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:De.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}s($g,"findUnsupportedFlags");function kg(t){let e=[],r=U(t,i=>nt(t,(a,o)=>(i.PATTERN.source===o.PATTERN.source&&!ot(e,o)&&o.PATTERN!==rt.NA&&(e.push(o),a.push(o)),a),[]));r=tl(r);let n=vt(r,i=>i.length>1);return U(n,i=>{let a=U(i,o=>o.name);return{message:`The same RegExp pattern ->${Lt(i).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:De.DUPLICATE_PATTERNS_FOUND,tokenTypes:i}})}s(kg,"findDuplicatePatterns");function Cg(t){let e=vt(t,r=>{if(!V(r,"GROUP"))return!1;let n=r.GROUP;return n!==rt.SKIPPED&&n!==rt.NA&&!Tt(n)});return U(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:De.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}s(Cg,"findInvalidGroupType");function Ag(t,e){let r=vt(t,n=>n.PUSH_MODE!==void 0&&!ot(e,n.PUSH_MODE));return U(r,n=>({message:`Token Type: ->${n.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${n.PUSH_MODE}<-which does not exist`,type:De.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}))}s(Ag,"findModesThatDoNotExist");function Sg(t){let e=[],r=nt(t,(n,i,a)=>{let o=i.PATTERN;return o===rt.NA||(Tt(o)?n.push({str:o,idx:a,tokenType:i}):or(o)&&Ng(o)&&n.push({str:o.source,idx:a,tokenType:i})),n},[]);return B(t,(n,i)=>{B(r,({str:a,idx:o,tokenType:u})=>{if(i${u.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:De.UNREACHABLE_PATTERN,tokenTypes:[n,u]})}})}),e}s(Sg,"findUnreachablePatterns");function bg(t,e){if(or(e)){if(xg(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(In(e))return e(t,0,[],{});if(V(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}s(bg,"tryToMatchStrToPattern");function Ng(t){return Os([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>t.source.indexOf(e)!==-1)===void 0}s(Ng,"noMetaChar");function xg(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition `,type:De.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),V(t,gl)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+gl+`> property in its definition `,type:De.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),V(t,gl)&&V(t,xo)&&!V(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${xo}: <${t.defaultMode}>which does not exist `,type:De.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),V(t,gl)&&B(t.modes,(i,a)=>{B(i,(o,u)=>{if(sr(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${u}> `,type:De.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(V(o,"LONGER_ALT")){let l=At(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];B(l,c=>{!sr(c)&&!ot(i,c)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${o.name}> outside of mode <${a}> `,type:De.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}s(wg,"performRuntimeChecks");function Ig(t,e,r){let n=[],i=!1,a=tl(St(Be(t.modes))),o=Nu(a,l=>l[xn]===rt.NA),u=mh(r);return e&&B(o,l=>{let c=fh(l,u);if(c!==!1){let d={message:Lg(l,c),type:c.issue,tokenType:l};n.push(d)}else V(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):Xu(u,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS for details.`,type:De.NO_LINE_BREAKS_FLAGS}),n}s(Ig,"performWarningRuntimeChecks");function Pg(t){let e={},r=Bo(t);return B(r,n=>{let i=t[n];if(At(i))e[n]=[];else throw Error("non exhaustive match")}),e}s(Pg,"cloneEmptyGroups");function hh(t){let e=t.PATTERN;if(or(e))return!1;if(In(e)||V(e,"exec"))return!0;if(Tt(e))return!1;throw Error("non exhaustive match")}s(hh,"isCustomPattern");function Dg(t){return Tt(t)&&t.length===1?t.charCodeAt(0):!1}s(Dg,"isShortPattern");var UR={test:s(function(t){let e=t.length;for(let r=this.lastIndex;r Token Type Root cause: ${e.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===De.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}s(Lg,"buildLineBreakIssueMessage");function mh(t){return U(t,e=>Tt(e)?e.charCodeAt(0):e)}s(mh,"getCharCodes");function Dl(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}s(Dl,"addToMapOfArrays");var wo=256,Ll=[];function pr(t){return t255?255+~~(t/255):t}}s(Og,"initCharCodeToOptimizedIndexMap");function Ys(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}s(Ys,"tokenStructuredMatcher");function Yo(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}s(Yo,"tokenStructuredMatcherNoCategories");var xf=1,_g={};function Zs(t){let e=Mg(t);Fg(e),Ug(e),qg(e),B(e,r=>{r.isParent=r.categoryMatches.length>0})}s(Zs,"augmentTokenTypes");function Mg(t){let e=Ye(t),r=t,n=!0;for(;n;){r=tl(St(U(r,a=>a.CATEGORIES)));let i=xu(r,e);e=e.concat(i),ge(i)?n=!1:r=i}return e}s(Mg,"expandCategories");function Fg(t){B(t,e=>{yh(e)||(_g[xf]=e,e.tokenTypeIdx=xf++),Pd(e)&&!At(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Pd(e)||(e.CATEGORIES=[]),Gg(e)||(e.categoryMatches=[]),zg(e)||(e.categoryMatchesMap={})})}s(Fg,"assignTokenDefaultProps");function qg(t){B(t,e=>{e.categoryMatches=[],B(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(_g[n].tokenTypeIdx)})})}s(qg,"assignCategoriesTokensProp");function Ug(t){B(t,e=>{gh([],e)})}s(Ug,"assignCategoriesMapProp");function gh(t,e){B(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),B(e.CATEGORIES,r=>{let n=t.concat(e);ot(n,r)||gh(n,r)})}s(gh,"singleAssignCategoriesToksMap");function yh(t){return V(t,"tokenTypeIdx")}s(yh,"hasShortKeyProperty");function Pd(t){return V(t,"CATEGORIES")}s(Pd,"hasCategoriesProperty");function Gg(t){return V(t,"categoryMatches")}s(Gg,"hasExtendingTokensTypesProperty");function zg(t){return V(t,"categoryMatchesMap")}s(zg,"hasExtendingTokensTypesMapProperty");function jg(t){return V(t,"tokenTypeIdx")}s(jg,"isTokenType");var Dd={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}},De;(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"})(De||(De={}));var Io={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Dd,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Io);var Gi,rt=(Gi=class{constructor(e,r=Io){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,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:u,value:l}=dh(a),c=u>10?console.warn:console.log;return this.traceInitIndent time: ${u}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. a boolean 2nd argument is no longer supported`);this.config=yt({},Io,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,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Io.lineTerminatorsPattern)this.config.lineTerminatorsPattern=UR;else if(this.config.lineTerminatorCharacters===Io.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. 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),At(e)?i={modes:{defaultMode:Ye(e)},defaultMode:xo}:(a=!1,i=Ye(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(wg(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Ig(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},B(i.modes,(u,l)=>{i.modes[l]=Nu(u,c=>sr(c))});let o=Bo(i.modes);if(B(i.modes,(u,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(mg(u,o))}),ge(this.lexerDefinitionErrors)){Zs(u);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=fg(u,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=c.charCodeToPatternIdxToConfig,this.emptyGroups=yt({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!ge(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=U(this.lexerDefinitionErrors,l=>l.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+u)}B(this.lexerDefinitionWarning,u=>{ch(u.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(hg?(this.chopInput=Cf,this.match=this.matchWithTest):(this.updateLastIndex=je,this.match=this.matchWithExec),a&&(this.handleModes=je),this.trackStartLines===!1&&(this.computeNewColumn=Cf),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=je),/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 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 u=nt(this.canModeBeOptimized,(l,c,d)=>(c===!1&&l.push(d),l),[]);if(r.ensureOptimizations&&!ge(u))throw Error(`Lexer Modes: < ${u.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{ug()}),this.TRACE_INIT("toFastProperties",()=>{ph(this)})})}tokenize(e,r=this.defaultMode){if(!ge(this.lexerDefinitionErrors)){let n=U(this.lexerDefinitionErrors,i=>i.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: `+n)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,o,u,l,c,d,p,h,y,m,$,w,A,N=e,C=N.length,I=0,Y=0,ne=this.hasCustom?0:Math.floor(e.length/10),Z=new Array(ne),ye=[],$e=this.trackStartLines?1:void 0,Ae=this.trackStartLines?1:void 0,oe=Pg(this.emptyGroups),Ze=this.trackStartLines,P=this.config.lineTerminatorsPattern,k=0,T=[],b=[],v=[],R=[];Object.freeze(R);let S;function D(){return T}s(D,"getPossiblePatternsSlow");function M(j){let ee=pr(j),de=b[ee];return de===void 0?R:de}s(M,"getPossiblePatternsOptimized");let L=s(j=>{if(v.length===1&&j.tokenType.PUSH_MODE===void 0){let ee=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(j);ye.push({offset:j.startOffset,line:j.startLine,column:j.startColumn,length:j.image.length,message:ee})}else{v.pop();let ee=bn(v);T=this.patternIdxToConfig[ee],b=this.charCodeToPatternIdxToConfig[ee],k=T.length;let de=this.canModeBeOptimized[ee]&&this.config.safeMode===!1;b&&de?S=M:S=D}},"pop_mode");function z(j){v.push(j),b=this.charCodeToPatternIdxToConfig[j],T=this.patternIdxToConfig[j],k=T.length,k=T.length;let ee=this.canModeBeOptimized[j]&&this.config.safeMode===!1;b&&ee?S=M:S=D}s(z,"push_mode"),z.call(this,r);let q,re=this.config.recoveryEnabled;for(;Il.length){l=o,c=d,q=Se;break}}}break}}if(l!==null){if(p=l.length,h=q.group,h!==void 0&&(y=q.tokenTypeIdx,m=this.createTokenInstance(l,I,y,q.tokenType,$e,Ae,p),this.handlePayload(m,c),h===!1?Y=this.addToken(Z,Y,m):oe[h].push(m)),e=this.chopInput(e,p),I=I+p,Ae=this.computeNewColumn(Ae,p),Ze===!0&&q.canLineTerminator===!0){let pe=0,he,Te;P.lastIndex=0;do he=P.test(l),he===!0&&(Te=P.lastIndex-1,pe++);while(he===!0);pe!==0&&($e=$e+pe,Ae=p-Te,this.updateTokenEndLineColumnLocation(m,h,Te,pe,$e,Ae,p))}this.handleModes(q,L,z,m)}else{let pe=I,he=$e,Te=Ae,Se=re===!1;for(;Se===!1&&I ${sn(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 a="Expecting: ",o=` but found: '`+Lt(e).image+"'";if(n)return a+n+o;{let u=nt(t,(d,p)=>d.concat(p),[]),l=U(u,d=>`[${U(d,p=>sn(p)).join(", ")}]`),c=`one of these possible Token sequences: ${U(l,(d,p)=>` ${p+1}. ${d}`).join(` `)}`;return a+c+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",a=` but found: '`+Lt(e).image+"'";if(r)return i+r+a;{let o=`expecting at least one iteration which starts with one of these possible Token sequences:: <${U(t,u=>`[${U(u,l=>sn(l)).join(",")}]`).join(" ,")}>`;return i+o+a}}};Object.freeze(gi);var zR={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- inside top level rule: ->`+t.name+"<-"}},rn={buildDuplicateFoundError(t,e){function r(d){return d instanceof Ce?d.terminalType.name:d instanceof at?d.nonTerminalName:""}s(r,"getExtraProductionArgument");let n=t.name,i=Lt(e),a=i.idx,o=xt(i),u=r(i),l=a>0,c=`->${o}${l?a:""}<- ${u?`with argument: ->${u}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` `),c},buildNamespaceConflictError(t){return`Namespace conflict found in grammar. The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. To resolve this make sure each Terminal and Non-Terminal names are unique This is easy to accomplish by using the convention that Terminal names start with an uppercase letter and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=U(t.prefixPath,n=>sn(n)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX For Further details.`},buildAlternationAmbiguityError(t){let e=U(t.prefixPath,i=>sn(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`,n},buildEmptyRepetitionError(t){let e=xt(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: inside <${t.topLevelRule.name}> Rule. has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=U(t.leftRecursionPath,i=>i.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ks?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function Wg(t,e){let r=new jR(t,e);return r.resolveRefs(),r.errors}s(Wg,"resolveGrammar");var zi,jR=(zi=class extends Hs{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){B(Be(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:st.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},s(zi,"GastRefResolverVisitor"),zi),ji,BR=(ji=class extends Hu{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=Ye(this.path.ruleStack).reverse(),this.occurrenceStack=Ye(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(){ge(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},s(ji,"AbstractNextPossibleTokensWalker"),ji),Bi,WR=(Bi=class extends BR{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),a=new dt({definition:i});this.possibleTokTypes=Xs(a),this.found=!0}}},s(Bi,"NextAfterTokenWalker"),Bi),Wi,Yu=(Wi=class extends Hu{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}},s(Wi,"AbstractNextTerminalAfterProductionWalker"),Wi),Vi,VR=(Vi=class extends Yu{walkMany(e,r,n){if(e.idx===this.occurrence){let i=Lt(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ce&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},s(Vi,"NextTerminalAfterManyWalker"),Vi),Ki,Ff=(Ki=class extends Yu{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=Lt(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ce&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},s(Ki,"NextTerminalAfterManySepWalker"),Ki),Hi,KR=(Hi=class extends Yu{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=Lt(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ce&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},s(Hi,"NextTerminalAfterAtLeastOneWalker"),Hi),Xi,qf=(Xi=class extends Yu{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=Lt(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ce&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}},s(Xi,"NextTerminalAfterAtLeastOneSepWalker"),Xi);function hu(t,e,r=[]){r=Ye(r);let n=[],i=0;function a(u){return u.concat(He(t,i+1))}s(a,"remainingPathWith");function o(u){let l=hu(a(u),e,r);return n.concat(l)}for(s(o,"getAlternativesForProd");r.length{ge(l.definition)===!1&&(n=o(l.definition))}),n;if(u instanceof Ce)r.push(u.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:He(t,i)}),n}s(hu,"possiblePathsFrom");function Rh(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],o="EXIT_ALTERNATIVE",u=!1,l=e.length,c=l-n-1,d=[],p=[];for(p.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!ge(p);){let h=p.pop();if(h===o){u&&bn(p).idx<=c&&p.pop();continue}let y=h.def,m=h.idx,$=h.ruleStack,w=h.occurrenceStack;if(ge(y))continue;let A=y[0];if(A===i){let N={idx:m,def:He(y),ruleStack:Wo($),occurrenceStack:Wo(w)};p.push(N)}else if(A instanceof Ce)if(m=0;N--){let C=A.definition[N],I={idx:m,def:C.definition.concat(He(y)),ruleStack:$,occurrenceStack:w};p.push(I),p.push(o)}else if(A instanceof dt)p.push({idx:m,def:A.definition.concat(He(y)),ruleStack:$,occurrenceStack:w});else if(A instanceof Ks)p.push(Vg(A,m,$,w));else throw Error("non exhaustive match")}return d}s(Rh,"nextPossibleTokensAfter");function Vg(t,e,r,n){let i=Ye(r);i.push(t.name);let a=Ye(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}s(Vg,"expandTopLevelRule");var xe;(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"})(xe||(xe={}));function Zu(t){if(t instanceof Xe||t==="Option")return xe.OPTION;if(t instanceof Pe||t==="Repetition")return xe.REPETITION;if(t instanceof Rt||t==="RepetitionMandatory")return xe.REPETITION_MANDATORY;if(t instanceof Et||t==="RepetitionMandatoryWithSeparator")return xe.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof pt||t==="RepetitionWithSeparator")return xe.REPETITION_WITH_SEPARATOR;if(t instanceof ht||t==="Alternation")return xe.ALTERNATION;throw Error("non exhaustive match")}s(Zu,"getProdType");function Ld(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=Zu(n);return a===xe.ALTERNATION?dl(e,r,i):pl(e,r,a,i)}s(Ld,"getLookaheadPaths");function Kg(t,e,r,n,i,a){let o=dl(t,e,r),u=$h(o)?Yo:Ys;return a(o,n,u,i)}s(Kg,"buildLookaheadFuncForOr");function Hg(t,e,r,n,i,a){let o=pl(t,e,i,r),u=$h(o)?Yo:Ys;return a(o[0],u,n)}s(Hg,"buildLookaheadFuncForOptionalProd");function Xg(t,e,r,n){let i=t.length,a=It(t,o=>It(o,u=>u.length===1));if(e)return function(o){let u=U(o,l=>l.GATE);for(let l=0;lSt(l)),u=nt(o,(l,c,d)=>(B(c,p=>{V(l,p.tokenTypeIdx)||(l[p.tokenTypeIdx]=d),B(p.categoryMatches,h=>{V(l,h)||(l[h]=d)})}),l),{});return function(){let l=this.LA(1);return u[l.tokenTypeIdx]}}else return function(){for(let o=0;oa.length===1),i=t.length;if(n&&!r){let a=St(t);if(a.length===1&&ge(a[0].categoryMatches)){let o=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{let o=nt(a,(u,l,c)=>(u[l.tokenTypeIdx]=!0,B(l.categoryMatches,d=>{u[d]=!0}),u),[]);return function(){let u=this.LA(1);return o[u.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;ahu([o],1)),n=Od(r.length),i=U(r,o=>{let u={};return B(o,l=>{let c=Ol(l.partialPath);B(c,d=>{u[d]=!0})}),u}),a=r;for(let o=1;o<=e;o++){let u=a;a=Od(u.length);for(let l=0;l{let w=Ol($.partialPath);B(w,A=>{i[l][A]=!0})})}}}}return n}s(Eh,"lookAheadSequenceFromAlternatives");function dl(t,e,r,n){let i=new Zg(t,xe.ALTERNATION,n);return e.accept(i),Eh(i.result,r)}s(dl,"getLookaheadPathsForOr");function pl(t,e,r,n){let i=new Zg(t,r);e.accept(i);let a=i.result,o=new HR(e,t,r).startWalking(),u=new dt({definition:a}),l=new dt({definition:o});return Eh([u,l],n)}s(pl,"getLookaheadPathsForOptionalProd");function fu(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}s(Qg,"isStrictPrefixOfPath");function $h(t){return It(t,e=>It(e,r=>It(r,n=>ge(n.categoryMatches))))}s($h,"areTokenCategoriesNotUsed");function ey(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return U(e,r=>Object.assign({type:st.CUSTOM_LOOKAHEAD_VALIDATION},r))}s(ey,"validateLookahead");function ty(t,e,r,n){let i=mt(t,l=>ry(l,r)),a=py(t,e,r),o=mt(t,l=>ly(l,r)),u=mt(t,l=>iy(l,t,n,r));return i.concat(a,o,u)}s(ty,"validateGrammar");function ry(t,e){let r=new XR;t.accept(r);let n=r.allProductions,i=Jv(n,ny),a=Ot(i,o=>o.length>1);return U(Be(a),o=>{let u=Lt(o),l=e.buildDuplicateFoundError(t,o),c=xt(u),d={message:l,type:st.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:c,occurrence:u.idx},p=kh(u);return p&&(d.parameter=p),d})}s(ry,"validateDuplicateProductions");function ny(t){return`${xt(t)}_#_${t.idx}_#_${kh(t)}`}s(ny,"identifyProductionForDuplicates");function kh(t){return t instanceof Ce?t.terminalType.name:t instanceof at?t.nonTerminalName:""}s(kh,"getExtraProductionArgument");var Ji,XR=(Ji=class extends Hs{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)}},s(Ji,"OccurrenceValidationCollector"),Ji);function iy(t,e,r,n){let i=[];if(nt(e,(a,o)=>o.name===t.name?a+1:a,0)>1){let a=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:a,type:st.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}s(iy,"validateRuleDoesNotAlreadyExist");function ay(t,e,r){let n=[],i;return ot(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:st.INVALID_RULE_OVERRIDE,ruleName:t})),n}s(ay,"validateRuleIsOverridden");function Ch(t,e,r,n=[]){let i=[],a=zo(e.definition);if(ge(a))return[];{let o=t.name;ot(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:st.LEFT_RECURSION,ruleName:o});let u=xu(a,n.concat([t])),l=mt(u,c=>{let d=Ye(n);return d.push(c),Ch(t,c,r,d)});return i.concat(l)}}s(Ch,"validateNoLeftRecursion");function zo(t){let e=[];if(ge(t))return e;let r=Lt(t);if(r instanceof at)e.push(r.referencedRule);else if(r instanceof dt||r instanceof Xe||r instanceof Rt||r instanceof Et||r instanceof pt||r instanceof Pe)e=e.concat(zo(r.definition));else if(r instanceof ht)e=St(U(r.definition,a=>zo(a.definition)));else if(!(r instanceof Ce))throw Error("non exhaustive match");let n=Xo(r),i=t.length>1;if(n&&i){let a=He(t);return e.concat(zo(a))}else return e}s(zo,"getFirstNoneTerminal");var Qi,Ah=(Qi=class extends Hs{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}},s(Qi,"OrCollector"),Qi);function sy(t,e){let r=new Ah;t.accept(r);let n=r.alternations;return mt(n,i=>{let a=Wo(i.definition);return mt(a,(o,u)=>{let l=Rh([o],[],Ys,1);return ge(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:i,emptyChoiceIdx:u}),type:st.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:i.idx,alternative:u+1}]:[]})})}s(sy,"validateEmptyOrAlternative");function oy(t,e,r){let n=new Ah;t.accept(n);let i=n.alternations;return i=Nu(i,a=>a.ignoreAmbiguities===!0),mt(i,a=>{let o=a.idx,u=a.maxLookahead||e,l=dl(o,t,u,a),c=cy(l,a,t,r),d=dy(l,a,t,r);return c.concat(d)})}s(oy,"validateAmbiguousAlternationAlternatives");var ea,YR=(ea=class extends Hs{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)}},s(ea,"RepetitionCollector"),ea);function ly(t,e){let r=new Ah;t.accept(r);let n=r.alternations;return mt(n,i=>i.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:i}),type:st.TOO_MANY_ALTS,ruleName:t.name,occurrence:i.idx}]:[])}s(ly,"validateTooManyAlts");function uy(t,e,r){let n=[];return B(t,i=>{let a=new YR;i.accept(a);let o=a.allProductions;B(o,u=>{let l=Zu(u),c=u.maxLookahead||e,d=u.idx,p=pl(d,i,l,c)[0];if(ge(St(p))){let h=r.buildEmptyRepetitionError({topLevelRule:i,repetition:u});n.push({message:h,type:st.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}s(uy,"validateSomeNonEmptyLookaheadPath");function cy(t,e,r,n){let i=[],a=nt(t,(o,u,l)=>(e.definition[l].ignoreAmbiguities===!0||B(u,c=>{let d=[l];B(t,(p,h)=>{l!==h&&fu(p,c)&&e.definition[h].ignoreAmbiguities!==!0&&d.push(h)}),d.length>1&&!fu(i,c)&&(i.push(c),o.push({alts:d,path:c}))}),o),[]);return U(a,o=>{let u=U(o.alts,l=>l+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:o.path}),type:st.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}s(cy,"checkAlternativesAmbiguities");function dy(t,e,r,n){let i=nt(t,(a,o,u)=>{let l=U(o,c=>({idx:u,path:c}));return a.concat(l)},[]);return tl(mt(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];let o=a.idx,u=a.path,l=vt(i,c=>e.definition[c.idx].ignoreAmbiguities!==!0&&c.idx{let d=[c.idx+1,o+1],p=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:d,prefixPath:c.path}),type:st.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:p,alternatives:d}})}))}s(dy,"checkPrefixAlternativesAmbiguities");function py(t,e,r){let n=[],i=U(e,a=>a.name);return B(t,a=>{let o=a.name;if(ot(i,o)){let u=r.buildNamespaceConflictError(a);n.push({message:u,type:st.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}s(py,"checkTerminalAndNoneTerminalsNameSpace");function hy(t){let e=op(t,{errMsgProvider:zR}),r={};return B(t.rules,n=>{r[n.name]=n}),Wg(r,e.errMsgProvider)}s(hy,"resolveGrammar");function fy(t){return t=op(t,{errMsgProvider:rn}),ty(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}s(fy,"validateGrammar");var my="MismatchedTokenException",gy="NoViableAltException",yy="EarlyExitException",Ty="NotAllInputParsedException",vy=[my,gy,yy,Ty];Object.freeze(vy);function Zo(t){return ot(vy,t.name)}s(Zo,"isRecognitionException");var ta,Ju=(ta=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)}},s(ta,"RecognitionException"),ta),ra,Ry=(ra=class extends Ju{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=my}},s(ra,"MismatchedTokenException"),ra),na,ZR=(na=class extends Ju{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=gy}},s(na,"NoViableAltException"),na),ia,JR=(ia=class extends Ju{constructor(e,r){super(e,r),this.name=Ty}},s(ia,"NotAllInputParsedException"),ia),aa,QR=(aa=class extends Ju{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=yy}},s(aa,"EarlyExitException"),aa),yc={},Ey="InRuleRecoveryException",sa,eE=(sa=class extends Error{constructor(e){super(e),this.name=Ey}},s(sa,"InRuleRecoveryException"),sa),oa,tE=(oa=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=V(e,"recoveryEnabled")?e.recoveryEnabled:hr.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=$y)}getTokenToInsert(e){let r=cl(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 a=this.findReSyncTokenType(),o=this.exportLexerState(),u=[],l=!1,c=this.LA(1),d=this.LA(1),p=s(()=>{let h=this.LA(0),y=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:h,ruleName:this.getCurrRuleFullName()}),m=new Ry(y,c,this.LA(0));m.resyncedTokens=Wo(u),this.SAVE_ERROR(m)},"generateErrorMessage");for(;!l;)if(this.tokenMatcher(d,i)){p();return}else if(n.call(this)){p(),e.apply(this,r);return}else this.tokenMatcher(d,a)?l=!0:(d=this.SKIP_TOKEN(),this.addToResyncTokens(d,u));this.importLexerState(o)}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 eE("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||ge(r))return!1;let n=this.LA(1);return Os(r,i=>this.tokenMatcher(n,i))!==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 ot(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Os(e,a=>vh(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return yc;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 U(e,(n,i)=>i===0?yc:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=U(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return St(e)}getFollowSetFromFollowKey(e){if(e===yc)return[br];let r=e.ruleName+e.idxInCallingRule+sg+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,br)||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 Wo(r)}attemptInRepetitionRecovery(e,r,n,i,a,o,u){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=Ye(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return U(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},s(oa,"Recoverable"),oa);function $y(t,e,r,n,i,a,o){let u=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[u];if(l===void 0){let h=this.getCurrRuleFullName(),y=this.getGAstProductions()[h];l=new a(y,i).startWalking(),this.firstAfterRepMap[u]=l}let c=l.token,d=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&c===void 0&&(c=br,d=1),!(c===void 0||d===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,d,o)&&this.tryInRepetitionRecovery(t,e,r,c)}s($y,"attemptInRepetitionRecovery");function _l(t,e,r){return r|e|t}s(_l,"getKeyForAutomaticLookahead");var la,Sh=(la=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:hr.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(ge(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return mt(e,r=>Ch(r,r,rn))}validateEmptyOrAlternatives(e){return mt(e,r=>sy(r,rn))}validateAmbiguousAlternationAlternatives(e,r){return mt(e,n=>oy(n,r,rn))}validateSomeNonEmptyLookaheadPath(e,r){return uy(e,r,rn)}buildLookaheadForAlternation(e){return Kg(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Xg)}buildLookaheadForOptional(e){return Hg(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Zu(e.prodType),Yg)}},s(la,"LLkLookaheadStrategy"),la),ua,rE=(ua=class{initLooksAhead(e){this.dynamicTokensEnabled=V(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:hr.dynamicTokensEnabled,this.maxLookahead=V(e,"maxLookahead")?e.maxLookahead:hr.maxLookahead,this.lookaheadStrategy=V(e,"lookaheadStrategy")?e.lookaheadStrategy:new Sh({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){B(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:o,repetitionMandatoryWithSeparator:u,repetitionWithSeparator:l}=ky(r);B(n,c=>{let d=c.idx===0?"":c.idx;this.TRACE_INIT(`${xt(c)}${d}`,()=>{let p=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:r,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),h=_l(this.fullRuleNameToShort[r.name],256,c.idx);this.setLaFuncCache(h,p)})}),B(i,c=>{this.computeLookaheadFunc(r,c.idx,768,"Repetition",c.maxLookahead,xt(c))}),B(a,c=>{this.computeLookaheadFunc(r,c.idx,512,"Option",c.maxLookahead,xt(c))}),B(o,c=>{this.computeLookaheadFunc(r,c.idx,1024,"RepetitionMandatory",c.maxLookahead,xt(c))}),B(u,c=>{this.computeLookaheadFunc(r,c.idx,1536,"RepetitionMandatoryWithSeparator",c.maxLookahead,xt(c))}),B(l,c=>{this.computeLookaheadFunc(r,c.idx,1280,"RepetitionWithSeparator",c.maxLookahead,xt(c))})})})}computeLookaheadFunc(e,r,n,i,a,o){this.TRACE_INIT(`${o}${r===0?"":r}`,()=>{let u=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=_l(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,u)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return _l(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},s(ua,"LooksAhead"),ua),ca,nE=(ca=class extends Hs{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)}},s(ca,"DslMethodsCollectorVisitor"),ca),yl=new nE;function ky(t){yl.reset(),t.accept(yl);let e=yl.dslMethods;return yl.reset(),e}s(ky,"collectMethods");function _d(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffseto.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}s(by,"createBaseSemanticVisitorConstructor");function Ny(t,e,r){let n=s(function(){},"derivedConstructor");bh(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return B(e,a=>{i[a]=Sy}),n.prototype=i,n.prototype.constructor=n,n}s(Ny,"createBaseVisitorConstructorWithDefaults");var Fd;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Fd||(Fd={}));function xy(t,e){return wy(t,e)}s(xy,"validateVisitor");function wy(t,e){let r=vt(e,i=>In(t[i])===!1),n=U(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Fd.MISSING_METHOD,methodName:i}));return tl(n)}s(wy,"validateMissingCstMethods");var da,aE=(da=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=V(e,"nodeLocationTracking")?e.nodeLocationTracking:hr.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=je,this.cstFinallyStateUpdate=je,this.cstPostTerminal=je,this.cstPostNonTerminal=je,this.cstPostRule=je;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Md,this.setNodeLocationFromNode=Md,this.cstPostRule=je,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=je,this.setNodeLocationFromNode=je,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=_d,this.setNodeLocationFromNode=_d,this.cstPostRule=je,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=je,this.setNodeLocationFromNode=je,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=je,this.setNodeLocationFromNode=je,this.cstPostRule=je,this.setInitialNodeLocation=je;else throw Error(`Invalid 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];Cy(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Ay(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(sr(this.baseCstVisitorConstructor)){let e=by(this.className,Bo(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(sr(this.baseCstVisitorWithDefaultsConstructor)){let e=Ny(this.className,Bo(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]}},s(da,"TreeBuilder"),da),pa,sE=(pa=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing 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)):mu}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?mu: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()}},s(pa,"LexerAdapter"),pa),ha,oE=(ha=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=gu){if(ot(this.definedRulesNames,e)){let a={message:rn.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:st.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=gu){let i=ay(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Zo(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return eg(Be(this.gastProductionsCache))}},s(ha,"RecognizerApi"),ha),fa,lE=(fa=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Yo,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},V(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(At(e)){if(ge(e))throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor 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. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 For Further details.`)}if(At(e))this.tokensMap=nt(e,(a,o)=>(a[o.name]=o,a),{});else if(V(e,"modes")&&It(St(Be(e.modes)),jg)){let a=St(Be(e.modes)),o=lp(a);this.tokensMap=nt(o,(u,l)=>(u[l.name]=l,u),{})}else if(Xv(e))this.tokensMap=Ye(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=br;let n=V(e,"modes")?St(Be(e.modes)):Be(e),i=It(n,a=>ge(a.categoryMatches));this.tokenMatcher=i?Yo:Ys,Zs(Be(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' Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=V(n,"resyncEnabled")?n.resyncEnabled:gu.resyncEnabled,a=V(n,"recoveryValueFunc")?n.recoveryValueFunc:gu.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let u;return this.outputCst===!0?u=s(function(...l){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,l);let c=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(c),c}catch(c){return this.invokeRuleCatch(c,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):u=s(function(...l){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,l)}catch(c){return this.invokeRuleCatch(c,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(u,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Zo(e)){let o=e;if(a){let u=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(u))if(o.resyncedTokens=this.reSyncTo(u),this.outputCst){let l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return n(e);else{if(this.outputCst){let l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,o.partialCstResult=l}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}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),a;if(typeof e!="function"){a=e.DEF;let o=e.GATE;if(o!==void 0){let u=i;i=s(()=>o.call(this)&&u.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.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),a;if(typeof r!="function"){a=r.DEF;let o=r.GATE;if(o!==void 0){let u=i;i=s(()=>o.call(this)&&u.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let o=this.doSingleRepetition(a);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,xe.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,KR)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let o=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,qf],o,1536,e,qf)}else throw this.raiseEarlyExitException(e,xe.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),a;if(typeof r!="function"){a=r.DEF;let u=r.GATE;if(u!==void 0){let l=i;i=s(()=>u.call(this)&&l.call(this),"lookaheadFunction")}}else a=r;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,VR,o)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let o=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,Ff],o,1280,e,Ff)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=At(e)?e:e.DEF,a=this.getLaFuncFromCache(n).call(this,i);if(a!==void 0)return i[a].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 JR(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw Zo(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 a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Ry(i,r,a))}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(a){throw a.name===Ey?n:a}}else throw n}saveRecogState(){let e=this.errors,r=Ye(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),br)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},s(fa,"RecognizerEngine"),fa),ma,uE=(ma=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=V(e,"errorMessageProvider")?e.errorMessageProvider:hr.errorMessageProvider}SAVE_ERROR(e){if(Zo(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Ye(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Ye(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],o=pl(e,a,r,this.maxLookahead)[0],u=[];for(let c=1;c<=this.maxLookahead;c++)u.push(this.LA(c));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new QR(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=dl(e,i,this.maxLookahead),o=[];for(let c=1;c<=this.maxLookahead;c++)o.push(this.LA(c));let u=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:o,previous:u,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ZR(l,this.LA(1),u))}},s(ma,"ErrorHandler"),ma),ga,cE=(ga=class{initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(sr(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Rh([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=Lt(e.ruleStack),n=this.getGAstProductions()[r];return new WR(n,e).startWalking()}},s(ga,"ContentAssist"),ga),Qu={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Qu);var Uf=!0,Gf=Math.pow(2,8)-1,Iy=Ti({name:"RECORDING_PHASE_TOKEN",pattern:rt.NA});Zs([Iy]);var Py=cl(Iy,`This IToken indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Py);var dE={name:`This CSTNode indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},ya,pE=(ya=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 mu}topLevelRuleRecord(e,r){try{let n=new Ks({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+` This error was thrown during the "grammar recording phase" For more info see: https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return ni.call(this,Xe,e,r)}atLeastOneInternalRecord(e,r){ni.call(this,Rt,r,e)}atLeastOneSepFirstInternalRecord(e,r){ni.call(this,Et,r,e,Uf)}manyInternalRecord(e,r){ni.call(this,Pe,r,e)}manySepFirstInternalRecord(e,r){ni.call(this,pt,r,e,Uf)}orInternalRecord(e,r){return Dy.call(this,e,r)}subruleInternalRecord(e,r,n){if(Jo(r),!e||V(e,"ruleName")===!1){let u=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw u.KNOWN_RECORDER_ERROR=!0,u}let i=bn(this.recordingProdStack),a=e.ruleName,o=new at({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?dE:Qu}consumeInternalRecord(e,r,n){if(Jo(r),!yh(e)){let o=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=bn(this.recordingProdStack),a=new Ce({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),Py}},s(ya,"GastRecorder"),ya);function ni(t,e,r,n=!1){Jo(r);let i=bn(this.recordingProdStack),a=In(e)?e:e.DEF,o=new t({definition:[],idx:r});return n&&(o.separator=e.SEP),V(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),Qu}s(ni,"recordProd");function Dy(t,e){Jo(e);let r=bn(this.recordingProdStack),n=At(t)===!1,i=n===!1?t:t.DEF,a=new ht({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});V(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let o=rm(i,u=>In(u.GATE));return a.hasPredicates=o,r.definition.push(a),B(i,u=>{let l=new dt({definition:[]});a.definition.push(l),V(u,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=u.IGNORE_AMBIGUITIES:V(u,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),u.ALT.call(this),this.recordingProdStack.pop()}),Qu}s(Dy,"recordOrProd");function qd(t){return t===0?"":`${t}`}s(qd,"getIdxSuffix");function Jo(t){if(t<0||t>Gf){let e=new Error(`Invalid DSL Method idx value: <${t}> Idx value must be a none negative value smaller than ${Gf+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}s(Jo,"assertMethodIdxIsValid");var Ta,hE=(Ta=class{initPerformanceTracer(e){if(V(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=hr.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=dh(r),o=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}},s(Ta,"PerformanceTracer"),Ta);function Ly(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}s(Ly,"applyMixins");var mu=cl(br,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(mu);var hr=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:gi,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),gu=Object.freeze({recoveryValueFunc:s(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),st;(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"})(st||(st={}));function Ud(t=void 0){return function(){return t}}s(Ud,"EMPTY_ALT");var ln,Nh=(ln=class{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",()=>{ph(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),B(this.definedRulesNames,i=>{let a=this[i].originalGrammarAction,o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=hy({rules:Be(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(ge(n)&&this.skipValidations===!1){let i=fy({rules:Be(this.gastProductionsCache),tokenTypes:Be(this.tokensMap),errMsgProvider:rn,grammarName:r}),a=ey({lookaheadStrategy:this.lookaheadStrategy,rules:Be(this.gastProductionsCache),tokenTypes:Be(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),ge(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=og(Be(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Be(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Be(this.gastProductionsCache))})),!ln.DEFER_DEFINITION_ERRORS_HANDLING&&!ge(this.definitionErrors))throw e=U(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}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),V(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES For further details.`);this.skipValidations=V(r,"skipValidations")?r.skipValidations:hr.skipValidations}},s(ln,"Parser"),ln);Nh.DEFER_DEFINITION_ERRORS_HANDLING=!1;Ly(Nh,[tE,rE,aE,sE,lE,oE,uE,cE,pE,hE]);var va,fE=(va=class extends Nh{constructor(e,r=hr){let n=Ye(r);n.outputCst=!1,super(e,n)}},s(va,"EmbeddedActionsParser"),va);function wn(t,e,r){return`${t.name}_${e}_${r}`}s(wn,"buildATNKey");var Nr=1,mE=2,Oy=4,_y=5,hl=7,gE=8,yE=9,TE=10,vE=11,My=12,Ra,xh=(Ra=class{constructor(e){this.target=e}isEpsilon(){return!1}},s(Ra,"AbstractTransition"),Ra),Ea,wh=(Ea=class extends xh{constructor(e,r){super(e),this.tokenType=r}},s(Ea,"AtomTransition"),Ea),$a,Fy=($a=class extends xh{constructor(e){super(e)}isEpsilon(){return!0}},s($a,"EpsilonTransition"),$a),ka,Ih=(ka=class extends xh{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}},s(ka,"RuleTransition"),ka);function qy(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Uy(e,t);let r=t.length;for(let n=0;nPh(t,e,a));return qn(t,e,n,r,...i)}s(Wy,"alternation");function Vy(t,e,r){let n=Ge(t,e,r,{type:Nr});yr(t,n);let i=qn(t,e,n,r,Pr(t,e,r));return Ky(t,e,r,i)}s(Vy,"option");function Pr(t,e,r){let n=vt(U(r.definition,i=>Ph(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Xy(t,n)}s(Pr,"block");function Dh(t,e,r,n,i){let a=n.left,o=n.right,u=Ge(t,e,r,{type:vE});yr(t,u);let l=Ge(t,e,r,{type:My});return a.loopback=u,l.loopback=u,t.decisionMap[wn(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=u,_e(o,u),i===void 0?(_e(u,a),_e(u,l)):(_e(u,l),_e(u,i.left),_e(i.right,a)),{left:a,right:l}}s(Dh,"plus");function Lh(t,e,r,n,i){let a=n.left,o=n.right,u=Ge(t,e,r,{type:TE});yr(t,u);let l=Ge(t,e,r,{type:My}),c=Ge(t,e,r,{type:yE});return u.loopback=c,l.loopback=c,_e(u,a),_e(u,l),_e(o,c),i!==void 0?(_e(c,l),_e(c,i.left),_e(i.right,a)):_e(c,u),t.decisionMap[wn(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=u,{left:u,right:l}}s(Lh,"star");function Ky(t,e,r,n){let i=n.left,a=n.right;return _e(i,a),t.decisionMap[wn(e,"Option",r.idx)]=i,n}s(Ky,"optional");function yr(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}s(yr,"defineDecisionState");function qn(t,e,r,n,...i){let a=Ge(t,e,n,{type:gE,start:r});r.end=a;for(let u of i)u!==void 0?(_e(r,u.left),_e(u.right,a)):_e(r,a);let o={left:r,right:a};return t.decisionMap[wn(e,Hy(n),n.idx)]=r,o}s(qn,"makeAlts");function Hy(t){if(t instanceof ht)return"Alternation";if(t instanceof Xe)return"Option";if(t instanceof Pe)return"Repetition";if(t instanceof pt)return"RepetitionWithSeparator";if(t instanceof Rt)return"RepetitionMandatory";if(t instanceof Et)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}s(Hy,"getProdType");function Xy(t,e){let r=e.length;for(let a=0;ae.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}},s(Ca,"ATNConfigSet"),Ca);function Oh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}s(Oh,"getATNConfigKey");function Qy(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}s(Qy,"createDFACache");var Aa,eT=(Aa=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;nconsole.log(n))}initialize(e){this.atn=qy(e.rules),this.dfas=tT(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,o=this.dfas,u=this.logging,l=wn(n,"Alternation",r),c=this.atn.decisionMap[l].decision,d=U(Ld({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>U(p,h=>h[0]));if(zd(d,!1)&&!a){let p=nt(d,(h,y,m)=>(B(y,$=>{$&&(h[$.tokenTypeIdx]=m,B($.categoryMatches,w=>{h[w]=m}))}),h),{});return i?function(h){var y;let m=this.LA(1),$=p[m.tokenTypeIdx];if(h!==void 0&&$!==void 0){let w=(y=h[$])===null||y===void 0?void 0:y.GATE;if(w!==void 0&&w.call(this)===!1)return}return $}:function(){let h=this.LA(1);return p[h.tokenTypeIdx]}}else return i?function(p){let h=new eT,y=p===void 0?0:p.length;for(let $=0;$U(p,h=>h[0]));if(zd(d)&&d[0][0]&&!a){let p=d[0],h=St(p);if(h.length===1&&ge(h[0].categoryMatches)){let y=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let y=nt(h,(m,$)=>($!==void 0&&(m[$.tokenTypeIdx]=!0,B($.categoryMatches,w=>{m[w]=!0})),m),{});return function(){let m=this.LA(1);return y[m.tokenTypeIdx]===!0}}}return function(){let p=Ml.call(this,o,c,zf,u);return typeof p=="object"?!1:p===0}}},s(Sa,"LLStarLookaheadStrategy"),Sa);function zd(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let o=[a.tokenTypeIdx].concat(a.categoryMatches);for(let u of o)if(r.has(u)){if(!i.has(u))return!1}else r.add(u),i.add(u)}}return!0}s(zd,"isLL1Sequence");function tT(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nsn(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${sT(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`,n}s(aT,"buildAmbiguityError");function sT(t){if(t instanceof at)return"SUBRULE";if(t instanceof Xe)return"OPTION";if(t instanceof ht)return"OR";if(t instanceof Rt)return"AT_LEAST_ONE";if(t instanceof Et)return"AT_LEAST_ONE_SEP";if(t instanceof pt)return"MANY_SEP";if(t instanceof Pe)return"MANY";if(t instanceof Ce)return"CONSUME";throw Error("non exhaustive match")}s(sT,"getProductionDslName");function oT(t,e,r){let n=mt(e.configs.elements,a=>a.state.transitions),i=Zv(n.filter(a=>a instanceof wh).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}s(oT,"buildAdaptivePredictError");function lT(t,e){return t.edges[e.tokenTypeIdx]}s(lT,"getExistingTargetState");function uT(t,e,r){let n=new Gd,i=[];for(let o of t.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===hl){i.push(o);continue}let u=o.state.transitions.length;for(let l=0;l0&&!fT(a))for(let o of i)a.add(o);return a}s(uT,"computeReachSet");function cT(t,e){if(t instanceof wh&&vh(e,t.tokenType))return t.target}s(cT,"getReachableTarget");function dT(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}s(dT,"getUniqueAlt");function _h(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}s(_h,"newDFAState");function jd(t,e,r,n){return n=Mh(t,n),e.edges[r.tokenTypeIdx]=n,n}s(jd,"addDFAEdge");function Mh(t,e){if(e===yu)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}s(Mh,"addDFAState");function pT(t){let e=new Gd,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};Qo(a,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}s(TT,"hasConflictingAltSet");function vT(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}s(vT,"hasStateAssociatedWithOneAlt");rl();var ba,RT=(ba=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new qh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new rc;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Tu(e.startOffset,e.image.length,Ho(e),e.tokenType,!r);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)}}addHiddenNodes(e){let r=[];for(let a of e){let o=new Tu(a.startOffset,a.image.length,Ho(a),a.tokenType,!0);o.root=this.rootNode,r.push(o)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},s(ba,"CstNodeBuilder"),ba),Na,Fh=(Na=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},s(Na,"AbstractCstNode"),Na),xa,Tu=(xa=class extends Fh{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,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},s(xa,"LeafCstNodeImpl"),xa),wa,rc=(wa=class extends Fh{constructor(){super(...arguments),this.content=new EE(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??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=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},s(wa,"CompositeCstNodeImpl"),wa),un,EE=(un=class extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,un.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}},s(un,"CstNodeContainer"),un),Ia,qh=(Ia=class extends rc{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},s(Ia,"RootCstNodeImpl"),Ia),vu=Symbol("Datatype");function Fl(t){return t.$type===vu}s(Fl,"isDataTypeNode");var jf="​",ET=s(t=>t.endsWith(jf)?t:t+jf,"withRuleSuffix"),Pa,Uh=(Pa=class{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new kE(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new AT(r,{...e.parser.ParserConfig,skipValidations:n,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)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},s(Pa,"AbstractLangiumParser"),Pa),Da,$T=(Da=class extends Uh{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new RT,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;Us(e)&&(i=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(ET(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),it(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let a=!this.isRecording()&&e!==void 0;if(a){let o={$type:e};this.stack.push(o),e===vu?o.value="":r!==void 0&&(o.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let o=this.nodeBuilder.buildLeafNode(i,n),{assignment:u,crossRef:l}=this.getAssignment(n),c=this.current;if(u){let d=cr(n)?i.image:this.converter.convert(i.image,o);this.assign(u.operator,u.feature,d,o,l)}else if(Fl(c)){let d=i.image;cr(n)||(d=this.converter.convert(d,o).toString()),c.value+=d}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let o;!this.isRecording()&&!n&&(o=this.nodeBuilder.buildCompositeNode(i));let u;try{u=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(u===void 0&&!n&&(u=this.construct()),u!==void 0&&o&&o.length>0&&this.performSubruleAssignment(u,i,o))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let o=this.current;if(Fl(o))o.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,o);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let i={$type:e};this.stack.push(i),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Fl(e)?this.converter.convert(e.value,e.$cstNode):(fp(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,o=-1;for(let $=0;$o?(o=A.precedence,a=$):A.precedence===o&&(A.rightAssoc||(a=$))}let u=i.slice(0,a),l=i.slice(a+1),c=n.slice(0,a+1),d=n.slice(a+1),p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:u},h={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:d,operators:l},y=this.constructInfix(p,r),m=this.constructInfix(h,r);return{$type:e.$type,$cstNode:e.$cstNode,left:y,operator:i[a],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Ln(e,ur);this.assignmentMap.set(e,{assignment:r,crossRef:r&&_n(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let o=this.current,u;switch(a==="single"&&typeof n=="string"?u=this.linker.buildReference(o,r,i,n):a==="multi"&&typeof n=="string"?u=this.linker.buildMultiReference(o,r,i,n):u=n,e){case"=":{o[r]=u;break}case"?=":{o[r]=!0;break}case"+=":Array.isArray(o[r])||(o[r]=[]),o[r].push(u)}}assignWithoutOverride(e,r){for(let[i,a]of Object.entries(r)){let o=e[i];o===void 0?e[i]=a:Array.isArray(o)&&Array.isArray(a)&&(a.push(...o),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},s(Da,"LangiumParser"),Da),La,kT=(La=class{buildMismatchTokenMessage(e){return gi.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return gi.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return gi.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return gi.buildEarlyExitMessage(e)}},s(La,"AbstractParserErrorMessageProvider"),La),Oa,Gh=(Oa=class extends kT{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}\`.`}},s(Oa,"LangiumParserErrorMessageProvider"),Oa),_a,CT=(_a=class extends Uh{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,{mode:"partial"});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(ET(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),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,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}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}},s(_a,"LangiumCompletionParser"),_a),$E={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Gh},Ma,AT=(Ma=class extends fE{constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...$E,lookaheadStrategy:n?new Sh({maxLookahead:r.maxLookahead}):new RE({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}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)}rule(e){return e.call(this,{})}},s(Ma,"ChevrotainWrapper"),Ma),Fa,kE=(Fa=class extends AT{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}},s(Fa,"ProfilerWrapper"),Fa);function nc(t,e,r){return ST({parser:e,tokens:r,ruleNames:new Map},t),e}s(nc,"createParser");function ST(t,e){let r=ju(e,!1),n=ce(e.rules).filter(it).filter(a=>r.has(a));for(let a of n){let o={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,xr(o,a.definition))}let i=ce(e.rules).filter(Us).filter(a=>r.has(a));for(let a of i)t.parser.rule(a,bT(t,a))}s(ST,"buildRules");function bT(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(bt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},o={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,o);let u={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...a,$container:o};o.elements.push(u,l);let c=n.map(p=>t.tokens[p.value]).map((p,h)=>({ALT:s(()=>t.parser.consume(h,p,u),"ALT")})),d;return p=>{d??(d=ic(t,r)),t.parser.subrule(0,d,!1,a,p),t.parser.many(0,{DEF:s(()=>{t.parser.alternatives(0,c),t.parser.subrule(1,d,!1,l,p)},"DEF")})}}s(bT,"buildInfixRule");function xr(t,e,r=!1){let n;if(cr(e))n=LT(t,e);else if(Sr(e))n=NT(t,e);else if(ur(e))n=xr(t,e.terminal);else if(_n(e))n=zh(t,e);else if(dr(e))n=xT(t,e);else if(Lu(e))n=IT(t,e);else if(Fu(e))n=PT(t,e);else if(Mn(e))n=DT(t,e);else if(Ep(e)){let i=t.consume++;n=s(()=>t.parser.consume(i,br,e),"method")}else throw new Uu(e.$cstNode,`Unexpected element type: ${e.$type}`);return jh(t,r?void 0:el(e),n,e.cardinality)}s(xr,"buildElement");function NT(t,e){let r=Nn(e);return()=>t.parser.action(r,e)}s(NT,"buildAction");function xT(t,e){let r=e.rule.ref;if(On(r)){let n=t.subrule++,i=it(r)&&r.fragment,a=e.arguments.length>0?wT(r,e.arguments):()=>({}),o;return u=>{o??(o=ic(t,r)),t.parser.subrule(n,o,i,e,a(u))}}else if(bt(r)){let n=t.consume++,i=Ru(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Ir();else throw new Uu(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}s(xT,"buildRuleCall");function wT(t,e){if(e.some(r=>r.calledByName)){let r=e.map(n=>({parameterName:n.parameter?.ref?.name,predicate:wt(n.value)}));return n=>{let i={};for(let{parameterName:a,predicate:o}of r)a&&(i[a]=o(n));return i}}else{let r=e.map(n=>wt(n.value));return n=>{let i={};for(let a=0;ae(n)||r(n)}else if(vp(t)){let e=wt(t.left),r=wt(t.right);return n=>e(n)&&r(n)}else if(Cp(t)){let e=wt(t.value);return r=>!e(r)}else if(Ap(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(yp(t)){let e=!!t.true;return()=>e}Ir()}s(wt,"buildPredicate");function IT(t,e){if(e.elements.length===1)return xr(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:xr(t,i,!0)},o=el(i);o&&(a.GATE=wt(o)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let o={ALT:s(()=>a.ALT(i),"ALT")},u=a.GATE;return u&&(o.GATE=()=>u(i)),o}))}}s(IT,"buildAlternatives");function PT(t,e){if(e.elements.length===1)return xr(t,e.elements[0]);let r=[];for(let u of e.elements){let l={ALT:xr(t,u,!0)},c=el(u);c&&(l.GATE=wt(c)),r.push(l)}let n=t.or++,i=s((u,l)=>{let c=l.getRuleStack().join("-");return`uGroup_${u}_${c}`},"idFunc"),a=s(u=>t.parser.alternatives(n,r.map((l,c)=>{let d={ALT:s(()=>!0,"ALT")},p=t.parser;d.ALT=()=>{if(l.ALT(u),!p.isRecording()){let y=i(n,p);p.unorderedGroups.get(y)||p.unorderedGroups.set(y,[]);let m=p.unorderedGroups.get(y);typeof m?.[c]>"u"&&(m[c]=!0)}};let h=l.GATE;return h?d.GATE=()=>h(u):d.GATE=()=>!p.unorderedGroups.get(i(n,p))?.[c],d})),"alternatives"),o=jh(t,el(e),a,"*");return u=>{o(u),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}s(PT,"buildUnorderedGroup");function DT(t,e){let r=e.elements.map(n=>xr(t,n));return n=>r.forEach(i=>i(n))}s(DT,"buildGroup");function el(t){if(Mn(t))return t.guardCondition}s(el,"getGuardCondition");function zh(t,e,r=e.terminal){if(r)if(dr(r)&&it(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,a;return o=>{a??(a=ic(t,n)),t.parser.subrule(i,a,!1,e,o)}}else if(dr(r)&&bt(r.rule.ref)){let n=t.consume++,i=Ru(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(cr(r)){let n=t.consume++,i=Ru(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=Ku(e.type.ref)?.terminal;if(!n)throw new Error("Could not find name assignment for type: "+Nn(e.type.ref));return zh(t,e,n)}}s(zh,"buildCrossReference");function LT(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)}s(LT,"buildKeyword");function jh(t,e,r,n){let i=e&&wt(e);if(!n)if(i){let a=t.or++;return o=>t.parser.alternatives(a,[{ALT:s(()=>r(o),"ALT"),GATE:s(()=>i(o),"GATE")},{ALT:Ud(),GATE:s(()=>!i(o),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return o=>t.parser.many(a,{DEF:s(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else if(n==="+"){let a=t.many++;if(i){let o=t.or++;return u=>t.parser.alternatives(o,[{ALT:s(()=>t.parser.atLeastOne(a,{DEF:s(()=>r(u),"DEF")}),"ALT"),GATE:s(()=>i(u),"GATE")},{ALT:Ud(),GATE:s(()=>!i(u),"GATE")}])}else return o=>t.parser.atLeastOne(a,{DEF:s(()=>r(o),"DEF")})}else if(n==="?"){let a=t.optional++;return o=>t.parser.optional(a,{DEF:s(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else Ir()}s(jh,"wrap");function ic(t,e){let r=OT(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}s(ic,"getRule");function OT(t,e){if(On(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!it(n);)(Mn(n)||Lu(n)||Fu(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}s(OT,"getRuleName");function Ru(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}s(Ru,"getToken");function Bh(t){let e=t.Grammar,r=t.parser.Lexer,n=new CT(t);return nc(e,n,r.definition),n.finalize(),n}s(Bh,"createCompletionParser");function Wh(t){let e=Vh(t);return e.finalize(),e}s(Wh,"createLangiumParser");function Vh(t){let e=t.Grammar,r=t.parser.Lexer,n=new $T(t);return nc(e,n,r.definition)}s(Vh,"prepareLangiumParser");var qa,ac=(qa=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=ce(ju(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(bt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=ll(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=zu(r)?rt.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}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(On).flatMap(i=>gr(i).filter(cr)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(Vs(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&Kp("^"+a.source+"$",e.value)&&n.push(i),n},[])}},s(qa,"DefaultTokenBuilder"),qa),Ua,Kh=(Ua=class{convert(e,r){let n=r.grammarSource;if(_n(n)&&(n=Jp(n)),dr(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){switch(e.name.toUpperCase()){case"INT":return Bt.convertInt(r);case"STRING":return Bt.convertString(r);case"ID":return Bt.convertID(r)}switch(oh(e)?.toLowerCase()){case"number":return Bt.convertNumber(r);case"boolean":return Bt.convertBoolean(r);case"bigint":return Bt.convertBigint(r);case"date":return Bt.convertDate(r);default:return r}}},s(Ua,"DefaultValueConverter"),Ua),Bt;(function(t){function e(c){let d="";for(let p=1;p{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}s(sc,"delayNextTick");var ql=0,_T=10;function oc(){return ql=performance.now(),new Ee.CancellationTokenSource}s(oc,"startCancelableOperation");function Hh(t){_T=t}s(Hh,"setInterruptionPeriod");var Kt=Symbol("OperationCancelled");function Un(t){return t===Kt}s(Un,"isOperationCancelled");async function We(t){if(t===Ee.CancellationToken.None)return;let e=performance.now();if(e-ql>=_T&&(ql=e,await sc(),ql=performance.now()),t.isCancellationRequested)throw Kt}s(We,"interruptAndCheck");var Ga,fr=(Ga=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}},s(Ga,"Deferred"),Ga),Ar,Bf=(Ar=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(Ar.isIncremental(n)){let i=Yh(n.range),a=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(o,this._content.length);let u=Math.max(i.start.line,0),l=Math.max(i.end.line,0),c=this._lineOffsets,d=Bd(n.text,!1,a);if(l-u===d.length)for(let h=0,y=d.length;he?i=o:n=o+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&Xh(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},s(Ar,"FullTextDocument"),Ar),Eu;(function(t){function e(i,a,o,u){return new Bf(i,a,o,u)}s(e,"create"),t.create=e;function r(i,a,o){if(i instanceof Bf)return i.update(a,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}s(r,"update"),t.update=r;function n(i,a){let o=i.getText(),u=$u(a.map(MT),(d,p)=>{let h=d.range.start.line-p.range.start.line;return h===0?d.range.start.character-p.range.start.character:h}),l=0,c=[];for(let d of u){let p=i.offsetAt(d.range.start);if(pl&&c.push(o.substring(l,p)),d.newText.length&&c.push(d.newText),l=i.offsetAt(d.range.end)}return c.push(o.substr(l)),c.join("")}s(n,"applyEdits"),t.applyEdits=n})(Eu||(Eu={}));function $u(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);$u(n,e),$u(i,e);let a=0,o=0,u=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}s(Yh,"getWellformedRange");function MT(t){let e=Yh(t.range);return e!==t.range?{newText:t.newText,range:e}:t}s(MT,"getWellformedEdit");var FT;(()=>{var t={975:P=>{function k(v){if(typeof v!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(v))}s(k,"e");function T(v,R){for(var S,D="",M=0,L=-1,z=0,q=0;q<=v.length;++q){if(q2){var re=D.lastIndexOf("/");if(re!==D.length-1){re===-1?(D="",M=0):M=(D=D.slice(0,re)).length-1-D.lastIndexOf("/"),L=q,z=0;continue}}else if(D.length===2||D.length===1){D="",M=0,L=q,z=0;continue}}R&&(D.length>0?D+="/..":D="..",M=2)}else D.length>0?D+="/"+v.slice(L+1,q):D=v.slice(L+1,q),M=q-L-1;L=q,z=0}else S===46&&z!==-1?++z:z=-1}return D}s(T,"r");var b={resolve:s(function(){for(var v,R="",S=!1,D=arguments.length-1;D>=-1&&!S;D--){var M;D>=0?M=arguments[D]:(v===void 0&&(v=process.cwd()),M=v),k(M),M.length!==0&&(R=M+"/"+R,S=M.charCodeAt(0)===47)}return R=T(R,!S),S?R.length>0?"/"+R:"/":R.length>0?R:"."},"resolve"),normalize:s(function(v){if(k(v),v.length===0)return".";var R=v.charCodeAt(0)===47,S=v.charCodeAt(v.length-1)===47;return(v=T(v,!R)).length!==0||R||(v="."),v.length>0&&S&&(v+="/"),R?"/"+v:v},"normalize"),isAbsolute:s(function(v){return k(v),v.length>0&&v.charCodeAt(0)===47},"isAbsolute"),join:s(function(){if(arguments.length===0)return".";for(var v,R=0;R0&&(v===void 0?v=S:v+="/"+S)}return v===void 0?".":b.normalize(v)},"join"),relative:s(function(v,R){if(k(v),k(R),v===R||(v=b.resolve(v))===(R=b.resolve(R)))return"";for(var S=1;Sq){if(R.charCodeAt(L+j)===47)return R.slice(L+j+1);if(j===0)return R.slice(L+j)}else M>q&&(v.charCodeAt(S+j)===47?re=j:j===0&&(re=0));break}var ee=v.charCodeAt(S+j);if(ee!==R.charCodeAt(L+j))break;ee===47&&(re=j)}var de="";for(j=S+re+1;j<=D;++j)j!==D&&v.charCodeAt(j)!==47||(de.length===0?de+="..":de+="/..");return de.length>0?de+R.slice(L+re):(L+=re,R.charCodeAt(L)===47&&++L,R.slice(L))},"relative"),_makeLong:s(function(v){return v},"_makeLong"),dirname:s(function(v){if(k(v),v.length===0)return".";for(var R=v.charCodeAt(0),S=R===47,D=-1,M=!0,L=v.length-1;L>=1;--L)if((R=v.charCodeAt(L))===47){if(!M){D=L;break}}else M=!1;return D===-1?S?"/":".":S&&D===1?"//":v.slice(0,D)},"dirname"),basename:s(function(v,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');k(v);var S,D=0,M=-1,L=!0;if(R!==void 0&&R.length>0&&R.length<=v.length){if(R.length===v.length&&R===v)return"";var z=R.length-1,q=-1;for(S=v.length-1;S>=0;--S){var re=v.charCodeAt(S);if(re===47){if(!L){D=S+1;break}}else q===-1&&(L=!1,q=S+1),z>=0&&(re===R.charCodeAt(z)?--z==-1&&(M=S):(z=-1,M=q))}return D===M?M=q:M===-1&&(M=v.length),v.slice(D,M)}for(S=v.length-1;S>=0;--S)if(v.charCodeAt(S)===47){if(!L){D=S+1;break}}else M===-1&&(L=!1,M=S+1);return M===-1?"":v.slice(D,M)},"basename"),extname:s(function(v){k(v);for(var R=-1,S=0,D=-1,M=!0,L=0,z=v.length-1;z>=0;--z){var q=v.charCodeAt(z);if(q!==47)D===-1&&(M=!1,D=z+1),q===46?R===-1?R=z:L!==1&&(L=1):R!==-1&&(L=-1);else if(!M){S=z+1;break}}return R===-1||D===-1||L===0||L===1&&R===D-1&&R===S+1?"":v.slice(R,D)},"extname"),format:s(function(v){if(v===null||typeof v!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof v);return(function(R,S){var D=S.dir||S.root,M=S.base||(S.name||"")+(S.ext||"");return D?D===S.root?D+M:D+"/"+M:M})(0,v)},"format"),parse:s(function(v){k(v);var R={root:"",dir:"",base:"",ext:"",name:""};if(v.length===0)return R;var S,D=v.charCodeAt(0),M=D===47;M?(R.root="/",S=1):S=0;for(var L=-1,z=0,q=-1,re=!0,j=v.length-1,ee=0;j>=S;--j)if((D=v.charCodeAt(j))!==47)q===-1&&(re=!1,q=j+1),D===46?L===-1?L=j:ee!==1&&(ee=1):L!==-1&&(ee=-1);else if(!re){z=j+1;break}return L===-1||q===-1||ee===0||ee===1&&L===q-1&&L===z+1?q!==-1&&(R.base=R.name=z===0&&M?v.slice(1,q):v.slice(z,q)):(z===0&&M?(R.name=v.slice(1,L),R.base=v.slice(1,q)):(R.name=v.slice(z,L),R.base=v.slice(z,q)),R.ext=v.slice(L,q)),z>0?R.dir=v.slice(0,z-1):M&&(R.dir="/"),R},"parse"),sep:"/",delimiter:":",win32:null,posix:null};b.posix=b,P.exports=b}},e={};function r(P){var k=e[P];if(k!==void 0)return k.exports;var T=e[P]={exports:{}};return t[P](T,T.exports,r),T.exports}s(r,"r"),r.d=(P,k)=>{for(var T in k)r.o(k,T)&&!r.o(P,T)&&Object.defineProperty(P,T,{enumerable:!0,get:k[T]})},r.o=(P,k)=>Object.prototype.hasOwnProperty.call(P,k),r.r=P=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(P,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:s(()=>h,"URI"),Utils:s(()=>Ae,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,o=/^\//,u=/^\/\//;function l(P,k){if(!P.scheme&&k)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${P.authority}", path: "${P.path}", query: "${P.query}", fragment: "${P.fragment}"}`);if(P.scheme&&!a.test(P.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(P.path){if(P.authority){if(!o.test(P.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(P.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}s(l,"a");let c="",d="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;const oe=class oe{static isUri(k){return k instanceof oe||!!k&&typeof k.authority=="string"&&typeof k.fragment=="string"&&typeof k.path=="string"&&typeof k.query=="string"&&typeof k.scheme=="string"&&typeof k.fsPath=="string"&&typeof k.with=="function"&&typeof k.toString=="function"}scheme;authority;path;query;fragment;constructor(k,T,b,v,R,S=!1){typeof k=="object"?(this.scheme=k.scheme||c,this.authority=k.authority||c,this.path=k.path||c,this.query=k.query||c,this.fragment=k.fragment||c):(this.scheme=(function(D,M){return D||M?D:"file"})(k,S),this.authority=T||c,this.path=(function(D,M){switch(D){case"https":case"http":case"file":M?M[0]!==d&&(M=d+M):M=d}return M})(this.scheme,b||c),this.query=v||c,this.fragment=R||c,l(this,S))}get fsPath(){return N(this,!1)}with(k){if(!k)return this;let{scheme:T,authority:b,path:v,query:R,fragment:S}=k;return T===void 0?T=this.scheme:T===null&&(T=c),b===void 0?b=this.authority:b===null&&(b=c),v===void 0?v=this.path:v===null&&(v=c),R===void 0?R=this.query:R===null&&(R=c),S===void 0?S=this.fragment:S===null&&(S=c),T===this.scheme&&b===this.authority&&v===this.path&&R===this.query&&S===this.fragment?this:new m(T,b,v,R,S)}static parse(k,T=!1){let b=p.exec(k);return b?new m(b[2]||c,ne(b[4]||c),ne(b[5]||c),ne(b[7]||c),ne(b[9]||c),T):new m(c,c,c,c,c)}static file(k){let T=c;if(i&&(k=k.replace(/\\/g,d)),k[0]===d&&k[1]===d){let b=k.indexOf(d,2);b===-1?(T=k.substring(2),k=d):(T=k.substring(2,b),k=k.substring(b)||d)}return new m("file",T,k,c,c)}static from(k){let T=new m(k.scheme,k.authority,k.path,k.query,k.fragment);return l(T,!0),T}toString(k=!1){return C(this,k)}toJSON(){return this}static revive(k){if(k){if(k instanceof oe)return k;{let T=new m(k);return T._formatted=k.external,T._fsPath=k._sep===y?k.fsPath:null,T}}return k}};s(oe,"l");let h=oe,y=i?1:void 0;const Ze=class Ze extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=N(this,!1)),this._fsPath}toString(k=!1){return k?C(this,!0):(this._formatted||(this._formatted=C(this,!1)),this._formatted)}toJSON(){let k={$mid:1};return this._fsPath&&(k.fsPath=this._fsPath,k._sep=y),this._formatted&&(k.external=this._formatted),this.path&&(k.path=this.path),this.scheme&&(k.scheme=this.scheme),this.authority&&(k.authority=this.authority),this.query&&(k.query=this.query),this.fragment&&(k.fragment=this.fragment),k}};s(Ze,"d");let m=Ze,$={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function w(P,k,T){let b,v=-1;for(let R=0;R=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||k&&S===47||T&&S===91||T&&S===93||T&&S===58)v!==-1&&(b+=encodeURIComponent(P.substring(v,R)),v=-1),b!==void 0&&(b+=P.charAt(R));else{b===void 0&&(b=P.substr(0,R));let D=$[S];D!==void 0?(v!==-1&&(b+=encodeURIComponent(P.substring(v,R)),v=-1),b+=D):v===-1&&(v=R)}}return v!==-1&&(b+=encodeURIComponent(P.substring(v))),b!==void 0?b:P}s(w,"m");function A(P){let k;for(let T=0;T1&&P.scheme==="file"?`//${P.authority}${P.path}`:P.path.charCodeAt(0)===47&&(P.path.charCodeAt(1)>=65&&P.path.charCodeAt(1)<=90||P.path.charCodeAt(1)>=97&&P.path.charCodeAt(1)<=122)&&P.path.charCodeAt(2)===58?k?P.path.substr(1):P.path[1].toLowerCase()+P.path.substr(2):P.path,i&&(T=T.replace(/\//g,"\\")),T}s(N,"v");function C(P,k){let T=k?A:w,b="",{scheme:v,authority:R,path:S,query:D,fragment:M}=P;if(v&&(b+=v,b+=":"),(R||v==="file")&&(b+=d,b+=d),R){let L=R.indexOf("@");if(L!==-1){let z=R.substr(0,L);R=R.substr(L+1),L=z.lastIndexOf(":"),L===-1?b+=T(z,!1,!1):(b+=T(z.substr(0,L),!1,!1),b+=":",b+=T(z.substr(L+1),!1,!0)),b+="@"}R=R.toLowerCase(),L=R.lastIndexOf(":"),L===-1?b+=T(R,!1,!0):(b+=T(R.substr(0,L),!1,!0),b+=R.substr(L))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){let L=S.charCodeAt(1);L>=65&&L<=90&&(S=`/${String.fromCharCode(L+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){let L=S.charCodeAt(0);L>=65&&L<=90&&(S=`${String.fromCharCode(L+32)}:${S.substr(2)}`)}b+=T(S,!0,!1)}return D&&(b+="?",b+=T(D,!1,!1)),M&&(b+="#",b+=k?M:w(M,!1,!1)),b}s(C,"b");function I(P){try{return decodeURIComponent(P)}catch{return P.length>3?P.substr(0,3)+I(P.substr(3)):P}}s(I,"C");let Y=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ne(P){return P.match(Y)?P.replace(Y,(k=>I(k))):P}s(ne,"w");var Z=r(975);let ye=Z.posix||Z,$e="/";var Ae;(function(P){P.joinPath=function(k,...T){return k.with({path:ye.join(k.path,...T)})},P.resolvePath=function(k,...T){let b=k.path,v=!1;b[0]!==$e&&(b=$e+b,v=!0);let R=ye.resolve(b,...T);return v&&R[0]===$e&&!k.authority&&(R=R.substring(1)),k.with({path:R})},P.dirname=function(k){if(k.path.length===0||k.path===$e)return k;let T=ye.dirname(k.path);return T.length===1&&T.charCodeAt(0)===46&&(T=""),k.with({path:T})},P.basename=function(k){return ye.basename(k.path)},P.extname=function(k){return ye.extname(k.path)}})(Ae||(Ae={})),FT=n})();var{URI:gt,Utils:yo}=FT,tt;(function(t){t.basename=yo.basename,t.dirname=yo.dirname,t.extname=yo.extname,t.joinPath=yo.joinPath,t.resolvePath=yo.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(o,u){return o?.toString()===u?.toString()}s(r,"equals"),t.equals=r;function n(o,u){let l=typeof o=="string"?gt.parse(o).path:o.path,c=typeof u=="string"?gt.parse(u).path:u.path,d=l.split("/").filter($=>$.length>0),p=c.split("/").filter($=>$.length>0);if(e){let $=/^[A-Z]:$/;if(d[0]&&$.test(d[0])&&(d[0]=d[0].toLowerCase()),p[0]&&$.test(p[0])&&(p[0]=p[0].toLowerCase()),d[0]!==p[0])return c.substring(1)}let h=0;for(;h({name:i.name,uri:tt.joinPath(gt.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(tt.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let a of n){let o=i.children.get(a);if(!o)if(r)o={name:a,children:new Map,parent:i},i.children.set(a,o);else return;i=o}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}},s(za,"UriTrie"),za),Q;(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"})(Q||(Q={}));var ja,qT=(ja=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=Ee.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??gt.parse(e.uri),Ee.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return Ee.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:Q.Parsed,references:[],textDocument:n};else{let o=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:Q.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=a,a}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let o=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:o})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=Q.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=Eu.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},s(ja,"DefaultLangiumDocumentFactory"),ja),Ba,UT=(Ba=class{constructor(e){this.documentTrie=new Zh,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ce(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,Q.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=Q.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=Q.Changed;return this.documentTrie.delete(r),n}},s(Ba,"DefaultLangiumDocuments"),Ba),Ur=Symbol("RefResolving"),Wa,GT=(Wa=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=Ee.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Dt(e.parseResult.value))await We(r),qs(i).forEach(a=>{let o=`${i.$type}:${a.property}`;n.startSubTask(o);try{this.doLink(a,e)}finally{n.stopSubTask(o)}})}finally{n.stop()}}else for(let n of Dt(e.parseResult.value))await We(r),qs(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Ur;try{let i=this.getCandidate(e);if(jr(i))n._ref=i;else{n._nodeDescription=i;let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Ur;try{let i=this.getCandidates(e),a=[];if(jr(i))n._linkingError=i;else for(let o of i){let u=this.loadAstNode(o);u&&a.push({ref:u,$nodeDescription:o})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(n=>`${n.documentUri}#${n.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,o={$refNode:n,$refText:i,_ref:void 0,get ref(){if(qe(this._ref))return this._ref;if(dp(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:o,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Ur;let u=yi(e).$document,l=a.getLinkedNode({reference:o,container:e,property:r});if(l.error&&u&&u.state0))return this._linkingError=a.createLinkingError({reference:o,container:e,property:r})}};return o}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(jr(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=yi(e.container).$document;n&&n.state_n(r)&&r.isMulti)}findDeclarations(e){if(e){let r=rh(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(et(i)||Ht(i))return jl(i);if(Array.isArray(i)){for(let a of i)if((et(a)||Ht(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return jl(a)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Op(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of qs(n))if(Ht(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>tt.equals(a.sourceUri,r.documentUri))),n.push(...i),ce(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i);if(a){let o=Pt(i),u=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:o.uri,sourcePath:u,targetUri:o.uri,targetPath:u,segment:zs(a),local:!0})}}return n}},s(Ka,"DefaultReferences"),Ka),Ha,mr=(Ha=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return Ko.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){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?ce(r):_s}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())}},s(Ha,"MultiMap"),Ha),Xa,ku=(Xa=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}},s(Xa,"BiMap"),Xa),Ya,BT=(Ya=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=Ee.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=il,i=Ee.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,r);for(let o of n(e))await We(i),this.addExportedSymbol(o,a,r);return a}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=Ee.CancellationToken.None){let n=e.parseResult.value,i=new mr;for(let a of gr(n))await We(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}},s(Ya,"DefaultScopeComputation"),Ya),Za,Wd=(Za=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},s(Za,"StreamScope"),Za),Ja,CE=(Ja=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(a,i)}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)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?ce(i).concat(this.outerScope.getElements(e)):ce(i)}getAllElements(){let e=ce(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},s(Ja,"MapScope"),Ja),Qa,WT=(Qa=class{constructor(e,r,n){this.elements=new mr,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?ce(n).concat(this.outerScope.getElements(e)):ce(n)}getAllElements(){let e=ce(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},s(Qa,"MultiMapScope"),Qa),AE={getElement(){},getElements(){return _s},getAllElements(){return _s}},es,lc=(es=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")}},s(es,"DisposableCache"),es),ts,Qh=(ts=class extends lc{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()}},s(ts,"SimpleCache"),ts),rs,uc=(rs=class extends lc{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 a=n();return i.set(r,a),a}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}},s(rs,"ContextCache"),rs),ns,VT=(ns=class extends uc{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let o of a)this.clear(o)}))}},s(ns,"DocumentCache"),ns),is,ef=(is=class extends Qh{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},s(is,"WorkspaceCache"),is),as,KT=(as=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 ef(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Pt(e.container).localSymbols;if(i){let o=e.container;do i.has(o)&&r.push(i.getStream(o).filter(u=>this.reflection.isSubtype(u.type,n))),o=o.$container;while(o)}let a=this.getGlobalScope(n,e);for(let o=r.length-1;o>=0;o--)a=this.createScope(r[o],a);return a}createScope(e,r,n){return new Wd(ce(e),r,n)}createScopeForNodes(e,r,n){let i=ce(e).map(a=>{let o=this.nameProvider.getName(a);if(o)return this.descriptions.createDescription(a,o)}).nonNullable();return new Wd(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new WT(this.indexManager.allElements(e)))}},s(as,"DefaultScopeProvider"),as);function tf(t){return typeof t.$comment=="string"}s(tf,"isAstNodeWithComment");function Vd(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}s(Vd,"isIntermediateReference");var ss,HT=(ss=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,a=s((u,l)=>this.replacer(u,l,n),"defaultReplacer"),o=i?(u,l)=>i(u,l,a):a;try{return this.currentDocument=Pt(e),JSON.stringify(e,o,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:o,uriConverter:u}){if(!this.ignoreProperties.has(e))if(et(r)){let l=r.ref,c=n?r.$refText:void 0;if(l){let d=Pt(l),p="";this.currentDocument&&this.currentDocument!==d&&(u?p=u(d.uri,l):p=d.uri.toString());let h=this.astNodeLocator.getAstNodePath(l);return{$ref:`${p}#${h}`,$refText:c}}else return{$error:r.error?.message??"Could not resolve reference",$refText:c}}else if(Ht(r)){let l=n?r.$refText:void 0,c=[];for(let d of r.items){let p=d.ref,h=Pt(d.ref),y="";this.currentDocument&&this.currentDocument!==h&&(u?y=u(h.uri,p):y=h.uri.toString());let m=this.astNodeLocator.getAstNodePath(p);c.push(`${y}#${m}`)}return{$refs:c,$refText:l}}else if(qe(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),o){l??(l={...r});let c=this.commentProvider.getComment(r);c&&(l.$comment=c.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=s(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let o=eh(e.$cstNode,a).map(r);o.length!==0&&(i[a]=o)}),e}}linkNode(e,r,n,i,a,o){for(let[l,c]of Object.entries(e))if(Array.isArray(c))for(let d=0;d{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(Un(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let o=a instanceof Error?a.message:String(a);n("error",`${r}: ${o}`,{node:i})}}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)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,o,u)=>{await this.handleException(()=>e.call(n,i,a,o,u),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},s(ls,"ValidationRegistry"),ls),ZT=Object.freeze({validateNode:!0,validateChildren:!0}),us,JT=(us=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=Ee.CancellationToken.None){let i=e.parseResult,a=[];if(await We(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(o=>o.data?.code===Ct.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(o=>o.data?.code===Ct.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(o=>o.data?.code===Ct.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(o){if(Un(o))throw o;console.error("An error occurred during validation:",o)}return await We(n),a}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of i){let o=a.severity??"error",u={severity:jo(o),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:nf(o),source:this.getSource()};r.push(u)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let o=i.previousToken;if(isNaN(o.startOffset)){let u={line:0,character:0};a={start:u,end:u}}else{let u={line:o.endLine-1,character:o.endColumn};a={start:u,end:u}}}}else a=Ho(i.token);if(a){let o={severity:jo("error"),range:a,message:i.message,data:nn(Ct.ParsingError),source:this.getSource()};r.push(o)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let o={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Ct.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,o))}}}async validateAst(e,r,n=Ee.CancellationToken.None){let i=[],a=s((o,u,l)=>{i.push(this.toDiagnostic(o,u,l))},"acceptor");return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=Ee.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let o of a)await We(i),await o(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=Ee.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let o=Dt(e).iterator();for(let u of o){a.startSubTask(u.$type);let l=this.validateSingleNodeOptions(u,r);if(l.validateNode)try{let c=this.validationRegistry.getChecks(u.$type,r.categories);for(let d of c)await d(u,n,i)}finally{a.stopSubTask(u.$type)}l.validateChildren||o.prune()}}finally{a.stop()}}else{let a=Dt(e).iterator();for(let o of a){await We(i);let u=this.validateSingleNodeOptions(o,r);if(u.validateNode){let l=this.validationRegistry.getChecks(o.$type,r.categories);for(let c of l)await c(o,n,i)}u.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return ZT}async validateAstAfter(e,r,n,i=Ee.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let o of a)await We(i),await o(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:rf(n),severity:jo(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}},s(us,"DefaultDocumentValidator"),us);function rf(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Bu(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=th(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}}}s(rf,"getDiagnosticRange");function jo(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}s(jo,"toDiagnosticSeverity");function nf(t){switch(t){case"error":return nn(Ct.LexingError);case"warning":return nn(Ct.LexingWarning);case"info":return nn(Ct.LexingInfo);case"hint":return nn(Ct.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}s(nf,"toDiagnosticData");var Ct;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ct||(Ct={}));var cs,QT=(cs=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Pt(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let o,u=s(()=>o??(o=zs(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return u()},selectionSegment:zs(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},s(cs,"DefaultAstNodeDescriptionProvider"),cs),ds,ev=(ds=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=Ee.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Dt(i))await We(r),qs(a).forEach(o=>{o.reference.error||n.push(...this.createInfoDescriptions(o))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];et(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Ht(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));let i=Pt(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),o=[],u=zs(r.$refNode);for(let l of n)o.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:u,local:tt.equals(l.documentUri,i)});return o}},s(ds,"DefaultReferenceDescriptionProvider"),ds),ps,tv=(ps=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((n,i)=>{if(!n||i.length===0)return n;let a=i.indexOf(this.indexSeparator);if(a>0){let o=i.substring(0,a),u=parseInt(i.substring(a+1));return n[o]?.[u]}return n[i]},e)}},s(ps,"DefaultAstNodeLocator"),ps),cc={};bu(cc,ap(Bs()));var hs,rv=(hs=class{constructor(e){this._ready=new fr,this.onConfigurationSectionUpdateEmitter=new cc.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},s(hs,"DefaultConfigurationProvider"),hs),Tl=ap(wR()),on;(function(t){function e(r){return{dispose:s(async()=>await r(),"dispose")}}s(e,"create"),t.create=e})(on||(on={}));var fs,nv=(fs=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new mr,this.documentPhaseListeners=new mr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Q.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Ee.CancellationToken.None){for(let i of e){let a=i.uri.toString();if(i.state===Q.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,Q.IndexedReferences);else if(typeof r.validation=="object"){let o=this.findMissingValidationCategories(i,r);o.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:o}},result:this.buildState.get(a)?.result}),i.state=Q.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=Q.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=Ee.CancellationToken.None){this.currentState=Q.Changed;let i=[];for(let l of r){let c=this.langiumDocuments.deleteDocuments(l);for(let d of c)i.push(d.uri),this.cleanUpDeleted(d)}let a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(let l of a){let c=this.langiumDocuments.getDocument(l);c===void 0&&(c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),c.state=Q.Changed,this.langiumDocuments.addDocument(c)),this.resetToState(c,Q.Changed)}let o=ce(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!o.has(l.uri.toString())&&this.shouldRelink(l,o)).forEach(l=>this.resetToState(l,Q.ComputedScopes)),await this.emitUpdate(a,i),await We(n);let u=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,o=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return ce(o).filter(u=>!a.has(u)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let r=await this.fileSystemProvider.stat(e);if(r.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(r))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),on.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case Q.Changed:case Q.Parsed:this.indexManager.removeContent(e.uri);case Q.IndexedContent:e.localSymbols=void 0;case Q.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Q.Linked:this.indexManager.removeReferences(e.uri);case Q.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Q.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Q.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,Q.Parsed,n,o=>this.langiumDocumentFactory.update(o,n)),await this.runCancelable(e,Q.IndexedContent,n,o=>this.indexManager.updateContent(o,n)),await this.runCancelable(e,Q.ComputedScopes,n,async o=>{let u=this.serviceRegistry.getServices(o.uri).references.ScopeComputation;o.localSymbols=await u.collectLocalSymbols(o,n)});let i=e.filter(o=>this.shouldLink(o));await this.runCancelable(i,Q.Linked,n,o=>this.serviceRegistry.getServices(o.uri).references.Linker.link(o,n)),await this.runCancelable(i,Q.IndexedReferences,n,o=>this.indexManager.updateReferences(o,n));let a=e.filter(o=>this.shouldValidate(o)?!0:(this.markAsCompleted(o),!1));await this.runCancelable(a,Q.Validated,n,async o=>{await this.validate(o,n),this.markAsCompleted(o)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(let o of e)o.stateo.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),on.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),on.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=Ee.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Kt);if(this.currentState>=e&&e>i.state)return Promise.reject(new Tl.ResponseError(Tl.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${Q[i.state]}, requiring ${Q[e]}, but workspace state is already ${Q[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Tl.ResponseError(Tl.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,o)=>{let u=this.onDocumentPhase(e,c=>{tt.equals(c.uri,r)&&(u.dispose(),l.dispose(),a(c.uri))}),l=n.onCancellationRequested(()=>{u.dispose(),l.dispose(),o(Kt)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Kt):new Promise((n,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),o.dispose(),n()}),o=r.onCancellationRequested(()=>{a.dispose(),o.dispose(),i(Kt)})})}async notifyDocumentPhase(e,r,n){let i=this.documentPhaseListeners.get(r).slice();for(let a of i)try{await We(n),await a(e,n)}catch(o){if(!Un(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let i=this.buildPhaseListeners.get(r).slice();for(let a of i)await We(n),await a(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);let o=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...o):e.diagnostics=o;let u=this.buildState.get(e.uri.toString());u&&(u.result??(u.result={}),u.result.validationChecks?u.result.validationChecks=ce(u.result.validationChecks).concat(a.categories).distinct().toArray():u.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},s(fs,"DefaultDocumentBuilder"),fs),ms,iv=(ms=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new uc,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Pt(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(o=>{tt.equals(o.targetUri,n)&&o.targetPath===r&&i.push(o)})}),ce(i)}allElements(e,r){let n=ce(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(n=>this.astReflection.isSubtype(n.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=Ee.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,r=Ee.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}},s(ms,"DefaultIndexManager"),ms),gs,av=(gs=class{constructor(e){this.initialBuildOptions={},this._ready=new fr,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=Ee.CancellationToken.None){let n=await this.performStartup(e);await We(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s(o=>{r.push(o),this.langiumDocuments.hasDocument(o.uri)||this.langiumDocuments.addDocument(o)},"collector");await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(o=>this.getRootFolder(o)).map(async o=>this.traverseFolder(o,i)));let a=ce(i).distinct(o=>o.toString()).filter(o=>!this.langiumDocuments.hasDocument(o));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return gt.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=tt.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}},s(gs,"DefaultWorkspaceManager"),gs),ys,sv=(ys=class{buildUnexpectedCharactersMessage(e,r,n,i,a){return Dd.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return Dd.buildUnableToPopLexerModeMessage(e)}},s(ys,"DefaultLexerErrorMessageProvider"),ys),af={mode:"full"},Ts,sf=(Ts=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=Au(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new rt(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=af){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(Au(e))return e;let r=pc(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}},s(Ts,"DefaultLexer"),Ts);function dc(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}s(dc,"isTokenTypeArray");function pc(t){return t&&"modes"in t&&"defaultMode"in t}s(pc,"isIMultiModeLexerDefinition");function Au(t){return!dc(t)&&!pc(t)}s(Au,"isTokenTypeDictionary");rl();function of(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=ae.create(0,0));let a=uf(t),o=hc(n),u=ov({lines:a,position:i,options:o});return cv({index:0,tokens:u,position:i})}s(of,"parseJSDoc");function lf(t,e){let r=hc(e),n=uf(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],o=r.start,u=r.end;return!!o?.exec(i)&&!!u?.exec(a)}s(lf,"isJSDoc");function uf(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(_m)}s(uf,"getLines");var Wf=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,SE=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function ov(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i=u.length){if(e.length>0){let c=ae.create(r,n);e.push({type:"break",content:"",range:te.create(c,c)})}}else{Wf.lastIndex=l;let c=Wf.exec(u);if(c){let d=c[0],p=c[1],h=ae.create(r,n+l),y=ae.create(r,n+l+d.length);e.push({type:"tag",content:p,range:te.create(h,y)}),l+=d.length,l=Su(u,l)}if(l0&&e[e.length-1].type==="break"?e.slice(0,-1):e}s(ov,"tokenize");function lv(t,e,r,n){let i=[];if(t.length===0){let a=ae.create(r,n),o=ae.create(r,n+e.length);i.push({type:"text",content:e,range:te.create(a,o)})}else{let a=0;for(let u of t){let l=u.index,c=e.substring(a,l);c.length>0&&i.push({type:"text",content:e.substring(a,l),range:te.create(ae.create(r,a+n),ae.create(r,l+n))});let d=c.length+1,p=u[1];if(i.push({type:"inline-tag",content:p,range:te.create(ae.create(r,a+d+n),ae.create(r,a+d+p.length+n))}),d+=p.length,u.length===4){d+=u[2].length;let h=u[3];i.push({type:"text",content:h,range:te.create(ae.create(r,a+d+n),ae.create(r,a+d+h.length+n))})}else i.push({type:"text",content:"",range:te.create(ae.create(r,a+d+n),ae.create(r,a+d+n))});a=l+u[0].length}let o=e.substring(a);o.length>0&&i.push({type:"text",content:o,range:te.create(ae.create(r,a+n),ae.create(r,a+n+o.length))})}return i}s(lv,"buildInlineTokens");var bE=/\S/,NE=/\s*$/;function Su(t,e){let r=t.substring(e).match(bE);return r?e+r.index:t.length}s(Su,"skipWhitespace");function uv(t){let e=t.match(NE);if(e&&typeof e.index=="number")return e.index}s(uv,"lastCharacter");function cv(t){let e=ae.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Vf([],te.create(e,e));let r=[];for(;t.indexr.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+=Hd(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+=Hd(r)+i}return r.trim()}},s(vs,"JSDocCommentImpl"),vs),Rs,Tc=(Rs=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} ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=fv(this.name,r,e??{});if(typeof a=="string")return a}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} — ${r}`:this.content.inlines.length>1&&(i=`${i} ${r}`),this.inline?`{${i}}`:i}},s(Rs,"JSDocTagImpl"),Rs);function fv(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let a=Su(e,n);i=e.substring(a),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??mv(e,i)}}s(fv,"renderInlineTag");function mv(t,e){try{return gt.parse(t,!0),`[${e}](${t})`}catch{return t}}s(mv,"renderLinkDefault");var Es,Kd=(Es=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` `)}return r}},s(Es,"JSDocTextImpl"),Es),$s,gv=($s=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}},s($s,"JSDocLineImpl"),$s);function Hd(t){return t.endsWith(` `)?` `:` `}s(Hd,"fillNewlines");var ks,yv=(ks=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&lf(r))return of(r).toMarkdown({renderLink:s((n,i)=>this.documentationLinkRenderer(e,n,i),"renderLink"),renderTag:s(n=>this.documentationTagRenderer(e,n),"renderTag")})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let a=i.nameSegment.range.start.line+1,o=i.nameSegment.range.start.character+1,u=i.documentUri.with({fragment:`L${a},${o}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let n=Pt(e).localSymbols;if(!n)return;let i=e;do{let a=n.getStream(i).find(o=>o.name===r);if(a)return a;i=i.$container}while(i)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(n=>n.name===r)}},s(ks,"JSDocDocumentationProvider"),ks),Cs,Tv=(Cs=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return tf(e)?e.$comment:qp(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},s(Cs,"DefaultCommentProvider"),Cs),As,vv=(As=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},s(As,"DefaultAsyncParser"),As),Ss,xE=(Ss=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new fr,a,o=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(u=>{let l=this.hydrator.hydrate(u);i.resolve(l)}).catch(u=>{i.reject(u)}).finally(()=>{o.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new fr;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Kt)}),this.queue.push(r),r.promise}},s(Ss,"AbstractThreadedAsyncParser"),Ss),bs,wE=(bs=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new cc.Emitter,this.deferred=new fr,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let o=a;this.deferred.resolve(o),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Kt),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new fr,this.sendMessage(e),this.deferred.promise}},s(bs,"ParserWorker"),bs),Ns,Rv=(Ns=class{constructor(){this.previousTokenSource=new Ee.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=oc();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=Ee.CancellationToken.None){let i=new fr,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){Un(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},s(Ns,"DefaultWorkspaceLock"),Ns),xs,Ev=(xs=class{constructor(e){this.grammarElementIdMap=new ku,this.tokenTypeIdMap=new ku,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Dt(e))r.set(i,{});if(e.$cstNode)for(let i of Gs(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let u of a)qe(u)?o.push(this.dehydrateAstNode(u,r)):et(u)?o.push(this.dehydrateReference(u,r)):o.push(u)}else qe(a)?n[i]=this.dehydrateAstNode(a,r):et(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Pu(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),lr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):Dn(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Dt(e))r.set(a,{});let i;if(e.$cstNode)for(let a of Gs(e.$cstNode)){let o;"fullText"in a?(o=new qh(a.fullText),i=o):"content"in a?o=new rc:"tokenType"in a&&(o=this.hydrateCstLeafNode(a)),o&&(n.set(a,o),o.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let u of a)qe(u)?o.push(this.setParent(this.hydrateAstNode(u,r),n)):et(u)?o.push(this.hydrateReference(u,n,i,r)):o.push(u)}else qe(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):et(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),lr(i))for(let a of e.content){let o=this.hydrateCstNode(a,r,n++);i.content.push(o)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,o=e.startColumn,u=e.endLine,l=e.endColumn,c=e.hidden;return new Tu(n,i,{start:{line:a,character:o},end:{line:u,character:l}},r,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Dt(this.grammar))Du(r)&&this.grammarElementIdMap.set(r,e++)}},s(xs,"DefaultHydrator"),xs);function Zt(t){return{documentation:{CommentProvider:s(e=>new Tv(e),"CommentProvider"),DocumentationProvider:s(e=>new yv(e),"DocumentationProvider")},parser:{AsyncParser:s(e=>new vv(e),"AsyncParser"),GrammarConfig:s(e=>uh(e),"GrammarConfig"),LangiumParser:s(e=>Wh(e),"LangiumParser"),CompletionParser:s(e=>Bh(e),"CompletionParser"),ValueConverter:s(()=>new Kh,"ValueConverter"),TokenBuilder:s(()=>new ac,"TokenBuilder"),Lexer:s(e=>new sf(e),"Lexer"),ParserErrorMessageProvider:s(()=>new Gh,"ParserErrorMessageProvider"),LexerErrorMessageProvider:s(()=>new sv,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:s(()=>new tv,"AstNodeLocator"),AstNodeDescriptionProvider:s(e=>new QT(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:s(e=>new ev(e),"ReferenceDescriptionProvider")},references:{Linker:s(e=>new GT(e),"Linker"),NameProvider:s(()=>new zT,"NameProvider"),ScopeProvider:s(e=>new KT(e),"ScopeProvider"),ScopeComputation:s(e=>new BT(e),"ScopeComputation"),References:s(e=>new jT(e),"References")},serializer:{Hydrator:s(e=>new Ev(e),"Hydrator"),JsonSerializer:s(e=>new HT(e),"JsonSerializer")},validation:{DocumentValidator:s(e=>new JT(e),"DocumentValidator"),ValidationRegistry:s(e=>new YT(e),"ValidationRegistry")},shared:s(()=>t.shared,"shared")}}s(Zt,"createDefaultCoreModule");function Jt(t){return{ServiceRegistry:s(e=>new XT(e),"ServiceRegistry"),workspace:{LangiumDocuments:s(e=>new UT(e),"LangiumDocuments"),LangiumDocumentFactory:s(e=>new qT(e),"LangiumDocumentFactory"),DocumentBuilder:s(e=>new nv(e),"DocumentBuilder"),IndexManager:s(e=>new iv(e),"IndexManager"),WorkspaceManager:s(e=>new av(e),"WorkspaceManager"),FileSystemProvider:s(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:s(()=>new Rv,"WorkspaceLock"),ConfigurationProvider:s(e=>new rv(e),"ConfigurationProvider")},profilers:{}}}s(Jt,"createDefaultSharedCoreModule");var Xd;(function(t){t.merge=(e,r)=>js(js({},e),r)})(Xd||(Xd={}));function Ve(t,e,r,n,i,a,o,u,l){let c=[t,e,r,n,i,a,o,u,l].reduce(js,{});return ff(c)}s(Ve,"inject");var $v=Symbol("isProxy");function hf(t){if(t&&t[$v])for(let e of Object.values(t))hf(e);return t}s(hf,"eagerLoad");function ff(t,e){let r=new Proxy({},{deleteProperty:s(()=>!1,"deleteProperty"),set:s(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:s((n,i)=>i===$v?!0:Yd(n,i,t,e||r),"get"),getOwnPropertyDescriptor:s((n,i)=>(Yd(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:s((n,i)=>i in t,"has"),ownKeys:s(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}s(ff,"_inject");var Kf=Symbol();function Yd(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]===Kf)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=Kf;try{t[e]=typeof i=="function"?i(n):ff(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}s(Yd,"_resolve");function js(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=js(i,n):t[r]=js({},n)}else t[r]=n}return t}s(js,"_merge");var Zd={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},an;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(an||(an={}));var ws,kv=(ws=class extends ac{constructor(e=Zd){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Zd,...e},this.indentTokenType=Ti({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=Ti({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!dc(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:o,ignoreIndentationDelimiters:u}=this.options,l,c,d,p=[];for(let h of n){for(let[y,m]of u)h.name===y?h.PUSH_MODE=an.IGNORE_INDENTATION:h.name===m&&(h.POP_MODE=!0);h.name===a?l=h:h.name===i?c=h:h.name===o?d=h:p.push(h)}if(!l||!c||!d)throw new Error("Some indentation/whitespace tokens not found!");return u.length>0?{modes:{[an.REGULAR]:[l,c,...p,d],[an.IGNORE_INDENTATION]:[...p,d]},defaultMode:an.REGULAR}:[l,c,d,...p]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r `.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,r,n,i){let a=this.getLineNumber(r,i);return cl(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:o,match:u}=this.matchWhitespace(e,r,n,i);return a<=o?null:(this.indentationStack.push(a),u)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:o,match:u}=this.matchWhitespace(e,r,n,i);if(a>=o)return null;let l=this.indentationStack.lastIndexOf(a);if(l===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:u?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let c=this.indentationStack.length-l-1,d=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let p=0;p1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},s(ws,"IndentationAwareTokenBuilder"),ws),Is,IE=(Is=class extends sf{constructor(e){if(super(e),e.parser.TokenBuilder instanceof kv)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=af){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:o}=this.indentationTokenBuilder,u=a.tokenTypeIdx,l=o.tokenTypeIdx,c=[],d=n.tokens.length-1;for(let p=0;p=0&&c.push(n.tokens[d]),n.tokens=c,n}},s(Is,"IndentationAwareLexer"),Is),mf={};wr(mf,{AstUtils:()=>hp,BiMap:()=>ku,Cancellation:()=>Ee,ContextCache:()=>uc,CstUtils:()=>cp,DONE_RESULT:()=>Qe,Deferred:()=>fr,Disposable:()=>on,DisposableCache:()=>lc,DocumentCache:()=>VT,EMPTY_STREAM:()=>_s,ErrorWithLocation:()=>Uu,GrammarUtils:()=>jp,MultiMap:()=>mr,OperationCancelled:()=>Kt,Reduction:()=>Ko,RegExpUtils:()=>Wp,SimpleCache:()=>Qh,StreamImpl:()=>Vt,TreeStreamImpl:()=>Ms,URI:()=>gt,UriTrie:()=>Zh,UriUtils:()=>tt,WorkspaceCache:()=>ef,assertCondition:()=>Bp,assertUnreachable:()=>Ir,delayNextTick:()=>sc,interruptAndCheck:()=>We,isOperationCancelled:()=>Un,loadGrammarFromJson:()=>Qt,setInterruptionPeriod:()=>Hh,startCancelableOperation:()=>oc,stream:()=>ce});bu(mf,cc);var Ps,Cv=(Ps=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},s(Ps,"EmptyFileSystemProvider"),Ps),Tr={fileSystemProvider:s(()=>new Cv,"fileSystemProvider")},PE={Grammar:s(()=>{},"Grammar"),LanguageMetaData:s(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},DE={AstReflection:s(()=>new Lp,"AstReflection")};function Av(){let t=Ve(Jt(Tr),DE),e=Ve(Zt({shared:t}),PE);return t.ServiceRegistry.register(e),e}s(Av,"createMinimalGrammarServices");function Qt(t){let e=Av(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,gt.parse(`memory:/${r.name??"grammar"}.langium`)),r}s(Qt,"loadGrammarFromJson");bu(lm,mf);var Ds,LE=(Ds=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new mr}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new Sv(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let o of r.entries.keys()){let u=r.entries.get(o),l=u.reduce((c,d)=>c+d);n.push({name:`${r.identifier}.${o}`,count:u.length,duration:l})}let i=r.duration-n.map(o=>o.duration).reduce((o,u)=>o+u,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((o,u)=>u.duration-o.duration);function a(o){return Math.round(100*o)/100}return s(a,"Round"),console.table(n.map(o=>({Element:o.name,Count:o.count,"Self %":a(100*o.duration/r.duration),"Time (ms)":a(o.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},s(Ds,"DefaultLangiumProfiler"),Ds),Ls,Sv=(Ls=class{constructor(e,r){this.stack=[],this.entries=new mr,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}},s(Ls,"ProfilingTask"),Ls),OE=Object.defineProperty,O=s((t,e)=>OE(t,"name",{value:e,configurable:!0}),"__name"),Jd;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(Jd||(Jd={}));var Qd;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(Qd||(Qd={}));var ep;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(ep||(ep={}));var tp;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(tp||(tp={}));var rp;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(rp||(rp={}));var np;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(np||(np={}));var ip;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(ip||(ip={}));({...Jd.Terminals,...Qd.Terminals,...ep.Terminals,...tp.Terminals,...rp.Terminals,...np.Terminals,...ip.Terminals});var rr={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function bv(t){return _t.isInstance(t,rr.$type)}s(bv,"isArchitecture");O(bv,"isArchitecture");var vl={$type:"Axis",label:"label",name:"name"},Gl={$type:"Branch",name:"name",order:"order"};function Nv(t){return _t.isInstance(t,Gl.$type)}s(Nv,"isBranch");O(Nv,"isBranch");var Hf={$type:"Checkout",branch:"branch"},Rl={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},vc={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ii={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function xv(t){return _t.isInstance(t,ii.$type)}s(xv,"isCommit");O(xv,"isCommit");var El={$type:"Curve",entries:"entries",label:"label",name:"name"},Xn={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Gt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},Rc={$type:"Entry",axis:"axis",value:"value"},Gr={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function wv(t){return _t.isInstance(t,Gr.$type)}s(wv,"isGitGraph");O(wv,"isGitGraph");var To={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Po={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function Iv(t){return _t.isInstance(t,Po.$type)}s(Iv,"isInfo");O(Iv,"isInfo");var vo={$type:"Item",classSelector:"classSelector",name:"name"},Ec={$type:"Junction",id:"id",in:"in"},$l={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},ai={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function Pv(t){return _t.isInstance(t,ai.$type)}s(Pv,"isMerge");O(Pv,"isMerge");var $c={$type:"Option",name:"name",value:"value"},si={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function Dv(t){return _t.isInstance(t,si.$type)}s(Dv,"isPacket");O(Dv,"isPacket");var oi={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function Lv(t){return _t.isInstance(t,oi.$type)}s(Lv,"isPacketBlock");O(Lv,"isPacketBlock");var zr={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function Ov(t){return _t.isInstance(t,zr.$type)}s(Ov,"isPie");O(Ov,"isPie");var zl={$type:"PieSection",label:"label",value:"value"};function _v(t){return _t.isInstance(t,zl.$type)}s(_v,"isPieSection");O(_v,"isPieSection");var _r={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},kc={$type:"Section",classSelector:"classSelector",name:"name"},Yn={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Zn={$type:"Statement"},li={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function Mv(t){return _t.isInstance(t,li.$type)}s(Mv,"isTreemap");O(Mv,"isTreemap");var Cc={$type:"TreemapRow",indent:"indent",item:"item"},cn,Fv=(cn=class extends pp{constructor(){super(...arguments),this.types={Architecture:{name:rr.$type,properties:{accDescr:{name:rr.accDescr},accTitle:{name:rr.accTitle},edges:{name:rr.edges,defaultValue:[]},groups:{name:rr.groups,defaultValue:[]},junctions:{name:rr.junctions,defaultValue:[]},services:{name:rr.services,defaultValue:[]},title:{name:rr.title}},superTypes:[]},Axis:{name:vl.$type,properties:{label:{name:vl.label},name:{name:vl.name}},superTypes:[]},Branch:{name:Gl.$type,properties:{name:{name:Gl.name},order:{name:Gl.order}},superTypes:[Zn.$type]},Checkout:{name:Hf.$type,properties:{branch:{name:Hf.branch}},superTypes:[Zn.$type]},CherryPicking:{name:Rl.$type,properties:{id:{name:Rl.id},parent:{name:Rl.parent},tags:{name:Rl.tags,defaultValue:[]}},superTypes:[Zn.$type]},ClassDefStatement:{name:vc.$type,properties:{className:{name:vc.className},styleText:{name:vc.styleText}},superTypes:[]},Commit:{name:ii.$type,properties:{id:{name:ii.id},message:{name:ii.message},tags:{name:ii.tags,defaultValue:[]},type:{name:ii.type}},superTypes:[Zn.$type]},Curve:{name:El.$type,properties:{entries:{name:El.entries,defaultValue:[]},label:{name:El.label},name:{name:El.name}},superTypes:[]},Direction:{name:Xn.$type,properties:{accDescr:{name:Xn.accDescr},accTitle:{name:Xn.accTitle},dir:{name:Xn.dir},statements:{name:Xn.statements,defaultValue:[]},title:{name:Xn.title}},superTypes:[Gr.$type]},Edge:{name:Gt.$type,properties:{lhsDir:{name:Gt.lhsDir},lhsGroup:{name:Gt.lhsGroup,defaultValue:!1},lhsId:{name:Gt.lhsId},lhsInto:{name:Gt.lhsInto,defaultValue:!1},rhsDir:{name:Gt.rhsDir},rhsGroup:{name:Gt.rhsGroup,defaultValue:!1},rhsId:{name:Gt.rhsId},rhsInto:{name:Gt.rhsInto,defaultValue:!1},title:{name:Gt.title}},superTypes:[]},Entry:{name:Rc.$type,properties:{axis:{name:Rc.axis,referenceType:vl.$type},value:{name:Rc.value}},superTypes:[]},GitGraph:{name:Gr.$type,properties:{accDescr:{name:Gr.accDescr},accTitle:{name:Gr.accTitle},statements:{name:Gr.statements,defaultValue:[]},title:{name:Gr.title}},superTypes:[]},Group:{name:To.$type,properties:{icon:{name:To.icon},id:{name:To.id},in:{name:To.in},title:{name:To.title}},superTypes:[]},Info:{name:Po.$type,properties:{accDescr:{name:Po.accDescr},accTitle:{name:Po.accTitle},title:{name:Po.title}},superTypes:[]},Item:{name:vo.$type,properties:{classSelector:{name:vo.classSelector},name:{name:vo.name}},superTypes:[]},Junction:{name:Ec.$type,properties:{id:{name:Ec.id},in:{name:Ec.in}},superTypes:[]},Leaf:{name:$l.$type,properties:{classSelector:{name:$l.classSelector},name:{name:$l.name},value:{name:$l.value}},superTypes:[vo.$type]},Merge:{name:ai.$type,properties:{branch:{name:ai.branch},id:{name:ai.id},tags:{name:ai.tags,defaultValue:[]},type:{name:ai.type}},superTypes:[Zn.$type]},Option:{name:$c.$type,properties:{name:{name:$c.name},value:{name:$c.value,defaultValue:!1}},superTypes:[]},Packet:{name:si.$type,properties:{accDescr:{name:si.accDescr},accTitle:{name:si.accTitle},blocks:{name:si.blocks,defaultValue:[]},title:{name:si.title}},superTypes:[]},PacketBlock:{name:oi.$type,properties:{bits:{name:oi.bits},end:{name:oi.end},label:{name:oi.label},start:{name:oi.start}},superTypes:[]},Pie:{name:zr.$type,properties:{accDescr:{name:zr.accDescr},accTitle:{name:zr.accTitle},sections:{name:zr.sections,defaultValue:[]},showData:{name:zr.showData,defaultValue:!1},title:{name:zr.title}},superTypes:[]},PieSection:{name:zl.$type,properties:{label:{name:zl.label},value:{name:zl.value}},superTypes:[]},Radar:{name:_r.$type,properties:{accDescr:{name:_r.accDescr},accTitle:{name:_r.accTitle},axes:{name:_r.axes,defaultValue:[]},curves:{name:_r.curves,defaultValue:[]},options:{name:_r.options,defaultValue:[]},title:{name:_r.title}},superTypes:[]},Section:{name:kc.$type,properties:{classSelector:{name:kc.classSelector},name:{name:kc.name}},superTypes:[vo.$type]},Service:{name:Yn.$type,properties:{icon:{name:Yn.icon},iconText:{name:Yn.iconText},id:{name:Yn.id},in:{name:Yn.in},title:{name:Yn.title}},superTypes:[]},Statement:{name:Zn.$type,properties:{},superTypes:[]},Treemap:{name:li.$type,properties:{accDescr:{name:li.accDescr},accTitle:{name:li.accTitle},title:{name:li.title},TreemapRows:{name:li.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:Cc.$type,properties:{indent:{name:Cc.indent},item:{name:Cc.item}},superTypes:[]}}}},s(cn,"MermaidAstReflection"),O(cn,"MermaidAstReflection"),cn),_t=new Fv,Xf,_E=O(()=>Xf??(Xf=Qt(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),Yf,ME=O(()=>Yf??(Yf=Qt(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),Zf,FE=O(()=>Zf??(Zf=Qt(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),Jf,qE=O(()=>Jf??(Jf=Qt(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),Qf,UE=O(()=>Qf??(Qf=Qt(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),em,GE=O(()=>em??(em=Qt(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),tm,zE=O(()=>tm??(tm=Qt(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),jE={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},BE={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},WE={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},VE={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},KE={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},HE={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},XE={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Gn={AstReflection:O(()=>new Fv,"AstReflection")},YE={Grammar:O(()=>_E(),"Grammar"),LanguageMetaData:O(()=>jE,"LanguageMetaData"),parser:{}},ZE={Grammar:O(()=>ME(),"Grammar"),LanguageMetaData:O(()=>BE,"LanguageMetaData"),parser:{}},JE={Grammar:O(()=>FE(),"Grammar"),LanguageMetaData:O(()=>WE,"LanguageMetaData"),parser:{}},QE={Grammar:O(()=>qE(),"Grammar"),LanguageMetaData:O(()=>VE,"LanguageMetaData"),parser:{}},e$={Grammar:O(()=>UE(),"Grammar"),LanguageMetaData:O(()=>KE,"LanguageMetaData"),parser:{}},t$={Grammar:O(()=>GE(),"Grammar"),LanguageMetaData:O(()=>HE,"LanguageMetaData"),parser:{}},r$={Grammar:O(()=>zE(),"Grammar"),LanguageMetaData:O(()=>XE,"LanguageMetaData"),parser:{}},n$=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,i$=/accTitle[\t ]*:([^\n\r]*)/,a$=/title([\t ][^\n\r]*|)/,s$={ACC_DESCR:n$,ACC_TITLE:i$,TITLE:a$},dn,fc=(dn=class extends Kh{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){let i=s$[e.name];if(i===void 0)return;let a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` `)}}},s(dn,"AbstractMermaidValueConverter"),O(dn,"AbstractMermaidValueConverter"),dn),pn,mc=(pn=class extends fc{runCustomConverter(e,r,n){}},s(pn,"CommonValueConverter"),O(pn,"CommonValueConverter"),pn),hn,Dr=(hn=class extends ac{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){let i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},s(hn,"AbstractMermaidTokenBuilder"),O(hn,"AbstractMermaidTokenBuilder"),hn),fn;fn=class extends Dr{},s(fn,"CommonTokenBuilder"),O(fn,"CommonTokenBuilder");var ar={},o$={info:O(async()=>{let{createInfoServices:t}=await Or(()=>Promise.resolve().then(()=>E$),void 0),e=t().Info.parser.LangiumParser;ar.info=e},"info"),packet:O(async()=>{let{createPacketServices:t}=await Or(()=>Promise.resolve().then(()=>$$),void 0),e=t().Packet.parser.LangiumParser;ar.packet=e},"packet"),pie:O(async()=>{let{createPieServices:t}=await Or(()=>Promise.resolve().then(()=>k$),void 0),e=t().Pie.parser.LangiumParser;ar.pie=e},"pie"),architecture:O(async()=>{let{createArchitectureServices:t}=await Or(()=>Promise.resolve().then(()=>C$),void 0),e=t().Architecture.parser.LangiumParser;ar.architecture=e},"architecture"),gitGraph:O(async()=>{let{createGitGraphServices:t}=await Or(()=>Promise.resolve().then(()=>A$),void 0),e=t().GitGraph.parser.LangiumParser;ar.gitGraph=e},"gitGraph"),radar:O(async()=>{let{createRadarServices:t}=await Or(()=>Promise.resolve().then(()=>S$),void 0),e=t().Radar.parser.LangiumParser;ar.radar=e},"radar"),treemap:O(async()=>{let{createTreemapServices:t}=await Or(()=>Promise.resolve().then(()=>b$),void 0),e=t().Treemap.parser.LangiumParser;ar.treemap=e},"treemap")};async function qv(t,e){let r=o$[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);ar[t]||await r();let n=ar[t].parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new l$(n);return n.value}s(qv,"parse");O(qv,"parse");var mn,l$=(mn=class extends Error{constructor(e){let r=e.lexerErrors.map(i=>{let a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",o=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${o}: ${i.message}`}).join(` `),n=e.parserErrors.map(i=>{let a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",o=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${o}: ${i.message}`}).join(` `);super(`Parsing failed: ${r} ${n}`),this.result=e}},s(mn,"MermaidParseError"),O(mn,"MermaidParseError"),mn),gn,u$=(gn=class extends Dr{constructor(){super(["packet"])}},s(gn,"PacketTokenBuilder"),O(gn,"PacketTokenBuilder"),gn),Uv={parser:{TokenBuilder:O(()=>new u$,"TokenBuilder"),ValueConverter:O(()=>new mc,"ValueConverter")}};function gf(t=Tr){let e=Ve(Jt(t),Gn),r=Ve(Zt({shared:e}),QE,Uv);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}s(gf,"createPacketServices");O(gf,"createPacketServices");var yn,c$=(yn=class extends Dr{constructor(){super(["pie","showData"])}},s(yn,"PieTokenBuilder"),O(yn,"PieTokenBuilder"),yn),Tn,d$=(Tn=class extends fc{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},s(Tn,"PieValueConverter"),O(Tn,"PieValueConverter"),Tn),Gv={parser:{TokenBuilder:O(()=>new c$,"TokenBuilder"),ValueConverter:O(()=>new d$,"ValueConverter")}};function yf(t=Tr){let e=Ve(Jt(t),Gn),r=Ve(Zt({shared:e}),e$,Gv);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}s(yf,"createPieServices");O(yf,"createPieServices");var vn,p$=(vn=class extends Dr{constructor(){super(["architecture"])}},s(vn,"ArchitectureTokenBuilder"),O(vn,"ArchitectureTokenBuilder"),vn),Rn,h$=(Rn=class extends fc{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},s(Rn,"ArchitectureValueConverter"),O(Rn,"ArchitectureValueConverter"),Rn),zv={parser:{TokenBuilder:O(()=>new p$,"TokenBuilder"),ValueConverter:O(()=>new h$,"ValueConverter")}};function Tf(t=Tr){let e=Ve(Jt(t),Gn),r=Ve(Zt({shared:e}),YE,zv);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}s(Tf,"createArchitectureServices");O(Tf,"createArchitectureServices");var En,f$=(En=class extends Dr{constructor(){super(["gitGraph"])}},s(En,"GitGraphTokenBuilder"),O(En,"GitGraphTokenBuilder"),En),jv={parser:{TokenBuilder:O(()=>new f$,"TokenBuilder"),ValueConverter:O(()=>new mc,"ValueConverter")}};function vf(t=Tr){let e=Ve(Jt(t),Gn),r=Ve(Zt({shared:e}),ZE,jv);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}s(vf,"createGitGraphServices");O(vf,"createGitGraphServices");var $n,m$=($n=class extends Dr{constructor(){super(["radar-beta"])}},s($n,"RadarTokenBuilder"),O($n,"RadarTokenBuilder"),$n),Bv={parser:{TokenBuilder:O(()=>new m$,"TokenBuilder"),ValueConverter:O(()=>new mc,"ValueConverter")}};function Rf(t=Tr){let e=Ve(Jt(t),Gn),r=Ve(Zt({shared:e}),t$,Bv);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}s(Rf,"createRadarServices");O(Rf,"createRadarServices");var kn,g$=(kn=class extends Dr{constructor(){super(["treemap"])}},s(kn,"TreemapTokenBuilder"),O(kn,"TreemapTokenBuilder"),kn),y$=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Cn,T$=(Cn=class extends fc{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR"||e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;let i=y$.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},s(Cn,"TreemapValueConverter"),O(Cn,"TreemapValueConverter"),Cn);function Ef(t){let e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){let n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}s(Ef,"registerValidationChecks");O(Ef,"registerValidationChecks");var An,v$=(An=class{checkSingleRoot(e,r){let n;for(let i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},s(An,"TreemapValidator"),O(An,"TreemapValidator"),An),Wv={parser:{TokenBuilder:O(()=>new g$,"TokenBuilder"),ValueConverter:O(()=>new T$,"ValueConverter")},validation:{TreemapValidator:O(()=>new v$,"TreemapValidator")}};function $f(t=Tr){let e=Ve(Jt(t),Gn),r=Ve(Zt({shared:e}),r$,Wv);return e.ServiceRegistry.register(r),Ef(r),{shared:e,Treemap:r}}s($f,"createTreemapServices");O($f,"createTreemapServices");var Sn,R$=(Sn=class extends Dr{constructor(){super(["info","showInfo"])}},s(Sn,"InfoTokenBuilder"),O(Sn,"InfoTokenBuilder"),Sn),Vv={parser:{TokenBuilder:O(()=>new R$,"TokenBuilder"),ValueConverter:O(()=>new mc,"ValueConverter")}};function kf(t=Tr){let e=Ve(Jt(t),Gn),r=Ve(Zt({shared:e}),JE,Vv);return e.ServiceRegistry.register(r),{shared:e,Info:r}}s(kf,"createInfoServices");O(kf,"createInfoServices");const E$=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Vv,createInfoServices:kf},Symbol.toStringTag,{value:"Module"})),$$=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Uv,createPacketServices:gf},Symbol.toStringTag,{value:"Module"})),k$=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Gv,createPieServices:yf},Symbol.toStringTag,{value:"Module"})),C$=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:zv,createArchitectureServices:Tf},Symbol.toStringTag,{value:"Module"})),A$=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:jv,createGitGraphServices:vf},Symbol.toStringTag,{value:"Module"})),S$=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Bv,createRadarServices:Rf},Symbol.toStringTag,{value:"Module"})),b$=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Wv,createTreemapServices:$f},Symbol.toStringTag,{value:"Module"}));export{qv as p};