export const __rspack_esm_id="9546";export const __rspack_esm_ids=["9546"];export const __webpack_modules__={71466(e,t,r){r.d(t,{S:()=>o});var n=r(48300),i=class extends n.mR{static{(0,n.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},a=class extends n.dg{static{(0,n.K2)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){if("ARCH_ICON"===e.name)return t.replace(/[()]/g,"").trim();if("ARCH_TEXT_ICON"===e.name)return t.replace(/["()]/g,"");if("ARCH_TITLE"===e.name){let e=t.replace(/^\[|]$/g,"").trim();return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=(e=e.slice(1,-1)).replace(/\\"/g,'"').replace(/\\'/g,"'")),e.trim()}}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.wV,s);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}(0,n.K2)(o,"createArchitectureServices")},81561(e,t,r){r.d(t,{v:()=>s});var n=r(48300),i=class extends n.mR{static{(0,n.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.FZ,a);return t.ServiceRegistry.register(r),{shared:t,Info:r}}(0,n.K2)(s,"createInfoServices")},69051(e,t,r){r.d(t,{d:()=>c});var n=r(48300),i=class extends n.mR{static{(0,n.K2)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},a=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,s=class extends n.dg{static{(0,n.K2)(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;let e=a.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function o(e){let t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){let e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}(0,n.K2)(o,"registerValidationChecks");var l=class{static{(0,n.K2)(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(let n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:void 0===n.indent?t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):void 0!==r&&r>=parseInt(n.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},u={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")},validation:{TreemapValidator:(0,n.K2)(()=>new l,"TreemapValidator")}};function c(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.XE,u);return t.ServiceRegistry.register(r),o(r),{shared:t,Treemap:r}}(0,n.K2)(c,"createTreemapServices")},94574(e,t,r){r.d(t,{f:()=>s});var n=r(48300),i=class extends n.mR{static{(0,n.K2)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bg,a);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}(0,n.K2)(s,"createRadarServices")},83954(e,t,r){r.d(t,{$:()=>s});var n=r(48300),i=class extends n.mR{static{(0,n.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.p5,a);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}(0,n.K2)(s,"createPacketServices")},84534(e,t,r){r.d(t,{f:()=>o});var n=r(48300),i=class extends n.mR{static{(0,n.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},a=class extends n.dg{static{(0,n.K2)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.D_,s);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}(0,n.K2)(o,"createPieServices")},32926(e,t,r){r.d(t,{g:()=>f});var n=r(48300),i=class extends n.mR{static{(0,n.K2)(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},a=new Set(["cmd","command"]),s=new Set(["evt","event"]),o=new Set(["rmo","readmodel"]),l=new Set(["pcr","processor"]),u=new Set(["ui"]);function c(e){let t=e.validation.EventModelingValidator,r=e.validation.ValidationRegistry;if(r){let e={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};r.register(e,t)}}(0,n.K2)(c,"registerValidationChecks");var p=class{static{(0,n.K2)(this,"EventModelingValidator")}checkSourceFrameTypes(e,t){0!==e.sourceFrames.length&&(a.has(e.modelEntityType)?this.validateSources(e,new Set([...u,...l]),"command","ui or processor",t):s.has(e.modelEntityType)?this.validateSources(e,a,"event","command",t):o.has(e.modelEntityType)?this.validateSources(e,s,"read model","event",t):l.has(e.modelEntityType)?this.validateSources(e,o,"processor","read model",t):u.has(e.modelEntityType)&&this.validateSources(e,o,"ui","read model",t))}validateSources(e,t,r,n,i){for(let a of e.sourceFrames){let s=a.ref;void 0===s||t.has(s.modelEntityType)||i("error",`A ${r} can only receive input from a ${n}, not from '${s.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},d={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")},validation:{EventModelingValidator:(0,n.K2)(()=>new p,"EventModelingValidator")}};function f(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.x0,d);return t.ServiceRegistry.register(r),c(r),{shared:t,EventModel:r}}(0,n.K2)(f,"createEventModelingServices")},48300(e,t,r){let n,i;r.d(t,{Bg:()=>$5,CZ:()=>$7,DD:()=>$a,D_:()=>$4,F5:()=>$R,FZ:()=>$3,K2:()=>tA,Tm:()=>br,WQ:()=>R3,XE:()=>$8,Xr:()=>$6,d$:()=>$2,dg:()=>bt,mR:()=>bn,p5:()=>$9,sr:()=>$Z,tG:()=>R1,uM:()=>R2,wV:()=>$0,x0:()=>$1});var a,s,o,l,u,c,p,d,f,h,m,g,y,v,T,R,$,b,E,C,A,S,k,x,N,w,_,I,P,D,O,L,M,j,F,z,G,q,K,U,W,V,B,H,Y,X,J,Q,Z,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ed,ef,eh,em,eg,ey,ev,eT,eR,e$,eb,eE,eC,eA,eS,ek,ex,eN,ew,e_,eI,eP,eD,eO,eL,eM,ej,eF,ez,eG,eq,eK,eU,eW,eV,eB,eH,eY,eX,eJ,eQ,eZ,e0,e1,e2,e3,e9,e4,e5,e8,e7,e6,te,tt,tr,tn,ti,ta,ts,to,tl,tu,tc,tp,td,tf,th,tm,tg,ty,tv,tT=Object.create,tR=Object.defineProperty,t$=Object.getOwnPropertyDescriptor,tb=Object.getOwnPropertyNames,tE=Object.getPrototypeOf,tC=Object.prototype.hasOwnProperty,tA=(e,t)=>tR(e,"name",{value:t,configurable:!0}),tS=(e,t)=>function(){return t||(0,e[tb(e)[0]])((t={exports:{}}).exports,t),t.exports},tk=(e,t)=>{for(var r in t)tR(e,r,{get:t[r],enumerable:!0})},tx=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of tb(t))tC.call(e,i)||i===r||tR(e,i,{get:()=>t[i],enumerable:!(n=t$(t,i))||n.enumerable});return e},tN=(e,t,r)=>(tx(e,t,"default"),r&&tx(r,t,"default")),tw=(e,t,r)=>(r=null!=e?tT(tE(e)):{},tx(!t&&e&&e.__esModule?r:tR(r,"default",{value:e,enumerable:!0}),e)),t_=e=>tx(tR({},"__esModule",{value:!0}),e),tI={};tk(tI,{AnnotatedTextEdit:()=>j,ChangeAnnotation:()=>L,ChangeAnnotationIdentifier:()=>M,CodeAction:()=>e$,CodeActionContext:()=>eR,CodeActionKind:()=>ev,CodeActionTriggerKind:()=>eT,CodeDescription:()=>I,CodeLens:()=>eb,Color:()=>C,ColorInformation:()=>A,ColorPresentation:()=>S,Command:()=>D,CompletionItem:()=>ea,CompletionItemKind:()=>Z,CompletionItemLabelDetails:()=>ei,CompletionItemTag:()=>et,CompletionList:()=>es,CreateFile:()=>z,DeleteFile:()=>q,Diagnostic:()=>P,DiagnosticRelatedInformation:()=>N,DiagnosticSeverity:()=>w,DiagnosticTag:()=>_,DocumentHighlight:()=>ed,DocumentHighlightKind:()=>ep,DocumentLink:()=>eC,DocumentSymbol:()=>ey,DocumentUri:()=>g,EOL:()=>eK,FoldingRange:()=>x,FoldingRangeKind:()=>k,FormattingOptions:()=>eE,Hover:()=>el,InlayHint:()=>eO,InlayHintKind:()=>eP,InlayHintLabelPart:()=>eD,InlineCompletionContext:()=>eG,InlineCompletionItem:()=>eM,InlineCompletionList:()=>ej,InlineCompletionTriggerKind:()=>eF,InlineValueContext:()=>eI,InlineValueEvaluatableExpression:()=>e_,InlineValueText:()=>eN,InlineValueVariableLookup:()=>ew,InsertReplaceEdit:()=>er,InsertTextFormat:()=>ee,InsertTextMode:()=>en,Location:()=>b,LocationLink:()=>E,MarkedString:()=>eo,MarkupContent:()=>Q,MarkupKind:()=>J,OptionalVersionedTextDocumentIdentifier:()=>Y,ParameterInformation:()=>eu,Position:()=>R,Range:()=>$,RenameFile:()=>G,SelectedCompletionInfo:()=>ez,SelectionRange:()=>eA,SemanticTokenModifiers:()=>ek,SemanticTokenTypes:()=>eS,SemanticTokens:()=>ex,SignatureInformation:()=>ec,StringValue:()=>eL,SymbolInformation:()=>em,SymbolKind:()=>ef,SymbolTag:()=>eh,TextDocument:()=>eU,TextDocumentEdit:()=>F,TextDocumentIdentifier:()=>B,TextDocumentItem:()=>X,TextEdit:()=>O,URI:()=>y,VersionedTextDocumentIdentifier:()=>H,WorkspaceChange:()=>V,WorkspaceEdit:()=>K,WorkspaceFolder:()=>eq,WorkspaceSymbol:()=>eg,integer:()=>v,uinteger:()=>T});var tP=(n={"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";var e,t,r,n,i,a,s,o,l,u,c,p,d,f=g||(g={});function h(e){return"string"==typeof e}tA(h,"is"),f.is=h;var m=y||(y={});function eB(e){return"string"==typeof e}tA(eB,"is"),m.is=eB;var eH=v||(v={});function eY(e){return"number"==typeof e&&eH.MIN_VALUE<=e&&e<=eH.MAX_VALUE}eH.MIN_VALUE=-0x80000000,eH.MAX_VALUE=0x7fffffff,tA(eY,"is"),eH.is=eY;var eX=T||(T={});function eJ(e){return"number"==typeof e&&eX.MIN_VALUE<=e&&e<=eX.MAX_VALUE}eX.MIN_VALUE=0,eX.MAX_VALUE=0x7fffffff,tA(eJ,"is"),eX.is=eJ;var eQ=R||(R={});function eZ(e,t){return e===Number.MAX_VALUE&&(e=T.MAX_VALUE),t===Number.MAX_VALUE&&(t=T.MAX_VALUE),{line:e,character:t}}function e0(e){return eV.objectLiteral(e)&&eV.uinteger(e.line)&&eV.uinteger(e.character)}tA(eZ,"create"),eQ.create=eZ,tA(e0,"is"),eQ.is=e0;var e1=$||($={});function e2(e,t,r,n){if(eV.uinteger(e)&&eV.uinteger(t)&&eV.uinteger(r)&&eV.uinteger(n))return{start:R.create(e,t),end:R.create(r,n)};if(R.is(e)&&R.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)}function e3(e){return eV.objectLiteral(e)&&R.is(e.start)&&R.is(e.end)}tA(e2,"create"),e1.create=e2,tA(e3,"is"),e1.is=e3;var e9=b||(b={});function e4(e,t){return{uri:e,range:t}}function e5(e){return eV.objectLiteral(e)&&$.is(e.range)&&(eV.string(e.uri)||eV.undefined(e.uri))}tA(e4,"create"),e9.create=e4,tA(e5,"is"),e9.is=e5;var e8=E||(E={});function e7(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}}function e6(e){return eV.objectLiteral(e)&&$.is(e.targetRange)&&eV.string(e.targetUri)&&$.is(e.targetSelectionRange)&&($.is(e.originSelectionRange)||eV.undefined(e.originSelectionRange))}tA(e7,"create"),e8.create=e7,tA(e6,"is"),e8.is=e6;var te=C||(C={});function tt(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}}function tr(e){return eV.objectLiteral(e)&&eV.numberRange(e.red,0,1)&&eV.numberRange(e.green,0,1)&&eV.numberRange(e.blue,0,1)&&eV.numberRange(e.alpha,0,1)}tA(tt,"create"),te.create=tt,tA(tr,"is"),te.is=tr;var tn=A||(A={});function ti(e,t){return{range:e,color:t}}function ta(e){return eV.objectLiteral(e)&&$.is(e.range)&&C.is(e.color)}tA(ti,"create"),tn.create=ti,tA(ta,"is"),tn.is=ta;var ts=S||(S={});function to(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}}function tl(e){return eV.objectLiteral(e)&&eV.string(e.label)&&(eV.undefined(e.textEdit)||O.is(e))&&(eV.undefined(e.additionalTextEdits)||eV.typedArray(e.additionalTextEdits,O.is))}tA(to,"create"),ts.create=to,tA(tl,"is"),ts.is=tl,(e=k||(k={})).Comment="comment",e.Imports="imports",e.Region="region";var tu=x||(x={});function tc(e,t,r,n,i,a){let s={startLine:e,endLine:t};return eV.defined(r)&&(s.startCharacter=r),eV.defined(n)&&(s.endCharacter=n),eV.defined(i)&&(s.kind=i),eV.defined(a)&&(s.collapsedText=a),s}function tp(e){return eV.objectLiteral(e)&&eV.uinteger(e.startLine)&&eV.uinteger(e.startLine)&&(eV.undefined(e.startCharacter)||eV.uinteger(e.startCharacter))&&(eV.undefined(e.endCharacter)||eV.uinteger(e.endCharacter))&&(eV.undefined(e.kind)||eV.string(e.kind))}tA(tc,"create"),tu.create=tc,tA(tp,"is"),tu.is=tp;var td=N||(N={});function tf(e,t){return{location:e,message:t}}function th(e){return eV.defined(e)&&b.is(e.location)&&eV.string(e.message)}tA(tf,"create"),td.create=tf,tA(th,"is"),td.is=th,(t=w||(w={})).Error=1,t.Warning=2,t.Information=3,t.Hint=4,(r=_||(_={})).Unnecessary=1,r.Deprecated=2;var tm=I||(I={});function tg(e){return eV.objectLiteral(e)&&eV.string(e.href)}tA(tg,"is"),tm.is=tg;var ty=P||(P={});function tv(e,t,r,n,i,a){let s={range:e,message:t};return eV.defined(r)&&(s.severity=r),eV.defined(n)&&(s.code=n),eV.defined(i)&&(s.source=i),eV.defined(a)&&(s.relatedInformation=a),s}function tT(e){var t;return eV.defined(e)&&$.is(e.range)&&eV.string(e.message)&&(eV.number(e.severity)||eV.undefined(e.severity))&&(eV.integer(e.code)||eV.string(e.code)||eV.undefined(e.code))&&(eV.undefined(e.codeDescription)||eV.string(null==(t=e.codeDescription)?void 0:t.href))&&(eV.string(e.source)||eV.undefined(e.source))&&(eV.undefined(e.relatedInformation)||eV.typedArray(e.relatedInformation,N.is))}tA(tv,"create"),ty.create=tv,tA(tT,"is"),ty.is=tT;var tR=D||(D={});function t$(e,t,...r){let n={title:e,command:t};return eV.defined(r)&&r.length>0&&(n.arguments=r),n}function tb(e){return eV.defined(e)&&eV.string(e.title)&&eV.string(e.command)}tA(t$,"create"),tR.create=t$,tA(tb,"is"),tR.is=tb,function(e){function t(e,t){return{range:e,newText:t}}function r(e,t){return{range:{start:e,end:e},newText:t}}function n(e){return{range:e,newText:""}}function i(e){return eV.objectLiteral(e)&&eV.string(e.newText)&&$.is(e.range)}tA(t,"replace"),e.replace=t,tA(r,"insert"),e.insert=r,tA(n,"del"),e.del=n,tA(i,"is"),e.is=i}(O||(O={}));var tE=L||(L={});function tC(e,t,r){let n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n}function tS(e){return eV.objectLiteral(e)&&eV.string(e.label)&&(eV.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(eV.string(e.description)||void 0===e.description)}tA(tC,"create"),tE.create=tC,tA(tS,"is"),tE.is=tS;var tk=M||(M={});function tx(e){return eV.string(e)}tA(tx,"is"),tk.is=tx,function(e){function t(e,t,r){return{range:e,newText:t,annotationId:r}}function r(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}}function n(e,t){return{range:e,newText:"",annotationId:t}}function i(e){return O.is(e)&&(L.is(e.annotationId)||M.is(e.annotationId))}tA(t,"replace"),e.replace=t,tA(r,"insert"),e.insert=r,tA(n,"del"),e.del=n,tA(i,"is"),e.is=i}(j||(j={}));var tN=F||(F={});function tw(e,t){return{textDocument:e,edits:t}}function t_(e){return eV.defined(e)&&Y.is(e.textDocument)&&Array.isArray(e.edits)}tA(tw,"create"),tN.create=tw,tA(t_,"is"),tN.is=t_;var tI=z||(z={});function tP(e,t,r){let n={kind:"create",uri:e};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tD(e){return e&&"create"===e.kind&&eV.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||eV.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eV.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tA(tP,"create"),tI.create=tP,tA(tD,"is"),tI.is=tD;var tO=G||(G={});function tL(e,t,r,n){let i={kind:"rename",oldUri:e,newUri:t};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i}function tM(e){return e&&"rename"===e.kind&&eV.string(e.oldUri)&&eV.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||eV.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eV.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tA(tL,"create"),tO.create=tL,tA(tM,"is"),tO.is=tM;var tj=q||(q={});function tF(e,t,r){let n={kind:"delete",uri:e};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tz(e){return e&&"delete"===e.kind&&eV.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||eV.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||eV.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tA(tF,"create"),tj.create=tF,tA(tz,"is"),tj.is=tz;var tG=K||(K={});function tq(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>eV.string(e.kind)?z.is(e)||G.is(e)||q.is(e):F.is(e)))}tA(tq,"is"),tG.is=tq,U=class{static{tA(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,i;if(void 0===r?n=O.insert(e,t):M.is(r)?(i=r,n=j.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.insert(e,t,i)),this.edits.push(n),void 0!==i)return i}replace(e,t,r){let n,i;if(void 0===r?n=O.replace(e,t):M.is(r)?(i=r,n=j.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.replace(e,t,i)),this.edits.push(n),void 0!==i)return i}delete(e,t){let r,n;if(void 0===t?r=O.del(e):M.is(t)?(n=t,r=j.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=j.del(e,n)),this.edits.push(r),void 0!==n)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(void 0===e)throw Error("Text edit change is not configured to manage change annotations.")}},W=class{static{tA(this,"ChangeAnnotations")}constructor(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let r;if(M.is(e)?r=e:(r=this.nextId(),t=e),void 0!==this._annotations[r])throw Error(`Id ${r} is already in use.`);if(void 0===t)throw Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},V=class{static{tA(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new W(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{if(F.is(e)){let t=new U(e.edits,this._changeAnnotations);this._textEditChanges[e.textDocument.uri]=t}})):e.changes&&Object.keys(e.changes).forEach(t=>{let r=new U(e.changes[t]);this._textEditChanges[t]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Y.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");let t={uri:e.uri,version:e.version},r=this._textEditChanges[t.uri];if(!r){let e=[];this._workspaceEdit.documentChanges.push({textDocument:t,edits:e}),r=new U(e,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new U(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new W,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=z.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=z.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}renameFile(e,t,r,n){let i,a,s;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(r)||M.is(r)?i=r:n=r,void 0===i?a=G.create(e,t,n):(s=M.is(i)?i:this._changeAnnotations.manage(i),a=G.create(e,t,n,s)),this._workspaceEdit.documentChanges.push(a),void 0!==s)return s}deleteFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=q.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=q.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}};var tK=B||(B={});function tU(e){return{uri:e}}function tW(e){return eV.defined(e)&&eV.string(e.uri)}tA(tU,"create"),tK.create=tU,tA(tW,"is"),tK.is=tW;var tV=H||(H={});function tB(e,t){return{uri:e,version:t}}function tH(e){return eV.defined(e)&&eV.string(e.uri)&&eV.integer(e.version)}tA(tB,"create"),tV.create=tB,tA(tH,"is"),tV.is=tH;var tY=Y||(Y={});function tX(e,t){return{uri:e,version:t}}function tJ(e){return eV.defined(e)&&eV.string(e.uri)&&(null===e.version||eV.integer(e.version))}tA(tX,"create"),tY.create=tX,tA(tJ,"is"),tY.is=tJ;var tQ=X||(X={});function tZ(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}}function t0(e){return eV.defined(e)&&eV.string(e.uri)&&eV.string(e.languageId)&&eV.integer(e.version)&&eV.string(e.text)}tA(tZ,"create"),tQ.create=tZ,tA(t0,"is"),tQ.is=t0;var t1=J||(J={});function t2(e){return e===t1.PlainText||e===t1.Markdown}t1.PlainText="plaintext",t1.Markdown="markdown",tA(t2,"is"),t1.is=t2;var t3=Q||(Q={});function t9(e){return eV.objectLiteral(e)&&J.is(e.kind)&&eV.string(e.value)}tA(t9,"is"),t3.is=t9,(n=Z||(Z={})).Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25,(i=ee||(ee={})).PlainText=1,i.Snippet=2,(et||(et={})).Deprecated=1;var t4=er||(er={});function t5(e,t,r){return{newText:e,insert:t,replace:r}}function t8(e){return e&&eV.string(e.newText)&&$.is(e.insert)&&$.is(e.replace)}tA(t5,"create"),t4.create=t5,tA(t8,"is"),t4.is=t8,(a=en||(en={})).asIs=1,a.adjustIndentation=2;var t7=ei||(ei={});function t6(e){return e&&(eV.string(e.detail)||void 0===e.detail)&&(eV.string(e.description)||void 0===e.description)}tA(t6,"is"),t7.is=t6;var re=ea||(ea={});function rt(e){return{label:e}}tA(rt,"create"),re.create=rt;var rr=es||(es={});function rn(e,t){return{items:e||[],isIncomplete:!!t}}tA(rn,"create"),rr.create=rn;var ri=eo||(eo={});function ra(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function rs(e){return eV.string(e)||eV.objectLiteral(e)&&eV.string(e.language)&&eV.string(e.value)}tA(ra,"fromPlainText"),ri.fromPlainText=ra,tA(rs,"is"),ri.is=rs;var ro=el||(el={});function rl(e){return!!e&&eV.objectLiteral(e)&&(Q.is(e.contents)||eo.is(e.contents)||eV.typedArray(e.contents,eo.is))&&(void 0===e.range||$.is(e.range))}tA(rl,"is"),ro.is=rl;var ru=eu||(eu={});function rc(e,t){return t?{label:e,documentation:t}:{label:e}}tA(rc,"create"),ru.create=rc;var rp=ec||(ec={});function rd(e,t,...r){let n={label:e};return eV.defined(t)&&(n.documentation=t),eV.defined(r)?n.parameters=r:n.parameters=[],n}tA(rd,"create"),rp.create=rd,(s=ep||(ep={})).Text=1,s.Read=2,s.Write=3;var rf=ed||(ed={});function rh(e,t){let r={range:e};return eV.number(t)&&(r.kind=t),r}tA(rh,"create"),rf.create=rh,(o=ef||(ef={})).File=1,o.Module=2,o.Namespace=3,o.Package=4,o.Class=5,o.Method=6,o.Property=7,o.Field=8,o.Constructor=9,o.Enum=10,o.Interface=11,o.Function=12,o.Variable=13,o.Constant=14,o.String=15,o.Number=16,o.Boolean=17,o.Array=18,o.Object=19,o.Key=20,o.Null=21,o.EnumMember=22,o.Struct=23,o.Event=24,o.Operator=25,o.TypeParameter=26,(eh||(eh={})).Deprecated=1;var rm=em||(em={});function rg(e,t,r,n,i){let a={name:e,kind:t,location:{uri:n,range:r}};return i&&(a.containerName=i),a}tA(rg,"create"),rm.create=rg;var ry=eg||(eg={});function rv(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}}tA(rv,"create"),ry.create=rv;var rT=ey||(ey={});function rR(e,t,r,n,i,a){let s={name:e,detail:t,kind:r,range:n,selectionRange:i};return void 0!==a&&(s.children=a),s}function r$(e){return e&&eV.string(e.name)&&eV.number(e.kind)&&$.is(e.range)&&$.is(e.selectionRange)&&(void 0===e.detail||eV.string(e.detail))&&(void 0===e.deprecated||eV.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}tA(rR,"create"),rT.create=rR,tA(r$,"is"),rT.is=r$,(l=ev||(ev={})).Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll",(u=eT||(eT={})).Invoked=1,u.Automatic=2;var rb=eR||(eR={});function rE(e,t,r){let n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n}function rC(e){return eV.defined(e)&&eV.typedArray(e.diagnostics,P.is)&&(void 0===e.only||eV.typedArray(e.only,eV.string))&&(void 0===e.triggerKind||e.triggerKind===eT.Invoked||e.triggerKind===eT.Automatic)}tA(rE,"create"),rb.create=rE,tA(rC,"is"),rb.is=rC;var rA=e$||(e$={});function rS(e,t,r){let n={title:e},i=!0;return"string"==typeof t?(i=!1,n.kind=t):D.is(t)?n.command=t:n.edit=t,i&&void 0!==r&&(n.kind=r),n}function rk(e){return e&&eV.string(e.title)&&(void 0===e.diagnostics||eV.typedArray(e.diagnostics,P.is))&&(void 0===e.kind||eV.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||D.is(e.command))&&(void 0===e.isPreferred||eV.boolean(e.isPreferred))&&(void 0===e.edit||K.is(e.edit))}tA(rS,"create"),rA.create=rS,tA(rk,"is"),rA.is=rk;var rx=eb||(eb={});function rN(e,t){let r={range:e};return eV.defined(t)&&(r.data=t),r}function rw(e){return eV.defined(e)&&$.is(e.range)&&(eV.undefined(e.command)||D.is(e.command))}tA(rN,"create"),rx.create=rN,tA(rw,"is"),rx.is=rw;var r_=eE||(eE={});function rI(e,t){return{tabSize:e,insertSpaces:t}}function rP(e){return eV.defined(e)&&eV.uinteger(e.tabSize)&&eV.boolean(e.insertSpaces)}tA(rI,"create"),r_.create=rI,tA(rP,"is"),r_.is=rP;var rD=eC||(eC={});function rO(e,t,r){return{range:e,target:t,data:r}}function rL(e){return eV.defined(e)&&$.is(e.range)&&(eV.undefined(e.target)||eV.string(e.target))}tA(rO,"create"),rD.create=rO,tA(rL,"is"),rD.is=rL;var rM=eA||(eA={});function rj(e,t){return{range:e,parent:t}}function rF(e){return eV.objectLiteral(e)&&$.is(e.range)&&(void 0===e.parent||rM.is(e.parent))}tA(rj,"create"),rM.create=rj,tA(rF,"is"),rM.is=rF,(c=eS||(eS={})).namespace="namespace",c.type="type",c.class="class",c.enum="enum",c.interface="interface",c.struct="struct",c.typeParameter="typeParameter",c.parameter="parameter",c.variable="variable",c.property="property",c.enumMember="enumMember",c.event="event",c.function="function",c.method="method",c.macro="macro",c.keyword="keyword",c.modifier="modifier",c.comment="comment",c.string="string",c.number="number",c.regexp="regexp",c.operator="operator",c.decorator="decorator",(p=ek||(ek={})).declaration="declaration",p.definition="definition",p.readonly="readonly",p.static="static",p.deprecated="deprecated",p.abstract="abstract",p.async="async",p.modification="modification",p.documentation="documentation",p.defaultLibrary="defaultLibrary";var rz=ex||(ex={});function rG(e){return eV.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}tA(rG,"is"),rz.is=rG;var rq=eN||(eN={});function rK(e,t){return{range:e,text:t}}function rU(e){return null!=e&&$.is(e.range)&&eV.string(e.text)}tA(rK,"create"),rq.create=rK,tA(rU,"is"),rq.is=rU;var rW=ew||(ew={});function rV(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}}function rB(e){return null!=e&&$.is(e.range)&&eV.boolean(e.caseSensitiveLookup)&&(eV.string(e.variableName)||void 0===e.variableName)}tA(rV,"create"),rW.create=rV,tA(rB,"is"),rW.is=rB;var rH=e_||(e_={});function rY(e,t){return{range:e,expression:t}}function rX(e){return null!=e&&$.is(e.range)&&(eV.string(e.expression)||void 0===e.expression)}tA(rY,"create"),rH.create=rY,tA(rX,"is"),rH.is=rX;var rJ=eI||(eI={});function rQ(e,t){return{frameId:e,stoppedLocation:t}}function rZ(e){return eV.defined(e)&&$.is(e.stoppedLocation)}tA(rQ,"create"),rJ.create=rQ,tA(rZ,"is"),rJ.is=rZ;var r0=eP||(eP={});function r1(e){return 1===e||2===e}r0.Type=1,r0.Parameter=2,tA(r1,"is"),r0.is=r1;var r2=eD||(eD={});function r3(e){return{value:e}}function r9(e){return eV.objectLiteral(e)&&(void 0===e.tooltip||eV.string(e.tooltip)||Q.is(e.tooltip))&&(void 0===e.location||b.is(e.location))&&(void 0===e.command||D.is(e.command))}tA(r3,"create"),r2.create=r3,tA(r9,"is"),r2.is=r9;var r4=eO||(eO={});function r5(e,t,r){let n={position:e,label:t};return void 0!==r&&(n.kind=r),n}function r8(e){return eV.objectLiteral(e)&&R.is(e.position)&&(eV.string(e.label)||eV.typedArray(e.label,eD.is))&&(void 0===e.kind||eP.is(e.kind))&&void 0===e.textEdits||eV.typedArray(e.textEdits,O.is)&&(void 0===e.tooltip||eV.string(e.tooltip)||Q.is(e.tooltip))&&(void 0===e.paddingLeft||eV.boolean(e.paddingLeft))&&(void 0===e.paddingRight||eV.boolean(e.paddingRight))}tA(r5,"create"),r4.create=r5,tA(r8,"is"),r4.is=r8;var r7=eL||(eL={});function r6(e){return{kind:"snippet",value:e}}tA(r6,"createSnippet"),r7.createSnippet=r6;var ne=eM||(eM={});function nt(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}}tA(nt,"create"),ne.create=nt;var nr=ej||(ej={});function nn(e){return{items:e}}tA(nn,"create"),nr.create=nn,(d=eF||(eF={})).Invoked=0,d.Automatic=1;var ni=ez||(ez={});function na(e,t){return{range:e,text:t}}tA(na,"create"),ni.create=na;var ns=eG||(eG={});function no(e,t){return{triggerKind:e,selectedCompletionInfo:t}}tA(no,"create"),ns.create=no;var nl=eq||(eq={});function nu(e){return eV.objectLiteral(e)&&y.is(e.uri)&&eV.string(e.name)}tA(nu,"is"),nl.is=nu,eK=["\n","\r\n","\r"],function(e){function t(e,t,r,n){return new eW(e,t,r,n)}function r(e){return!!(eV.defined(e)&&eV.string(e.uri)&&(eV.undefined(e.languageId)||eV.string(e.languageId))&&eV.uinteger(e.lineCount)&&eV.func(e.getText)&&eV.func(e.positionAt)&&eV.func(e.offsetAt))}function n(e,t){let r=e.getText(),n=i(t,(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),a=r.length;for(let t=n.length-1;t>=0;t--){let i=n[t],s=e.offsetAt(i.range.start),o=e.offsetAt(i.range.end);if(o<=a)r=r.substring(0,s)+i.newText+r.substring(o,r.length);else throw Error("Overlapping edit");a=s}return r}function i(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);i(n,t),i(a,t);let s=0,o=0,l=0;for(;s=t(n[s],a[o])?e[l++]=n[s++]:e[l++]=a[o++];for(;s0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return R.create(0,e);for(;re?n=i:r=i+1}let i=r-1;return R.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1r(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tA(t,"boolean"),e.boolean=t,tA(r,"string"),e.string=r,tA(n,"number"),e.number=n,tA(i,"error"),e.error=i,tA(a,"func"),e.func=a,tA(s,"array"),e.array=s,tA(o,"stringArray"),e.stringArray=o}}),tL=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){"use strict";let t;Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var r,n,i=tD();r=n||(e.Event=n={}),t={dispose(){}},r.None=function(){return t};var a=class{static{tA(this,"CallbackList")}add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:tA(()=>this.remove(e,t),"dispose")})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n{this._callbacks||(this._callbacks=new a),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,r);let i={dispose:tA(()=>{this._callbacks&&(this._callbacks.remove(t,r),i.dispose=e._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};e.Emitter=s,s._noop=function(){}}}),tM=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,r=tD(),n=tO(),i=tL(),a=t||(e.CancellationToken=t={});function s(e){return e&&(e===a.None||e===a.Cancelled||n.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),tA(s,"is"),a.is=s;var o=Object.freeze(function(e,t){let n=(0,r.default)().timer.setTimeout(e.bind(t),0);return{dispose(){n.dispose()}}}),l=class{static{tA(this,"MutableToken")}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?o:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}};e.CancellationTokenSource=class{static{tA(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=t.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=t.None}}}}),tj=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t,r,n,i=tO();(t=r||(e.ErrorCodes=r={})).ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3,e.ResponseError=class e extends Error{static{tA(this,"ResponseError")}constructor(t,n,a){super(n),this.code=i.number(t)?t:r.UnknownErrorCode,this.data=a,Object.setPrototypeOf(this,e.prototype)}toJson(){let e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}};var a=class e{static{tA(this,"ParameterStructures")}constructor(e){this.kind=e}static is(t){return t===e.auto||t===e.byName||t===e.byPosition}toString(){return this.kind}};e.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");var s=class{static{tA(this,"AbstractMessageSignature")}constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return a.auto}};e.AbstractMessageSignature=s,e.RequestType0=class extends s{static{tA(this,"RequestType0")}constructor(e){super(e,0)}},e.RequestType=class extends s{static{tA(this,"RequestType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType1=class extends s{static{tA(this,"RequestType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType2=class extends s{static{tA(this,"RequestType2")}constructor(e){super(e,2)}},e.RequestType3=class extends s{static{tA(this,"RequestType3")}constructor(e){super(e,3)}},e.RequestType4=class extends s{static{tA(this,"RequestType4")}constructor(e){super(e,4)}},e.RequestType5=class extends s{static{tA(this,"RequestType5")}constructor(e){super(e,5)}},e.RequestType6=class extends s{static{tA(this,"RequestType6")}constructor(e){super(e,6)}},e.RequestType7=class extends s{static{tA(this,"RequestType7")}constructor(e){super(e,7)}},e.RequestType8=class extends s{static{tA(this,"RequestType8")}constructor(e){super(e,8)}},e.RequestType9=class extends s{static{tA(this,"RequestType9")}constructor(e){super(e,9)}},e.NotificationType=class extends s{static{tA(this,"NotificationType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType0=class extends s{static{tA(this,"NotificationType0")}constructor(e){super(e,0)}},e.NotificationType1=class extends s{static{tA(this,"NotificationType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType2=class extends s{static{tA(this,"NotificationType2")}constructor(e){super(e,2)}},e.NotificationType3=class extends s{static{tA(this,"NotificationType3")}constructor(e){super(e,3)}},e.NotificationType4=class extends s{static{tA(this,"NotificationType4")}constructor(e){super(e,4)}},e.NotificationType5=class extends s{static{tA(this,"NotificationType5")}constructor(e){super(e,5)}},e.NotificationType6=class extends s{static{tA(this,"NotificationType6")}constructor(e){super(e,6)}},e.NotificationType7=class extends s{static{tA(this,"NotificationType7")}constructor(e){super(e,7)}},e.NotificationType8=class extends s{static{tA(this,"NotificationType8")}constructor(e){super(e,8)}},e.NotificationType9=class extends s{static{tA(this,"NotificationType9")}constructor(e){super(e,9)}},function(e){function t(e){return e&&i.string(e.method)&&(i.string(e.id)||i.number(e.id))}function r(e){return e&&i.string(e.method)&&void 0===e.id}function n(e){return e&&(void 0!==e.result||!!e.error)&&(i.string(e.id)||i.number(e.id)||null===e.id)}tA(t,"isRequest"),e.isRequest=t,tA(r,"isNotification"),e.isNotification=r,tA(n,"isResponse"),e.isResponse=n}(n||(e.Message=n={}))}}),tF=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,(t=n||(e.Touch=n={})).None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last;var t,r,n,i=class{static{tA(this,"LinkedMap")}constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){let r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==r)throw Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tA(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.key,done:!1};return t=t.next,e}},"next")};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tA(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.value,done:!1};return t=t.next,e}},"next")};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tA(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:[t.key,t.value],done:!1};return t=t.next,e}},"next")};return r}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail)if(this._head)e.next=this._head,this._head.previous=e;else throw Error("Invalid list");else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail)if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error("Invalid list");else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error("Invalid list");if(t===n.First||t===n.Last){if(t===n.First){if(e===this._head)return;let t=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(t.previous=r,r.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;let t=e.next,r=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=r,r.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){for(let[t,r]of(this.clear(),e))this.set(t,r)}};e.LinkedMap=i,e.LRUCache=class extends i{static{tA(this,"LRUCache")}constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}}}),tz=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0;var t,r=t||(e.Disposable=t={});function n(e){return{dispose:e}}tA(n,"create"),r.create=n}}),tG=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t,r,n=tM();(t=r||(r={})).Continue=0,t.Cancelled=1,e.SharedArraySenderStrategy=class{static{tA(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(null===e.id)return;let t=new SharedArrayBuffer(4);new Int32Array(t,0,1)[0]=r.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let n=this.buffers.get(t);if(void 0===n)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,r.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};var i=class{static{tA(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},a=class{static{tA(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new i(e)}cancel(){}dispose(){}};e.SharedArrayReceiverStrategy=class{static{tA(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return void 0===t?new n.CancellationTokenSource:new a(t)}}}}),tq=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=tD();e.Semaphore=class{static{tA(this,"Semaphore")}constructor(e=1){if(e<=0)throw Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(t=>{this._active--,e.resolve(t),this.runNext()},t=>{this._active--,e.reject(t),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}}}),tK=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t,r,n=tD(),i=tO(),a=tL(),s=tq(),o=t||(e.MessageReader=t={});function l(e){return e&&i.func(e.listen)&&i.func(e.dispose)&&i.func(e.onError)&&i.func(e.onClose)&&i.func(e.onPartialMessage)}tA(l,"is"),o.is=l;var u=class{static{tA(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter,this.partialMessageEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:Error(`Reader received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageReader=u;var c=r||(r={});function p(e){let t,r,i,a=new Map,s=new Map;if(void 0===e||"string"==typeof e)t=e??"utf-8";else{if(t=e.charset??"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,a.set(r.name,r)),void 0!==e.contentDecoders)for(let t of e.contentDecoders)a.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(i=e.contentTypeDecoder,s.set(i.name,i)),void 0!==e.contentTypeDecoders)for(let t of e.contentTypeDecoders)s.set(t.name,t)}return void 0===i&&(i=(0,n.default)().applicationJson.decoder,s.set(i.name,i)),{charset:t,contentDecoder:r,contentDecoders:a,contentTypeDecoder:i,contentTypeDecoders:s}}tA(p,"fromOptions"),c.fromOptions=p,e.ReadableStreamMessageReader=class extends u{static{tA(this,"ReadableStreamMessageReader")}constructor(e,t){super(),this.readable=e,this.options=r.fromOptions(t),this.buffer=(0,n.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new s.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(e=>{this.onData(e)});return this.readable.onError(e=>this.fireError(e)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders(!0);if(!e)return;let t=e.get("content-length");if(!t)return void this.fireError(Error(`Header must provide a Content-Length property. ${JSON.stringify(Object.fromEntries(e))}`));let r=parseInt(t);if(isNaN(r))return void this.fireError(Error(`Content-Length value must be a number. Got ${t}`));this.nextMessageLength=r}let e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let t=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(e):e,r=await this.options.contentTypeDecoder.decode(t,this.options);this.callback(r)}).catch(e=>{this.fireError(e)})}}catch(e){this.fireError(e)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,n.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}}}),tU=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t,r,n=tD(),i=tO(),a=tq(),s=tL(),o=t||(e.MessageWriter=t={});function l(e){return e&&i.func(e.dispose)&&i.func(e.onClose)&&i.func(e.onError)&&i.func(e.write)}tA(l,"is"),o.is=l;var u=class{static{tA(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,r){this.errorEmitter.fire([this.asError(e),t,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:Error(`Writer received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageWriter=u;var c=r||(r={});function p(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,n.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,n.default)().applicationJson.encoder}}tA(p,"fromOptions"),c.fromOptions=p,e.WriteableStreamMessageWriter=class extends u{static{tA(this,"WriteableStreamMessageWriter")}constructor(e,t){super(),this.writable=e,this.options=r.fromOptions(t),this.errorCount=0,this.writeSemaphore=new a.Semaphore(1),this.writable.onError(e=>this.fireError(e)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e).then(t=>{let r=[];return r.push("Content-Length: ",t.byteLength.toString(),"\r\n"),r.push("\r\n"),this.doWrite(e,r,t)},e=>{throw this.fireError(e),e}))}async doWrite(e,t,r){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(r)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}}}),tW=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0,e.AbstractMessageBuffer=class{static{tA(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(0===this._chunks.length)return;let t=0,r=0,n=0,i=0;e:for(;rthis._totalLength)throw Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){let t=this._chunks[0],r=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,r}let t=this.allocNative(e),r=0;for(;e>0;){let n=this._chunks[0];if(n.byteLength>e){let i=n.slice(0,e);t.set(i,r),r+=e,this._chunks[0]=n.slice(e),this._totalLength-=e,e-=e}else t.set(n,r),r+=n.byteLength,this._chunks.shift(),this._totalLength-=n.byteLength,e-=n.byteLength}return t}}}}),tV=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t,r,n,i,a,s,o,l,u,c,p,d,f,h,m,g,y,v,T,R,$,b,E,C,A=tD(),S=tO(),k=tj(),x=tF(),N=tL(),w=tM();(s||(s={})).type=new k.NotificationType("$/cancelRequest");var _=o||(e.ProgressToken=o={});function I(e){return"string"==typeof e||"number"==typeof e}tA(I,"is"),_.is=I,(l||(l={})).type=new k.NotificationType("$/progress"),e.ProgressType=class{static{tA(this,"ProgressType")}};var P=u||(u={});function D(e){return S.func(e)}tA(D,"is"),P.is=D,e.NullLogger=Object.freeze({error:tA(()=>{},"error"),warn:tA(()=>{},"warn"),info:tA(()=>{},"info"),log:tA(()=>{},"log")}),(t=c||(e.Trace=c={}))[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose",(r=p||(e.TraceValues=p={})).Off="off",r.Messages="messages",r.Compact="compact",r.Verbose="verbose";var O=c||(e.Trace=c={});function L(e){if(!S.string(e))return O.Off;switch(e=e.toLowerCase()){case"off":default:return O.Off;case"messages":return O.Messages;case"compact":return O.Compact;case"verbose":return O.Verbose}}function M(e){switch(e){case O.Off:return"off";case O.Messages:return"messages";case O.Compact:return"compact";case O.Verbose:return"verbose";default:return"off"}}tA(L,"fromString"),O.fromString=L,tA(M,"toString"),O.toString=M,(n=d||(e.TraceFormat=d={})).Text="text",n.JSON="json";var j=d||(e.TraceFormat=d={});function F(e){return S.string(e)&&"json"===(e=e.toLowerCase())?j.JSON:j.Text}tA(F,"fromString"),j.fromString=F,(f||(e.SetTraceNotification=f={})).type=new k.NotificationType("$/setTrace"),(h||(e.LogTraceNotification=h={})).type=new k.NotificationType("$/logTrace"),(i=m||(e.ConnectionErrors=m={}))[i.Closed=1]="Closed",i[i.Disposed=2]="Disposed",i[i.AlreadyListening=3]="AlreadyListening";var z=class e extends Error{static{tA(this,"ConnectionError")}constructor(t,r){super(r),this.code=t,Object.setPrototypeOf(this,e.prototype)}};e.ConnectionError=z;var G=g||(e.ConnectionStrategy=g={});function q(e){return e&&S.func(e.cancelUndispatched)}tA(q,"is"),G.is=q;var K=y||(e.IdCancellationReceiverStrategy=y={});function U(e){return e&&(void 0===e.kind||"id"===e.kind)&&S.func(e.createCancellationTokenSource)&&(void 0===e.dispose||S.func(e.dispose))}tA(U,"is"),K.is=U;var W=v||(e.RequestCancellationReceiverStrategy=v={});function V(e){return e&&"request"===e.kind&&S.func(e.createCancellationTokenSource)&&(void 0===e.dispose||S.func(e.dispose))}tA(V,"is"),W.is=V;var B=T||(e.CancellationReceiverStrategy=T={});function H(e){return y.is(e)||v.is(e)}B.Message=Object.freeze({createCancellationTokenSource:e=>new w.CancellationTokenSource}),tA(H,"is"),B.is=H;var Y=R||(e.CancellationSenderStrategy=R={});function X(e){return e&&S.func(e.sendCancellation)&&S.func(e.cleanup)}Y.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(s.type,{id:t}),cleanup(e){}}),tA(X,"is"),Y.is=X;var J=$||(e.CancellationStrategy=$={});function Q(e){return e&&T.is(e.receiver)&&R.is(e.sender)}J.Message=Object.freeze({receiver:T.Message,sender:R.Message}),tA(Q,"is"),J.is=Q;var Z=b||(e.MessageStrategy=b={});function ee(e){return e&&S.func(e.handleMessage)}tA(ee,"is"),Z.is=ee;var et=E||(e.ConnectionOptions=E={});function er(e){return e&&($.is(e.cancellationStrategy)||g.is(e.connectionStrategy)||b.is(e.messageStrategy))}function en(t,r,n,i){let a,p,g,v,T=void 0!==n?n:e.NullLogger,R=0,E=0,_=0,I=new Map,P=new Map,D=new Map,O=new x.LinkedMap,L=new Map,M=new Set,j=new Map,F=c.Off,G=d.Text,q=C.New,K=new N.Emitter,U=new N.Emitter,W=new N.Emitter,V=new N.Emitter,B=new N.Emitter,H=i&&i.cancellationStrategy?i.cancellationStrategy:$.Message;function Y(e){if(null===e)throw Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function X(e){return null===e?"res-unknown-"+(++_).toString():"res-"+e.toString()}function J(){return"not-"+(++E).toString()}function Q(e,t){k.Message.isRequest(t)?e.set(Y(t.id),t):k.Message.isResponse(t)?e.set(X(t.id),t):e.set(J(),t)}function Z(e){}function ee(){return q===C.Listening}function et(){return q===C.Closed}function er(){return q===C.Disposed}function en(){(q===C.New||q===C.Listening)&&(q=C.Closed,U.fire(void 0))}function ei(e){K.fire([e,void 0,void 0])}function ea(e){K.fire(e)}function es(){a||0===O.size||(a=(0,A.default)().timer.setImmediate(()=>{a=void 0,el()}))}function eo(e){k.Message.isRequest(e)?ec(e):k.Message.isNotification(e)?ed(e):k.Message.isResponse(e)?ep(e):ef(e)}function el(){if(0===O.size)return;let e=O.shift();try{let t=i?.messageStrategy;b.is(t)?t.handleMessage(e,eo):eo(e)}finally{es()}}tA(Y,"createRequestQueueKey"),tA(X,"createResponseQueueKey"),tA(J,"createNotificationQueueKey"),tA(Q,"addMessageToQueue"),tA(Z,"cancelUndispatched"),tA(ee,"isListening"),tA(et,"isClosed"),tA(er,"isDisposed"),tA(en,"closeHandler"),tA(ei,"readErrorHandler"),tA(ea,"writeErrorHandler"),t.onClose(en),t.onError(ei),r.onClose(en),r.onError(ea),tA(es,"triggerMessageQueue"),tA(eo,"handleMessage"),tA(el,"processMessageQueue");let eu=tA(e=>{try{if(k.Message.isNotification(e)&&e.method===s.type.method){let t=e.params.id,n=Y(t),a=O.get(n);if(k.Message.isRequest(a)){let s=i?.connectionStrategy,o=s&&s.cancelUndispatched?s.cancelUndispatched(a,Z):Z(a);if(o&&(void 0!==o.error||void 0!==o.result)){O.delete(n),j.delete(t),o.id=a.id,ey(o,e.method,Date.now()),r.write(o).catch(()=>T.error("Sending response for canceled message failed."));return}}let s=j.get(t);if(void 0!==s){s.cancel(),eT(e);return}M.add(t)}Q(O,e)}finally{es()}},"callback");function ec(e){let t,n;if(er())return;function i(t,n,i){let a={jsonrpc:"2.0",id:e.id};t instanceof k.ResponseError?a.error=t.toJson():a.result=void 0===t?null:t,ey(a,n,i),r.write(a).catch(()=>T.error("Sending response failed."))}function a(t,n,i){let a={jsonrpc:"2.0",id:e.id,error:t.toJson()};ey(a,n,i),r.write(a).catch(()=>T.error("Sending response failed."))}function s(t,n,i){void 0===t&&(t=null);let a={jsonrpc:"2.0",id:e.id,result:t};ey(a,n,i),r.write(a).catch(()=>T.error("Sending response failed."))}tA(i,"reply"),tA(a,"replyError"),tA(s,"replySuccess"),ev(e);let o=I.get(e.method);o&&(t=o.type,n=o.handler);let l=Date.now();if(n||g){let r=e.id??String(Date.now()),o=y.is(H.receiver)?H.receiver.createCancellationTokenSource(r):H.receiver.createCancellationTokenSource(e);null!==e.id&&M.has(e.id)&&o.cancel(),null!==e.id&&j.set(r,o);try{let u;if(n)if(void 0===e.params){if(void 0!==t&&0!==t.numberOfParams)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines ${t.numberOfParams} params but received none.`),e.method,l);u=n(o.token)}else if(Array.isArray(e.params)){if(void 0!==t&&t.parameterStructures===k.ParameterStructures.byName)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,l);u=n(...e.params,o.token)}else{if(void 0!==t&&t.parameterStructures===k.ParameterStructures.byPosition)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,l);u=n(e.params,o.token)}else g&&(u=g(e.method,e.params,o.token));let c=u;u?c.then?c.then(t=>{j.delete(r),i(t,e.method,l)},t=>{j.delete(r),t instanceof k.ResponseError?a(t,e.method,l):t&&S.string(t.message)?a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}):(j.delete(r),i(u,e.method,l)):(j.delete(r),s(u,e.method,l))}catch(t){j.delete(r),t instanceof k.ResponseError?i(t,e.method,l):t&&S.string(t.message)?a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}}else a(new k.ResponseError(k.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,l)}function ep(e){if(!er())if(null===e.id)e.error?T.error(`Received response message without id: Error is: ${JSON.stringify(e.error,void 0,4)}`):T.error("Received response message without id. No further error information provided.");else{let t=e.id,r=L.get(t);if(eR(e,r),void 0!==r){L.delete(t);try{if(e.error){let t=e.error;r.reject(new k.ResponseError(t.code,t.message,t.data))}else if(void 0!==e.result)r.resolve(e.result);else throw Error("Should never happen.")}catch(e){e.message?T.error(`Response handler '${r.method}' failed with message: ${e.message}`):T.error(`Response handler '${r.method}' failed unexpectedly.`)}}}}function ed(e){let t,r;if(!er()){if(e.method===s.type.method){let t=e.params.id;M.delete(t),eT(e);return}{let n=P.get(e.method);n&&(t=n.handler,r=n.type)}if(t||v)try{if(eT(e),t)if(void 0===e.params)void 0!==r&&0!==r.numberOfParams&&r.parameterStructures!==k.ParameterStructures.byName&&T.error(`Notification ${e.method} defines ${r.numberOfParams} params but received none.`),t();else if(Array.isArray(e.params)){let n=e.params;e.method===l.type.method&&2===n.length&&o.is(n[0])?t({token:n[0],value:n[1]}):(void 0!==r&&(r.parameterStructures===k.ParameterStructures.byName&&T.error(`Notification ${e.method} defines parameters by name but received parameters by position`),r.numberOfParams!==e.params.length&&T.error(`Notification ${e.method} defines ${r.numberOfParams} params but received ${n.length} arguments`)),t(...n))}else void 0!==r&&r.parameterStructures===k.ParameterStructures.byPosition&&T.error(`Notification ${e.method} defines parameters by position but received parameters by name`),t(e.params);else v&&v(e.method,e.params)}catch(t){t.message?T.error(`Notification handler '${e.method}' failed with message: ${t.message}`):T.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}}function ef(e){if(!e)return void T.error("Received empty message.");if(T.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(e,null,4)}`),S.string(e.id)||S.number(e.id)){let t=e.id,r=L.get(t);r&&r.reject(Error("The received response has neither a result nor an error property."))}}function eh(e){if(null!=e)switch(F){case c.Verbose:return JSON.stringify(e,null,4);case c.Compact:return JSON.stringify(e);default:return}}function em(e){if(F!==c.Off&&p)if(G===d.Text){let t;(F===c.Verbose||F===c.Compact)&&e.params&&(t=`Params: ${eh(e.params)} `),p.log(`Sending request '${e.method} - (${e.id})'.`,t)}else e$("send-request",e)}function eg(e){if(F!==c.Off&&p)if(G===d.Text){let t;(F===c.Verbose||F===c.Compact)&&(t=e.params?`Params: ${eh(e.params)} `:"No parameters provided.\n\n"),p.log(`Sending notification '${e.method}'.`,t)}else e$("send-notification",e)}function ey(e,t,r){if(F!==c.Off&&p)if(G===d.Text){let n;(F===c.Verbose||F===c.Compact)&&(e.error&&e.error.data?n=`Error data: ${eh(e.error.data)} `:e.result?n=`Result: ${eh(e.result)} `:void 0===e.error&&(n="No result returned.\n\n")),p.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-r}ms`,n)}else e$("send-response",e)}function ev(e){if(F!==c.Off&&p)if(G===d.Text){let t;(F===c.Verbose||F===c.Compact)&&e.params&&(t=`Params: ${eh(e.params)} `),p.log(`Received request '${e.method} - (${e.id})'.`,t)}else e$("receive-request",e)}function eT(e){if(F!==c.Off&&p&&e.method!==h.type.method)if(G===d.Text){let t;(F===c.Verbose||F===c.Compact)&&(t=e.params?`Params: ${eh(e.params)} `:"No parameters provided.\n\n"),p.log(`Received notification '${e.method}'.`,t)}else e$("receive-notification",e)}function eR(e,t){if(F!==c.Off&&p)if(G===d.Text){let r;if((F===c.Verbose||F===c.Compact)&&(e.error&&e.error.data?r=`Error data: ${eh(e.error.data)} `:e.result?r=`Result: ${eh(e.result)} `:void 0===e.error&&(r="No result returned.\n\n")),t){let n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";p.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,r)}else p.log(`Received response ${e.id} without active response promise.`,r)}else e$("receive-response",e)}function e$(e,t){if(!p||F===c.Off)return;let r={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};p.log(r)}function eb(){if(et())throw new z(m.Closed,"Connection is closed.");if(er())throw new z(m.Disposed,"Connection is disposed.")}function eE(){if(ee())throw new z(m.AlreadyListening,"Connection is already listening")}function eC(){if(!ee())throw Error("Call listen() first.")}function eA(e){return void 0===e?null:e}function eS(e){if(null!==e)return e}function ek(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function ex(e,t){switch(e){case k.ParameterStructures.auto:if(ek(t))return eS(t);return[eA(t)];case k.ParameterStructures.byName:if(!ek(t))throw Error("Received parameters by name but param is not an object literal.");return eS(t);case k.ParameterStructures.byPosition:return[eA(t)];default:throw Error(`Unknown parameter structure ${e.toString()}`)}}function eN(e,t){let r,n=e.numberOfParams;switch(n){case 0:r=void 0;break;case 1:r=ex(e.parameterStructures,t[0]);break;default:r=[];for(let e=0;e{let n,i;if(eb(),S.string(e)){n=e;let r=t[0],a=0,s=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(a=1,s=r);let o=t.length,l=o-a;switch(l){case 0:i=void 0;break;case 1:i=ex(s,t[a]);break;default:if(s===k.ParameterStructures.byName)throw Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);i=t.slice(a,o).map(e=>eA(e))}}else n=e.method,i=eN(e,t);let a={jsonrpc:"2.0",method:n,params:i};return eg(a),r.write(a).catch(e=>{throw T.error("Sending notification failed."),e})},"sendNotification"),onNotification:tA((e,t)=>{let r;return eb(),S.func(e)?v=e:t&&(S.string(e)?(r=e,P.set(e,{type:void 0,handler:t})):(r=e.method,P.set(e.method,{type:e,handler:t}))),{dispose:tA(()=>{void 0!==r?P.delete(r):v=void 0},"dispose")}},"onNotification"),onProgress:tA((e,t,r)=>{if(D.has(t))throw Error(`Progress handler for token ${t} already registered`);return D.set(t,r),{dispose:tA(()=>{D.delete(t)},"dispose")}},"onProgress"),sendProgress:tA((e,t,r)=>ew.sendNotification(l.type,{token:t,value:r}),"sendProgress"),onUnhandledProgress:V.event,sendRequest:tA((e,...t)=>{let n,i,a,s;if(eb(),eC(),S.string(e)){n=e;let r=t[0],a=t[t.length-1],o=0,l=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(o=1,l=r);let u=t.length;w.CancellationToken.is(a)&&(u-=1,s=a);let c=u-o;switch(c){case 0:i=void 0;break;case 1:i=ex(l,t[o]);break;default:if(l===k.ParameterStructures.byName)throw Error(`Received ${c} parameters for 'by Name' request parameter structure.`);i=t.slice(o,u).map(e=>eA(e))}}else{n=e.method,i=eN(e,t);let r=e.numberOfParams;s=w.CancellationToken.is(t[r])?t[r]:void 0}let o=R++;s&&(a=s.onCancellationRequested(()=>{let e=H.sender.sendCancellation(ew,o);return void 0===e?(T.log(`Received no promise from cancellation strategy when cancelling id ${o}`),Promise.resolve()):e.catch(()=>{T.log(`Sending cancellation messages for id ${o} failed`)})}));let l={jsonrpc:"2.0",id:o,method:n,params:i};return em(l),"function"==typeof H.sender.enableCancellation&&H.sender.enableCancellation(l),new Promise(async(e,t)=>{let i=tA(t=>{e(t),H.sender.cleanup(o),a?.dispose()},"resolveWithCleanup"),s=tA(e=>{t(e),H.sender.cleanup(o),a?.dispose()},"rejectWithCleanup"),u={method:n,timerStart:Date.now(),resolve:i,reject:s};try{await r.write(l),L.set(o,u)}catch(e){throw T.error("Sending request failed."),u.reject(new k.ResponseError(k.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),e}})},"sendRequest"),onRequest:tA((e,t)=>{eb();let r=null;return u.is(e)?(r=void 0,g=e):S.string(e)?(r=null,void 0!==t&&(r=e,I.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,I.set(e.method,{type:e,handler:t})),{dispose:tA(()=>{null!==r&&(void 0!==r?I.delete(r):g=void 0)},"dispose")}},"onRequest"),hasPendingResponse:tA(()=>L.size>0,"hasPendingResponse"),trace:tA(async(e,t,r)=>{let n=!1,i=d.Text;void 0!==r&&(S.boolean(r)?n=r:(n=r.sendNotification||!1,i=r.traceFormat||d.Text)),F=e,G=i,p=F===c.Off?void 0:t,!n||et()||er()||await ew.sendNotification(f.type,{value:c.toString(e)})},"trace"),onError:K.event,onClose:U.event,onUnhandledNotification:W.event,onDispose:B.event,end:tA(()=>{r.end()},"end"),dispose:tA(()=>{if(er())return;q=C.Disposed,B.fire(void 0);let e=new k.ResponseError(k.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let t of L.values())t.reject(e);L=new Map,j=new Map,M=new Set,O=new x.LinkedMap,S.func(r.dispose)&&r.dispose(),S.func(t.dispose)&&t.dispose()},"dispose"),listen:tA(()=>{eb(),eE(),q=C.Listening,t.listen(eu)},"listen"),inspect:tA(()=>{(0,A.default)().console.log("inspect")},"inspect")};return ew.onNotification(h.type,e=>{if(F===c.Off||!p)return;let t=F===c.Verbose||F===c.Compact;p.log(e.message,t?e.verbose:void 0)}),ew.onNotification(l.type,e=>{let t=D.get(e.token);t?t(e.value):V.fire(e)}),ew}tA(er,"is"),et.is=er,(a=C||(C={}))[a.New=1]="New",a[a.Listening=2]="Listening",a[a.Closed=3]="Closed",a[a.Disposed=4]="Disposed",tA(en,"createMessageConnection"),e.createMessageConnection=en}}),tB=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=tj();Object.defineProperty(e,"Message",{enumerable:!0,get:tA(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:tA(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:tA(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:tA(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:tA(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:tA(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:tA(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:tA(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:tA(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:tA(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:tA(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:tA(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:tA(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:tA(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:tA(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:tA(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:tA(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:tA(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:tA(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:tA(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:tA(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:tA(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:tA(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:tA(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:tA(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:tA(function(){return t.ParameterStructures},"get")});var r=tF();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:tA(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:tA(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:tA(function(){return r.Touch},"get")});var n=tz();Object.defineProperty(e,"Disposable",{enumerable:!0,get:tA(function(){return n.Disposable},"get")});var i=tL();Object.defineProperty(e,"Event",{enumerable:!0,get:tA(function(){return i.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:tA(function(){return i.Emitter},"get")});var a=tM();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:tA(function(){return a.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:tA(function(){return a.CancellationToken},"get")});var s=tG();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:tA(function(){return s.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:tA(function(){return s.SharedArrayReceiverStrategy},"get")});var o=tK();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:tA(function(){return o.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:tA(function(){return o.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:tA(function(){return o.ReadableStreamMessageReader},"get")});var l=tU();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:tA(function(){return l.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:tA(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:tA(function(){return l.WriteableStreamMessageWriter},"get")});var u=tW();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:tA(function(){return u.AbstractMessageBuffer},"get")});var c=tV();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:tA(function(){return c.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:tA(function(){return c.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:tA(function(){return c.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:tA(function(){return c.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:tA(function(){return c.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:tA(function(){return c.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:tA(function(){return c.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:tA(function(){return c.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:tA(function(){return c.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:tA(function(){return c.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:tA(function(){return c.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:tA(function(){return c.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:tA(function(){return c.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:tA(function(){return c.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:tA(function(){return c.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:tA(function(){return c.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:tA(function(){return c.MessageStrategy},"get")}),e.RAL=tD().default}}),tH=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=tB(),r=class e extends t.AbstractMessageBuffer{static{tA(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(e,t){return new TextEncoder().encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}};r.emptyBuffer=new Uint8Array(0);var n=class{static{tA(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new t.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then(e=>{this._onData.fire(new Uint8Array(e))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},i=class{static{tA(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},a=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:tA(e=>new r(e),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:tA((e,t)=>{if("utf-8"!==t.charset)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(a.encode(JSON.stringify(e,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:tA((e,t)=>{if(!(e instanceof Uint8Array))throw Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))},"decode")})}),stream:Object.freeze({asReadableStream:tA(e=>new n(e),"asReadableStream"),asWritableStream:tA(e=>new i(e),"asWritableStream")}),console,timer:Object.freeze({setTimeout(e,t,...r){let n=setTimeout(e,t,...r);return{dispose:tA(()=>clearTimeout(n),"dispose")}},setImmediate(e,...t){let r=setTimeout(e,0,...t);return{dispose:tA(()=>clearTimeout(r),"dispose")}},setInterval(e,t,...r){let n=setInterval(e,t,...r);return{dispose:tA(()=>clearInterval(n),"dispose")}}})});function o(){return s}tA(o,"RIL");var l=o||(o={});function u(){t.RAL.install(s)}tA(u,"install"),l.install=u,e.default=o}}),tY=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tA(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0,tH().default.install();var n=tB();function i(e,t,r,i){return void 0===r&&(r=n.NullLogger),n.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,n.createMessageConnection)(e,t,r,i)}r(tB(),e),e.BrowserMessageReader=class extends n.AbstractMessageReader{static{tA(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new n.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",e=>this.fireError(e)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}},e.BrowserMessageWriter=class extends n.AbstractMessageWriter{static{tA(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",e=>this.fireError(e))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}},tA(i,"createMessageConnection"),e.createMessageConnection=i}}),tX=tS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){"use strict";t.exports=tY()}}),tJ=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t,r,n=tY();(t=r||(e.MessageDirection=r={})).clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both",e.RegistrationType=class{static{tA(this,"RegistrationType")}constructor(e){this.method=e}},e.ProtocolRequestType0=class extends n.RequestType0{static{tA(this,"ProtocolRequestType0")}constructor(e){super(e)}},e.ProtocolRequestType=class extends n.RequestType{static{tA(this,"ProtocolRequestType")}constructor(e){super(e,n.ParameterStructures.byName)}},e.ProtocolNotificationType0=class extends n.NotificationType0{static{tA(this,"ProtocolNotificationType0")}constructor(e){super(e)}},e.ProtocolNotificationType=class extends n.NotificationType{static{tA(this,"ProtocolNotificationType")}constructor(e){super(e,n.ParameterStructures.byName)}}}}),tQ=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){"use strict";function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}function l(e,t){return Array.isArray(e)&&e.every(t)}function u(e){return null!==e&&"object"==typeof e}Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tA(t,"boolean"),e.boolean=t,tA(r,"string"),e.string=r,tA(n,"number"),e.number=n,tA(i,"error"),e.error=i,tA(a,"func"),e.func=a,tA(s,"array"),e.array=s,tA(o,"stringArray"),e.stringArray=o,tA(l,"typedArray"),e.typedArray=l,tA(u,"objectLiteral"),e.objectLiteral=u}}),tZ=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t,r,n=tJ();(t=r||(e.ImplementationRequest=r={})).method="textDocument/implementation",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),t0=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t,r,n=tJ();(t=r||(e.TypeDefinitionRequest=r={})).method="textDocument/typeDefinition",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),t1=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t,r,n,i,a=tJ();(t=n||(e.WorkspaceFoldersRequest=n={})).method="workspace/workspaceFolders",t.messageDirection=a.MessageDirection.serverToClient,t.type=new a.ProtocolRequestType0(t.method),(r=i||(e.DidChangeWorkspaceFoldersNotification=i={})).method="workspace/didChangeWorkspaceFolders",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolNotificationType(r.method)}}),t2=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t,r,n=tJ();(t=r||(e.ConfigurationRequest=r={})).method="workspace/configuration",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),t3=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t,r,n,i,a=tJ();(t=n||(e.DocumentColorRequest=n={})).method="textDocument/documentColor",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.ColorPresentationRequest=i={})).method="textDocument/colorPresentation",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolRequestType(r.method)}}),t9=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t,r,n,i,a=tJ();(t=n||(e.FoldingRangeRequest=n={})).method="textDocument/foldingRange",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.FoldingRangeRefreshRequest=i={})).method="workspace/foldingRange/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),t4=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t,r,n=tJ();(t=r||(e.DeclarationRequest=r={})).method="textDocument/declaration",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),t5=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t,r,n=tJ();(t=r||(e.SelectionRangeRequest=r={})).method="textDocument/selectionRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),t8=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t,r,n,i,a,s=tY(),o=tJ(),l=n||(e.WorkDoneProgress=n={});function u(e){return e===l.type}l.type=new s.ProgressType,tA(u,"is"),l.is=u,(t=i||(e.WorkDoneProgressCreateRequest=i={})).method="window/workDoneProgress/create",t.messageDirection=o.MessageDirection.serverToClient,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.WorkDoneProgressCancelNotification=a={})).method="window/workDoneProgress/cancel",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolNotificationType(r.method)}}),t7=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=tJ();(t=i||(e.CallHierarchyPrepareRequest=i={})).method="textDocument/prepareCallHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.CallHierarchyIncomingCallsRequest=a={})).method="callHierarchy/incomingCalls",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.CallHierarchyOutgoingCallsRequest=s={})).method="callHierarchy/outgoingCalls",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),t6=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t,r,n,i,a,s,o,l,u,c,p,d=tJ();(s||(e.TokenFormat=s={})).Relative="relative",(t=o||(e.SemanticTokensRegistrationType=o={})).method="textDocument/semanticTokens",t.type=new d.RegistrationType(t.method),(r=l||(e.SemanticTokensRequest=l={})).method="textDocument/semanticTokens/full",r.messageDirection=d.MessageDirection.clientToServer,r.type=new d.ProtocolRequestType(r.method),r.registrationMethod=o.method,(n=u||(e.SemanticTokensDeltaRequest=u={})).method="textDocument/semanticTokens/full/delta",n.messageDirection=d.MessageDirection.clientToServer,n.type=new d.ProtocolRequestType(n.method),n.registrationMethod=o.method,(i=c||(e.SemanticTokensRangeRequest=c={})).method="textDocument/semanticTokens/range",i.messageDirection=d.MessageDirection.clientToServer,i.type=new d.ProtocolRequestType(i.method),i.registrationMethod=o.method,(a=p||(e.SemanticTokensRefreshRequest=p={})).method="workspace/semanticTokens/refresh",a.messageDirection=d.MessageDirection.serverToClient,a.type=new d.ProtocolRequestType0(a.method)}}),re=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t,r,n=tJ();(t=r||(e.ShowDocumentRequest=r={})).method="window/showDocument",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),rt=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t,r,n=tJ();(t=r||(e.LinkedEditingRangeRequest=r={})).method="textDocument/linkedEditingRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rr=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,d,f,h,m=tJ();(t=l||(e.FileOperationPatternKind=l={})).file="file",t.folder="folder",(r=u||(e.WillCreateFilesRequest=u={})).method="workspace/willCreateFiles",r.messageDirection=m.MessageDirection.clientToServer,r.type=new m.ProtocolRequestType(r.method),(n=c||(e.DidCreateFilesNotification=c={})).method="workspace/didCreateFiles",n.messageDirection=m.MessageDirection.clientToServer,n.type=new m.ProtocolNotificationType(n.method),(i=p||(e.WillRenameFilesRequest=p={})).method="workspace/willRenameFiles",i.messageDirection=m.MessageDirection.clientToServer,i.type=new m.ProtocolRequestType(i.method),(a=d||(e.DidRenameFilesNotification=d={})).method="workspace/didRenameFiles",a.messageDirection=m.MessageDirection.clientToServer,a.type=new m.ProtocolNotificationType(a.method),(s=f||(e.DidDeleteFilesNotification=f={})).method="workspace/didDeleteFiles",s.messageDirection=m.MessageDirection.clientToServer,s.type=new m.ProtocolNotificationType(s.method),(o=h||(e.WillDeleteFilesRequest=h={})).method="workspace/willDeleteFiles",o.messageDirection=m.MessageDirection.clientToServer,o.type=new m.ProtocolRequestType(o.method)}}),rn=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t,r,n,i,a,s,o=tJ();(t=i||(e.UniquenessLevel=i={})).document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global",(r=a||(e.MonikerKind=a={})).$import="import",r.$export="export",r.local="local",(n=s||(e.MonikerRequest=s={})).method="textDocument/moniker",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),ri=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=tJ();(t=i||(e.TypeHierarchyPrepareRequest=i={})).method="textDocument/prepareTypeHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.TypeHierarchySupertypesRequest=a={})).method="typeHierarchy/supertypes",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.TypeHierarchySubtypesRequest=s={})).method="typeHierarchy/subtypes",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),ra=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t,r,n,i,a=tJ();(t=n||(e.InlineValueRequest=n={})).method="textDocument/inlineValue",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.InlineValueRefreshRequest=i={})).method="workspace/inlineValue/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),rs=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t,r,n,i,a,s,o=tJ();(t=i||(e.InlayHintRequest=i={})).method="textDocument/inlayHint",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.InlayHintResolveRequest=a={})).method="inlayHint/resolve",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.InlayHintRefreshRequest=s={})).method="workspace/inlayHint/refresh",n.messageDirection=o.MessageDirection.serverToClient,n.type=new o.ProtocolRequestType0(n.method)}}),ro=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t,r,n,i,a,s,o,l,u,c=tY(),p=tQ(),d=tJ(),f=a||(e.DiagnosticServerCancellationData=a={});function h(e){return e&&p.boolean(e.retriggerRequest)}tA(h,"is"),f.is=h,(t=s||(e.DocumentDiagnosticReportKind=s={})).Full="full",t.Unchanged="unchanged",(r=o||(e.DocumentDiagnosticRequest=o={})).method="textDocument/diagnostic",r.messageDirection=d.MessageDirection.clientToServer,r.type=new d.ProtocolRequestType(r.method),r.partialResult=new c.ProgressType,(n=l||(e.WorkspaceDiagnosticRequest=l={})).method="workspace/diagnostic",n.messageDirection=d.MessageDirection.clientToServer,n.type=new d.ProtocolRequestType(n.method),n.partialResult=new c.ProgressType,(i=u||(e.DiagnosticRefreshRequest=u={})).method="workspace/diagnostic/refresh",i.messageDirection=d.MessageDirection.serverToClient,i.type=new d.ProtocolRequestType0(i.method)}}),rl=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,d,f,h,m,g=(tP(),t_(tI)),y=tQ(),v=tJ(),T=s||(e.NotebookCellKind=s={});function R(e){return 1===e||2===e}T.Markup=1,T.Code=2,tA(R,"is"),T.is=R,function(e){function t(e,t){let r={executionOrder:e};return(!0===t||!1===t)&&(r.success=t),r}function r(e){return y.objectLiteral(e)&&g.uinteger.is(e.executionOrder)&&(void 0===e.success||y.boolean(e.success))}function n(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success}tA(t,"create"),e.create=t,tA(r,"is"),e.is=r,tA(n,"equals"),e.equals=n}(o||(e.ExecutionSummary=o={})),function(e){function t(e,t){return{kind:e,document:t}}function r(e){return y.objectLiteral(e)&&s.is(e.kind)&&g.DocumentUri.is(e.document)&&(void 0===e.metadata||y.objectLiteral(e.metadata))}function n(e,t){let r=new Set;return e.document!==t.document&&r.add("document"),e.kind!==t.kind&&r.add("kind"),e.executionSummary!==t.executionSummary&&r.add("executionSummary"),void 0===e.metadata&&void 0===t.metadata||i(e.metadata,t.metadata)||r.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||o.equals(e.executionSummary,t.executionSummary)||r.add("executionSummary"),r}function i(e,t){if(e===t)return!0;if(null==e||null==t||typeof e!=typeof t||"object"!=typeof e)return!1;let r=Array.isArray(e),n=Array.isArray(t);if(r!==n)return!1;if(r&&n){if(e.length!==t.length)return!1;for(let r=0;r0}tA(tF,"hasId"),tj.hasId=tF;var tz=ep||(e.TextDocumentRegistrationOptions=ep={});function tG(e){return e&&(null===e.documentSelector||ei.is(e.documentSelector))}tA(tG,"is"),tz.is=tG;var tq=ed||(e.WorkDoneProgressOptions=ed={});function tK(e){return ti.objectLiteral(e)&&(void 0===e.workDoneProgress||ti.boolean(e.workDoneProgress))}function tU(e){return e&&ti.boolean(e.workDoneProgress)}tA(tK,"is"),tq.is=tK,tA(tU,"hasWorkDoneProgress"),tq.hasWorkDoneProgress=tU,(s=ef||(e.InitializeRequest=ef={})).method="initialize",s.messageDirection=tr.MessageDirection.clientToServer,s.type=new tr.ProtocolRequestType(s.method),(eh||(e.InitializeErrorCodes=eh={})).unknownProtocolVersion=1,(o=em||(e.InitializedNotification=em={})).method="initialized",o.messageDirection=tr.MessageDirection.clientToServer,o.type=new tr.ProtocolNotificationType(o.method),(l=eg||(e.ShutdownRequest=eg={})).method="shutdown",l.messageDirection=tr.MessageDirection.clientToServer,l.type=new tr.ProtocolRequestType0(l.method),(u=ey||(e.ExitNotification=ey={})).method="exit",u.messageDirection=tr.MessageDirection.clientToServer,u.type=new tr.ProtocolNotificationType0(u.method),(c=ev||(e.DidChangeConfigurationNotification=ev={})).method="workspace/didChangeConfiguration",c.messageDirection=tr.MessageDirection.clientToServer,c.type=new tr.ProtocolNotificationType(c.method),(p=eT||(e.MessageType=eT={})).Error=1,p.Warning=2,p.Info=3,p.Log=4,p.Debug=5,(d=eR||(e.ShowMessageNotification=eR={})).method="window/showMessage",d.messageDirection=tr.MessageDirection.serverToClient,d.type=new tr.ProtocolNotificationType(d.method),(f=e$||(e.ShowMessageRequest=e$={})).method="window/showMessageRequest",f.messageDirection=tr.MessageDirection.serverToClient,f.type=new tr.ProtocolRequestType(f.method),(h=eb||(e.LogMessageNotification=eb={})).method="window/logMessage",h.messageDirection=tr.MessageDirection.serverToClient,h.type=new tr.ProtocolNotificationType(h.method),(m=eE||(e.TelemetryEventNotification=eE={})).method="telemetry/event",m.messageDirection=tr.MessageDirection.serverToClient,m.type=new tr.ProtocolNotificationType(m.method),(g=eC||(e.TextDocumentSyncKind=eC={})).None=0,g.Full=1,g.Incremental=2,(y=eA||(e.DidOpenTextDocumentNotification=eA={})).method="textDocument/didOpen",y.messageDirection=tr.MessageDirection.clientToServer,y.type=new tr.ProtocolNotificationType(y.method);var tW=eS||(e.TextDocumentContentChangeEvent=eS={});function tV(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}function tB(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}tA(tV,"isIncremental"),tW.isIncremental=tV,tA(tB,"isFull"),tW.isFull=tB,(v=ek||(e.DidChangeTextDocumentNotification=ek={})).method="textDocument/didChange",v.messageDirection=tr.MessageDirection.clientToServer,v.type=new tr.ProtocolNotificationType(v.method),(T=ex||(e.DidCloseTextDocumentNotification=ex={})).method="textDocument/didClose",T.messageDirection=tr.MessageDirection.clientToServer,T.type=new tr.ProtocolNotificationType(T.method),(R=eN||(e.DidSaveTextDocumentNotification=eN={})).method="textDocument/didSave",R.messageDirection=tr.MessageDirection.clientToServer,R.type=new tr.ProtocolNotificationType(R.method),($=ew||(e.TextDocumentSaveReason=ew={})).Manual=1,$.AfterDelay=2,$.FocusOut=3,(b=e_||(e.WillSaveTextDocumentNotification=e_={})).method="textDocument/willSave",b.messageDirection=tr.MessageDirection.clientToServer,b.type=new tr.ProtocolNotificationType(b.method),(E=eI||(e.WillSaveTextDocumentWaitUntilRequest=eI={})).method="textDocument/willSaveWaitUntil",E.messageDirection=tr.MessageDirection.clientToServer,E.type=new tr.ProtocolRequestType(E.method),(C=eP||(e.DidChangeWatchedFilesNotification=eP={})).method="workspace/didChangeWatchedFiles",C.messageDirection=tr.MessageDirection.clientToServer,C.type=new tr.ProtocolNotificationType(C.method),(A=eD||(e.FileChangeType=eD={})).Created=1,A.Changed=2,A.Deleted=3;var tH=eO||(e.RelativePattern=eO={});function tY(e){return ti.objectLiteral(e)&&(tn.URI.is(e.baseUri)||tn.WorkspaceFolder.is(e.baseUri))&&ti.string(e.pattern)}tA(tY,"is"),tH.is=tY,(S=eL||(e.WatchKind=eL={})).Create=1,S.Change=2,S.Delete=4,(k=eM||(e.PublishDiagnosticsNotification=eM={})).method="textDocument/publishDiagnostics",k.messageDirection=tr.MessageDirection.serverToClient,k.type=new tr.ProtocolNotificationType(k.method),(x=ej||(e.CompletionTriggerKind=ej={})).Invoked=1,x.TriggerCharacter=2,x.TriggerForIncompleteCompletions=3,(N=eF||(e.CompletionRequest=eF={})).method="textDocument/completion",N.messageDirection=tr.MessageDirection.clientToServer,N.type=new tr.ProtocolRequestType(N.method),(w=ez||(e.CompletionResolveRequest=ez={})).method="completionItem/resolve",w.messageDirection=tr.MessageDirection.clientToServer,w.type=new tr.ProtocolRequestType(w.method),(_=eG||(e.HoverRequest=eG={})).method="textDocument/hover",_.messageDirection=tr.MessageDirection.clientToServer,_.type=new tr.ProtocolRequestType(_.method),(I=eq||(e.SignatureHelpTriggerKind=eq={})).Invoked=1,I.TriggerCharacter=2,I.ContentChange=3,(P=eK||(e.SignatureHelpRequest=eK={})).method="textDocument/signatureHelp",P.messageDirection=tr.MessageDirection.clientToServer,P.type=new tr.ProtocolRequestType(P.method),(D=eU||(e.DefinitionRequest=eU={})).method="textDocument/definition",D.messageDirection=tr.MessageDirection.clientToServer,D.type=new tr.ProtocolRequestType(D.method),(O=eW||(e.ReferencesRequest=eW={})).method="textDocument/references",O.messageDirection=tr.MessageDirection.clientToServer,O.type=new tr.ProtocolRequestType(O.method),(L=eV||(e.DocumentHighlightRequest=eV={})).method="textDocument/documentHighlight",L.messageDirection=tr.MessageDirection.clientToServer,L.type=new tr.ProtocolRequestType(L.method),(M=eB||(e.DocumentSymbolRequest=eB={})).method="textDocument/documentSymbol",M.messageDirection=tr.MessageDirection.clientToServer,M.type=new tr.ProtocolRequestType(M.method),(j=eH||(e.CodeActionRequest=eH={})).method="textDocument/codeAction",j.messageDirection=tr.MessageDirection.clientToServer,j.type=new tr.ProtocolRequestType(j.method),(F=eY||(e.CodeActionResolveRequest=eY={})).method="codeAction/resolve",F.messageDirection=tr.MessageDirection.clientToServer,F.type=new tr.ProtocolRequestType(F.method),(z=eX||(e.WorkspaceSymbolRequest=eX={})).method="workspace/symbol",z.messageDirection=tr.MessageDirection.clientToServer,z.type=new tr.ProtocolRequestType(z.method),(G=eJ||(e.WorkspaceSymbolResolveRequest=eJ={})).method="workspaceSymbol/resolve",G.messageDirection=tr.MessageDirection.clientToServer,G.type=new tr.ProtocolRequestType(G.method),(q=eQ||(e.CodeLensRequest=eQ={})).method="textDocument/codeLens",q.messageDirection=tr.MessageDirection.clientToServer,q.type=new tr.ProtocolRequestType(q.method),(K=eZ||(e.CodeLensResolveRequest=eZ={})).method="codeLens/resolve",K.messageDirection=tr.MessageDirection.clientToServer,K.type=new tr.ProtocolRequestType(K.method),(U=e0||(e.CodeLensRefreshRequest=e0={})).method="workspace/codeLens/refresh",U.messageDirection=tr.MessageDirection.serverToClient,U.type=new tr.ProtocolRequestType0(U.method),(W=e1||(e.DocumentLinkRequest=e1={})).method="textDocument/documentLink",W.messageDirection=tr.MessageDirection.clientToServer,W.type=new tr.ProtocolRequestType(W.method),(V=e2||(e.DocumentLinkResolveRequest=e2={})).method="documentLink/resolve",V.messageDirection=tr.MessageDirection.clientToServer,V.type=new tr.ProtocolRequestType(V.method),(B=e3||(e.DocumentFormattingRequest=e3={})).method="textDocument/formatting",B.messageDirection=tr.MessageDirection.clientToServer,B.type=new tr.ProtocolRequestType(B.method),(H=e9||(e.DocumentRangeFormattingRequest=e9={})).method="textDocument/rangeFormatting",H.messageDirection=tr.MessageDirection.clientToServer,H.type=new tr.ProtocolRequestType(H.method),(Y=e4||(e.DocumentRangesFormattingRequest=e4={})).method="textDocument/rangesFormatting",Y.messageDirection=tr.MessageDirection.clientToServer,Y.type=new tr.ProtocolRequestType(Y.method),(X=e5||(e.DocumentOnTypeFormattingRequest=e5={})).method="textDocument/onTypeFormatting",X.messageDirection=tr.MessageDirection.clientToServer,X.type=new tr.ProtocolRequestType(X.method),(e8||(e.PrepareSupportDefaultBehavior=e8={})).Identifier=1,(J=e7||(e.RenameRequest=e7={})).method="textDocument/rename",J.messageDirection=tr.MessageDirection.clientToServer,J.type=new tr.ProtocolRequestType(J.method),(Q=e6||(e.PrepareRenameRequest=e6={})).method="textDocument/prepareRename",Q.messageDirection=tr.MessageDirection.clientToServer,Q.type=new tr.ProtocolRequestType(Q.method),(Z=te||(e.ExecuteCommandRequest=te={})).method="workspace/executeCommand",Z.messageDirection=tr.MessageDirection.clientToServer,Z.type=new tr.ProtocolRequestType(Z.method),(ee=tt||(e.ApplyWorkspaceEditRequest=tt={})).method="workspace/applyEdit",ee.messageDirection=tr.MessageDirection.serverToClient,ee.type=new tr.ProtocolRequestType("workspace/applyEdit")}}),rp=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=tY();function r(e,r,n,i){return t.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,t.createMessageConnection)(e,r,n,i)}tA(r,"createProtocolConnection"),e.createProtocolConnection=r}}),rd=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){"use strict";var t,r,n=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tA(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=e&&e.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,i(tY(),e),i((tP(),t_(tI)),e),i(tJ(),e),i(rc(),e);var a=rp();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:tA(function(){return a.createProtocolConnection},"get")}),(t=r||(e.LSPErrorCodes=r={})).lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800}}),rf=tS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tA(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var n=tX();function i(e,t,r,i){return(0,n.createMessageConnection)(e,t,r,i)}r(tX(),e),r(rd(),e),tA(i,"createProtocolConnection"),e.createProtocolConnection=i}}),rh={};tk(rh,{AbstractAstReflection:()=>r$,AbstractCstNode:()=>vK,AbstractLangiumParser:()=>vJ,AbstractParserErrorMessageProvider:()=>vZ,AbstractThreadedAsyncParser:()=>RJ,AstUtils:()=>rI,BiMap:()=>TW,Cancellation:()=>Tv,CompositeCstNodeImpl:()=>vW,ContextCache:()=>TZ,CstNodeBuilder:()=>vq,CstUtils:()=>rm,DEFAULT_TOKENIZE_OPTIONS:()=>Rg,DONE_RESULT:()=>rN,DatatypeSymbol:()=>vH,DefaultAstNodeDescriptionProvider:()=>Ri,DefaultAstNodeLocator:()=>Rs,DefaultAsyncParser:()=>RX,DefaultCommentProvider:()=>RY,DefaultConfigurationProvider:()=>Rl,DefaultDocumentBuilder:()=>Rd,DefaultDocumentValidator:()=>Re,DefaultHydrator:()=>R0,DefaultIndexManager:()=>Rf,DefaultJsonSerializer:()=>T4,DefaultLangiumDocumentFactory:()=>TM,DefaultLangiumDocuments:()=>Tj,DefaultLangiumProfiler:()=>$c,DefaultLexer:()=>Ry,DefaultLexerErrorMessageProvider:()=>Rm,DefaultLinker:()=>Tz,DefaultNameProvider:()=>Tq,DefaultReferenceDescriptionProvider:()=>Ra,DefaultReferences:()=>TK,DefaultScopeComputation:()=>TV,DefaultScopeProvider:()=>T2,DefaultServiceRegistry:()=>T5,DefaultTokenBuilder:()=>Tg,DefaultValueConverter:()=>Ty,DefaultWorkspaceLock:()=>RZ,DefaultWorkspaceManager:()=>Rh,Deferred:()=>Tk,Disposable:()=>e5,DisposableCache:()=>TJ,DocumentCache:()=>T0,DocumentState:()=>e3,DocumentValidator:()=>e4,EMPTY_SCOPE:()=>TX,EMPTY_STREAM:()=>rx,EmptyFileSystem:()=>$a,EmptyFileSystemProvider:()=>$i,ErrorWithLocation:()=>iY,GrammarAST:()=>rB,GrammarUtils:()=>iH,IndentationAwareLexer:()=>$r,IndentationAwareTokenBuilder:()=>$t,JSDocDocumentationProvider:()=>RH,LangiumCompletionParser:()=>v1,LangiumParser:()=>vQ,LangiumParserErrorMessageProvider:()=>v0,LeafCstNodeImpl:()=>vU,LexingMode:()=>e7,MapScope:()=>TH,Module:()=>e8,MultiMap:()=>TU,MultiMapScope:()=>TY,OperationCancelled:()=>TC,ParserWorker:()=>RQ,ProfilingTask:()=>$p,Reduction:()=>eB,RefResolving:()=>TF,RegExpUtils:()=>iQ,RootCstNodeImpl:()=>vB,SimpleCache:()=>TQ,StreamImpl:()=>rA,StreamScope:()=>TB,TextDocument:()=>e0,TreeStreamImpl:()=>r_,URI:()=>TD,UriTrie:()=>TL,UriUtils:()=>e2,VALIDATE_EACH_NODE:()=>T6,ValidationCategory:()=>e9,ValidationRegistry:()=>T7,ValueConverter:()=>eZ,WorkspaceCache:()=>T1,assertCondition:()=>iJ,assertUnreachable:()=>iX,createCompletionParser:()=>Tf,createDefaultCoreModule:()=>R1,createDefaultSharedCoreModule:()=>R2,createGrammarConfig:()=>aQ,createLangiumParser:()=>Th,createParser:()=>v4,delayNextTick:()=>TT,diagnosticData:()=>T8,eagerLoad:()=>R4,getDiagnosticRange:()=>Rt,indentationBuilderDefaultOptions:()=>$e,inject:()=>R3,interruptAndCheck:()=>TS,isAstNode:()=>rg,isAstNodeDescription:()=>rT,isAstNodeWithComment:()=>T3,isCompositeCstNode:()=>rb,isIMultiModeLexerDefinition:()=>RT,isJSDoc:()=>Rb,isLeafCstNode:()=>rE,isLinkingError:()=>rR,isMultiReference:()=>rv,isNamed:()=>TG,isOperationCancelled:()=>TA,isReference:()=>ry,isRootCstNode:()=>rC,isTokenTypeArray:()=>Rv,isTokenTypeDictionary:()=>RR,loadGrammarFromJson:()=>$u,parseJSDoc:()=>R$,prepareLangiumParser:()=>Tm,setInterruptionPeriod:()=>TE,startCancelableOperation:()=>Tb,stream:()=>rw,toDiagnosticData:()=>Rn,toDiagnosticSeverity:()=>Rr});var rm={};function rg(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function ry(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"ref"in e}function rv(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"items"in e}function rT(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function rR(e){return"object"==typeof e&&null!==e&&"object"==typeof e.info&&"string"==typeof e.message}tk(rm,{DefaultNameRegexp:()=>iO,RangeComparison:()=>eH,compareRange:()=>iP,findCommentNode:()=>iM,findDeclarationNodeAtOffset:()=>iL,findLeafNodeAtOffset:()=>iF,findLeafNodeBeforeOffset:()=>iz,flattenCst:()=>iN,getDatatypeNode:()=>ik,getInteriorNodes:()=>iW,getNextNode:()=>iK,getPreviousNode:()=>iq,getStartlineNode:()=>iU,inRange:()=>iD,isChildNode:()=>iw,isCommentNode:()=>ij,streamCst:()=>ix,toDocumentSegment:()=>iI,tokenToRange:()=>i_}),tA(rg,"isAstNode"),tA(ry,"isReference"),tA(rv,"isMultiReference"),tA(rT,"isAstNodeDescription"),tA(rR,"isLinkingError");var r$=class{static{tA(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw Error(`Type ${e.container.$type||"undefined"} not found.`);let r=t.properties[e.property]?.referenceType;if(!r)throw Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){let t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return rg(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.types[e],i=!!n&&n.superTypes.some(e=>this.isSubtype(e,t));return r[t]=i,i}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}};function rb(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function rE(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function rC(e){return rb(e)&&"string"==typeof e.fullText}tA(rb,"isCompositeCstNode"),tA(rE,"isLeafCstNode"),tA(rC,"isRootCstNode");var rA=class e{static{tA(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:tA(()=>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(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e,t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done);return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(t){return new e(()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(!(t=this.nextFn(e.first)).done)return t;while(!t.done);e.firstDone=!0}do if(!(t=e.iterator.next()).done)return t;while(!t.done);return rN})}join(e=","){let t,r=this.iterator(),n="",i=!1;do(t=r.next()).done||(i&&(n+=e),n+=rS(t.value)),i=!0;while(!t.done);return n}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(t){return new e(this.startFn,e=>{let{done:r,value:n}=this.nextFn(e);return r?rN:{done:!1,value:t(n)}})}filter(t){return new e(this.startFn,e=>{let r;do if(!(r=this.nextFn(e)).done&&t(r.value))return r;while(!r.done);return rN})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(t){return new e(()=>({this:this.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=this.nextFn(e.this);if(!r){let r=t(n);if(!rk(r))return{done:!1,value:r};e.iterator=r[Symbol.iterator]()}}while(e.iterator);return rN})}flat(t){if(void 0===t&&(t=1),t<=0)return this;let r=t>1?this.flat(t-1):this;return new e(()=>({this:r.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:t,value:n}=r.nextFn(e.this);if(!t)if(!rk(n))return{done:!1,value:n};else e.iterator=n[Symbol.iterator]()}while(e.iterator);return rN})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{let e=this.startFn();for(let r=0;r({size:0,state:this.startFn()}),e=>(e.size++,e.size>t)?rN:this.nextFn(e.state))}distinct(t){return new e(()=>({set:new Set,internalState:this.startFn()}),e=>{let r;do if(!(r=this.nextFn(e.internalState)).done){let n=t?t(r.value):r.value;if(!e.set.has(n))return e.set.add(n),r}while(!r.done);return rN})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}};function rS(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function rk(e){return!!e&&"function"==typeof e[Symbol.iterator]}tA(rS,"toString"),tA(rk,"isIterable");var rx=new rA(()=>void 0,()=>rN),rN=Object.freeze({done:!0,value:void 0});function rw(...e){if(1===e.length){let t=e[0];if(t instanceof rA)return t;if(rk(t))return new rA(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new rA(()=>({index:0}),e=>e.index1?new rA(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return rN})}iterator(){let e={state:this.startFn(),next:tA(()=>this.nextFn(e.state),"next"),prune:tA(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};!function(e){function t(e){return e.reduce((e,t)=>e+t,0)}function r(e){return e.reduce((e,t)=>e*t,0)}function n(e){return e.reduce((e,t)=>Math.min(e,t))}function i(e){return e.reduce((e,t)=>Math.max(e,t))}tA(t,"sum"),e.sum=t,tA(r,"product"),e.product=r,tA(n,"min"),e.min=n,tA(i,"max"),e.max=i}(eB||(eB={}));var rI={};function rP(e,t={}){for(let[r,n]of Object.entries(e))!r.startsWith("$")&&(Array.isArray(n)?n.forEach((n,i)=>{rg(n)&&(n.$container=e,n.$containerProperty=r,n.$containerIndex=i,t.deep&&rP(n,t))}):rg(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&rP(n,t)))}function rD(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function rO(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}function rL(e){let t=rM(e).$document;if(!t)throw Error("AST node has no document.");return t}function rM(e){for(;e.$container;)e=e.$container;return e}function rj(e){return ry(e)?e.ref?[e.ref]:[]:rv(e)?e.items.map(e=>e.ref):[]}function rF(e,t){if(!e)throw Error("Node must be an AstNode.");let r=t?.range;return new rA(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndexrF(e,t))}function rG(e,t){if(e){if(t?.range&&!rq(e,t.range))return new r_(e,()=>[])}else throw Error("Root node must be an AstNode.");return new r_(e,e=>rF(e,t),{includeRoot:!0})}function rq(e,t){if(!t)return!0;let r=e.$cstNode?.range;return!!r&&iD(r,t)}function rK(e){return new rA(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndexrU,copyAstNode:()=>rV,findRootNode:()=>rM,getContainerOfType:()=>rD,getDocument:()=>rL,getReferenceNodes:()=>rj,hasContainerOfType:()=>rO,linkContentToContainer:()=>rP,streamAllContents:()=>rz,streamAst:()=>rG,streamContents:()=>rF,streamReferences:()=>rK}),tA(rP,"linkContentToContainer"),tA(rD,"getContainerOfType"),tA(rO,"hasContainerOfType"),tA(rL,"getDocument"),tA(rM,"findRootNode"),tA(rj,"getReferenceNodes"),tA(rF,"streamContents"),tA(rz,"streamAllContents"),tA(rG,"streamAst"),tA(rq,"isAstNodeInRange"),tA(rK,"streamReferences"),tA(rU,"assignMandatoryProperties"),tA(rW,"copyDefaultValue"),tA(rV,"copyAstNode");var rB={};tk(rB,{AbstractElement:()=>rY,AbstractParserRule:()=>rJ,AbstractRule:()=>rZ,AbstractType:()=>r1,Action:()=>r3,Alternatives:()=>r4,ArrayLiteral:()=>r8,ArrayType:()=>r6,Assignment:()=>nt,BooleanLiteral:()=>nn,CharacterRange:()=>na,Condition:()=>no,Conjunction:()=>nu,CrossReference:()=>np,Disjunction:()=>nf,EndOfFile:()=>nm,Grammar:()=>ny,GrammarImport:()=>nT,Group:()=>n$,InferredType:()=>nE,InfixRule:()=>nA,InfixRuleOperatorList:()=>nk,InfixRuleOperators:()=>nN,Interface:()=>n_,Keyword:()=>nP,LangiumGrammarAstReflection:()=>iA,LangiumGrammarTerminals:()=>rH,NamedArgument:()=>nO,NegatedToken:()=>nM,Negation:()=>nF,NumberLiteral:()=>nG,Parameter:()=>nK,ParameterReference:()=>nW,ParserRule:()=>nB,ReferenceType:()=>nY,RegexToken:()=>nJ,ReturnType:()=>nZ,RuleCall:()=>n1,SimpleType:()=>n3,StringLiteral:()=>n4,TerminalAlternatives:()=>n8,TerminalElement:()=>n6,TerminalGroup:()=>it,TerminalRule:()=>ii,TerminalRuleCall:()=>is,Type:()=>il,TypeAttribute:()=>ic,TypeDefinition:()=>id,UnionType:()=>im,UnorderedGroup:()=>iy,UntilToken:()=>iT,ValueLiteral:()=>i$,Wildcard:()=>iE,isAbstractElement:()=>rX,isAbstractParserRule:()=>rQ,isAbstractRule:()=>r0,isAbstractType:()=>r2,isAction:()=>r9,isAlternatives:()=>r5,isArrayLiteral:()=>r7,isArrayType:()=>ne,isAssignment:()=>nr,isBooleanLiteral:()=>ni,isCharacterRange:()=>ns,isCondition:()=>nl,isConjunction:()=>nc,isCrossReference:()=>nd,isDisjunction:()=>nh,isEndOfFile:()=>ng,isGrammar:()=>nv,isGrammarImport:()=>nR,isGroup:()=>nb,isInferredType:()=>nC,isInfixRule:()=>nS,isInfixRuleOperatorList:()=>nx,isInfixRuleOperators:()=>nw,isInterface:()=>nI,isKeyword:()=>nD,isNamedArgument:()=>nL,isNegatedToken:()=>nj,isNegation:()=>nz,isNumberLiteral:()=>nq,isParameter:()=>nU,isParameterReference:()=>nV,isParserRule:()=>nH,isReferenceType:()=>nX,isRegexToken:()=>nQ,isReturnType:()=>n0,isRuleCall:()=>n2,isSimpleType:()=>n9,isStringLiteral:()=>n5,isTerminalAlternatives:()=>n7,isTerminalElement:()=>ie,isTerminalGroup:()=>ir,isTerminalRule:()=>ia,isTerminalRuleCall:()=>io,isType:()=>iu,isTypeAttribute:()=>ip,isTypeDefinition:()=>ih,isUnionType:()=>ig,isUnorderedGroup:()=>iv,isUntilToken:()=>iR,isValueLiteral:()=>ib,isWildcard:()=>iC,reflection:()=>iS});var rH={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]*/},rY={$type:"AbstractElement",cardinality:"cardinality"};function rX(e){return iS.isInstance(e,rY.$type)}tA(rX,"isAbstractElement");var rJ={$type:"AbstractParserRule"};function rQ(e){return iS.isInstance(e,rJ.$type)}tA(rQ,"isAbstractParserRule");var rZ={$type:"AbstractRule"};function r0(e){return iS.isInstance(e,rZ.$type)}tA(r0,"isAbstractRule");var r1={$type:"AbstractType"};function r2(e){return iS.isInstance(e,r1.$type)}tA(r2,"isAbstractType");var r3={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function r9(e){return iS.isInstance(e,r3.$type)}tA(r9,"isAction");var r4={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function r5(e){return iS.isInstance(e,r4.$type)}tA(r5,"isAlternatives");var r8={$type:"ArrayLiteral",elements:"elements"};function r7(e){return iS.isInstance(e,r8.$type)}tA(r7,"isArrayLiteral");var r6={$type:"ArrayType",elementType:"elementType"};function ne(e){return iS.isInstance(e,r6.$type)}tA(ne,"isArrayType");var nt={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function nr(e){return iS.isInstance(e,nt.$type)}tA(nr,"isAssignment");var nn={$type:"BooleanLiteral",true:"true"};function ni(e){return iS.isInstance(e,nn.$type)}tA(ni,"isBooleanLiteral");var na={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function ns(e){return iS.isInstance(e,na.$type)}tA(ns,"isCharacterRange");var no={$type:"Condition"};function nl(e){return iS.isInstance(e,no.$type)}tA(nl,"isCondition");var nu={$type:"Conjunction",left:"left",right:"right"};function nc(e){return iS.isInstance(e,nu.$type)}tA(nc,"isConjunction");var np={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function nd(e){return iS.isInstance(e,np.$type)}tA(nd,"isCrossReference");var nf={$type:"Disjunction",left:"left",right:"right"};function nh(e){return iS.isInstance(e,nf.$type)}tA(nh,"isDisjunction");var nm={$type:"EndOfFile",cardinality:"cardinality"};function ng(e){return iS.isInstance(e,nm.$type)}tA(ng,"isEndOfFile");var ny={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function nv(e){return iS.isInstance(e,ny.$type)}tA(nv,"isGrammar");var nT={$type:"GrammarImport",path:"path"};function nR(e){return iS.isInstance(e,nT.$type)}tA(nR,"isGrammarImport");var n$={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function nb(e){return iS.isInstance(e,n$.$type)}tA(nb,"isGroup");var nE={$type:"InferredType",name:"name"};function nC(e){return iS.isInstance(e,nE.$type)}tA(nC,"isInferredType");var nA={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function nS(e){return iS.isInstance(e,nA.$type)}tA(nS,"isInfixRule");var nk={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function nx(e){return iS.isInstance(e,nk.$type)}tA(nx,"isInfixRuleOperatorList");var nN={$type:"InfixRuleOperators",precedences:"precedences"};function nw(e){return iS.isInstance(e,nN.$type)}tA(nw,"isInfixRuleOperators");var n_={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function nI(e){return iS.isInstance(e,n_.$type)}tA(nI,"isInterface");var nP={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function nD(e){return iS.isInstance(e,nP.$type)}tA(nD,"isKeyword");var nO={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function nL(e){return iS.isInstance(e,nO.$type)}tA(nL,"isNamedArgument");var nM={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function nj(e){return iS.isInstance(e,nM.$type)}tA(nj,"isNegatedToken");var nF={$type:"Negation",value:"value"};function nz(e){return iS.isInstance(e,nF.$type)}tA(nz,"isNegation");var nG={$type:"NumberLiteral",value:"value"};function nq(e){return iS.isInstance(e,nG.$type)}tA(nq,"isNumberLiteral");var nK={$type:"Parameter",name:"name"};function nU(e){return iS.isInstance(e,nK.$type)}tA(nU,"isParameter");var nW={$type:"ParameterReference",parameter:"parameter"};function nV(e){return iS.isInstance(e,nW.$type)}tA(nV,"isParameterReference");var nB={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function nH(e){return iS.isInstance(e,nB.$type)}tA(nH,"isParserRule");var nY={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function nX(e){return iS.isInstance(e,nY.$type)}tA(nX,"isReferenceType");var nJ={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function nQ(e){return iS.isInstance(e,nJ.$type)}tA(nQ,"isRegexToken");var nZ={$type:"ReturnType",name:"name"};function n0(e){return iS.isInstance(e,nZ.$type)}tA(n0,"isReturnType");var n1={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function n2(e){return iS.isInstance(e,n1.$type)}tA(n2,"isRuleCall");var n3={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function n9(e){return iS.isInstance(e,n3.$type)}tA(n9,"isSimpleType");var n4={$type:"StringLiteral",value:"value"};function n5(e){return iS.isInstance(e,n4.$type)}tA(n5,"isStringLiteral");var n8={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function n7(e){return iS.isInstance(e,n8.$type)}tA(n7,"isTerminalAlternatives");var n6={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function ie(e){return iS.isInstance(e,n6.$type)}tA(ie,"isTerminalElement");var it={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function ir(e){return iS.isInstance(e,it.$type)}tA(ir,"isTerminalGroup");var ii={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function ia(e){return iS.isInstance(e,ii.$type)}tA(ia,"isTerminalRule");var is={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function io(e){return iS.isInstance(e,is.$type)}tA(io,"isTerminalRuleCall");var il={$type:"Type",name:"name",type:"type"};function iu(e){return iS.isInstance(e,il.$type)}tA(iu,"isType");var ic={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function ip(e){return iS.isInstance(e,ic.$type)}tA(ip,"isTypeAttribute");var id={$type:"TypeDefinition"};function ih(e){return iS.isInstance(e,id.$type)}tA(ih,"isTypeDefinition");var im={$type:"UnionType",types:"types"};function ig(e){return iS.isInstance(e,im.$type)}tA(ig,"isUnionType");var iy={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function iv(e){return iS.isInstance(e,iy.$type)}tA(iv,"isUnorderedGroup");var iT={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function iR(e){return iS.isInstance(e,iT.$type)}tA(iR,"isUntilToken");var i$={$type:"ValueLiteral"};function ib(e){return iS.isInstance(e,i$.$type)}tA(ib,"isValueLiteral");var iE={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function iC(e){return iS.isInstance(e,iE.$type)}tA(iC,"isWildcard");var iA=class extends r${static{tA(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:rY.$type,properties:{cardinality:{name:rY.cardinality}},superTypes:[]},AbstractParserRule:{name:rJ.$type,properties:{},superTypes:[rZ.$type,r1.$type]},AbstractRule:{name:rZ.$type,properties:{},superTypes:[]},AbstractType:{name:r1.$type,properties:{},superTypes:[]},Action:{name:r3.$type,properties:{cardinality:{name:r3.cardinality},feature:{name:r3.feature},inferredType:{name:r3.inferredType},operator:{name:r3.operator},type:{name:r3.type,referenceType:r1.$type}},superTypes:[rY.$type]},Alternatives:{name:r4.$type,properties:{cardinality:{name:r4.cardinality},elements:{name:r4.elements,defaultValue:[]}},superTypes:[rY.$type]},ArrayLiteral:{name:r8.$type,properties:{elements:{name:r8.elements,defaultValue:[]}},superTypes:[i$.$type]},ArrayType:{name:r6.$type,properties:{elementType:{name:r6.elementType}},superTypes:[id.$type]},Assignment:{name:nt.$type,properties:{cardinality:{name:nt.cardinality},feature:{name:nt.feature},operator:{name:nt.operator},predicate:{name:nt.predicate},terminal:{name:nt.terminal}},superTypes:[rY.$type]},BooleanLiteral:{name:nn.$type,properties:{true:{name:nn.true,defaultValue:!1}},superTypes:[no.$type,i$.$type]},CharacterRange:{name:na.$type,properties:{cardinality:{name:na.cardinality},left:{name:na.left},lookahead:{name:na.lookahead},parenthesized:{name:na.parenthesized,defaultValue:!1},right:{name:na.right}},superTypes:[n6.$type]},Condition:{name:no.$type,properties:{},superTypes:[]},Conjunction:{name:nu.$type,properties:{left:{name:nu.left},right:{name:nu.right}},superTypes:[no.$type]},CrossReference:{name:np.$type,properties:{cardinality:{name:np.cardinality},deprecatedSyntax:{name:np.deprecatedSyntax,defaultValue:!1},isMulti:{name:np.isMulti,defaultValue:!1},terminal:{name:np.terminal},type:{name:np.type,referenceType:r1.$type}},superTypes:[rY.$type]},Disjunction:{name:nf.$type,properties:{left:{name:nf.left},right:{name:nf.right}},superTypes:[no.$type]},EndOfFile:{name:nm.$type,properties:{cardinality:{name:nm.cardinality}},superTypes:[rY.$type]},Grammar:{name:ny.$type,properties:{imports:{name:ny.imports,defaultValue:[]},interfaces:{name:ny.interfaces,defaultValue:[]},isDeclared:{name:ny.isDeclared,defaultValue:!1},name:{name:ny.name},rules:{name:ny.rules,defaultValue:[]},types:{name:ny.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:nT.$type,properties:{path:{name:nT.path}},superTypes:[]},Group:{name:n$.$type,properties:{cardinality:{name:n$.cardinality},elements:{name:n$.elements,defaultValue:[]},guardCondition:{name:n$.guardCondition},predicate:{name:n$.predicate}},superTypes:[rY.$type]},InferredType:{name:nE.$type,properties:{name:{name:nE.name}},superTypes:[r1.$type]},InfixRule:{name:nA.$type,properties:{call:{name:nA.call},dataType:{name:nA.dataType},inferredType:{name:nA.inferredType},name:{name:nA.name},operators:{name:nA.operators},parameters:{name:nA.parameters,defaultValue:[]},returnType:{name:nA.returnType,referenceType:r1.$type}},superTypes:[rJ.$type]},InfixRuleOperatorList:{name:nk.$type,properties:{associativity:{name:nk.associativity},operators:{name:nk.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:nN.$type,properties:{precedences:{name:nN.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:n_.$type,properties:{attributes:{name:n_.attributes,defaultValue:[]},name:{name:n_.name},superTypes:{name:n_.superTypes,defaultValue:[],referenceType:r1.$type}},superTypes:[r1.$type]},Keyword:{name:nP.$type,properties:{cardinality:{name:nP.cardinality},predicate:{name:nP.predicate},value:{name:nP.value}},superTypes:[rY.$type]},NamedArgument:{name:nO.$type,properties:{calledByName:{name:nO.calledByName,defaultValue:!1},parameter:{name:nO.parameter,referenceType:nK.$type},value:{name:nO.value}},superTypes:[]},NegatedToken:{name:nM.$type,properties:{cardinality:{name:nM.cardinality},lookahead:{name:nM.lookahead},parenthesized:{name:nM.parenthesized,defaultValue:!1},terminal:{name:nM.terminal}},superTypes:[n6.$type]},Negation:{name:nF.$type,properties:{value:{name:nF.value}},superTypes:[no.$type]},NumberLiteral:{name:nG.$type,properties:{value:{name:nG.value}},superTypes:[i$.$type]},Parameter:{name:nK.$type,properties:{name:{name:nK.name}},superTypes:[]},ParameterReference:{name:nW.$type,properties:{parameter:{name:nW.parameter,referenceType:nK.$type}},superTypes:[no.$type]},ParserRule:{name:nB.$type,properties:{dataType:{name:nB.dataType},definition:{name:nB.definition},entry:{name:nB.entry,defaultValue:!1},fragment:{name:nB.fragment,defaultValue:!1},inferredType:{name:nB.inferredType},name:{name:nB.name},parameters:{name:nB.parameters,defaultValue:[]},returnType:{name:nB.returnType,referenceType:r1.$type}},superTypes:[rJ.$type]},ReferenceType:{name:nY.$type,properties:{isMulti:{name:nY.isMulti,defaultValue:!1},referenceType:{name:nY.referenceType}},superTypes:[id.$type]},RegexToken:{name:nJ.$type,properties:{cardinality:{name:nJ.cardinality},lookahead:{name:nJ.lookahead},parenthesized:{name:nJ.parenthesized,defaultValue:!1},regex:{name:nJ.regex}},superTypes:[n6.$type]},ReturnType:{name:nZ.$type,properties:{name:{name:nZ.name}},superTypes:[]},RuleCall:{name:n1.$type,properties:{arguments:{name:n1.arguments,defaultValue:[]},cardinality:{name:n1.cardinality},predicate:{name:n1.predicate},rule:{name:n1.rule,referenceType:rZ.$type}},superTypes:[rY.$type]},SimpleType:{name:n3.$type,properties:{primitiveType:{name:n3.primitiveType},stringType:{name:n3.stringType},typeRef:{name:n3.typeRef,referenceType:r1.$type}},superTypes:[id.$type]},StringLiteral:{name:n4.$type,properties:{value:{name:n4.value}},superTypes:[i$.$type]},TerminalAlternatives:{name:n8.$type,properties:{cardinality:{name:n8.cardinality},elements:{name:n8.elements,defaultValue:[]},lookahead:{name:n8.lookahead},parenthesized:{name:n8.parenthesized,defaultValue:!1}},superTypes:[n6.$type]},TerminalElement:{name:n6.$type,properties:{cardinality:{name:n6.cardinality},lookahead:{name:n6.lookahead},parenthesized:{name:n6.parenthesized,defaultValue:!1}},superTypes:[rY.$type]},TerminalGroup:{name:it.$type,properties:{cardinality:{name:it.cardinality},elements:{name:it.elements,defaultValue:[]},lookahead:{name:it.lookahead},parenthesized:{name:it.parenthesized,defaultValue:!1}},superTypes:[n6.$type]},TerminalRule:{name:ii.$type,properties:{definition:{name:ii.definition},fragment:{name:ii.fragment,defaultValue:!1},hidden:{name:ii.hidden,defaultValue:!1},name:{name:ii.name},type:{name:ii.type}},superTypes:[rZ.$type]},TerminalRuleCall:{name:is.$type,properties:{cardinality:{name:is.cardinality},lookahead:{name:is.lookahead},parenthesized:{name:is.parenthesized,defaultValue:!1},rule:{name:is.rule,referenceType:ii.$type}},superTypes:[n6.$type]},Type:{name:il.$type,properties:{name:{name:il.name},type:{name:il.type}},superTypes:[r1.$type]},TypeAttribute:{name:ic.$type,properties:{defaultValue:{name:ic.defaultValue},isOptional:{name:ic.isOptional,defaultValue:!1},name:{name:ic.name},type:{name:ic.type}},superTypes:[]},TypeDefinition:{name:id.$type,properties:{},superTypes:[]},UnionType:{name:im.$type,properties:{types:{name:im.types,defaultValue:[]}},superTypes:[id.$type]},UnorderedGroup:{name:iy.$type,properties:{cardinality:{name:iy.cardinality},elements:{name:iy.elements,defaultValue:[]}},superTypes:[rY.$type]},UntilToken:{name:iT.$type,properties:{cardinality:{name:iT.cardinality},lookahead:{name:iT.lookahead},parenthesized:{name:iT.parenthesized,defaultValue:!1},terminal:{name:iT.terminal}},superTypes:[n6.$type]},ValueLiteral:{name:i$.$type,properties:{},superTypes:[]},Wildcard:{name:iE.$type,properties:{cardinality:{name:iE.cardinality},lookahead:{name:iE.lookahead},parenthesized:{name:iE.parenthesized,defaultValue:!1}},superTypes:[n6.$type]}}}},iS=new iA;function ik(e){let t=e,r=!1;for(;t;){let e=rD(t.grammarSource,nH);if(e&&e.dataType)t=t.container,r=!0;else if(r)return t;else break}}function ix(e){return new r_(e,e=>rb(e)?e.content:[],{includeRoot:!0})}function iN(e){return ix(e).filter(rE)}function iw(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function i_(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function iI(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}function iP(e,t){if(e.end.linet.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return eH.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.lineeH.After}tA(ik,"getDatatypeNode"),tA(ix,"streamCst"),tA(iN,"flattenCst"),tA(iw,"isChildNode"),tA(i_,"tokenToRange"),tA(iI,"toDocumentSegment"),(a=eH||(eH={}))[a.Before=0]="Before",a[a.After=1]="After",a[a.OverlapFront=2]="OverlapFront",a[a.OverlapBack=3]="OverlapBack",a[a.Inside=4]="Inside",a[a.Outside=5]="Outside",tA(iP,"compareRange"),tA(iD,"inRange");var iO=/^[\w\p{L}]$/u;function iL(e,t,r=iO){if(e){if(t>0){let n=t-e.offset,i=e.text.charAt(n);!r.test(i)&&t--}return iF(e,t)}}function iM(e,t){if(e){let r=iq(e,!0);if(r&&ij(r,t))return r;if(rC(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(ij(r,t))return r}}}}function ij(e,t){return rE(e)&&t.includes(e.tokenType.name)}function iF(e,t){if(rE(e))return e;if(rb(e)){let r=iG(e,t,!1);if(r)return iF(r,t)}}function iz(e,t){if(rE(e))return e;if(rb(e)){let r=iG(e,t,!0);if(r)return iz(r,t)}}function iG(e,t,r){let n,i=0,a=e.content.length-1;for(;i<=a;){let s=Math.floor((i+a)/2),o=e.content[s];if(o.offset<=t&&o.end>t)return o;o.end<=t?(n=r?o:void 0,i=s+1):a=s-1}return n}function iq(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function iK(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e),i=r.content.length-1;for(;naS,findNameAssignment:()=>ak,findNodeForKeyword:()=>aC,findNodeForProperty:()=>a$,findNodesForKeyword:()=>aE,findNodesForKeywordInternal:()=>aA,findNodesForProperty:()=>aR,getActionAtElement:()=>aN,getActionType:()=>aF,getAllReachableRules:()=>am,getAllRulesUsedForCrossReferences:()=>ay,getCrossReferenceTerminal:()=>av,getEntryRule:()=>af,getExplicitRuleType:()=>aM,getHiddenRules:()=>ah,getRuleType:()=>aG,getRuleTypeName:()=>az,getTypeName:()=>aj,isArrayCardinality:()=>a_,isArrayOperator:()=>aI,isCommentTerminal:()=>aT,isDataType:()=>aO,isDataTypeRule:()=>aP,isOptionalCardinality:()=>aw,terminalRegex:()=>aq});var iY=class extends Error{static{tA(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function iX(e,t="Error: Got unexpected value."){throw Error(t)}function iJ(e,t="Error: Condition is violated."){if(!e)throw Error(t)}tA(iX,"assertUnreachable"),tA(iJ,"assertCondition");var iQ={};function iZ(e){return e.charCodeAt(0)}function i0(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function i1(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function i2(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function i3(){throw Error("Internal Error - Should never get here!")}function i9(e){return"Character"===e.type}tk(iQ,{NEWLINE_REGEXP:()=>an,escapeRegExp:()=>ac,getTerminalParts:()=>as,isMultilineComment:()=>ao,isWhitespace:()=>au,partialMatches:()=>ap,partialRegExp:()=>ad,whitespaceCharacters:()=>al}),tA(iZ,"cc"),tA(i0,"insertToSet"),tA(i1,"addFlag"),tA(i2,"ASSERT_EXISTS"),tA(i3,"ASSERT_NEVER_REACH_HERE"),tA(i9,"isCharacter");var i4=[];for(let e=iZ("0");e<=iZ("9");e++)i4.push(e);var i5=[iZ("_")].concat(i4);for(let e=iZ("a");e<=iZ("z");e++)i5.push(e);for(let e=iZ("A");e<=iZ("Z");e++)i5.push(e);var i8=[iZ(" "),iZ("\f"),iZ("\n"),iZ("\r"),iZ(" "),iZ("\v"),iZ(" "),iZ("\xa0"),iZ("\u1680"),iZ("\u2000"),iZ("\u2001"),iZ("\u2002"),iZ("\u2003"),iZ("\u2004"),iZ("\u2005"),iZ("\u2006"),iZ("\u2007"),iZ("\u2008"),iZ("\u2009"),iZ("\u200A"),iZ("\u2028"),iZ("\u2029"),iZ("\u202F"),iZ("\u205F"),iZ("\u3000"),iZ("\uFEFF")],i7=/[0-9a-fA-F]/,i6=/[0-9]/,ae=/[1-9]/,at=class{static{tA(this,"RegExpParser")}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 t=this.disjunction();this.consumeChar("/");let r={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":i1(r,"global");break;case"i":i1(r,"ignoreCase");break;case"m":i1(r,"multiLine");break;case"u":i1(r,"unicode");break;case"y":i1(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}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"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}}i2(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return i3()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;i2(t)}if((!0!==e||void 0!==t)&&i2(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),i2(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):i3()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[iZ("\n"),iZ("\r"),iZ("\u2028"),iZ("\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,t=!1;switch(this.popChar()){case"d":e=i4;break;case"D":e=i4,t=!0;break;case"s":e=i8;break;case"S":e=i8,t=!0;break;case"w":e=i5;break;case"W":e=i5,t=!0}return i2(e)?{type:"Set",value:e,complement:t}:i3()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=iZ("\f");break;case"n":e=iZ("\n");break;case"r":e=iZ("\r");break;case"t":e=iZ(" ");break;case"v":e=iZ("\v")}return i2(e)?{type:"Character",value:e}:i3()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:iZ("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:iZ(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:iZ(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,i9(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,i9(r)){if(r.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}},ar=class{static{tA(this,"BaseRegExpVisitor")}visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},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)}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){}},an=/\r?\n/gm,ai=new at,aa=new class extends ar{static{tA(this,"TerminalRegExpVisitor")}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 t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=ac(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!"\n".match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}};function as(e){try{"string"!=typeof e&&(e=e.source),e=`/${e}/`;let t=ai.pattern(e),r=[];for(let n of t.value.value)aa.reset(e),aa.visit(n),r.push({start:aa.startRegexp,end:aa.endRegex});return r}catch{return[]}}function ao(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),aa.reset(e),aa.visit(ai.pattern(e)),aa.multiline}catch{return!1}}tA(as,"getTerminalParts"),tA(ao,"isMultilineComment");var al="\f\n\r \v \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF".split("");function au(e){let t="string"==typeof e?new RegExp(e):e;return al.some(e=>t.test(e))}function ac(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ap(e,t){let r=ad(e),n=t.match(r);return!!n&&n[0].length>0}function ad(e){"string"==typeof e&&(e=new RegExp(e));let t=e,r=e.source,n=0;function i(){let e="",a;function s(t){e+=r.substr(n,t),n+=t}function o(t){e+="(?:"+r.substr(n,t)+"|$)",n+=t}for(tA(s,"appendRaw"),tA(o,"appendOptional");n",n)-n+1);break;default:o(2)}break;case"[":(a=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((a=a.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(a=/\{\d+,?\d*\}/g).lastIndex=n,(a=a.exec(r))?s(a[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":e+="(?:",n+=3,e+=i()+"|$)";break;case"=":e+="(?=",n+=3,e+=i()+")";break;case"!":a=n,n+=3,i(),e+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,i(),e+=r.substr(a,n-a);break;default:s(r.indexOf(">",n)-n+1),e+=i()+"|$)"}}else s(1),e+=i()+"|$)";break;case")":return++n,e;default:o(1)}return e}return tA(i,"process"),new RegExp(i(),e.flags)}function af(e){return e.rules.find(e=>nH(e)&&e.entry)}function ah(e){return e.rules.filter(e=>ia(e)&&e.hidden)}function am(e,t){let r=new Set,n=af(e);if(!n)return new Set(e.rules);for(let i of[n].concat(ah(e)))ag(i,r,t);let i=new Set;for(let t of e.rules)(r.has(t.name)||ia(t)&&t.hidden)&&i.add(t);return i}function ag(e,t,r){t.add(e.name),rz(e).forEach(e=>{if(n2(e)||r&&io(e)){let n=e.rule.ref;n&&!t.has(n.name)&&ag(n,t,r)}})}function ay(e){let t=new Set;return rz(e).forEach(e=>{nd(e)&&(nH(e.type.ref)&&t.add(e.type.ref),nC(e.type.ref)&&nH(e.type.ref.$container)&&t.add(e.type.ref.$container))}),t}function av(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=ak(e.type.ref);return t?.terminal}}function aT(e){return e.hidden&&!au(aq(e))}function aR(e,t){return e&&t?ab(e,t,e.astNode,!0):[]}function a$(e,t,r){if(!e||!t)return;let n=ab(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function ab(e,t,r,n){if(!n){let r=rD(e.grammarSource,nr);if(r&&r.feature===t)return[e]}return rb(e)&&e.astNode===r?e.content.flatMap(e=>ab(e,t,r,!1)):[]}function aE(e,t){return e?aA(e,t,e?.astNode):[]}function aC(e,t,r){if(!e)return;let n=aA(e,t,e?.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function aA(e,t,r){let n;if(e.astNode!==r)return[];if(nD(e.grammarSource)&&e.grammarSource.value===t)return[e];let i=ix(e).iterator(),a=[];do if(!(n=i.next()).done){let e=n.value;e.astNode===r?nD(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):i.prune()}while(!n.done);return a}function aS(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=rD(e.grammarSource,nr);if(t)return t;e=e.container}}function ak(e){let t=e;return nC(t)&&(r9(t.$container)?t=t.$container.$container:rQ(t.$container)?t=t.$container:iX(t.$container)),ax(e,t,new Map)}function ax(e,t,r){function n(t,n){let i;return rD(t,nr)||(i=ax(n,n,r)),r.set(e,i),i}if(tA(n,"go"),r.has(e))return r.get(e);for(let i of(r.set(e,void 0),rz(t)))if(nr(i)&&"name"===i.feature.toLowerCase())return r.set(e,i),i;else if(n2(i)&&nH(i.rule.ref))return n(i,i.rule.ref);else if(n9(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}function aN(e){let t=e.$container;if(nb(t)){let r=t.elements,n=r.indexOf(e);for(let e=n-1;e>=0;e--){let t=r[e];if(r9(t))return t;{let t=rz(r[e]).find(r9);if(t)return t}}}return rX(t)?aN(t):void 0}function aw(e,t){return"?"===e||"*"===e||nb(t)&&!!t.guardCondition}function a_(e){return"*"===e||"+"===e}function aI(e){return"+="===e}function aP(e){return aD(e,new Set)}function aD(e,t){if(t.has(e))return!0;for(let r of(t.add(e),rz(e)))if(n2(r)){if(!r.rule.ref||nH(r.rule.ref)&&!aD(r.rule.ref,t)||nS(r.rule.ref))return!1}else if(nr(r))return!1;else if(r9(r))return!1;return!!e.definition}function aO(e){return aL(e.type,new Set)}function aL(e,t){if(t.has(e))return!0;if(t.add(e),ne(e)||nX(e))return!1;if(ig(e))return e.types.every(e=>aL(e,t));{if(!n9(e))return!1;if(void 0!==e.primitiveType||void 0!==e.stringType)return!0;if(void 0===e.typeRef)return!1;let r=e.typeRef.ref;return!!iu(r)&&aL(r.type,t)}}function aM(e){if(!ia(e)){if(e.inferredType)return e.inferredType.name;else if(e.dataType)return e.dataType;else if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}function aj(e){if(rQ(e))return nH(e)&&aP(e)?e.name:aM(e)??e.name;if(nI(e)||iu(e)||n0(e))return e.name;if(r9(e)){let t=aF(e);if(t)return t}else if(nC(e))return e.name;throw Error("Cannot get name of Unknown Type")}function aF(e){return e.inferredType?e.inferredType.name:e.type?.ref?aj(e.type.ref):void 0}function az(e){return ia(e)?e.type?.name??"string":nH(e)&&aP(e)?e.name:aM(e)??e.name}function aG(e){return ia(e)?e.type?.name??"string":aM(e)??e.name}function aq(e){let t={s:!1,i:!1,u:!1};return new RegExp(aU(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}tA(au,"isWhitespace"),tA(ac,"escapeRegExp"),tA(ap,"partialMatches"),tA(ad,"partialRegExp"),tA(af,"getEntryRule"),tA(ah,"getHiddenRules"),tA(am,"getAllReachableRules"),tA(ag,"ruleDfs"),tA(ay,"getAllRulesUsedForCrossReferences"),tA(av,"getCrossReferenceTerminal"),tA(aT,"isCommentTerminal"),tA(aR,"findNodesForProperty"),tA(a$,"findNodeForProperty"),tA(ab,"findNodesForPropertyInternal"),tA(aE,"findNodesForKeyword"),tA(aC,"findNodeForKeyword"),tA(aA,"findNodesForKeywordInternal"),tA(aS,"findAssignment"),tA(ak,"findNameAssignment"),tA(ax,"findNameAssignmentInternal"),tA(aN,"getActionAtElement"),tA(aw,"isOptionalCardinality"),tA(a_,"isArrayCardinality"),tA(aI,"isArrayOperator"),tA(aP,"isDataTypeRule"),tA(aD,"isDataTypeRuleInternal"),tA(aO,"isDataType"),tA(aL,"isDataTypeInternal"),tA(aM,"getExplicitRuleType"),tA(aj,"getTypeName"),tA(aF,"getActionType"),tA(az,"getRuleTypeName"),tA(aG,"getRuleType"),tA(aq,"terminalRegex");var aK=/[\s\S]/.source;function aU(e,t){if(n7(e))return aW(e);if(ir(e))return aV(e);if(ns(e))return aY(e);if(io(e)){let t=e.rule.ref;if(!t)throw Error("Missing rule reference.");return aJ(aU(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}if(nj(e))return aH(e);else if(iR(e))return aB(e);else if(nQ(e)){let r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),i=e.regex.substring(r+1);return t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),aJ(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else if(iC(e))return aJ(aK,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});else throw Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}function aW(e){return aJ(e.elements.map(e=>aU(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function aV(e){return aJ(e.elements.map(e=>aU(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function aB(e){return aJ(`${aK}*?${aU(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function aH(e){return aJ(`(?!${aU(e.terminal)})${aK}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function aY(e){return e.right?aJ(`[${aX(e.left)}-${aX(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):aJ(aX(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function aX(e){return ac(e.value)}function aJ(e,t){if(t.parenthesized||t.lookahead||!1!==t.wrap){let r=t.lookahead??(t.parenthesized?"":"?:");e=`(${r}${e})`}return t.cardinality?`${e}${t.cardinality}`:e}function aQ(e){let t=[];for(let r of e.Grammar.rules)ia(r)&&aT(r)&&ao(aq(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:iO}}tA(aU,"abstractElementToRegex"),tA(aW,"terminalAlternativesToRegex"),tA(aV,"terminalGroupToRegex"),tA(aB,"untilTokenToRegex"),tA(aH,"negateTokenToRegex"),tA(aY,"characterRangeToRegex"),tA(aX,"keywordToRegex"),tA(aJ,"withCardinality"),tA(aQ,"createGrammarConfig");var aZ="object"==typeof global&&global&&global.Object===Object&&global,a0="object"==typeof self&&self&&self.Object===Object&&self,a1=aZ||a0||Function("return this")(),a2=a1.Symbol,a3=Object.prototype,a9=a3.hasOwnProperty,a4=a3.toString,a5=a2?a2.toStringTag:void 0;function a8(e){var t=a9.call(e,a5),r=e[a5];try{e[a5]=void 0;var n=!0}catch(e){}var i=a4.call(e);return n&&(t?e[a5]=r:delete e[a5]),i}tA(a8,"getRawTag");var a7=Object.prototype.toString;function a6(e){return a7.call(e)}tA(a6,"objectToString");var se=a2?a2.toStringTag:void 0;function st(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":se&&se in Object(e)?a8(e):a6(e)}function sr(e){return null!=e&&"object"==typeof e}function sn(e){return"symbol"==typeof e||sr(e)&&"[object Symbol]"==st(e)}function si(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function sB(e){return function(){return e}}tA(sV,"shortOut"),tA(sB,"constant");var sH=function(){try{var e=sj(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),sY=sV(sH?function(e,t){return sH(e,"toString",{configurable:!0,enumerable:!1,value:sB(t),writable:!0})}:sC);function sX(e,t){for(var r=-1,n=null==e?0:e.length;++r-1}tA(sX,"arrayEach"),tA(sJ,"baseFindIndex"),tA(sQ,"baseIsNaN"),tA(sZ,"strictIndexOf"),tA(s0,"baseIndexOf"),tA(s1,"arrayIncludes");var s2=/^(?:0|[1-9]\d*)$/;function s3(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&s2.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff}function on(e){return null!=e&&or(e.length)&&!sA(e)}function oi(e,t,r){if(!sh(r))return!1;var n=typeof t;return("number"==n?!!(on(r)&&s3(t,r.length)):"string"==n&&t in r)&&s4(r[t],e)}function oa(e){return ot(function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,s&&oi(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),t=Object(t);++n-1}function o4(e,t){var r=this.__data__,n=o0(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function o5(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t0&&r(o)?t>1?lR(o,t-1,r,n,i):ly(i,o):n||(i[i.length]=o)}return i}function l$(e){return(null==e?0:e.length)?lR(e,1):[]}tA(lT,"isFlattenable"),tA(lR,"baseFlatten"),tA(l$,"flatten");var lb=ow(Object.getPrototypeOf,Object);function lE(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var a=Array(i);++no))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,d=!0,f=2&r?new ux:void 0;for(a.set(e,t),a.set(t,e);++p2?t[2]:void 0;for(i&&oi(t[0],t[1],i)&&(n=1);++r=200&&(a=uw,s=!1,t=new ux(t));t:for(;++i-1?i[a?t[s]:s]:void 0}}tA(cu,"last"),tA(cc,"drop"),tA(cp,"dropRight"),tA(cd,"castFunction"),tA(cf,"forEach"),tA(ch,"arrayEvery"),tA(cm,"baseEvery"),tA(cg,"every"),tA(cy,"baseFilter"),tA(cv,"filter"),tA(cT,"createFind");var cR=Math.max;function c$(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sE(r);return i<0&&(i=cR(n+i,0)),sJ(e,u3(t,3),i)}tA(c$,"findIndex");var cb=cT(c$);function cE(e){return e&&e.length?e[0]:void 0}function cC(e,t){var r=-1,n=on(e)?Array(e.length):[];return u6(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function cA(e,t){return(sa(e)?si:cC)(e,u3(t,3))}function cS(e,t){return lR(cA(e,t),1)}tA(cE,"head"),tA(cC,"baseMap"),tA(cA,"map"),tA(cS,"flatMap");var ck=Object.prototype.hasOwnProperty,cx=ct(function(e,t,r){ck.call(e,r)?e[r].push(t):s9(e,r,[t])}),cN=Object.prototype.hasOwnProperty;function cw(e,t){return null!=e&&cN.call(e,t)}function c_(e,t){return null!=e&&uJ(e,t,cw)}function cI(e){return"string"==typeof e||!sa(e)&&sr(e)&&"[object String]"==st(e)}function cP(e,t){return si(t,function(t){return e[t]})}function cD(e){return null==e?[]:cP(e,oD(e))}tA(cw,"baseHas"),tA(c_,"has"),tA(cI,"isString"),tA(cP,"baseValues"),tA(cD,"values");var cO=Math.max;function cL(e,t,r,n){e=on(e)?e:cD(e),r=r&&!n?sE(r):0;var i=e.length;return r<0&&(r=cO(i+r,0)),cI(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&s0(e,t,r)>-1}tA(cL,"includes");var cM=Math.max;function cj(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sE(r);return i<0&&(i=cM(n+i,0)),s0(e,t,i)}tA(cj,"indexOf");var cF=Object.prototype.hasOwnProperty;function cz(e){if(null==e)return!0;if(on(e)&&(sa(e)||"string"==typeof e||"function"==typeof e.splice||ov(e)||ok(e)||of(e)))return!e.length;var t=l6(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(oo(e))return!oP(e).length;for(var r in e)if(cF.call(e,r))return!1;return!0}function cG(e){return sr(e)&&"[object RegExp]"==st(e)}tA(cz,"isEmpty"),tA(cG,"baseIsRegExp");var cq=oA&&oA.isRegExp,cK=cq?o$(cq):cG;function cU(e){return void 0===e}function cW(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function cV(e,t,r,n){if(!sh(e))return e;t=ld(t,e);for(var i=-1,a=t.length,s=a-1,o=e;null!=o&&++i=200){var u=t?null:c0(e);if(u)return uP(u);s=!1,i=uw,l=new ux}else l=t?[]:o;t:for(;++n{t.accept(e)})}},pe=class extends c6{static{tA(this,"NonTerminal")}constructor(e){super([]),this.idx=1,oL(this,cH(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}},pt=class extends c6{static{tA(this,"Rule")}constructor(e){super(e.definition),this.orgText="",oL(this,cH(e,e=>void 0!==e))}},pr=class extends c6{static{tA(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,oL(this,cH(e,e=>void 0!==e))}},pn=class extends c6{static{tA(this,"Option")}constructor(e){super(e.definition),this.idx=1,oL(this,cH(e,e=>void 0!==e))}},pi=class extends c6{static{tA(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,oL(this,cH(e,e=>void 0!==e))}},pa=class extends c6{static{tA(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,oL(this,cH(e,e=>void 0!==e))}},ps=class extends c6{static{tA(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,oL(this,cH(e,e=>void 0!==e))}},po=class extends c6{static{tA(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,oL(this,cH(e,e=>void 0!==e))}},pl=class extends c6{static{tA(this,"Alternation")}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,oL(this,cH(e,e=>void 0!==e))}},pu=class{static{tA(this,"Terminal")}constructor(e){this.idx=1,oL(this,cH(e,e=>void 0!==e))}accept(e){e.visit(this)}};function pc(e){return cA(e,pp)}function pp(e){function t(e){return cA(e,pp)}if(tA(t,"convertDefinition"),e instanceof pe){let t={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return cI(e.label)&&(t.label=e.label),t}if(e instanceof pr)return{type:"Alternative",definition:t(e.definition)};if(e instanceof pn)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof pi)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof pa)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:pp(new pu({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof po)return{type:"RepetitionWithSeparator",idx:e.idx,separator:pp(new pu({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof ps)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};else if(e instanceof pl)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};else if(e instanceof pu){let t={type:"Terminal",name:e.terminalType.name,label:c8(e.terminalType),idx:e.idx};cI(e.label)&&(t.terminalLabel=e.label);let r=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=cK(r)?r.source:r),t}else if(e instanceof pt)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};else throw Error("non exhaustive match")}tA(pc,"serializeGrammar"),tA(pp,"serializeProduction");var pd=class{static{tA(this,"GAstVisitor")}visit(e){switch(e.constructor){case pe:return this.visitNonTerminal(e);case pr:return this.visitAlternative(e);case pn:return this.visitOption(e);case pi:return this.visitRepetitionMandatory(e);case pa:return this.visitRepetitionMandatoryWithSeparator(e);case po:return this.visitRepetitionWithSeparator(e);case ps:return this.visitRepetition(e);case pl:return this.visitAlternation(e);case pu:return this.visitTerminal(e);case pt:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function pf(e){return e instanceof pr||e instanceof pn||e instanceof ps||e instanceof pi||e instanceof pa||e instanceof po||e instanceof pu||e instanceof pt}function ph(e,t=[]){return e instanceof pn||e instanceof ps||e instanceof po||(e instanceof pl?cZ(e.definition,e=>ph(e,t)):!(e instanceof pe&&cL(t,e))&&e instanceof c6&&(e instanceof pe&&t.push(e),cg(e.definition,e=>ph(e,t))))}function pm(e){return e instanceof pl}function pg(e){if(e instanceof pe)return"SUBRULE";if(e instanceof pn)return"OPTION";if(e instanceof pl)return"OR";if(e instanceof pi)return"AT_LEAST_ONE";if(e instanceof pa)return"AT_LEAST_ONE_SEP";else if(e instanceof po)return"MANY_SEP";else if(e instanceof ps)return"MANY";else if(e instanceof pu)return"CONSUME";else throw Error("non exhaustive match")}tA(pf,"isSequenceProd"),tA(ph,"isOptionalProd"),tA(pm,"isBranchingProd"),tA(pg,"getProductionDslName");var py=class{static{tA(this,"RestWalker")}walk(e,t=[]){cf(e.definition,(r,n)=>{let i=cc(e.definition,n+1);if(r instanceof pe)this.walkProdRef(r,i,t);else if(r instanceof pu)this.walkTerminal(r,i,t);else if(r instanceof pr)this.walkFlat(r,i,t);else if(r instanceof pn)this.walkOption(r,i,t);else if(r instanceof pi)this.walkAtLeastOne(r,i,t);else if(r instanceof pa)this.walkAtLeastOneSep(r,i,t);else if(r instanceof po)this.walkManySep(r,i,t);else if(r instanceof ps)this.walkMany(r,i,t);else if(r instanceof pl)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new pn({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=pv(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new pn({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=pv(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);cf(e.definition,e=>{let t=new pr({definition:[e]});this.walk(t,n)})}};function pv(e,t,r){return[new pn({definition:[new pu({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function pT(e){if(e instanceof pe)return pT(e.referencedRule);if(e instanceof pu)return pb(e);if(pf(e))return pR(e);if(pm(e))return p$(e);throw Error("non exhaustive match")}function pR(e){let t,r=[],n=e.definition,i=0,a=n.length>i,s=!0;for(;a&&s;)s=ph(t=n[i]),r=r.concat(pT(t)),i+=1,a=n.length>i;return c2(r)}function p$(e){return c2(l$(cA(e.definition,e=>pT(e))))}function pb(e){return[e.terminalType]}tA(pv,"restForRepetitionWithSeparator"),tA(pT,"first"),tA(pR,"firstForSequence"),tA(p$,"firstForBranching"),tA(pb,"firstForTerminal");var pE="_~IN~_",pC=class extends py{static{tA(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){let n=pS(e.referencedRule,e.idx)+this.topProd.name,i=pT(new pr({definition:t.concat(r)}));this.follows[n]=i}};function pA(e){let t={};return cf(e,e=>{oL(t,new pC(e).startWalking())}),t}function pS(e,t){return e.name+t+pE}tA(pA,"computeAllProdsFollows"),tA(pS,"buildBetweenProdsFollowPrefix");var pk={},px=new at;function pN(e){let t=e.toString();if(pk.hasOwnProperty(t))return pk[t];{let e=px.pattern(t);return pk[t]=e,e}}function pw(){pk={}}tA(pN,"getRegExpAst"),tA(pw,"clearRegExpParserCache");var p_="Complement Sets are not supported for first char optimization",pI='Unable to use "first char" lexer optimizations:\n';function pP(e,t=!1){try{let t=pN(e);return pD(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===p_)t&&c9(`${pI} Unable to optimize: < ${e.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 r="";t&&(r="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),c3(`${pI} Failed parsing: < ${e.toString()} > Using the @chevrotain/regexp-to-ast library Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function pD(e,t,r){switch(e.type){case"Disjunction":for(let n=0;n{if("number"==typeof e)pO(e,t,r);else if(!0===r)for(let n=e.from;n<=e.to;n++)pO(n,t,r);else{for(let n=e.from;n<=e.to&&n=dd){let r=e.from>=dd?e.from:dd,n=e.to,i=dh(r),a=dh(n);for(let e=i;e<=a;e++)t[e]=e}}});break;case"Group":pD(i.value,t,r);break;default:throw Error("Non Exhaustive Match")}let a=void 0!==i.quantifier&&0===i.quantifier.atLeast;if("Group"===i.type&&!1===pj(i)||"Group"!==i.type&&!1===a)break}break;default:throw Error("non exhaustive match!")}return cD(t)}function pO(e,t,r){let n=dh(e);t[n]=n,!0===r&&pL(e,t)}function pL(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=dh(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=dh(e.charCodeAt(0));t[r]=r}}}function pM(e,t){return cb(e.value,e=>"number"==typeof e?cL(t,e):void 0!==cb(t,t=>e.from<=t&&t<=e.to))}function pj(e){let t=e.quantifier;return!!t&&0===t.atLeast||!!e.value&&(sa(e.value)?cg(e.value,pj):pj(e.value))}tA(pP,"getOptimizedStartCodesIndices"),tA(pD,"firstCharOptimizedIndices"),tA(pO,"addOptimizedIdxToResult"),tA(pL,"handleIgnoreCase"),tA(pM,"findCode"),tA(pj,"isWholeOptional");var pF=class extends ar{static{tA(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){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){cL(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===pM(e,this.targetCharCodes)&&(this.found=!0):void 0!==pM(e,this.targetCharCodes)&&(this.found=!0)}};function pz(e,t){if(!(t instanceof RegExp))return void 0!==cb(t,t=>cL(e,t.charCodeAt(0)));{let r=pN(t),n=new pF(e);return n.visit(r),n.found}}tA(pz,"canMatchCharCode");var pG="PATTERN",pq="defaultMode",pK="modes",pU="boolean"==typeof RegExp("(?:)").sticky;function pW(e,t){let r,n,i,a,s,o,l,u,c,p,d,f,h=(t=ci(t,{useSticky:pU,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:tA((e,t)=>t(),"tracer")})).tracer;h("initCharCodeToOptimizedIndexMap",()=>{dm()}),h("Reject Lexer.NA",()=>{r=cJ(e,e=>e[pG]===dP.NA)});let m=!1;h("Transform Patterns",()=>{m=!1,n=cA(r,e=>{let r=e[pG];if(cK(r)){let e=r.source;return 1!==e.length||"^"===e||"$"===e||"."===e||r.ignoreCase?2!==e.length||"\\"!==e[0]||cL(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?t.useSticky?de(r):p6(r):e[1]:e}if(sA(r))return m=!0,{exec:r};if("object"==typeof r)return m=!0,r;if("string"==typeof r)if(1===r.length)return r;else{let e=new RegExp(r.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"));return t.useSticky?de(e):p6(e)}throw Error("non exhaustive match")})}),h("misc mapping",()=>{i=cA(r,e=>e.tokenTypeIdx),a=cA(r,e=>{let t=e.GROUP;if(t!==dP.SKIPPED){if(cI(t))return t;if(cU(t))return!1;throw Error("non exhaustive match")}}),s=cA(r,e=>{let t=e.LONGER_ALT;if(t)return sa(t)?cA(t,e=>cj(r,e)):[cj(r,t)]}),o=cA(r,e=>e.PUSH_MODE),l=cA(r,e=>c_(e,"POP_MODE"))}),h("Line Terminator Handling",()=>{let e=dc(t.lineTerminatorCharacters);u=cA(r,e=>!1),"onlyOffset"!==t.positionTracking&&(u=cA(r,t=>c_(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===dl(t,e)&&pz(e,t.PATTERN)))}),h("Misc Mapping #2",()=>{c=cA(r,di),p=cA(n,da),d=cX(r,(e,t)=>{let r=t.GROUP;return cI(r)&&r!==dP.SKIPPED&&(e[r]=[]),e},{}),f=cA(n,(e,t)=>({pattern:n[t],longerAlt:s[t],canLineTerminator:u[t],isCustom:c[t],short:p[t],group:a[t],push:o[t],pop:l[t],tokenTypeIdx:i[t],tokenType:r[t]}))});let g=!0,y=[];return t.safeMode||h("First Char Optimization",()=>{y=cX(r,(e,r,n)=>{if("string"==typeof r.PATTERN)dp(e,dh(r.PATTERN.charCodeAt(0)),f[n]);else if(sa(r.START_CHARS_HINT)){let t;cf(r.START_CHARS_HINT,r=>{let i=dh("string"==typeof r?r.charCodeAt(0):r);t!==i&&(t=i,dp(e,i,f[n]))})}else if(cK(r.PATTERN))if(r.PATTERN.unicode)g=!1,t.ensureOptimizations&&c3(`${pI} Unable to analyze < ${r.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 i=pP(r.PATTERN,t.ensureOptimizations);cz(i)&&(g=!1),cf(i,t=>{dp(e,t,f[n])})}else t.ensureOptimizations&&c3(`${pI} TokenType: <${r.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`),g=!1;return e},[])}),{emptyGroups:d,patternIdxToConfig:f,charCodeToPatternIdxToConfig:y,hasCustom:m,canBeOptimized:g}}function pV(e,t){let r=[],n=pH(e);r=r.concat(n.errors);let i=pY(n.valid),a=i.valid;return(r=(r=(r=(r=r.concat(i.errors)).concat(pB(a))).concat(p3(a))).concat(p9(a,t))).concat(p4(a))}function pB(e){let t=[],r=cv(e,e=>cK(e[pG]));return(t=(t=(t=(t=t.concat(pJ(r))).concat(p0(r))).concat(p1(r))).concat(p2(r))).concat(pQ(r))}function pH(e){let t=cv(e,e=>!c_(e,pG));return{errors:cA(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:eY.MISSING_PATTERN,tokenTypes:[e]})),valid:cl(e,t)}}function pY(e){let t=cv(e,e=>{let t=e[pG];return!cK(t)&&!sA(t)&&!c_(t,"exec")&&!cI(t)});return{errors:cA(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:eY.INVALID_PATTERN,tokenTypes:[e]})),valid:cl(e,t)}}tA(pW,"analyzeTokenTypes"),tA(pV,"validatePatterns"),tA(pB,"validateRegExpPattern"),tA(pH,"findMissingPatterns"),tA(pY,"findInvalidPatterns");var pX=/[^\\][$]/;function pJ(e){class t extends ar{static{tA(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return cA(cv(e,e=>{let r=e.PATTERN;try{let e=pN(r),n=new t;return n.visit(e),n.found}catch(e){return pX.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function pQ(e){return cA(cv(e,e=>e.PATTERN.test("")),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:eY.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}tA(pJ,"findEndOfInputAnchor"),tA(pQ,"findEmptyMatchRegExps");var pZ=/[^\\[][\^]|^\^/;function p0(e){class t extends ar{static{tA(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return cA(cv(e,e=>{let r=e.PATTERN;try{let e=pN(r),n=new t;return n.visit(e),n.found}catch(e){return pZ.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function p1(e){return cA(cv(e,e=>{let t=e[pG];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:eY.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function p2(e){let t=[],r=cA(e,r=>cX(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||cL(t,n)||n.PATTERN===dP.NA||(t.push(n),e.push(n)),e),[]));return cA(cv(r=uA(r),e=>e.length>1),e=>{let t=cA(e,e=>e.name),r=cE(e).PATTERN;return{message:`The same RegExp pattern ->${r}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:eY.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function p3(e){return cA(cv(e,e=>{if(!c_(e,"GROUP"))return!1;let t=e.GROUP;return t!==dP.SKIPPED&&t!==dP.NA&&!cI(t)}),e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:eY.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function p9(e,t){return cA(cv(e,e=>void 0!==e.PUSH_MODE&&!cL(t,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:eY.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function p4(e){let t=[],r=cX(e,(e,t,r)=>{let n=t.PATTERN;return n===dP.NA||(cI(n)?e.push({str:n,idx:r,tokenType:t}):cK(n)&&p8(n)&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return cf(e,(e,n)=>{cf(r,({str:r,idx:i,tokenType:a})=>{if(n${a.name}<- can never be matched. Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:r,type:eY.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}function p5(e,t){if(cK(t)){if(p7(t))return!1;let r=t.exec(e);return null!==r&&0===r.index}if(sA(t))return t(e,0,[],{});if(c_(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function p8(e){return void 0===cb([".","\\","[","]","|","^","$","(",")","?","*","+","{"],t=>-1!==e.source.indexOf(t))}function p7(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition\n",type:eY.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),c_(e,pK)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+pK+"> property in its definition\n",type:eY.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),c_(e,pK)&&c_(e,pq)&&!c_(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${pq}: <${e.defaultMode}>which does not exist `,type:eY.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),c_(e,pK)&&cf(e.modes,(e,t)=>{cf(e,(r,i)=>{cU(r)?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}> `,type:eY.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):c_(r,"LONGER_ALT")&&cf(sa(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT],i=>{cU(i)||cL(e,i)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${t}> `,type:eY.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function dr(e,t,r){let n=[],i=!1,a=cJ(uA(l$(cD(e.modes))),e=>e[pG]===dP.NA),s=dc(r);return t&&cf(a,e=>{let t=dl(e,s);if(!1!==t){let r={message:du(e,t),type:t.issue,tokenType:e};n.push(r)}else c_(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):pz(s,e.PATTERN)&&(i=!0)}),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:eY.NO_LINE_BREAKS_FLAGS}),n}function dn(e){let t={};return cf(oD(e),r=>{if(sa(e[r]))t[r]=[];else throw Error("non exhaustive match")}),t}function di(e){let t=e.PATTERN;if(cK(t))return!1;if(sA(t))return!0;if(c_(t,"exec"))return!0;if(cI(t))return!1;throw Error("non exhaustive match")}function da(e){return!!cI(e)&&1===e.length&&e.charCodeAt(0)}tA(p0,"findStartOfInputAnchor"),tA(p1,"findUnsupportedFlags"),tA(p2,"findDuplicatePatterns"),tA(p3,"findInvalidGroupType"),tA(p9,"findModesThatDoNotExist"),tA(p4,"findUnreachablePatterns"),tA(p5,"tryToMatchStrToPattern"),tA(p8,"noMetaChar"),tA(p7,"usesLookAheadOrBehind"),tA(p6,"addStartOfInput"),tA(de,"addStickyFlag"),tA(dt,"performRuntimeChecks"),tA(dr,"performWarningRuntimeChecks"),tA(dn,"cloneEmptyGroups"),tA(di,"isCustomPattern"),tA(da,"isShortPattern");var ds={test:tA(function(e){let t=e.length;for(let r=this.lastIndex;r Token Type Root cause: ${t.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===eY.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${e.name}> Token Type For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function dc(e){return cA(e,e=>cI(e)?e.charCodeAt(0):e)}function dp(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}tA(dl,"checkLineBreaksIssues"),tA(du,"buildLineBreakIssueMessage"),tA(dc,"getCharCodes"),tA(dp,"addToMapOfArrays");var dd=256,df=[];function dh(e){return e255?255+~~(e/255):e}}function dg(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function dy(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}tA(dh,"charCodeToOptimizedIndex"),tA(dm,"initCharCodeToOptimizedIndexMap"),tA(dg,"tokenStructuredMatcher"),tA(dy,"tokenStructuredMatcherNoCategories");var dv=1,dT={};function dR(e){let t=d$(e);db(t),dC(t),dE(t),cf(t,e=>{e.isParent=e.categoryMatches.length>0})}function d$(e){let t=uC(e),r=e,n=!0;for(;n;){let e=cl(r=uA(l$(cA(r,e=>e.CATEGORIES))),t);t=t.concat(e),cz(e)?n=!1:r=e}return t}function db(e){cf(e,e=>{dS(e)||(dT[dv]=e,e.tokenTypeIdx=dv++),dk(e)&&!sa(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),dk(e)||(e.CATEGORIES=[]),dx(e)||(e.categoryMatches=[]),dN(e)||(e.categoryMatchesMap={})})}function dE(e){cf(e,e=>{e.categoryMatches=[],cf(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(dT[r].tokenTypeIdx)})})}function dC(e){cf(e,e=>{dA([],e)})}function dA(e,t){cf(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),cf(t.CATEGORIES,r=>{let n=e.concat(t);cL(n,r)||dA(n,r)})}function dS(e){return c_(e,"tokenTypeIdx")}function dk(e){return c_(e,"CATEGORIES")}function dx(e){return c_(e,"categoryMatches")}function dN(e){return c_(e,"categoryMatchesMap")}function dw(e){return c_(e,"tokenTypeIdx")}tA(dR,"augmentTokenTypes"),tA(d$,"expandCategories"),tA(db,"assignTokenDefaultProps"),tA(dE,"assignCategoriesTokensProp"),tA(dC,"assignCategoriesMapProp"),tA(dA,"singleAssignCategoriesToksMap"),tA(dS,"hasShortKeyProperty"),tA(dk,"hasCategoriesProperty"),tA(dx,"hasExtendingTokensTypesProperty"),tA(dN,"hasExtendingTokensTypesMapProperty"),tA(dw,"isTokenType");var d_={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i,a)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};(o=eY||(eY={}))[o.MISSING_PATTERN=0]="MISSING_PATTERN",o[o.INVALID_PATTERN=1]="INVALID_PATTERN",o[o.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",o[o.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",o[o.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",o[o.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",o[o.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",o[o.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",o[o.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",o[o.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",o[o.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",o[o.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",o[o.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",o[o.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",o[o.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",o[o.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",o[o.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",o[o.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";var dI={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:d_,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(dI);var dP=class{static{tA(this,"Lexer")}constructor(e,t=dI){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=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent,this.traceInitMaxIdent;let{time:n,value:i}=c4(t),a=n>10?console.warn:console.log;return this.traceInitIndent time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=oL({},dI,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===dI.lineTerminatorsPattern)this.config.lineTerminatorsPattern=ds;else if(this.config.lineTerminatorCharacters===dI.lineTerminatorCharacters)throw Error("Error: Missing property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.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),sa(e)?r={modes:{defaultMode:uC(e)},defaultMode:pq}:(n=!1,r=uC(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(dt(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(dr(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes?r.modes:{},cf(r.modes,(e,t)=>{r.modes[t]=cJ(e,e=>cU(e))});let i=oD(r.modes);if(cf(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(pV(e,i))}),cz(this.lexerDefinitionErrors)){let n;dR(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=pW(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=oL({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!cz(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+cA(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));cf(this.lexerDefinitionWarning,e=>{c9(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(pU?(this.chopInput=sC,this.match=this.matchWithTest):(this.updateLastIndex=sK,this.match=this.matchWithExec),n&&(this.handleModes=sK),!1===this.trackStartLines&&(this.computeNewColumn=sC),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=sK),/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 e=cX(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!cz(e))throw Error(`Lexer Modes: < ${e.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",()=>{pw()}),this.TRACE_INIT("toFastProperties",()=>{c5(this)})})}tokenize(e,t=this.defaultMode){if(!cz(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+cA(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,i,a,s,o,l,u,c,p,d,f,h,m,g,y,v,T=e,R=T.length,$=0,b=0,E=Array(this.hasCustom?0:Math.floor(e.length/10)),C=[],A=this.trackStartLines?1:void 0,S=this.trackStartLines?1:void 0,k=dn(this.emptyGroups),x=this.trackStartLines,N=this.config.lineTerminatorsPattern,w=0,_=[],I=[],P=[],D=[];function O(){return _}function L(e){let t=I[dh(e)];return void 0===t?D:t}Object.freeze(D),tA(O,"getPossiblePatternsSlow"),tA(L,"getPossiblePatternsOptimized");let M=tA(e=>{if(1===P.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);C.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{P.pop();let e=cu(P);_=this.patternIdxToConfig[e],I=this.charCodeToPatternIdxToConfig[e],w=_.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;y=I&&t?L:O}},"pop_mode");function j(e){P.push(e),I=this.charCodeToPatternIdxToConfig[e],w=(_=this.patternIdxToConfig[e]).length,w=_.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;y=I&&t?L:O}tA(j,"push_mode"),j.call(this,t);let F=this.config.recoveryEnabled;for(;$o.length){o=a,l=u,v=t;break}}}break}}if(null!==o){if(c=o.length,void 0!==(p=v.group)&&(d=v.tokenTypeIdx,f=this.createTokenInstance(o,$,d,v.tokenType,A,S,c),this.handlePayload(f,l),!1===p?b=this.addToken(E,b,f):k[p].push(f)),e=this.chopInput(e,c),$+=c,S=this.computeNewColumn(S,c),!0===x&&!0===v.canLineTerminator){let e,t,r=0;N.lastIndex=0;do!0===(e=N.test(o))&&(t=N.lastIndex-1,r++);while(!0===e);0!==r&&(A+=r,S=c-t,this.updateTokenEndLineColumnLocation(f,p,t,r,A,S,c))}this.handleModes(v,M,j,f)}else{let t=$,r=A,i=S,a=!1===F;for(;!1===a&&$ ${dD(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${i} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",s="\nbut found: '"+cE(t).image+"'";if(n)return a+n+s;{let t=cA(cX(e,(e,t)=>e.concat(t),[]),e=>`[${cA(e,e=>dD(e)).join(", ")}]`),r=cA(t,(e,t)=>` ${t+1}. ${e}`);return a+`one of these possible Token sequences: ${r.join("\n")}`+s}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let i="Expecting: ",a="\nbut found: '"+cE(t).image+"'";if(r)return i+r+a;{let t=cA(e,e=>`[${cA(e,e=>dD(e)).join(",")}]`);return i+`expecting at least one iteration which starts with one of these possible Token sequences:: <${t.join(" ,")}>`+a}}};Object.freeze(dY);var dX={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},dJ={buildDuplicateFoundError(e,t){function r(e){return e instanceof pu?e.terminalType.name:e instanceof pe?e.nonTerminalName:""}tA(r,"getExtraProductionArgument");let n=e.name,i=cE(t),a=i.idx,s=pg(i),o=r(i),l=`->${s}${a>0?a:""}<- ${o?`with argument: ->${o}<-`:""} appears more than once (${t.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return(l=l.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar. The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.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(e){let t=cA(e.prefixPath,e=>dD(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${e.topLevelRule.name}> Rule, <${t}> 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(e){let t=cA(e.prefixPath,e=>dD(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in inside <${e.topLevelRule.name}> Rule, <${t}> may appears as a prefix path in all these alternatives. `;return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`},buildEmptyRepetitionError(e){let t=pg(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in inside <${e.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives: inside <${e.topLevelRule.name}> Rule. has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,r=cA(e.leftRecursionPath,e=>e.name),n=`${t} --> ${r.concat([t]).join(" --\x3e ")}`;return`Left Recursion found in grammar. rule: <${t}> 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:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof pt?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function dQ(e,t){let r=new dZ(e,t);return r.resolveRefs(),r.errors}tA(dQ,"resolveGrammar");var dZ=class extends pd{static{tA(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){cf(cD(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:eQ.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},d0=class extends py{static{tA(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,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=uC(this.path.ruleStack).reverse(),this.occurrenceStack=uC(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){cz(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},d1=class extends d0{static{tA(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new pr({definition:t.concat(r)});this.possibleTokTypes=pT(e),this.found=!0}}},d2=class extends py{static{tA(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},d3=class extends d2{static{tA(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){let e=cE(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pu&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}},d9=class extends d2{static{tA(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){let e=cE(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pu&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}},d4=class extends d2{static{tA(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let e=cE(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pu&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}},d5=class extends d2{static{tA(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let e=cE(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pu&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}};function d8(e,t,r=[]){r=uC(r);let n=[],i=0;function a(t){return t.concat(cc(e,i+1))}function s(e){let i=d8(a(e),t,r);return n.concat(i)}for(tA(a,"remainingPathWith"),tA(s,"getAlternativesForProd");r.length{!1===cz(e.definition)&&(n=s(e.definition))}),n;else if(t instanceof pu)r.push(t.terminalType);else throw Error("non exhaustive match");i++}return n.push({partialPath:r,suffixDef:cc(e,i)}),n}function d7(e,t,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],p=[];for(p.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!cz(p);){let e=p.pop();if(e===s){o&&cu(p).idx<=u&&p.pop();continue}let n=e.def,d=e.idx,f=e.ruleStack,h=e.occurrenceStack;if(cz(n))continue;let m=n[0];if(m===i){let e={idx:d,def:cc(n),ruleStack:cp(f),occurrenceStack:cp(h)};p.push(e)}else if(m instanceof pu)if(d=0;e--){let t={idx:d,def:m.definition[e].definition.concat(cc(n)),ruleStack:f,occurrenceStack:h};p.push(t),p.push(s)}else if(m instanceof pr)p.push({idx:d,def:m.definition.concat(cc(n)),ruleStack:f,occurrenceStack:h});else if(m instanceof pt)p.push(d6(m,d,f,h));else throw Error("non exhaustive match")}return c}function d6(e,t,r,n){let i=uC(r);i.push(e.name);let a=uC(n);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}function fe(e){if(e instanceof pn||"Option"===e)return eX.OPTION;if(e instanceof ps||"Repetition"===e)return eX.REPETITION;if(e instanceof pi||"RepetitionMandatory"===e)return eX.REPETITION_MANDATORY;if(e instanceof pa||"RepetitionMandatoryWithSeparator"===e)return eX.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof po||"RepetitionWithSeparator"===e)return eX.REPETITION_WITH_SEPARATOR;else if(e instanceof pl||"Alternation"===e)return eX.ALTERNATION;else throw Error("non exhaustive match")}function ft(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,a=fe(n);return a===eX.ALTERNATION?fd(t,r,i):ff(t,r,a,i)}function fr(e,t,r,n,i,a){let s=fd(e,t,r),o=fg(s)?dy:dg;return a(s,n,o,i)}function fn(e,t,r,n,i,a){let s=ff(e,t,i,r),o=fg(s)?dy:dg;return a(s[0],o,n)}function fi(e,t,r,n){let i=e.length,a=cg(e,e=>cg(e,e=>1===e.length));if(t)return function(t){let n=cA(t,e=>e.GATE);for(let t=0;tl$(e)),(e,t,r)=>(cf(t,t=>{c_(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),cf(t.categoryMatches,t=>{c_(e,t)||(e[t]=r)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}}function fa(e,t,r){let n=cg(e,e=>1===e.length),i=e.length;if(!n||r)return function(){r:for(let r=0;r(e[t.tokenTypeIdx]=!0,cf(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}tA(d8,"possiblePathsFrom"),tA(d7,"nextPossibleTokensAfter"),tA(d6,"expandTopLevelRule"),(l=eX||(eX={}))[l.OPTION=0]="OPTION",l[l.REPETITION=1]="REPETITION",l[l.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",l[l.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",l[l.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",l[l.ALTERNATION=5]="ALTERNATION",tA(fe,"getProdType"),tA(ft,"getLookaheadPaths"),tA(fr,"buildLookaheadFuncForOr"),tA(fn,"buildLookaheadFuncForOptionalProd"),tA(fi,"buildAlternativesLookAheadFunc"),tA(fa,"buildSingleAlternativeLookaheadFunction");var fs=class extends py{static{tA(this,"RestDefinitionFinderWalker")}constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,eX.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,eX.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,eX.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,eX.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,eX.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},fo=class extends pd{static{tA(this,"InsideDefinitionFinderVisitor")}constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,eX.OPTION)}visitRepetition(e){this.checkIsTarget(e,eX.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,eX.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,eX.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,eX.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,eX.ALTERNATION)}};function fl(e){let t=Array(e);for(let r=0;rd8([e],1)),n=fl(r.length),i=cA(r,e=>{let t={};return cf(e,e=>{cf(fu(e.partialPath),e=>{t[e]=!0})}),t}),a=r;for(let e=1;e<=t;e++){let r=a;a=fl(r.length);for(let s=0;s{cf(fu(e.partialPath),e=>{i[s][e]=!0})})}}}}return n}function fd(e,t,r,n){let i=new fo(e,eX.ALTERNATION,n);return t.accept(i),fp(i.result,r)}function ff(e,t,r,n){let i=new fo(e,r);t.accept(i);let a=i.result,s=new fs(t,e,r).startWalking();return fp([new pr({definition:a}),new pr({definition:s})],n)}function fh(e,t){n:for(let r=0;r{let n=t[r];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]})}function fg(e){return cg(e,e=>cg(e,e=>cg(e,e=>cz(e.categoryMatches))))}function fy(e){return cA(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:eQ.CUSTOM_LOOKAHEAD_VALIDATION},e))}function fv(e,t,r,n){let i=cS(e,e=>fT(e,r)),a=fO(e,t,r),s=cS(e,e=>f_(e,r)),o=cS(e,t=>fE(t,e,n,r));return i.concat(a,s,o)}function fT(e,t){let r=new fb;return e.accept(r),cA(cD(cH(cx(r.allProductions,fR),e=>e.length>1)),r=>{let n=cE(r),i=t.buildDuplicateFoundError(e,r),a=pg(n),s={message:i,type:eQ.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:n.idx},o=f$(n);return o&&(s.parameter=o),s})}function fR(e){return`${pg(e)}_#_${e.idx}_#_${f$(e)}`}function f$(e){return e instanceof pu?e.terminalType.name:e instanceof pe?e.nonTerminalName:""}tA(fl,"initializeArrayOfArrays"),tA(fu,"pathToHashKeys"),tA(fc,"isUniquePrefixHash"),tA(fp,"lookAheadSequenceFromAlternatives"),tA(fd,"getLookaheadPathsForOr"),tA(ff,"getLookaheadPathsForOptionalProd"),tA(fh,"containsPath"),tA(fm,"isStrictPrefixOfPath"),tA(fg,"areTokenCategoriesNotUsed"),tA(fy,"validateLookahead"),tA(fv,"validateGrammar"),tA(fT,"validateDuplicateProductions"),tA(fR,"identifyProductionForDuplicates"),tA(f$,"getExtraProductionArgument");var fb=class extends pd{static{tA(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function fE(e,t,r,n){let i=[];if(cX(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:eQ.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}function fC(e,t,r){let n=[];return cL(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:eQ.INVALID_RULE_OVERRIDE,ruleName:e}),n}function fA(e,t,r,n=[]){let i=[],a=fS(t.definition);if(cz(a))return[];{let t=e.name;cL(a,e)&&i.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:eQ.LEFT_RECURSION,ruleName:t});let s=cS(cl(a,n.concat([e])),t=>{let i=uC(n);return i.push(t),fA(e,t,r,i)});return i.concat(s)}}function fS(e){let t=[];if(cz(e))return t;let r=cE(e);if(r instanceof pe)t.push(r.referencedRule);else if(r instanceof pr||r instanceof pn||r instanceof pi||r instanceof pa||r instanceof po||r instanceof ps)t=t.concat(fS(r.definition));else if(r instanceof pl)t=l$(cA(r.definition,e=>fS(e.definition)));else if(r instanceof pu);else throw Error("non exhaustive match");let n=ph(r),i=e.length>1;if(!n||!i)return t;{let r=cc(e);return t.concat(fS(r))}}tA(fE,"validateRuleDoesNotAlreadyExist"),tA(fC,"validateRuleIsOverridden"),tA(fA,"validateNoLeftRecursion"),tA(fS,"getFirstNoneTerminal");var fk=class extends pd{static{tA(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function fx(e,t){let r=new fk;return e.accept(r),cS(r.alternations,r=>cS(cp(r.definition),(n,i)=>cz(d7([n],[],dg,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:eQ.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[]))}function fN(e,t,r){let n=new fk;e.accept(n);let i=n.alternations;return cS(i=cJ(i,e=>!0===e.ignoreAmbiguities),n=>{let i=fd(n.idx,e,n.maxLookahead||t,n),a=fP(i,n,e,r),s=fD(i,n,e,r);return a.concat(s)})}tA(fx,"validateEmptyOrAlternative"),tA(fN,"validateAmbiguousAlternationAlternatives");var fw=class extends pd{static{tA(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function f_(e,t){let r=new fk;return e.accept(r),cS(r.alternations,r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:eQ.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])}function fI(e,t,r){let n=[];return cf(e,e=>{let i=new fw;e.accept(i),cf(i.allProductions,i=>{let a=fe(i),s=i.maxLookahead||t;if(cz(l$(ff(i.idx,e,a,s)[0]))){let t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:t,type:eQ.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}function fP(e,t,r,n){let i=[];return cA(cX(e,(r,n,a)=>(!0===t.definition[a].ignoreAmbiguities||cf(n,n=>{let s=[a];cf(e,(e,r)=>{a!==r&&fh(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),s.length>1&&!fh(i,n)&&(i.push(n),r.push({alts:s,path:n}))}),r),[]),e=>{let i=cA(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eQ.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}function fD(e,t,r,n){let i=cX(e,(e,t,r)=>{let n=cA(t,e=>({idx:r,path:e}));return e.concat(n)},[]);return uA(cS(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let a=e.idx,s=e.path;return cA(cv(i,e=>!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx{let i=[e.idx+1,a+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eQ.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:i}})}))}function fO(e,t,r){let n=[],i=cA(t,e=>e.name);return cf(e,e=>{let t=e.name;if(cL(i,t)){let i=r.buildNamespaceConflictError(e);n.push({message:i,type:eQ.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}function fL(e){let t=ci(e,{errMsgProvider:dX}),r={};return cf(e.rules,e=>{r[e.name]=e}),dQ(r,t.errMsgProvider)}function fM(e){return fv((e=ci(e,{errMsgProvider:dJ})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}tA(f_,"validateTooManyAlts"),tA(fI,"validateSomeNonEmptyLookaheadPath"),tA(fP,"checkAlternativesAmbiguities"),tA(fD,"checkPrefixAlternativesAmbiguities"),tA(fO,"checkTerminalAndNoneTerminalsNameSpace"),tA(fL,"resolveGrammar"),tA(fM,"validateGrammar");var fj="MismatchedTokenException",fF="NoViableAltException",fz="EarlyExitException",fG="NotAllInputParsedException",fq=[fj,fF,fz,fG];function fK(e){return cL(fq,e.name)}Object.freeze(fq),tA(fK,"isRecognitionException");var fU=class extends Error{static{tA(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},fW=class extends fU{static{tA(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=fj}},fV=class extends fU{static{tA(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=fF}},fB=class extends fU{static{tA(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=fG}},fH=class extends fU{static{tA(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=fz}},fY={},fX="InRuleRecoveryException",fJ=class extends Error{static{tA(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=fX}},fQ=class{static{tA(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=c_(e,"recoveryEnabled")?e.recoveryEnabled:hE.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=fZ)}getTokenToInsert(e){let t=dB(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[],o=!1,l=this.LA(1),u=this.LA(1),c=tA(()=>{let e=this.LA(0),t=new fW(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=cp(s),this.SAVE_ERROR(t)},"generateErrorMessage");for(;!o;)if(this.tokenMatcher(u,n))return void c();else if(r.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new fJ("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||cz(t))return!1;let r=this.LA(1);return void 0!==cb(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return cL(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=cb(e,e=>dH(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return fY;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return cA(e,(r,n)=>0===n?fY:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){return l$(cA(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===fY)return[dV];let t=e.ruleName+e.idxInCallingRule+pE+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,dV)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return cp(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:uC(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return cA(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function fZ(e,t,r,n,i,a,s){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,p=l.isEndOfRule;1===this.RULE_STACK.length&&p&&void 0===u&&(u=dV,c=1),void 0!==u&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(u,c,s)&&this.tryInRepetitionRecovery(e,t,r,u)}tA(fZ,"attemptInRepetitionRecovery");function f0(e,t,r){return r|t|e}tA(f0,"getKeyForAutomaticLookahead");var f1=class{static{tA(this,"LLkLookaheadStrategy")}constructor(e){var t;this.maxLookahead=null!=(t=null==e?void 0:e.maxLookahead)?t:hE.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return cz(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return cS(e,e=>fA(e,e,dJ))}validateEmptyOrAlternatives(e){return cS(e,e=>fx(e,dJ))}validateAmbiguousAlternationAlternatives(e,t){return cS(e,e=>fN(e,t,dJ))}validateSomeNonEmptyLookaheadPath(e,t){return fI(e,t,dJ)}buildLookaheadForAlternation(e){return fr(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,fi)}buildLookaheadForOptional(e){return fn(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,fe(e.prodType),fa)}},f2=class{static{tA(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=c_(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:hE.dynamicTokensEnabled,this.maxLookahead=c_(e,"maxLookahead")?e.maxLookahead:hE.maxLookahead,this.lookaheadStrategy=c_(e,"lookaheadStrategy")?e.lookaheadStrategy:new f1({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){cf(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:s}=f9(e);cf(t,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${pg(t)}${r}`,()=>{let r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=f0(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(n,r)})}),cf(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,pg(t))}),cf(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,pg(t))}),cf(i,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,pg(t))}),cf(a,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,pg(t))}),cf(s,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,pg(t))})})})}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=f0(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(s,a)})}getKeyForAutomaticLookahead(e,t){return f0(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},f3=new class extends pd{static{tA(this,"DslMethodsCollectorVisitor")}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)}};function f9(e){f3.reset(),e.accept(f3);let t=f3.dslMethods;return f3.reset(),t}function f4(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffsete.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${t.join("\n\n").replace(/\n/g,"\n ")}`)}},"validateVisitor")},r.prototype.constructor=r,r._RULE_NAMES=t,r}function hr(e,t,r){let n=tA(function(){},"derivedConstructor");f6(n,e+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return cf(t,e=>{i[e]=he}),n.prototype=i,n.prototype.constructor=n,n}function hn(e,t){return hi(e,t)}function hi(e,t){return uA(cA(cv(t,t=>!1===sA(e[t])),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:eJ.MISSING_METHOD,methodName:t})))}tA(f9,"collectMethods"),tA(f4,"setNodeLocationOnlyOffset"),tA(f5,"setNodeLocationFull"),tA(f8,"addTerminalToCst"),tA(f7,"addNoneTerminalToCst"),tA(f6,"defineNameProp"),tA(he,"defaultVisit"),tA(ht,"createBaseSemanticVisitorConstructor"),tA(hr,"createBaseVisitorConstructorWithDefaults"),(u=eJ||(eJ={}))[u.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",u[u.MISSING_METHOD=1]="MISSING_METHOD",tA(hn,"validateVisitor"),tA(hi,"validateMissingCstMethods");var ha=class{static{tA(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=c_(e,"nodeLocationTracking")?e.nodeLocationTracking:hE.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=f5,this.setNodeLocationFromNode=f5,this.cstPostRule=sK,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=sK,this.setNodeLocationFromNode=sK,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=f4,this.setNodeLocationFromNode=f4,this.cstPostRule=sK,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=sK,this.setNodeLocationFromNode=sK,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=sK,this.setNodeLocationFromNode=sK,this.cstPostRule=sK,this.setInitialNodeLocation=sK;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=sK,this.cstFinallyStateUpdate=sK,this.cstPostTerminal=sK,this.cstPostNonTerminal=sK,this.cstPostRule=sK}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 t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];f8(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];f7(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(cU(this.baseCstVisitorConstructor)){let e=ht(this.className,oD(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(cU(this.baseCstVisitorWithDefaultsConstructor)){let e=hr(this.className,oD(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]}},hs=class{static{tA(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)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)):hb}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?hb:this.tokVector[t]}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()}},ho=class{static{tA(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}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,t,r=hC){if(cL(this.definedRulesNames,e)){let t={message:dJ.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:eQ.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=hC){let n=fC(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(e,t,r);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(fK(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return pc(cD(this.gastProductionsCache))}},hl=class{static{tA(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=dy,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},c_(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if(sa(e)){if(cz(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if(sa(e))this.tokensMap=cX(e,(e,t)=>(e[t.name]=t,e),{});else if(c_(e,"modes")&&cg(l$(cD(e.modes)),dw)){let t=c2(l$(cD(e.modes)));this.tokensMap=cX(t,(e,t)=>(e[t.name]=t,e),{})}else if(sh(e))this.tokensMap=uC(e);else throw Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=dV;let r=cg(c_(e,"modes")?l$(cD(e.modes)):cD(e),e=>cz(e.categoryMatches));this.tokenMatcher=r?dy:dg,dR(cD(this.tokensMap))}defineRule(e,t,r){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 n=c_(r,"resyncEnabled")?r.resyncEnabled:hC.resyncEnabled,i=c_(r,"recoveryValueFunc")?r.recoveryValueFunc:hC.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?tA(function(...r){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):tA(function(...r){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(fK(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=tA(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tA(()=>e.call(this)&&t.call(this),"lookAheadFunc")}}else n=t;if(!0===i.call(this)){let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}else throw this.raiseEarlyExitException(e,eX.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,d4)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tA(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,d5],t,1536,e,d5)}else throw this.raiseEarlyExitException(e,eX.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tA(()=>e.call(this)&&t.call(this),"lookaheadFunction")}}else n=t;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,d3,a)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tA(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,d9],t,1280,e,d9)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=sa(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new fB(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw fK(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n,i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new fW(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){if(e.name===fX)throw r;throw e}}throw r}saveRecogState(){let e=this.errors,t=uC(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),dV)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},hu=class{static{tA(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=c_(e,"errorMessageProvider")?e.errorMessageProvider:hE.errorMessageProvider}SAVE_ERROR(e){if(fK(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:uC(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return uC(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=ff(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new fH(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=fd(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new fV(s,this.LA(1),a))}},hc=class{static{tA(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(cU(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return d7([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=cE(e.ruleStack);return new d1(this.getGAstProductions()[t],e).startWalking()}},hp={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(hp);var hd=dU({name:"RECORDING_PHASE_TOKEN",pattern:dP.NA});dR([hd]);var hf=dB(hd,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(hf);var hh={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}},hm=class{static{tA(this,"GastRecorder")}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 t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},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",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return hb}topLevelRuleRecord(e,t){try{let r=new pt({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return hg.call(this,pn,e,t)}atLeastOneInternalRecord(e,t){hg.call(this,pi,t,e)}atLeastOneSepFirstInternalRecord(e,t){hg.call(this,pa,t,e,!0)}manyInternalRecord(e,t){hg.call(this,ps,t,e)}manySepFirstInternalRecord(e,t){hg.call(this,po,t,e,!0)}orInternalRecord(e,t){return hy.call(this,e,t)}subruleInternalRecord(e,t,r){if(hT(t),!e||!1===c_(e,"ruleName")){let r=Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=cu(this.recordingProdStack),i=new pe({idx:t,nonTerminalName:e.ruleName,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?hh:hp}consumeInternalRecord(e,t,r){if(hT(t),!dS(e)){let r=Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=cu(this.recordingProdStack),i=new pu({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(i),hf}};function hg(e,t,r,n=!1){hT(r);let i=cu(this.recordingProdStack),a=sA(t)?t:t.DEF,s=new e({definition:[],idx:r});return n&&(s.separator=t.SEP),c_(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),hp}function hy(e,t){hT(t);let r=cu(this.recordingProdStack),n=!1===sa(e),i=!1===n?e:e.DEF,a=new pl({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});return c_(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=cZ(i,e=>sA(e.GATE)),r.definition.push(a),cf(i,e=>{let t=new pr({definition:[]});a.definition.push(t),c_(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:c_(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),hp}function hv(e){return 0===e?"":`${e}`}function hT(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}> Idx value must be a none negative value smaller than ${256}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}tA(hg,"recordProd"),tA(hy,"recordOrProd"),tA(hv,"getIdxSuffix"),tA(hT,"assertMethodIdxIsValid");var hR=class{static{tA(this,"PerformanceTracer")}initPerformanceTracer(e){if(c_(e,"traceInitPerf")){let t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=hE.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent,this.traceInitMaxIdent;let{time:n,value:i}=c4(t),a=n>10?console.warn:console.log;return this.traceInitIndent time: ${n}ms`),this.traceInitIndent--,i}}};function h$(e,t){t.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{if("constructor"===n)return;let i=Object.getOwnPropertyDescriptor(r,n);i&&(i.get||i.set)?Object.defineProperty(e.prototype,n,i):e.prototype[n]=t.prototype[n]})})}tA(h$,"applyMixins");var hb=dB(dV,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(hb);var hE=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:dY,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),hC=Object.freeze({recoveryValueFunc:tA(()=>void 0,"recoveryValueFunc"),resyncEnabled:!0});function hA(e){return function(){return e}}(c=eQ||(eQ={}))[c.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",c[c.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",c[c.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",c[c.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",c[c.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",c[c.LEFT_RECURSION=5]="LEFT_RECURSION",c[c.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",c[c.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",c[c.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",c[c.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",c[c.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",c[c.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",c[c.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",c[c.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",tA(hA,"EMPTY_ALT");var hS=class e{static{tA(this,"Parser")}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 t;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{c5(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),cf(this.definedRulesNames,e=>{let t,r=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=fL({rules:cD(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(cz(n)&&!1===this.skipValidations){let e=fM({rules:cD(this.gastProductionsCache),tokenTypes:cD(this.tokensMap),errMsgProvider:dJ,grammarName:r}),t=fy({lookaheadStrategy:this.lookaheadStrategy,rules:cD(this.gastProductionsCache),tokenTypes:cD(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(e,t)}}),cz(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let e=pA(cD(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null==(t=(e=this.lookaheadStrategy).initialize)||t.call(e,{rules:cD(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(cD(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!cz(this.definitionErrors))throw t=cA(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected: ${t.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),c_(t,"ignoredIssues"))throw Error("The IParserConfig property has been deprecated.\n Please use the flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=c_(t,"skipValidations")?t.skipValidations:hE.skipValidations}};hS.DEFER_DEFINITION_ERRORS_HANDLING=!1,h$(hS,[fQ,f2,ha,hs,hl,ho,hu,hc,hm,hR]);var hk=class extends hS{static{tA(this,"EmbeddedActionsParser")}constructor(e,t=hE){let r=uC(t);r.outputCst=!1,super(e,r)}};function hx(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r-1}function hL(e,t){var r=this.__data__,n=h_(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function hM(e){var t=-1,r=null==e?0:e.length;for(this.clear();++to))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,d=!0,f=2&r?new mx:void 0;for(a.set(e,t),a.set(t,e);++p-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff}tA(m4,"isIndex"),tA(m5,"isLength");var m8={};function m7(e){return mB(e)&&m5(e.length)&&!!m8[h0(e)]}function m6(e){return function(t){return e(t)}}m8["[object Float32Array]"]=m8["[object Float64Array]"]=m8["[object Int8Array]"]=m8["[object Int16Array]"]=m8["[object Int32Array]"]=m8["[object Uint8Array]"]=m8["[object Uint8ClampedArray]"]=m8["[object Uint16Array]"]=m8["[object Uint32Array]"]=!0,m8["[object Arguments]"]=m8["[object Array]"]=m8["[object ArrayBuffer]"]=m8["[object Boolean]"]=m8["[object DataView]"]=m8["[object Date]"]=m8["[object Error]"]=m8["[object Function]"]=m8["[object Map]"]=m8["[object Number]"]=m8["[object Object]"]=m8["[object RegExp]"]=m8["[object Set]"]=m8["[object String]"]=m8["[object WeakMap]"]=!1,tA(m7,"baseIsTypedArray"),tA(m6,"baseUnary");var ge="object"==typeof exports&&exports&&!exports.nodeType&&exports,gt=ge&&"object"==typeof module&&module&&!module.nodeType&&module,gr=gt&>.exports===ge&&hq.process,gn=function(){try{var e=gt&>.require&>.require("util").types;if(e)return e;return gr&&gr.binding&&gr.binding("util")}catch(e){}}(),gi=gn&&gn.isTypedArray,ga=gi?m6(gi):m7,gs=Object.prototype.hasOwnProperty;function go(e,t){var r=mF(e),n=!r&&mQ(e),i=!r&&!n&&m3(e),a=!r&&!n&&!i&&ga(e),s=r||n||i||a,o=s?mV(e.length,String):[],l=o.length;for(var u in e)(t||gs.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||m4(u,l)))&&o.push(u);return o}tA(go,"arrayLikeKeys");var gl=Object.prototype;function gu(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||gl)}function gc(e,t){return function(r){return e(t(r))}}tA(gu,"isPrototype"),tA(gc,"overArg");var gp=gc(Object.keys,Object),gd=Object.prototype.hasOwnProperty;function gf(e){if(!gu(e))return gp(e);var t=[];for(var r in Object(e))gd.call(e,r)&&"constructor"!=r&&t.push(r);return t}function gh(e){return null!=e&&m5(e.length)&&!h2(e)}function gm(e){return gh(e)?go(e):gf(e)}function gg(e){return mz(e,gm,mW)}tA(gf,"baseKeys"),tA(gh,"isArrayLike"),tA(gm,"keys"),tA(gg,"getAllKeys");var gy=Object.prototype.hasOwnProperty;function gv(e,t,r,n,i,a){var s=1&r,o=gg(e),l=o.length;if(l!=gg(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:gy.call(t,c)))return!1}var p=a.get(e),d=a.get(t);if(p&&d)return p==t&&d==e;var f=!0;a.set(e,t),a.set(t,e);for(var h=s;++uyS(e,t,r));return yj(e,t,n,r,...i)}function yI(e,t,r){let n=yW(e,t,r,{type:1});yM(e,n);let i=yj(e,t,n,r,yP(e,t,r));return yL(e,t,r,i)}function yP(e,t,r){let n=yv(yg(r.definition,r=>yS(e,t,r)),e=>void 0!==e);return 1===n.length?n[0]:0===n.length?void 0:yz(e,n)}function yD(e,t,r,n,i){let a=n.left,s=n.right,o=yW(e,t,r,{type:11});yM(e,o);let l=yW(e,t,r,{type:12});return a.loopback=o,l.loopback=o,e.decisionMap[yT(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,yU(s,o),void 0===i?(yU(o,a),yU(o,l)):(yU(o,l),yU(o,i.left),yU(i.right,a)),{left:a,right:l}}function yO(e,t,r,n,i){let a=n.left,s=n.right,o=yW(e,t,r,{type:10});yM(e,o);let l=yW(e,t,r,{type:12}),u=yW(e,t,r,{type:9});return o.loopback=u,l.loopback=u,yU(o,a),yU(o,l),yU(s,u),void 0!==i?(yU(u,l),yU(u,i.left),yU(i.right,a)):yU(u,o),e.decisionMap[yT(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function yL(e,t,r,n){let i=n.left;return yU(i,n.right),e.decisionMap[yT(t,"Option",r.idx)]=i,n}function yM(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function yj(e,t,r,n,...i){let a=yW(e,t,n,{type:8,start:r});for(let e of(r.end=a,i))void 0!==e?(yU(r,e.left),yU(e.right,a)):yU(r,a);return e.decisionMap[yT(t,yF(n),n.idx)]=r,{left:r,right:a}}function yF(e){if(e instanceof pl)return"Alternation";if(e instanceof pn)return"Option";if(e instanceof ps)return"Repetition";if(e instanceof po)return"RepetitionWithSeparator";if(e instanceof pi)return"RepetitionMandatory";else if(e instanceof pa)return"RepetitionMandatoryWithSeparator";else throw Error("Invalid production type encountered")}function yz(e,t){let r=t.length;for(let n=0;ne.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}};function yX(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}function yJ(e,t,r){for(var n=-1,i=e.length;++n0&&r(o)?t>1?y2(o,t-1,r,n,i):mj(i,o):n||(i[i.length]=o)}return i}function y3(e,t){return y2(yg(e,t),1)}function y9(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a-1}function y6(e,t,r){for(var n=-1,i=null==e?0:e.length;++n=200){var u=t?null:vt(e);if(u)return mD(u);s=!1,i=mw,l=new mx}else l=t?[]:o;t:for(;++n{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:e,decision:t,states:{}},r[i]=a),a}}tA(vu,"isEmpty"),tA(vc,"arrayReduce"),tA(vp,"baseReduce"),tA(vd,"reduce"),tA(vf,"createDFACache");var vh=class{static{tA(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;rconsole.log(e)}initialize(e){this.atn=yC(e.rules),this.dfas=vv(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=yT(r,"Alternation",t),l=this.atn.decisionMap[o].decision,u=yg(ft({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>yg(e,e=>e[0]));if(vy(u,!1)&&!i){let e=vd(u,(e,t,r)=>(vo(t,t=>{t&&(e[t.tokenTypeIdx]=r,vo(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null==(r=t[n])?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}return n?function(e){let t=new vh,r=void 0===e?0:e.length;for(let n=0;nyg(e,e=>e[0]));if(vy(u)&&u[0][0]&&!i){let e=vi(u[0]);if(1===e.length&&vu(e[0].categoryMatches)){let t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{let t=vd(e,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,vo(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===t[this.LA(1).tokenTypeIdx]}}}return function(){let e=vT.call(this,a,l,vm,s);return"object"!=typeof e&&0===e}}};function vy(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i)if(!t)return!1;else break;for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function vv(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;ndD(e)).join(", "),r=0===e.production.idx?"":e.production.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${vC(e.production)}${r}> inside <${e.topLevelRule.name}> Rule, <${t}> may appears as a prefix path in all these alternatives. `;return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`}function vC(e){if(e instanceof pe)return"SUBRULE";if(e instanceof pn)return"OPTION";if(e instanceof pl)return"OR";if(e instanceof pi)return"AT_LEAST_ONE";if(e instanceof pa)return"AT_LEAST_ONE_SEP";else if(e instanceof po)return"MANY_SEP";else if(e instanceof ps)return"MANY";else if(e instanceof pu)return"CONSUME";else throw Error("non exhaustive match")}function vA(e,t,r){return{actualToken:r,possibleTokenTypes:vn(y3(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof y$).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function vS(e,t){return e.edges[t.tokenTypeIdx]}function vk(e,t,r){let n,i=new yY,a=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){a.push(n);continue}let e=n.state.transitions.length;for(let r=0;r0&&!vL(n))for(let e of a)n.add(e);return n}function vx(e,t){if(e instanceof y$&&dH(t,e.tokenType))return e.target}function vN(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}function vw(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function v_(e,t,r,n){return n=vI(e,n),t.edges[r.tokenTypeIdx]=n,n}function vI(e,t){if(t===yH)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function vP(e){let t=new yY,r=e.transitions.length;for(let n=0;n0){let r=[...e.stack];vD({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function vG(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}tA(vy,"isLL1Sequence"),tA(vv,"initATNSimulator"),tA(vT,"adaptivePredict"),tA(vR,"performLookahead"),tA(v$,"computeLookaheadTarget"),tA(vb,"reportLookaheadAmbiguity"),tA(vE,"buildAmbiguityError"),tA(vC,"getProductionDslName"),tA(vA,"buildAdaptivePredictError"),tA(vS,"getExistingTargetState"),tA(vk,"computeReachSet"),tA(vx,"getReachableTarget"),tA(vN,"getUniqueAlt"),tA(vw,"newDFAState"),tA(v_,"addDFAEdge"),tA(vI,"addDFAState"),tA(vP,"computeStartState"),tA(vD,"closure"),tA(vO,"getEpsilonTarget"),tA(vL,"hasConfigInRuleStopState"),tA(vM,"allConfigsInRuleStopStates"),tA(vj,"hasConflictTerminatingPrediction"),tA(vF,"getConflictingAltSets"),tA(vz,"hasConflictingAltSet"),tA(vG,"hasStateAssociatedWithOneAlt"),tP();var vq=class{static{tA(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new vB(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new vW;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new vU(e.startOffset,e.image.length,i_(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let r of e){let e=new vU(r.startOffset,r.image.length,i_(r),r.tokenType,!0);e.root=this.rootNode,t.push(e)}let r=this.current,n=!1;if(r.content.length>0)return void r.content.push(...t);for(;r.container;){let e=r.container.content.indexOf(r);if(e>0){r.container.content.splice(e,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;"string"!=typeof e.$type||e.$infix||(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},vK=class{static{tA(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e="string"==typeof this._astNode?.$type?this._astNode:this.container?.astNode;if(!e)throw 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)}},vU=class extends vK{static{tA(this,"LeafCstNodeImpl")}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,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},vW=class extends vK{static{tA(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new vV(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,t=this.lastNonHiddenNode;if(!e||!t)return{start:R.create(0,0),end:R.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},vV=class e extends Array{static{tA(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,e.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}},vB=class extends vW{static{tA(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},vH=Symbol("Datatype");function vY(e){return e.$type===vH}tA(vY,"isDataTypeNode");var vX=tA(e=>e.endsWith("\u200B")?e:e+"\u200B","withRuleSuffix"),vJ=class{static{tA(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new v9(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new v3(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}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()}},vQ=class extends vJ{static{tA(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new vq,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,t){let r,n=this.computeRuleType(e);nS(e)&&(r=e.name,this.registerPrecedenceMap(e));let i=this.wrapper.DEFINE_RULE(vX(e.name),this.startImplementation(n,r,t).bind(this));return this.allRules.set(e.name,i),nH(e)&&e.entry&&(this.mainRule=i),i}registerPrecedenceMap(e){let t=e.name,r=new Map;for(let t=0;t0&&(t=this.construct()),void 0===t)throw Error("No result from parser");if(this.stack.length>0)throw Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,r){return n=>{let i=!this.isRecording()&&void 0!==e;if(i){let r={$type:e};this.stack.push(r),e===vH?r.value="":void 0!==t&&(r.$infixName=t)}return r(n),i?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let e=0;er)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:i,crossRef:a}=this.getAssignment(r),s=this.current;if(i){let e=nD(r)?n.image:this.converter.convert(n.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(vY(s)){let e=n.image;nD(r)||(e=this.converter.convert(e,t).toString()),s.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let a,s;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(n));try{s=this.wrapper.wrapSubrule(e,t,i)}finally{!this.isRecording()&&(void 0!==s||r||(s=this.construct()),void 0!==s&&a&&a.length>0&&this.performSubruleAssignment(s,n,a))}}performSubruleAssignment(e,t,r){let{assignment:n,crossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(vY(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode)):r.$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)):vY(e)?this.converter.convert(e.value,e.$cstNode):(rU(this.astReflection,e),e)}constructInfix(e,t){let r=e.parts;if(!Array.isArray(r)||0===r.length)return;let n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let i=0,a=-1;for(let e=0;ea?(a=s.precedence,i=e):s.precedence!==a||s.rightAssoc||(i=e)}let s=n.slice(0,i),o=n.slice(i+1),l=r.slice(0,i+1),u=r.slice(i+1),c={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:s},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},d=this.constructInfix(c,t),f=this.constructInfix(p,t);return{$type:e.$type,$cstNode:e.$cstNode,left:d,operator:n[i],right:f}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=rD(e,nr);this.assignmentMap.set(e,{assignment:t,crossRef:t&&nd(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let a,s=this.current;switch(a="single"===i&&"string"==typeof r?this.linker.buildReference(s,t,n,r):"multi"===i&&"string"==typeof r?this.linker.buildMultiReference(s,t,n,r):r,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},vZ=class{static{tA(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return dY.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return dY.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return dY.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return dY.buildEarlyExitMessage(e)}},v0=class extends vZ{static{tA(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){let r=e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`;return`Expecting ${r} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},v1=class extends vJ{static{tA(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.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,t){let r=this.wrapper.DEFINE_RULE(vX(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}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,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},v2={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new v0},v3=class extends hk{static{tA(this,"ChevrotainWrapper")}constructor(e,t){let r=t&&"maxLookahead"in t;super(e,{...v2,lookaheadStrategy:r?new f1({maxLookahead:t.maxLookahead}):new vg({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},v9=class extends v3{static{tA(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}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,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function v4(e,t,r){return v5({parser:t,tokens:r,ruleNames:new Map},e),t}function v5(e,t){let r=am(t,!1);for(let n of rw(t.rules).filter(nH).filter(e=>r.has(e))){let t={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(n,v7(t,n.definition))}for(let n of rw(t.rules).filter(nS).filter(e=>r.has(e)))e.parser.rule(n,v8(e,n))}function v8(e,t){let r,n=t.call.rule.ref;if(!n)throw Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(ia(n))throw Error("Cannot use terminal rule in infix expression");let i=t.operators.precedences.flatMap(e=>e.operators),a={$type:"Group",elements:[]},s={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},o={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(s,o);let l={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:i}},u={...s,$container:o};o.elements.push(l,u);let c=i.map(t=>e.tokens[t.value]).map((t,r)=>({ALT:tA(()=>e.parser.consume(r,t,l),"ALT")}));return t=>{r??(r=Tc(e,n)),e.parser.subrule(0,r,!1,s,t),e.parser.many(0,{DEF:tA(()=>{e.parser.alternatives(0,c),e.parser.subrule(1,r,!1,u,t)},"DEF")})}}function v7(e,t,r=!1){let n;if(nD(t))n=Tl(e,t);else if(r9(t))n=v6(e,t);else if(nr(t))n=v7(e,t.terminal);else if(nd(t))n=To(e,t);else if(n2(t))n=Te(e,t);else if(r5(t))n=Tn(e,t);else if(iv(t))n=Ti(e,t);else if(nb(t))n=Ta(e,t);else if(ng(t)){let r=e.consume++;n=tA(()=>e.parser.consume(r,dV,t),"method")}else throw new iY(t.$cstNode,`Unexpected element type: ${t.$type}`);return Tu(e,r?void 0:Ts(t),n,t.cardinality)}function v6(e,t){let r=aj(t);return()=>e.parser.action(r,t)}function Te(e,t){let r=t.rule.ref;if(rQ(r)){let n,i=e.subrule++,a=nH(r)&&r.fragment,s=t.arguments.length>0?Tt(r,t.arguments):()=>({});return o=>{n??(n=Tc(e,r)),e.parser.subrule(i,n,a,t,s(o))}}if(ia(r)){let n=e.consume++,i=Td(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)iX(r);else throw new iY(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}function Tt(e,t){if(t.some(e=>e.calledByName)){let e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:Tr(e.value)}));return t=>{let r={};for(let{parameterName:n,predicate:i}of e)n&&(r[n]=i(t));return r}}{let r=t.map(e=>Tr(e.value));return t=>{let n={};for(let i=0;it(e)||r(e)}if(nc(e)){let t=Tr(e.left),r=Tr(e.right);return e=>t(e)&&r(e)}if(nz(e)){let t=Tr(e.value);return e=>!t(e)}if(nV(e)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(ni(e)){let t=!!e.true;return()=>t}iX(e)}function Tn(e,t){if(1===t.elements.length)return v7(e,t.elements[0]);{let r=[];for(let n of t.elements){let t={ALT:v7(e,n,!0)},i=Ts(n);i&&(t.GATE=Tr(i)),r.push(t)}let n=e.or++;return t=>e.parser.alternatives(n,r.map(e=>{let r={ALT:tA(()=>e.ALT(t),"ALT")},n=e.GATE;return n&&(r.GATE=()=>n(t)),r}))}}function Ti(e,t){if(1===t.elements.length)return v7(e,t.elements[0]);let r=[];for(let n of t.elements){let t={ALT:v7(e,n,!0)},i=Ts(n);i&&(t.GATE=Tr(i)),r.push(t)}let n=e.or++,i=tA((e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},"idFunc"),a=tA(t=>e.parser.alternatives(n,r.map((r,a)=>{let s={ALT:tA(()=>!0,"ALT")},o=e.parser;s.ALT=()=>{if(r.ALT(t),!o.isRecording()){let e=i(n,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);void 0===t?.[a]&&(t[a]=!0)}};let l=r.GATE;return l?s.GATE=()=>l(t):s.GATE=()=>{let e=o.unorderedGroups.get(i(n,o));return!e?.[a]},s})),"alternatives"),s=Tu(e,Ts(t),a,"*");return t=>{s(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(n,e.parser))}}function Ta(e,t){let r=t.elements.map(t=>v7(e,t));return e=>r.forEach(t=>t(e))}function Ts(e){if(nb(e))return e.guardCondition}function To(e,t,r=t.terminal){if(r)if(n2(r)&&nH(r.rule.ref)){let n,i=r.rule.ref,a=e.subrule++;return r=>{n??(n=Tc(e,i)),e.parser.subrule(a,n,!1,t,r)}}else if(n2(r)&&ia(r.rule.ref)){let n=e.consume++,i=Td(e,r.rule.ref.name);return()=>e.parser.consume(n,i,t)}else if(nD(r)){let n=e.consume++,i=Td(e,r.value);return()=>e.parser.consume(n,i,t)}else throw Error("Could not build cross reference parser");{if(!t.type.ref)throw Error("Could not resolve reference to type: "+t.type.$refText);let r=ak(t.type.ref),n=r?.terminal;if(!n)throw Error("Could not find name assignment for type: "+aj(t.type.ref));return To(e,t,n)}}function Tl(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}function Tu(e,t,r,n){let i=t&&Tr(t);if(!n)if(!i)return r;else{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:tA(()=>r(n),"ALT"),GATE:tA(()=>i(n),"GATE")},{ALT:hA(),GATE:tA(()=>!i(n),"GATE")}])}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:tA(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:tA(()=>r(n),"DEF")});{let n=e.or++;return a=>e.parser.alternatives(n,[{ALT:tA(()=>e.parser.atLeastOne(t,{DEF:tA(()=>r(a),"DEF")}),"ALT"),GATE:tA(()=>i(a),"GATE")},{ALT:hA(),GATE:tA(()=>!i(a),"GATE")}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:tA(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}iX(n)}function Tc(e,t){let r=Tp(e,t),n=e.parser.getRule(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function Tp(e,t){if(rQ(t))return t.name;{if(e.ruleNames.has(t))return e.ruleNames.get(t);let r=t,n=r.$container,i=t.$type;for(;!nH(n);)(nb(n)||r5(n)||iv(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}function Td(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}function Tf(e){let t=e.Grammar,r=e.parser.Lexer,n=new v1(e);return v4(t,n,r.definition),n.finalize(),n}function Th(e){let t=Tm(e);return t.finalize(),t}function Tm(e){let t=e.Grammar,r=e.parser.Lexer;return v4(t,new vQ(e),r.definition)}tA(v4,"createParser"),tA(v5,"buildRules"),tA(v8,"buildInfixRule"),tA(v7,"buildElement"),tA(v6,"buildAction"),tA(Te,"buildRuleCall"),tA(Tt,"buildRuleCallPredicate"),tA(Tr,"buildPredicate"),tA(Tn,"buildAlternatives"),tA(Ti,"buildUnorderedGroup"),tA(Ta,"buildGroup"),tA(Ts,"getGuardCondition"),tA(To,"buildCrossReference"),tA(Tl,"buildKeyword"),tA(Tu,"wrap"),tA(Tc,"getRule"),tA(Tp,"getRuleName"),tA(Td,"getToken"),tA(Tf,"createCompletionParser"),tA(Th,"createLangiumParser"),tA(Tm,"prepareLangiumParser");var Tg=class{static{tA(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){let r=rw(am(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return i.push(...n),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ia).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=aq(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return"function"==typeof r&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=au(t)?dP.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(rQ).flatMap(e=>rz(e).filter(nD)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),i={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?RegExp(ac(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=r?.PATTERN;return n?.source&&ap("^"+n.source+"$",e.value)&&t.push(r),t},[])}},Ty=class{static{tA(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(nd(r)&&(r=av(r)),n2(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return eZ.convertInt(t);case"STRING":return eZ.convertString(t);case"ID":return eZ.convertID(t)}switch(aG(e)?.toLowerCase()){case"number":return eZ.convertNumber(t);case"boolean":return eZ.convertBoolean(t);case"bigint":return eZ.convertBigint(t);case"date":return eZ.convertDate(t);default:return t}}};!function(e){function t(e){let t="";for(let n=1;n{"u"=T$&&(TR=t,await TT(),TR=performance.now()),e.isCancellationRequested)throw TC}tA(TA,"isOperationCancelled"),tA(TS,"interruptAndCheck");var Tk=class{static{tA(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},Tx=class e{static{tA(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(t,r){for(let r of t)if(e.isIncremental(r)){let e=TI(r.range),t=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,t)+r.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),s=this._lineOffsets,o=Tw(r.text,!1,t);if(a-i===o.length)for(let e=0,t=o.length;ee?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1t&&T_(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}};function TN(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),i=e.slice(r);TN(n,t),TN(i,t);let a=0,s=0,o=0;for(;a=t(n[a],i[s])?e[o++]=n[a++]:e[o++]=i[s++];for(;ar.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function TP(e){let t=TI(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){function t(e,t,r,n){return new Tx(e,t,r,n)}function r(e,t,r){if(e instanceof Tx)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")}function n(e,t){let r=e.getText(),n=TN(t.map(TP),(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,a=[];for(let t of n){let n=e.offsetAt(t.range.start);if(ni&&a.push(r.substring(i,n)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(r.substr(i)),a.join("")}tA(t,"create"),e.create=t,tA(r,"update"),e.update=r,tA(n,"applyEdits"),e.applyEdits=n}(e0||(e0={})),tA(TN,"mergeSort"),tA(Tw,"computeLineOffsets"),tA(T_,"isEOL"),tA(TI,"getWellformedRange"),tA(TP,"getWellformedEdit"),(()=>{"use strict";let e;var t,r,n={975:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=o,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}tA(t,"e"),tA(r,"r");var n={resolve:tA(function(){for(var e,n,i="",a=!1,s=arguments.length-1;s>=-1&&!a;s--)s>=0?e=arguments[s]:(void 0===n&&(n=process.cwd()),e=n),t(e),0!==e.length&&(i=e+"/"+i,a=47===e.charCodeAt(0));return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},"resolve"),normalize:tA(function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},"normalize"),isAbsolute:tA(function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},"isAbsolute"),join:tA(function(){if(0==arguments.length)return".";for(var e,r=0;r0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},"join"),relative:tA(function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;iu){if(47===r.charCodeAt(o+p))return r.slice(o+p+1);if(0===p)return r.slice(o+p)}else s>u&&(47===e.charCodeAt(i+p)?c=p:0===p&&(c=0));break}var d=e.charCodeAt(i+p);if(d!==r.charCodeAt(o+p))break;47===d&&(c=p)}var f="";for(p=i+c+1;p<=a;++p)p!==a&&47!==e.charCodeAt(p)||(0===f.length?f+="..":f+="/..");return f.length>0?f+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},"relative"),_makeLong:tA(function(e){return e},"_makeLong"),dirname:tA(function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,a=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!a){i=s;break}}else a=!1;return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},"dirname"),basename:tA(function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,a=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!s){i=n+1;break}}else -1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(a=n):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else -1===a&&(s=!1,a=n+1);return -1===a?"":e.slice(i,a)},"basename"),extname:tA(function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return -1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},"extname"),format:tA(function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},"format"),parse:tA(function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var s=-1,o=0,l=-1,u=!0,c=e.length-1,p=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===s?s=c:1!==p&&(p=1):-1!==s&&(p=-1);else if(!u){o=c+1;break}return -1===s||-1===l||0===p||1===p&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):a&&(r.dir="/"),r},"parse"),sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}tA(a,"r"),a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(a.r(s),a.d(s,{URI:tA(()=>d,"URI"),Utils:tA(()=>r,"Utils")}),"object"==typeof process)?e="win32"===process.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//;function c(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!o.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!l.test(e.path))throw 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(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}tA(c,"a");let p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{static{tA(this,"l")}static isUri(e){return e instanceof d||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,i,a=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||a?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",c(this,a))}get fsPath(){return v(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new h(t,r,n,i,a)}static parse(e,t=!1){let r=p.exec(e);return r?new h(r[2]||"",b(r[4]||""),b(r[5]||""),b(r[7]||""),b(r[9]||""),t):new h("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new h("file",r,t,"","")}static from(e){let t=new h(e.scheme,e.authority,e.path,e.query,e.fragment);return c(t,!0),t}toString(e=!1){return T(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof d)return e;{let t=new h(e);return t._formatted=e.external,t._fsPath=e._sep===f?e.fsPath:null,t}}return e}}let f=e?1:void 0;class h extends d{static{tA(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=v(this,!1)),this._fsPath}toString(e=!1){return e?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=f),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let m={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 g(e,t,r){let n,i=-1;for(let a=0;a=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),void 0!==n&&(n+=e.charAt(a));else{void 0===n&&(n=e.substr(0,a));let t=m[s];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),n+=t):-1===i&&(i=a)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function y(e){let t;for(let r=0;r1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?r?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function T(e,t){let r=t?y:g,n="",{scheme:i,authority:a,path:s,query:o,fragment:l}=e;if(i&&(n+=i,n+=":"),(a||"file"===i)&&(n+="/",n+="/"),a){let e=a.indexOf("@");if(-1!==e){let t=a.substr(0,e);a=a.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):(n+=r(t.substr(0,e),!1,!1),n+=":",n+=r(t.substr(e+1),!1,!0)),n+="@"}-1===(e=(a=a.toLowerCase()).lastIndexOf(":"))?n+=r(a,!1,!0):(n+=r(a.substr(0,e),!1,!0),n+=a.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){let e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){let e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return o&&(n+="?",n+=r(o,!1,!1)),l&&(n+="#",n+=t?l:g(l,!1,!1)),n}function R(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+R(e.substr(3)):e}}tA(g,"m"),tA(y,"y"),tA(v,"v"),tA(T,"b"),tA(R,"C");let $=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function b(e){return e.match($)?e.replace($,e=>R(e)):e}tA(b,"w");var E=a(975);let C=E.posix||E;(t=r||(r={})).joinPath=function(e,...t){return e.with({path:C.join(e.path,...t)})},t.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=C.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},t.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=C.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},t.basename=function(e){return C.basename(e.path)},t.extname=function(e){return C.extname(e.path)},e1=s})();var{URI:TD,Utils:TO}=e1;!function(e){e.basename=TO.basename,e.dirname=TO.dirname,e.extname=TO.extname,e.joinPath=TO.joinPath,e.resolvePath=TO.resolvePath;let t="object"==typeof process&&process?.platform==="win32";function r(e,t){return e?.toString()===t?.toString()}function n(e,r){let n="string"==typeof e?TD.parse(e).path:e.path,i="string"==typeof r?TD.parse(r).path:r.path,a=n.split("/").filter(e=>e.length>0),s=i.split("/").filter(e=>e.length>0);if(t){let e=/^[A-Z]:$/;if(a[0]&&e.test(a[0])&&(a[0]=a[0].toLowerCase()),s[0]&&e.test(s[0])&&(s[0]=s[0].toLowerCase()),a[0]!==s[0])return i.substring(1)}let o=0;for(;o({name:e.name,uri:e2.joinPath(TD.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(e2.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let r=e.split("/");"/"===e.charAt(e.length-1)&&r.pop();let n=this.root;for(let e of r){let r=n.children.get(e);if(!r)if(!t)return;else r={name:e,children:new Map,parent:n},n.children.set(e,r);n=r}return n}collectValues(e){let t=[];for(let r of(e.element&&t.push(e.element),e.children.values()))t.push(...this.collectValues(r));return t}};(d=e3||(e3={}))[d.Changed=0]="Changed",d[d.Parsed=1]="Parsed",d[d.IndexedContent=2]="IndexedContent",d[d.ComputedScopes=3]="ComputedScopes",d[d.Linked=4]="Linked",d[d.IndexedReferences=5]="IndexedReferences",d[d.Validated=6]="Validated";var TM=class{static{tA(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=Tv.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return(t=t??TD.parse(e.uri),Tv.CancellationToken.is(r))?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return Tv.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if("string"==typeof t){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:e3.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:e3.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){let r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),i=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let t=this.createTextDocumentGetter(e.uri,i);Object.defineProperty(e,"textDocument",{get:t})}return r!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=e3.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r,n=this.serviceRegistry;return()=>r??(r=e0.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??""))}},Tj=class{static{tA(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new TL,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return rw(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,e3.Changed),r}deleteDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=e3.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){let t=e.toString(),r=this.documentTrie.findAll(t);for(let e of r)e.state=e3.Changed;return this.documentTrie.delete(t),r}},TF=Symbol("RefResolving"),Tz=class{static{tA(this,"DefaultLinker")}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,t=Tv.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of rG(e.parseResult.value))await TS(t),rK(n).forEach(t=>{let i=`${n.$type}:${t.property}`;r.startSubTask(i);try{this.doLink(t,e)}finally{r.stopSubTask(i)}})}finally{r.stop()}}else for(let r of rG(e.parseResult.value))await TS(t),rK(r).forEach(t=>this.doLink(t,e))}doLink(e,t){let r=e.reference;if("_ref"in r&&void 0===r._ref){r._ref=TF;try{let t=this.getCandidate(e);rR(t)?r._ref=t:(r._nodeDescription=t,r._ref=this.loadAstNode(t)??this.createLinkingError(e,t))}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);let t=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`}}t.references.push(r)}else if("_items"in r&&void 0===r._items){r._items=TF;try{let t=this.getCandidates(e),n=[];if(rR(t))r._linkingError=t;else for(let e of t){let t=this.loadAstNode(e);t&&n.push({ref:t,$nodeDescription:e})}r._items=n}catch(t){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`},r._items=[]}t.references.push(r)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(e=>`${e.documentUri}#${e.path}`).toArray();return t.length>0?t:this.createLinkingError(e)}buildReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_ref:void 0,get ref(){if(rg(this._ref))return this._ref;if(rT(this._nodeDescription)){let r=i.loadAstNode(this._nodeDescription);this._ref=r??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=TF;let r=rM(e).$document,n=i.getLinkedNode({reference:a,container:e,property:t});if(n.error&&r&&r.state0)return;return this._linkingError=i.createLinkingError({reference:a,container:e,property:t})}};return a}throwCyclicReferenceError(e,t,r){throw Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(rR(t))return{error:t};let r=this.loadAstNode(t);if(r)return{node:r,descr:t};return{descr:t,error:this.createLinkingError(e,t)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let t=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${t}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=rM(e.container).$document;r&&r.statend(e)&&e.isMulti)}findDeclarations(e){if(e){let t=aS(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(ry(n)||rv(n))return rj(n);if(Array.isArray(n)){for(let t of n)if((ry(t)||rv(t))&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return rj(t)}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||iw(e,t)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(!this.hasMultiReference)return[e];{let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(let t of rK(r))if(rv(t.reference)&&t.reference.items.some(t=>t.ref===e))return t.reference.items.map(e=>e.ref)}return[e]}}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e)??e.$cstNode;t&&r.push(t)}return r}findReferences(e,t){let r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>e2.equals(e.sourceUri,t.documentUri))),r.push(...n),rw(r)}getSelfReferences(e){let t=this.getSelfNodes(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e);if(t){let n=rL(e),i=this.nodeLocator.getAstNodePath(e);r.push({sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:iI(t),local:!0})}}return r}},TU=class{static{tA(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return eB.sum(rw(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?rw(t):rx}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return rw(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return rw(this.map.keys())}values(){return rw(this.map.values()).flat()}entriesGroupedByKey(){return rw(this.map.entries())}},TW=class{static{tA(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}},TV=class{static{tA(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=Tv.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=rF,n=Tv.CancellationToken.None){let i=[];for(let a of(this.addExportedSymbol(e,i,t),r(e)))await TS(n),this.addExportedSymbol(a,i,t);return i}addExportedSymbol(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=Tv.CancellationToken.None){let r=e.parseResult.value,n=new TU;for(let i of rz(r))await TS(t),this.addLocalSymbol(i,e,n);return n}addLocalSymbol(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}},TB=class{static{tA(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===t):this.elements.find(t=>t.name===e);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===t):this.elements.filter(t=>t.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},TH=class{static{tA(this,"MapScope")}constructor(e,t,r){for(let t of(this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t),n=r?[r]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?rw(n).concat(this.outerScope.getElements(e)):rw(n)}getAllElements(){let e=rw(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},TY=class{static{tA(this,"MultiMapScope")}constructor(e,t,r){for(let t of(this.elements=new TU,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.add(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||0===r.length)&&this.outerScope?rw(r).concat(this.outerScope.getElements(e)):rw(r)}getAllElements(){let e=rw(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},TX={getElement(){},getElements:()=>rx,getAllElements:()=>rx},TJ=class{static{tA(this,"DisposableCache")}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 Error("This cache has already been disposed")}},TQ=class extends TJ{static{tA(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},TZ=class extends TJ{static{tA(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},T0=class extends TZ{static{tA(this,"DocumentCache")}constructor(e,t){super(e=>e.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,e=>{this.clear(e.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let e of t)this.clear(e)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let r of e.concat(t))this.clear(r)}))}},T1=class extends TQ{static{tA(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},T2=class{static{tA(this,"DefaultScopeProvider")}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 T1(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=rL(e.container).localSymbols;if(n){let i=e.container;do n.has(i)&&t.push(n.getStream(i).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container;while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new TB(rw(e),t,r)}createScopeForNodes(e,t,r){return new TB(rw(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new TY(this.indexManager.allElements(e)))}};function T3(e){return"string"==typeof e.$comment}function T9(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}tA(T3,"isAstNodeWithComment"),tA(T9,"isIntermediateReference");var T4=class{static{tA(this,"DefaultJsonSerializer")}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,t){let r=t??{},n=t?.replacer,i=tA((e,t)=>this.replacer(e,t,r),"defaultReplacer"),a=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=rL(e),JSON.stringify(e,a,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=JSON.parse(e);return this.linkNode(r,r,t??{}),r}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:s}){if(!this.ignoreProperties.has(e)){if(ry(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:t.error?.message??"Could not resolve reference",$refText:n};{let t=rL(e),r="";this.currentDocument&&this.currentDocument!==t&&(r=s?s(t.uri,e):t.uri.toString());let i=this.astNodeLocator.getAstNodePath(e);return{$ref:`${r}#${i}`,$refText:n}}}if(rv(t)){let e=r?t.$refText:void 0,n=[];for(let e of t.items){let t=e.ref,r=rL(e.ref),i="";this.currentDocument&&this.currentDocument!==r&&(i=s?s(r.uri,t):r.uri.toString());let a=this.astNodeLocator.getAstNodePath(t);n.push(`${i}#${a}`)}return{$refs:n,$refText:e}}{let r;if(!rg(t))return t;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&r?.$textRegion&&(r.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(r??(r={...t}),r.$sourceText=t.$cstNode?.text),a){r??(r={...t});let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return r??t}}}addAstNodeRegionWithAssignmentsTo(e){let t=tA(e=>({offset:e.offset,end:e.end,length:e.length,range:e.range}),"createDocumentSegment");if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{let i=aR(e.$cstNode,n).map(t);0!==i.length&&(r[n]=i)}),e}}linkNode(e,t,r,n,i,a){for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a{await this.handleException(()=>e.call(t,r,n,i),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(i){if(TA(i))throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);let e=i instanceof Error?i.message:String(i);r("error",`${t}: ${e}`,{node:n})}}addEntry(e,t){if("AstNode"===e)return void this.entries.add("AstNode",t);for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=rw(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,a,s)=>{await this.handleException(()=>e.call(r,n,i,a,s),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},T6=Object.freeze({validateNode:!0,validateChildren:!0}),Re=class{static{tA(this,"DefaultDocumentValidator")}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,t={},r=Tv.CancellationToken.None){let n=e.parseResult,i=[];if((await TS(r),!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===e4.LexingError)||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===e4.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===e4.LinkingError))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(TA(e))throw e;console.error("An error occurred during validation:",e)}return await TS(r),i}processLexingErrors(e,t,r){for(let r of[...e.lexerErrors,...e.lexerReport?.diagnostics??[]]){let e=r.severity??"error",n={severity:Rr(e),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:Rn(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=i_(r.token);if(e){let n={severity:Rr("error"),range:e,message:r.message,data:T8(e4.ParsingError),source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let n={node:e.info.container,range:r.$refNode?.range,property:e.info.property,index:e.info.index,data:{code:e4.LinkingError,containerType:e.info.container.$type,property:e.info.property,refText:e.info.reference.$refText}};t.push(this.toDiagnostic("error",e.message,n))}}}async validateAst(e,t,r=Tv.CancellationToken.None){let n=[],i=tA((e,t,r)=>{n.push(this.toDiagnostic(e,t,r))},"acceptor");return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=Tv.CancellationToken.None){for(let i of this.validationRegistry.checksBefore)await TS(n),await i(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=Tv.CancellationToken.None){if(this.profiler?.isActive("validating")){let i=this.profiler.createTask("validating",this.languageId);i.start();try{let a=rG(e).iterator();for(let e of a){i.startSubTask(e.$type);let s=this.validateSingleNodeOptions(e,t);if(s.validateNode)try{for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n)}finally{i.stopSubTask(e.$type)}s.validateChildren||a.prune()}}finally{i.stop()}}else{let i=rG(e).iterator();for(let e of i){await TS(n);let a=this.validateSingleNodeOptions(e,t);if(a.validateNode)for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n);a.validateChildren||i.prune()}}}validateSingleNodeOptions(e,t){return T6}async validateAstAfter(e,t,r,n=Tv.CancellationToken.None){for(let i of this.validationRegistry.checksAfter)await TS(n),await i(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:Rt(r),severity:Rr(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function Rt(e){let t;return e.range?e.range:("string"==typeof e.property?t=a$(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=aC(e.node.$cstNode,e.keyword,e.index)),t??(t=e.node.$cstNode),t)?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Rr(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}function Rn(e){switch(e){case"error":return T8(e4.LexingError);case"warning":return T8(e4.LexingWarning);case"info":return T8(e4.LexingInfo);case"hint":return T8(e4.LexingHint);default:throw Error("Invalid diagnostic severity: "+e)}}tA(Rt,"getDiagnosticRange"),tA(Rr,"toDiagnosticSeverity"),tA(Rn,"toDiagnosticData"),(h=e4||(e4={})).LexingError="lexing-error",h.LexingWarning="lexing-warning",h.LexingInfo="lexing-info",h.LexingHint="lexing-hint",h.ParsingError="parsing-error",h.LinkingError="linking-error";var Ri=class{static{tA(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n,i=r??rL(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${a} has no name.`);let s=tA(()=>n??(n=iI(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return s()},selectionSegment:iI(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},Ra=class{static{tA(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=Tv.CancellationToken.None){let r=[];for(let n of rG(e.parseResult.value))await TS(t),rK(n).forEach(e=>{e.reference.error||r.push(...this.createInfoDescriptions(e))});return r}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let r=[];ry(t)&&t.$nodeDescription?r=[t.$nodeDescription]:rv(t)&&(r=t.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));let n=rL(e.container).uri,i=this.nodeLocator.getAstNodePath(e.container),a=[],s=iI(t.$refNode);for(let e of r)a.push({sourceUri:n,sourcePath:i,targetUri:e.documentUri,targetPath:e.path,segment:s,local:e2.equals(e.documentUri,n)});return a}},Rs=class{static{tA(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),a=e[n];return a?.[i]}return e[t]},e)}},Ro={};tN(Ro,tw(tL(),1));var Rl=class{static{tA(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new Tk,this.onConfigurationSectionUpdateEmitter=new Ro.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 t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){"object"==typeof e.settings&&null!==e.settings&&Object.entries(e.settings).forEach(([e,t])=>{this.updateSectionConfiguration(e,t),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:t})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},Ru=tw(rf(),1),Rc=e5||(e5={});function Rp(e){return{dispose:tA(async()=>await e(),"dispose")}}tA(Rp,"create"),Rc.create=Rp;var Rd=class{static{tA(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new TU,this.documentPhaseListeners=new TU,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=e3.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,t={},r=Tv.CancellationToken.None){for(let r of e){let e=r.uri.toString();if(r.state===e3.Validated){if("boolean"==typeof t.validation&&t.validation)this.resetToState(r,e3.IndexedReferences);else if("object"==typeof t.validation){let n=this.findMissingValidationCategories(r,t);n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:{categories:n}},result:this.buildState.get(e)?.result}),r.state=e3.IndexedReferences)}}else this.buildState.delete(e)}this.currentState=e3.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=Tv.CancellationToken.None){this.currentState=e3.Changed;let n=[];for(let e of t)for(let t of this.langiumDocuments.deleteDocuments(e))n.push(t.uri),this.cleanUpDeleted(t);let i=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(let e of i){let t=this.langiumDocuments.getDocument(e);void 0===t&&((t=this.langiumDocumentFactory.fromModel({$type:"INVALID"},e)).state=e3.Changed,this.langiumDocuments.addDocument(t)),this.resetToState(t,e3.Changed)}let a=rw(i).concat(n).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!a.has(e.uri.toString())&&this.shouldRelink(e,a)).forEach(e=>this.resetToState(e,e3.ComputedScopes)),await this.emitUpdate(i,n),await TS(r);let s=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state=1}findMissingValidationCategories(e,t){let r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),i=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set;return rw(void 0===t||!0===t.validation?n:"object"==typeof t.validation?t.validation.categories??n:[]).filter(e=>!i.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let t=await this.fileSystemProvider.stat(e);if(t.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(t))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t=0&&!this.hasTextDocument(e[r]);)r--;tvoid 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),e5.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case e3.Changed:case e3.Parsed:this.indexManager.removeContent(e.uri);case e3.IndexedContent:e.localSymbols=void 0;case e3.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case e3.Linked:this.indexManager.removeReferences(e.uri);case e3.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case e3.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=e3.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,e3.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,e3.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,e3.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.localSymbols=await t.collectLocalSymbols(e,r)});let n=e.filter(e=>this.shouldLink(e));await this.runCancelable(n,e3.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(n,e3.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let i=e.filter(e=>!!this.shouldValidate(e)||(this.markAsCompleted(e),!1));await this.runCancelable(i,e3.Validated,r,async e=>{await this.validate(e,r),this.markAsCompleted(e)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:n?.result})}}async runCancelable(e,t,r,n){for(let i of e)i.statee.state===t);await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),e5.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),e5.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return(t&&"path"in t?n=t:r=t,r??(r=Tv.CancellationToken.None),n)?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){let n=this.langiumDocuments.getDocument(t);return n?n.state>=e?Promise.resolve(t):r.isCancellationRequested?Promise.reject(TC):this.currentState>=e&&e>n.state?Promise.reject(new Ru.ResponseError(Ru.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${e3[n.state]}, requiring ${e3[e]}, but workspace state is already ${e3[this.currentState]}. Returning undefined.`)):new Promise((n,i)=>{let a=this.onDocumentPhase(e,e=>{e2.equals(e.uri,t)&&(a.dispose(),s.dispose(),n(e.uri))}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(TC)})}):Promise.reject(new Ru.ResponseError(Ru.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(TC):new Promise((r,n)=>{let i=this.onBuildPhase(e,()=>{i.dispose(),a.dispose(),r()}),a=t.onCancellationRequested(()=>{i.dispose(),a.dispose(),n(TC)})})}async notifyDocumentPhase(e,t,r){for(let n of this.documentPhaseListeners.get(t).slice())try{await TS(r),await n(e,r)}catch(e){if(!TA(e))throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t).slice())await TS(r),await n(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),i="object"==typeof n.validation?{...n.validation}:{};i.categories=this.findMissingValidationCategories(e,n);let a=await r.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let s=this.buildState.get(e.uri.toString());s&&(s.result??(s.result={}),s.result.validationChecks?s.result.validationChecks=rw(s.result.validationChecks).concat(i.categories).distinct().toArray():s.result.validationChecks=[...i.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},Rf=class{static{tA(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new TZ,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=rL(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{e2.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),rw(n)}allElements(e,t){let r=rw(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=Tv.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.collectExportedSymbols(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=Tv.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}},Rh=class{static{tA(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new Tk,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(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=Tv.CancellationToken.None){let r=await this.performStartup(e);await TS(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=[],r=tA(e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)},"collector");await this.loadAdditionalDocuments(e,r);let n=[];await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,n)));let i=rw(n).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e));return await this.loadWorkspaceDocuments(i,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{t(await this.langiumDocuments.getOrCreateDocument(e))}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return TD.parse(e.uri)}async traverseFolder(e,t){try{let r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async e=>{this.shouldIncludeEntry(e)&&(e.isDirectory?await this.traverseFolder(e.uri,t):e.isFile&&t.push(e.uri))}))}catch(t){console.error("Failure to read directory content of "+e.toString(!0),t)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=e2.basename(e.uri);return!t.startsWith(".")&&(e.isDirectory?"node_modules"!==t&&"out"!==t:!!e.isFile&&this.serviceRegistry.hasServices(e.uri))}},Rm=class{static{tA(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,i){return d_.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return d_.buildUnableToPopLexerModeMessage(e)}},Rg={mode:"full"},Ry=class{static{tA(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=RR(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new dP(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=Rg){let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(RR(e))return e;let t=RT(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}};function Rv(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}function RT(e){return e&&"modes"in e&&"defaultMode"in e}function RR(e){return!Rv(e)&&!RT(e)}function R$(e,t,r){let n,i;return"string"==typeof e?(i=t,n=r):(i=e.range.start,n=t),i||(i=R.create(0,0)),RI({index:0,tokens:RS({lines:RE(e),position:i,options:RF(n)}),position:i})}function Rb(e,t){let r=RF(t),n=RE(e);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function RE(e){return("string"==typeof e?e:e.text).split(an)}tA(Rv,"isTokenTypeArray"),tA(RT,"isIMultiModeLexerDefinition"),tA(RR,"isTokenTypeDictionary"),tP(),tA(R$,"parseJSDoc"),tA(Rb,"isJSDoc"),tA(RE,"getLines");var RC=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,RA=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function RS(e){let t=[],r=e.position.line,n=e.position.character;for(let i=0;i=o.length){if(t.length>0){let e=R.create(r,n);t.push({type:"break",content:"",range:$.create(e,e)})}}else{RC.lastIndex=l;let e=RC.exec(o);if(e){let i=e[0],a=e[1],s=R.create(r,n+l),u=R.create(r,n+l+i.length);t.push({type:"tag",content:a,range:$.create(s,u)}),l+=i.length,l=Rw(o,l)}if(l0&&"break"===t[t.length-1].type?t.slice(0,-1):t}function Rk(e,t,r,n){let i=[];if(0===e.length){let e=R.create(r,n),a=R.create(r,n+t.length);i.push({type:"text",content:t,range:$.create(e,a)})}else{let a=0;for(let s of e){let e=s.index,o=t.substring(a,e);o.length>0&&i.push({type:"text",content:t.substring(a,e),range:$.create(R.create(r,a+n),R.create(r,e+n))});let l=o.length+1,u=s[1];if(i.push({type:"inline-tag",content:u,range:$.create(R.create(r,a+l+n),R.create(r,a+l+u.length+n))}),l+=u.length,4===s.length){l+=s[2].length;let e=s[3];i.push({type:"text",content:e,range:$.create(R.create(r,a+l+n),R.create(r,a+l+e.length+n))})}else i.push({type:"text",content:"",range:$.create(R.create(r,a+l+n),R.create(r,a+l+n))});a=e+s[0].length}let s=t.substring(a);s.length>0&&i.push({type:"text",content:s,range:$.create(R.create(r,a+n),R.create(r,a+n+s.length))})}return i}tA(RS,"tokenize"),tA(Rk,"buildInlineTokens");var Rx=/\S/,RN=/\s*$/;function Rw(e,t){let r=e.substring(t).match(Rx);return r?t+r.index:e.length}function R_(e){let t=e.match(RN);if(t&&"number"==typeof t.index)return t.index}function RI(e){let t=R.create(e.position.line,e.position.character);if(0===e.tokens.length)return new RG([],$.create(t,t));let r=[];for(;e.indext.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=RB(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=RB(t)+n}return t.trim()}},Rq=class{static{tA(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return(1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e} ${t}`),this.inline)?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let r=RK(this.name,t,e??{});if("string"==typeof r)return r}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return(1===this.content.inlines.length?n=`${n} \u2014 ${t}`:this.content.inlines.length>1&&(n=`${n} ${t}`),this.inline)?`{${n}}`:n}};function RK(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){let n=t.indexOf(" "),i=t;if(n>0){let e=Rw(t,n);i=t.substring(e),t=t.substring(0,n)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(i=`\`${i}\``),r.renderLink?.(t,i)??RU(t,i)}}function RU(e,t){try{return TD.parse(e,!0),`[${t}](${e})`}catch{return e}}tA(RK,"renderInlineTag"),tA(RU,"renderLinkDefault");var RW=class{static{tA(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;tr.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let r=0;rn.range.start.line&&(t+="\n")}return t}},RV=class{static{tA(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function RB(e){return e.endsWith("\n")?"\n":"\n\n"}tA(RB,"fillNewlines");var RH=class{static{tA(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&Rb(t))return R$(t).toMarkdown({renderLink:tA((t,r)=>this.documentationLinkRenderer(e,t,r),"renderLink"),renderTag:tA(t=>this.documentationTagRenderer(e,t),"renderTag")})}documentationLinkRenderer(e,t,r){let n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){let e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,i=n.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${i.toString()})`}}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let r=rL(e).localSymbols;if(!r)return;let n=e;do{let e=r.getStream(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}},RY=class{static{tA(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return T3(e)?e.$comment:iM(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},RX=class{static{tA(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},RJ=class{static{tA(this,"AbstractThreadedAsyncParser")}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 t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let r,n=await this.acquireParserWorker(t),i=new Tk,a=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(e=>{let t=this.hydrator.hydrate(e);i.resolve(t)}).catch(e=>{i.reject(e)}).finally(()=>{a.dispose(),clearTimeout(r)}),i.promise}terminateWorker(e){e.terminate();let t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){for(let e of(this.initializeWorkers(),this.workerPool))if(e.ready)return e.lock(),e;let t=new Tk;return e.onCancellationRequested(()=>{let e=this.queue.indexOf(t);e>=0&&this.queue.splice(e,1),t.reject(TC)}),this.queue.push(t),t.promise}},RQ=class{static{tA(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new Ro.Emitter,this.deferred=new Tk,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),r(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(TC),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Tk,this.sendMessage(e),this.deferred.promise}},RZ=class{static{tA(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Tv.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=Tb();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=Tv.CancellationToken.None){let n=new Tk;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.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))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){TA(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},R0=class{static{tA(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new TW,this.tokenTypeIdMap=new TW,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(e=>({...e,message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of rG(e))t.set(r,{});if(e.$cstNode)for(let t of ix(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rg(a)?e.push(this.dehydrateAstNode(a,t)):ry(a)?e.push(this.dehydrateReference(a,t)):e.push(a)}else rg(i)?r[n]=this.dehydrateAstNode(i,t):ry(i)?r[n]=this.dehydrateReference(i,t):void 0!==i&&(r[n]=i);return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return rC(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),rb(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):rE(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t,r=new Map,n=new Map;for(let t of rG(e))r.set(t,{});if(e.$cstNode)for(let r of ix(e.$cstNode)){let e;"fullText"in r?t=e=new vB(r.fullText):"content"in r?e=new vW:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rg(a)?e.push(this.setParent(this.hydrateAstNode(a,t),r)):ry(a)?e.push(this.hydrateReference(a,r,n,t)):e.push(a)}else rg(i)?r[n]=this.setParent(this.hydrateAstNode(i,t),r):ry(i)?r[n]=this.hydrateReference(i,r,n,t):void 0!==i&&(r[n]=i);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),rb(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType);return new vU(e.offset,e.length,{start:{line:e.startLine,character:e.startColumn},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of rG(this.grammar))rX(t)&&this.grammarElementIdMap.set(t,e++)}};function R1(e){return{documentation:{CommentProvider:tA(e=>new RY(e),"CommentProvider"),DocumentationProvider:tA(e=>new RH(e),"DocumentationProvider")},parser:{AsyncParser:tA(e=>new RX(e),"AsyncParser"),GrammarConfig:tA(e=>aQ(e),"GrammarConfig"),LangiumParser:tA(e=>Th(e),"LangiumParser"),CompletionParser:tA(e=>Tf(e),"CompletionParser"),ValueConverter:tA(()=>new Ty,"ValueConverter"),TokenBuilder:tA(()=>new Tg,"TokenBuilder"),Lexer:tA(e=>new Ry(e),"Lexer"),ParserErrorMessageProvider:tA(()=>new v0,"ParserErrorMessageProvider"),LexerErrorMessageProvider:tA(()=>new Rm,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:tA(()=>new Rs,"AstNodeLocator"),AstNodeDescriptionProvider:tA(e=>new Ri(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:tA(e=>new Ra(e),"ReferenceDescriptionProvider")},references:{Linker:tA(e=>new Tz(e),"Linker"),NameProvider:tA(()=>new Tq,"NameProvider"),ScopeProvider:tA(e=>new T2(e),"ScopeProvider"),ScopeComputation:tA(e=>new TV(e),"ScopeComputation"),References:tA(e=>new TK(e),"References")},serializer:{Hydrator:tA(e=>new R0(e),"Hydrator"),JsonSerializer:tA(e=>new T4(e),"JsonSerializer")},validation:{DocumentValidator:tA(e=>new Re(e),"DocumentValidator"),ValidationRegistry:tA(e=>new T7(e),"ValidationRegistry")},shared:tA(()=>e.shared,"shared")}}function R2(e){return{ServiceRegistry:tA(e=>new T5(e),"ServiceRegistry"),workspace:{LangiumDocuments:tA(e=>new Tj(e),"LangiumDocuments"),LangiumDocumentFactory:tA(e=>new TM(e),"LangiumDocumentFactory"),DocumentBuilder:tA(e=>new Rd(e),"DocumentBuilder"),IndexManager:tA(e=>new Rf(e),"IndexManager"),WorkspaceManager:tA(e=>new Rh(e),"WorkspaceManager"),FileSystemProvider:tA(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:tA(()=>new RZ,"WorkspaceLock"),ConfigurationProvider:tA(e=>new Rl(e),"ConfigurationProvider")},profilers:{}}}function R3(e,t,r,n,i,a,s,o,l){return R5([e,t,r,n,i,a,s,o,l].reduce(R6,{}))}tA(R1,"createDefaultCoreModule"),tA(R2,"createDefaultSharedCoreModule"),(e8||(e8={})).merge=(e,t)=>R6(R6({},e),t),tA(R3,"inject");var R9=Symbol("isProxy");function R4(e){if(e&&e[R9])for(let t of Object.values(e))R4(t);return e}function R5(e,t){let r=new Proxy({},{deleteProperty:tA(()=>!1,"deleteProperty"),set:tA(()=>{throw Error("Cannot set property on injected service container")},"set"),get:tA((n,i)=>i===R9||R7(n,i,e,t||r),"get"),getOwnPropertyDescriptor:tA((n,i)=>(R7(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:tA((t,r)=>r in e,"has"),ownKeys:tA(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}tA(R4,"eagerLoad"),tA(R5,"_inject");var R8=Symbol();function R7(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===R8)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=R8;try{e[t]="function"==typeof i?i(n):R5(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function R6(e,t){if(t){for(let[r,n]of Object.entries(t))if(null!=n)if("object"==typeof n){let t=e[r];"object"==typeof t&&null!==t?e[r]=R6(t,n):e[r]=R6({},n)}else e[r]=n}return e}tA(R7,"_resolve"),tA(R6,"_merge");var $e={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(m=e7||(e7={})).REGULAR="indentation-sensitive",m.IGNORE_INDENTATION="ignore-indentation";var $t=class extends Tg{static{tA(this,"IndentationAwareTokenBuilder")}constructor(e=$e){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...$e,...e},this.indentTokenType=dU({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=dU({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let r,n,i,a=super.buildTokens(e,t);if(!Rv(a))throw Error("Invalid tokens built by default builder");let{indentTokenName:s,dedentTokenName:o,whitespaceTokenName:l,ignoreIndentationDelimiters:u}=this.options,c=[];for(let e of a){for(let[t,r]of u)e.name===t?e.PUSH_MODE=e7.IGNORE_INDENTATION:e.name===r&&(e.POP_MODE=!0);e.name===o?r=e:e.name===s?n=e:e.name===l?i=e:c.push(e)}if(!r||!n||!i)throw Error("Some indentation/whitespace tokens not found!");return u.length>0?{modes:{[e7.REGULAR]:[r,n,...c,i],[e7.IGNORE_INDENTATION]:[...c,i]},defaultMode:e7.REGULAR}:[r,n,i,...c]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return 0===t||"\r\n".includes(e[t-1])}matchWhitespace(e,t,r,n){this.whitespaceRegExp.lastIndex=t;let i=this.whitespaceRegExp.exec(e);return{currIndentLevel:i?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:i}}createIndentationTokenInstance(e,t,r,n){let i=this.getLineNumber(t,n);return dB(e,r,n,n+r.length,i,i,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);return i<=a?null:(this.indentationStack.push(i),s)}dedentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);if(i>=a)return null;let o=this.indentationStack.lastIndexOf(i);if(-1===o)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${i} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:s?.[0]?.length??0,line:this.getLineNumber(e,t),column:1}),null;let l=this.indentationStack.length-o-1,u=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let n=0;n1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},$r=class extends Ry{static{tA(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof $t)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=Rg){let r=super.tokenize(e),n=r.report;t?.mode==="full"&&r.tokens.push(...n.remainingDedents),n.remainingDedents=[];let{indentTokenType:i,dedentTokenType:a}=this.indentationTokenBuilder,s=i.tokenTypeIdx,o=a.tokenTypeIdx,l=[],u=r.tokens.length-1;for(let e=0;e=0&&l.push(r.tokens[u]),r.tokens=l,r}},$n={};tk($n,{AstUtils:()=>rI,BiMap:()=>TW,Cancellation:()=>Tv,ContextCache:()=>TZ,CstUtils:()=>rm,DONE_RESULT:()=>rN,Deferred:()=>Tk,Disposable:()=>e5,DisposableCache:()=>TJ,DocumentCache:()=>T0,EMPTY_STREAM:()=>rx,ErrorWithLocation:()=>iY,GrammarUtils:()=>iH,MultiMap:()=>TU,OperationCancelled:()=>TC,Reduction:()=>eB,RegExpUtils:()=>iQ,SimpleCache:()=>TQ,StreamImpl:()=>rA,TreeStreamImpl:()=>r_,URI:()=>TD,UriTrie:()=>TL,UriUtils:()=>e2,WorkspaceCache:()=>T1,assertCondition:()=>iJ,assertUnreachable:()=>iX,delayNextTick:()=>TT,interruptAndCheck:()=>TS,isOperationCancelled:()=>TA,loadGrammarFromJson:()=>$u,setInterruptionPeriod:()=>TE,startCancelableOperation:()=>Tb,stream:()=>rw}),tN($n,Ro);var $i=class{static{tA(this,"EmptyFileSystemProvider")}stat(e){throw Error("No file system is available.")}statSync(e){throw Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw Error("No file system is available.")}readBinarySync(){throw Error("No file system is available.")}readFile(){throw Error("No file system is available.")}readFileSync(){throw Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},$a={fileSystemProvider:tA(()=>new $i,"fileSystemProvider")},$s={Grammar:tA(()=>void 0,"Grammar"),LanguageMetaData:tA(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},$o={AstReflection:tA(()=>new iA,"AstReflection")};function $l(){let e=R3(R2($a),$o),t=R3(R1({shared:e}),$s);return e.ServiceRegistry.register(t),t}function $u(e){let t=$l(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,TD.parse(`memory:/${r.name??"grammar"}.langium`)),r}tA($l,"createMinimalGrammarServices"),tA($u,"loadGrammarFromJson"),tN(rh,$n);var $c=class{static{tA(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new TU}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(e=>this.activeCategories.add(e)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(e=>this.activeCategories.delete(e)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw Error(`Category "${e}" is not active.`);return new $p(t=>this.records.add(e,this.dumpRecord(e,t)),t)}dumpRecord(e,t){t.identifier,t.duration.toFixed(2),t.date.toISOString();let r=[];for(let e of t.entries.keys()){let n=t.entries.get(e),i=n.reduce((e,t)=>e+t);r.push({name:`${t.identifier}.${e}`,count:n.length,duration:i})}let n=t.duration-r.map(e=>e.duration).reduce((e,t)=>e+t,0);function i(e){return Math.round(100*e)/100}return r.push({name:t.identifier,count:1,duration:n}),r.sort((e,t)=>t.duration-e.duration),tA(i,"Round"),console.table(r.map(e=>({Element:e.name,Count:e.count,"Self %":i(100*e.duration/t.duration),"Time (ms)":i(e.duration)}))),t}getRecords(...e){return 0===e.length?this.records.values():this.records.entries().filter(t=>e.some(e=>e===t[0])).flatMap(e=>e[1])}},$p=class{static{tA(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new TU,this.addRecord=e,this.identifier=t}start(){if(void 0!==this.startTime)throw Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(void 0===this.startTime)throw Error(`Task "${this.identifier}" was not started.`);if(0!==this.stack.length)throw Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(e=>e.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 t=this.stack.pop();if(!t)throw Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw Error(`Sub-Task "${t.id}" is not already stopped.`);let r=performance.now()-t.start;void 0!==this.stack.at(-1)&&(this.stack[this.stack.length-1].content+=r);let n=r-t.content;this.entries.add(e,n)}};(e6||(e6={})).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 ]+)\]/},(te||(te={})).Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/},(tt||(tt={})).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])?/},(tr||(tr={})).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]*/},(tn||(tn={})).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]*/},(ti||(ti={})).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]*/},(ta||(ta={})).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]*/},(ts||(ts={})).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:/"[^"]*"|'[^']*'/},(to||(to={})).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]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/},(tl||(tl={})).Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,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:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,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]*/},e6.Terminals,te.Terminals,tt.Terminals,tr.Terminals,tn.Terminals,ti.Terminals,ta.Terminals,to.Terminals,ts.Terminals,tl.Terminals;var $d="Architecture";tA(function(e){return $I.isInstance(e,$d)},"isArchitecture");var $f="Axis",$h="Branch";tA(function(e){return $I.isInstance(e,$h)},"isBranch");var $m="Commit";tA(function(e){return $I.isInstance(e,$m)},"isCommit");var $g="EmDataEntity",$y="EmFrame",$v="EmModelEntity";tA(function(e){return"rmo"===e||"readmodel"===e||"ui"===e||"cmd"===e||"command"===e||"evt"===e||"event"===e||"pcr"===e||"processor"===e},"isEmModelEntityType");var $T="EmResetFrame";function $R(e){return $I.isInstance(e,$T)}tA($R,"isEmResetFrame");var $$="GitGraph";tA(function(e){return $I.isInstance(e,$$)},"isGitGraph");var $b="Info";tA(function(e){return $I.isInstance(e,$b)},"isInfo");var $E="Item",$C="Merge";tA(function(e){return $I.isInstance(e,$C)},"isMerge");var $A="Packet";tA(function(e){return $I.isInstance(e,$A)},"isPacket");var $S="PacketBlock";tA(function(e){return $I.isInstance(e,$S)},"isPacketBlock");tA(function(e){return $I.isInstance(e,"Pie")},"isPie");var $k="PieSection";tA(function(e){return $I.isInstance(e,$k)},"isPieSection");var $x="Statement",$N="Treemap";tA(function(e){return $I.isInstance(e,$N)},"isTreemap");var $w="Wardley";tA(function(e){return $I.isInstance(e,$w)},"isWardley");var $_=class extends r${constructor(){super(...arguments),this.types={Accelerator:{name:"Accelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Anchor:{name:"Anchor",properties:{evolution:{name:"evolution"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Annotation:{name:"Annotation",properties:{number:{name:"number"},text:{name:"text"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Annotations:{name:"Annotations",properties:{x:{name:"x"},y:{name:"y"}},superTypes:[]},Architecture:{name:$d,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},edges:{name:"edges",defaultValue:[]},groups:{name:"groups",defaultValue:[]},junctions:{name:"junctions",defaultValue:[]},services:{name:"services",defaultValue:[]},title:{name:"title"}},superTypes:[]},Axis:{name:$f,properties:{label:{name:"label"},name:{name:"name"}},superTypes:[]},Branch:{name:$h,properties:{name:{name:"name"},order:{name:"order"}},superTypes:[$x]},Checkout:{name:"Checkout",properties:{branch:{name:"branch"}},superTypes:[$x]},CherryPicking:{name:"CherryPicking",properties:{id:{name:"id"},parent:{name:"parent"},tags:{name:"tags",defaultValue:[]}},superTypes:[$x]},ClassDefStatement:{name:"ClassDefStatement",properties:{className:{name:"className"},styleText:{name:"styleText"}},superTypes:[]},Commit:{name:$m,properties:{id:{name:"id"},message:{name:"message"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[$x]},Common:{name:"Common",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Component:{name:"Component",properties:{decorator:{name:"decorator"},evolution:{name:"evolution"},inertia:{name:"inertia",defaultValue:!1},label:{name:"label"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Curve:{name:"Curve",properties:{entries:{name:"entries",defaultValue:[]},label:{name:"label"},name:{name:"name"}},superTypes:[]},Deaccelerator:{name:"Deaccelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Decorator:{name:"Decorator",properties:{strategy:{name:"strategy"}},superTypes:[]},Direction:{name:"Direction",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dir:{name:"dir"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[$$]},Edge:{name:"Edge",properties:{lhsDir:{name:"lhsDir"},lhsGroup:{name:"lhsGroup",defaultValue:!1},lhsId:{name:"lhsId"},lhsInto:{name:"lhsInto",defaultValue:!1},rhsDir:{name:"rhsDir"},rhsGroup:{name:"rhsGroup",defaultValue:!1},rhsId:{name:"rhsId"},rhsInto:{name:"rhsInto",defaultValue:!1},title:{name:"title"}},superTypes:[]},EmDataEntity:{name:$g,properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},name:{name:"name"}},superTypes:[]},EmFrame:{name:$y,properties:{},superTypes:[]},EmGwt:{name:"EmGwt",properties:{givenStatements:{name:"givenStatements",defaultValue:[]},sourceFrame:{name:"sourceFrame",referenceType:$y},thenStatements:{name:"thenStatements",defaultValue:[]},whenStatements:{name:"whenStatements",defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:"EmGwtStatement",properties:{entityIdentifier:{name:"entityIdentifier",referenceType:$v}},superTypes:[]},EmModelEntity:{name:$v,properties:{name:{name:"name"}},superTypes:[]},EmNoteEntity:{name:"EmNoteEntity",properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},sourceFrame:{name:"sourceFrame",referenceType:$y}},superTypes:[]},EmResetFrame:{name:$T,properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:$g},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:$y}},superTypes:[$y]},EmTimeFrame:{name:"EmTimeFrame",properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:$g},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:$y}},superTypes:[$y]},Entry:{name:"Entry",properties:{axis:{name:"axis",referenceType:$f},value:{name:"value"}},superTypes:[]},EventModel:{name:"EventModel",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dataEntities:{name:"dataEntities",defaultValue:[]},frames:{name:"frames",defaultValue:[]},gwtEntities:{name:"gwtEntities",defaultValue:[]},modelEntities:{name:"modelEntities",defaultValue:[]},noteEntities:{name:"noteEntities",defaultValue:[]},title:{name:"title"}},superTypes:[]},Evolution:{name:"Evolution",properties:{stages:{name:"stages",defaultValue:[]}},superTypes:[]},EvolutionStage:{name:"EvolutionStage",properties:{boundary:{name:"boundary"},name:{name:"name"},secondName:{name:"secondName"}},superTypes:[]},Evolve:{name:"Evolve",properties:{component:{name:"component"},target:{name:"target"}},superTypes:[]},GitGraph:{name:$$,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[]},Group:{name:"Group",properties:{icon:{name:"icon"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Info:{name:$b,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Item:{name:$E,properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[]},Junction:{name:"Junction",properties:{id:{name:"id"},in:{name:"in"}},superTypes:[]},Label:{name:"Label",properties:{negX:{name:"negX",defaultValue:!1},negY:{name:"negY",defaultValue:!1},offsetX:{name:"offsetX"},offsetY:{name:"offsetY"}},superTypes:[]},Leaf:{name:"Leaf",properties:{classSelector:{name:"classSelector"},name:{name:"name"},value:{name:"value"}},superTypes:[$E]},Link:{name:"Link",properties:{arrow:{name:"arrow"},from:{name:"from"},fromPort:{name:"fromPort"},linkLabel:{name:"linkLabel"},to:{name:"to"},toPort:{name:"toPort"}},superTypes:[]},Merge:{name:$C,properties:{branch:{name:"branch"},id:{name:"id"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[$x]},Note:{name:"Note",properties:{evolution:{name:"evolution"},text:{name:"text"},visibility:{name:"visibility"}},superTypes:[]},Option:{name:"Option",properties:{name:{name:"name"},value:{name:"value",defaultValue:!1}},superTypes:[]},Packet:{name:$A,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},blocks:{name:"blocks",defaultValue:[]},title:{name:"title"}},superTypes:[]},PacketBlock:{name:$S,properties:{bits:{name:"bits"},end:{name:"end"},label:{name:"label"},start:{name:"start"}},superTypes:[]},Pie:{name:"Pie",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},sections:{name:"sections",defaultValue:[]},showData:{name:"showData",defaultValue:!1},title:{name:"title"}},superTypes:[]},PieSection:{name:$k,properties:{label:{name:"label"},value:{name:"value"}},superTypes:[]},Pipeline:{name:"Pipeline",properties:{components:{name:"components",defaultValue:[]},parent:{name:"parent"}},superTypes:[]},PipelineComponent:{name:"PipelineComponent",properties:{evolution:{name:"evolution"},label:{name:"label"},name:{name:"name"}},superTypes:[]},Radar:{name:"Radar",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},axes:{name:"axes",defaultValue:[]},curves:{name:"curves",defaultValue:[]},options:{name:"options",defaultValue:[]},title:{name:"title"}},superTypes:[]},Section:{name:"Section",properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[$E]},Service:{name:"Service",properties:{icon:{name:"icon"},iconText:{name:"iconText"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Size:{name:"Size",properties:{height:{name:"height"},width:{name:"width"}},superTypes:[]},Statement:{name:$x,properties:{},superTypes:[]},TreeNode:{name:"TreeNode",properties:{indent:{name:"indent"},name:{name:"name"}},superTypes:[]},TreeView:{name:"TreeView",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},nodes:{name:"nodes",defaultValue:[]},title:{name:"title"}},superTypes:[]},Treemap:{name:$N,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"},TreemapRows:{name:"TreemapRows",defaultValue:[]}},superTypes:[]},TreemapRow:{name:"TreemapRow",properties:{indent:{name:"indent"},item:{name:"item"}},superTypes:[]},Wardley:{name:$w,properties:{accDescr:{name:"accDescr"},accelerators:{name:"accelerators",defaultValue:[]},accTitle:{name:"accTitle"},anchors:{name:"anchors",defaultValue:[]},annotation:{name:"annotation",defaultValue:[]},annotations:{name:"annotations",defaultValue:[]},components:{name:"components",defaultValue:[]},deaccelerators:{name:"deaccelerators",defaultValue:[]},evolution:{name:"evolution"},evolves:{name:"evolves",defaultValue:[]},links:{name:"links",defaultValue:[]},notes:{name:"notes",defaultValue:[]},pipelines:{name:"pipelines",defaultValue:[]},size:{name:"size"},title:{name:"title"}},superTypes:[]}}}static{tA(this,"MermaidAstReflection")}},$I=new $_,$P=tA(()=>tu??(tu=$u('{"$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"),$D=tA(()=>tc??(tc=$u('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),$O=tA(()=>tp??(tp=$u('{"$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"),$L=tA(()=>td??(td=$u('{"$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"),$M=tA(()=>tf??(tf=$u('{"$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"),$j=tA(()=>th??(th=$u('{"$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"),$F=tA(()=>tm??(tm=$u('{"$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"),$z=tA(()=>tg??(tg=$u('{"$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"),$G=tA(()=>ty??(ty=$u('{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$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":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$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":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"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 * TreeView grammar for Langium\\n * Converted from treemap 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 * treeView declaration.\\n */"}')),"TreeViewGrammarGrammar"),$q=tA(()=>tv??(tv=$u('{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"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":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"--\x3e"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"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@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"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@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"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":[]}')),"WardleyGrammarGrammar"),$K={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$U={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$W={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$V={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$B={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$H={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$Y={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$X={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$J={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$Q={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$Z={AstReflection:tA(()=>new $_,"AstReflection")},$0={Grammar:tA(()=>$P(),"Grammar"),LanguageMetaData:tA(()=>$K,"LanguageMetaData"),parser:{}},$1={Grammar:tA(()=>$D(),"Grammar"),LanguageMetaData:tA(()=>$U,"LanguageMetaData"),parser:{}},$2={Grammar:tA(()=>$O(),"Grammar"),LanguageMetaData:tA(()=>$W,"LanguageMetaData"),parser:{}},$3={Grammar:tA(()=>$L(),"Grammar"),LanguageMetaData:tA(()=>$V,"LanguageMetaData"),parser:{}},$9={Grammar:tA(()=>$M(),"Grammar"),LanguageMetaData:tA(()=>$B,"LanguageMetaData"),parser:{}},$4={Grammar:tA(()=>$j(),"Grammar"),LanguageMetaData:tA(()=>$H,"LanguageMetaData"),parser:{}},$5={Grammar:tA(()=>$F(),"Grammar"),LanguageMetaData:tA(()=>$Y,"LanguageMetaData"),parser:{}},$8={Grammar:tA(()=>$z(),"Grammar"),LanguageMetaData:tA(()=>$X,"LanguageMetaData"),parser:{}},$7={Grammar:tA(()=>$G(),"Grammar"),LanguageMetaData:tA(()=>$J,"LanguageMetaData"),parser:{}},$6={Grammar:tA(()=>$q(),"Grammar"),LanguageMetaData:tA(()=>$Q,"LanguageMetaData"),parser:{}},be={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},bt=class extends Ty{static{tA(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return(void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=be[e.name];if(void 0===n)return;let i=n.exec(t);if(null!==i){if(void 0!==i[1])return i[1].trim().replace(/[\t ]{2,}/gm," ");if(void 0!==i[2])return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n")}}},br=class extends bt{static{tA(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},bn=class extends Tg{static{tA(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends bn{static{tA(this,"CommonTokenBuilder")}})},83619(e,t,r){r.d(t,{J:()=>s});var n=r(48300),i=class extends n.dg{static{(0,n.K2)(this,"WardleyValueConverter")}runCustomConverter(e,t,r){return"LINK_LABEL"===e.name.toUpperCase()?t.substring(1).trim():void 0}},a={parser:{ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Xr,a);return t.ServiceRegistry.register(r),{shared:t,Wardley:r}}(0,n.K2)(s,"createWardleyServices")},21436(e,t,r){r.d(t,{b:()=>s});var n=r(48300),i=class extends n.mR{static{(0,n.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.d$,a);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}(0,n.K2)(s,"createGitGraphServices")},52028(e,t,r){r.d(t,{I:()=>o});var n=r(48300),i=class extends n.dg{static{(0,n.K2)(this,"TreeViewValueConverter")}runCustomConverter(e,t,r){return"INDENTATION"===e.name?t?.length||0:"STRING2"===e.name?t.substring(1,t.length-1):void 0}},a=class extends n.mR{static{(0,n.K2)(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},s={parser:{TokenBuilder:(0,n.K2)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.CZ,s);return t.ServiceRegistry.register(r),{shared:t,TreeView:r}}(0,n.K2)(o,"createTreeViewServices")},45617(e,t,r){r.d(t,{F5:()=>n.F5,qg:()=>s}),r(94574),r(69051),r(83619),r(21436),r(81561),r(83954),r(84534),r(52028),r(71466),r(32926);var n=r(48300),i={},a={info:(0,n.K2)(async()=>{let{createInfoServices:e}=await r.e("9991").then(r.bind(r,88218));i.info=e().Info.parser.LangiumParser},"info"),packet:(0,n.K2)(async()=>{let{createPacketServices:e}=await r.e("871").then(r.bind(r,41898));i.packet=e().Packet.parser.LangiumParser},"packet"),pie:(0,n.K2)(async()=>{let{createPieServices:e}=await r.e("4444").then(r.bind(r,951));i.pie=e().Pie.parser.LangiumParser},"pie"),treeView:(0,n.K2)(async()=>{let{createTreeViewServices:e}=await r.e("5697").then(r.bind(r,10040));i.treeView=e().TreeView.parser.LangiumParser},"treeView"),architecture:(0,n.K2)(async()=>{let{createArchitectureServices:e}=await r.e("7109").then(r.bind(r,12452));i.architecture=e().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,n.K2)(async()=>{let{createGitGraphServices:e}=await r.e("2838").then(r.bind(r,25893));i.gitGraph=e().GitGraph.parser.LangiumParser},"gitGraph"),eventmodeling:(0,n.K2)(async()=>{let{createEventModelingServices:e}=await r.e("8266").then(r.bind(r,16449));i.eventmodeling=e().EventModel.parser.LangiumParser},"eventmodeling"),radar:(0,n.K2)(async()=>{let{createRadarServices:e}=await r.e("1079").then(r.bind(r,666));i.radar=e().Radar.parser.LangiumParser},"radar"),treemap:(0,n.K2)(async()=>{let{createTreemapServices:e}=await r.e("9765").then(r.bind(r,5988));i.treemap=e().Treemap.parser.LangiumParser},"treemap"),wardley:(0,n.K2)(async()=>{let{createWardleyServices:e}=await r.e("5530").then(r.bind(r,15393));i.wardley=e().Wardley.parser.LangiumParser},"wardley")};async function s(e,t){let r=a[e];if(!r)throw Error(`Unknown diagram type: ${e}`);i[e]||await r();let n=i[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new o(n);return n.value}(0,n.K2)(s,"parse");var o=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>{let t=void 0===e.line||isNaN(e.line)?"?":e.line,r=void 0===e.column||isNaN(e.column)?"?":e.column;return`Lexer error on line ${t}, column ${r}: ${e.message}`}).join("\n"),r=e.parserErrors.map(e=>{let t=void 0===e.token.startLine||isNaN(e.token.startLine)?"?":e.token.startLine,r=void 0===e.token.startColumn||isNaN(e.token.startColumn)?"?":e.token.startColumn;return`Parse error on line ${t}, column ${r}: ${e.message}`}).join("\n");super(`Parsing failed: ${t} ${r}`),this.result=e}static{(0,n.K2)(this,"MermaidParseError")}}}};