@nowline/embed 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,101 +1,101 @@
1
- /*! @nowline/embed 0.5.0 sha=04bdff9 built=2026-06-01T06:46:51Z */
2
- "use strict";var nowline=(()=>{var NC=Object.create;var vc=Object.defineProperty;var PC=Object.getOwnPropertyDescriptor;var CC=Object.getOwnPropertyNames;var OC=Object.getPrototypeOf,LC=Object.prototype.hasOwnProperty;var DC=(t,e,r)=>e in t?vc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ZE=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),sn=(t,e)=>{for(var r in e)vc(t,r,{get:e[r],enumerable:!0})},of=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of CC(e))!LC.call(t,i)&&i!==r&&vc(t,i,{get:()=>e[i],enumerable:!(n=PC(e,i))||n.enumerable});return t},Se=(t,e,r)=>(of(t,e,"default"),r&&of(r,e,"default")),mm=(t,e,r)=>(r=t!=null?NC(OC(t)):{},of(e||!t||!t.__esModule?vc(r,"default",{value:t,enumerable:!0}):r,t)),sf=t=>of(vc({},"__esModule",{value:!0}),t);var de=(t,e,r)=>DC(t,typeof e!="symbol"?e+"":e,r);var Vd={};sn(Vd,{AnnotatedTextEdit:()=>qn,ChangeAnnotation:()=>No,ChangeAnnotationIdentifier:()=>Dt,CodeAction:()=>Ny,CodeActionContext:()=>ky,CodeActionKind:()=>Iy,CodeActionTriggerKind:()=>xl,CodeDescription:()=>oy,CodeLens:()=>Py,Color:()=>Gd,ColorInformation:()=>Qg,ColorPresentation:()=>ey,Command:()=>Po,CompletionItem:()=>gy,CompletionItemKind:()=>uy,CompletionItemLabelDetails:()=>my,CompletionItemTag:()=>dy,CompletionList:()=>yy,CreateFile:()=>ra,DeleteFile:()=>ia,Diagnostic:()=>hl,DiagnosticRelatedInformation:()=>Xd,DiagnosticSeverity:()=>ny,DiagnosticTag:()=>iy,DocumentHighlight:()=>vy,DocumentHighlightKind:()=>Ey,DocumentLink:()=>Oy,DocumentSymbol:()=>Sy,DocumentUri:()=>Kg,EOL:()=>qF,FoldingRange:()=>ry,FoldingRangeKind:()=>ty,FormattingOptions:()=>Cy,Hover:()=>xy,InlayHint:()=>Xy,InlayHintKind:()=>qd,InlayHintLabelPart:()=>Wd,InlineCompletionContext:()=>Vy,InlineCompletionItem:()=>jy,InlineCompletionList:()=>zy,InlineCompletionTriggerKind:()=>qy,InlineValueContext:()=>Gy,InlineValueEvaluatableExpression:()=>By,InlineValueText:()=>Fy,InlineValueVariableLookup:()=>Uy,InsertReplaceEdit:()=>py,InsertTextFormat:()=>fy,InsertTextMode:()=>hy,Location:()=>pl,LocationLink:()=>Jg,MarkedString:()=>yl,MarkupContent:()=>oa,MarkupKind:()=>zd,OptionalVersionedTextDocumentIdentifier:()=>gl,ParameterInformation:()=>Ty,Position:()=>Ie,Range:()=>Ee,RenameFile:()=>na,SelectedCompletionInfo:()=>Wy,SelectionRange:()=>Ly,SemanticTokenModifiers:()=>$y,SemanticTokenTypes:()=>Dy,SemanticTokens:()=>My,SignatureInformation:()=>_y,StringValue:()=>Hy,SymbolInformation:()=>wy,SymbolKind:()=>Ry,SymbolTag:()=>by,TextDocument:()=>Ky,TextDocumentEdit:()=>ml,TextDocumentIdentifier:()=>ay,TextDocumentItem:()=>ly,TextEdit:()=>hn,URI:()=>Bd,VersionedTextDocumentIdentifier:()=>cy,WorkspaceChange:()=>sy,WorkspaceEdit:()=>Hd,WorkspaceFolder:()=>Yy,WorkspaceSymbol:()=>Ay,integer:()=>Zg,uinteger:()=>dl});var Kg,Bd,Zg,dl,Ie,Ee,pl,Jg,Gd,Qg,ey,ty,ry,Xd,ny,iy,oy,hl,Po,hn,No,Dt,qn,ml,ra,na,ia,Hd,ta,jd,sy,ay,cy,gl,ly,zd,oa,uy,fy,dy,py,hy,my,gy,yy,yl,xy,Ty,_y,Ey,vy,Ry,by,wy,Ay,Sy,Iy,xl,ky,Ny,Py,Cy,Oy,Ly,Dy,$y,My,Fy,Uy,By,Gy,qd,Wd,Xy,Hy,jy,zy,qy,Wy,Vy,Yy,qF,Ky,Zy,b,sa=ZE(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(Kg||(Kg={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Bd||(Bd={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Zg||(Zg={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(dl||(dl={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=dl.MAX_VALUE),i===Number.MAX_VALUE&&(i=dl.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.line)&&b.uinteger(i.character)}t.is=r})(Ie||(Ie={}));(function(t){function e(n,i,o,s){if(b.uinteger(n)&&b.uinteger(i)&&b.uinteger(o)&&b.uinteger(s))return{start:Ie.create(n,i),end:Ie.create(o,s)};if(Ie.is(n)&&Ie.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.start)&&Ie.is(i.end)}t.is=r})(Ee||(Ee={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&(b.string(i.uri)||b.undefined(i.uri))}t.is=r})(pl||(pl={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.targetRange)&&b.string(i.targetUri)&&Ee.is(i.targetSelectionRange)&&(Ee.is(i.originSelectionRange)||b.undefined(i.originSelectionRange))}t.is=r})(Jg||(Jg={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.numberRange(i.red,0,1)&&b.numberRange(i.green,0,1)&&b.numberRange(i.blue,0,1)&&b.numberRange(i.alpha,0,1)}t.is=r})(Gd||(Gd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&Gd.is(i.color)}t.is=r})(Qg||(Qg={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.undefined(i.textEdit)||hn.is(i))&&(b.undefined(i.additionalTextEdits)||b.typedArray(i.additionalTextEdits,hn.is))}t.is=r})(ey||(ey={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(ty||(ty={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return b.defined(o)&&(l.startCharacter=o),b.defined(s)&&(l.endCharacter=s),b.defined(a)&&(l.kind=a),b.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.startLine)&&b.uinteger(i.startLine)&&(b.undefined(i.startCharacter)||b.uinteger(i.startCharacter))&&(b.undefined(i.endCharacter)||b.uinteger(i.endCharacter))&&(b.undefined(i.kind)||b.string(i.kind))}t.is=r})(ry||(ry={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&pl.is(i.location)&&b.string(i.message)}t.is=r})(Xd||(Xd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(ny||(ny={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(iy||(iy={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&b.string(n.href)}t.is=e})(oy||(oy={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return b.defined(o)&&(l.severity=o),b.defined(s)&&(l.code=s),b.defined(a)&&(l.source=a),b.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return b.defined(o)&&Ee.is(o.range)&&b.string(o.message)&&(b.number(o.severity)||b.undefined(o.severity))&&(b.integer(o.code)||b.string(o.code)||b.undefined(o.code))&&(b.undefined(o.codeDescription)||b.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(b.string(o.source)||b.undefined(o.source))&&(b.undefined(o.relatedInformation)||b.typedArray(o.relatedInformation,Xd.is))}t.is=r})(hl||(hl={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return b.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.title)&&b.string(i.command)}t.is=r})(Po||(Po={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return b.objectLiteral(s)&&b.string(s.newText)&&Ee.is(s.range)}t.is=i})(hn||(hn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(b.string(i.description)||i.description===void 0)}t.is=r})(No||(No={}));(function(t){function e(r){let n=r;return b.string(n)}t.is=e})(Dt||(Dt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return hn.is(s)&&(No.is(s.annotationId)||Dt.is(s.annotationId))}t.is=i})(qn||(qn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&gl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(ml||(ml={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&b.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(ra||(ra={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&b.string(i.oldUri)&&b.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(na||(na={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&b.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||b.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||b.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(ia||(ia={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>b.string(i.kind)?ra.is(i)||na.is(i)||ia.is(i):ml.is(i)))}t.is=e})(Hd||(Hd={}));ta=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=hn.insert(e,r):Dt.is(n)?(o=n,i=qn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=qn.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=hn.replace(e,r):Dt.is(n)?(o=n,i=qn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=qn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=hn.del(e):Dt.is(r)?(i=r,n=qn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=qn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},jd=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Dt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},sy=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new jd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(ml.is(r)){let n=new ta(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new ta(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(gl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new ta(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new ta(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new jd,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;No.is(r)||Dt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ra.create(e,n):(s=Dt.is(i)?i:this._changeAnnotations.manage(i),o=ra.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;No.is(n)||Dt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=na.create(e,r,i):(a=Dt.is(o)?o:this._changeAnnotations.manage(o),s=na.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;No.is(r)||Dt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ia.create(e,n):(s=Dt.is(i)?i:this._changeAnnotations.manage(i),o=ia.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)}t.is=r})(ay||(ay={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.integer(i.version)}t.is=r})(cy||(cy={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&(i.version===null||b.integer(i.version))}t.is=r})(gl||(gl={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.string(i.languageId)&&b.integer(i.version)&&b.string(i.text)}t.is=r})(ly||(ly={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(zd||(zd={}));(function(t){function e(r){let n=r;return b.objectLiteral(r)&&zd.is(n.kind)&&b.string(n.value)}t.is=e})(oa||(oa={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(uy||(uy={}));(function(t){t.PlainText=1,t.Snippet=2})(fy||(fy={}));(function(t){t.Deprecated=1})(dy||(dy={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&b.string(i.newText)&&Ee.is(i.insert)&&Ee.is(i.replace)}t.is=r})(py||(py={}));(function(t){t.asIs=1,t.adjustIndentation=2})(hy||(hy={}));(function(t){function e(r){let n=r;return n&&(b.string(n.detail)||n.detail===void 0)&&(b.string(n.description)||n.description===void 0)}t.is=e})(my||(my={}));(function(t){function e(r){return{label:r}}t.create=e})(gy||(gy={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(yy||(yy={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return b.string(i)||b.objectLiteral(i)&&b.string(i.language)&&b.string(i.value)}t.is=r})(yl||(yl={}));(function(t){function e(r){let n=r;return!!n&&b.objectLiteral(n)&&(oa.is(n.contents)||yl.is(n.contents)||b.typedArray(n.contents,yl.is))&&(r.range===void 0||Ee.is(r.range))}t.is=e})(xy||(xy={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(Ty||(Ty={}));(function(t){function e(r,n,...i){let o={label:r};return b.defined(n)&&(o.documentation=n),b.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(_y||(_y={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Ey||(Ey={}));(function(t){function e(r,n){let i={range:r};return b.number(n)&&(i.kind=n),i}t.create=e})(vy||(vy={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Ry||(Ry={}));(function(t){t.Deprecated=1})(by||(by={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(wy||(wy={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(Ay||(Ay={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&b.string(i.name)&&b.number(i.kind)&&Ee.is(i.range)&&Ee.is(i.selectionRange)&&(i.detail===void 0||b.string(i.detail))&&(i.deprecated===void 0||b.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Sy||(Sy={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Iy||(Iy={}));(function(t){t.Invoked=1,t.Automatic=2})(xl||(xl={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.typedArray(i.diagnostics,hl.is)&&(i.only===void 0||b.typedArray(i.only,b.string))&&(i.triggerKind===void 0||i.triggerKind===xl.Invoked||i.triggerKind===xl.Automatic)}t.is=r})(ky||(ky={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):Po.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&b.string(i.title)&&(i.diagnostics===void 0||b.typedArray(i.diagnostics,hl.is))&&(i.kind===void 0||b.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Po.is(i.command))&&(i.isPreferred===void 0||b.boolean(i.isPreferred))&&(i.edit===void 0||Hd.is(i.edit))}t.is=r})(Ny||(Ny={}));(function(t){function e(n,i){let o={range:n};return b.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(i.range)&&(b.undefined(i.command)||Po.is(i.command))}t.is=r})(Py||(Py={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.uinteger(i.tabSize)&&b.boolean(i.insertSpaces)}t.is=r})(Cy||(Cy={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(i.range)&&(b.undefined(i.target)||b.string(i.target))}t.is=r})(Oy||(Oy={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Ly||(Ly={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Dy||(Dy={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})($y||($y={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(My||(My={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&b.string(i.text)}t.is=r})(Fy||(Fy={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&b.boolean(i.caseSensitiveLookup)&&(b.string(i.variableName)||i.variableName===void 0)}t.is=r})(Uy||(Uy={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&(b.string(i.expression)||i.expression===void 0)}t.is=r})(By||(By={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(n.stoppedLocation)}t.is=r})(Gy||(Gy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(qd||(qd={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&(i.tooltip===void 0||b.string(i.tooltip)||oa.is(i.tooltip))&&(i.location===void 0||pl.is(i.location))&&(i.command===void 0||Po.is(i.command))}t.is=r})(Wd||(Wd={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.position)&&(b.string(i.label)||b.typedArray(i.label,Wd.is))&&(i.kind===void 0||qd.is(i.kind))&&i.textEdits===void 0||b.typedArray(i.textEdits,hn.is)&&(i.tooltip===void 0||b.string(i.tooltip)||oa.is(i.tooltip))&&(i.paddingLeft===void 0||b.boolean(i.paddingLeft))&&(i.paddingRight===void 0||b.boolean(i.paddingRight))}t.is=r})(Xy||(Xy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Hy||(Hy={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(jy||(jy={}));(function(t){function e(r){return{items:r}}t.create=e})(zy||(zy={}));(function(t){t.Invoked=0,t.Automatic=1})(qy||(qy={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Wy||(Wy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Vy||(Vy={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&Bd.is(n.uri)&&b.string(n.name)}t.is=e})(Yy||(Yy={}));qF=[`
1
+ /*! @nowline/embed 0.6.0 sha=e2e4d9d built=2026-06-06T04:33:35Z */
2
+ "use strict";var nowline=(()=>{var GP=Object.create;var bc=Object.defineProperty;var XP=Object.getOwnPropertyDescriptor;var HP=Object.getOwnPropertyNames;var jP=Object.getPrototypeOf,zP=Object.prototype.hasOwnProperty;var qP=(t,e,r)=>e in t?bc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var o0=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rn=(t,e)=>{for(var r in e)bc(t,r,{get:e[r],enumerable:!0})},ff=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of HP(e))!zP.call(t,i)&&i!==r&&bc(t,i,{get:()=>e[i],enumerable:!(n=XP(e,i))||n.enumerable});return t},Ie=(t,e,r)=>(ff(t,e,"default"),r&&ff(r,e,"default")),Tm=(t,e,r)=>(r=t!=null?GP(jP(t)):{},ff(e||!t||!t.__esModule?bc(r,"default",{value:t,enumerable:!0}):r,t)),df=t=>ff(bc({},"__esModule",{value:!0}),t);var de=(t,e,r)=>qP(t,typeof e!="symbol"?e+"":e,r);var ep={};rn(ep,{AnnotatedTextEdit:()=>Hn,ChangeAnnotation:()=>Po,ChangeAnnotationIdentifier:()=>Lt,CodeAction:()=>Dy,CodeActionContext:()=>Ly,CodeActionKind:()=>Oy,CodeActionTriggerKind:()=>bl,CodeDescription:()=>uy,CodeLens:()=>$y,Color:()=>Wd,ColorInformation:()=>iy,ColorPresentation:()=>oy,Command:()=>Oo,CompletionItem:()=>Ey,CompletionItemKind:()=>my,CompletionItemLabelDetails:()=>_y,CompletionItemTag:()=>yy,CompletionList:()=>vy,CreateFile:()=>oa,DeleteFile:()=>aa,Diagnostic:()=>El,DiagnosticRelatedInformation:()=>Vd,DiagnosticSeverity:()=>cy,DiagnosticTag:()=>ly,DocumentHighlight:()=>Iy,DocumentHighlightKind:()=>Ay,DocumentLink:()=>Fy,DocumentSymbol:()=>Py,DocumentUri:()=>ty,EOL:()=>l2,FoldingRange:()=>ay,FoldingRangeKind:()=>sy,FormattingOptions:()=>My,Hover:()=>Ry,InlayHint:()=>Wy,InlayHintKind:()=>Jd,InlayHintLabelPart:()=>Qd,InlineCompletionContext:()=>Qy,InlineCompletionItem:()=>Yy,InlineCompletionList:()=>Ky,InlineCompletionTriggerKind:()=>Zy,InlineValueContext:()=>qy,InlineValueEvaluatableExpression:()=>zy,InlineValueText:()=>Hy,InlineValueVariableLookup:()=>jy,InsertReplaceEdit:()=>xy,InsertTextFormat:()=>gy,InsertTextMode:()=>Ty,Location:()=>_l,LocationLink:()=>ny,MarkedString:()=>wl,MarkupContent:()=>ca,MarkupKind:()=>Zd,OptionalVersionedTextDocumentIdentifier:()=>Rl,ParameterInformation:()=>wy,Position:()=>Se,Range:()=>Ee,RenameFile:()=>sa,SelectedCompletionInfo:()=>Jy,SelectionRange:()=>Uy,SemanticTokenModifiers:()=>Gy,SemanticTokenTypes:()=>By,SemanticTokens:()=>Xy,SignatureInformation:()=>by,StringValue:()=>Vy,SymbolInformation:()=>Ny,SymbolKind:()=>Sy,SymbolTag:()=>ky,TextDocument:()=>tx,TextDocumentEdit:()=>vl,TextDocumentIdentifier:()=>dy,TextDocumentItem:()=>hy,TextEdit:()=>fn,URI:()=>qd,VersionedTextDocumentIdentifier:()=>py,WorkspaceChange:()=>fy,WorkspaceEdit:()=>Yd,WorkspaceFolder:()=>ex,WorkspaceSymbol:()=>Cy,integer:()=>ry,uinteger:()=>Tl});var ty,qd,ry,Tl,Se,Ee,_l,ny,Wd,iy,oy,sy,ay,Vd,cy,ly,uy,El,Oo,fn,Po,Lt,Hn,vl,oa,sa,aa,Yd,ia,Kd,fy,dy,py,Rl,hy,Zd,ca,my,gy,yy,xy,Ty,_y,Ey,vy,wl,Ry,wy,by,Ay,Iy,Sy,ky,Ny,Cy,Py,Oy,bl,Ly,Dy,$y,My,Fy,Uy,By,Gy,Xy,Hy,jy,zy,qy,Jd,Qd,Wy,Vy,Yy,Ky,Zy,Jy,Qy,ex,l2,tx,rx,w,la=o0(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(ty||(ty={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(qd||(qd={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(ry||(ry={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Tl||(Tl={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Tl.MAX_VALUE),i===Number.MAX_VALUE&&(i=Tl.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.uinteger(i.line)&&w.uinteger(i.character)}t.is=r})(Se||(Se={}));(function(t){function e(n,i,o,s){if(w.uinteger(n)&&w.uinteger(i)&&w.uinteger(o)&&w.uinteger(s))return{start:Se.create(n,i),end:Se.create(o,s)};if(Se.is(n)&&Se.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Se.is(i.start)&&Se.is(i.end)}t.is=r})(Ee||(Ee={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.range)&&(w.string(i.uri)||w.undefined(i.uri))}t.is=r})(_l||(_l={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.targetRange)&&w.string(i.targetUri)&&Ee.is(i.targetSelectionRange)&&(Ee.is(i.originSelectionRange)||w.undefined(i.originSelectionRange))}t.is=r})(ny||(ny={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.numberRange(i.red,0,1)&&w.numberRange(i.green,0,1)&&w.numberRange(i.blue,0,1)&&w.numberRange(i.alpha,0,1)}t.is=r})(Wd||(Wd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.range)&&Wd.is(i.color)}t.is=r})(iy||(iy={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.string(i.label)&&(w.undefined(i.textEdit)||fn.is(i))&&(w.undefined(i.additionalTextEdits)||w.typedArray(i.additionalTextEdits,fn.is))}t.is=r})(oy||(oy={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(sy||(sy={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return w.defined(o)&&(l.startCharacter=o),w.defined(s)&&(l.endCharacter=s),w.defined(a)&&(l.kind=a),w.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.uinteger(i.startLine)&&w.uinteger(i.startLine)&&(w.undefined(i.startCharacter)||w.uinteger(i.startCharacter))&&(w.undefined(i.endCharacter)||w.uinteger(i.endCharacter))&&(w.undefined(i.kind)||w.string(i.kind))}t.is=r})(ay||(ay={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&_l.is(i.location)&&w.string(i.message)}t.is=r})(Vd||(Vd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(cy||(cy={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(ly||(ly={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&w.string(n.href)}t.is=e})(uy||(uy={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return w.defined(o)&&(l.severity=o),w.defined(s)&&(l.code=s),w.defined(a)&&(l.source=a),w.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return w.defined(o)&&Ee.is(o.range)&&w.string(o.message)&&(w.number(o.severity)||w.undefined(o.severity))&&(w.integer(o.code)||w.string(o.code)||w.undefined(o.code))&&(w.undefined(o.codeDescription)||w.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(w.string(o.source)||w.undefined(o.source))&&(w.undefined(o.relatedInformation)||w.typedArray(o.relatedInformation,Vd.is))}t.is=r})(El||(El={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return w.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.title)&&w.string(i.command)}t.is=r})(Oo||(Oo={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return w.objectLiteral(s)&&w.string(s.newText)&&Ee.is(s.range)}t.is=i})(fn||(fn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.string(i.label)&&(w.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(w.string(i.description)||i.description===void 0)}t.is=r})(Po||(Po={}));(function(t){function e(r){let n=r;return w.string(n)}t.is=e})(Lt||(Lt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return fn.is(s)&&(Po.is(s.annotationId)||Lt.is(s.annotationId))}t.is=i})(Hn||(Hn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&Rl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(vl||(vl={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&w.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||w.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||w.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(oa||(oa={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&w.string(i.oldUri)&&w.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||w.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||w.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(sa||(sa={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&w.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||w.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||w.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(aa||(aa={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>w.string(i.kind)?oa.is(i)||sa.is(i)||aa.is(i):vl.is(i)))}t.is=e})(Yd||(Yd={}));ia=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=fn.insert(e,r):Lt.is(n)?(o=n,i=Hn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=fn.replace(e,r):Lt.is(n)?(o=n,i=Hn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=fn.del(e):Lt.is(r)?(i=r,n=Hn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Hn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},Kd=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Lt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},fy=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Kd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(vl.is(r)){let n=new ia(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new ia(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new ia(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new ia(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Kd,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=oa.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=oa.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;Po.is(n)||Lt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=sa.create(e,r,i):(a=Lt.is(o)?o:this._changeAnnotations.manage(o),s=sa.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=aa.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=aa.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)}t.is=r})(dy||(dy={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&w.integer(i.version)}t.is=r})(py||(py={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&(i.version===null||w.integer(i.version))}t.is=r})(Rl||(Rl={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&w.string(i.languageId)&&w.integer(i.version)&&w.string(i.text)}t.is=r})(hy||(hy={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Zd||(Zd={}));(function(t){function e(r){let n=r;return w.objectLiteral(r)&&Zd.is(n.kind)&&w.string(n.value)}t.is=e})(ca||(ca={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(my||(my={}));(function(t){t.PlainText=1,t.Snippet=2})(gy||(gy={}));(function(t){t.Deprecated=1})(yy||(yy={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&w.string(i.newText)&&Ee.is(i.insert)&&Ee.is(i.replace)}t.is=r})(xy||(xy={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Ty||(Ty={}));(function(t){function e(r){let n=r;return n&&(w.string(n.detail)||n.detail===void 0)&&(w.string(n.description)||n.description===void 0)}t.is=e})(_y||(_y={}));(function(t){function e(r){return{label:r}}t.create=e})(Ey||(Ey={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(vy||(vy={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return w.string(i)||w.objectLiteral(i)&&w.string(i.language)&&w.string(i.value)}t.is=r})(wl||(wl={}));(function(t){function e(r){let n=r;return!!n&&w.objectLiteral(n)&&(ca.is(n.contents)||wl.is(n.contents)||w.typedArray(n.contents,wl.is))&&(r.range===void 0||Ee.is(r.range))}t.is=e})(Ry||(Ry={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(wy||(wy={}));(function(t){function e(r,n,...i){let o={label:r};return w.defined(n)&&(o.documentation=n),w.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(by||(by={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Ay||(Ay={}));(function(t){function e(r,n){let i={range:r};return w.number(n)&&(i.kind=n),i}t.create=e})(Iy||(Iy={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Sy||(Sy={}));(function(t){t.Deprecated=1})(ky||(ky={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(Ny||(Ny={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(Cy||(Cy={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&w.string(i.name)&&w.number(i.kind)&&Ee.is(i.range)&&Ee.is(i.selectionRange)&&(i.detail===void 0||w.string(i.detail))&&(i.deprecated===void 0||w.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Py||(Py={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Oy||(Oy={}));(function(t){t.Invoked=1,t.Automatic=2})(bl||(bl={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return w.defined(i)&&w.typedArray(i.diagnostics,El.is)&&(i.only===void 0||w.typedArray(i.only,w.string))&&(i.triggerKind===void 0||i.triggerKind===bl.Invoked||i.triggerKind===bl.Automatic)}t.is=r})(Ly||(Ly={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):Oo.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&w.string(i.title)&&(i.diagnostics===void 0||w.typedArray(i.diagnostics,El.is))&&(i.kind===void 0||w.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Oo.is(i.command))&&(i.isPreferred===void 0||w.boolean(i.isPreferred))&&(i.edit===void 0||Yd.is(i.edit))}t.is=r})(Dy||(Dy={}));(function(t){function e(n,i){let o={range:n};return w.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return w.defined(i)&&Ee.is(i.range)&&(w.undefined(i.command)||Oo.is(i.command))}t.is=r})($y||($y={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.uinteger(i.tabSize)&&w.boolean(i.insertSpaces)}t.is=r})(My||(My={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return w.defined(i)&&Ee.is(i.range)&&(w.undefined(i.target)||w.string(i.target))}t.is=r})(Fy||(Fy={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Uy||(Uy={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(By||(By={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Gy||(Gy={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(Xy||(Xy={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&w.string(i.text)}t.is=r})(Hy||(Hy={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&w.boolean(i.caseSensitiveLookup)&&(w.string(i.variableName)||i.variableName===void 0)}t.is=r})(jy||(jy={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&(w.string(i.expression)||i.expression===void 0)}t.is=r})(zy||(zy={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&Ee.is(n.stoppedLocation)}t.is=r})(qy||(qy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Jd||(Jd={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&(i.tooltip===void 0||w.string(i.tooltip)||ca.is(i.tooltip))&&(i.location===void 0||_l.is(i.location))&&(i.command===void 0||Oo.is(i.command))}t.is=r})(Qd||(Qd={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Se.is(i.position)&&(w.string(i.label)||w.typedArray(i.label,Qd.is))&&(i.kind===void 0||Jd.is(i.kind))&&i.textEdits===void 0||w.typedArray(i.textEdits,fn.is)&&(i.tooltip===void 0||w.string(i.tooltip)||ca.is(i.tooltip))&&(i.paddingLeft===void 0||w.boolean(i.paddingLeft))&&(i.paddingRight===void 0||w.boolean(i.paddingRight))}t.is=r})(Wy||(Wy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Vy||(Vy={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(Yy||(Yy={}));(function(t){function e(r){return{items:r}}t.create=e})(Ky||(Ky={}));(function(t){t.Invoked=0,t.Automatic=1})(Zy||(Zy={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Jy||(Jy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Qy||(Qy={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&qd.is(n.uri)&&w.string(n.name)}t.is=e})(ex||(ex={}));l2=[`
3
3
  `,`\r
4
- `,"\r"];(function(t){function e(o,s,a,c){return new Zy(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(b.defined(s)&&b.string(s.uri)&&(b.undefined(s.languageId)||b.string(s.languageId))&&b.uinteger(s.lineCount)&&b.func(s.getText)&&b.func(s.positionAt)&&b.func(s.offsetAt))}t.is=r;function n(o,s){let a=o.getText(),c=i(s,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=a.length;for(let u=c.length-1;u>=0;u--){let f=c[u],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=l)a=a.substring(0,d)+f.newText+a.substring(p,a.length);else throw new Error("Overlapping edit");l=d}return a}t.applyEdits=n;function i(o,s){if(o.length<=1)return o;let a=o.length/2|0,c=o.slice(0,a),l=o.slice(a);i(c,s),i(l,s);let u=0,f=0,d=0;for(;u<c.length&&f<l.length;)s(c[u],l[f])<=0?o[d++]=c[u++]:o[d++]=l[f++];for(;u<c.length;)o[d++]=c[u++];for(;f<l.length;)o[d++]=l[f++];return o}})(Ky||(Ky={}));Zy=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let o=r.charAt(i);n=o==="\r"||o===`
4
+ `,"\r"];(function(t){function e(o,s,a,c){return new rx(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(w.defined(s)&&w.string(s.uri)&&(w.undefined(s.languageId)||w.string(s.languageId))&&w.uinteger(s.lineCount)&&w.func(s.getText)&&w.func(s.positionAt)&&w.func(s.offsetAt))}t.is=r;function n(o,s){let a=o.getText(),c=i(s,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=a.length;for(let u=c.length-1;u>=0;u--){let f=c[u],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=l)a=a.substring(0,d)+f.newText+a.substring(p,a.length);else throw new Error("Overlapping edit");l=d}return a}t.applyEdits=n;function i(o,s){if(o.length<=1)return o;let a=o.length/2|0,c=o.slice(0,a),l=o.slice(a);i(c,s),i(l,s);let u=0,f=0,d=0;for(;u<c.length&&f<l.length;)s(c[u],l[f])<=0?o[d++]=c[u++]:o[d++]=l[f++];for(;u<c.length;)o[d++]=c[u++];for(;f<l.length;)o[d++]=l[f++];return o}})(tx||(tx={}));rx=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let o=r.charAt(i);n=o==="\r"||o===`
5
5
  `,o==="\r"&&i+1<r.length&&r.charAt(i+1)===`
6
- `&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Ie.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return Ie.create(o,e-r[o])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(p){return typeof p<"u"}t.defined=r;function n(p){return typeof p>"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function o(p){return e.call(p)==="[object String]"}t.string=o;function s(p){return e.call(p)==="[object Number]"}t.number=s;function a(p,m,g){return e.call(p)==="[object Number]"&&m<=p&&p<=g}t.numberRange=a;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=d})(b||(b={}))});var cx=fe(ax=>{"use strict";Object.defineProperty(ax,"__esModule",{value:!0});var ox;function sx(){if(ox===void 0)throw new Error("No runtime abstraction layer installed");return ox}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");ox=r}t.install=e})(sx||(sx={}));ax.default=sx});var Qb=fe(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.stringArray=Ut.array=Ut.func=Ut.error=Ut.number=Ut.string=Ut.boolean=void 0;function i2(t){return t===!0||t===!1}Ut.boolean=i2;function Zb(t){return typeof t=="string"||t instanceof String}Ut.string=Zb;function o2(t){return typeof t=="number"||t instanceof Number}Ut.number=o2;function s2(t){return t instanceof Error}Ut.error=s2;function a2(t){return typeof t=="function"}Ut.func=a2;function Jb(t){return Array.isArray(t)}Ut.array=Jb;function c2(t){return Jb(t)&&t.every(e=>Zb(e))}Ut.stringArray=c2});var ux=fe(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.Emitter=la.Event=void 0;var l2=cx(),ew;(function(t){let e={dispose(){}};t.None=function(){return e}})(ew||(la.Event=ew={}));var lx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,l2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Qd=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new lx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};la.Emitter=Qd;Qd._noop=function(){}});var tw=fe(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.CancellationTokenSource=ua.CancellationToken=void 0;var u2=cx(),f2=Qb(),fx=ux(),ep;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:fx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:fx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||f2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(ep||(ua.CancellationToken=ep={}));var d2=Object.freeze(function(t,e){let r=(0,u2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),tp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?d2:(this._emitter||(this._emitter=new fx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},dx=class{get token(){return this._token||(this._token=new tp),this._token}cancel(){this._token?this._token.cancel():this._token=ep.Cancelled}dispose(){this._token?this._token instanceof tp&&this._token.dispose():this._token=ep.None}};ua.CancellationTokenSource=dx});var ya=fe(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.stringArray=Gt.array=Gt.func=Gt.error=Gt.number=Gt.string=Gt.boolean=void 0;function m2(t){return t===!0||t===!1}Gt.boolean=m2;function pw(t){return typeof t=="string"||t instanceof String}Gt.string=pw;function g2(t){return typeof t=="number"||t instanceof Number}Gt.number=g2;function y2(t){return t instanceof Error}Gt.error=y2;function x2(t){return typeof t=="function"}Gt.func=x2;function hw(t){return Array.isArray(t)}Gt.array=hw;function T2(t){return hw(t)&&t.every(e=>pw(e))}Gt.stringArray=T2});var Gx=fe(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.Message=ee.NotificationType9=ee.NotificationType8=ee.NotificationType7=ee.NotificationType6=ee.NotificationType5=ee.NotificationType4=ee.NotificationType3=ee.NotificationType2=ee.NotificationType1=ee.NotificationType0=ee.NotificationType=ee.RequestType9=ee.RequestType8=ee.RequestType7=ee.RequestType6=ee.RequestType5=ee.RequestType4=ee.RequestType3=ee.RequestType2=ee.RequestType1=ee.RequestType=ee.RequestType0=ee.AbstractMessageSignature=ee.ParameterStructures=ee.ResponseError=ee.ErrorCodes=void 0;var Go=ya(),yx;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(yx||(ee.ErrorCodes=yx={}));var xx=class t extends Error{constructor(e,r,n){super(r),this.code=Go.number(e)?e:yx.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ee.ResponseError=xx;var ir=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ee.ParameterStructures=ir;ir.auto=new ir("auto");ir.byPosition=new ir("byPosition");ir.byName=new ir("byName");var ot=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return ir.auto}};ee.AbstractMessageSignature=ot;var Tx=class extends ot{constructor(e){super(e,0)}};ee.RequestType0=Tx;var _x=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType=_x;var Ex=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=Ex;var vx=class extends ot{constructor(e){super(e,2)}};ee.RequestType2=vx;var Rx=class extends ot{constructor(e){super(e,3)}};ee.RequestType3=Rx;var bx=class extends ot{constructor(e){super(e,4)}};ee.RequestType4=bx;var wx=class extends ot{constructor(e){super(e,5)}};ee.RequestType5=wx;var Ax=class extends ot{constructor(e){super(e,6)}};ee.RequestType6=Ax;var Sx=class extends ot{constructor(e){super(e,7)}};ee.RequestType7=Sx;var Ix=class extends ot{constructor(e){super(e,8)}};ee.RequestType8=Ix;var kx=class extends ot{constructor(e){super(e,9)}};ee.RequestType9=kx;var Nx=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=Nx;var Px=class extends ot{constructor(e){super(e,0)}};ee.NotificationType0=Px;var Cx=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=Cx;var Ox=class extends ot{constructor(e){super(e,2)}};ee.NotificationType2=Ox;var Lx=class extends ot{constructor(e){super(e,3)}};ee.NotificationType3=Lx;var Dx=class extends ot{constructor(e){super(e,4)}};ee.NotificationType4=Dx;var $x=class extends ot{constructor(e){super(e,5)}};ee.NotificationType5=$x;var Mx=class extends ot{constructor(e){super(e,6)}};ee.NotificationType6=Mx;var Fx=class extends ot{constructor(e){super(e,7)}};ee.NotificationType7=Fx;var Ux=class extends ot{constructor(e){super(e,8)}};ee.NotificationType8=Ux;var Bx=class extends ot{constructor(e){super(e,9)}};ee.NotificationType9=Bx;var mw;(function(t){function e(i){let o=i;return o&&Go.string(o.method)&&(Go.string(o.id)||Go.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Go.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Go.string(o.id)||Go.number(o.id)||o.id===null)}t.isResponse=n})(mw||(ee.Message=mw={}))});var Hx=fe(Pi=>{"use strict";var gw;Object.defineProperty(Pi,"__esModule",{value:!0});Pi.LRUCache=Pi.LinkedMap=Pi.Touch=void 0;var Xt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Xt||(Pi.Touch=Xt={}));var cp=class{constructor(){this[gw]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=Xt.None){let n=this._map.get(e);if(n)return r!==Xt.None&&this.touch(n,r),n.value}set(e,r,n=Xt.None){let i=this._map.get(e);if(i)i.value=r,n!==Xt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Xt.None:this.addItemLast(i);break;case Xt.First:this.addItemFirst(i);break;case Xt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(gw=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Xt.First&&r!==Xt.Last)){if(r===Xt.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Xt.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Pi.LinkedMap=cp;var Xx=class extends cp{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Xt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Xt.None)}set(e,r){return super.set(e,r,Xt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Pi.LRUCache=Xx});var xw=fe(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.Disposable=void 0;var yw;(function(t){function e(r){return{dispose:r}}t.create=e})(yw||(lp.Disposable=yw={}))});var Ci=fe(qx=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});var jx;function zx(){if(jx===void 0)throw new Error("No runtime abstraction layer installed");return jx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");jx=r}t.install=e})(zx||(zx={}));qx.default=zx});var Ta=fe(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.Emitter=xa.Event=void 0;var _2=Ci(),Tw;(function(t){let e={dispose(){}};t.None=function(){return e}})(Tw||(xa.Event=Tw={}));var Wx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,_2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},up=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Wx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};xa.Emitter=up;up._noop=function(){}});var pp=fe(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.CancellationTokenSource=_a.CancellationToken=void 0;var E2=Ci(),v2=ya(),Vx=Ta(),fp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Vx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Vx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||v2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(fp||(_a.CancellationToken=fp={}));var R2=Object.freeze(function(t,e){let r=(0,E2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),dp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?R2:(this._emitter||(this._emitter=new Vx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Yx=class{get token(){return this._token||(this._token=new dp),this._token}cancel(){this._token?this._token.cancel():this._token=fp.Cancelled}dispose(){this._token?this._token instanceof dp&&this._token.dispose():this._token=fp.None}};_a.CancellationTokenSource=Yx});var _w=fe(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.SharedArrayReceiverStrategy=Ea.SharedArraySenderStrategy=void 0;var b2=pp(),Xl;(function(t){t.Continue=0,t.Cancelled=1})(Xl||(Xl={}));var Kx=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Xl.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Xl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Ea.SharedArraySenderStrategy=Kx;var Zx=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Xl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},Jx=class{constructor(e){this.token=new Zx(e)}cancel(){}dispose(){}},Qx=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new b2.CancellationTokenSource:new Jx(r)}};Ea.SharedArrayReceiverStrategy=Qx});var tT=fe(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});hp.Semaphore=void 0;var w2=Ci(),eT=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,w2.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};hp.Semaphore=eT});var vw=fe(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.ReadableStreamMessageReader=Oi.AbstractMessageReader=Oi.MessageReader=void 0;var nT=Ci(),va=ya(),rT=Ta(),A2=tT(),Ew;(function(t){function e(r){let n=r;return n&&va.func(n.listen)&&va.func(n.dispose)&&va.func(n.onError)&&va.func(n.onClose)&&va.func(n.onPartialMessage)}t.is=e})(Ew||(Oi.MessageReader=Ew={}));var mp=class{constructor(){this.errorEmitter=new rT.Emitter,this.closeEmitter=new rT.Emitter,this.partialMessageEmitter=new rT.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${va.string(e.message)?e.message:"unknown"}`)}};Oi.AbstractMessageReader=mp;var iT;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)s.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,nT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(iT||(iT={}));var oT=class extends mp{constructor(e,r){super(),this.readable=e,this.options=iT.fromOptions(r),this.buffer=(0,nT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new A2.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
7
- ${JSON.stringify(Object.fromEntries(n))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,nT.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Oi.ReadableStreamMessageReader=oT});var Sw=fe(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.WriteableStreamMessageWriter=Li.AbstractMessageWriter=Li.MessageWriter=void 0;var Rw=Ci(),Hl=ya(),S2=tT(),bw=Ta(),I2="Content-Length: ",ww=`\r
8
- `,Aw;(function(t){function e(r){let n=r;return n&&Hl.func(n.dispose)&&Hl.func(n.onClose)&&Hl.func(n.onError)&&Hl.func(n.write)}t.is=e})(Aw||(Li.MessageWriter=Aw={}));var gp=class{constructor(){this.errorEmitter=new bw.Emitter,this.closeEmitter=new bw.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Hl.string(e.message)?e.message:"unknown"}`)}};Li.AbstractMessageWriter=gp;var sT;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,Rw.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,Rw.default)().applicationJson.encoder}}t.fromOptions=e})(sT||(sT={}));var aT=class extends gp{constructor(e,r){super(),this.writable=e,this.options=sT.fromOptions(r),this.errorCount=0,this.writeSemaphore=new S2.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(I2,n.byteLength.toString(),ww),i.push(ww),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Li.WriteableStreamMessageWriter=aT});var Iw=fe(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.AbstractMessageBuffer=void 0;var k2=13,N2=10,P2=`\r
9
- `,cT=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,o=0;e:for(;n<this._chunks.length;){let l=this._chunks[n];for(i=0;i<l.length;){switch(l[i]){case k2:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case N2:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}o+=l.byteLength,n++}if(r!==4)return;let s=this._read(o+i),a=new Map,c=this.toString(s,"ascii").split(P2);if(c.length<2)return a;for(let l=0;l<c.length-2;l++){let u=c[l],f=u.indexOf(":");if(f===-1)throw new Error(`Message header must separate key and value using ':'
10
- ${u}`);let d=u.substr(0,f),p=u.substr(f+1).trim();a.set(e?d.toLowerCase():d,p)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};yp.AbstractMessageBuffer=cT});var Ow=fe(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.createMessageConnection=he.ConnectionOptions=he.MessageStrategy=he.CancellationStrategy=he.CancellationSenderStrategy=he.CancellationReceiverStrategy=he.RequestCancellationReceiverStrategy=he.IdCancellationReceiverStrategy=he.ConnectionStrategy=he.ConnectionError=he.ConnectionErrors=he.LogTraceNotification=he.SetTraceNotification=he.TraceFormat=he.TraceValues=he.Trace=he.NullLogger=he.ProgressType=he.ProgressToken=void 0;var kw=Ci(),mt=ya(),ce=Gx(),Nw=Hx(),jl=Ta(),lT=pp(),Wl;(function(t){t.type=new ce.NotificationType("$/cancelRequest")})(Wl||(Wl={}));var uT;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(uT||(he.ProgressToken=uT={}));var zl;(function(t){t.type=new ce.NotificationType("$/progress")})(zl||(zl={}));var fT=class{constructor(){}};he.ProgressType=fT;var dT;(function(t){function e(r){return mt.func(r)}t.is=e})(dT||(dT={}));he.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Me;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Me||(he.Trace=Me={}));var Pw;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(Pw||(he.TraceValues=Pw={}));(function(t){function e(n){if(!mt.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(Me||(he.Trace=Me={}));var mr;(function(t){t.Text="text",t.JSON="json"})(mr||(he.TraceFormat=mr={}));(function(t){function e(r){return mt.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(mr||(he.TraceFormat=mr={}));var pT;(function(t){t.type=new ce.NotificationType("$/setTrace")})(pT||(he.SetTraceNotification=pT={}));var xp;(function(t){t.type=new ce.NotificationType("$/logTrace")})(xp||(he.LogTraceNotification=xp={}));var ql;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(ql||(he.ConnectionErrors=ql={}));var Ra=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};he.ConnectionError=Ra;var hT;(function(t){function e(r){let n=r;return n&&mt.func(n.cancelUndispatched)}t.is=e})(hT||(he.ConnectionStrategy=hT={}));var Tp;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(Tp||(he.IdCancellationReceiverStrategy=Tp={}));var mT;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(mT||(he.RequestCancellationReceiverStrategy=mT={}));var _p;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new lT.CancellationTokenSource}});function e(r){return Tp.is(r)||mT.is(r)}t.is=e})(_p||(he.CancellationReceiverStrategy=_p={}));var Ep;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(Wl.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&mt.func(n.sendCancellation)&&mt.func(n.cleanup)}t.is=e})(Ep||(he.CancellationSenderStrategy=Ep={}));var vp;(function(t){t.Message=Object.freeze({receiver:_p.Message,sender:Ep.Message});function e(r){let n=r;return n&&_p.is(n.receiver)&&Ep.is(n.sender)}t.is=e})(vp||(he.CancellationStrategy=vp={}));var Rp;(function(t){function e(r){let n=r;return n&&mt.func(n.handleMessage)}t.is=e})(Rp||(he.MessageStrategy=Rp={}));var Cw;(function(t){function e(r){let n=r;return n&&(vp.is(n.cancellationStrategy)||hT.is(n.connectionStrategy)||Rp.is(n.messageStrategy))}t.is=e})(Cw||(he.ConnectionOptions=Cw={}));var zr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(zr||(zr={}));function C2(t,e,r,n){let i=r!==void 0?r:he.NullLogger,o=0,s=0,a=0,c="2.0",l,u=new Map,f,d=new Map,p=new Map,m,g=new Nw.LinkedMap,v=new Map,T=new Set,_=new Map,E=Me.Off,I=mr.Text,D,k=zr.New,B=new jl.Emitter,U=new jl.Emitter,z=new jl.Emitter,le=new jl.Emitter,O=new jl.Emitter,R=n&&n.cancellationStrategy?n.cancellationStrategy:vp.Message;function L(x){if(x===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+x.toString()}function $(x){return x===null?"res-unknown-"+(++a).toString():"res-"+x.toString()}function w(){return"not-"+(++s).toString()}function A(x,C){ce.Message.isRequest(C)?x.set(L(C.id),C):ce.Message.isResponse(C)?x.set($(C.id),C):x.set(w(),C)}function S(x){}function M(){return k===zr.Listening}function X(){return k===zr.Closed}function F(){return k===zr.Disposed}function W(){(k===zr.New||k===zr.Listening)&&(k=zr.Closed,U.fire(void 0))}function Z(x){B.fire([x,void 0,void 0])}function pe(x){B.fire(x)}t.onClose(W),t.onError(Z),e.onClose(W),e.onError(pe);function V(){m||g.size===0||(m=(0,kw.default)().timer.setImmediate(()=>{m=void 0,De()}))}function te(x){ce.Message.isRequest(x)?Xe(x):ce.Message.isNotification(x)?J(x):ce.Message.isResponse(x)?q(x):re(x)}function De(){if(g.size===0)return;let x=g.shift();try{let C=n?.messageStrategy;Rp.is(C)?C.handleMessage(x,te):te(x)}finally{V()}}let Ne=x=>{try{if(ce.Message.isNotification(x)&&x.method===Wl.type.method){let C=x.params.id,j=L(C),Y=g.get(j);if(ce.Message.isRequest(Y)){let Pe=n?.connectionStrategy,qe=Pe&&Pe.cancelUndispatched?Pe.cancelUndispatched(Y,S):void 0;if(qe&&(qe.error!==void 0||qe.result!==void 0)){g.delete(j),_.delete(C),qe.id=Y.id,ve(qe,x.method,Date.now()),e.write(qe).catch(()=>i.error("Sending response for canceled message failed."));return}}let $e=_.get(C);if($e!==void 0){$e.cancel(),H(x);return}else T.add(C)}A(g,x)}finally{V()}};function Xe(x){if(F())return;function C(ge,Ue,Ae){let Je={jsonrpc:c,id:x.id};ge instanceof ce.ResponseError?Je.error=ge.toJson():Je.result=ge===void 0?null:ge,ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}function j(ge,Ue,Ae){let Je={jsonrpc:c,id:x.id,error:ge.toJson()};ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}function Y(ge,Ue,Ae){ge===void 0&&(ge=null);let Je={jsonrpc:c,id:x.id,result:ge};ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}_t(x);let $e=u.get(x.method),Pe,qe;$e&&(Pe=$e.type,qe=$e.handler);let Ze=Date.now();if(qe||l){let ge=x.id??String(Date.now()),Ue=Tp.is(R.receiver)?R.receiver.createCancellationTokenSource(ge):R.receiver.createCancellationTokenSource(x);x.id!==null&&T.has(x.id)&&Ue.cancel(),x.id!==null&&_.set(ge,Ue);try{let Ae;if(qe)if(x.params===void 0){if(Pe!==void 0&&Pe.numberOfParams!==0){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines ${Pe.numberOfParams} params but received none.`),x.method,Ze);return}Ae=qe(Ue.token)}else if(Array.isArray(x.params)){if(Pe!==void 0&&Pe.parameterStructures===ce.ParameterStructures.byName){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by name but received parameters by position`),x.method,Ze);return}Ae=qe(...x.params,Ue.token)}else{if(Pe!==void 0&&Pe.parameterStructures===ce.ParameterStructures.byPosition){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by position but received parameters by name`),x.method,Ze);return}Ae=qe(x.params,Ue.token)}else l&&(Ae=l(x.method,x.params,Ue.token));let Je=Ae;Ae?Je.then?Je.then(st=>{_.delete(ge),C(st,x.method,Ze)},st=>{_.delete(ge),st instanceof ce.ResponseError?j(st,x.method,Ze):st&&mt.string(st.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${st.message}`),x.method,Ze):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ze)}):(_.delete(ge),C(Ae,x.method,Ze)):(_.delete(ge),Y(Ae,x.method,Ze))}catch(Ae){_.delete(ge),Ae instanceof ce.ResponseError?C(Ae,x.method,Ze):Ae&&mt.string(Ae.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${Ae.message}`),x.method,Ze):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ze)}}else j(new ce.ResponseError(ce.ErrorCodes.MethodNotFound,`Unhandled method ${x.method}`),x.method,Ze)}function q(x){if(!F())if(x.id===null)x.error?i.error(`Received response message without id: Error is:
11
- ${JSON.stringify(x.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let C=x.id,j=v.get(C);if(Cr(x,j),j!==void 0){v.delete(C);try{if(x.error){let Y=x.error;j.reject(new ce.ResponseError(Y.code,Y.message,Y.data))}else if(x.result!==void 0)j.resolve(x.result);else throw new Error("Should never happen.")}catch(Y){Y.message?i.error(`Response handler '${j.method}' failed with message: ${Y.message}`):i.error(`Response handler '${j.method}' failed unexpectedly.`)}}}}function J(x){if(F())return;let C,j;if(x.method===Wl.type.method){let Y=x.params.id;T.delete(Y),H(x);return}else{let Y=d.get(x.method);Y&&(j=Y.handler,C=Y.type)}if(j||f)try{if(H(x),j)if(x.params===void 0)C!==void 0&&C.numberOfParams!==0&&C.parameterStructures!==ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines ${C.numberOfParams} params but received none.`),j();else if(Array.isArray(x.params)){let Y=x.params;x.method===zl.type.method&&Y.length===2&&uT.is(Y[0])?j({token:Y[0],value:Y[1]}):(C!==void 0&&(C.parameterStructures===ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines parameters by name but received parameters by position`),C.numberOfParams!==x.params.length&&i.error(`Notification ${x.method} defines ${C.numberOfParams} params but received ${Y.length} arguments`)),j(...Y))}else C!==void 0&&C.parameterStructures===ce.ParameterStructures.byPosition&&i.error(`Notification ${x.method} defines parameters by position but received parameters by name`),j(x.params);else f&&f(x.method,x.params)}catch(Y){Y.message?i.error(`Notification handler '${x.method}' failed with message: ${Y.message}`):i.error(`Notification handler '${x.method}' failed unexpectedly.`)}else z.fire(x)}function re(x){if(!x){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
12
- ${JSON.stringify(x,null,4)}`);let C=x;if(mt.string(C.id)||mt.number(C.id)){let j=C.id,Y=v.get(j);Y&&Y.reject(new Error("The received response has neither a result nor an error property."))}}function P(x){if(x!=null)switch(E){case Me.Verbose:return JSON.stringify(x,null,4);case Me.Compact:return JSON.stringify(x);default:return}}function we(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&x.params&&(C=`Params: ${P(x.params)}
6
+ `&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Se.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return Se.create(o,e-r[o])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(p){return typeof p<"u"}t.defined=r;function n(p){return typeof p>"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function o(p){return e.call(p)==="[object String]"}t.string=o;function s(p){return e.call(p)==="[object Number]"}t.number=s;function a(p,m,y){return e.call(p)==="[object Number]"&&m<=p&&p<=y}t.numberRange=a;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=d})(w||(w={}))});var px=fe(dx=>{"use strict";Object.defineProperty(dx,"__esModule",{value:!0});var ux;function fx(){if(ux===void 0)throw new Error("No runtime abstraction layer installed");return ux}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");ux=r}t.install=e})(fx||(fx={}));dx.default=fx});var ab=fe(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.stringArray=Ft.array=Ft.func=Ft.error=Ft.number=Ft.string=Ft.boolean=void 0;function E2(t){return t===!0||t===!1}Ft.boolean=E2;function ob(t){return typeof t=="string"||t instanceof String}Ft.string=ob;function v2(t){return typeof t=="number"||t instanceof Number}Ft.number=v2;function R2(t){return t instanceof Error}Ft.error=R2;function w2(t){return typeof t=="function"}Ft.func=w2;function sb(t){return Array.isArray(t)}Ft.array=sb;function b2(t){return sb(t)&&t.every(e=>ob(e))}Ft.stringArray=b2});var mx=fe(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.Emitter=da.Event=void 0;var A2=px(),cb;(function(t){let e={dispose(){}};t.None=function(){return e}})(cb||(da.Event=cb={}));var hx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,A2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},op=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new hx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};da.Emitter=op;op._noop=function(){}});var lb=fe(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.CancellationTokenSource=pa.CancellationToken=void 0;var I2=px(),S2=ab(),gx=mx(),sp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:gx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:gx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||S2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(sp||(pa.CancellationToken=sp={}));var k2=Object.freeze(function(t,e){let r=(0,I2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),ap=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?k2:(this._emitter||(this._emitter=new gx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},yx=class{get token(){return this._token||(this._token=new ap),this._token}cancel(){this._token?this._token.cancel():this._token=sp.Cancelled}dispose(){this._token?this._token instanceof ap&&this._token.dispose():this._token=sp.None}};pa.CancellationTokenSource=yx});var _a=fe(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.stringArray=Bt.array=Bt.func=Bt.error=Bt.number=Bt.string=Bt.boolean=void 0;function P2(t){return t===!0||t===!1}Bt.boolean=P2;function Eb(t){return typeof t=="string"||t instanceof String}Bt.string=Eb;function O2(t){return typeof t=="number"||t instanceof Number}Bt.number=O2;function L2(t){return t instanceof Error}Bt.error=L2;function D2(t){return typeof t=="function"}Bt.func=D2;function vb(t){return Array.isArray(t)}Bt.array=vb;function $2(t){return vb(t)&&t.every(e=>Eb(e))}Bt.stringArray=$2});var qx=fe(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.Message=ee.NotificationType9=ee.NotificationType8=ee.NotificationType7=ee.NotificationType6=ee.NotificationType5=ee.NotificationType4=ee.NotificationType3=ee.NotificationType2=ee.NotificationType1=ee.NotificationType0=ee.NotificationType=ee.RequestType9=ee.RequestType8=ee.RequestType7=ee.RequestType6=ee.RequestType5=ee.RequestType4=ee.RequestType3=ee.RequestType2=ee.RequestType1=ee.RequestType=ee.RequestType0=ee.AbstractMessageSignature=ee.ParameterStructures=ee.ResponseError=ee.ErrorCodes=void 0;var Ho=_a(),vx;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(vx||(ee.ErrorCodes=vx={}));var Rx=class t extends Error{constructor(e,r,n){super(r),this.code=Ho.number(e)?e:vx.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ee.ResponseError=Rx;var nr=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ee.ParameterStructures=nr;nr.auto=new nr("auto");nr.byPosition=new nr("byPosition");nr.byName=new nr("byName");var it=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return nr.auto}};ee.AbstractMessageSignature=it;var wx=class extends it{constructor(e){super(e,0)}};ee.RequestType0=wx;var bx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType=bx;var Ax=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=Ax;var Ix=class extends it{constructor(e){super(e,2)}};ee.RequestType2=Ix;var Sx=class extends it{constructor(e){super(e,3)}};ee.RequestType3=Sx;var kx=class extends it{constructor(e){super(e,4)}};ee.RequestType4=kx;var Nx=class extends it{constructor(e){super(e,5)}};ee.RequestType5=Nx;var Cx=class extends it{constructor(e){super(e,6)}};ee.RequestType6=Cx;var Px=class extends it{constructor(e){super(e,7)}};ee.RequestType7=Px;var Ox=class extends it{constructor(e){super(e,8)}};ee.RequestType8=Ox;var Lx=class extends it{constructor(e){super(e,9)}};ee.RequestType9=Lx;var Dx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=Dx;var $x=class extends it{constructor(e){super(e,0)}};ee.NotificationType0=$x;var Mx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=Mx;var Fx=class extends it{constructor(e){super(e,2)}};ee.NotificationType2=Fx;var Ux=class extends it{constructor(e){super(e,3)}};ee.NotificationType3=Ux;var Bx=class extends it{constructor(e){super(e,4)}};ee.NotificationType4=Bx;var Gx=class extends it{constructor(e){super(e,5)}};ee.NotificationType5=Gx;var Xx=class extends it{constructor(e){super(e,6)}};ee.NotificationType6=Xx;var Hx=class extends it{constructor(e){super(e,7)}};ee.NotificationType7=Hx;var jx=class extends it{constructor(e){super(e,8)}};ee.NotificationType8=jx;var zx=class extends it{constructor(e){super(e,9)}};ee.NotificationType9=zx;var Rb;(function(t){function e(i){let o=i;return o&&Ho.string(o.method)&&(Ho.string(o.id)||Ho.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Ho.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Ho.string(o.id)||Ho.number(o.id)||o.id===null)}t.isResponse=n})(Rb||(ee.Message=Rb={}))});var Vx=fe(Oi=>{"use strict";var wb;Object.defineProperty(Oi,"__esModule",{value:!0});Oi.LRUCache=Oi.LinkedMap=Oi.Touch=void 0;var Gt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Gt||(Oi.Touch=Gt={}));var hp=class{constructor(){this[wb]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=Gt.None){let n=this._map.get(e);if(n)return r!==Gt.None&&this.touch(n,r),n.value}set(e,r,n=Gt.None){let i=this._map.get(e);if(i)i.value=r,n!==Gt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Gt.None:this.addItemLast(i);break;case Gt.First:this.addItemFirst(i);break;case Gt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(wb=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Gt.First&&r!==Gt.Last)){if(r===Gt.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Gt.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Oi.LinkedMap=hp;var Wx=class extends hp{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Gt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Gt.None)}set(e,r){return super.set(e,r,Gt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Oi.LRUCache=Wx});var Ab=fe(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});mp.Disposable=void 0;var bb;(function(t){function e(r){return{dispose:r}}t.create=e})(bb||(mp.Disposable=bb={}))});var Li=fe(Zx=>{"use strict";Object.defineProperty(Zx,"__esModule",{value:!0});var Yx;function Kx(){if(Yx===void 0)throw new Error("No runtime abstraction layer installed");return Yx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Yx=r}t.install=e})(Kx||(Kx={}));Zx.default=Kx});var va=fe(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.Emitter=Ea.Event=void 0;var M2=Li(),Ib;(function(t){let e={dispose(){}};t.None=function(){return e}})(Ib||(Ea.Event=Ib={}));var Jx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,M2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},gp=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Jx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Ea.Emitter=gp;gp._noop=function(){}});var Tp=fe(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.CancellationTokenSource=Ra.CancellationToken=void 0;var F2=Li(),U2=_a(),Qx=va(),yp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Qx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Qx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||U2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(yp||(Ra.CancellationToken=yp={}));var B2=Object.freeze(function(t,e){let r=(0,F2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),xp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?B2:(this._emitter||(this._emitter=new Qx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},eT=class{get token(){return this._token||(this._token=new xp),this._token}cancel(){this._token?this._token.cancel():this._token=yp.Cancelled}dispose(){this._token?this._token instanceof xp&&this._token.dispose():this._token=yp.None}};Ra.CancellationTokenSource=eT});var Sb=fe(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.SharedArrayReceiverStrategy=wa.SharedArraySenderStrategy=void 0;var G2=Tp(),Yl;(function(t){t.Continue=0,t.Cancelled=1})(Yl||(Yl={}));var tT=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Yl.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Yl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};wa.SharedArraySenderStrategy=tT;var rT=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Yl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},nT=class{constructor(e){this.token=new rT(e)}cancel(){}dispose(){}},iT=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new G2.CancellationTokenSource:new nT(r)}};wa.SharedArrayReceiverStrategy=iT});var sT=fe(_p=>{"use strict";Object.defineProperty(_p,"__esModule",{value:!0});_p.Semaphore=void 0;var X2=Li(),oT=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,X2.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};_p.Semaphore=oT});var Nb=fe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.ReadableStreamMessageReader=Di.AbstractMessageReader=Di.MessageReader=void 0;var cT=Li(),ba=_a(),aT=va(),H2=sT(),kb;(function(t){function e(r){let n=r;return n&&ba.func(n.listen)&&ba.func(n.dispose)&&ba.func(n.onError)&&ba.func(n.onClose)&&ba.func(n.onPartialMessage)}t.is=e})(kb||(Di.MessageReader=kb={}));var Ep=class{constructor(){this.errorEmitter=new aT.Emitter,this.closeEmitter=new aT.Emitter,this.partialMessageEmitter=new aT.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${ba.string(e.message)?e.message:"unknown"}`)}};Di.AbstractMessageReader=Ep;var lT;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)s.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,cT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(lT||(lT={}));var uT=class extends Ep{constructor(e,r){super(),this.readable=e,this.options=lT.fromOptions(r),this.buffer=(0,cT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new H2.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
7
+ ${JSON.stringify(Object.fromEntries(n))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,cT.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Di.ReadableStreamMessageReader=uT});var Db=fe($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.WriteableStreamMessageWriter=$i.AbstractMessageWriter=$i.MessageWriter=void 0;var Cb=Li(),Kl=_a(),j2=sT(),Pb=va(),z2="Content-Length: ",Ob=`\r
8
+ `,Lb;(function(t){function e(r){let n=r;return n&&Kl.func(n.dispose)&&Kl.func(n.onClose)&&Kl.func(n.onError)&&Kl.func(n.write)}t.is=e})(Lb||($i.MessageWriter=Lb={}));var vp=class{constructor(){this.errorEmitter=new Pb.Emitter,this.closeEmitter=new Pb.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Kl.string(e.message)?e.message:"unknown"}`)}};$i.AbstractMessageWriter=vp;var fT;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,Cb.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,Cb.default)().applicationJson.encoder}}t.fromOptions=e})(fT||(fT={}));var dT=class extends vp{constructor(e,r){super(),this.writable=e,this.options=fT.fromOptions(r),this.errorCount=0,this.writeSemaphore=new j2.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(z2,n.byteLength.toString(),Ob),i.push(Ob),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};$i.WriteableStreamMessageWriter=dT});var $b=fe(Rp=>{"use strict";Object.defineProperty(Rp,"__esModule",{value:!0});Rp.AbstractMessageBuffer=void 0;var q2=13,W2=10,V2=`\r
9
+ `,pT=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,o=0;e:for(;n<this._chunks.length;){let l=this._chunks[n];for(i=0;i<l.length;){switch(l[i]){case q2:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case W2:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}o+=l.byteLength,n++}if(r!==4)return;let s=this._read(o+i),a=new Map,c=this.toString(s,"ascii").split(V2);if(c.length<2)return a;for(let l=0;l<c.length-2;l++){let u=c[l],f=u.indexOf(":");if(f===-1)throw new Error(`Message header must separate key and value using ':'
10
+ ${u}`);let d=u.substr(0,f),p=u.substr(f+1).trim();a.set(e?d.toLowerCase():d,p)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};Rp.AbstractMessageBuffer=pT});var Gb=fe(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.createMessageConnection=he.ConnectionOptions=he.MessageStrategy=he.CancellationStrategy=he.CancellationSenderStrategy=he.CancellationReceiverStrategy=he.RequestCancellationReceiverStrategy=he.IdCancellationReceiverStrategy=he.ConnectionStrategy=he.ConnectionError=he.ConnectionErrors=he.LogTraceNotification=he.SetTraceNotification=he.TraceFormat=he.TraceValues=he.Trace=he.NullLogger=he.ProgressType=he.ProgressToken=void 0;var Mb=Li(),mt=_a(),ce=qx(),Fb=Vx(),Zl=va(),hT=Tp(),eu;(function(t){t.type=new ce.NotificationType("$/cancelRequest")})(eu||(eu={}));var mT;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(mT||(he.ProgressToken=mT={}));var Jl;(function(t){t.type=new ce.NotificationType("$/progress")})(Jl||(Jl={}));var gT=class{constructor(){}};he.ProgressType=gT;var yT;(function(t){function e(r){return mt.func(r)}t.is=e})(yT||(yT={}));he.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Me;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Me||(he.Trace=Me={}));var Ub;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(Ub||(he.TraceValues=Ub={}));(function(t){function e(n){if(!mt.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(Me||(he.Trace=Me={}));var hr;(function(t){t.Text="text",t.JSON="json"})(hr||(he.TraceFormat=hr={}));(function(t){function e(r){return mt.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(hr||(he.TraceFormat=hr={}));var xT;(function(t){t.type=new ce.NotificationType("$/setTrace")})(xT||(he.SetTraceNotification=xT={}));var wp;(function(t){t.type=new ce.NotificationType("$/logTrace")})(wp||(he.LogTraceNotification=wp={}));var Ql;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(Ql||(he.ConnectionErrors=Ql={}));var Aa=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};he.ConnectionError=Aa;var TT;(function(t){function e(r){let n=r;return n&&mt.func(n.cancelUndispatched)}t.is=e})(TT||(he.ConnectionStrategy=TT={}));var bp;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(bp||(he.IdCancellationReceiverStrategy=bp={}));var _T;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(_T||(he.RequestCancellationReceiverStrategy=_T={}));var Ap;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new hT.CancellationTokenSource}});function e(r){return bp.is(r)||_T.is(r)}t.is=e})(Ap||(he.CancellationReceiverStrategy=Ap={}));var Ip;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(eu.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&mt.func(n.sendCancellation)&&mt.func(n.cleanup)}t.is=e})(Ip||(he.CancellationSenderStrategy=Ip={}));var Sp;(function(t){t.Message=Object.freeze({receiver:Ap.Message,sender:Ip.Message});function e(r){let n=r;return n&&Ap.is(n.receiver)&&Ip.is(n.sender)}t.is=e})(Sp||(he.CancellationStrategy=Sp={}));var kp;(function(t){function e(r){let n=r;return n&&mt.func(n.handleMessage)}t.is=e})(kp||(he.MessageStrategy=kp={}));var Bb;(function(t){function e(r){let n=r;return n&&(Sp.is(n.cancellationStrategy)||TT.is(n.connectionStrategy)||kp.is(n.messageStrategy))}t.is=e})(Bb||(he.ConnectionOptions=Bb={}));var jr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(jr||(jr={}));function Y2(t,e,r,n){let i=r!==void 0?r:he.NullLogger,o=0,s=0,a=0,c="2.0",l,u=new Map,f,d=new Map,p=new Map,m,y=new Fb.LinkedMap,T=new Map,_=new Set,v=new Map,E=Me.Off,S=hr.Text,D,N=jr.New,M=new Zl.Emitter,B=new Zl.Emitter,G=new Zl.Emitter,oe=new Zl.Emitter,L=new Zl.Emitter,R=n&&n.cancellationStrategy?n.cancellationStrategy:Sp.Message;function O(x){if(x===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+x.toString()}function $(x){return x===null?"res-unknown-"+(++a).toString():"res-"+x.toString()}function b(){return"not-"+(++s).toString()}function A(x,P){ce.Message.isRequest(P)?x.set(O(P.id),P):ce.Message.isResponse(P)?x.set($(P.id),P):x.set(b(),P)}function I(x){}function F(){return N===jr.Listening}function j(){return N===jr.Closed}function U(){return N===jr.Disposed}function W(){(N===jr.New||N===jr.Listening)&&(N=jr.Closed,B.fire(void 0))}function Z(x){M.fire([x,void 0,void 0])}function pe(x){M.fire(x)}t.onClose(W),t.onError(Z),e.onClose(W),e.onError(pe);function V(){m||y.size===0||(m=(0,Mb.default)().timer.setImmediate(()=>{m=void 0,De()}))}function te(x){ce.Message.isRequest(x)?Xe(x):ce.Message.isNotification(x)?J(x):ce.Message.isResponse(x)?q(x):re(x)}function De(){if(y.size===0)return;let x=y.shift();try{let P=n?.messageStrategy;kp.is(P)?P.handleMessage(x,te):te(x)}finally{V()}}let Ne=x=>{try{if(ce.Message.isNotification(x)&&x.method===eu.type.method){let P=x.params.id,z=O(P),Y=y.get(z);if(ce.Message.isRequest(Y)){let Ce=n?.connectionStrategy,ze=Ce&&Ce.cancelUndispatched?Ce.cancelUndispatched(Y,I):void 0;if(ze&&(ze.error!==void 0||ze.result!==void 0)){y.delete(z),v.delete(P),ze.id=Y.id,ve(ze,x.method,Date.now()),e.write(ze).catch(()=>i.error("Sending response for canceled message failed."));return}}let $e=v.get(P);if($e!==void 0){$e.cancel(),X(x);return}else _.add(P)}A(y,x)}finally{V()}};function Xe(x){if(U())return;function P(ge,Ue,Ae){let Ke={jsonrpc:c,id:x.id};ge instanceof ce.ResponseError?Ke.error=ge.toJson():Ke.result=ge===void 0?null:ge,ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}function z(ge,Ue,Ae){let Ke={jsonrpc:c,id:x.id,error:ge.toJson()};ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}function Y(ge,Ue,Ae){ge===void 0&&(ge=null);let Ke={jsonrpc:c,id:x.id,result:ge};ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}Tt(x);let $e=u.get(x.method),Ce,ze;$e&&(Ce=$e.type,ze=$e.handler);let Ye=Date.now();if(ze||l){let ge=x.id??String(Date.now()),Ue=bp.is(R.receiver)?R.receiver.createCancellationTokenSource(ge):R.receiver.createCancellationTokenSource(x);x.id!==null&&_.has(x.id)&&Ue.cancel(),x.id!==null&&v.set(ge,Ue);try{let Ae;if(ze)if(x.params===void 0){if(Ce!==void 0&&Ce.numberOfParams!==0){z(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines ${Ce.numberOfParams} params but received none.`),x.method,Ye);return}Ae=ze(Ue.token)}else if(Array.isArray(x.params)){if(Ce!==void 0&&Ce.parameterStructures===ce.ParameterStructures.byName){z(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by name but received parameters by position`),x.method,Ye);return}Ae=ze(...x.params,Ue.token)}else{if(Ce!==void 0&&Ce.parameterStructures===ce.ParameterStructures.byPosition){z(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by position but received parameters by name`),x.method,Ye);return}Ae=ze(x.params,Ue.token)}else l&&(Ae=l(x.method,x.params,Ue.token));let Ke=Ae;Ae?Ke.then?Ke.then(st=>{v.delete(ge),P(st,x.method,Ye)},st=>{v.delete(ge),st instanceof ce.ResponseError?z(st,x.method,Ye):st&&mt.string(st.message)?z(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${st.message}`),x.method,Ye):z(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ye)}):(v.delete(ge),P(Ae,x.method,Ye)):(v.delete(ge),Y(Ae,x.method,Ye))}catch(Ae){v.delete(ge),Ae instanceof ce.ResponseError?P(Ae,x.method,Ye):Ae&&mt.string(Ae.message)?z(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${Ae.message}`),x.method,Ye):z(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ye)}}else z(new ce.ResponseError(ce.ErrorCodes.MethodNotFound,`Unhandled method ${x.method}`),x.method,Ye)}function q(x){if(!U())if(x.id===null)x.error?i.error(`Received response message without id: Error is:
11
+ ${JSON.stringify(x.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let P=x.id,z=T.get(P);if(Cr(x,z),z!==void 0){T.delete(P);try{if(x.error){let Y=x.error;z.reject(new ce.ResponseError(Y.code,Y.message,Y.data))}else if(x.result!==void 0)z.resolve(x.result);else throw new Error("Should never happen.")}catch(Y){Y.message?i.error(`Response handler '${z.method}' failed with message: ${Y.message}`):i.error(`Response handler '${z.method}' failed unexpectedly.`)}}}}function J(x){if(U())return;let P,z;if(x.method===eu.type.method){let Y=x.params.id;_.delete(Y),X(x);return}else{let Y=d.get(x.method);Y&&(z=Y.handler,P=Y.type)}if(z||f)try{if(X(x),z)if(x.params===void 0)P!==void 0&&P.numberOfParams!==0&&P.parameterStructures!==ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines ${P.numberOfParams} params but received none.`),z();else if(Array.isArray(x.params)){let Y=x.params;x.method===Jl.type.method&&Y.length===2&&mT.is(Y[0])?z({token:Y[0],value:Y[1]}):(P!==void 0&&(P.parameterStructures===ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines parameters by name but received parameters by position`),P.numberOfParams!==x.params.length&&i.error(`Notification ${x.method} defines ${P.numberOfParams} params but received ${Y.length} arguments`)),z(...Y))}else P!==void 0&&P.parameterStructures===ce.ParameterStructures.byPosition&&i.error(`Notification ${x.method} defines parameters by position but received parameters by name`),z(x.params);else f&&f(x.method,x.params)}catch(Y){Y.message?i.error(`Notification handler '${x.method}' failed with message: ${Y.message}`):i.error(`Notification handler '${x.method}' failed unexpectedly.`)}else G.fire(x)}function re(x){if(!x){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
12
+ ${JSON.stringify(x,null,4)}`);let P=x;if(mt.string(P.id)||mt.number(P.id)){let z=P.id,Y=T.get(z);Y&&Y.reject(new Error("The received response has neither a result nor an error property."))}}function C(x){if(x!=null)switch(E){case Me.Verbose:return JSON.stringify(x,null,4);case Me.Compact:return JSON.stringify(x);default:return}}function be(x){if(!(E===Me.Off||!D))if(S===hr.Text){let P;(E===Me.Verbose||E===Me.Compact)&&x.params&&(P=`Params: ${C(x.params)}
13
13
 
14
- `),D.log(`Sending request '${x.method} - (${x.id})'.`,C)}else _r("send-request",x)}function me(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&(x.params?C=`Params: ${P(x.params)}
14
+ `),D.log(`Sending request '${x.method} - (${x.id})'.`,P)}else Tr("send-request",x)}function me(x){if(!(E===Me.Off||!D))if(S===hr.Text){let P;(E===Me.Verbose||E===Me.Compact)&&(x.params?P=`Params: ${C(x.params)}
15
15
 
16
- `:C=`No parameters provided.
16
+ `:P=`No parameters provided.
17
17
 
18
- `),D.log(`Sending notification '${x.method}'.`,C)}else _r("send-notification",x)}function ve(x,C,j){if(!(E===Me.Off||!D))if(I===mr.Text){let Y;(E===Me.Verbose||E===Me.Compact)&&(x.error&&x.error.data?Y=`Error data: ${P(x.error.data)}
18
+ `),D.log(`Sending notification '${x.method}'.`,P)}else Tr("send-notification",x)}function ve(x,P,z){if(!(E===Me.Off||!D))if(S===hr.Text){let Y;(E===Me.Verbose||E===Me.Compact)&&(x.error&&x.error.data?Y=`Error data: ${C(x.error.data)}
19
19
 
20
- `:x.result?Y=`Result: ${P(x.result)}
20
+ `:x.result?Y=`Result: ${C(x.result)}
21
21
 
22
22
  `:x.error===void 0&&(Y=`No result returned.
23
23
 
24
- `)),D.log(`Sending response '${C} - (${x.id})'. Processing request took ${Date.now()-j}ms`,Y)}else _r("send-response",x)}function _t(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&x.params&&(C=`Params: ${P(x.params)}
24
+ `)),D.log(`Sending response '${P} - (${x.id})'. Processing request took ${Date.now()-z}ms`,Y)}else Tr("send-response",x)}function Tt(x){if(!(E===Me.Off||!D))if(S===hr.Text){let P;(E===Me.Verbose||E===Me.Compact)&&x.params&&(P=`Params: ${C(x.params)}
25
25
 
26
- `),D.log(`Received request '${x.method} - (${x.id})'.`,C)}else _r("receive-request",x)}function H(x){if(!(E===Me.Off||!D||x.method===xp.type.method))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&(x.params?C=`Params: ${P(x.params)}
26
+ `),D.log(`Received request '${x.method} - (${x.id})'.`,P)}else Tr("receive-request",x)}function X(x){if(!(E===Me.Off||!D||x.method===wp.type.method))if(S===hr.Text){let P;(E===Me.Verbose||E===Me.Compact)&&(x.params?P=`Params: ${C(x.params)}
27
27
 
28
- `:C=`No parameters provided.
28
+ `:P=`No parameters provided.
29
29
 
30
- `),D.log(`Received notification '${x.method}'.`,C)}else _r("receive-notification",x)}function Cr(x,C){if(!(E===Me.Off||!D))if(I===mr.Text){let j;if((E===Me.Verbose||E===Me.Compact)&&(x.error&&x.error.data?j=`Error data: ${P(x.error.data)}
30
+ `),D.log(`Received notification '${x.method}'.`,P)}else Tr("receive-notification",x)}function Cr(x,P){if(!(E===Me.Off||!D))if(S===hr.Text){let z;if((E===Me.Verbose||E===Me.Compact)&&(x.error&&x.error.data?z=`Error data: ${C(x.error.data)}
31
31
 
32
- `:x.result?j=`Result: ${P(x.result)}
32
+ `:x.result?z=`Result: ${C(x.result)}
33
33
 
34
- `:x.error===void 0&&(j=`No result returned.
34
+ `:x.error===void 0&&(z=`No result returned.
35
35
 
36
- `)),C){let Y=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${C.method} - (${x.id})' in ${Date.now()-C.timerStart}ms.${Y}`,j)}else D.log(`Received response ${x.id} without active response promise.`,j)}else _r("receive-response",x)}function _r(x,C){if(!D||E===Me.Off)return;let j={isLSPMessage:!0,type:x,message:C,timestamp:Date.now()};D.log(j)}function Or(){if(X())throw new Ra(ql.Closed,"Connection is closed.");if(F())throw new Ra(ql.Disposed,"Connection is disposed.")}function cs(){if(M())throw new Ra(ql.AlreadyListening,"Connection is already listening")}function _e(){if(!M())throw new Error("Call listen() first.")}function Lr(x){return x===void 0?null:x}function Qi(x){if(x!==null)return x}function In(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function Er(x,C){switch(x){case ce.ParameterStructures.auto:return In(C)?Qi(C):[Lr(C)];case ce.ParameterStructures.byName:if(!In(C))throw new Error("Received parameters by name but param is not an object literal.");return Qi(C);case ce.ParameterStructures.byPosition:return[Lr(C)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function jt(x,C){let j,Y=x.numberOfParams;switch(Y){case 0:j=void 0;break;case 1:j=Er(x.parameterStructures,C[0]);break;default:j=[];for(let $e=0;$e<C.length&&$e<Y;$e++)j.push(Lr(C[$e]));if(C.length<Y)for(let $e=C.length;$e<Y;$e++)j.push(null);break}return j}let At={sendNotification:(x,...C)=>{Or();let j,Y;if(mt.string(x)){j=x;let Pe=C[0],qe=0,Ze=ce.ParameterStructures.auto;ce.ParameterStructures.is(Pe)&&(qe=1,Ze=Pe);let ge=C.length,Ue=ge-qe;switch(Ue){case 0:Y=void 0;break;case 1:Y=Er(Ze,C[qe]);break;default:if(Ze===ce.ParameterStructures.byName)throw new Error(`Received ${Ue} parameters for 'by Name' notification parameter structure.`);Y=C.slice(qe,ge).map(Ae=>Lr(Ae));break}}else{let Pe=C;j=x.method,Y=jt(x,Pe)}let $e={jsonrpc:c,method:j,params:Y};return me($e),e.write($e).catch(Pe=>{throw i.error("Sending notification failed."),Pe})},onNotification:(x,C)=>{Or();let j;return mt.func(x)?f=x:C&&(mt.string(x)?(j=x,d.set(x,{type:void 0,handler:C})):(j=x.method,d.set(x.method,{type:x,handler:C}))),{dispose:()=>{j!==void 0?d.delete(j):f=void 0}}},onProgress:(x,C,j)=>{if(p.has(C))throw new Error(`Progress handler for token ${C} already registered`);return p.set(C,j),{dispose:()=>{p.delete(C)}}},sendProgress:(x,C,j)=>At.sendNotification(zl.type,{token:C,value:j}),onUnhandledProgress:le.event,sendRequest:(x,...C)=>{Or(),_e();let j,Y,$e;if(mt.string(x)){j=x;let ge=C[0],Ue=C[C.length-1],Ae=0,Je=ce.ParameterStructures.auto;ce.ParameterStructures.is(ge)&&(Ae=1,Je=ge);let st=C.length;lT.CancellationToken.is(Ue)&&(st=st-1,$e=Ue);let Qt=st-Ae;switch(Qt){case 0:Y=void 0;break;case 1:Y=Er(Je,C[Ae]);break;default:if(Je===ce.ParameterStructures.byName)throw new Error(`Received ${Qt} parameters for 'by Name' request parameter structure.`);Y=C.slice(Ae,st).map(ls=>Lr(ls));break}}else{let ge=C;j=x.method,Y=jt(x,ge);let Ue=x.numberOfParams;$e=lT.CancellationToken.is(ge[Ue])?ge[Ue]:void 0}let Pe=o++,qe;$e&&(qe=$e.onCancellationRequested(()=>{let ge=R.sender.sendCancellation(At,Pe);return ge===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Pe}`),Promise.resolve()):ge.catch(()=>{i.log(`Sending cancellation messages for id ${Pe} failed`)})}));let Ze={jsonrpc:c,id:Pe,method:j,params:Y};return we(Ze),typeof R.sender.enableCancellation=="function"&&R.sender.enableCancellation(Ze),new Promise(async(ge,Ue)=>{let Ae=Qt=>{ge(Qt),R.sender.cleanup(Pe),qe?.dispose()},Je=Qt=>{Ue(Qt),R.sender.cleanup(Pe),qe?.dispose()},st={method:j,timerStart:Date.now(),resolve:Ae,reject:Je};try{await e.write(Ze),v.set(Pe,st)}catch(Qt){throw i.error("Sending request failed."),st.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,Qt.message?Qt.message:"Unknown reason")),Qt}})},onRequest:(x,C)=>{Or();let j=null;return dT.is(x)?(j=void 0,l=x):mt.string(x)?(j=null,C!==void 0&&(j=x,u.set(x,{handler:C,type:void 0}))):C!==void 0&&(j=x.method,u.set(x.method,{type:x,handler:C})),{dispose:()=>{j!==null&&(j!==void 0?u.delete(j):l=void 0)}}},hasPendingResponse:()=>v.size>0,trace:async(x,C,j)=>{let Y=!1,$e=mr.Text;j!==void 0&&(mt.boolean(j)?Y=j:(Y=j.sendNotification||!1,$e=j.traceFormat||mr.Text)),E=x,I=$e,E===Me.Off?D=void 0:D=C,Y&&!X()&&!F()&&await At.sendNotification(pT.type,{value:Me.toString(x)})},onError:B.event,onClose:U.event,onUnhandledNotification:z.event,onDispose:O.event,end:()=>{e.end()},dispose:()=>{if(F())return;k=zr.Disposed,O.fire(void 0);let x=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let C of v.values())C.reject(x);v=new Map,_=new Map,T=new Set,g=new Nw.LinkedMap,mt.func(e.dispose)&&e.dispose(),mt.func(t.dispose)&&t.dispose()},listen:()=>{Or(),cs(),k=zr.Listening,t.listen(Ne)},inspect:()=>{(0,kw.default)().console.log("inspect")}};return At.onNotification(xp.type,x=>{if(E===Me.Off||!D)return;let C=E===Me.Verbose||E===Me.Compact;D.log(x.message,C?x.verbose:void 0)}),At.onNotification(zl.type,x=>{let C=p.get(x.token);C?C(x.value):le.fire(x)}),At}he.createMessageConnection=C2});var bp=fe(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.ProgressType=N.ProgressToken=N.createMessageConnection=N.NullLogger=N.ConnectionOptions=N.ConnectionStrategy=N.AbstractMessageBuffer=N.WriteableStreamMessageWriter=N.AbstractMessageWriter=N.MessageWriter=N.ReadableStreamMessageReader=N.AbstractMessageReader=N.MessageReader=N.SharedArrayReceiverStrategy=N.SharedArraySenderStrategy=N.CancellationToken=N.CancellationTokenSource=N.Emitter=N.Event=N.Disposable=N.LRUCache=N.Touch=N.LinkedMap=N.ParameterStructures=N.NotificationType9=N.NotificationType8=N.NotificationType7=N.NotificationType6=N.NotificationType5=N.NotificationType4=N.NotificationType3=N.NotificationType2=N.NotificationType1=N.NotificationType0=N.NotificationType=N.ErrorCodes=N.ResponseError=N.RequestType9=N.RequestType8=N.RequestType7=N.RequestType6=N.RequestType5=N.RequestType4=N.RequestType3=N.RequestType2=N.RequestType1=N.RequestType0=N.RequestType=N.Message=N.RAL=void 0;N.MessageStrategy=N.CancellationStrategy=N.CancellationSenderStrategy=N.CancellationReceiverStrategy=N.ConnectionError=N.ConnectionErrors=N.LogTraceNotification=N.SetTraceNotification=N.TraceFormat=N.TraceValues=N.Trace=void 0;var rt=Gx();Object.defineProperty(N,"Message",{enumerable:!0,get:function(){return rt.Message}});Object.defineProperty(N,"RequestType",{enumerable:!0,get:function(){return rt.RequestType}});Object.defineProperty(N,"RequestType0",{enumerable:!0,get:function(){return rt.RequestType0}});Object.defineProperty(N,"RequestType1",{enumerable:!0,get:function(){return rt.RequestType1}});Object.defineProperty(N,"RequestType2",{enumerable:!0,get:function(){return rt.RequestType2}});Object.defineProperty(N,"RequestType3",{enumerable:!0,get:function(){return rt.RequestType3}});Object.defineProperty(N,"RequestType4",{enumerable:!0,get:function(){return rt.RequestType4}});Object.defineProperty(N,"RequestType5",{enumerable:!0,get:function(){return rt.RequestType5}});Object.defineProperty(N,"RequestType6",{enumerable:!0,get:function(){return rt.RequestType6}});Object.defineProperty(N,"RequestType7",{enumerable:!0,get:function(){return rt.RequestType7}});Object.defineProperty(N,"RequestType8",{enumerable:!0,get:function(){return rt.RequestType8}});Object.defineProperty(N,"RequestType9",{enumerable:!0,get:function(){return rt.RequestType9}});Object.defineProperty(N,"ResponseError",{enumerable:!0,get:function(){return rt.ResponseError}});Object.defineProperty(N,"ErrorCodes",{enumerable:!0,get:function(){return rt.ErrorCodes}});Object.defineProperty(N,"NotificationType",{enumerable:!0,get:function(){return rt.NotificationType}});Object.defineProperty(N,"NotificationType0",{enumerable:!0,get:function(){return rt.NotificationType0}});Object.defineProperty(N,"NotificationType1",{enumerable:!0,get:function(){return rt.NotificationType1}});Object.defineProperty(N,"NotificationType2",{enumerable:!0,get:function(){return rt.NotificationType2}});Object.defineProperty(N,"NotificationType3",{enumerable:!0,get:function(){return rt.NotificationType3}});Object.defineProperty(N,"NotificationType4",{enumerable:!0,get:function(){return rt.NotificationType4}});Object.defineProperty(N,"NotificationType5",{enumerable:!0,get:function(){return rt.NotificationType5}});Object.defineProperty(N,"NotificationType6",{enumerable:!0,get:function(){return rt.NotificationType6}});Object.defineProperty(N,"NotificationType7",{enumerable:!0,get:function(){return rt.NotificationType7}});Object.defineProperty(N,"NotificationType8",{enumerable:!0,get:function(){return rt.NotificationType8}});Object.defineProperty(N,"NotificationType9",{enumerable:!0,get:function(){return rt.NotificationType9}});Object.defineProperty(N,"ParameterStructures",{enumerable:!0,get:function(){return rt.ParameterStructures}});var gT=Hx();Object.defineProperty(N,"LinkedMap",{enumerable:!0,get:function(){return gT.LinkedMap}});Object.defineProperty(N,"LRUCache",{enumerable:!0,get:function(){return gT.LRUCache}});Object.defineProperty(N,"Touch",{enumerable:!0,get:function(){return gT.Touch}});var O2=xw();Object.defineProperty(N,"Disposable",{enumerable:!0,get:function(){return O2.Disposable}});var Lw=Ta();Object.defineProperty(N,"Event",{enumerable:!0,get:function(){return Lw.Event}});Object.defineProperty(N,"Emitter",{enumerable:!0,get:function(){return Lw.Emitter}});var Dw=pp();Object.defineProperty(N,"CancellationTokenSource",{enumerable:!0,get:function(){return Dw.CancellationTokenSource}});Object.defineProperty(N,"CancellationToken",{enumerable:!0,get:function(){return Dw.CancellationToken}});var $w=_w();Object.defineProperty(N,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return $w.SharedArraySenderStrategy}});Object.defineProperty(N,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return $w.SharedArrayReceiverStrategy}});var yT=vw();Object.defineProperty(N,"MessageReader",{enumerable:!0,get:function(){return yT.MessageReader}});Object.defineProperty(N,"AbstractMessageReader",{enumerable:!0,get:function(){return yT.AbstractMessageReader}});Object.defineProperty(N,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return yT.ReadableStreamMessageReader}});var xT=Sw();Object.defineProperty(N,"MessageWriter",{enumerable:!0,get:function(){return xT.MessageWriter}});Object.defineProperty(N,"AbstractMessageWriter",{enumerable:!0,get:function(){return xT.AbstractMessageWriter}});Object.defineProperty(N,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return xT.WriteableStreamMessageWriter}});var L2=Iw();Object.defineProperty(N,"AbstractMessageBuffer",{enumerable:!0,get:function(){return L2.AbstractMessageBuffer}});var $t=Ow();Object.defineProperty(N,"ConnectionStrategy",{enumerable:!0,get:function(){return $t.ConnectionStrategy}});Object.defineProperty(N,"ConnectionOptions",{enumerable:!0,get:function(){return $t.ConnectionOptions}});Object.defineProperty(N,"NullLogger",{enumerable:!0,get:function(){return $t.NullLogger}});Object.defineProperty(N,"createMessageConnection",{enumerable:!0,get:function(){return $t.createMessageConnection}});Object.defineProperty(N,"ProgressToken",{enumerable:!0,get:function(){return $t.ProgressToken}});Object.defineProperty(N,"ProgressType",{enumerable:!0,get:function(){return $t.ProgressType}});Object.defineProperty(N,"Trace",{enumerable:!0,get:function(){return $t.Trace}});Object.defineProperty(N,"TraceValues",{enumerable:!0,get:function(){return $t.TraceValues}});Object.defineProperty(N,"TraceFormat",{enumerable:!0,get:function(){return $t.TraceFormat}});Object.defineProperty(N,"SetTraceNotification",{enumerable:!0,get:function(){return $t.SetTraceNotification}});Object.defineProperty(N,"LogTraceNotification",{enumerable:!0,get:function(){return $t.LogTraceNotification}});Object.defineProperty(N,"ConnectionErrors",{enumerable:!0,get:function(){return $t.ConnectionErrors}});Object.defineProperty(N,"ConnectionError",{enumerable:!0,get:function(){return $t.ConnectionError}});Object.defineProperty(N,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return $t.CancellationReceiverStrategy}});Object.defineProperty(N,"CancellationSenderStrategy",{enumerable:!0,get:function(){return $t.CancellationSenderStrategy}});Object.defineProperty(N,"CancellationStrategy",{enumerable:!0,get:function(){return $t.CancellationStrategy}});Object.defineProperty(N,"MessageStrategy",{enumerable:!0,get:function(){return $t.MessageStrategy}});var D2=Ci();N.RAL=D2.default});var Fw=fe(vT=>{"use strict";Object.defineProperty(vT,"__esModule",{value:!0});var xn=bp(),wp=class t extends xn.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};wp.emptyBuffer=new Uint8Array(0);var TT=class{constructor(e){this.socket=e,this._onData=new xn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,xn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),xn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),xn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),xn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},_T=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),xn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),xn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),xn.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},$2=new TextEncoder,Mw=Object.freeze({messageBuffer:Object.freeze({create:t=>new wp(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve($2.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new TT(t),asWritableStream:t=>new _T(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function ET(){return Mw}(function(t){function e(){xn.RAL.install(Mw)}t.install=e})(ET||(ET={}));vT.default=ET});var Xo=fe(gr=>{"use strict";var M2=gr&&gr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),F2=gr&&gr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&M2(e,t,r)};Object.defineProperty(gr,"__esModule",{value:!0});gr.createMessageConnection=gr.BrowserMessageWriter=gr.BrowserMessageReader=void 0;var U2=Fw();U2.default.install();var ba=bp();F2(bp(),gr);var RT=class extends ba.AbstractMessageReader{constructor(e){super(),this._onData=new ba.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};gr.BrowserMessageReader=RT;var bT=class extends ba.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};gr.BrowserMessageWriter=bT;function B2(t,e,r,n){return r===void 0&&(r=ba.NullLogger),ba.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,ba.createMessageConnection)(t,e,r,n)}gr.createMessageConnection=B2});var wT=fe((KZ,Uw)=>{"use strict";Uw.exports=Xo()});var ft=fe(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.ProtocolNotificationType=or.ProtocolNotificationType0=or.ProtocolRequestType=or.ProtocolRequestType0=or.RegistrationType=or.MessageDirection=void 0;var wa=Xo(),Bw;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Bw||(or.MessageDirection=Bw={}));var AT=class{constructor(e){this.method=e}};or.RegistrationType=AT;var ST=class extends wa.RequestType0{constructor(e){super(e)}};or.ProtocolRequestType0=ST;var IT=class extends wa.RequestType{constructor(e){super(e,wa.ParameterStructures.byName)}};or.ProtocolRequestType=IT;var kT=class extends wa.NotificationType0{constructor(e){super(e)}};or.ProtocolNotificationType0=kT;var NT=class extends wa.NotificationType{constructor(e){super(e,wa.ParameterStructures.byName)}};or.ProtocolNotificationType=NT});var Ap=fe(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.objectLiteral=wt.typedArray=wt.stringArray=wt.array=wt.func=wt.error=wt.number=wt.string=wt.boolean=void 0;function G2(t){return t===!0||t===!1}wt.boolean=G2;function Gw(t){return typeof t=="string"||t instanceof String}wt.string=Gw;function X2(t){return typeof t=="number"||t instanceof Number}wt.number=X2;function H2(t){return t instanceof Error}wt.error=H2;function j2(t){return typeof t=="function"}wt.func=j2;function Xw(t){return Array.isArray(t)}wt.array=Xw;function z2(t){return Xw(t)&&t.every(e=>Gw(e))}wt.stringArray=z2;function q2(t,e){return Array.isArray(t)&&t.every(e)}wt.typedArray=q2;function W2(t){return t!==null&&typeof t=="object"}wt.objectLiteral=W2});var zw=fe(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});Sp.ImplementationRequest=void 0;var Hw=ft(),jw;(function(t){t.method="textDocument/implementation",t.messageDirection=Hw.MessageDirection.clientToServer,t.type=new Hw.ProtocolRequestType(t.method)})(jw||(Sp.ImplementationRequest=jw={}))});var Vw=fe(Ip=>{"use strict";Object.defineProperty(Ip,"__esModule",{value:!0});Ip.TypeDefinitionRequest=void 0;var qw=ft(),Ww;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=qw.MessageDirection.clientToServer,t.type=new qw.ProtocolRequestType(t.method)})(Ww||(Ip.TypeDefinitionRequest=Ww={}))});var Zw=fe(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.DidChangeWorkspaceFoldersNotification=Aa.WorkspaceFoldersRequest=void 0;var kp=ft(),Yw;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=kp.MessageDirection.serverToClient,t.type=new kp.ProtocolRequestType0(t.method)})(Yw||(Aa.WorkspaceFoldersRequest=Yw={}));var Kw;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=kp.MessageDirection.clientToServer,t.type=new kp.ProtocolNotificationType(t.method)})(Kw||(Aa.DidChangeWorkspaceFoldersNotification=Kw={}))});var eA=fe(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.ConfigurationRequest=void 0;var Jw=ft(),Qw;(function(t){t.method="workspace/configuration",t.messageDirection=Jw.MessageDirection.serverToClient,t.type=new Jw.ProtocolRequestType(t.method)})(Qw||(Np.ConfigurationRequest=Qw={}))});var nA=fe(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.ColorPresentationRequest=Sa.DocumentColorRequest=void 0;var Pp=ft(),tA;(function(t){t.method="textDocument/documentColor",t.messageDirection=Pp.MessageDirection.clientToServer,t.type=new Pp.ProtocolRequestType(t.method)})(tA||(Sa.DocumentColorRequest=tA={}));var rA;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Pp.MessageDirection.clientToServer,t.type=new Pp.ProtocolRequestType(t.method)})(rA||(Sa.ColorPresentationRequest=rA={}))});var sA=fe(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.FoldingRangeRefreshRequest=Ia.FoldingRangeRequest=void 0;var Cp=ft(),iA;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Cp.MessageDirection.clientToServer,t.type=new Cp.ProtocolRequestType(t.method)})(iA||(Ia.FoldingRangeRequest=iA={}));var oA;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Cp.MessageDirection.serverToClient,t.type=new Cp.ProtocolRequestType0(t.method)})(oA||(Ia.FoldingRangeRefreshRequest=oA={}))});var lA=fe(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.DeclarationRequest=void 0;var aA=ft(),cA;(function(t){t.method="textDocument/declaration",t.messageDirection=aA.MessageDirection.clientToServer,t.type=new aA.ProtocolRequestType(t.method)})(cA||(Op.DeclarationRequest=cA={}))});var dA=fe(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.SelectionRangeRequest=void 0;var uA=ft(),fA;(function(t){t.method="textDocument/selectionRange",t.messageDirection=uA.MessageDirection.clientToServer,t.type=new uA.ProtocolRequestType(t.method)})(fA||(Lp.SelectionRangeRequest=fA={}))});var gA=fe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.WorkDoneProgressCancelNotification=Di.WorkDoneProgressCreateRequest=Di.WorkDoneProgress=void 0;var V2=Xo(),Dp=ft(),pA;(function(t){t.type=new V2.ProgressType;function e(r){return r===t.type}t.is=e})(pA||(Di.WorkDoneProgress=pA={}));var hA;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Dp.MessageDirection.serverToClient,t.type=new Dp.ProtocolRequestType(t.method)})(hA||(Di.WorkDoneProgressCreateRequest=hA={}));var mA;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Dp.MessageDirection.clientToServer,t.type=new Dp.ProtocolNotificationType(t.method)})(mA||(Di.WorkDoneProgressCancelNotification=mA={}))});var _A=fe($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.CallHierarchyOutgoingCallsRequest=$i.CallHierarchyIncomingCallsRequest=$i.CallHierarchyPrepareRequest=void 0;var ka=ft(),yA;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(yA||($i.CallHierarchyPrepareRequest=yA={}));var xA;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(xA||($i.CallHierarchyIncomingCallsRequest=xA={}));var TA;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(TA||($i.CallHierarchyOutgoingCallsRequest=TA={}))});var AA=fe(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.SemanticTokensRefreshRequest=sr.SemanticTokensRangeRequest=sr.SemanticTokensDeltaRequest=sr.SemanticTokensRequest=sr.SemanticTokensRegistrationType=sr.TokenFormat=void 0;var Wn=ft(),EA;(function(t){t.Relative="relative"})(EA||(sr.TokenFormat=EA={}));var Vl;(function(t){t.method="textDocument/semanticTokens",t.type=new Wn.RegistrationType(t.method)})(Vl||(sr.SemanticTokensRegistrationType=Vl={}));var vA;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(vA||(sr.SemanticTokensRequest=vA={}));var RA;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(RA||(sr.SemanticTokensDeltaRequest=RA={}));var bA;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(bA||(sr.SemanticTokensRangeRequest=bA={}));var wA;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=Wn.MessageDirection.serverToClient,t.type=new Wn.ProtocolRequestType0(t.method)})(wA||(sr.SemanticTokensRefreshRequest=wA={}))});var kA=fe($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.ShowDocumentRequest=void 0;var SA=ft(),IA;(function(t){t.method="window/showDocument",t.messageDirection=SA.MessageDirection.serverToClient,t.type=new SA.ProtocolRequestType(t.method)})(IA||($p.ShowDocumentRequest=IA={}))});var CA=fe(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.LinkedEditingRangeRequest=void 0;var NA=ft(),PA;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=NA.MessageDirection.clientToServer,t.type=new NA.ProtocolRequestType(t.method)})(PA||(Mp.LinkedEditingRangeRequest=PA={}))});var BA=fe(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.WillDeleteFilesRequest=Ht.DidDeleteFilesNotification=Ht.DidRenameFilesNotification=Ht.WillRenameFilesRequest=Ht.DidCreateFilesNotification=Ht.WillCreateFilesRequest=Ht.FileOperationPatternKind=void 0;var Sr=ft(),OA;(function(t){t.file="file",t.folder="folder"})(OA||(Ht.FileOperationPatternKind=OA={}));var LA;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(LA||(Ht.WillCreateFilesRequest=LA={}));var DA;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(DA||(Ht.DidCreateFilesNotification=DA={}));var $A;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})($A||(Ht.WillRenameFilesRequest=$A={}));var MA;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(MA||(Ht.DidRenameFilesNotification=MA={}));var FA;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(FA||(Ht.DidDeleteFilesNotification=FA={}));var UA;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(UA||(Ht.WillDeleteFilesRequest=UA={}))});var zA=fe(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.MonikerRequest=Mi.MonikerKind=Mi.UniquenessLevel=void 0;var GA=ft(),XA;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(XA||(Mi.UniquenessLevel=XA={}));var HA;(function(t){t.$import="import",t.$export="export",t.local="local"})(HA||(Mi.MonikerKind=HA={}));var jA;(function(t){t.method="textDocument/moniker",t.messageDirection=GA.MessageDirection.clientToServer,t.type=new GA.ProtocolRequestType(t.method)})(jA||(Mi.MonikerRequest=jA={}))});var YA=fe(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.TypeHierarchySubtypesRequest=Fi.TypeHierarchySupertypesRequest=Fi.TypeHierarchyPrepareRequest=void 0;var Na=ft(),qA;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(qA||(Fi.TypeHierarchyPrepareRequest=qA={}));var WA;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(WA||(Fi.TypeHierarchySupertypesRequest=WA={}));var VA;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(VA||(Fi.TypeHierarchySubtypesRequest=VA={}))});var JA=fe(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.InlineValueRefreshRequest=Pa.InlineValueRequest=void 0;var Fp=ft(),KA;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Fp.MessageDirection.clientToServer,t.type=new Fp.ProtocolRequestType(t.method)})(KA||(Pa.InlineValueRequest=KA={}));var ZA;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Fp.MessageDirection.serverToClient,t.type=new Fp.ProtocolRequestType0(t.method)})(ZA||(Pa.InlineValueRefreshRequest=ZA={}))});var rS=fe(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.InlayHintRefreshRequest=Ui.InlayHintResolveRequest=Ui.InlayHintRequest=void 0;var Ca=ft(),QA;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Ca.MessageDirection.clientToServer,t.type=new Ca.ProtocolRequestType(t.method)})(QA||(Ui.InlayHintRequest=QA={}));var eS;(function(t){t.method="inlayHint/resolve",t.messageDirection=Ca.MessageDirection.clientToServer,t.type=new Ca.ProtocolRequestType(t.method)})(eS||(Ui.InlayHintResolveRequest=eS={}));var tS;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Ca.MessageDirection.serverToClient,t.type=new Ca.ProtocolRequestType0(t.method)})(tS||(Ui.InlayHintRefreshRequest=tS={}))});var lS=fe(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DiagnosticRefreshRequest=Ir.WorkspaceDiagnosticRequest=Ir.DocumentDiagnosticRequest=Ir.DocumentDiagnosticReportKind=Ir.DiagnosticServerCancellationData=void 0;var cS=Xo(),Y2=Ap(),Oa=ft(),nS;(function(t){function e(r){let n=r;return n&&Y2.boolean(n.retriggerRequest)}t.is=e})(nS||(Ir.DiagnosticServerCancellationData=nS={}));var iS;(function(t){t.Full="full",t.Unchanged="unchanged"})(iS||(Ir.DocumentDiagnosticReportKind=iS={}));var oS;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method),t.partialResult=new cS.ProgressType})(oS||(Ir.DocumentDiagnosticRequest=oS={}));var sS;(function(t){t.method="workspace/diagnostic",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method),t.partialResult=new cS.ProgressType})(sS||(Ir.WorkspaceDiagnosticRequest=sS={}));var aS;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Oa.MessageDirection.serverToClient,t.type=new Oa.ProtocolRequestType0(t.method)})(aS||(Ir.DiagnosticRefreshRequest=aS={}))});var gS=fe(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.DidCloseNotebookDocumentNotification=xt.DidSaveNotebookDocumentNotification=xt.DidChangeNotebookDocumentNotification=xt.NotebookCellArrayChange=xt.DidOpenNotebookDocumentNotification=xt.NotebookDocumentSyncRegistrationType=xt.NotebookDocument=xt.NotebookCell=xt.ExecutionSummary=xt.NotebookCellKind=void 0;var Yl=(sa(),sf(Vd)),qr=Ap(),Tn=ft(),PT;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(PT||(xt.NotebookCellKind=PT={}));var CT;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return qr.objectLiteral(o)&&Yl.uinteger.is(o.executionOrder)&&(o.success===void 0||qr.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(CT||(xt.ExecutionSummary=CT={}));var Up;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return qr.objectLiteral(s)&&PT.is(s.kind)&&Yl.DocumentUri.is(s.document)&&(s.metadata===void 0||qr.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!CT.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(qr.objectLiteral(o)&&qr.objectLiteral(s)){let l=Object.keys(o),u=Object.keys(s);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){let d=l[f];if(!i(o[d],s[d]))return!1}}return!0}})(Up||(xt.NotebookCell=Up={}));var uS;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return qr.objectLiteral(i)&&qr.string(i.uri)&&Yl.integer.is(i.version)&&qr.typedArray(i.cells,Up.is)}t.is=r})(uS||(xt.NotebookDocument=uS={}));var La;(function(t){t.method="notebookDocument/sync",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.RegistrationType(t.method)})(La||(xt.NotebookDocumentSyncRegistrationType=La={}));var fS;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(fS||(xt.DidOpenNotebookDocumentNotification=fS={}));var dS;(function(t){function e(n){let i=n;return qr.objectLiteral(i)&&Yl.uinteger.is(i.start)&&Yl.uinteger.is(i.deleteCount)&&(i.cells===void 0||qr.typedArray(i.cells,Up.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(dS||(xt.NotebookCellArrayChange=dS={}));var pS;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(pS||(xt.DidChangeNotebookDocumentNotification=pS={}));var hS;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(hS||(xt.DidSaveNotebookDocumentNotification=hS={}));var mS;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(mS||(xt.DidCloseNotebookDocumentNotification=mS={}))});var TS=fe(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.InlineCompletionRequest=void 0;var yS=ft(),xS;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=yS.MessageDirection.clientToServer,t.type=new yS.ProtocolRequestType(t.method)})(xS||(Bp.InlineCompletionRequest=xS={}))});var CI=fe(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.WorkspaceSymbolRequest=y.CodeActionResolveRequest=y.CodeActionRequest=y.DocumentSymbolRequest=y.DocumentHighlightRequest=y.ReferencesRequest=y.DefinitionRequest=y.SignatureHelpRequest=y.SignatureHelpTriggerKind=y.HoverRequest=y.CompletionResolveRequest=y.CompletionRequest=y.CompletionTriggerKind=y.PublishDiagnosticsNotification=y.WatchKind=y.RelativePattern=y.FileChangeType=y.DidChangeWatchedFilesNotification=y.WillSaveTextDocumentWaitUntilRequest=y.WillSaveTextDocumentNotification=y.TextDocumentSaveReason=y.DidSaveTextDocumentNotification=y.DidCloseTextDocumentNotification=y.DidChangeTextDocumentNotification=y.TextDocumentContentChangeEvent=y.DidOpenTextDocumentNotification=y.TextDocumentSyncKind=y.TelemetryEventNotification=y.LogMessageNotification=y.ShowMessageRequest=y.ShowMessageNotification=y.MessageType=y.DidChangeConfigurationNotification=y.ExitNotification=y.ShutdownRequest=y.InitializedNotification=y.InitializeErrorCodes=y.InitializeRequest=y.WorkDoneProgressOptions=y.TextDocumentRegistrationOptions=y.StaticRegistrationOptions=y.PositionEncodingKind=y.FailureHandlingKind=y.ResourceOperationKind=y.UnregistrationRequest=y.RegistrationRequest=y.DocumentSelector=y.NotebookCellTextDocumentFilter=y.NotebookDocumentFilter=y.TextDocumentFilter=void 0;y.MonikerRequest=y.MonikerKind=y.UniquenessLevel=y.WillDeleteFilesRequest=y.DidDeleteFilesNotification=y.WillRenameFilesRequest=y.DidRenameFilesNotification=y.WillCreateFilesRequest=y.DidCreateFilesNotification=y.FileOperationPatternKind=y.LinkedEditingRangeRequest=y.ShowDocumentRequest=y.SemanticTokensRegistrationType=y.SemanticTokensRefreshRequest=y.SemanticTokensRangeRequest=y.SemanticTokensDeltaRequest=y.SemanticTokensRequest=y.TokenFormat=y.CallHierarchyPrepareRequest=y.CallHierarchyOutgoingCallsRequest=y.CallHierarchyIncomingCallsRequest=y.WorkDoneProgressCancelNotification=y.WorkDoneProgressCreateRequest=y.WorkDoneProgress=y.SelectionRangeRequest=y.DeclarationRequest=y.FoldingRangeRefreshRequest=y.FoldingRangeRequest=y.ColorPresentationRequest=y.DocumentColorRequest=y.ConfigurationRequest=y.DidChangeWorkspaceFoldersNotification=y.WorkspaceFoldersRequest=y.TypeDefinitionRequest=y.ImplementationRequest=y.ApplyWorkspaceEditRequest=y.ExecuteCommandRequest=y.PrepareRenameRequest=y.RenameRequest=y.PrepareSupportDefaultBehavior=y.DocumentOnTypeFormattingRequest=y.DocumentRangesFormattingRequest=y.DocumentRangeFormattingRequest=y.DocumentFormattingRequest=y.DocumentLinkResolveRequest=y.DocumentLinkRequest=y.CodeLensRefreshRequest=y.CodeLensResolveRequest=y.CodeLensRequest=y.WorkspaceSymbolResolveRequest=void 0;y.InlineCompletionRequest=y.DidCloseNotebookDocumentNotification=y.DidSaveNotebookDocumentNotification=y.DidChangeNotebookDocumentNotification=y.NotebookCellArrayChange=y.DidOpenNotebookDocumentNotification=y.NotebookDocumentSyncRegistrationType=y.NotebookDocument=y.NotebookCell=y.ExecutionSummary=y.NotebookCellKind=y.DiagnosticRefreshRequest=y.WorkspaceDiagnosticRequest=y.DocumentDiagnosticRequest=y.DocumentDiagnosticReportKind=y.DiagnosticServerCancellationData=y.InlayHintRefreshRequest=y.InlayHintResolveRequest=y.InlayHintRequest=y.InlineValueRefreshRequest=y.InlineValueRequest=y.TypeHierarchySupertypesRequest=y.TypeHierarchySubtypesRequest=y.TypeHierarchyPrepareRequest=void 0;var G=ft(),_S=(sa(),sf(Vd)),Ot=Ap(),K2=zw();Object.defineProperty(y,"ImplementationRequest",{enumerable:!0,get:function(){return K2.ImplementationRequest}});var Z2=Vw();Object.defineProperty(y,"TypeDefinitionRequest",{enumerable:!0,get:function(){return Z2.TypeDefinitionRequest}});var II=Zw();Object.defineProperty(y,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return II.WorkspaceFoldersRequest}});Object.defineProperty(y,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return II.DidChangeWorkspaceFoldersNotification}});var J2=eA();Object.defineProperty(y,"ConfigurationRequest",{enumerable:!0,get:function(){return J2.ConfigurationRequest}});var kI=nA();Object.defineProperty(y,"DocumentColorRequest",{enumerable:!0,get:function(){return kI.DocumentColorRequest}});Object.defineProperty(y,"ColorPresentationRequest",{enumerable:!0,get:function(){return kI.ColorPresentationRequest}});var NI=sA();Object.defineProperty(y,"FoldingRangeRequest",{enumerable:!0,get:function(){return NI.FoldingRangeRequest}});Object.defineProperty(y,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return NI.FoldingRangeRefreshRequest}});var Q2=lA();Object.defineProperty(y,"DeclarationRequest",{enumerable:!0,get:function(){return Q2.DeclarationRequest}});var eU=dA();Object.defineProperty(y,"SelectionRangeRequest",{enumerable:!0,get:function(){return eU.SelectionRangeRequest}});var MT=gA();Object.defineProperty(y,"WorkDoneProgress",{enumerable:!0,get:function(){return MT.WorkDoneProgress}});Object.defineProperty(y,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return MT.WorkDoneProgressCreateRequest}});Object.defineProperty(y,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return MT.WorkDoneProgressCancelNotification}});var FT=_A();Object.defineProperty(y,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return FT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(y,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return FT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(y,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return FT.CallHierarchyPrepareRequest}});var Da=AA();Object.defineProperty(y,"TokenFormat",{enumerable:!0,get:function(){return Da.TokenFormat}});Object.defineProperty(y,"SemanticTokensRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRequest}});Object.defineProperty(y,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Da.SemanticTokensDeltaRequest}});Object.defineProperty(y,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRangeRequest}});Object.defineProperty(y,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRefreshRequest}});Object.defineProperty(y,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Da.SemanticTokensRegistrationType}});var tU=kA();Object.defineProperty(y,"ShowDocumentRequest",{enumerable:!0,get:function(){return tU.ShowDocumentRequest}});var rU=CA();Object.defineProperty(y,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return rU.LinkedEditingRangeRequest}});var Ho=BA();Object.defineProperty(y,"FileOperationPatternKind",{enumerable:!0,get:function(){return Ho.FileOperationPatternKind}});Object.defineProperty(y,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Ho.DidCreateFilesNotification}});Object.defineProperty(y,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Ho.WillCreateFilesRequest}});Object.defineProperty(y,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Ho.DidRenameFilesNotification}});Object.defineProperty(y,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Ho.WillRenameFilesRequest}});Object.defineProperty(y,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Ho.DidDeleteFilesNotification}});Object.defineProperty(y,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Ho.WillDeleteFilesRequest}});var UT=zA();Object.defineProperty(y,"UniquenessLevel",{enumerable:!0,get:function(){return UT.UniquenessLevel}});Object.defineProperty(y,"MonikerKind",{enumerable:!0,get:function(){return UT.MonikerKind}});Object.defineProperty(y,"MonikerRequest",{enumerable:!0,get:function(){return UT.MonikerRequest}});var BT=YA();Object.defineProperty(y,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return BT.TypeHierarchyPrepareRequest}});Object.defineProperty(y,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return BT.TypeHierarchySubtypesRequest}});Object.defineProperty(y,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return BT.TypeHierarchySupertypesRequest}});var PI=JA();Object.defineProperty(y,"InlineValueRequest",{enumerable:!0,get:function(){return PI.InlineValueRequest}});Object.defineProperty(y,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return PI.InlineValueRefreshRequest}});var GT=rS();Object.defineProperty(y,"InlayHintRequest",{enumerable:!0,get:function(){return GT.InlayHintRequest}});Object.defineProperty(y,"InlayHintResolveRequest",{enumerable:!0,get:function(){return GT.InlayHintResolveRequest}});Object.defineProperty(y,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return GT.InlayHintRefreshRequest}});var Kl=lS();Object.defineProperty(y,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return Kl.DiagnosticServerCancellationData}});Object.defineProperty(y,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return Kl.DocumentDiagnosticReportKind}});Object.defineProperty(y,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return Kl.DocumentDiagnosticRequest}});Object.defineProperty(y,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return Kl.WorkspaceDiagnosticRequest}});Object.defineProperty(y,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return Kl.DiagnosticRefreshRequest}});var _n=gS();Object.defineProperty(y,"NotebookCellKind",{enumerable:!0,get:function(){return _n.NotebookCellKind}});Object.defineProperty(y,"ExecutionSummary",{enumerable:!0,get:function(){return _n.ExecutionSummary}});Object.defineProperty(y,"NotebookCell",{enumerable:!0,get:function(){return _n.NotebookCell}});Object.defineProperty(y,"NotebookDocument",{enumerable:!0,get:function(){return _n.NotebookDocument}});Object.defineProperty(y,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return _n.NotebookDocumentSyncRegistrationType}});Object.defineProperty(y,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidOpenNotebookDocumentNotification}});Object.defineProperty(y,"NotebookCellArrayChange",{enumerable:!0,get:function(){return _n.NotebookCellArrayChange}});Object.defineProperty(y,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidChangeNotebookDocumentNotification}});Object.defineProperty(y,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidSaveNotebookDocumentNotification}});Object.defineProperty(y,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidCloseNotebookDocumentNotification}});var nU=TS();Object.defineProperty(y,"InlineCompletionRequest",{enumerable:!0,get:function(){return nU.InlineCompletionRequest}});var OT;(function(t){function e(r){let n=r;return Ot.string(n)||Ot.string(n.language)||Ot.string(n.scheme)||Ot.string(n.pattern)}t.is=e})(OT||(y.TextDocumentFilter=OT={}));var LT;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(Ot.string(n.notebookType)||Ot.string(n.scheme)||Ot.string(n.pattern))}t.is=e})(LT||(y.NotebookDocumentFilter=LT={}));var DT;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(Ot.string(n.notebook)||LT.is(n.notebook))&&(n.language===void 0||Ot.string(n.language))}t.is=e})(DT||(y.NotebookCellTextDocumentFilter=DT={}));var $T;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Ot.string(n)&&!OT.is(n)&&!DT.is(n))return!1;return!0}t.is=e})($T||(y.DocumentSelector=$T={}));var ES;(function(t){t.method="client/registerCapability",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(ES||(y.RegistrationRequest=ES={}));var vS;(function(t){t.method="client/unregisterCapability",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(vS||(y.UnregistrationRequest=vS={}));var RS;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(RS||(y.ResourceOperationKind=RS={}));var bS;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(bS||(y.FailureHandlingKind=bS={}));var wS;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(wS||(y.PositionEncodingKind=wS={}));var AS;(function(t){function e(r){let n=r;return n&&Ot.string(n.id)&&n.id.length>0}t.hasId=e})(AS||(y.StaticRegistrationOptions=AS={}));var SS;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||$T.is(n.documentSelector))}t.is=e})(SS||(y.TextDocumentRegistrationOptions=SS={}));var IS;(function(t){function e(n){let i=n;return Ot.objectLiteral(i)&&(i.workDoneProgress===void 0||Ot.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Ot.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(IS||(y.WorkDoneProgressOptions=IS={}));var kS;(function(t){t.method="initialize",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(kS||(y.InitializeRequest=kS={}));var NS;(function(t){t.unknownProtocolVersion=1})(NS||(y.InitializeErrorCodes=NS={}));var PS;(function(t){t.method="initialized",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(PS||(y.InitializedNotification=PS={}));var CS;(function(t){t.method="shutdown",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType0(t.method)})(CS||(y.ShutdownRequest=CS={}));var OS;(function(t){t.method="exit",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType0(t.method)})(OS||(y.ExitNotification=OS={}));var LS;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(LS||(y.DidChangeConfigurationNotification=LS={}));var DS;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(DS||(y.MessageType=DS={}));var $S;(function(t){t.method="window/showMessage",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})($S||(y.ShowMessageNotification=$S={}));var MS;(function(t){t.method="window/showMessageRequest",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(MS||(y.ShowMessageRequest=MS={}));var FS;(function(t){t.method="window/logMessage",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(FS||(y.LogMessageNotification=FS={}));var US;(function(t){t.method="telemetry/event",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(US||(y.TelemetryEventNotification=US={}));var BS;(function(t){t.None=0,t.Full=1,t.Incremental=2})(BS||(y.TextDocumentSyncKind=BS={}));var GS;(function(t){t.method="textDocument/didOpen",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(GS||(y.DidOpenTextDocumentNotification=GS={}));var XS;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(XS||(y.TextDocumentContentChangeEvent=XS={}));var HS;(function(t){t.method="textDocument/didChange",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(HS||(y.DidChangeTextDocumentNotification=HS={}));var jS;(function(t){t.method="textDocument/didClose",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(jS||(y.DidCloseTextDocumentNotification=jS={}));var zS;(function(t){t.method="textDocument/didSave",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(zS||(y.DidSaveTextDocumentNotification=zS={}));var qS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(qS||(y.TextDocumentSaveReason=qS={}));var WS;(function(t){t.method="textDocument/willSave",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(WS||(y.WillSaveTextDocumentNotification=WS={}));var VS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(VS||(y.WillSaveTextDocumentWaitUntilRequest=VS={}));var YS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(YS||(y.DidChangeWatchedFilesNotification=YS={}));var KS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(KS||(y.FileChangeType=KS={}));var ZS;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(_S.URI.is(n.baseUri)||_S.WorkspaceFolder.is(n.baseUri))&&Ot.string(n.pattern)}t.is=e})(ZS||(y.RelativePattern=ZS={}));var JS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(JS||(y.WatchKind=JS={}));var QS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(QS||(y.PublishDiagnosticsNotification=QS={}));var eI;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(eI||(y.CompletionTriggerKind=eI={}));var tI;(function(t){t.method="textDocument/completion",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(tI||(y.CompletionRequest=tI={}));var rI;(function(t){t.method="completionItem/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(rI||(y.CompletionResolveRequest=rI={}));var nI;(function(t){t.method="textDocument/hover",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(nI||(y.HoverRequest=nI={}));var iI;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(iI||(y.SignatureHelpTriggerKind=iI={}));var oI;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(oI||(y.SignatureHelpRequest=oI={}));var sI;(function(t){t.method="textDocument/definition",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(sI||(y.DefinitionRequest=sI={}));var aI;(function(t){t.method="textDocument/references",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(aI||(y.ReferencesRequest=aI={}));var cI;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(cI||(y.DocumentHighlightRequest=cI={}));var lI;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(lI||(y.DocumentSymbolRequest=lI={}));var uI;(function(t){t.method="textDocument/codeAction",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(uI||(y.CodeActionRequest=uI={}));var fI;(function(t){t.method="codeAction/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(fI||(y.CodeActionResolveRequest=fI={}));var dI;(function(t){t.method="workspace/symbol",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(dI||(y.WorkspaceSymbolRequest=dI={}));var pI;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(pI||(y.WorkspaceSymbolResolveRequest=pI={}));var hI;(function(t){t.method="textDocument/codeLens",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(hI||(y.CodeLensRequest=hI={}));var mI;(function(t){t.method="codeLens/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(mI||(y.CodeLensResolveRequest=mI={}));var gI;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType0(t.method)})(gI||(y.CodeLensRefreshRequest=gI={}));var yI;(function(t){t.method="textDocument/documentLink",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(yI||(y.DocumentLinkRequest=yI={}));var xI;(function(t){t.method="documentLink/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(xI||(y.DocumentLinkResolveRequest=xI={}));var TI;(function(t){t.method="textDocument/formatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(TI||(y.DocumentFormattingRequest=TI={}));var _I;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(_I||(y.DocumentRangeFormattingRequest=_I={}));var EI;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(EI||(y.DocumentRangesFormattingRequest=EI={}));var vI;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(vI||(y.DocumentOnTypeFormattingRequest=vI={}));var RI;(function(t){t.Identifier=1})(RI||(y.PrepareSupportDefaultBehavior=RI={}));var bI;(function(t){t.method="textDocument/rename",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(bI||(y.RenameRequest=bI={}));var wI;(function(t){t.method="textDocument/prepareRename",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(wI||(y.PrepareRenameRequest=wI={}));var AI;(function(t){t.method="workspace/executeCommand",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(AI||(y.ExecuteCommandRequest=AI={}));var SI;(function(t){t.method="workspace/applyEdit",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType("workspace/applyEdit")})(SI||(y.ApplyWorkspaceEditRequest=SI={}))});var LI=fe(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});Gp.createProtocolConnection=void 0;var OI=Xo();function iU(t,e,r,n){return OI.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,OI.createMessageConnection)(t,e,r,n)}Gp.createProtocolConnection=iU});var $I=fe(ar=>{"use strict";var oU=ar&&ar.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Xp=ar&&ar.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oU(e,t,r)};Object.defineProperty(ar,"__esModule",{value:!0});ar.LSPErrorCodes=ar.createProtocolConnection=void 0;Xp(Xo(),ar);Xp((sa(),sf(Vd)),ar);Xp(ft(),ar);Xp(CI(),ar);var sU=LI();Object.defineProperty(ar,"createProtocolConnection",{enumerable:!0,get:function(){return sU.createProtocolConnection}});var DI;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(DI||(ar.LSPErrorCodes=DI={}))});var FI=fe(En=>{"use strict";var aU=En&&En.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),MI=En&&En.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&aU(e,t,r)};Object.defineProperty(En,"__esModule",{value:!0});En.createProtocolConnection=void 0;var cU=wT();MI(wT(),En);MI($I(),En);function lU(t,e,r,n){return(0,cU.createMessageConnection)(t,e,r,n)}En.createProtocolConnection=lU});var dk={};sn(dk,{nodeReadFile:()=>PU});async function PU(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var pk=ZE(()=>{});var VX={};sn(VX,{EmbedRenderError:()=>Zu,__resetForTests:()=>WX,init:()=>VE,initialize:()=>HX,parse:()=>zX,render:()=>jX,run:()=>qX,sha:()=>GX,version:()=>BX});var JE="lexing-error",QE="parsing-error";function e0(t){if(!t||typeof t!="object")return!1;let e=t.code;return e===JE||e===QE}function gm(t){let e=[];for(let r of t.parseResult.lexerErrors)e.push({origin:"lexer",error:r});for(let r of t.parseResult.parserErrors)e.push({origin:"parser",error:r});for(let r of t.diagnostics??[]){let n=r;e0(n.data)||e.push({origin:"validation",diagnostic:n})}return e}var $C=/did you mean ['"]?([^'"?]+)['"]?\??/i;function ym(t){let e=t.match($C);return e?e[1].trim():void 0}function t0(t){let e=t.toLowerCase();return e.includes("duplicate identifier")?"duplicate-identifier":e.includes("unknown reference")||e.includes("did you mean")?"unknown-reference":e.includes("circular")?"circular-dependency":e.includes("requires")&&e.includes("date:")?"missing-date":e.includes("duration")?"duration":e.includes("include")?"include":e.includes("indent")?"indentation":"validation"}function r0(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.code=="string"&&Array.isArray(e.args))return e.code}function xm(t){let e=r0(t.data);return e||(typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):t0(t.message))}var ut={};sn(ut,{AbstractAstReflection:()=>eo,AbstractCstNode:()=>_l,AbstractLangiumParser:()=>El,AbstractParserErrorMessageProvider:()=>Kd,AbstractThreadedAsyncParser:()=>YT,AstUtils:()=>lf,BiMap:()=>Fo,Cancellation:()=>oe,CompositeCstNodeImpl:()=>Oo,ContextCache:()=>Uo,CstNodeBuilder:()=>Tl,CstUtils:()=>kf,DEFAULT_TOKENIZE_OPTIONS:()=>Hp,DONE_RESULT:()=>Mt,DatatypeSymbol:()=>Yd,DefaultAstNodeDescriptionProvider:()=>Fl,DefaultAstNodeLocator:()=>Bl,DefaultAsyncParser:()=>ou,DefaultCommentProvider:()=>iu,DefaultConfigurationProvider:()=>Gl,DefaultDocumentBuilder:()=>Zl,DefaultDocumentValidator:()=>Ml,DefaultHydrator:()=>au,DefaultIndexManager:()=>Jl,DefaultJsonSerializer:()=>Ll,DefaultLangiumDocumentFactory:()=>wl,DefaultLangiumDocuments:()=>Al,DefaultLangiumProfiler:()=>QT,DefaultLexer:()=>jo,DefaultLexerErrorMessageProvider:()=>eu,DefaultLinker:()=>Sl,DefaultNameProvider:()=>Il,DefaultReferenceDescriptionProvider:()=>Ul,DefaultReferences:()=>kl,DefaultScopeComputation:()=>Nl,DefaultScopeProvider:()=>Ol,DefaultServiceRegistry:()=>Dl,DefaultTokenBuilder:()=>Do,DefaultValueConverter:()=>$o,DefaultWorkspaceLock:()=>su,DefaultWorkspaceManager:()=>Ql,Deferred:()=>Jt,Disposable:()=>Bi,DisposableCache:()=>ma,DocumentCache:()=>op,DocumentState:()=>ye,DocumentValidator:()=>Ar,EMPTY_SCOPE:()=>h2,EMPTY_STREAM:()=>oi,EmptyFileSystem:()=>du,EmptyFileSystemProvider:()=>Wp,ErrorWithLocation:()=>go,GrammarAST:()=>Dc,GrammarUtils:()=>ws,IndentationAwareLexer:()=>fu,IndentationAwareTokenBuilder:()=>Ma,JSDocDocumentationProvider:()=>nu,LangiumCompletionParser:()=>Rl,LangiumParser:()=>vl,LangiumParserErrorMessageProvider:()=>ca,LeafCstNodeImpl:()=>Co,LexingMode:()=>qo,MapScope:()=>mx,Module:()=>ZT,MultiMap:()=>Bt,MultiMapScope:()=>Pl,OperationCancelled:()=>wr,ParserWorker:()=>KT,ProfilingTask:()=>Yp,Reduction:()=>us,RefResolving:()=>Mo,RegExpUtils:()=>Cf,RootCstNodeImpl:()=>aa,SimpleCache:()=>Cl,StreamImpl:()=>fr,StreamScope:()=>ha,TextDocument:()=>fa,TreeStreamImpl:()=>an,URI:()=>ht,UriTrie:()=>pa,UriUtils:()=>vt,VALIDATE_EACH_NODE:()=>uw,ValidationCategory:()=>sp,ValidationRegistry:()=>$l,ValueConverter:()=>gn,WorkspaceCache:()=>ga,assertCondition:()=>l0,assertUnreachable:()=>un,createCompletionParser:()=>nx,createDefaultCoreModule:()=>cu,createDefaultSharedCoreModule:()=>lu,createGrammarConfig:()=>lg,createLangiumParser:()=>ix,createParser:()=>bl,delayNextTick:()=>px,diagnosticData:()=>Bo,eagerLoad:()=>VI,getDiagnosticRange:()=>fw,indentationBuilderDefaultOptions:()=>JT,inject:()=>zo,interruptAndCheck:()=>pt,isAstNode:()=>dt,isAstNodeDescription:()=>Tm,isAstNodeWithComment:()=>gx,isCompositeCstNode:()=>$r,isIMultiModeLexerDefinition:()=>HT,isJSDoc:()=>WT,isLeafCstNode:()=>ii,isLinkingError:()=>to,isMultiReference:()=>ur,isNamed:()=>cw,isOperationCancelled:()=>yn,isReference:()=>St,isRootCstNode:()=>Rc,isTokenTypeArray:()=>jp,isTokenTypeDictionary:()=>XT,loadGrammarFromJson:()=>Vp,parseJSDoc:()=>qT,prepareLangiumParser:()=>Kb,setInterruptionPeriod:()=>nw,startCancelableOperation:()=>np,stream:()=>xe,toDiagnosticData:()=>dw,toDiagnosticSeverity:()=>ap});var kf={};sn(kf,{DefaultNameRegexp:()=>If,RangeComparison:()=>ln,compareRange:()=>o0,findCommentNode:()=>jm,findDeclarationNodeAtOffset:()=>oO,findLeafNodeAtOffset:()=>zm,findLeafNodeBeforeOffset:()=>s0,flattenCst:()=>iO,getDatatypeNode:()=>nO,getInteriorNodes:()=>cO,getNextNode:()=>sO,getPreviousNode:()=>c0,getStartlineNode:()=>aO,inRange:()=>Rm,isChildNode:()=>Hm,isCommentNode:()=>Xm,streamCst:()=>ho,toDocumentSegment:()=>mo,tokenToRange:()=>Es});function dt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function ur(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Tm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function to(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var eo=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return dt(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.types[e],s=o?o.superTypes.some(a=>this.isSubtype(a,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function $r(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function ii(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Rc(t){return $r(t)&&typeof t.fullText=="string"}var fr=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Mt})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=FC(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Mt:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Mt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(af(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return Mt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(af(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return Mt})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Mt:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Mt})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function FC(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function af(t){return!!t&&typeof t[Symbol.iterator]=="function"}var oi=new fr(()=>{},()=>Mt),Mt=Object.freeze({done:!0,value:void 0});function xe(...t){if(t.length===1){let e=t[0];if(e instanceof fr)return e;if(af(e))return new fr(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new fr(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Mt)}return t.length>1?new fr(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];af(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Mt}):oi}var an=class extends fr{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Mt})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},us;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(us||(us={}));var lf={};sn(lf,{assignMandatoryProperties:()=>vm,copyAstNode:()=>Em,findRootNode:()=>ds,getContainerOfType:()=>Nn,getDocument:()=>Ft,getReferenceNodes:()=>cf,hasContainerOfType:()=>UC,linkContentToContainer:()=>fs,streamAllContents:()=>Mr,streamAst:()=>zt,streamContents:()=>bc,streamReferences:()=>si});function fs(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,o)=>{dt(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=o,e.deep&&fs(i,e))}):dt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&fs(n,e)))}function Nn(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function UC(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Ft(t){let r=ds(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ds(t){for(;t.$container;)t=t.$container;return t}function cf(t){return St(t)?t.ref?[t.ref]:[]:ur(t)?t.items.map(e=>e.ref):[]}function bc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new fr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(dt(o)){if(n.keyIndex++,_m(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(dt(a)&&_m(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return Mt})}function Mr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new an(t,r=>bc(r,e))}function zt(t,e){if(t){if(e?.range&&!_m(t,e.range))return new an(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new an(t,r=>bc(r,e),{includeRoot:!0})}function _m(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Rm(r,e):!1}function si(t){return new fr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(St(n)||ur(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(St(o)||ur(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Mt})}function vm(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=n0(i.defaultValue))}function n0(t){return Array.isArray(t)?[...t.map(n0)]:t}function Em(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,o]of Object.entries(t))if(!i.startsWith("$"))if(dt(o))n[i]=Em(o,e,r);else if(St(o))n[i]=e(n,i,o.$refNode,o.$refText,o);else if(Array.isArray(o)){let s=[];for(let a of o)dt(a)?s.push(Em(a,e,r)):St(a)?s.push(e(n,i,a.$refNode,a.$refText,a)):s.push(a);n[i]=s}else n[i]=o;return fs(n,{deep:!0}),n}var Dc={};sn(Dc,{AbstractElement:()=>tr,AbstractParserRule:()=>wc,AbstractRule:()=>ps,AbstractType:()=>dr,Action:()=>ai,Alternatives:()=>Ac,ArrayLiteral:()=>uf,ArrayType:()=>ff,Assignment:()=>ci,BooleanLiteral:()=>df,CharacterRange:()=>li,Condition:()=>ui,Conjunction:()=>Sc,CrossReference:()=>fi,Disjunction:()=>Ic,EndOfFile:()=>pf,Grammar:()=>Pn,GrammarImport:()=>hf,Group:()=>ro,InferredType:()=>mf,InfixRule:()=>cn,InfixRuleOperatorList:()=>kc,InfixRuleOperators:()=>gf,Interface:()=>hs,Keyword:()=>ms,LangiumGrammarAstReflection:()=>_s,LangiumGrammarTerminals:()=>BC,NamedArgument:()=>gs,NegatedToken:()=>no,Negation:()=>yf,NumberLiteral:()=>xf,Parameter:()=>ys,ParameterReference:()=>Tf,ParserRule:()=>Fr,ReferenceType:()=>Nc,RegexToken:()=>io,ReturnType:()=>_f,RuleCall:()=>oo,SimpleType:()=>xs,StringLiteral:()=>Ef,TerminalAlternatives:()=>so,TerminalElement:()=>rr,TerminalGroup:()=>ao,TerminalRule:()=>Cn,TerminalRuleCall:()=>co,Type:()=>Pc,TypeAttribute:()=>lo,TypeDefinition:()=>uo,UnionType:()=>vf,UnorderedGroup:()=>Cc,UntilToken:()=>fo,ValueLiteral:()=>po,Wildcard:()=>Ts,isAbstractElement:()=>Oc,isAbstractParserRule:()=>On,isAbstractRule:()=>GC,isAbstractType:()=>XC,isAction:()=>Ln,isAlternatives:()=>Rf,isArrayLiteral:()=>HC,isArrayType:()=>bm,isAssignment:()=>Ur,isBooleanLiteral:()=>wm,isCharacterRange:()=>Am,isCondition:()=>jC,isConjunction:()=>Sm,isCrossReference:()=>Br,isDisjunction:()=>Im,isEndOfFile:()=>km,isGrammar:()=>zC,isGrammarImport:()=>qC,isGroup:()=>di,isInferredType:()=>Lc,isInfixRule:()=>pi,isInfixRuleOperatorList:()=>WC,isInfixRuleOperators:()=>VC,isInterface:()=>Nm,isKeyword:()=>Rr,isNamedArgument:()=>YC,isNegatedToken:()=>Pm,isNegation:()=>Cm,isNumberLiteral:()=>KC,isParameter:()=>ZC,isParameterReference:()=>Om,isParserRule:()=>Nt,isReferenceType:()=>Lm,isRegexToken:()=>Dm,isReturnType:()=>$m,isRuleCall:()=>Gr,isSimpleType:()=>bf,isStringLiteral:()=>JC,isTerminalAlternatives:()=>Mm,isTerminalElement:()=>QC,isTerminalGroup:()=>Fm,isTerminalRule:()=>qt,isTerminalRuleCall:()=>wf,isType:()=>Af,isTypeAttribute:()=>eO,isTypeDefinition:()=>tO,isUnionType:()=>Um,isUnorderedGroup:()=>Sf,isUntilToken:()=>Bm,isValueLiteral:()=>rO,isWildcard:()=>Gm,reflection:()=>ie});var BC={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]*/},tr={$type:"AbstractElement",cardinality:"cardinality"};function Oc(t){return ie.isInstance(t,tr.$type)}var wc={$type:"AbstractParserRule"};function On(t){return ie.isInstance(t,wc.$type)}var ps={$type:"AbstractRule"};function GC(t){return ie.isInstance(t,ps.$type)}var dr={$type:"AbstractType"};function XC(t){return ie.isInstance(t,dr.$type)}var ai={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Ln(t){return ie.isInstance(t,ai.$type)}var Ac={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Rf(t){return ie.isInstance(t,Ac.$type)}var uf={$type:"ArrayLiteral",elements:"elements"};function HC(t){return ie.isInstance(t,uf.$type)}var ff={$type:"ArrayType",elementType:"elementType"};function bm(t){return ie.isInstance(t,ff.$type)}var ci={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Ur(t){return ie.isInstance(t,ci.$type)}var df={$type:"BooleanLiteral",true:"true"};function wm(t){return ie.isInstance(t,df.$type)}var li={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Am(t){return ie.isInstance(t,li.$type)}var ui={$type:"Condition"};function jC(t){return ie.isInstance(t,ui.$type)}var Sc={$type:"Conjunction",left:"left",right:"right"};function Sm(t){return ie.isInstance(t,Sc.$type)}var fi={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Br(t){return ie.isInstance(t,fi.$type)}var Ic={$type:"Disjunction",left:"left",right:"right"};function Im(t){return ie.isInstance(t,Ic.$type)}var pf={$type:"EndOfFile",cardinality:"cardinality"};function km(t){return ie.isInstance(t,pf.$type)}var Pn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function zC(t){return ie.isInstance(t,Pn.$type)}var hf={$type:"GrammarImport",path:"path"};function qC(t){return ie.isInstance(t,hf.$type)}var ro={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function di(t){return ie.isInstance(t,ro.$type)}var mf={$type:"InferredType",name:"name"};function Lc(t){return ie.isInstance(t,mf.$type)}var cn={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function pi(t){return ie.isInstance(t,cn.$type)}var kc={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function WC(t){return ie.isInstance(t,kc.$type)}var gf={$type:"InfixRuleOperators",precedences:"precedences"};function VC(t){return ie.isInstance(t,gf.$type)}var hs={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Nm(t){return ie.isInstance(t,hs.$type)}var ms={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Rr(t){return ie.isInstance(t,ms.$type)}var gs={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function YC(t){return ie.isInstance(t,gs.$type)}var no={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Pm(t){return ie.isInstance(t,no.$type)}var yf={$type:"Negation",value:"value"};function Cm(t){return ie.isInstance(t,yf.$type)}var xf={$type:"NumberLiteral",value:"value"};function KC(t){return ie.isInstance(t,xf.$type)}var ys={$type:"Parameter",name:"name"};function ZC(t){return ie.isInstance(t,ys.$type)}var Tf={$type:"ParameterReference",parameter:"parameter"};function Om(t){return ie.isInstance(t,Tf.$type)}var Fr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Nt(t){return ie.isInstance(t,Fr.$type)}var Nc={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Lm(t){return ie.isInstance(t,Nc.$type)}var io={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Dm(t){return ie.isInstance(t,io.$type)}var _f={$type:"ReturnType",name:"name"};function $m(t){return ie.isInstance(t,_f.$type)}var oo={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Gr(t){return ie.isInstance(t,oo.$type)}var xs={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function bf(t){return ie.isInstance(t,xs.$type)}var Ef={$type:"StringLiteral",value:"value"};function JC(t){return ie.isInstance(t,Ef.$type)}var so={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Mm(t){return ie.isInstance(t,so.$type)}var rr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function QC(t){return ie.isInstance(t,rr.$type)}var ao={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Fm(t){return ie.isInstance(t,ao.$type)}var Cn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function qt(t){return ie.isInstance(t,Cn.$type)}var co={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function wf(t){return ie.isInstance(t,co.$type)}var Pc={$type:"Type",name:"name",type:"type"};function Af(t){return ie.isInstance(t,Pc.$type)}var lo={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function eO(t){return ie.isInstance(t,lo.$type)}var uo={$type:"TypeDefinition"};function tO(t){return ie.isInstance(t,uo.$type)}var vf={$type:"UnionType",types:"types"};function Um(t){return ie.isInstance(t,vf.$type)}var Cc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Sf(t){return ie.isInstance(t,Cc.$type)}var fo={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Bm(t){return ie.isInstance(t,fo.$type)}var po={$type:"ValueLiteral"};function rO(t){return ie.isInstance(t,po.$type)}var Ts={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Gm(t){return ie.isInstance(t,Ts.$type)}var _s=class extends eo{constructor(){super(...arguments),this.types={AbstractElement:{name:tr.$type,properties:{cardinality:{name:tr.cardinality}},superTypes:[]},AbstractParserRule:{name:wc.$type,properties:{},superTypes:[ps.$type,dr.$type]},AbstractRule:{name:ps.$type,properties:{},superTypes:[]},AbstractType:{name:dr.$type,properties:{},superTypes:[]},Action:{name:ai.$type,properties:{cardinality:{name:ai.cardinality},feature:{name:ai.feature},inferredType:{name:ai.inferredType},operator:{name:ai.operator},type:{name:ai.type,referenceType:dr.$type}},superTypes:[tr.$type]},Alternatives:{name:Ac.$type,properties:{cardinality:{name:Ac.cardinality},elements:{name:Ac.elements,defaultValue:[]}},superTypes:[tr.$type]},ArrayLiteral:{name:uf.$type,properties:{elements:{name:uf.elements,defaultValue:[]}},superTypes:[po.$type]},ArrayType:{name:ff.$type,properties:{elementType:{name:ff.elementType}},superTypes:[uo.$type]},Assignment:{name:ci.$type,properties:{cardinality:{name:ci.cardinality},feature:{name:ci.feature},operator:{name:ci.operator},predicate:{name:ci.predicate},terminal:{name:ci.terminal}},superTypes:[tr.$type]},BooleanLiteral:{name:df.$type,properties:{true:{name:df.true,defaultValue:!1}},superTypes:[ui.$type,po.$type]},CharacterRange:{name:li.$type,properties:{cardinality:{name:li.cardinality},left:{name:li.left},lookahead:{name:li.lookahead},parenthesized:{name:li.parenthesized,defaultValue:!1},right:{name:li.right}},superTypes:[rr.$type]},Condition:{name:ui.$type,properties:{},superTypes:[]},Conjunction:{name:Sc.$type,properties:{left:{name:Sc.left},right:{name:Sc.right}},superTypes:[ui.$type]},CrossReference:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},deprecatedSyntax:{name:fi.deprecatedSyntax,defaultValue:!1},isMulti:{name:fi.isMulti,defaultValue:!1},terminal:{name:fi.terminal},type:{name:fi.type,referenceType:dr.$type}},superTypes:[tr.$type]},Disjunction:{name:Ic.$type,properties:{left:{name:Ic.left},right:{name:Ic.right}},superTypes:[ui.$type]},EndOfFile:{name:pf.$type,properties:{cardinality:{name:pf.cardinality}},superTypes:[tr.$type]},Grammar:{name:Pn.$type,properties:{imports:{name:Pn.imports,defaultValue:[]},interfaces:{name:Pn.interfaces,defaultValue:[]},isDeclared:{name:Pn.isDeclared,defaultValue:!1},name:{name:Pn.name},rules:{name:Pn.rules,defaultValue:[]},types:{name:Pn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:hf.$type,properties:{path:{name:hf.path}},superTypes:[]},Group:{name:ro.$type,properties:{cardinality:{name:ro.cardinality},elements:{name:ro.elements,defaultValue:[]},guardCondition:{name:ro.guardCondition},predicate:{name:ro.predicate}},superTypes:[tr.$type]},InferredType:{name:mf.$type,properties:{name:{name:mf.name}},superTypes:[dr.$type]},InfixRule:{name:cn.$type,properties:{call:{name:cn.call},dataType:{name:cn.dataType},inferredType:{name:cn.inferredType},name:{name:cn.name},operators:{name:cn.operators},parameters:{name:cn.parameters,defaultValue:[]},returnType:{name:cn.returnType,referenceType:dr.$type}},superTypes:[wc.$type]},InfixRuleOperatorList:{name:kc.$type,properties:{associativity:{name:kc.associativity},operators:{name:kc.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:gf.$type,properties:{precedences:{name:gf.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:hs.$type,properties:{attributes:{name:hs.attributes,defaultValue:[]},name:{name:hs.name},superTypes:{name:hs.superTypes,defaultValue:[],referenceType:dr.$type}},superTypes:[dr.$type]},Keyword:{name:ms.$type,properties:{cardinality:{name:ms.cardinality},predicate:{name:ms.predicate},value:{name:ms.value}},superTypes:[tr.$type]},NamedArgument:{name:gs.$type,properties:{calledByName:{name:gs.calledByName,defaultValue:!1},parameter:{name:gs.parameter,referenceType:ys.$type},value:{name:gs.value}},superTypes:[]},NegatedToken:{name:no.$type,properties:{cardinality:{name:no.cardinality},lookahead:{name:no.lookahead},parenthesized:{name:no.parenthesized,defaultValue:!1},terminal:{name:no.terminal}},superTypes:[rr.$type]},Negation:{name:yf.$type,properties:{value:{name:yf.value}},superTypes:[ui.$type]},NumberLiteral:{name:xf.$type,properties:{value:{name:xf.value}},superTypes:[po.$type]},Parameter:{name:ys.$type,properties:{name:{name:ys.name}},superTypes:[]},ParameterReference:{name:Tf.$type,properties:{parameter:{name:Tf.parameter,referenceType:ys.$type}},superTypes:[ui.$type]},ParserRule:{name:Fr.$type,properties:{dataType:{name:Fr.dataType},definition:{name:Fr.definition},entry:{name:Fr.entry,defaultValue:!1},fragment:{name:Fr.fragment,defaultValue:!1},inferredType:{name:Fr.inferredType},name:{name:Fr.name},parameters:{name:Fr.parameters,defaultValue:[]},returnType:{name:Fr.returnType,referenceType:dr.$type}},superTypes:[wc.$type]},ReferenceType:{name:Nc.$type,properties:{isMulti:{name:Nc.isMulti,defaultValue:!1},referenceType:{name:Nc.referenceType}},superTypes:[uo.$type]},RegexToken:{name:io.$type,properties:{cardinality:{name:io.cardinality},lookahead:{name:io.lookahead},parenthesized:{name:io.parenthesized,defaultValue:!1},regex:{name:io.regex}},superTypes:[rr.$type]},ReturnType:{name:_f.$type,properties:{name:{name:_f.name}},superTypes:[]},RuleCall:{name:oo.$type,properties:{arguments:{name:oo.arguments,defaultValue:[]},cardinality:{name:oo.cardinality},predicate:{name:oo.predicate},rule:{name:oo.rule,referenceType:ps.$type}},superTypes:[tr.$type]},SimpleType:{name:xs.$type,properties:{primitiveType:{name:xs.primitiveType},stringType:{name:xs.stringType},typeRef:{name:xs.typeRef,referenceType:dr.$type}},superTypes:[uo.$type]},StringLiteral:{name:Ef.$type,properties:{value:{name:Ef.value}},superTypes:[po.$type]},TerminalAlternatives:{name:so.$type,properties:{cardinality:{name:so.cardinality},elements:{name:so.elements,defaultValue:[]},lookahead:{name:so.lookahead},parenthesized:{name:so.parenthesized,defaultValue:!1}},superTypes:[rr.$type]},TerminalElement:{name:rr.$type,properties:{cardinality:{name:rr.cardinality},lookahead:{name:rr.lookahead},parenthesized:{name:rr.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalGroup:{name:ao.$type,properties:{cardinality:{name:ao.cardinality},elements:{name:ao.elements,defaultValue:[]},lookahead:{name:ao.lookahead},parenthesized:{name:ao.parenthesized,defaultValue:!1}},superTypes:[rr.$type]},TerminalRule:{name:Cn.$type,properties:{definition:{name:Cn.definition},fragment:{name:Cn.fragment,defaultValue:!1},hidden:{name:Cn.hidden,defaultValue:!1},name:{name:Cn.name},type:{name:Cn.type}},superTypes:[ps.$type]},TerminalRuleCall:{name:co.$type,properties:{cardinality:{name:co.cardinality},lookahead:{name:co.lookahead},parenthesized:{name:co.parenthesized,defaultValue:!1},rule:{name:co.rule,referenceType:Cn.$type}},superTypes:[rr.$type]},Type:{name:Pc.$type,properties:{name:{name:Pc.name},type:{name:Pc.type}},superTypes:[dr.$type]},TypeAttribute:{name:lo.$type,properties:{defaultValue:{name:lo.defaultValue},isOptional:{name:lo.isOptional,defaultValue:!1},name:{name:lo.name},type:{name:lo.type}},superTypes:[]},TypeDefinition:{name:uo.$type,properties:{},superTypes:[]},UnionType:{name:vf.$type,properties:{types:{name:vf.types,defaultValue:[]}},superTypes:[uo.$type]},UnorderedGroup:{name:Cc.$type,properties:{cardinality:{name:Cc.cardinality},elements:{name:Cc.elements,defaultValue:[]}},superTypes:[tr.$type]},UntilToken:{name:fo.$type,properties:{cardinality:{name:fo.cardinality},lookahead:{name:fo.lookahead},parenthesized:{name:fo.parenthesized,defaultValue:!1},terminal:{name:fo.terminal}},superTypes:[rr.$type]},ValueLiteral:{name:po.$type,properties:{},superTypes:[]},Wildcard:{name:Ts.$type,properties:{cardinality:{name:Ts.cardinality},lookahead:{name:Ts.lookahead},parenthesized:{name:Ts.parenthesized,defaultValue:!1}},superTypes:[rr.$type]}}}},ie=new _s;function nO(t){let e=t,r=!1;for(;e;){let n=Nn(e.grammarSource,Nt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function ho(t){return new an(t,e=>$r(e)?e.content:[],{includeRoot:!0})}function iO(t){return ho(t).filter(ii)}function Hm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Es(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function mo(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ln;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ln||(ln={}));function o0(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return ln.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ln.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?ln.Inside:r?ln.OverlapBack:n?ln.OverlapFront:ln.Outside}function Rm(t,e){return o0(t,e)>ln.After}var If=/^[\w\p{L}]$/u;function oO(t,e,r=If){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return zm(t,e)}}function jm(t,e){if(t){let r=c0(t,!0);if(r&&Xm(r,e))return r;if(Rc(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Xm(o,e))return o}}}}function Xm(t,e){return ii(t)&&e.includes(t.tokenType.name)}function zm(t,e){if(ii(t))return t;if($r(t)){let r=a0(t,e,!1);if(r)return zm(r,e)}}function s0(t,e){if(ii(t))return t;if($r(t)){let r=a0(t,e,!0);if(r)return s0(r,e)}}function a0(t,e,r){let n=0,i=t.content.length-1,o;for(;n<=i;){let s=Math.floor((n+i)/2),a=t.content[s];if(a.offset<=e&&a.end>e)return a;a.end<=e?(o=r?a:void 0,n=s+1):i=s-1}return o}function c0(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function sO(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function aO(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,o=n??i.content.indexOf(t);if(o===0?(t=i,n=void 0):(n=o-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}function cO(t,e){let r=lO(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function lO(t,e){let r=i0(t),n=i0(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function i0(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}var ws={};sn(ws,{findAssignment:()=>sg,findNameAssignment:()=>Of,findNodeForKeyword:()=>ig,findNodeForProperty:()=>Gc,findNodesForKeyword:()=>hO,findNodesForKeywordInternal:()=>og,findNodesForProperty:()=>rg,getActionAtElement:()=>y0,getActionType:()=>T0,getAllReachableRules:()=>Bc,getAllRulesUsedForCrossReferences:()=>pO,getCrossReferenceTerminal:()=>eg,getEntryRule:()=>p0,getExplicitRuleType:()=>Lf,getHiddenRules:()=>h0,getRuleType:()=>ag,getRuleTypeName:()=>TO,getTypeName:()=>mi,isArrayCardinality:()=>gO,isArrayOperator:()=>yO,isCommentTerminal:()=>tg,isDataType:()=>xO,isDataTypeRule:()=>Xc,isOptionalCardinality:()=>mO,terminalRegex:()=>Rs});var go=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function un(t,e="Error: Got unexpected value."){throw new Error(e)}function l0(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Cf={};sn(Cf,{NEWLINE_REGEXP:()=>Ym,escapeRegExp:()=>hi,getTerminalParts:()=>dO,isMultilineComment:()=>Km,isWhitespace:()=>Uc,partialMatches:()=>Zm,partialRegExp:()=>d0,whitespaceCharacters:()=>f0});function se(t){return t.charCodeAt(0)}function Nf(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function vs(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function yo(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function $c(){throw Error("Internal Error - Should never get here!")}function qm(t){return t.type==="Character"}var Mc=[];for(let t=se("0");t<=se("9");t++)Mc.push(t);var Fc=[se("_")].concat(Mc);for(let t=se("a");t<=se("z");t++)Fc.push(t);for(let t=se("A");t<=se("Z");t++)Fc.push(t);var Wm=[se(" "),se("\f"),se(`
37
- `),se("\r"),se(" "),se("\v"),se(" "),se("\xA0"),se("\u1680"),se("\u2000"),se("\u2001"),se("\u2002"),se("\u2003"),se("\u2004"),se("\u2005"),se("\u2006"),se("\u2007"),se("\u2008"),se("\u2009"),se("\u200A"),se("\u2028"),se("\u2029"),se("\u202F"),se("\u205F"),se("\u3000"),se("\uFEFF")];var uO=/[0-9a-fA-F]/,Pf=/[0-9]/,fO=/[1-9]/,xo=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":vs(n,"global");break;case"i":vs(n,"ignoreCase");break;case"m":vs(n,"multiLine");break;case"u":vs(n,"unicode");break;case"y":vs(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}yo(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return $c()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let o;this.isDigit()?(o=this.integerIncludingZero(),r={atLeast:i,atMost:o}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;yo(r);break}if(!(e===!0&&r===void 0)&&yo(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),yo(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):$c()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[se(`
38
- `),se("\r"),se("\u2028"),se("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Mc;break;case"D":e=Mc,r=!0;break;case"s":e=Wm;break;case"S":e=Wm,r=!0;break;case"w":e=Fc;break;case"W":e=Fc,r=!0;break}return yo(e)?{type:"Set",value:e,complement:r}:$c()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=se("\f");break;case"n":e=se(`
39
- `);break;case"r":e=se("\r");break;case"t":e=se(" ");break;case"v":e=se("\v");break}return yo(e)?{type:"Character",value:e}:$c()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:se("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:se(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
40
- `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:se(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(qm(n)&&this.isRangeDash()){this.consumeChar("-");let o=this.classAtom(),s=o.type==="Character";if(qm(o)){if(o.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:o.value})}else Nf(n.value,e),e.push(se("-")),Nf(o.value,e)}else Nf(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
41
- `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:se("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(fO.test(e)===!1)throw Error("Expecting a positive integer");for(;Pf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Pf.test(e)===!1)throw Error("Expecting an integer");for(;Pf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
42
- `:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:se(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Pf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
36
+ `)),P){let Y=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${P.method} - (${x.id})' in ${Date.now()-P.timerStart}ms.${Y}`,z)}else D.log(`Received response ${x.id} without active response promise.`,z)}else Tr("receive-response",x)}function Tr(x,P){if(!D||E===Me.Off)return;let z={isLSPMessage:!0,type:x,message:P,timestamp:Date.now()};D.log(z)}function Pr(){if(j())throw new Aa(Ql.Closed,"Connection is closed.");if(U())throw new Aa(Ql.Disposed,"Connection is disposed.")}function fs(){if(F())throw new Aa(Ql.AlreadyListening,"Connection is already listening")}function _e(){if(!F())throw new Error("Call listen() first.")}function Or(x){return x===void 0?null:x}function Qi(x){if(x!==null)return x}function bn(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function _r(x,P){switch(x){case ce.ParameterStructures.auto:return bn(P)?Qi(P):[Or(P)];case ce.ParameterStructures.byName:if(!bn(P))throw new Error("Received parameters by name but param is not an object literal.");return Qi(P);case ce.ParameterStructures.byPosition:return[Or(P)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function Ht(x,P){let z,Y=x.numberOfParams;switch(Y){case 0:z=void 0;break;case 1:z=_r(x.parameterStructures,P[0]);break;default:z=[];for(let $e=0;$e<P.length&&$e<Y;$e++)z.push(Or(P[$e]));if(P.length<Y)for(let $e=P.length;$e<Y;$e++)z.push(null);break}return z}let bt={sendNotification:(x,...P)=>{Pr();let z,Y;if(mt.string(x)){z=x;let Ce=P[0],ze=0,Ye=ce.ParameterStructures.auto;ce.ParameterStructures.is(Ce)&&(ze=1,Ye=Ce);let ge=P.length,Ue=ge-ze;switch(Ue){case 0:Y=void 0;break;case 1:Y=_r(Ye,P[ze]);break;default:if(Ye===ce.ParameterStructures.byName)throw new Error(`Received ${Ue} parameters for 'by Name' notification parameter structure.`);Y=P.slice(ze,ge).map(Ae=>Or(Ae));break}}else{let Ce=P;z=x.method,Y=Ht(x,Ce)}let $e={jsonrpc:c,method:z,params:Y};return me($e),e.write($e).catch(Ce=>{throw i.error("Sending notification failed."),Ce})},onNotification:(x,P)=>{Pr();let z;return mt.func(x)?f=x:P&&(mt.string(x)?(z=x,d.set(x,{type:void 0,handler:P})):(z=x.method,d.set(x.method,{type:x,handler:P}))),{dispose:()=>{z!==void 0?d.delete(z):f=void 0}}},onProgress:(x,P,z)=>{if(p.has(P))throw new Error(`Progress handler for token ${P} already registered`);return p.set(P,z),{dispose:()=>{p.delete(P)}}},sendProgress:(x,P,z)=>bt.sendNotification(Jl.type,{token:P,value:z}),onUnhandledProgress:oe.event,sendRequest:(x,...P)=>{Pr(),_e();let z,Y,$e;if(mt.string(x)){z=x;let ge=P[0],Ue=P[P.length-1],Ae=0,Ke=ce.ParameterStructures.auto;ce.ParameterStructures.is(ge)&&(Ae=1,Ke=ge);let st=P.length;hT.CancellationToken.is(Ue)&&(st=st-1,$e=Ue);let Jt=st-Ae;switch(Jt){case 0:Y=void 0;break;case 1:Y=_r(Ke,P[Ae]);break;default:if(Ke===ce.ParameterStructures.byName)throw new Error(`Received ${Jt} parameters for 'by Name' request parameter structure.`);Y=P.slice(Ae,st).map(ds=>Or(ds));break}}else{let ge=P;z=x.method,Y=Ht(x,ge);let Ue=x.numberOfParams;$e=hT.CancellationToken.is(ge[Ue])?ge[Ue]:void 0}let Ce=o++,ze;$e&&(ze=$e.onCancellationRequested(()=>{let ge=R.sender.sendCancellation(bt,Ce);return ge===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Ce}`),Promise.resolve()):ge.catch(()=>{i.log(`Sending cancellation messages for id ${Ce} failed`)})}));let Ye={jsonrpc:c,id:Ce,method:z,params:Y};return be(Ye),typeof R.sender.enableCancellation=="function"&&R.sender.enableCancellation(Ye),new Promise(async(ge,Ue)=>{let Ae=Jt=>{ge(Jt),R.sender.cleanup(Ce),ze?.dispose()},Ke=Jt=>{Ue(Jt),R.sender.cleanup(Ce),ze?.dispose()},st={method:z,timerStart:Date.now(),resolve:Ae,reject:Ke};try{await e.write(Ye),T.set(Ce,st)}catch(Jt){throw i.error("Sending request failed."),st.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,Jt.message?Jt.message:"Unknown reason")),Jt}})},onRequest:(x,P)=>{Pr();let z=null;return yT.is(x)?(z=void 0,l=x):mt.string(x)?(z=null,P!==void 0&&(z=x,u.set(x,{handler:P,type:void 0}))):P!==void 0&&(z=x.method,u.set(x.method,{type:x,handler:P})),{dispose:()=>{z!==null&&(z!==void 0?u.delete(z):l=void 0)}}},hasPendingResponse:()=>T.size>0,trace:async(x,P,z)=>{let Y=!1,$e=hr.Text;z!==void 0&&(mt.boolean(z)?Y=z:(Y=z.sendNotification||!1,$e=z.traceFormat||hr.Text)),E=x,S=$e,E===Me.Off?D=void 0:D=P,Y&&!j()&&!U()&&await bt.sendNotification(xT.type,{value:Me.toString(x)})},onError:M.event,onClose:B.event,onUnhandledNotification:G.event,onDispose:L.event,end:()=>{e.end()},dispose:()=>{if(U())return;N=jr.Disposed,L.fire(void 0);let x=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let P of T.values())P.reject(x);T=new Map,v=new Map,_=new Set,y=new Fb.LinkedMap,mt.func(e.dispose)&&e.dispose(),mt.func(t.dispose)&&t.dispose()},listen:()=>{Pr(),fs(),N=jr.Listening,t.listen(Ne)},inspect:()=>{(0,Mb.default)().console.log("inspect")}};return bt.onNotification(wp.type,x=>{if(E===Me.Off||!D)return;let P=E===Me.Verbose||E===Me.Compact;D.log(x.message,P?x.verbose:void 0)}),bt.onNotification(Jl.type,x=>{let P=p.get(x.token);P?P(x.value):oe.fire(x)}),bt}he.createMessageConnection=Y2});var Np=fe(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.ProgressType=k.ProgressToken=k.createMessageConnection=k.NullLogger=k.ConnectionOptions=k.ConnectionStrategy=k.AbstractMessageBuffer=k.WriteableStreamMessageWriter=k.AbstractMessageWriter=k.MessageWriter=k.ReadableStreamMessageReader=k.AbstractMessageReader=k.MessageReader=k.SharedArrayReceiverStrategy=k.SharedArraySenderStrategy=k.CancellationToken=k.CancellationTokenSource=k.Emitter=k.Event=k.Disposable=k.LRUCache=k.Touch=k.LinkedMap=k.ParameterStructures=k.NotificationType9=k.NotificationType8=k.NotificationType7=k.NotificationType6=k.NotificationType5=k.NotificationType4=k.NotificationType3=k.NotificationType2=k.NotificationType1=k.NotificationType0=k.NotificationType=k.ErrorCodes=k.ResponseError=k.RequestType9=k.RequestType8=k.RequestType7=k.RequestType6=k.RequestType5=k.RequestType4=k.RequestType3=k.RequestType2=k.RequestType1=k.RequestType0=k.RequestType=k.Message=k.RAL=void 0;k.MessageStrategy=k.CancellationStrategy=k.CancellationSenderStrategy=k.CancellationReceiverStrategy=k.ConnectionError=k.ConnectionErrors=k.LogTraceNotification=k.SetTraceNotification=k.TraceFormat=k.TraceValues=k.Trace=void 0;var et=qx();Object.defineProperty(k,"Message",{enumerable:!0,get:function(){return et.Message}});Object.defineProperty(k,"RequestType",{enumerable:!0,get:function(){return et.RequestType}});Object.defineProperty(k,"RequestType0",{enumerable:!0,get:function(){return et.RequestType0}});Object.defineProperty(k,"RequestType1",{enumerable:!0,get:function(){return et.RequestType1}});Object.defineProperty(k,"RequestType2",{enumerable:!0,get:function(){return et.RequestType2}});Object.defineProperty(k,"RequestType3",{enumerable:!0,get:function(){return et.RequestType3}});Object.defineProperty(k,"RequestType4",{enumerable:!0,get:function(){return et.RequestType4}});Object.defineProperty(k,"RequestType5",{enumerable:!0,get:function(){return et.RequestType5}});Object.defineProperty(k,"RequestType6",{enumerable:!0,get:function(){return et.RequestType6}});Object.defineProperty(k,"RequestType7",{enumerable:!0,get:function(){return et.RequestType7}});Object.defineProperty(k,"RequestType8",{enumerable:!0,get:function(){return et.RequestType8}});Object.defineProperty(k,"RequestType9",{enumerable:!0,get:function(){return et.RequestType9}});Object.defineProperty(k,"ResponseError",{enumerable:!0,get:function(){return et.ResponseError}});Object.defineProperty(k,"ErrorCodes",{enumerable:!0,get:function(){return et.ErrorCodes}});Object.defineProperty(k,"NotificationType",{enumerable:!0,get:function(){return et.NotificationType}});Object.defineProperty(k,"NotificationType0",{enumerable:!0,get:function(){return et.NotificationType0}});Object.defineProperty(k,"NotificationType1",{enumerable:!0,get:function(){return et.NotificationType1}});Object.defineProperty(k,"NotificationType2",{enumerable:!0,get:function(){return et.NotificationType2}});Object.defineProperty(k,"NotificationType3",{enumerable:!0,get:function(){return et.NotificationType3}});Object.defineProperty(k,"NotificationType4",{enumerable:!0,get:function(){return et.NotificationType4}});Object.defineProperty(k,"NotificationType5",{enumerable:!0,get:function(){return et.NotificationType5}});Object.defineProperty(k,"NotificationType6",{enumerable:!0,get:function(){return et.NotificationType6}});Object.defineProperty(k,"NotificationType7",{enumerable:!0,get:function(){return et.NotificationType7}});Object.defineProperty(k,"NotificationType8",{enumerable:!0,get:function(){return et.NotificationType8}});Object.defineProperty(k,"NotificationType9",{enumerable:!0,get:function(){return et.NotificationType9}});Object.defineProperty(k,"ParameterStructures",{enumerable:!0,get:function(){return et.ParameterStructures}});var ET=Vx();Object.defineProperty(k,"LinkedMap",{enumerable:!0,get:function(){return ET.LinkedMap}});Object.defineProperty(k,"LRUCache",{enumerable:!0,get:function(){return ET.LRUCache}});Object.defineProperty(k,"Touch",{enumerable:!0,get:function(){return ET.Touch}});var K2=Ab();Object.defineProperty(k,"Disposable",{enumerable:!0,get:function(){return K2.Disposable}});var Xb=va();Object.defineProperty(k,"Event",{enumerable:!0,get:function(){return Xb.Event}});Object.defineProperty(k,"Emitter",{enumerable:!0,get:function(){return Xb.Emitter}});var Hb=Tp();Object.defineProperty(k,"CancellationTokenSource",{enumerable:!0,get:function(){return Hb.CancellationTokenSource}});Object.defineProperty(k,"CancellationToken",{enumerable:!0,get:function(){return Hb.CancellationToken}});var jb=Sb();Object.defineProperty(k,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return jb.SharedArraySenderStrategy}});Object.defineProperty(k,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return jb.SharedArrayReceiverStrategy}});var vT=Nb();Object.defineProperty(k,"MessageReader",{enumerable:!0,get:function(){return vT.MessageReader}});Object.defineProperty(k,"AbstractMessageReader",{enumerable:!0,get:function(){return vT.AbstractMessageReader}});Object.defineProperty(k,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return vT.ReadableStreamMessageReader}});var RT=Db();Object.defineProperty(k,"MessageWriter",{enumerable:!0,get:function(){return RT.MessageWriter}});Object.defineProperty(k,"AbstractMessageWriter",{enumerable:!0,get:function(){return RT.AbstractMessageWriter}});Object.defineProperty(k,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return RT.WriteableStreamMessageWriter}});var Z2=$b();Object.defineProperty(k,"AbstractMessageBuffer",{enumerable:!0,get:function(){return Z2.AbstractMessageBuffer}});var Dt=Gb();Object.defineProperty(k,"ConnectionStrategy",{enumerable:!0,get:function(){return Dt.ConnectionStrategy}});Object.defineProperty(k,"ConnectionOptions",{enumerable:!0,get:function(){return Dt.ConnectionOptions}});Object.defineProperty(k,"NullLogger",{enumerable:!0,get:function(){return Dt.NullLogger}});Object.defineProperty(k,"createMessageConnection",{enumerable:!0,get:function(){return Dt.createMessageConnection}});Object.defineProperty(k,"ProgressToken",{enumerable:!0,get:function(){return Dt.ProgressToken}});Object.defineProperty(k,"ProgressType",{enumerable:!0,get:function(){return Dt.ProgressType}});Object.defineProperty(k,"Trace",{enumerable:!0,get:function(){return Dt.Trace}});Object.defineProperty(k,"TraceValues",{enumerable:!0,get:function(){return Dt.TraceValues}});Object.defineProperty(k,"TraceFormat",{enumerable:!0,get:function(){return Dt.TraceFormat}});Object.defineProperty(k,"SetTraceNotification",{enumerable:!0,get:function(){return Dt.SetTraceNotification}});Object.defineProperty(k,"LogTraceNotification",{enumerable:!0,get:function(){return Dt.LogTraceNotification}});Object.defineProperty(k,"ConnectionErrors",{enumerable:!0,get:function(){return Dt.ConnectionErrors}});Object.defineProperty(k,"ConnectionError",{enumerable:!0,get:function(){return Dt.ConnectionError}});Object.defineProperty(k,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Dt.CancellationReceiverStrategy}});Object.defineProperty(k,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Dt.CancellationSenderStrategy}});Object.defineProperty(k,"CancellationStrategy",{enumerable:!0,get:function(){return Dt.CancellationStrategy}});Object.defineProperty(k,"MessageStrategy",{enumerable:!0,get:function(){return Dt.MessageStrategy}});var J2=Li();k.RAL=J2.default});var qb=fe(IT=>{"use strict";Object.defineProperty(IT,"__esModule",{value:!0});var mn=Np(),Cp=class t extends mn.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};Cp.emptyBuffer=new Uint8Array(0);var wT=class{constructor(e){this.socket=e,this._onData=new mn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,mn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),mn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),mn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),mn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},bT=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),mn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),mn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),mn.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},Q2=new TextEncoder,zb=Object.freeze({messageBuffer:Object.freeze({create:t=>new Cp(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(Q2.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new wT(t),asWritableStream:t=>new bT(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function AT(){return zb}(function(t){function e(){mn.RAL.install(zb)}t.install=e})(AT||(AT={}));IT.default=AT});var jo=fe(mr=>{"use strict";var eU=mr&&mr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),tU=mr&&mr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&eU(e,t,r)};Object.defineProperty(mr,"__esModule",{value:!0});mr.createMessageConnection=mr.BrowserMessageWriter=mr.BrowserMessageReader=void 0;var rU=qb();rU.default.install();var Ia=Np();tU(Np(),mr);var ST=class extends Ia.AbstractMessageReader{constructor(e){super(),this._onData=new Ia.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};mr.BrowserMessageReader=ST;var kT=class extends Ia.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};mr.BrowserMessageWriter=kT;function nU(t,e,r,n){return r===void 0&&(r=Ia.NullLogger),Ia.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Ia.createMessageConnection)(t,e,r,n)}mr.createMessageConnection=nU});var NT=fe((gJ,Wb)=>{"use strict";Wb.exports=jo()});var ft=fe(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.ProtocolNotificationType=ir.ProtocolNotificationType0=ir.ProtocolRequestType=ir.ProtocolRequestType0=ir.RegistrationType=ir.MessageDirection=void 0;var Sa=jo(),Vb;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Vb||(ir.MessageDirection=Vb={}));var CT=class{constructor(e){this.method=e}};ir.RegistrationType=CT;var PT=class extends Sa.RequestType0{constructor(e){super(e)}};ir.ProtocolRequestType0=PT;var OT=class extends Sa.RequestType{constructor(e){super(e,Sa.ParameterStructures.byName)}};ir.ProtocolRequestType=OT;var LT=class extends Sa.NotificationType0{constructor(e){super(e)}};ir.ProtocolNotificationType0=LT;var DT=class extends Sa.NotificationType{constructor(e){super(e,Sa.ParameterStructures.byName)}};ir.ProtocolNotificationType=DT});var Pp=fe(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.objectLiteral=wt.typedArray=wt.stringArray=wt.array=wt.func=wt.error=wt.number=wt.string=wt.boolean=void 0;function iU(t){return t===!0||t===!1}wt.boolean=iU;function Yb(t){return typeof t=="string"||t instanceof String}wt.string=Yb;function oU(t){return typeof t=="number"||t instanceof Number}wt.number=oU;function sU(t){return t instanceof Error}wt.error=sU;function aU(t){return typeof t=="function"}wt.func=aU;function Kb(t){return Array.isArray(t)}wt.array=Kb;function cU(t){return Kb(t)&&t.every(e=>Yb(e))}wt.stringArray=cU;function lU(t,e){return Array.isArray(t)&&t.every(e)}wt.typedArray=lU;function uU(t){return t!==null&&typeof t=="object"}wt.objectLiteral=uU});var Qb=fe(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.ImplementationRequest=void 0;var Zb=ft(),Jb;(function(t){t.method="textDocument/implementation",t.messageDirection=Zb.MessageDirection.clientToServer,t.type=new Zb.ProtocolRequestType(t.method)})(Jb||(Op.ImplementationRequest=Jb={}))});var rA=fe(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.TypeDefinitionRequest=void 0;var eA=ft(),tA;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=eA.MessageDirection.clientToServer,t.type=new eA.ProtocolRequestType(t.method)})(tA||(Lp.TypeDefinitionRequest=tA={}))});var oA=fe(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.DidChangeWorkspaceFoldersNotification=ka.WorkspaceFoldersRequest=void 0;var Dp=ft(),nA;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=Dp.MessageDirection.serverToClient,t.type=new Dp.ProtocolRequestType0(t.method)})(nA||(ka.WorkspaceFoldersRequest=nA={}));var iA;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=Dp.MessageDirection.clientToServer,t.type=new Dp.ProtocolNotificationType(t.method)})(iA||(ka.DidChangeWorkspaceFoldersNotification=iA={}))});var cA=fe($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.ConfigurationRequest=void 0;var sA=ft(),aA;(function(t){t.method="workspace/configuration",t.messageDirection=sA.MessageDirection.serverToClient,t.type=new sA.ProtocolRequestType(t.method)})(aA||($p.ConfigurationRequest=aA={}))});var fA=fe(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ColorPresentationRequest=Na.DocumentColorRequest=void 0;var Mp=ft(),lA;(function(t){t.method="textDocument/documentColor",t.messageDirection=Mp.MessageDirection.clientToServer,t.type=new Mp.ProtocolRequestType(t.method)})(lA||(Na.DocumentColorRequest=lA={}));var uA;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Mp.MessageDirection.clientToServer,t.type=new Mp.ProtocolRequestType(t.method)})(uA||(Na.ColorPresentationRequest=uA={}))});var hA=fe(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.FoldingRangeRefreshRequest=Ca.FoldingRangeRequest=void 0;var Fp=ft(),dA;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Fp.MessageDirection.clientToServer,t.type=new Fp.ProtocolRequestType(t.method)})(dA||(Ca.FoldingRangeRequest=dA={}));var pA;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Fp.MessageDirection.serverToClient,t.type=new Fp.ProtocolRequestType0(t.method)})(pA||(Ca.FoldingRangeRefreshRequest=pA={}))});var yA=fe(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});Up.DeclarationRequest=void 0;var mA=ft(),gA;(function(t){t.method="textDocument/declaration",t.messageDirection=mA.MessageDirection.clientToServer,t.type=new mA.ProtocolRequestType(t.method)})(gA||(Up.DeclarationRequest=gA={}))});var _A=fe(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.SelectionRangeRequest=void 0;var xA=ft(),TA;(function(t){t.method="textDocument/selectionRange",t.messageDirection=xA.MessageDirection.clientToServer,t.type=new xA.ProtocolRequestType(t.method)})(TA||(Bp.SelectionRangeRequest=TA={}))});var wA=fe(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.WorkDoneProgressCancelNotification=Mi.WorkDoneProgressCreateRequest=Mi.WorkDoneProgress=void 0;var fU=jo(),Gp=ft(),EA;(function(t){t.type=new fU.ProgressType;function e(r){return r===t.type}t.is=e})(EA||(Mi.WorkDoneProgress=EA={}));var vA;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Gp.MessageDirection.serverToClient,t.type=new Gp.ProtocolRequestType(t.method)})(vA||(Mi.WorkDoneProgressCreateRequest=vA={}));var RA;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Gp.MessageDirection.clientToServer,t.type=new Gp.ProtocolNotificationType(t.method)})(RA||(Mi.WorkDoneProgressCancelNotification=RA={}))});var SA=fe(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.CallHierarchyOutgoingCallsRequest=Fi.CallHierarchyIncomingCallsRequest=Fi.CallHierarchyPrepareRequest=void 0;var Pa=ft(),bA;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Pa.MessageDirection.clientToServer,t.type=new Pa.ProtocolRequestType(t.method)})(bA||(Fi.CallHierarchyPrepareRequest=bA={}));var AA;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Pa.MessageDirection.clientToServer,t.type=new Pa.ProtocolRequestType(t.method)})(AA||(Fi.CallHierarchyIncomingCallsRequest=AA={}));var IA;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Pa.MessageDirection.clientToServer,t.type=new Pa.ProtocolRequestType(t.method)})(IA||(Fi.CallHierarchyOutgoingCallsRequest=IA={}))});var LA=fe(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.SemanticTokensRefreshRequest=or.SemanticTokensRangeRequest=or.SemanticTokensDeltaRequest=or.SemanticTokensRequest=or.SemanticTokensRegistrationType=or.TokenFormat=void 0;var jn=ft(),kA;(function(t){t.Relative="relative"})(kA||(or.TokenFormat=kA={}));var tu;(function(t){t.method="textDocument/semanticTokens",t.type=new jn.RegistrationType(t.method)})(tu||(or.SemanticTokensRegistrationType=tu={}));var NA;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=jn.MessageDirection.clientToServer,t.type=new jn.ProtocolRequestType(t.method),t.registrationMethod=tu.method})(NA||(or.SemanticTokensRequest=NA={}));var CA;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=jn.MessageDirection.clientToServer,t.type=new jn.ProtocolRequestType(t.method),t.registrationMethod=tu.method})(CA||(or.SemanticTokensDeltaRequest=CA={}));var PA;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=jn.MessageDirection.clientToServer,t.type=new jn.ProtocolRequestType(t.method),t.registrationMethod=tu.method})(PA||(or.SemanticTokensRangeRequest=PA={}));var OA;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=jn.MessageDirection.serverToClient,t.type=new jn.ProtocolRequestType0(t.method)})(OA||(or.SemanticTokensRefreshRequest=OA={}))});var MA=fe(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.ShowDocumentRequest=void 0;var DA=ft(),$A;(function(t){t.method="window/showDocument",t.messageDirection=DA.MessageDirection.serverToClient,t.type=new DA.ProtocolRequestType(t.method)})($A||(Xp.ShowDocumentRequest=$A={}))});var BA=fe(Hp=>{"use strict";Object.defineProperty(Hp,"__esModule",{value:!0});Hp.LinkedEditingRangeRequest=void 0;var FA=ft(),UA;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=FA.MessageDirection.clientToServer,t.type=new FA.ProtocolRequestType(t.method)})(UA||(Hp.LinkedEditingRangeRequest=UA={}))});var VA=fe(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.WillDeleteFilesRequest=Xt.DidDeleteFilesNotification=Xt.DidRenameFilesNotification=Xt.WillRenameFilesRequest=Xt.DidCreateFilesNotification=Xt.WillCreateFilesRequest=Xt.FileOperationPatternKind=void 0;var br=ft(),GA;(function(t){t.file="file",t.folder="folder"})(GA||(Xt.FileOperationPatternKind=GA={}));var XA;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(XA||(Xt.WillCreateFilesRequest=XA={}));var HA;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(HA||(Xt.DidCreateFilesNotification=HA={}));var jA;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(jA||(Xt.WillRenameFilesRequest=jA={}));var zA;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(zA||(Xt.DidRenameFilesNotification=zA={}));var qA;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(qA||(Xt.DidDeleteFilesNotification=qA={}));var WA;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(WA||(Xt.WillDeleteFilesRequest=WA={}))});var QA=fe(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.MonikerRequest=Ui.MonikerKind=Ui.UniquenessLevel=void 0;var YA=ft(),KA;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(KA||(Ui.UniquenessLevel=KA={}));var ZA;(function(t){t.$import="import",t.$export="export",t.local="local"})(ZA||(Ui.MonikerKind=ZA={}));var JA;(function(t){t.method="textDocument/moniker",t.messageDirection=YA.MessageDirection.clientToServer,t.type=new YA.ProtocolRequestType(t.method)})(JA||(Ui.MonikerRequest=JA={}))});var nI=fe(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.TypeHierarchySubtypesRequest=Bi.TypeHierarchySupertypesRequest=Bi.TypeHierarchyPrepareRequest=void 0;var Oa=ft(),eI;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(eI||(Bi.TypeHierarchyPrepareRequest=eI={}));var tI;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(tI||(Bi.TypeHierarchySupertypesRequest=tI={}));var rI;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(rI||(Bi.TypeHierarchySubtypesRequest=rI={}))});var sI=fe(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.InlineValueRefreshRequest=La.InlineValueRequest=void 0;var jp=ft(),iI;(function(t){t.method="textDocument/inlineValue",t.messageDirection=jp.MessageDirection.clientToServer,t.type=new jp.ProtocolRequestType(t.method)})(iI||(La.InlineValueRequest=iI={}));var oI;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=jp.MessageDirection.serverToClient,t.type=new jp.ProtocolRequestType0(t.method)})(oI||(La.InlineValueRefreshRequest=oI={}))});var uI=fe(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.InlayHintRefreshRequest=Gi.InlayHintResolveRequest=Gi.InlayHintRequest=void 0;var Da=ft(),aI;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Da.MessageDirection.clientToServer,t.type=new Da.ProtocolRequestType(t.method)})(aI||(Gi.InlayHintRequest=aI={}));var cI;(function(t){t.method="inlayHint/resolve",t.messageDirection=Da.MessageDirection.clientToServer,t.type=new Da.ProtocolRequestType(t.method)})(cI||(Gi.InlayHintResolveRequest=cI={}));var lI;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Da.MessageDirection.serverToClient,t.type=new Da.ProtocolRequestType0(t.method)})(lI||(Gi.InlayHintRefreshRequest=lI={}))});var yI=fe(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.DiagnosticRefreshRequest=Ar.WorkspaceDiagnosticRequest=Ar.DocumentDiagnosticRequest=Ar.DocumentDiagnosticReportKind=Ar.DiagnosticServerCancellationData=void 0;var gI=jo(),dU=Pp(),$a=ft(),fI;(function(t){function e(r){let n=r;return n&&dU.boolean(n.retriggerRequest)}t.is=e})(fI||(Ar.DiagnosticServerCancellationData=fI={}));var dI;(function(t){t.Full="full",t.Unchanged="unchanged"})(dI||(Ar.DocumentDiagnosticReportKind=dI={}));var pI;(function(t){t.method="textDocument/diagnostic",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolRequestType(t.method),t.partialResult=new gI.ProgressType})(pI||(Ar.DocumentDiagnosticRequest=pI={}));var hI;(function(t){t.method="workspace/diagnostic",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolRequestType(t.method),t.partialResult=new gI.ProgressType})(hI||(Ar.WorkspaceDiagnosticRequest=hI={}));var mI;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=$a.MessageDirection.serverToClient,t.type=new $a.ProtocolRequestType0(t.method)})(mI||(Ar.DiagnosticRefreshRequest=mI={}))});var wI=fe(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.DidCloseNotebookDocumentNotification=xt.DidSaveNotebookDocumentNotification=xt.DidChangeNotebookDocumentNotification=xt.NotebookCellArrayChange=xt.DidOpenNotebookDocumentNotification=xt.NotebookDocumentSyncRegistrationType=xt.NotebookDocument=xt.NotebookCell=xt.ExecutionSummary=xt.NotebookCellKind=void 0;var ru=(la(),df(ep)),zr=Pp(),gn=ft(),$T;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})($T||(xt.NotebookCellKind=$T={}));var MT;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return zr.objectLiteral(o)&&ru.uinteger.is(o.executionOrder)&&(o.success===void 0||zr.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(MT||(xt.ExecutionSummary=MT={}));var zp;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return zr.objectLiteral(s)&&$T.is(s.kind)&&ru.DocumentUri.is(s.document)&&(s.metadata===void 0||zr.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!MT.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(zr.objectLiteral(o)&&zr.objectLiteral(s)){let l=Object.keys(o),u=Object.keys(s);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){let d=l[f];if(!i(o[d],s[d]))return!1}}return!0}})(zp||(xt.NotebookCell=zp={}));var xI;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return zr.objectLiteral(i)&&zr.string(i.uri)&&ru.integer.is(i.version)&&zr.typedArray(i.cells,zp.is)}t.is=r})(xI||(xt.NotebookDocument=xI={}));var Ma;(function(t){t.method="notebookDocument/sync",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.RegistrationType(t.method)})(Ma||(xt.NotebookDocumentSyncRegistrationType=Ma={}));var TI;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Ma.method})(TI||(xt.DidOpenNotebookDocumentNotification=TI={}));var _I;(function(t){function e(n){let i=n;return zr.objectLiteral(i)&&ru.uinteger.is(i.start)&&ru.uinteger.is(i.deleteCount)&&(i.cells===void 0||zr.typedArray(i.cells,zp.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(_I||(xt.NotebookCellArrayChange=_I={}));var EI;(function(t){t.method="notebookDocument/didChange",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Ma.method})(EI||(xt.DidChangeNotebookDocumentNotification=EI={}));var vI;(function(t){t.method="notebookDocument/didSave",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Ma.method})(vI||(xt.DidSaveNotebookDocumentNotification=vI={}));var RI;(function(t){t.method="notebookDocument/didClose",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Ma.method})(RI||(xt.DidCloseNotebookDocumentNotification=RI={}))});var II=fe(qp=>{"use strict";Object.defineProperty(qp,"__esModule",{value:!0});qp.InlineCompletionRequest=void 0;var bI=ft(),AI;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=bI.MessageDirection.clientToServer,t.type=new bI.ProtocolRequestType(t.method)})(AI||(qp.InlineCompletionRequest=AI={}))});var BS=fe(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.WorkspaceSymbolRequest=g.CodeActionResolveRequest=g.CodeActionRequest=g.DocumentSymbolRequest=g.DocumentHighlightRequest=g.ReferencesRequest=g.DefinitionRequest=g.SignatureHelpRequest=g.SignatureHelpTriggerKind=g.HoverRequest=g.CompletionResolveRequest=g.CompletionRequest=g.CompletionTriggerKind=g.PublishDiagnosticsNotification=g.WatchKind=g.RelativePattern=g.FileChangeType=g.DidChangeWatchedFilesNotification=g.WillSaveTextDocumentWaitUntilRequest=g.WillSaveTextDocumentNotification=g.TextDocumentSaveReason=g.DidSaveTextDocumentNotification=g.DidCloseTextDocumentNotification=g.DidChangeTextDocumentNotification=g.TextDocumentContentChangeEvent=g.DidOpenTextDocumentNotification=g.TextDocumentSyncKind=g.TelemetryEventNotification=g.LogMessageNotification=g.ShowMessageRequest=g.ShowMessageNotification=g.MessageType=g.DidChangeConfigurationNotification=g.ExitNotification=g.ShutdownRequest=g.InitializedNotification=g.InitializeErrorCodes=g.InitializeRequest=g.WorkDoneProgressOptions=g.TextDocumentRegistrationOptions=g.StaticRegistrationOptions=g.PositionEncodingKind=g.FailureHandlingKind=g.ResourceOperationKind=g.UnregistrationRequest=g.RegistrationRequest=g.DocumentSelector=g.NotebookCellTextDocumentFilter=g.NotebookDocumentFilter=g.TextDocumentFilter=void 0;g.MonikerRequest=g.MonikerKind=g.UniquenessLevel=g.WillDeleteFilesRequest=g.DidDeleteFilesNotification=g.WillRenameFilesRequest=g.DidRenameFilesNotification=g.WillCreateFilesRequest=g.DidCreateFilesNotification=g.FileOperationPatternKind=g.LinkedEditingRangeRequest=g.ShowDocumentRequest=g.SemanticTokensRegistrationType=g.SemanticTokensRefreshRequest=g.SemanticTokensRangeRequest=g.SemanticTokensDeltaRequest=g.SemanticTokensRequest=g.TokenFormat=g.CallHierarchyPrepareRequest=g.CallHierarchyOutgoingCallsRequest=g.CallHierarchyIncomingCallsRequest=g.WorkDoneProgressCancelNotification=g.WorkDoneProgressCreateRequest=g.WorkDoneProgress=g.SelectionRangeRequest=g.DeclarationRequest=g.FoldingRangeRefreshRequest=g.FoldingRangeRequest=g.ColorPresentationRequest=g.DocumentColorRequest=g.ConfigurationRequest=g.DidChangeWorkspaceFoldersNotification=g.WorkspaceFoldersRequest=g.TypeDefinitionRequest=g.ImplementationRequest=g.ApplyWorkspaceEditRequest=g.ExecuteCommandRequest=g.PrepareRenameRequest=g.RenameRequest=g.PrepareSupportDefaultBehavior=g.DocumentOnTypeFormattingRequest=g.DocumentRangesFormattingRequest=g.DocumentRangeFormattingRequest=g.DocumentFormattingRequest=g.DocumentLinkResolveRequest=g.DocumentLinkRequest=g.CodeLensRefreshRequest=g.CodeLensResolveRequest=g.CodeLensRequest=g.WorkspaceSymbolResolveRequest=void 0;g.InlineCompletionRequest=g.DidCloseNotebookDocumentNotification=g.DidSaveNotebookDocumentNotification=g.DidChangeNotebookDocumentNotification=g.NotebookCellArrayChange=g.DidOpenNotebookDocumentNotification=g.NotebookDocumentSyncRegistrationType=g.NotebookDocument=g.NotebookCell=g.ExecutionSummary=g.NotebookCellKind=g.DiagnosticRefreshRequest=g.WorkspaceDiagnosticRequest=g.DocumentDiagnosticRequest=g.DocumentDiagnosticReportKind=g.DiagnosticServerCancellationData=g.InlayHintRefreshRequest=g.InlayHintResolveRequest=g.InlayHintRequest=g.InlineValueRefreshRequest=g.InlineValueRequest=g.TypeHierarchySupertypesRequest=g.TypeHierarchySubtypesRequest=g.TypeHierarchyPrepareRequest=void 0;var H=ft(),SI=(la(),df(ep)),Pt=Pp(),pU=Qb();Object.defineProperty(g,"ImplementationRequest",{enumerable:!0,get:function(){return pU.ImplementationRequest}});var hU=rA();Object.defineProperty(g,"TypeDefinitionRequest",{enumerable:!0,get:function(){return hU.TypeDefinitionRequest}});var $S=oA();Object.defineProperty(g,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return $S.WorkspaceFoldersRequest}});Object.defineProperty(g,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return $S.DidChangeWorkspaceFoldersNotification}});var mU=cA();Object.defineProperty(g,"ConfigurationRequest",{enumerable:!0,get:function(){return mU.ConfigurationRequest}});var MS=fA();Object.defineProperty(g,"DocumentColorRequest",{enumerable:!0,get:function(){return MS.DocumentColorRequest}});Object.defineProperty(g,"ColorPresentationRequest",{enumerable:!0,get:function(){return MS.ColorPresentationRequest}});var FS=hA();Object.defineProperty(g,"FoldingRangeRequest",{enumerable:!0,get:function(){return FS.FoldingRangeRequest}});Object.defineProperty(g,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return FS.FoldingRangeRefreshRequest}});var gU=yA();Object.defineProperty(g,"DeclarationRequest",{enumerable:!0,get:function(){return gU.DeclarationRequest}});var yU=_A();Object.defineProperty(g,"SelectionRangeRequest",{enumerable:!0,get:function(){return yU.SelectionRangeRequest}});var XT=wA();Object.defineProperty(g,"WorkDoneProgress",{enumerable:!0,get:function(){return XT.WorkDoneProgress}});Object.defineProperty(g,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return XT.WorkDoneProgressCreateRequest}});Object.defineProperty(g,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return XT.WorkDoneProgressCancelNotification}});var HT=SA();Object.defineProperty(g,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return HT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(g,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return HT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(g,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return HT.CallHierarchyPrepareRequest}});var Fa=LA();Object.defineProperty(g,"TokenFormat",{enumerable:!0,get:function(){return Fa.TokenFormat}});Object.defineProperty(g,"SemanticTokensRequest",{enumerable:!0,get:function(){return Fa.SemanticTokensRequest}});Object.defineProperty(g,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Fa.SemanticTokensDeltaRequest}});Object.defineProperty(g,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Fa.SemanticTokensRangeRequest}});Object.defineProperty(g,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Fa.SemanticTokensRefreshRequest}});Object.defineProperty(g,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Fa.SemanticTokensRegistrationType}});var xU=MA();Object.defineProperty(g,"ShowDocumentRequest",{enumerable:!0,get:function(){return xU.ShowDocumentRequest}});var TU=BA();Object.defineProperty(g,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return TU.LinkedEditingRangeRequest}});var zo=VA();Object.defineProperty(g,"FileOperationPatternKind",{enumerable:!0,get:function(){return zo.FileOperationPatternKind}});Object.defineProperty(g,"DidCreateFilesNotification",{enumerable:!0,get:function(){return zo.DidCreateFilesNotification}});Object.defineProperty(g,"WillCreateFilesRequest",{enumerable:!0,get:function(){return zo.WillCreateFilesRequest}});Object.defineProperty(g,"DidRenameFilesNotification",{enumerable:!0,get:function(){return zo.DidRenameFilesNotification}});Object.defineProperty(g,"WillRenameFilesRequest",{enumerable:!0,get:function(){return zo.WillRenameFilesRequest}});Object.defineProperty(g,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return zo.DidDeleteFilesNotification}});Object.defineProperty(g,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return zo.WillDeleteFilesRequest}});var jT=QA();Object.defineProperty(g,"UniquenessLevel",{enumerable:!0,get:function(){return jT.UniquenessLevel}});Object.defineProperty(g,"MonikerKind",{enumerable:!0,get:function(){return jT.MonikerKind}});Object.defineProperty(g,"MonikerRequest",{enumerable:!0,get:function(){return jT.MonikerRequest}});var zT=nI();Object.defineProperty(g,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return zT.TypeHierarchyPrepareRequest}});Object.defineProperty(g,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return zT.TypeHierarchySubtypesRequest}});Object.defineProperty(g,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return zT.TypeHierarchySupertypesRequest}});var US=sI();Object.defineProperty(g,"InlineValueRequest",{enumerable:!0,get:function(){return US.InlineValueRequest}});Object.defineProperty(g,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return US.InlineValueRefreshRequest}});var qT=uI();Object.defineProperty(g,"InlayHintRequest",{enumerable:!0,get:function(){return qT.InlayHintRequest}});Object.defineProperty(g,"InlayHintResolveRequest",{enumerable:!0,get:function(){return qT.InlayHintResolveRequest}});Object.defineProperty(g,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return qT.InlayHintRefreshRequest}});var nu=yI();Object.defineProperty(g,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return nu.DiagnosticServerCancellationData}});Object.defineProperty(g,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return nu.DocumentDiagnosticReportKind}});Object.defineProperty(g,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return nu.DocumentDiagnosticRequest}});Object.defineProperty(g,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return nu.WorkspaceDiagnosticRequest}});Object.defineProperty(g,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return nu.DiagnosticRefreshRequest}});var yn=wI();Object.defineProperty(g,"NotebookCellKind",{enumerable:!0,get:function(){return yn.NotebookCellKind}});Object.defineProperty(g,"ExecutionSummary",{enumerable:!0,get:function(){return yn.ExecutionSummary}});Object.defineProperty(g,"NotebookCell",{enumerable:!0,get:function(){return yn.NotebookCell}});Object.defineProperty(g,"NotebookDocument",{enumerable:!0,get:function(){return yn.NotebookDocument}});Object.defineProperty(g,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return yn.NotebookDocumentSyncRegistrationType}});Object.defineProperty(g,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidOpenNotebookDocumentNotification}});Object.defineProperty(g,"NotebookCellArrayChange",{enumerable:!0,get:function(){return yn.NotebookCellArrayChange}});Object.defineProperty(g,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidChangeNotebookDocumentNotification}});Object.defineProperty(g,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidSaveNotebookDocumentNotification}});Object.defineProperty(g,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidCloseNotebookDocumentNotification}});var _U=II();Object.defineProperty(g,"InlineCompletionRequest",{enumerable:!0,get:function(){return _U.InlineCompletionRequest}});var FT;(function(t){function e(r){let n=r;return Pt.string(n)||Pt.string(n.language)||Pt.string(n.scheme)||Pt.string(n.pattern)}t.is=e})(FT||(g.TextDocumentFilter=FT={}));var UT;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(Pt.string(n.notebookType)||Pt.string(n.scheme)||Pt.string(n.pattern))}t.is=e})(UT||(g.NotebookDocumentFilter=UT={}));var BT;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(Pt.string(n.notebook)||UT.is(n.notebook))&&(n.language===void 0||Pt.string(n.language))}t.is=e})(BT||(g.NotebookCellTextDocumentFilter=BT={}));var GT;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Pt.string(n)&&!FT.is(n)&&!BT.is(n))return!1;return!0}t.is=e})(GT||(g.DocumentSelector=GT={}));var kI;(function(t){t.method="client/registerCapability",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(kI||(g.RegistrationRequest=kI={}));var NI;(function(t){t.method="client/unregisterCapability",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(NI||(g.UnregistrationRequest=NI={}));var CI;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(CI||(g.ResourceOperationKind=CI={}));var PI;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(PI||(g.FailureHandlingKind=PI={}));var OI;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(OI||(g.PositionEncodingKind=OI={}));var LI;(function(t){function e(r){let n=r;return n&&Pt.string(n.id)&&n.id.length>0}t.hasId=e})(LI||(g.StaticRegistrationOptions=LI={}));var DI;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||GT.is(n.documentSelector))}t.is=e})(DI||(g.TextDocumentRegistrationOptions=DI={}));var $I;(function(t){function e(n){let i=n;return Pt.objectLiteral(i)&&(i.workDoneProgress===void 0||Pt.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Pt.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})($I||(g.WorkDoneProgressOptions=$I={}));var MI;(function(t){t.method="initialize",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(MI||(g.InitializeRequest=MI={}));var FI;(function(t){t.unknownProtocolVersion=1})(FI||(g.InitializeErrorCodes=FI={}));var UI;(function(t){t.method="initialized",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(UI||(g.InitializedNotification=UI={}));var BI;(function(t){t.method="shutdown",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType0(t.method)})(BI||(g.ShutdownRequest=BI={}));var GI;(function(t){t.method="exit",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType0(t.method)})(GI||(g.ExitNotification=GI={}));var XI;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(XI||(g.DidChangeConfigurationNotification=XI={}));var HI;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(HI||(g.MessageType=HI={}));var jI;(function(t){t.method="window/showMessage",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(jI||(g.ShowMessageNotification=jI={}));var zI;(function(t){t.method="window/showMessageRequest",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(zI||(g.ShowMessageRequest=zI={}));var qI;(function(t){t.method="window/logMessage",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(qI||(g.LogMessageNotification=qI={}));var WI;(function(t){t.method="telemetry/event",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(WI||(g.TelemetryEventNotification=WI={}));var VI;(function(t){t.None=0,t.Full=1,t.Incremental=2})(VI||(g.TextDocumentSyncKind=VI={}));var YI;(function(t){t.method="textDocument/didOpen",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(YI||(g.DidOpenTextDocumentNotification=YI={}));var KI;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(KI||(g.TextDocumentContentChangeEvent=KI={}));var ZI;(function(t){t.method="textDocument/didChange",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(ZI||(g.DidChangeTextDocumentNotification=ZI={}));var JI;(function(t){t.method="textDocument/didClose",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(JI||(g.DidCloseTextDocumentNotification=JI={}));var QI;(function(t){t.method="textDocument/didSave",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(QI||(g.DidSaveTextDocumentNotification=QI={}));var eS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(eS||(g.TextDocumentSaveReason=eS={}));var tS;(function(t){t.method="textDocument/willSave",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(tS||(g.WillSaveTextDocumentNotification=tS={}));var rS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(rS||(g.WillSaveTextDocumentWaitUntilRequest=rS={}));var nS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(nS||(g.DidChangeWatchedFilesNotification=nS={}));var iS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(iS||(g.FileChangeType=iS={}));var oS;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(SI.URI.is(n.baseUri)||SI.WorkspaceFolder.is(n.baseUri))&&Pt.string(n.pattern)}t.is=e})(oS||(g.RelativePattern=oS={}));var sS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(sS||(g.WatchKind=sS={}));var aS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(aS||(g.PublishDiagnosticsNotification=aS={}));var cS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(cS||(g.CompletionTriggerKind=cS={}));var lS;(function(t){t.method="textDocument/completion",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(lS||(g.CompletionRequest=lS={}));var uS;(function(t){t.method="completionItem/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(uS||(g.CompletionResolveRequest=uS={}));var fS;(function(t){t.method="textDocument/hover",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(fS||(g.HoverRequest=fS={}));var dS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(dS||(g.SignatureHelpTriggerKind=dS={}));var pS;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(pS||(g.SignatureHelpRequest=pS={}));var hS;(function(t){t.method="textDocument/definition",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(hS||(g.DefinitionRequest=hS={}));var mS;(function(t){t.method="textDocument/references",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(mS||(g.ReferencesRequest=mS={}));var gS;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(gS||(g.DocumentHighlightRequest=gS={}));var yS;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(yS||(g.DocumentSymbolRequest=yS={}));var xS;(function(t){t.method="textDocument/codeAction",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(xS||(g.CodeActionRequest=xS={}));var TS;(function(t){t.method="codeAction/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(TS||(g.CodeActionResolveRequest=TS={}));var _S;(function(t){t.method="workspace/symbol",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(_S||(g.WorkspaceSymbolRequest=_S={}));var ES;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(ES||(g.WorkspaceSymbolResolveRequest=ES={}));var vS;(function(t){t.method="textDocument/codeLens",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(vS||(g.CodeLensRequest=vS={}));var RS;(function(t){t.method="codeLens/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(RS||(g.CodeLensResolveRequest=RS={}));var wS;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType0(t.method)})(wS||(g.CodeLensRefreshRequest=wS={}));var bS;(function(t){t.method="textDocument/documentLink",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(bS||(g.DocumentLinkRequest=bS={}));var AS;(function(t){t.method="documentLink/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(AS||(g.DocumentLinkResolveRequest=AS={}));var IS;(function(t){t.method="textDocument/formatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(IS||(g.DocumentFormattingRequest=IS={}));var SS;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(SS||(g.DocumentRangeFormattingRequest=SS={}));var kS;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(kS||(g.DocumentRangesFormattingRequest=kS={}));var NS;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(NS||(g.DocumentOnTypeFormattingRequest=NS={}));var CS;(function(t){t.Identifier=1})(CS||(g.PrepareSupportDefaultBehavior=CS={}));var PS;(function(t){t.method="textDocument/rename",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(PS||(g.RenameRequest=PS={}));var OS;(function(t){t.method="textDocument/prepareRename",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(OS||(g.PrepareRenameRequest=OS={}));var LS;(function(t){t.method="workspace/executeCommand",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(LS||(g.ExecuteCommandRequest=LS={}));var DS;(function(t){t.method="workspace/applyEdit",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType("workspace/applyEdit")})(DS||(g.ApplyWorkspaceEditRequest=DS={}))});var XS=fe(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});Wp.createProtocolConnection=void 0;var GS=jo();function EU(t,e,r,n){return GS.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,GS.createMessageConnection)(t,e,r,n)}Wp.createProtocolConnection=EU});var jS=fe(sr=>{"use strict";var vU=sr&&sr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Vp=sr&&sr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vU(e,t,r)};Object.defineProperty(sr,"__esModule",{value:!0});sr.LSPErrorCodes=sr.createProtocolConnection=void 0;Vp(jo(),sr);Vp((la(),df(ep)),sr);Vp(ft(),sr);Vp(BS(),sr);var RU=XS();Object.defineProperty(sr,"createProtocolConnection",{enumerable:!0,get:function(){return RU.createProtocolConnection}});var HS;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(HS||(sr.LSPErrorCodes=HS={}))});var qS=fe(xn=>{"use strict";var wU=xn&&xn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),zS=xn&&xn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&wU(e,t,r)};Object.defineProperty(xn,"__esModule",{value:!0});xn.createProtocolConnection=void 0;var bU=NT();zS(NT(),xn);zS(jS(),xn);function AU(t,e,r,n){return(0,bU.createMessageConnection)(t,e,r,n)}xn.createProtocolConnection=AU});var _k={};rn(_k,{nodeReadFile:()=>VU});async function VU(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var Ek=o0(()=>{});var lH={};rn(lH,{EmbedRenderError:()=>nf,__resetForTests:()=>cH,init:()=>r0,initialize:()=>iH,parse:()=>sH,render:()=>oH,run:()=>aH,sha:()=>rH,version:()=>tH});var WP=new Set(["none","multiplier","person","people","points","time"]),VP=/^\d+$/,YP=/^\d+\.\d+$/,KP=/^\d+(?:\.\d+)?%$/;function oi(t){if(!t)return null;if(VP.test(t)){let e=parseInt(t,10);return e>0?e:null}if(YP.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(KP.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Ac(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function ZP(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function JP(t){for(let e of t.properties)if(ZP(e)==="unicode"&&e.value)return e.value}function Ic(t,e){if(t==="none")return null;if(WP.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:JP(r)??t}:{kind:"literal",text:t}}function to(t,e,r){return e?e.kind==="builtin"&&e.name==="multiplier"?(t.length+1)*r*.58:t.length*r*.58+(.1+1)*r:t.length*r*.58}function Sc(t,e,r,n=0,i=0){let o=t+10,s=o+12,a=e.length*6.5,c=s+a,l=0,u=0;r&&(l=`owner: ${r}`.length*5,u=c+6,c=u+l);let f=0;n>0&&(f=c+6,c=f+n);let d=0;i>0&&(d=c+6+i,c=d);let p=c-o+12,m=Math.max(56,p);return{titleTextWidth:a,ownerTextWidth:l,capacityBadgeWidth:n,footnoteIndicatorWidth:i,titleX:s,ownerX:u,badgeX:f,footnoteRightX:d,tabX:o,tabW:m,rightX:o+m}}function kc(t,e,r){let n=t+24,i=n+10,o=e.length*6,s=Math.max(60,o+10+10),a=n+s+6,c=a+18,l=0,u=0,f=0,d=0,p=c;return r&&(u=c+6,l=r.length*5.5,f=u-3,d=l+6,p=f+d),{labelTextWidth:o,sourceTextWidth:l,tabX:n,tabWidth:s,tabLabelX:i,badgeX:a,badgeSize:18,sourceHaloX:f,sourceHaloWidth:d,sourceTextX:u,chromeRightX:p}}function _m(t,e){if(t.length===0)return{rows:[[]],expanded:!1};let r=[[]],n=0,i=e,o=!1;for(let s of t){let a=r[r.length-1],c=(a.length===0?0:4)+s.width,l=n+c;if(l<=i){a.push(s),n=l;continue}if(a.length===0){a.push(s),n=s.width;continue}let u=l-i,f=s.width*.25;if(!o&&u<=f){a.push(s),n=l,i=l,o=!0;continue}r.push([s]),n=s.width,i=e}return{rows:r,expanded:o}}var s0="lexing-error",a0="parsing-error";function c0(t){if(!t||typeof t!="object")return!1;let e=t.code;return e===s0||e===a0}function Em(t){let e=[];for(let r of t.parseResult.lexerErrors)e.push({origin:"lexer",error:r});for(let r of t.parseResult.parserErrors)e.push({origin:"parser",error:r});for(let r of t.diagnostics??[]){let n=r;c0(n.data)||e.push({origin:"validation",diagnostic:n})}return e}var QP=/did you mean ['"]?([^'"?]+)['"]?\??/i;function vm(t){let e=t.match(QP);return e?e[1].trim():void 0}function l0(t){let e=t.toLowerCase();return e.includes("duplicate identifier")?"duplicate-identifier":e.includes("unknown reference")||e.includes("did you mean")?"unknown-reference":e.includes("circular")?"circular-dependency":e.includes("requires")&&e.includes("date:")?"missing-date":e.includes("duration")?"duration":e.includes("include")?"include":e.includes("indent")?"indentation":"validation"}function u0(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.code=="string"&&Array.isArray(e.args))return e.code}function Rm(t){let e=u0(t.data);return e||(typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):l0(t.message))}var ut={};rn(ut,{AbstractAstReflection:()=>ro,AbstractCstNode:()=>Il,AbstractLangiumParser:()=>Sl,AbstractParserErrorMessageProvider:()=>rp,AbstractThreadedAsyncParser:()=>e_,AstUtils:()=>mf,BiMap:()=>Bo,Cancellation:()=>ie,CompositeCstNodeImpl:()=>Do,ContextCache:()=>Go,CstNodeBuilder:()=>Al,CstUtils:()=>Df,DEFAULT_TOKENIZE_OPTIONS:()=>Yp,DONE_RESULT:()=>$t,DatatypeSymbol:()=>tp,DefaultAstNodeDescriptionProvider:()=>zl,DefaultAstNodeLocator:()=>Wl,DefaultAsyncParser:()=>du,DefaultCommentProvider:()=>fu,DefaultConfigurationProvider:()=>Vl,DefaultDocumentBuilder:()=>iu,DefaultDocumentValidator:()=>jl,DefaultHydrator:()=>hu,DefaultIndexManager:()=>ou,DefaultJsonSerializer:()=>Gl,DefaultLangiumDocumentFactory:()=>Pl,DefaultLangiumDocuments:()=>Ol,DefaultLangiumProfiler:()=>i_,DefaultLexer:()=>qo,DefaultLexerErrorMessageProvider:()=>au,DefaultLinker:()=>Ll,DefaultNameProvider:()=>Dl,DefaultReferenceDescriptionProvider:()=>ql,DefaultReferences:()=>$l,DefaultScopeComputation:()=>Ml,DefaultScopeProvider:()=>Bl,DefaultServiceRegistry:()=>Xl,DefaultTokenBuilder:()=>Mo,DefaultValueConverter:()=>Fo,DefaultWorkspaceLock:()=>pu,DefaultWorkspaceManager:()=>su,Deferred:()=>Zt,Disposable:()=>Xi,DisposableCache:()=>xa,DocumentCache:()=>fp,DocumentState:()=>ye,DocumentValidator:()=>wr,EMPTY_SCOPE:()=>C2,EMPTY_STREAM:()=>ai,EmptyFileSystem:()=>Tu,EmptyFileSystemProvider:()=>Qp,ErrorWithLocation:()=>xo,GrammarAST:()=>Xc,GrammarUtils:()=>Ss,IndentationAwareLexer:()=>xu,IndentationAwareTokenBuilder:()=>Ba,JSDocDocumentationProvider:()=>uu,LangiumCompletionParser:()=>Nl,LangiumParser:()=>kl,LangiumParserErrorMessageProvider:()=>fa,LeafCstNodeImpl:()=>Lo,LexingMode:()=>Vo,MapScope:()=>_x,Module:()=>r_,MultiMap:()=>Ut,MultiMapScope:()=>Fl,OperationCancelled:()=>Rr,ParserWorker:()=>t_,ProfilingTask:()=>th,Reduction:()=>ps,RefResolving:()=>Uo,RegExpUtils:()=>Ff,RootCstNodeImpl:()=>ua,SimpleCache:()=>Ul,StreamImpl:()=>ur,StreamScope:()=>ya,TextDocument:()=>ha,TreeStreamImpl:()=>nn,URI:()=>ht,UriTrie:()=>ga,UriUtils:()=>Et,VALIDATE_EACH_NODE:()=>xb,ValidationCategory:()=>dp,ValidationRegistry:()=>Hl,ValueConverter:()=>pn,WorkspaceCache:()=>Ta,assertCondition:()=>y0,assertUnreachable:()=>an,createCompletionParser:()=>cx,createDefaultCoreModule:()=>mu,createDefaultSharedCoreModule:()=>gu,createGrammarConfig:()=>hg,createLangiumParser:()=>lx,createParser:()=>Cl,delayNextTick:()=>xx,diagnosticData:()=>Xo,eagerLoad:()=>rk,getDiagnosticRange:()=>Tb,indentationBuilderDefaultOptions:()=>n_,inject:()=>Wo,interruptAndCheck:()=>pt,isAstNode:()=>dt,isAstNodeDescription:()=>wm,isAstNodeWithComment:()=>Ex,isCompositeCstNode:()=>Dr,isIMultiModeLexerDefinition:()=>VT,isJSDoc:()=>JT,isLeafCstNode:()=>si,isLinkingError:()=>no,isMultiReference:()=>lr,isNamed:()=>gb,isOperationCancelled:()=>hn,isReference:()=>At,isRootCstNode:()=>Nc,isTokenTypeArray:()=>Kp,isTokenTypeDictionary:()=>WT,loadGrammarFromJson:()=>eh,parseJSDoc:()=>ZT,prepareLangiumParser:()=>ib,setInterruptionPeriod:()=>fb,startCancelableOperation:()=>lp,stream:()=>xe,toDiagnosticData:()=>_b,toDiagnosticSeverity:()=>pp});var Df={};rn(Df,{DefaultNameRegexp:()=>Lf,RangeComparison:()=>sn,compareRange:()=>p0,findCommentNode:()=>Ym,findDeclarationNodeAtOffset:()=>vO,findLeafNodeAtOffset:()=>Km,findLeafNodeBeforeOffset:()=>h0,flattenCst:()=>EO,getDatatypeNode:()=>_O,getInteriorNodes:()=>bO,getNextNode:()=>RO,getPreviousNode:()=>g0,getStartlineNode:()=>wO,inRange:()=>Sm,isChildNode:()=>Vm,isCommentNode:()=>Wm,streamCst:()=>go,toDocumentSegment:()=>yo,tokenToRange:()=>ws});function dt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function At(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function lr(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function wm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function no(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var ro=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return dt(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.types[e],s=o?o.superTypes.some(a=>this.isSubtype(a,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function Dr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function si(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Nc(t){return Dr(t)&&typeof t.fullText=="string"}var ur=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return $t})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=tO(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?$t:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return $t})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(pf(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return $t})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(pf(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return $t})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?$t:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return $t})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function tO(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function pf(t){return!!t&&typeof t[Symbol.iterator]=="function"}var ai=new ur(()=>{},()=>$t),$t=Object.freeze({done:!0,value:void 0});function xe(...t){if(t.length===1){let e=t[0];if(e instanceof ur)return e;if(pf(e))return new ur(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ur(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:$t)}return t.length>1?new ur(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];pf(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return $t}):ai}var nn=class extends ur{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return $t})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},ps;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(ps||(ps={}));var mf={};rn(mf,{assignMandatoryProperties:()=>Im,copyAstNode:()=>Am,findRootNode:()=>ms,getContainerOfType:()=>In,getDocument:()=>Mt,getReferenceNodes:()=>hf,hasContainerOfType:()=>rO,linkContentToContainer:()=>hs,streamAllContents:()=>$r,streamAst:()=>jt,streamContents:()=>Cc,streamReferences:()=>ci});function hs(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,o)=>{dt(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=o,e.deep&&hs(i,e))}):dt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&hs(n,e)))}function In(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function rO(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Mt(t){let r=ms(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ms(t){for(;t.$container;)t=t.$container;return t}function hf(t){return At(t)?t.ref?[t.ref]:[]:lr(t)?t.items.map(e=>e.ref):[]}function Cc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new ur(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(dt(o)){if(n.keyIndex++,bm(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(dt(a)&&bm(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return $t})}function $r(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new nn(t,r=>Cc(r,e))}function jt(t,e){if(t){if(e?.range&&!bm(t,e.range))return new nn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new nn(t,r=>Cc(r,e),{includeRoot:!0})}function bm(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Sm(r,e):!1}function ci(t){return new ur(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(At(n)||lr(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(At(o)||lr(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return $t})}function Im(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=f0(i.defaultValue))}function f0(t){return Array.isArray(t)?[...t.map(f0)]:t}function Am(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,o]of Object.entries(t))if(!i.startsWith("$"))if(dt(o))n[i]=Am(o,e,r);else if(At(o))n[i]=e(n,i,o.$refNode,o.$refText,o);else if(Array.isArray(o)){let s=[];for(let a of o)dt(a)?s.push(Am(a,e,r)):At(a)?s.push(e(n,i,a.$refNode,a.$refText,a)):s.push(a);n[i]=s}else n[i]=o;return hs(n,{deep:!0}),n}var Xc={};rn(Xc,{AbstractElement:()=>er,AbstractParserRule:()=>Pc,AbstractRule:()=>gs,AbstractType:()=>fr,Action:()=>li,Alternatives:()=>Oc,ArrayLiteral:()=>gf,ArrayType:()=>yf,Assignment:()=>ui,BooleanLiteral:()=>xf,CharacterRange:()=>fi,Condition:()=>di,Conjunction:()=>Lc,CrossReference:()=>pi,Disjunction:()=>Dc,EndOfFile:()=>Tf,Grammar:()=>Sn,GrammarImport:()=>_f,Group:()=>io,InferredType:()=>Ef,InfixRule:()=>on,InfixRuleOperatorList:()=>$c,InfixRuleOperators:()=>vf,Interface:()=>ys,Keyword:()=>xs,LangiumGrammarAstReflection:()=>Rs,LangiumGrammarTerminals:()=>nO,NamedArgument:()=>Ts,NegatedToken:()=>oo,Negation:()=>Rf,NumberLiteral:()=>wf,Parameter:()=>_s,ParameterReference:()=>bf,ParserRule:()=>Mr,ReferenceType:()=>Mc,RegexToken:()=>so,ReturnType:()=>Af,RuleCall:()=>ao,SimpleType:()=>Es,StringLiteral:()=>If,TerminalAlternatives:()=>co,TerminalElement:()=>tr,TerminalGroup:()=>lo,TerminalRule:()=>kn,TerminalRuleCall:()=>uo,Type:()=>Fc,TypeAttribute:()=>fo,TypeDefinition:()=>po,UnionType:()=>Sf,UnorderedGroup:()=>Uc,UntilToken:()=>ho,ValueLiteral:()=>mo,Wildcard:()=>vs,isAbstractElement:()=>Bc,isAbstractParserRule:()=>Nn,isAbstractRule:()=>iO,isAbstractType:()=>oO,isAction:()=>Cn,isAlternatives:()=>kf,isArrayLiteral:()=>sO,isArrayType:()=>km,isAssignment:()=>Fr,isBooleanLiteral:()=>Nm,isCharacterRange:()=>Cm,isCondition:()=>aO,isConjunction:()=>Pm,isCrossReference:()=>Ur,isDisjunction:()=>Om,isEndOfFile:()=>Lm,isGrammar:()=>cO,isGrammarImport:()=>lO,isGroup:()=>hi,isInferredType:()=>Gc,isInfixRule:()=>mi,isInfixRuleOperatorList:()=>uO,isInfixRuleOperators:()=>fO,isInterface:()=>Dm,isKeyword:()=>Er,isNamedArgument:()=>dO,isNegatedToken:()=>$m,isNegation:()=>Mm,isNumberLiteral:()=>pO,isParameter:()=>hO,isParameterReference:()=>Fm,isParserRule:()=>kt,isReferenceType:()=>Um,isRegexToken:()=>Bm,isReturnType:()=>Gm,isRuleCall:()=>Br,isSimpleType:()=>Nf,isStringLiteral:()=>mO,isTerminalAlternatives:()=>Xm,isTerminalElement:()=>gO,isTerminalGroup:()=>Hm,isTerminalRule:()=>zt,isTerminalRuleCall:()=>Cf,isType:()=>Pf,isTypeAttribute:()=>yO,isTypeDefinition:()=>xO,isUnionType:()=>jm,isUnorderedGroup:()=>Of,isUntilToken:()=>zm,isValueLiteral:()=>TO,isWildcard:()=>qm,reflection:()=>ne});var nO={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]*/},er={$type:"AbstractElement",cardinality:"cardinality"};function Bc(t){return ne.isInstance(t,er.$type)}var Pc={$type:"AbstractParserRule"};function Nn(t){return ne.isInstance(t,Pc.$type)}var gs={$type:"AbstractRule"};function iO(t){return ne.isInstance(t,gs.$type)}var fr={$type:"AbstractType"};function oO(t){return ne.isInstance(t,fr.$type)}var li={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Cn(t){return ne.isInstance(t,li.$type)}var Oc={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function kf(t){return ne.isInstance(t,Oc.$type)}var gf={$type:"ArrayLiteral",elements:"elements"};function sO(t){return ne.isInstance(t,gf.$type)}var yf={$type:"ArrayType",elementType:"elementType"};function km(t){return ne.isInstance(t,yf.$type)}var ui={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Fr(t){return ne.isInstance(t,ui.$type)}var xf={$type:"BooleanLiteral",true:"true"};function Nm(t){return ne.isInstance(t,xf.$type)}var fi={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Cm(t){return ne.isInstance(t,fi.$type)}var di={$type:"Condition"};function aO(t){return ne.isInstance(t,di.$type)}var Lc={$type:"Conjunction",left:"left",right:"right"};function Pm(t){return ne.isInstance(t,Lc.$type)}var pi={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Ur(t){return ne.isInstance(t,pi.$type)}var Dc={$type:"Disjunction",left:"left",right:"right"};function Om(t){return ne.isInstance(t,Dc.$type)}var Tf={$type:"EndOfFile",cardinality:"cardinality"};function Lm(t){return ne.isInstance(t,Tf.$type)}var Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function cO(t){return ne.isInstance(t,Sn.$type)}var _f={$type:"GrammarImport",path:"path"};function lO(t){return ne.isInstance(t,_f.$type)}var io={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function hi(t){return ne.isInstance(t,io.$type)}var Ef={$type:"InferredType",name:"name"};function Gc(t){return ne.isInstance(t,Ef.$type)}var on={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function mi(t){return ne.isInstance(t,on.$type)}var $c={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function uO(t){return ne.isInstance(t,$c.$type)}var vf={$type:"InfixRuleOperators",precedences:"precedences"};function fO(t){return ne.isInstance(t,vf.$type)}var ys={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Dm(t){return ne.isInstance(t,ys.$type)}var xs={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Er(t){return ne.isInstance(t,xs.$type)}var Ts={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function dO(t){return ne.isInstance(t,Ts.$type)}var oo={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function $m(t){return ne.isInstance(t,oo.$type)}var Rf={$type:"Negation",value:"value"};function Mm(t){return ne.isInstance(t,Rf.$type)}var wf={$type:"NumberLiteral",value:"value"};function pO(t){return ne.isInstance(t,wf.$type)}var _s={$type:"Parameter",name:"name"};function hO(t){return ne.isInstance(t,_s.$type)}var bf={$type:"ParameterReference",parameter:"parameter"};function Fm(t){return ne.isInstance(t,bf.$type)}var Mr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function kt(t){return ne.isInstance(t,Mr.$type)}var Mc={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Um(t){return ne.isInstance(t,Mc.$type)}var so={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Bm(t){return ne.isInstance(t,so.$type)}var Af={$type:"ReturnType",name:"name"};function Gm(t){return ne.isInstance(t,Af.$type)}var ao={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Br(t){return ne.isInstance(t,ao.$type)}var Es={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Nf(t){return ne.isInstance(t,Es.$type)}var If={$type:"StringLiteral",value:"value"};function mO(t){return ne.isInstance(t,If.$type)}var co={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Xm(t){return ne.isInstance(t,co.$type)}var tr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function gO(t){return ne.isInstance(t,tr.$type)}var lo={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Hm(t){return ne.isInstance(t,lo.$type)}var kn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function zt(t){return ne.isInstance(t,kn.$type)}var uo={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Cf(t){return ne.isInstance(t,uo.$type)}var Fc={$type:"Type",name:"name",type:"type"};function Pf(t){return ne.isInstance(t,Fc.$type)}var fo={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function yO(t){return ne.isInstance(t,fo.$type)}var po={$type:"TypeDefinition"};function xO(t){return ne.isInstance(t,po.$type)}var Sf={$type:"UnionType",types:"types"};function jm(t){return ne.isInstance(t,Sf.$type)}var Uc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Of(t){return ne.isInstance(t,Uc.$type)}var ho={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function zm(t){return ne.isInstance(t,ho.$type)}var mo={$type:"ValueLiteral"};function TO(t){return ne.isInstance(t,mo.$type)}var vs={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function qm(t){return ne.isInstance(t,vs.$type)}var Rs=class extends ro{constructor(){super(...arguments),this.types={AbstractElement:{name:er.$type,properties:{cardinality:{name:er.cardinality}},superTypes:[]},AbstractParserRule:{name:Pc.$type,properties:{},superTypes:[gs.$type,fr.$type]},AbstractRule:{name:gs.$type,properties:{},superTypes:[]},AbstractType:{name:fr.$type,properties:{},superTypes:[]},Action:{name:li.$type,properties:{cardinality:{name:li.cardinality},feature:{name:li.feature},inferredType:{name:li.inferredType},operator:{name:li.operator},type:{name:li.type,referenceType:fr.$type}},superTypes:[er.$type]},Alternatives:{name:Oc.$type,properties:{cardinality:{name:Oc.cardinality},elements:{name:Oc.elements,defaultValue:[]}},superTypes:[er.$type]},ArrayLiteral:{name:gf.$type,properties:{elements:{name:gf.elements,defaultValue:[]}},superTypes:[mo.$type]},ArrayType:{name:yf.$type,properties:{elementType:{name:yf.elementType}},superTypes:[po.$type]},Assignment:{name:ui.$type,properties:{cardinality:{name:ui.cardinality},feature:{name:ui.feature},operator:{name:ui.operator},predicate:{name:ui.predicate},terminal:{name:ui.terminal}},superTypes:[er.$type]},BooleanLiteral:{name:xf.$type,properties:{true:{name:xf.true,defaultValue:!1}},superTypes:[di.$type,mo.$type]},CharacterRange:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},left:{name:fi.left},lookahead:{name:fi.lookahead},parenthesized:{name:fi.parenthesized,defaultValue:!1},right:{name:fi.right}},superTypes:[tr.$type]},Condition:{name:di.$type,properties:{},superTypes:[]},Conjunction:{name:Lc.$type,properties:{left:{name:Lc.left},right:{name:Lc.right}},superTypes:[di.$type]},CrossReference:{name:pi.$type,properties:{cardinality:{name:pi.cardinality},deprecatedSyntax:{name:pi.deprecatedSyntax,defaultValue:!1},isMulti:{name:pi.isMulti,defaultValue:!1},terminal:{name:pi.terminal},type:{name:pi.type,referenceType:fr.$type}},superTypes:[er.$type]},Disjunction:{name:Dc.$type,properties:{left:{name:Dc.left},right:{name:Dc.right}},superTypes:[di.$type]},EndOfFile:{name:Tf.$type,properties:{cardinality:{name:Tf.cardinality}},superTypes:[er.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:_f.$type,properties:{path:{name:_f.path}},superTypes:[]},Group:{name:io.$type,properties:{cardinality:{name:io.cardinality},elements:{name:io.elements,defaultValue:[]},guardCondition:{name:io.guardCondition},predicate:{name:io.predicate}},superTypes:[er.$type]},InferredType:{name:Ef.$type,properties:{name:{name:Ef.name}},superTypes:[fr.$type]},InfixRule:{name:on.$type,properties:{call:{name:on.call},dataType:{name:on.dataType},inferredType:{name:on.inferredType},name:{name:on.name},operators:{name:on.operators},parameters:{name:on.parameters,defaultValue:[]},returnType:{name:on.returnType,referenceType:fr.$type}},superTypes:[Pc.$type]},InfixRuleOperatorList:{name:$c.$type,properties:{associativity:{name:$c.associativity},operators:{name:$c.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:vf.$type,properties:{precedences:{name:vf.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:ys.$type,properties:{attributes:{name:ys.attributes,defaultValue:[]},name:{name:ys.name},superTypes:{name:ys.superTypes,defaultValue:[],referenceType:fr.$type}},superTypes:[fr.$type]},Keyword:{name:xs.$type,properties:{cardinality:{name:xs.cardinality},predicate:{name:xs.predicate},value:{name:xs.value}},superTypes:[er.$type]},NamedArgument:{name:Ts.$type,properties:{calledByName:{name:Ts.calledByName,defaultValue:!1},parameter:{name:Ts.parameter,referenceType:_s.$type},value:{name:Ts.value}},superTypes:[]},NegatedToken:{name:oo.$type,properties:{cardinality:{name:oo.cardinality},lookahead:{name:oo.lookahead},parenthesized:{name:oo.parenthesized,defaultValue:!1},terminal:{name:oo.terminal}},superTypes:[tr.$type]},Negation:{name:Rf.$type,properties:{value:{name:Rf.value}},superTypes:[di.$type]},NumberLiteral:{name:wf.$type,properties:{value:{name:wf.value}},superTypes:[mo.$type]},Parameter:{name:_s.$type,properties:{name:{name:_s.name}},superTypes:[]},ParameterReference:{name:bf.$type,properties:{parameter:{name:bf.parameter,referenceType:_s.$type}},superTypes:[di.$type]},ParserRule:{name:Mr.$type,properties:{dataType:{name:Mr.dataType},definition:{name:Mr.definition},entry:{name:Mr.entry,defaultValue:!1},fragment:{name:Mr.fragment,defaultValue:!1},inferredType:{name:Mr.inferredType},name:{name:Mr.name},parameters:{name:Mr.parameters,defaultValue:[]},returnType:{name:Mr.returnType,referenceType:fr.$type}},superTypes:[Pc.$type]},ReferenceType:{name:Mc.$type,properties:{isMulti:{name:Mc.isMulti,defaultValue:!1},referenceType:{name:Mc.referenceType}},superTypes:[po.$type]},RegexToken:{name:so.$type,properties:{cardinality:{name:so.cardinality},lookahead:{name:so.lookahead},parenthesized:{name:so.parenthesized,defaultValue:!1},regex:{name:so.regex}},superTypes:[tr.$type]},ReturnType:{name:Af.$type,properties:{name:{name:Af.name}},superTypes:[]},RuleCall:{name:ao.$type,properties:{arguments:{name:ao.arguments,defaultValue:[]},cardinality:{name:ao.cardinality},predicate:{name:ao.predicate},rule:{name:ao.rule,referenceType:gs.$type}},superTypes:[er.$type]},SimpleType:{name:Es.$type,properties:{primitiveType:{name:Es.primitiveType},stringType:{name:Es.stringType},typeRef:{name:Es.typeRef,referenceType:fr.$type}},superTypes:[po.$type]},StringLiteral:{name:If.$type,properties:{value:{name:If.value}},superTypes:[mo.$type]},TerminalAlternatives:{name:co.$type,properties:{cardinality:{name:co.cardinality},elements:{name:co.elements,defaultValue:[]},lookahead:{name:co.lookahead},parenthesized:{name:co.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalElement:{name:tr.$type,properties:{cardinality:{name:tr.cardinality},lookahead:{name:tr.lookahead},parenthesized:{name:tr.parenthesized,defaultValue:!1}},superTypes:[er.$type]},TerminalGroup:{name:lo.$type,properties:{cardinality:{name:lo.cardinality},elements:{name:lo.elements,defaultValue:[]},lookahead:{name:lo.lookahead},parenthesized:{name:lo.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalRule:{name:kn.$type,properties:{definition:{name:kn.definition},fragment:{name:kn.fragment,defaultValue:!1},hidden:{name:kn.hidden,defaultValue:!1},name:{name:kn.name},type:{name:kn.type}},superTypes:[gs.$type]},TerminalRuleCall:{name:uo.$type,properties:{cardinality:{name:uo.cardinality},lookahead:{name:uo.lookahead},parenthesized:{name:uo.parenthesized,defaultValue:!1},rule:{name:uo.rule,referenceType:kn.$type}},superTypes:[tr.$type]},Type:{name:Fc.$type,properties:{name:{name:Fc.name},type:{name:Fc.type}},superTypes:[fr.$type]},TypeAttribute:{name:fo.$type,properties:{defaultValue:{name:fo.defaultValue},isOptional:{name:fo.isOptional,defaultValue:!1},name:{name:fo.name},type:{name:fo.type}},superTypes:[]},TypeDefinition:{name:po.$type,properties:{},superTypes:[]},UnionType:{name:Sf.$type,properties:{types:{name:Sf.types,defaultValue:[]}},superTypes:[po.$type]},UnorderedGroup:{name:Uc.$type,properties:{cardinality:{name:Uc.cardinality},elements:{name:Uc.elements,defaultValue:[]}},superTypes:[er.$type]},UntilToken:{name:ho.$type,properties:{cardinality:{name:ho.cardinality},lookahead:{name:ho.lookahead},parenthesized:{name:ho.parenthesized,defaultValue:!1},terminal:{name:ho.terminal}},superTypes:[tr.$type]},ValueLiteral:{name:mo.$type,properties:{},superTypes:[]},Wildcard:{name:vs.$type,properties:{cardinality:{name:vs.cardinality},lookahead:{name:vs.lookahead},parenthesized:{name:vs.parenthesized,defaultValue:!1}},superTypes:[tr.$type]}}}},ne=new Rs;function _O(t){let e=t,r=!1;for(;e;){let n=In(e.grammarSource,kt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function go(t){return new nn(t,e=>Dr(e)?e.content:[],{includeRoot:!0})}function EO(t){return go(t).filter(si)}function Vm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function ws(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function yo(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var sn;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(sn||(sn={}));function p0(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return sn.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return sn.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?sn.Inside:r?sn.OverlapBack:n?sn.OverlapFront:sn.Outside}function Sm(t,e){return p0(t,e)>sn.After}var Lf=/^[\w\p{L}]$/u;function vO(t,e,r=Lf){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return Km(t,e)}}function Ym(t,e){if(t){let r=g0(t,!0);if(r&&Wm(r,e))return r;if(Nc(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Wm(o,e))return o}}}}function Wm(t,e){return si(t)&&e.includes(t.tokenType.name)}function Km(t,e){if(si(t))return t;if(Dr(t)){let r=m0(t,e,!1);if(r)return Km(r,e)}}function h0(t,e){if(si(t))return t;if(Dr(t)){let r=m0(t,e,!0);if(r)return h0(r,e)}}function m0(t,e,r){let n=0,i=t.content.length-1,o;for(;n<=i;){let s=Math.floor((n+i)/2),a=t.content[s];if(a.offset<=e&&a.end>e)return a;a.end<=e?(o=r?a:void 0,n=s+1):i=s-1}return o}function g0(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function RO(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function wO(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,o=n??i.content.indexOf(t);if(o===0?(t=i,n=void 0):(n=o-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}function bO(t,e){let r=AO(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function AO(t,e){let r=d0(t),n=d0(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function d0(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}var Ss={};rn(Ss,{findAssignment:()=>fg,findNameAssignment:()=>Uf,findNodeForKeyword:()=>lg,findNodeForProperty:()=>Vc,findNodesForKeyword:()=>CO,findNodesForKeywordInternal:()=>ug,findNodesForProperty:()=>ag,getActionAtElement:()=>b0,getActionType:()=>I0,getAllReachableRules:()=>Wc,getAllRulesUsedForCrossReferences:()=>NO,getCrossReferenceTerminal:()=>og,getEntryRule:()=>E0,getExplicitRuleType:()=>Bf,getHiddenRules:()=>v0,getRuleType:()=>dg,getRuleTypeName:()=>$O,getTypeName:()=>yi,isArrayCardinality:()=>OO,isArrayOperator:()=>LO,isCommentTerminal:()=>sg,isDataType:()=>DO,isDataTypeRule:()=>Yc,isOptionalCardinality:()=>PO,terminalRegex:()=>As});var xo=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function an(t,e="Error: Got unexpected value."){throw new Error(e)}function y0(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Ff={};rn(Ff,{NEWLINE_REGEXP:()=>eg,escapeRegExp:()=>gi,getTerminalParts:()=>kO,isMultilineComment:()=>tg,isWhitespace:()=>qc,partialMatches:()=>rg,partialRegExp:()=>_0,whitespaceCharacters:()=>T0});function se(t){return t.charCodeAt(0)}function $f(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function bs(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function To(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Hc(){throw Error("Internal Error - Should never get here!")}function Zm(t){return t.type==="Character"}var jc=[];for(let t=se("0");t<=se("9");t++)jc.push(t);var zc=[se("_")].concat(jc);for(let t=se("a");t<=se("z");t++)zc.push(t);for(let t=se("A");t<=se("Z");t++)zc.push(t);var Jm=[se(" "),se("\f"),se(`
37
+ `),se("\r"),se(" "),se("\v"),se(" "),se("\xA0"),se("\u1680"),se("\u2000"),se("\u2001"),se("\u2002"),se("\u2003"),se("\u2004"),se("\u2005"),se("\u2006"),se("\u2007"),se("\u2008"),se("\u2009"),se("\u200A"),se("\u2028"),se("\u2029"),se("\u202F"),se("\u205F"),se("\u3000"),se("\uFEFF")];var IO=/[0-9a-fA-F]/,Mf=/[0-9]/,SO=/[1-9]/,_o=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":bs(n,"global");break;case"i":bs(n,"ignoreCase");break;case"m":bs(n,"multiLine");break;case"u":bs(n,"unicode");break;case"y":bs(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}To(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return Hc()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let o;this.isDigit()?(o=this.integerIncludingZero(),r={atLeast:i,atMost:o}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;To(r);break}if(!(e===!0&&r===void 0)&&To(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),To(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Hc()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[se(`
38
+ `),se("\r"),se("\u2028"),se("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=jc;break;case"D":e=jc,r=!0;break;case"s":e=Jm;break;case"S":e=Jm,r=!0;break;case"w":e=zc;break;case"W":e=zc,r=!0;break}return To(e)?{type:"Set",value:e,complement:r}:Hc()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=se("\f");break;case"n":e=se(`
39
+ `);break;case"r":e=se("\r");break;case"t":e=se(" ");break;case"v":e=se("\v");break}return To(e)?{type:"Character",value:e}:Hc()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:se("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:se(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
40
+ `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:se(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(Zm(n)&&this.isRangeDash()){this.consumeChar("-");let o=this.classAtom(),s=o.type==="Character";if(Zm(o)){if(o.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:o.value})}else $f(n.value,e),e.push(se("-")),$f(o.value,e)}else $f(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
41
+ `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:se("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(SO.test(e)===!1)throw Error("Expecting a positive integer");for(;Mf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Mf.test(e)===!1)throw Error("Expecting an integer");for(;Mf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
42
+ `:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:se(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Mf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
43
43
  `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
44
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(uO.test(o)===!1)throw Error("Expecting a HexDecimal digits");r+=o}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var fn=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var Ym=/\r?\n/gm,u0=new xo,Vm=class extends fn{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
45
- `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=hi(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
46
- `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},To=new Vm;function dO(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=u0.pattern(t),r=[];for(let n of e.value.value)To.reset(t),To.visit(n),r.push({start:To.startRegexp,end:To.endRegex});return r}catch{return[]}}function Km(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),To.reset(t),To.visit(u0.pattern(t)),To.multiline}catch{return!1}}var f0=`\f
47
- \r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Uc(t){let e=typeof t=="string"?new RegExp(t):t;return f0.some(r=>e.test(r))}function hi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zm(t,e){let r=d0(t),n=e.match(r);return!!n&&n[0].length>0}function d0(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(l){o+=r.substr(n,l),n+=l}function c(l){o+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}function p0(t){return t.rules.find(e=>Nt(e)&&e.entry)}function h0(t){return t.rules.filter(e=>qt(e)&&e.hidden)}function Bc(t,e){let r=new Set,n=p0(t);if(!n)return new Set(t.rules);let i=[n].concat(h0(t));for(let s of i)m0(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||qt(s)&&s.hidden)&&o.add(s);return o}function m0(t,e,r){e.add(t.name),Mr(t).forEach(n=>{if(Gr(n)||r&&wf(n)){let i=n.rule.ref;i&&!e.has(i.name)&&m0(i,e,r)}})}function pO(t){let e=new Set;return Mr(t).forEach(r=>{Br(r)&&(Nt(r.type.ref)&&e.add(r.type.ref),Lc(r.type.ref)&&Nt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function eg(t){if(t.terminal)return t.terminal;if(t.type.ref)return Of(t.type.ref)?.terminal}function tg(t){return t.hidden&&!Uc(Rs(t))}function rg(t,e){return!t||!e?[]:ng(t,e,t.astNode,!0)}function Gc(t,e,r){if(!t||!e)return;let n=ng(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ng(t,e,r,n){if(!n){let i=Nn(t.grammarSource,Ur);if(i&&i.feature===e)return[t]}return $r(t)&&t.astNode===r?t.content.flatMap(i=>ng(i,e,r,!1)):[]}function hO(t,e){return t?og(t,e,t?.astNode):[]}function ig(t,e,r){if(!t)return;let n=og(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function og(t,e,r){if(t.astNode!==r)return[];if(Rr(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=ho(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Rr(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function sg(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Nn(t.grammarSource,Ur);if(r)return r;t=t.container}}function Of(t){let e=t;return Lc(e)&&(Ln(e.$container)?e=e.$container.$container:On(e.$container)?e=e.$container:un(e.$container)),g0(t,e,new Map)}function g0(t,e,r){function n(i,o){let s;return Nn(i,Ur)||(s=g0(o,o,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of Mr(e)){if(Ur(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Gr(i)&&Nt(i.rule.ref))return n(i,i.rule.ref);if(bf(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function y0(t){let e=t.$container;if(di(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(Ln(o))return o;{let s=Mr(r[i]).find(Ln);if(s)return s}}}if(Oc(e))return y0(e)}function mO(t,e){return t==="?"||t==="*"||di(e)&&!!e.guardCondition}function gO(t){return t==="*"||t==="+"}function yO(t){return t==="+="}function Xc(t){return x0(t,new Set)}function x0(t,e){if(e.has(t))return!0;e.add(t);for(let r of Mr(t))if(Gr(r)){if(!r.rule.ref||Nt(r.rule.ref)&&!x0(r.rule.ref,e)||pi(r.rule.ref))return!1}else{if(Ur(r))return!1;if(Ln(r))return!1}return!!t.definition}function xO(t){return Qm(t.type,new Set)}function Qm(t,e){if(e.has(t))return!0;if(e.add(t),bm(t))return!1;if(Lm(t))return!1;if(Um(t))return t.types.every(r=>Qm(r,e));if(bf(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Af(r)?Qm(r.type,e):!1}else return!1}else return!1}function Lf(t){if(!qt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function mi(t){if(On(t))return Nt(t)&&Xc(t)?t.name:Lf(t)??t.name;if(Nm(t)||Af(t)||$m(t))return t.name;if(Ln(t)){let e=T0(t);if(e)return e}else if(Lc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function T0(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return mi(t.type.ref)}function TO(t){return qt(t)?t.type?.name??"string":Nt(t)&&Xc(t)?t.name:Lf(t)??t.name}function ag(t){return qt(t)?t.type?.name??"string":Lf(t)??t.name}function Rs(t){let e={s:!1,i:!1,u:!1},r=bs(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var cg=/[\s\S]/.source;function bs(t,e){if(Mm(t))return _O(t);if(Fm(t))return EO(t);if(Am(t))return bO(t);if(wf(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Dn(bs(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Pm(t))return RO(t);if(Bm(t))return vO(t);if(Dm(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Dn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Gm(t))return Dn(cg,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function _O(t){return Dn(t.elements.map(e=>bs(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function EO(t){return Dn(t.elements.map(e=>bs(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function vO(t){return Dn(`${cg}*?${bs(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function RO(t){return Dn(`(?!${bs(t.terminal)})${cg}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function bO(t){return t.right?Dn(`[${Jm(t.left)}-${Jm(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Dn(Jm(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Jm(t){return hi(t.value)}function Dn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function lg(t){let e=[],r=t.Grammar;for(let n of r.rules)qt(n)&&tg(n)&&Km(Rs(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:If}}function As(t){console&&console.error&&console.error(`Error: ${t}`)}function Hc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function jc(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function zc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function wO(t){return AO(t)?t.LABEL:t.name}function AO(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var pr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}},Be=class extends pr{constructor(e){super([]),this.idx=1,Object.assign(this,dn(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Wt=class extends pr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,dn(e))}},Qe=class extends pr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,dn(e))}},Ge=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},et=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},tt=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Re=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Ve=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Ye=class extends pr{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,Object.assign(this,dn(e))}},Te=class{constructor(e){this.idx=1,Object.assign(this,dn(e))}accept(e){e.visit(this)}};function Df(t){return t.map(Ss)}function Ss(t){function e(r){return r.map(Ss)}if(t instanceof Be){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Qe)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ge)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof et)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof tt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ss(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Ve)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ss(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Re)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ye)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Te){let r={type:"Terminal",name:t.terminalType.name,label:wO(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof Wt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function dn(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Vt=class{visit(e){let r=e;switch(r.constructor){case Be:return this.visitNonTerminal(r);case Qe:return this.visitAlternative(r);case Ge:return this.visitOption(r);case et:return this.visitRepetitionMandatory(r);case tt:return this.visitRepetitionMandatoryWithSeparator(r);case Ve:return this.visitRepetitionWithSeparator(r);case Re:return this.visitRepetition(r);case Ye:return this.visitAlternation(r);case Te:return this.visitTerminal(r);case Wt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function ug(t){return t instanceof Qe||t instanceof Ge||t instanceof Re||t instanceof et||t instanceof tt||t instanceof Ve||t instanceof Te||t instanceof Wt}function _o(t,e=[]){return t instanceof Ge||t instanceof Re||t instanceof Ve?!0:t instanceof Ye?t.definition.some(n=>_o(n,e)):t instanceof Be&&e.includes(t)?!1:t instanceof pr?(t instanceof Be&&e.push(t),t.definition.every(n=>_o(n,e))):!1}function fg(t){return t instanceof Ye}function nr(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof Ye)return"OR";if(t instanceof et)return"AT_LEAST_ONE";if(t instanceof tt)return"AT_LEAST_ONE_SEP";if(t instanceof Ve)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}var $n=class{walk(e,r=[]){e.definition.forEach((n,i)=>{let o=e.definition.slice(i+1);if(n instanceof Be)this.walkProdRef(n,o,r);else if(n instanceof Te)this.walkTerminal(n,o,r);else if(n instanceof Qe)this.walkFlat(n,o,r);else if(n instanceof Ge)this.walkOption(n,o,r);else if(n instanceof et)this.walkAtLeastOne(n,o,r);else if(n instanceof tt)this.walkAtLeastOneSep(n,o,r);else if(n instanceof Ve)this.walkManySep(n,o,r);else if(n instanceof Re)this.walkMany(n,o,r);else if(n instanceof Ye)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=_0(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=_0(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Qe({definition:[o]});this.walk(s,i)})}};function _0(t,e,r){return[new Ge({definition:[new Te({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Eo(t){if(t instanceof Be)return Eo(t.referencedRule);if(t instanceof Te)return kO(t);if(ug(t))return SO(t);if(fg(t))return IO(t);throw Error("non exhaustive match")}function SO(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=_o(o),e=e.concat(Eo(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function IO(t){let e=t.definition.map(r=>Eo(r));return[...new Set(e.flat())]}function kO(t){return[t.terminalType]}var $f="_~IN~_";var dg=class extends $n{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=NO(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Qe({definition:o}),a=Eo(s);this.follows[i]=a}};function E0(t){let e={};return t.forEach(r=>{let n=new dg(r).startWalking();Object.assign(e,n)}),e}function NO(t,e){return t.name+e+$f}var Mf={},PO=new xo;function Is(t){let e=t.toString();if(Mf.hasOwnProperty(e))return Mf[e];{let r=PO.pattern(e);return Mf[e]=r,r}}function v0(){Mf={}}var b0="Complement Sets are not supported for first char optimization",qc=`Unable to use "first char" lexer optimizations:
48
- `;function w0(t,e=!1){try{let r=Is(t);return pg(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===b0)e&&Hc(`${qc} Unable to optimize: < ${t.toString()} >
44
+ `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(IO.test(o)===!1)throw Error("Expecting a HexDecimal digits");r+=o}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var cn=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var eg=/\r?\n/gm,x0=new _o,Qm=class extends cn{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
45
+ `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=gi(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
46
+ `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Eo=new Qm;function kO(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=x0.pattern(t),r=[];for(let n of e.value.value)Eo.reset(t),Eo.visit(n),r.push({start:Eo.startRegexp,end:Eo.endRegex});return r}catch{return[]}}function tg(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Eo.reset(t),Eo.visit(x0.pattern(t)),Eo.multiline}catch{return!1}}var T0=`\f
47
+ \r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function qc(t){let e=typeof t=="string"?new RegExp(t):t;return T0.some(r=>e.test(r))}function gi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rg(t,e){let r=_0(t),n=e.match(r);return!!n&&n[0].length>0}function _0(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(l){o+=r.substr(n,l),n+=l}function c(l){o+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}function E0(t){return t.rules.find(e=>kt(e)&&e.entry)}function v0(t){return t.rules.filter(e=>zt(e)&&e.hidden)}function Wc(t,e){let r=new Set,n=E0(t);if(!n)return new Set(t.rules);let i=[n].concat(v0(t));for(let s of i)R0(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||zt(s)&&s.hidden)&&o.add(s);return o}function R0(t,e,r){e.add(t.name),$r(t).forEach(n=>{if(Br(n)||r&&Cf(n)){let i=n.rule.ref;i&&!e.has(i.name)&&R0(i,e,r)}})}function NO(t){let e=new Set;return $r(t).forEach(r=>{Ur(r)&&(kt(r.type.ref)&&e.add(r.type.ref),Gc(r.type.ref)&&kt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function og(t){if(t.terminal)return t.terminal;if(t.type.ref)return Uf(t.type.ref)?.terminal}function sg(t){return t.hidden&&!qc(As(t))}function ag(t,e){return!t||!e?[]:cg(t,e,t.astNode,!0)}function Vc(t,e,r){if(!t||!e)return;let n=cg(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function cg(t,e,r,n){if(!n){let i=In(t.grammarSource,Fr);if(i&&i.feature===e)return[t]}return Dr(t)&&t.astNode===r?t.content.flatMap(i=>cg(i,e,r,!1)):[]}function CO(t,e){return t?ug(t,e,t?.astNode):[]}function lg(t,e,r){if(!t)return;let n=ug(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ug(t,e,r){if(t.astNode!==r)return[];if(Er(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=go(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Er(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function fg(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=In(t.grammarSource,Fr);if(r)return r;t=t.container}}function Uf(t){let e=t;return Gc(e)&&(Cn(e.$container)?e=e.$container.$container:Nn(e.$container)?e=e.$container:an(e.$container)),w0(t,e,new Map)}function w0(t,e,r){function n(i,o){let s;return In(i,Fr)||(s=w0(o,o,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of $r(e)){if(Fr(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Br(i)&&kt(i.rule.ref))return n(i,i.rule.ref);if(Nf(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function b0(t){let e=t.$container;if(hi(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(Cn(o))return o;{let s=$r(r[i]).find(Cn);if(s)return s}}}if(Bc(e))return b0(e)}function PO(t,e){return t==="?"||t==="*"||hi(e)&&!!e.guardCondition}function OO(t){return t==="*"||t==="+"}function LO(t){return t==="+="}function Yc(t){return A0(t,new Set)}function A0(t,e){if(e.has(t))return!0;e.add(t);for(let r of $r(t))if(Br(r)){if(!r.rule.ref||kt(r.rule.ref)&&!A0(r.rule.ref,e)||mi(r.rule.ref))return!1}else{if(Fr(r))return!1;if(Cn(r))return!1}return!!t.definition}function DO(t){return ig(t.type,new Set)}function ig(t,e){if(e.has(t))return!0;if(e.add(t),km(t))return!1;if(Um(t))return!1;if(jm(t))return t.types.every(r=>ig(r,e));if(Nf(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Pf(r)?ig(r.type,e):!1}else return!1}else return!1}function Bf(t){if(!zt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function yi(t){if(Nn(t))return kt(t)&&Yc(t)?t.name:Bf(t)??t.name;if(Dm(t)||Pf(t)||Gm(t))return t.name;if(Cn(t)){let e=I0(t);if(e)return e}else if(Gc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function I0(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return yi(t.type.ref)}function $O(t){return zt(t)?t.type?.name??"string":kt(t)&&Yc(t)?t.name:Bf(t)??t.name}function dg(t){return zt(t)?t.type?.name??"string":Bf(t)??t.name}function As(t){let e={s:!1,i:!1,u:!1},r=Is(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var pg=/[\s\S]/.source;function Is(t,e){if(Xm(t))return MO(t);if(Hm(t))return FO(t);if(Cm(t))return GO(t);if(Cf(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Pn(Is(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if($m(t))return BO(t);if(zm(t))return UO(t);if(Bm(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Pn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(qm(t))return Pn(pg,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function MO(t){return Pn(t.elements.map(e=>Is(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function FO(t){return Pn(t.elements.map(e=>Is(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function UO(t){return Pn(`${pg}*?${Is(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function BO(t){return Pn(`(?!${Is(t.terminal)})${pg}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function GO(t){return t.right?Pn(`[${ng(t.left)}-${ng(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Pn(ng(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function ng(t){return gi(t.value)}function Pn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function hg(t){let e=[],r=t.Grammar;for(let n of r.rules)zt(n)&&sg(n)&&tg(As(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:Lf}}function ks(t){console&&console.error&&console.error(`Error: ${t}`)}function Kc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Zc(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Jc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function XO(t){return HO(t)?t.LABEL:t.name}function HO(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var dr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}},Be=class extends dr{constructor(e){super([]),this.idx=1,Object.assign(this,ln(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},qt=class extends dr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,ln(e))}},Ze=class extends dr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,ln(e))}},Ge=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Je=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Re=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},We=class extends dr{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,Object.assign(this,ln(e))}},Te=class{constructor(e){this.idx=1,Object.assign(this,ln(e))}accept(e){e.visit(this)}};function Gf(t){return t.map(Ns)}function Ns(t){function e(r){return r.map(Ns)}if(t instanceof Be){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Ze)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ge)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Je)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Qe)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ns(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof qe)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ns(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Re)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof We)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Te){let r={type:"Terminal",name:t.terminalType.name,label:XO(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof qt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function ln(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Wt=class{visit(e){let r=e;switch(r.constructor){case Be:return this.visitNonTerminal(r);case Ze:return this.visitAlternative(r);case Ge:return this.visitOption(r);case Je:return this.visitRepetitionMandatory(r);case Qe:return this.visitRepetitionMandatoryWithSeparator(r);case qe:return this.visitRepetitionWithSeparator(r);case Re:return this.visitRepetition(r);case We:return this.visitAlternation(r);case Te:return this.visitTerminal(r);case qt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function mg(t){return t instanceof Ze||t instanceof Ge||t instanceof Re||t instanceof Je||t instanceof Qe||t instanceof qe||t instanceof Te||t instanceof qt}function vo(t,e=[]){return t instanceof Ge||t instanceof Re||t instanceof qe?!0:t instanceof We?t.definition.some(n=>vo(n,e)):t instanceof Be&&e.includes(t)?!1:t instanceof dr?(t instanceof Be&&e.push(t),t.definition.every(n=>vo(n,e))):!1}function gg(t){return t instanceof We}function rr(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof We)return"OR";if(t instanceof Je)return"AT_LEAST_ONE";if(t instanceof Qe)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}var On=class{walk(e,r=[]){e.definition.forEach((n,i)=>{let o=e.definition.slice(i+1);if(n instanceof Be)this.walkProdRef(n,o,r);else if(n instanceof Te)this.walkTerminal(n,o,r);else if(n instanceof Ze)this.walkFlat(n,o,r);else if(n instanceof Ge)this.walkOption(n,o,r);else if(n instanceof Je)this.walkAtLeastOne(n,o,r);else if(n instanceof Qe)this.walkAtLeastOneSep(n,o,r);else if(n instanceof qe)this.walkManySep(n,o,r);else if(n instanceof Re)this.walkMany(n,o,r);else if(n instanceof We)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=S0(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=S0(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Ze({definition:[o]});this.walk(s,i)})}};function S0(t,e,r){return[new Ge({definition:[new Te({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Ro(t){if(t instanceof Be)return Ro(t.referencedRule);if(t instanceof Te)return qO(t);if(mg(t))return jO(t);if(gg(t))return zO(t);throw Error("non exhaustive match")}function jO(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=vo(o),e=e.concat(Ro(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function zO(t){let e=t.definition.map(r=>Ro(r));return[...new Set(e.flat())]}function qO(t){return[t.terminalType]}var Xf="_~IN~_";var yg=class extends On{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=WO(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Ze({definition:o}),a=Ro(s);this.follows[i]=a}};function k0(t){let e={};return t.forEach(r=>{let n=new yg(r).startWalking();Object.assign(e,n)}),e}function WO(t,e){return t.name+e+Xf}var Hf={},VO=new _o;function Cs(t){let e=t.toString();if(Hf.hasOwnProperty(e))return Hf[e];{let r=VO.pattern(e);return Hf[e]=r,r}}function N0(){Hf={}}var P0="Complement Sets are not supported for first char optimization",Qc=`Unable to use "first char" lexer optimizations:
48
+ `;function O0(t,e=!1){try{let r=Cs(t);return xg(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===P0)e&&Kc(`${Qc} Unable to optimize: < ${t.toString()} >
49
49
  Complement Sets cannot be automatically optimized.
50
50
  This will disable the lexer's first char optimizations.
51
51
  See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
52
52
  This will disable the lexer's first char optimizations.
53
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),As(`${qc}
53
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),ks(`${Qc}
54
54
  Failed parsing: < ${t.toString()} >
55
55
  Using the @chevrotain/regexp-to-ast library
56
- Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function pg(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)pg(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let o=n[i];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let s=o;switch(s.type){case"Character":Ff(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(b0);s.value.forEach(c=>{if(typeof c=="number")Ff(c,e,r);else{let l=c;if(r===!0)for(let u=l.from;u<=l.to;u++)Ff(u,e,r);else{for(let u=l.from;u<=l.to&&u<ks;u++)Ff(u,e,r);if(l.to>=ks){let u=l.from>=ks?l.from:ks,f=l.to,d=pn(u),p=pn(f);for(let m=d;m<=p;m++)e[m]=m}}}});break;case"Group":pg(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let a=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&hg(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function Ff(t,e,r){let n=pn(t);e[n]=n,r===!0&&CO(t,e)}function CO(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=pn(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=pn(i.charCodeAt(0));e[o]=o}}}function R0(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{let n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function hg(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(hg):hg(t.value):!1}var mg=class extends fn{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?R0(e,this.targetCharCodes)===void 0&&(this.found=!0):R0(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Uf(t,e){if(e instanceof RegExp){let r=Is(e),n=new mg(t);return n.visit(r),n.found}else{for(let r of e){let n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}var vo="PATTERN",Ns="defaultMode",Bf="modes";function S0(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
57
- `],tracer:(_,E)=>E()},e);let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{ZO()});let n;r("Reject Lexer.NA",()=>{n=t.filter(_=>_[vo]!==ct.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=n.map(_=>{let E=_[vo];if(E instanceof RegExp){let I=E.source;return I.length===1&&I!=="^"&&I!=="$"&&I!=="."&&!E.ignoreCase?I:I.length===2&&I[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(I[1])?I[1]:A0(E)}else{if(typeof E=="function")return i=!0,{exec:E};if(typeof E=="object")return i=!0,E;if(typeof E=="string"){if(E.length===1)return E;{let I=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),D=new RegExp(I);return A0(D)}}else throw Error("non exhaustive match")}})});let s,a,c,l,u;r("misc mapping",()=>{s=n.map(_=>_.tokenTypeIdx),a=n.map(_=>{let E=_.GROUP;if(E!==ct.SKIPPED){if(typeof E=="string")return E;if(E===void 0)return!1;throw Error("non exhaustive match")}}),c=n.map(_=>{let E=_.LONGER_ALT;if(E)return Array.isArray(E)?E.map(D=>n.indexOf(D)):[n.indexOf(E)]}),l=n.map(_=>_.PUSH_MODE),u=n.map(_=>Object.hasOwn(_,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{let _=D0(e.lineTerminatorCharacters);f=n.map(E=>!1),e.positionTracking!=="onlyOffset"&&(f=n.map(E=>Object.hasOwn(E,"LINE_BREAKS")?!!E.LINE_BREAKS:L0(E,_)===!1&&Uf(_,E.PATTERN)))});let d,p,m,g;r("Misc Mapping #2",()=>{d=n.map(C0),p=o.map(YO),m=n.reduce((_,E)=>{let I=E.GROUP;return typeof I=="string"&&I!==ct.SKIPPED&&(_[I]=[]),_},{}),g=o.map((_,E)=>({pattern:o[E],longerAlt:c[E],canLineTerminator:f[E],isCustom:d[E],short:p[E],group:a[E],push:l[E],pop:u[E],tokenTypeIdx:s[E],tokenType:n[E]}))});let v=!0,T=[];return e.safeMode||r("First Char Optimization",()=>{T=n.reduce((_,E,I)=>{if(typeof E.PATTERN=="string"){let D=E.PATTERN.charCodeAt(0),k=pn(D);gg(_,k,g[I])}else if(Array.isArray(E.START_CHARS_HINT)){let D;E.START_CHARS_HINT.forEach(k=>{let B=typeof k=="string"?k.charCodeAt(0):k,U=pn(B);D!==U&&(D=U,gg(_,U,g[I]))})}else if(E.PATTERN instanceof RegExp)if(E.PATTERN.unicode)v=!1,e.ensureOptimizations&&As(`${qc} Unable to analyze < ${E.PATTERN.toString()} > pattern.
56
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function xg(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)xg(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let o=n[i];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let s=o;switch(s.type){case"Character":jf(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(P0);s.value.forEach(c=>{if(typeof c=="number")jf(c,e,r);else{let l=c;if(r===!0)for(let u=l.from;u<=l.to;u++)jf(u,e,r);else{for(let u=l.from;u<=l.to&&u<Ps;u++)jf(u,e,r);if(l.to>=Ps){let u=l.from>=Ps?l.from:Ps,f=l.to,d=un(u),p=un(f);for(let m=d;m<=p;m++)e[m]=m}}}});break;case"Group":xg(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let a=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&Tg(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function jf(t,e,r){let n=un(t);e[n]=n,r===!0&&YO(t,e)}function YO(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=un(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=un(i.charCodeAt(0));e[o]=o}}}function C0(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{let n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function Tg(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(Tg):Tg(t.value):!1}var _g=class extends cn{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?C0(e,this.targetCharCodes)===void 0&&(this.found=!0):C0(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function zf(t,e){if(e instanceof RegExp){let r=Cs(e),n=new _g(t);return n.visit(r),n.found}else{for(let r of e){let n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}var wo="PATTERN",Os="defaultMode",qf="modes";function D0(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
57
+ `],tracer:(v,E)=>E()},e);let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{hL()});let n;r("Reject Lexer.NA",()=>{n=t.filter(v=>v[wo]!==ct.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=n.map(v=>{let E=v[wo];if(E instanceof RegExp){let S=E.source;return S.length===1&&S!=="^"&&S!=="$"&&S!=="."&&!E.ignoreCase?S:S.length===2&&S[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(S[1])?S[1]:L0(E)}else{if(typeof E=="function")return i=!0,{exec:E};if(typeof E=="object")return i=!0,E;if(typeof E=="string"){if(E.length===1)return E;{let S=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),D=new RegExp(S);return L0(D)}}else throw Error("non exhaustive match")}})});let s,a,c,l,u;r("misc mapping",()=>{s=n.map(v=>v.tokenTypeIdx),a=n.map(v=>{let E=v.GROUP;if(E!==ct.SKIPPED){if(typeof E=="string")return E;if(E===void 0)return!1;throw Error("non exhaustive match")}}),c=n.map(v=>{let E=v.LONGER_ALT;if(E)return Array.isArray(E)?E.map(D=>n.indexOf(D)):[n.indexOf(E)]}),l=n.map(v=>v.PUSH_MODE),u=n.map(v=>Object.hasOwn(v,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{let v=H0(e.lineTerminatorCharacters);f=n.map(E=>!1),e.positionTracking!=="onlyOffset"&&(f=n.map(E=>Object.hasOwn(E,"LINE_BREAKS")?!!E.LINE_BREAKS:X0(E,v)===!1&&zf(v,E.PATTERN)))});let d,p,m,y;r("Misc Mapping #2",()=>{d=n.map(B0),p=o.map(dL),m=n.reduce((v,E)=>{let S=E.GROUP;return typeof S=="string"&&S!==ct.SKIPPED&&(v[S]=[]),v},{}),y=o.map((v,E)=>({pattern:o[E],longerAlt:c[E],canLineTerminator:f[E],isCustom:d[E],short:p[E],group:a[E],push:l[E],pop:u[E],tokenTypeIdx:s[E],tokenType:n[E]}))});let T=!0,_=[];return e.safeMode||r("First Char Optimization",()=>{_=n.reduce((v,E,S)=>{if(typeof E.PATTERN=="string"){let D=E.PATTERN.charCodeAt(0),N=un(D);Eg(v,N,y[S])}else if(Array.isArray(E.START_CHARS_HINT)){let D;E.START_CHARS_HINT.forEach(N=>{let M=typeof N=="string"?N.charCodeAt(0):N,B=un(M);D!==B&&(D=B,Eg(v,B,y[S]))})}else if(E.PATTERN instanceof RegExp)if(E.PATTERN.unicode)T=!1,e.ensureOptimizations&&ks(`${Qc} Unable to analyze < ${E.PATTERN.toString()} > pattern.
58
58
  The regexp unicode flag is not currently supported by the regexp-to-ast library.
59
59
  This will disable the lexer's first char optimizations.
60
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let D=w0(E.PATTERN,e.ensureOptimizations);D.length===0&&(v=!1),D.forEach(k=>{gg(_,k,g[I])})}else e.ensureOptimizations&&As(`${qc} TokenType: <${E.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
60
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let D=O0(E.PATTERN,e.ensureOptimizations);D.length===0&&(T=!1),D.forEach(N=>{Eg(v,N,y[S])})}else e.ensureOptimizations&&ks(`${Qc} TokenType: <${E.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
61
61
  This will disable the lexer's first char optimizations.
62
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return _},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:T,hasCustom:i,canBeOptimized:v}}function I0(t,e){let r=[],n=LO(t);r=r.concat(n.errors);let i=DO(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(OO(o)),r=r.concat(HO(o)),r=r.concat(jO(o,e)),r=r.concat(zO(o)),r}function OO(t){let e=[],r=t.filter(n=>n[vo]instanceof RegExp);return e=e.concat(MO(r)),e=e.concat(BO(r)),e=e.concat(GO(r)),e=e.concat(XO(r)),e=e.concat(FO(r)),e}function LO(t){let e=t.filter(i=>!Object.hasOwn(i,vo)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:at.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function DO(t){let e=t.filter(i=>{let o=i[vo];return!(o instanceof RegExp)&&typeof o!="function"&&!Object.hasOwn(o,"exec")&&typeof o!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:at.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}var $O=/[^\\][$]/;function MO(t){class e extends fn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Is(o),a=new e;return a.visit(s),a.found}catch{return $O.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
62
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),T=!1;return v},[])}),{emptyGroups:m,patternIdxToConfig:y,charCodeToPatternIdxToConfig:_,hasCustom:i,canBeOptimized:T}}function $0(t,e){let r=[],n=ZO(t);r=r.concat(n.errors);let i=JO(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(KO(o)),r=r.concat(sL(o)),r=r.concat(aL(o,e)),r=r.concat(cL(o)),r}function KO(t){let e=[],r=t.filter(n=>n[wo]instanceof RegExp);return e=e.concat(eL(r)),e=e.concat(nL(r)),e=e.concat(iL(r)),e=e.concat(oL(r)),e=e.concat(tL(r)),e}function ZO(t){let e=t.filter(i=>!Object.hasOwn(i,wo)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:at.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function JO(t){let e=t.filter(i=>{let o=i[wo];return!(o instanceof RegExp)&&typeof o!="function"&&!Object.hasOwn(o,"exec")&&typeof o!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:at.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}var QO=/[^\\][$]/;function eL(t){class e extends cn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Cs(o),a=new e;return a.visit(s),a.found}catch{return QO.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
63
63
  Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
64
- See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function FO(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:at.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var UO=/[^\\[][\^]|^\^/;function BO(t){class e extends fn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Is(o),a=new e;return a.visit(s),a.found}catch{return UO.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
64
+ See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function tL(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:at.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var rL=/[^\\[][\^]|^\^/;function nL(t){class e extends cn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Cs(o),a=new e;return a.visit(s),a.found}catch{return rL.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
65
65
  Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
66
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function GO(t){return t.filter(n=>{let i=n[vo];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:at.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function XO(t){let e=[],r=t.map(o=>t.reduce((s,a)=>(o.PATTERN.source===a.PATTERN.source&&!e.includes(a)&&a.PATTERN!==ct.NA&&(e.push(a),s.push(a)),s),[]));return r=r.filter(Boolean),r.filter(o=>o.length>1).map(o=>{let s=o.map(c=>c.name);return{message:`The same RegExp pattern ->${o[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:at.DUPLICATE_PATTERNS_FOUND,tokenTypes:o}})}function HO(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;let i=n.GROUP;return i!==ct.SKIPPED&&i!==ct.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:at.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function jO(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:at.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function zO(t){let e=[],r=t.reduce((n,i,o)=>{let s=i.PATTERN;return s===ct.NA||(typeof s=="string"?n.push({str:s,idx:o,tokenType:i}):s instanceof RegExp&&WO(s)&&n.push({str:s.source,idx:o,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:o,idx:s,tokenType:a})=>{if(i<s&&qO(o,n.PATTERN)){let c=`Token: ->${a.name}<- can never be matched.
66
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function iL(t){return t.filter(n=>{let i=n[wo];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:at.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function oL(t){let e=[],r=t.map(o=>t.reduce((s,a)=>(o.PATTERN.source===a.PATTERN.source&&!e.includes(a)&&a.PATTERN!==ct.NA&&(e.push(a),s.push(a)),s),[]));return r=r.filter(Boolean),r.filter(o=>o.length>1).map(o=>{let s=o.map(c=>c.name);return{message:`The same RegExp pattern ->${o[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:at.DUPLICATE_PATTERNS_FOUND,tokenTypes:o}})}function sL(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;let i=n.GROUP;return i!==ct.SKIPPED&&i!==ct.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:at.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function aL(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:at.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function cL(t){let e=[],r=t.reduce((n,i,o)=>{let s=i.PATTERN;return s===ct.NA||(typeof s=="string"?n.push({str:s,idx:o,tokenType:i}):s instanceof RegExp&&uL(s)&&n.push({str:s.source,idx:o,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:o,idx:s,tokenType:a})=>{if(i<s&&lL(o,n.PATTERN)){let c=`Token: ->${a.name}<- can never be matched.
67
67
  Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
68
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:at.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function qO(t,e){if(e instanceof RegExp){if(VO(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function WO(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function VO(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function A0(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function k0(t,e,r){let n=[];return Object.hasOwn(t,Ns)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ns+`> property in its definition
69
- `,type:at.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,Bf)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Bf+`> property in its definition
70
- `,type:at.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,Bf)&&Object.hasOwn(t,Ns)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ns}: <${t.defaultMode}>which does not exist
71
- `,type:at.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,Bf)&&Object.keys(t.modes).forEach(i=>{let o=t.modes[i];o.forEach((s,a)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${a}>
68
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:at.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function lL(t,e){if(e instanceof RegExp){if(fL(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function uL(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function fL(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function L0(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function M0(t,e,r){let n=[];return Object.hasOwn(t,Os)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Os+`> property in its definition
69
+ `,type:at.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,qf)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+qf+`> property in its definition
70
+ `,type:at.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,qf)&&Object.hasOwn(t,Os)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Os}: <${t.defaultMode}>which does not exist
71
+ `,type:at.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,qf)&&Object.keys(t.modes).forEach(i=>{let o=t.modes[i];o.forEach((s,a)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${a}>
72
72
  `,type:at.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(l=>{l!==void 0&&!o.includes(l)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${s.name}> outside of mode <${i}>
73
- `,type:at.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function N0(t,e,r){let n=[],i=!1,s=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[vo]!==ct.NA),a=D0(r);return e&&s.forEach(c=>{let l=L0(c,a);if(l!==!1){let f={message:KO(c,l),type:l.issue,tokenType:c};n.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Uf(a,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
73
+ `,type:at.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function F0(t,e,r){let n=[],i=!1,s=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[wo]!==ct.NA),a=H0(r);return e&&s.forEach(c=>{let l=X0(c,a);if(l!==!1){let f={message:pL(c,l),type:l.issue,tokenType:c};n.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):zf(a,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
74
74
  This Lexer has been defined to track line and column information,
75
75
  But none of the Token Types can be identified as matching a line terminator.
76
76
  See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
77
- for details.`,type:at.NO_LINE_BREAKS_FLAGS}),n}function P0(t){let e={};return Object.keys(t).forEach(n=>{let i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function C0(t){let e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function YO(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}var O0={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function L0(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{Uf(e,t.PATTERN)}catch(r){return{issue:at.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(C0(t))return{issue:at.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function KO(t,e){if(e.issue===at.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
77
+ for details.`,type:at.NO_LINE_BREAKS_FLAGS}),n}function U0(t){let e={};return Object.keys(t).forEach(n=>{let i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function B0(t){let e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function dL(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}var G0={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function X0(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{zf(e,t.PATTERN)}catch(r){return{issue:at.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(B0(t))return{issue:at.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function pL(t,e){if(e.issue===at.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
78
78
  The problem is in the <${t.name}> Token Type
79
79
  Root cause: ${e.errMsg}.
80
80
  For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===at.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
81
81
  The problem is in the <${t.name}> Token Type
82
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function D0(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function gg(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var ks=256,Gf=[];function pn(t){return t<ks?t:Gf[t]}function ZO(){if(Gf.length===0){Gf=new Array(65536);for(let t=0;t<65536;t++)Gf[t]=t>255?255+~~(t/255):t}}function Mn(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Ps(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var $0=1,F0={};function Fn(t){let e=JO(t);QO(e),tL(e),eL(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function JO(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(o=>o.CATEGORIES).flat().filter(Boolean);let i=r.filter(o=>!e.includes(o));e=e.concat(i),i.length===0?n=!1:r=i}return e}function QO(t){t.forEach(e=>{yg(e)||(F0[$0]=e,e.tokenTypeIdx=$0++),M0(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),M0(e)||(e.CATEGORIES=[]),rL(e)||(e.categoryMatches=[]),nL(e)||(e.categoryMatchesMap={})})}function eL(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(F0[r].tokenTypeIdx)})})}function tL(t){t.forEach(e=>{U0([],e)})}function U0(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{let n=t.concat(e);n.includes(r)||U0(n,r)})}function yg(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function M0(t){return Object.hasOwn(t??{},"CATEGORIES")}function rL(t){return Object.hasOwn(t??{},"categoryMatches")}function nL(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function B0(t){return Object.hasOwn(t??{},"tokenTypeIdx")}var Cs={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,o){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var at;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(at||(at={}));var Wc={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
83
- `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Cs,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Wc);var ct=class{constructor(e,r=Wc){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,o)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);let{time:a,value:c}=jc(o),l=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${s}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return o()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
84
- a boolean 2nd argument is no longer supported`);this.config=Object.assign({},Wc,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,o=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Wc.lineTerminatorsPattern)this.config.lineTerminatorsPattern=O0;else if(this.config.lineTerminatorCharacters===Wc.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
85
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:Ns}:(o=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(k0(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(N0(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([a,c])=>{i.modes[a]=c.filter(l=>l!==void 0)});let s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([a,c])=>{this.TRACE_INIT(`Mode: <${a}> processing`,()=>{if(this.modes.push(a),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(I0(c,s))}),this.lexerDefinitionErrors.length===0){Fn(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=S0(c,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[a]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[a]=l.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[a]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){let c=this.lexerDefinitionErrors.map(l=>l.message).join(`-----------------------
82
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function H0(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function Eg(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var Ps=256,Wf=[];function un(t){return t<Ps?t:Wf[t]}function hL(){if(Wf.length===0){Wf=new Array(65536);for(let t=0;t<65536;t++)Wf[t]=t>255?255+~~(t/255):t}}function Ln(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Ls(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var j0=1,q0={};function Dn(t){let e=mL(t);gL(e),xL(e),yL(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function mL(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(o=>o.CATEGORIES).flat().filter(Boolean);let i=r.filter(o=>!e.includes(o));e=e.concat(i),i.length===0?n=!1:r=i}return e}function gL(t){t.forEach(e=>{vg(e)||(q0[j0]=e,e.tokenTypeIdx=j0++),z0(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),z0(e)||(e.CATEGORIES=[]),TL(e)||(e.categoryMatches=[]),_L(e)||(e.categoryMatchesMap={})})}function yL(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(q0[r].tokenTypeIdx)})})}function xL(t){t.forEach(e=>{W0([],e)})}function W0(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{let n=t.concat(e);n.includes(r)||W0(n,r)})}function vg(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function z0(t){return Object.hasOwn(t??{},"CATEGORIES")}function TL(t){return Object.hasOwn(t??{},"categoryMatches")}function _L(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function V0(t){return Object.hasOwn(t??{},"tokenTypeIdx")}var Ds={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,o){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var at;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(at||(at={}));var el={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
83
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Ds,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(el);var ct=class{constructor(e,r=el){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,o)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);let{time:a,value:c}=Zc(o),l=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${s}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return o()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
84
+ a boolean 2nd argument is no longer supported`);this.config=Object.assign({},el,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,o=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===el.lineTerminatorsPattern)this.config.lineTerminatorsPattern=G0;else if(this.config.lineTerminatorCharacters===el.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
85
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:Os}:(o=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(M0(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(F0(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([a,c])=>{i.modes[a]=c.filter(l=>l!==void 0)});let s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([a,c])=>{this.TRACE_INIT(`Mode: <${a}> processing`,()=>{if(this.modes.push(a),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat($0(c,s))}),this.lexerDefinitionErrors.length===0){Dn(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=D0(c,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[a]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[a]=l.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[a]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){let c=this.lexerDefinitionErrors.map(l=>l.message).join(`-----------------------
86
86
  `);throw new Error(`Errors detected in definition of Lexer:
87
- `+c)}this.lexerDefinitionWarning.forEach(a=>{Hc(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(o&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=a=>a),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=Object.entries(this.canModeBeOptimized).reduce((c,[l,u])=>(u===!1&&c.push(l),c),[]);if(r.ensureOptimizations&&a.length>0)throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
87
+ `+c)}this.lexerDefinitionWarning.forEach(a=>{Kc(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(o&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=a=>a),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=Object.entries(this.canModeBeOptimized).reduce((c,[l,u])=>(u===!1&&c.push(l),c),[]);if(r.ensureOptimizations&&a.length>0)throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
88
88
  Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
89
- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{v0()}),this.TRACE_INIT("toFastProperties",()=>{zc(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){let i=this.lexerDefinitionErrors.map(o=>o.message).join(`-----------------------
89
+ Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{N0()}),this.TRACE_INIT("toFastProperties",()=>{Jc(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){let i=this.lexerDefinitionErrors.map(o=>o.message).join(`-----------------------
90
90
  `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
91
- `+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,l,u,f,d,p,m,g,v,T,_=e,E=_.length,I=0,D=0,k=this.hasCustom?0:Math.floor(e.length/10),B=new Array(k),U=[],z=this.trackStartLines?1:void 0,le=this.trackStartLines?1:void 0,O=P0(this.emptyGroups),R=this.trackStartLines,L=this.config.lineTerminatorsPattern,$=0,w=[],A=[],S=[],M=[];Object.freeze(M);let X=!1,F=V=>{if(S.length===1&&V.tokenType.PUSH_MODE===void 0){let te=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(V);U.push({offset:V.startOffset,line:V.startLine,column:V.startColumn,length:V.image.length,message:te})}else{S.pop();let te=S.at(-1);w=this.patternIdxToConfig[te],A=this.charCodeToPatternIdxToConfig[te],$=w.length;let De=this.canModeBeOptimized[te]&&this.config.safeMode===!1;A&&De?X=!0:X=!1}};function W(V){S.push(V),A=this.charCodeToPatternIdxToConfig[V],w=this.patternIdxToConfig[V],$=w.length,$=w.length;let te=this.canModeBeOptimized[V]&&this.config.safeMode===!1;A&&te?X=!0:X=!1}W.call(this,r);let Z,pe=this.config.recoveryEnabled;for(;I<E;){c=null,f=-1;let V=_.charCodeAt(I),te;if(X){let Ne=pn(V),Xe=A[Ne];te=Xe!==void 0?Xe:M}else te=w;let De=te.length;for(n=0;n<De;n++){Z=te[n];let Ne=Z.pattern;l=null;let Xe=Z.short;if(Xe!==!1?V===Xe&&(f=1,c=Ne):Z.isCustom===!0?(T=Ne.exec(_,I,B,O),T!==null?(c=T[0],f=c.length,T.payload!==void 0&&(l=T.payload)):c=null):(Ne.lastIndex=I,f=this.matchLength(Ne,e,I)),f!==-1){if(a=Z.longerAlt,a!==void 0){c=e.substring(I,I+f);let q=a.length;for(o=0;o<q;o++){let J=w[a[o]],re=J.pattern;if(u=null,J.isCustom===!0?(T=re.exec(_,I,B,O),T!==null?(s=T[0],T.payload!==void 0&&(u=T.payload)):s=null):(re.lastIndex=I,s=this.match(re,e,I)),s&&s.length>c.length){c=s,f=s.length,l=u,Z=J;break}}}break}}if(f!==-1){if(d=Z.group,d!==void 0&&(c=c!==null?c:e.substring(I,I+f),p=Z.tokenTypeIdx,m=this.createTokenInstance(c,I,p,Z.tokenType,z,le,f),this.handlePayload(m,l),d===!1?D=this.addToken(B,D,m):O[d].push(m)),R===!0&&Z.canLineTerminator===!0){let Ne=0,Xe,q;L.lastIndex=0;do c=c!==null?c:e.substring(I,I+f),Xe=L.test(c),Xe===!0&&(q=L.lastIndex-1,Ne++);while(Xe===!0);Ne!==0?(z=z+Ne,le=f-q,this.updateTokenEndLineColumnLocation(m,d,q,Ne,z,le,f)):le=this.computeNewColumn(le,f)}else le=this.computeNewColumn(le,f);I=I+f,this.handleModes(Z,F,W,m)}else{let Ne=I,Xe=z,q=le,J=pe===!1;for(;J===!1&&I<E;)for(I++,i=0;i<$;i++){let re=w[i],P=re.pattern,we=re.short;if(we!==!1?_.charCodeAt(I)===we&&(J=!0):re.isCustom===!0?J=P.exec(_,I,B,O)!==null:(P.lastIndex=I,J=P.exec(e)!==null),J===!0)break}if(g=I-Ne,le=this.computeNewColumn(le,g),v=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(_,Ne,g,Xe,q,S.at(-1)),U.push({offset:Ne,line:Xe,column:q,length:g,message:v}),pe===!1)break}}return this.hasCustom||(B.length=D),{tokens:B,groups:O,errors:U}}handleModes(e,r,n,i){if(e.pop===!0){let o=e.push;r(i),o!==void 0&&n.call(this,o)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,o,s,a){let c,l;r!==void 0&&(c=n===a-1,l=c?-1:0,i===1&&c===!0||(e.endLine=o+l,e.endColumn=s-1+-l))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,o,s){return{image:e,startOffset:r,startLine:o,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:r+a-1,startLine:o,endLine:o,startColumn:s,endColumn:s+a-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}};ct.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";ct.NA=/NOT_APPLICABLE/;function Un(t){return xg(t)?t.LABEL:t.name}function xg(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var iL="parent",G0="categories",X0="label",H0="group",j0="push_mode",z0="pop_mode",q0="longer_alt",W0="line_breaks",V0="start_chars_hint";function gi(t){return oL(t)}function oL(t){let e=t.pattern,r={};if(r.name=t.name,e!==void 0&&(r.PATTERN=e),Object.hasOwn(t,iL))throw`The parent property is no longer supported.
92
- See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,G0)&&(r.CATEGORIES=t[G0]),Fn([r]),Object.hasOwn(t,X0)&&(r.LABEL=t[X0]),Object.hasOwn(t,H0)&&(r.GROUP=t[H0]),Object.hasOwn(t,z0)&&(r.POP_MODE=t[z0]),Object.hasOwn(t,j0)&&(r.PUSH_MODE=t[j0]),Object.hasOwn(t,q0)&&(r.LONGER_ALT=t[q0]),Object.hasOwn(t,W0)&&(r.LINE_BREAKS=t[W0]),Object.hasOwn(t,V0)&&(r.START_CHARS_HINT=t[V0]),r}var Yt=gi({name:"EOF",pattern:ct.NA});Fn([Yt]);function Bn(t,e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:o,startColumn:s,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Os(t,e){return Mn(t,e)}var Gn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${xg(t)?`--> ${Un(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let o="Expecting: ",a=`
91
+ `+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,l,u,f,d,p,m,y,T,_,v=e,E=v.length,S=0,D=0,N=this.hasCustom?0:Math.floor(e.length/10),M=new Array(N),B=[],G=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0,L=U0(this.emptyGroups),R=this.trackStartLines,O=this.config.lineTerminatorsPattern,$=0,b=[],A=[],I=[],F=[];Object.freeze(F);let j=!1,U=V=>{if(I.length===1&&V.tokenType.PUSH_MODE===void 0){let te=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(V);B.push({offset:V.startOffset,line:V.startLine,column:V.startColumn,length:V.image.length,message:te})}else{I.pop();let te=I.at(-1);b=this.patternIdxToConfig[te],A=this.charCodeToPatternIdxToConfig[te],$=b.length;let De=this.canModeBeOptimized[te]&&this.config.safeMode===!1;A&&De?j=!0:j=!1}};function W(V){I.push(V),A=this.charCodeToPatternIdxToConfig[V],b=this.patternIdxToConfig[V],$=b.length,$=b.length;let te=this.canModeBeOptimized[V]&&this.config.safeMode===!1;A&&te?j=!0:j=!1}W.call(this,r);let Z,pe=this.config.recoveryEnabled;for(;S<E;){c=null,f=-1;let V=v.charCodeAt(S),te;if(j){let Ne=un(V),Xe=A[Ne];te=Xe!==void 0?Xe:F}else te=b;let De=te.length;for(n=0;n<De;n++){Z=te[n];let Ne=Z.pattern;l=null;let Xe=Z.short;if(Xe!==!1?V===Xe&&(f=1,c=Ne):Z.isCustom===!0?(_=Ne.exec(v,S,M,L),_!==null?(c=_[0],f=c.length,_.payload!==void 0&&(l=_.payload)):c=null):(Ne.lastIndex=S,f=this.matchLength(Ne,e,S)),f!==-1){if(a=Z.longerAlt,a!==void 0){c=e.substring(S,S+f);let q=a.length;for(o=0;o<q;o++){let J=b[a[o]],re=J.pattern;if(u=null,J.isCustom===!0?(_=re.exec(v,S,M,L),_!==null?(s=_[0],_.payload!==void 0&&(u=_.payload)):s=null):(re.lastIndex=S,s=this.match(re,e,S)),s&&s.length>c.length){c=s,f=s.length,l=u,Z=J;break}}}break}}if(f!==-1){if(d=Z.group,d!==void 0&&(c=c!==null?c:e.substring(S,S+f),p=Z.tokenTypeIdx,m=this.createTokenInstance(c,S,p,Z.tokenType,G,oe,f),this.handlePayload(m,l),d===!1?D=this.addToken(M,D,m):L[d].push(m)),R===!0&&Z.canLineTerminator===!0){let Ne=0,Xe,q;O.lastIndex=0;do c=c!==null?c:e.substring(S,S+f),Xe=O.test(c),Xe===!0&&(q=O.lastIndex-1,Ne++);while(Xe===!0);Ne!==0?(G=G+Ne,oe=f-q,this.updateTokenEndLineColumnLocation(m,d,q,Ne,G,oe,f)):oe=this.computeNewColumn(oe,f)}else oe=this.computeNewColumn(oe,f);S=S+f,this.handleModes(Z,U,W,m)}else{let Ne=S,Xe=G,q=oe,J=pe===!1;for(;J===!1&&S<E;)for(S++,i=0;i<$;i++){let re=b[i],C=re.pattern,be=re.short;if(be!==!1?v.charCodeAt(S)===be&&(J=!0):re.isCustom===!0?J=C.exec(v,S,M,L)!==null:(C.lastIndex=S,J=C.exec(e)!==null),J===!0)break}if(y=S-Ne,oe=this.computeNewColumn(oe,y),T=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(v,Ne,y,Xe,q,I.at(-1)),B.push({offset:Ne,line:Xe,column:q,length:y,message:T}),pe===!1)break}}return this.hasCustom||(M.length=D),{tokens:M,groups:L,errors:B}}handleModes(e,r,n,i){if(e.pop===!0){let o=e.push;r(i),o!==void 0&&n.call(this,o)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,o,s,a){let c,l;r!==void 0&&(c=n===a-1,l=c?-1:0,i===1&&c===!0||(e.endLine=o+l,e.endColumn=s-1+-l))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,o,s){return{image:e,startOffset:r,startLine:o,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:r+a-1,startLine:o,endLine:o,startColumn:s,endColumn:s+a-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}};ct.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";ct.NA=/NOT_APPLICABLE/;function $n(t){return Rg(t)?t.LABEL:t.name}function Rg(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var EL="parent",Y0="categories",K0="label",Z0="group",J0="push_mode",Q0="pop_mode",ev="longer_alt",tv="line_breaks",rv="start_chars_hint";function xi(t){return vL(t)}function vL(t){let e=t.pattern,r={};if(r.name=t.name,e!==void 0&&(r.PATTERN=e),Object.hasOwn(t,EL))throw`The parent property is no longer supported.
92
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,Y0)&&(r.CATEGORIES=t[Y0]),Dn([r]),Object.hasOwn(t,K0)&&(r.LABEL=t[K0]),Object.hasOwn(t,Z0)&&(r.GROUP=t[Z0]),Object.hasOwn(t,Q0)&&(r.POP_MODE=t[Q0]),Object.hasOwn(t,J0)&&(r.PUSH_MODE=t[J0]),Object.hasOwn(t,ev)&&(r.LONGER_ALT=t[ev]),Object.hasOwn(t,tv)&&(r.LINE_BREAKS=t[tv]),Object.hasOwn(t,rv)&&(r.START_CHARS_HINT=t[rv]),r}var Vt=xi({name:"EOF",pattern:ct.NA});Dn([Vt]);function Mn(t,e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:o,startColumn:s,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function $s(t,e){return Ln(t,e)}var Fn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${Rg(t)?`--> ${$n(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let o="Expecting: ",a=`
93
93
  but found: '`+e[0].image+"'";if(n)return o+n+a;{let f=`one of these possible Token sequences:
94
- ${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>Un(p)).join(", ")}]`).map((d,p)=>` ${p+1}. ${d}`).join(`
94
+ ${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>$n(p)).join(", ")}]`).map((d,p)=>` ${p+1}. ${d}`).join(`
95
95
  `)}`;return o+f+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=`
96
96
  but found: '`+e[0].image+"'";if(r)return i+r+s;{let c=`expecting at least one iteration which starts with one of these possible Token sequences::
97
- <${t.map(l=>`[${l.map(u=>Un(u)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Gn);var Y0={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
98
- inside top level rule: ->`+t.name+"<-"}},Xr={buildDuplicateFoundError(t,e){function r(u){return u instanceof Te?u.terminalType.name:u instanceof Be?u.nonTerminalName:""}let n=t.name,i=e[0],o=i.idx,s=nr(i),a=r(i),c=o>0,l=`->${s}${c?o:""}<- ${a?`with argument: ->${a}<-`:""}
97
+ <${t.map(l=>`[${l.map(u=>$n(u)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Fn);var nv={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
98
+ inside top level rule: ->`+t.name+"<-"}},Gr={buildDuplicateFoundError(t,e){function r(u){return u instanceof Te?u.terminalType.name:u instanceof Be?u.nonTerminalName:""}let n=t.name,i=e[0],o=i.idx,s=rr(i),a=r(i),c=o>0,l=`->${s}${c?o:""}<- ${a?`with argument: ->${a}<-`:""}
99
99
  appears more than once (${e.length} times) in the top level rule: ->${n}<-.
100
100
  For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
101
101
  `;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
@@ -103,16 +103,16 @@ inside top level rule: ->`+t.name+"<-"}},Xr={buildDuplicateFoundError(t,e){funct
103
103
  The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
104
104
  To resolve this make sure each Terminal and Non-Terminal names are unique
105
105
  This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
106
- and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=t.prefixPath.map(i=>Un(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
106
+ and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=t.prefixPath.map(i=>$n(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
107
107
  in <OR${r}> inside <${t.topLevelRule.name}> Rule,
108
108
  <${e}> may appears as a prefix path in all these alternatives.
109
109
  See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
110
110
  For Further details.`},buildAlternationAmbiguityError(t){let e=t.alternation.idx===0?"":t.alternation.idx,r=t.prefixPath.length===0,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
111
111
  `;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
112
112
  Only the last alternative may be empty.
113
- `;else{let i=t.prefixPath.map(o=>Un(o)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
113
+ `;else{let i=t.prefixPath.map(o=>$n(o)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
114
114
  `}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
115
- For Further details.`,n},buildEmptyRepetitionError(t){let e=nr(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
115
+ For Further details.`,n},buildEmptyRepetitionError(t){let e=rr(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
116
116
  This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
117
117
  Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
118
118
  <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
@@ -121,44 +121,44 @@ rule: <${e}> can be invoked from itself (directly or indirectly)
121
121
  without consuming any Tokens. The grammar path that causes this is:
122
122
  ${n}
123
123
  To fix this refactor your grammar to remove the left recursion.
124
- see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Wt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function K0(t,e){let r=new Tg(t,e);return r.resolveRefs(),r.errors}var Tg=class extends Vt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:It.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var _g=class extends $n{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Xf=class extends _g{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new Qe({definition:i});this.possibleTokTypes=Eo(o),this.found=!0}}},Ls=class extends $n{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Hf=class extends Ls{walkMany(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Vc=class extends Ls{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},jf=class extends Ls{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},Yc=class extends Ls{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function zf(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=zf(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof Qe)return s(a.definition);if(a instanceof Be)return s(a.definition);if(a instanceof Ge)n=s(a.definition);else if(a instanceof et){let c=a.definition.concat([new Re({definition:a.definition})]);return s(c)}else if(a instanceof tt){let c=[new Qe({definition:a.definition}),new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof Ve){let c=a.definition.concat([new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof Re){let c=a.definition.concat([new Re({definition:a.definition})]);n=s(c)}else{if(a instanceof Ye)return a.definition.forEach(c=>{c.definition.length!==0&&(n=s(c.definition))}),n;if(a instanceof Te)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function Z0(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,l=c-n-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){let d=f.pop();if(d===s){a&&f.at(-1).idx<=l&&f.pop();continue}let p=d.def,m=d.idx,g=d.ruleStack,v=d.occurrenceStack;if(p.length===0)continue;let T=p[0];if(T===i){let _={idx:m,def:p.slice(1),ruleStack:g.slice(0,-1),occurrenceStack:v.slice(0,-1)};f.push(_)}else if(T instanceof Te)if(m<c-1){let _=m+1,E=e[_];if(r(E,T.terminalType)){let I={idx:_,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(I)}}else if(m===c-1)u.push({nextTokenType:T.terminalType,nextTokenOccurrence:T.idx,ruleStack:g,occurrenceStack:v}),a=!0;else throw Error("non exhaustive match");else if(T instanceof Be){let _=[...g];_.push(T.nonTerminalName);let E=[...v];E.push(T.idx);let I={idx:m,def:T.definition.concat(o,p.slice(1)),ruleStack:_,occurrenceStack:E};f.push(I)}else if(T instanceof Ge){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v};f.push(E)}else if(T instanceof et){let _=new Re({definition:T.definition,idx:T.idx}),E=T.definition.concat([_],p.slice(1)),I={idx:m,def:E,ruleStack:g,occurrenceStack:v};f.push(I)}else if(T instanceof tt){let _=new Te({terminalType:T.separator}),E=new Re({definition:[_].concat(T.definition),idx:T.idx}),I=T.definition.concat([E],p.slice(1)),D={idx:m,def:I,ruleStack:g,occurrenceStack:v};f.push(D)}else if(T instanceof Ve){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E=new Te({terminalType:T.separator}),I=new Re({definition:[E].concat(T.definition),idx:T.idx}),D=T.definition.concat([I],p.slice(1)),k={idx:m,def:D,ruleStack:g,occurrenceStack:v};f.push(k)}else if(T instanceof Re){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E=new Re({definition:T.definition,idx:T.idx}),I=T.definition.concat([E],p.slice(1)),D={idx:m,def:I,ruleStack:g,occurrenceStack:v};f.push(D)}else if(T instanceof Ye)for(let _=T.definition.length-1;_>=0;_--){let E=T.definition[_],I={idx:m,def:E.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v};f.push(I),f.push(s)}else if(T instanceof Qe)f.push({idx:m,def:T.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v});else if(T instanceof Wt)f.push(sL(T,m,g,v));else throw Error("non exhaustive match")}return u}function sL(t,e,r,n){let i=[...r];i.push(t.name);let o=[...n];return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var lt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(lt||(lt={}));function Kc(t){if(t instanceof Ge||t==="Option")return lt.OPTION;if(t instanceof Re||t==="Repetition")return lt.REPETITION;if(t instanceof et||t==="RepetitionMandatory")return lt.REPETITION_MANDATORY;if(t instanceof tt||t==="RepetitionMandatoryWithSeparator")return lt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Ve||t==="RepetitionWithSeparator")return lt.REPETITION_WITH_SEPARATOR;if(t instanceof Ye||t==="Alternation")return lt.ALTERNATION;throw Error("non exhaustive match")}function Wf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=Kc(n);return o===lt.ALTERNATION?Ds(e,r,i):$s(e,r,o,i)}function Q0(t,e,r,n,i,o){let s=Ds(t,e,r),a=ov(s)?Ps:Mn;return o(s,n,a,i)}function ev(t,e,r,n,i,o){let s=$s(t,e,i,r),a=ov(s)?Ps:Mn;return o(s[0],a,n)}function tv(t,e,r,n){let i=t.length,o=t.every(s=>s.every(a=>a.length===1));if(e)return function(s){let a=s.map(c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],u=l.length,f=a[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<u;d++){let p=l[d],m=p.length;for(let g=0;g<m;g++){let v=this.LA_FAST(g+1);if(r(v,p[g])===!1)continue e}return c}}};if(o&&!n){let a=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(d=>{Object.hasOwn(c,d)||(c[d]=u)})}),c),{});return function(){let c=this.LA_FAST(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let l=0;l<c;l++){let u=a[l],f=u.length;for(let d=0;d<f;d++){let p=this.LA_FAST(d+1);if(r(p,u[d])===!1)continue e}return s}}}}function rv(t,e,r){let n=t.every(o=>o.length===1),i=t.length;if(n&&!r){let o=t.flat();if(o.length===1&&o[0].categoryMatches.length===0){let a=o[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===a}}else{let s=o.reduce((a,c,l)=>(a[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{a[u]=!0}),a),[]);return function(){let a=this.LA_FAST(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let l=this.LA_FAST(c+1);if(e(l,s[c])===!1)continue e}return!0}return!1}}var vg=class extends $n{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,lt.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,lt.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},qf=class extends Vt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,lt.OPTION)}visitRepetition(e){this.checkIsTarget(e,lt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,lt.ALTERNATION)}};function J0(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function Eg(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function aL(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function nv(t,e){let r=t.map(s=>zf([s],1)),n=J0(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{Eg(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=J0(a.length);for(let c=0;c<a.length;c++){let l=a[c];for(let u=0;u<l.length;u++){let f=l[u].partialPath,d=l[u].suffixDef,p=Eg(f);if(aL(i,p,c)||d.length===0||f.length===e){let g=n[c];if(Vf(g,f)===!1){g.push(f);for(let v=0;v<p.length;v++){let T=p[v];i[c][T]=!0}}}else{let g=zf(d,s+1,f);o[c]=o[c].concat(g),g.forEach(v=>{Eg(v.partialPath).forEach(_=>{i[c][_]=!0})})}}}}return n}function Ds(t,e,r,n){let i=new qf(t,lt.ALTERNATION,n);return e.accept(i),nv(i.result,r)}function $s(t,e,r,n){let i=new qf(t,r);e.accept(i);let o=i.result,a=new vg(e,t,r).startWalking(),c=new Qe({definition:o}),l=new Qe({definition:a});return nv([c,l],n)}function Vf(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function iv(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function ov(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function sv(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:It.CUSTOM_LOOKAHEAD_VALIDATION},r))}function av(t,e,r,n){let i=t.flatMap(c=>cL(c,r)),o=hL(t,e,r),s=t.flatMap(c=>fL(c,r)),a=t.flatMap(c=>uL(c,t,n,r));return i.concat(o,s,a)}function cL(t,e){let r=new Rg;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,lL),o=Object.fromEntries(Object.entries(i).filter(([a,c])=>c.length>1));return Object.values(o).map(a=>{let c=a[0],l=e.buildDuplicateFoundError(t,a),u=nr(c),f={message:l,type:It.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=cv(c);return d&&(f.parameter=d),f})}function lL(t){return`${nr(t)}_#_${t.idx}_#_${cv(t)}`}function cv(t){return t instanceof Te?t.terminalType.name:t instanceof Be?t.nonTerminalName:""}var Rg=class extends Vt{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 uL(t,e,r,n){let i=[];if(e.reduce((s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:It.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function lv(t,e,r){let n=[],i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:It.INVALID_RULE_OVERRIDE,ruleName:t})),n}function wg(t,e,r,n=[]){let i=[],o=Yf(e.definition);if(o.length===0)return[];{let s=t.name;o.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:It.LEFT_RECURSION,ruleName:s});let c=n.concat([t]),u=o.filter(f=>!c.includes(f)).flatMap(f=>{let d=[...n];return d.push(f),wg(t,f,r,d)});return i.concat(u)}}function Yf(t){let e=[];if(t.length===0)return e;let r=t[0];if(r instanceof Be)e.push(r.referencedRule);else if(r instanceof Qe||r instanceof Ge||r instanceof et||r instanceof tt||r instanceof Ve||r instanceof Re)e=e.concat(Yf(r.definition));else if(r instanceof Ye)e=r.definition.map(o=>Yf(o.definition)).flat();else if(!(r instanceof Te))throw Error("non exhaustive match");let n=_o(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(Yf(o))}else return e}var Zc=class extends Vt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function uv(t,e){let r=new Zc;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>Z0([a],[],Mn,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:It.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]))}function fv(t,e,r){let n=new Zc;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{let a=s.idx,c=s.maxLookahead||e,l=Ds(a,t,c,s),u=dL(l,s,t,r),f=pL(l,s,t,r);return u.concat(f)})}var bg=class extends Vt{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 fL(t,e){let r=new Zc;return t.accept(r),r.alternations.flatMap(o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:It.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function dv(t,e,r){let n=[];return t.forEach(i=>{let o=new bg;i.accept(o),o.allProductions.forEach(a=>{let c=Kc(a),l=a.maxLookahead||e,u=a.idx;if($s(u,i,c,l)[0].flat().length===0){let p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:p,type:It.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function dL(t,e,r,n){let i=[];return t.reduce((a,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{let f=[l];t.forEach((d,p)=>{l!==p&&Vf(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!Vf(i,u)&&(i.push(u),a.push({alts:f,path:u}))}),a),[]).map(a=>{let c=a.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:It.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function pL(t,e,r,n){let i=t.reduce((s,a,c)=>{let l=a.map(u=>({idx:c,path:u}));return s.concat(l)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,l=s.path;return i.filter(d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<c&&iv(d.path,l)).map(d=>{let p=[d.idx+1,c+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:It.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function hL(t,e,r){let n=[],i=e.map(o=>o.name);return t.forEach(o=>{let s=o.name;if(i.includes(s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:It.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function pv(t){let e=Object.assign({errMsgProvider:Y0},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),K0(r,e.errMsgProvider)}function hv(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Xr;return av(t.rules,t.tokenTypes,r,t.grammarName)}var mv="MismatchedTokenException",gv="NoViableAltException",yv="EarlyExitException",xv="NotAllInputParsedException",Tv=[mv,gv,yv,xv];Object.freeze(Tv);function yi(t){return Tv.includes(t.name)}var Ms=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Ro=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=mv}},Jc=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=gv}},Qc=class extends Ms{constructor(e,r){super(e,r),this.name=xv}},el=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=yv}};var Ag={},Ig="InRuleRecoveryException",Sg=class extends Error{constructor(e){super(e),this.name=Ig}},Kf=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Kt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=mL)}getTokenToInsert(e){let r=Bn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,l=this.LA_FAST(1),u=this.LA_FAST(1),f=()=>{let d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:d,ruleName:this.getCurrRuleFullName()}),m=new Ro(p,l,this.LA(0));m.resyncedTokens=a.slice(0,-1),this.SAVE_ERROR(m)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(u,o)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){let r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Xf(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Sg("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;let n=this.LA_FAST(1);return r.find(o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA_FAST(1),n=2;for(;;){let i=e.find(o=>Os(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return Ag;let e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let o=0;o<n;o++)o===0?i[o]=Ag:i[o]={ruleName:this.shortRuleNameToFullName(e[o]),idxInCallingRule:r[o],inRule:this.shortRuleNameToFullName(e[o-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===Ag)return[Yt];let r=e.ruleName+e.idxInCallingRule+$f+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Yt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}};function mL(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];c=new o(p,i).startWalking(),this.firstAfterRepMap[a]=c}let l=c.token,u=c.occurrence,f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Yt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function Zf(t,e,r){return r|e|t}var Xn=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Kt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(r.length===0){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>wg(r,r,Xr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>uv(r,Xr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>fv(n,r,Xr))}validateSomeNonEmptyLookaheadPath(e,r){return dv(e,r,Xr)}buildLookaheadForAlternation(e){return Q0(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,tv)}buildLookaheadForOptional(e){return ev(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Kc(e.prodType),rv)}};var Qf=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Kt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Kt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Xn({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=gL(r);n.forEach(l=>{let u=l.idx===0?"":l.idx;this.TRACE_INIT(`${nr(l)}${u}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Zf(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(d,f)})}),i.forEach(l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,nr(l))}),o.forEach(l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,nr(l))}),s.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,nr(l))}),a.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,nr(l))}),c.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,nr(l))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Zf(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return Zf(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},kg=class extends Vt{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)}},Jf=new kg;function gL(t){Jf.reset(),t.accept(Jf);let e=Jf.dslMethods;return Jf.reset(),e}function Cg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Og(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function _v(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function Ev(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var yL="name";function Lg(t,e){Object.defineProperty(t,yL,{enumerable:!1,configurable:!0,writable:!1,value:e})}function xL(t,e){let r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let l=s[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function vv(t,e){let r=function(){};Lg(r,t+"BaseSemantics");let n={visit:function(i,o){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,o)},validateVisitor:function(){let i=TL(this,e);if(i.length!==0){let o=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
124
+ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof qt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function iv(t,e){let r=new wg(t,e);return r.resolveRefs(),r.errors}var wg=class extends Wt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:It.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var bg=class extends On{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Vf=class extends bg{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new Ze({definition:i});this.possibleTokTypes=Ro(o),this.found=!0}}},Ms=class extends On{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Yf=class extends Ms{walkMany(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},tl=class extends Ms{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},Kf=class extends Ms{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},rl=class extends Ms{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function Zf(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=Zf(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof Ze)return s(a.definition);if(a instanceof Be)return s(a.definition);if(a instanceof Ge)n=s(a.definition);else if(a instanceof Je){let c=a.definition.concat([new Re({definition:a.definition})]);return s(c)}else if(a instanceof Qe){let c=[new Ze({definition:a.definition}),new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof qe){let c=a.definition.concat([new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof Re){let c=a.definition.concat([new Re({definition:a.definition})]);n=s(c)}else{if(a instanceof We)return a.definition.forEach(c=>{c.definition.length!==0&&(n=s(c.definition))}),n;if(a instanceof Te)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function ov(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,l=c-n-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){let d=f.pop();if(d===s){a&&f.at(-1).idx<=l&&f.pop();continue}let p=d.def,m=d.idx,y=d.ruleStack,T=d.occurrenceStack;if(p.length===0)continue;let _=p[0];if(_===i){let v={idx:m,def:p.slice(1),ruleStack:y.slice(0,-1),occurrenceStack:T.slice(0,-1)};f.push(v)}else if(_ instanceof Te)if(m<c-1){let v=m+1,E=e[v];if(r(E,_.terminalType)){let S={idx:v,def:p.slice(1),ruleStack:y,occurrenceStack:T};f.push(S)}}else if(m===c-1)u.push({nextTokenType:_.terminalType,nextTokenOccurrence:_.idx,ruleStack:y,occurrenceStack:T}),a=!0;else throw Error("non exhaustive match");else if(_ instanceof Be){let v=[...y];v.push(_.nonTerminalName);let E=[...T];E.push(_.idx);let S={idx:m,def:_.definition.concat(o,p.slice(1)),ruleStack:v,occurrenceStack:E};f.push(S)}else if(_ instanceof Ge){let v={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:T};f.push(v),f.push(s);let E={idx:m,def:_.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:T};f.push(E)}else if(_ instanceof Je){let v=new Re({definition:_.definition,idx:_.idx}),E=_.definition.concat([v],p.slice(1)),S={idx:m,def:E,ruleStack:y,occurrenceStack:T};f.push(S)}else if(_ instanceof Qe){let v=new Te({terminalType:_.separator}),E=new Re({definition:[v].concat(_.definition),idx:_.idx}),S=_.definition.concat([E],p.slice(1)),D={idx:m,def:S,ruleStack:y,occurrenceStack:T};f.push(D)}else if(_ instanceof qe){let v={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:T};f.push(v),f.push(s);let E=new Te({terminalType:_.separator}),S=new Re({definition:[E].concat(_.definition),idx:_.idx}),D=_.definition.concat([S],p.slice(1)),N={idx:m,def:D,ruleStack:y,occurrenceStack:T};f.push(N)}else if(_ instanceof Re){let v={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:T};f.push(v),f.push(s);let E=new Re({definition:_.definition,idx:_.idx}),S=_.definition.concat([E],p.slice(1)),D={idx:m,def:S,ruleStack:y,occurrenceStack:T};f.push(D)}else if(_ instanceof We)for(let v=_.definition.length-1;v>=0;v--){let E=_.definition[v],S={idx:m,def:E.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:T};f.push(S),f.push(s)}else if(_ instanceof Ze)f.push({idx:m,def:_.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:T});else if(_ instanceof qt)f.push(RL(_,m,y,T));else throw Error("non exhaustive match")}return u}function RL(t,e,r,n){let i=[...r];i.push(t.name);let o=[...n];return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var lt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(lt||(lt={}));function nl(t){if(t instanceof Ge||t==="Option")return lt.OPTION;if(t instanceof Re||t==="Repetition")return lt.REPETITION;if(t instanceof Je||t==="RepetitionMandatory")return lt.REPETITION_MANDATORY;if(t instanceof Qe||t==="RepetitionMandatoryWithSeparator")return lt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof qe||t==="RepetitionWithSeparator")return lt.REPETITION_WITH_SEPARATOR;if(t instanceof We||t==="Alternation")return lt.ALTERNATION;throw Error("non exhaustive match")}function Qf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=nl(n);return o===lt.ALTERNATION?Fs(e,r,i):Us(e,r,o,i)}function av(t,e,r,n,i,o){let s=Fs(t,e,r),a=pv(s)?Ls:Ln;return o(s,n,a,i)}function cv(t,e,r,n,i,o){let s=Us(t,e,i,r),a=pv(s)?Ls:Ln;return o(s[0],a,n)}function lv(t,e,r,n){let i=t.length,o=t.every(s=>s.every(a=>a.length===1));if(e)return function(s){let a=s.map(c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],u=l.length,f=a[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<u;d++){let p=l[d],m=p.length;for(let y=0;y<m;y++){let T=this.LA_FAST(y+1);if(r(T,p[y])===!1)continue e}return c}}};if(o&&!n){let a=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(d=>{Object.hasOwn(c,d)||(c[d]=u)})}),c),{});return function(){let c=this.LA_FAST(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let l=0;l<c;l++){let u=a[l],f=u.length;for(let d=0;d<f;d++){let p=this.LA_FAST(d+1);if(r(p,u[d])===!1)continue e}return s}}}}function uv(t,e,r){let n=t.every(o=>o.length===1),i=t.length;if(n&&!r){let o=t.flat();if(o.length===1&&o[0].categoryMatches.length===0){let a=o[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===a}}else{let s=o.reduce((a,c,l)=>(a[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{a[u]=!0}),a),[]);return function(){let a=this.LA_FAST(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let l=this.LA_FAST(c+1);if(e(l,s[c])===!1)continue e}return!0}return!1}}var Ig=class extends On{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,lt.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,lt.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},Jf=class extends Wt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,lt.OPTION)}visitRepetition(e){this.checkIsTarget(e,lt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,lt.ALTERNATION)}};function sv(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function Ag(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function wL(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function fv(t,e){let r=t.map(s=>Zf([s],1)),n=sv(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{Ag(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=sv(a.length);for(let c=0;c<a.length;c++){let l=a[c];for(let u=0;u<l.length;u++){let f=l[u].partialPath,d=l[u].suffixDef,p=Ag(f);if(wL(i,p,c)||d.length===0||f.length===e){let y=n[c];if(ed(y,f)===!1){y.push(f);for(let T=0;T<p.length;T++){let _=p[T];i[c][_]=!0}}}else{let y=Zf(d,s+1,f);o[c]=o[c].concat(y),y.forEach(T=>{Ag(T.partialPath).forEach(v=>{i[c][v]=!0})})}}}}return n}function Fs(t,e,r,n){let i=new Jf(t,lt.ALTERNATION,n);return e.accept(i),fv(i.result,r)}function Us(t,e,r,n){let i=new Jf(t,r);e.accept(i);let o=i.result,a=new Ig(e,t,r).startWalking(),c=new Ze({definition:o}),l=new Ze({definition:a});return fv([c,l],n)}function ed(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function dv(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function pv(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function hv(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:It.CUSTOM_LOOKAHEAD_VALIDATION},r))}function mv(t,e,r,n){let i=t.flatMap(c=>bL(c,r)),o=CL(t,e,r),s=t.flatMap(c=>SL(c,r)),a=t.flatMap(c=>IL(c,t,n,r));return i.concat(o,s,a)}function bL(t,e){let r=new Sg;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,AL),o=Object.fromEntries(Object.entries(i).filter(([a,c])=>c.length>1));return Object.values(o).map(a=>{let c=a[0],l=e.buildDuplicateFoundError(t,a),u=rr(c),f={message:l,type:It.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=gv(c);return d&&(f.parameter=d),f})}function AL(t){return`${rr(t)}_#_${t.idx}_#_${gv(t)}`}function gv(t){return t instanceof Te?t.terminalType.name:t instanceof Be?t.nonTerminalName:""}var Sg=class extends Wt{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 IL(t,e,r,n){let i=[];if(e.reduce((s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:It.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function yv(t,e,r){let n=[],i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:It.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Ng(t,e,r,n=[]){let i=[],o=td(e.definition);if(o.length===0)return[];{let s=t.name;o.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:It.LEFT_RECURSION,ruleName:s});let c=n.concat([t]),u=o.filter(f=>!c.includes(f)).flatMap(f=>{let d=[...n];return d.push(f),Ng(t,f,r,d)});return i.concat(u)}}function td(t){let e=[];if(t.length===0)return e;let r=t[0];if(r instanceof Be)e.push(r.referencedRule);else if(r instanceof Ze||r instanceof Ge||r instanceof Je||r instanceof Qe||r instanceof qe||r instanceof Re)e=e.concat(td(r.definition));else if(r instanceof We)e=r.definition.map(o=>td(o.definition)).flat();else if(!(r instanceof Te))throw Error("non exhaustive match");let n=vo(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(td(o))}else return e}var il=class extends Wt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function xv(t,e){let r=new il;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>ov([a],[],Ln,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:It.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]))}function Tv(t,e,r){let n=new il;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{let a=s.idx,c=s.maxLookahead||e,l=Fs(a,t,c,s),u=kL(l,s,t,r),f=NL(l,s,t,r);return u.concat(f)})}var kg=class extends Wt{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 SL(t,e){let r=new il;return t.accept(r),r.alternations.flatMap(o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:It.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function _v(t,e,r){let n=[];return t.forEach(i=>{let o=new kg;i.accept(o),o.allProductions.forEach(a=>{let c=nl(a),l=a.maxLookahead||e,u=a.idx;if(Us(u,i,c,l)[0].flat().length===0){let p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:p,type:It.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function kL(t,e,r,n){let i=[];return t.reduce((a,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{let f=[l];t.forEach((d,p)=>{l!==p&&ed(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!ed(i,u)&&(i.push(u),a.push({alts:f,path:u}))}),a),[]).map(a=>{let c=a.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:It.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function NL(t,e,r,n){let i=t.reduce((s,a,c)=>{let l=a.map(u=>({idx:c,path:u}));return s.concat(l)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,l=s.path;return i.filter(d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<c&&dv(d.path,l)).map(d=>{let p=[d.idx+1,c+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:It.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function CL(t,e,r){let n=[],i=e.map(o=>o.name);return t.forEach(o=>{let s=o.name;if(i.includes(s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:It.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Ev(t){let e=Object.assign({errMsgProvider:nv},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),iv(r,e.errMsgProvider)}function vv(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Gr;return mv(t.rules,t.tokenTypes,r,t.grammarName)}var Rv="MismatchedTokenException",wv="NoViableAltException",bv="EarlyExitException",Av="NotAllInputParsedException",Iv=[Rv,wv,bv,Av];Object.freeze(Iv);function Ti(t){return Iv.includes(t.name)}var Bs=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},bo=class extends Bs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Rv}},ol=class extends Bs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=wv}},sl=class extends Bs{constructor(e,r){super(e,r),this.name=Av}},al=class extends Bs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=bv}};var Cg={},Og="InRuleRecoveryException",Pg=class extends Error{constructor(e){super(e),this.name=Og}},rd=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Yt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=PL)}getTokenToInsert(e){let r=Mn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,l=this.LA_FAST(1),u=this.LA_FAST(1),f=()=>{let d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:d,ruleName:this.getCurrRuleFullName()}),m=new bo(p,l,this.LA(0));m.resyncedTokens=a.slice(0,-1),this.SAVE_ERROR(m)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(u,o)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){let r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Vf(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Pg("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;let n=this.LA_FAST(1);return r.find(o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA_FAST(1),n=2;for(;;){let i=e.find(o=>$s(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return Cg;let e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let o=0;o<n;o++)o===0?i[o]=Cg:i[o]={ruleName:this.shortRuleNameToFullName(e[o]),idxInCallingRule:r[o],inRule:this.shortRuleNameToFullName(e[o-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===Cg)return[Vt];let r=e.ruleName+e.idxInCallingRule+Xf+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Vt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}};function PL(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];c=new o(p,i).startWalking(),this.firstAfterRepMap[a]=c}let l=c.token,u=c.occurrence,f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Vt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function nd(t,e,r){return r|e|t}var Un=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Yt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(r.length===0){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>Ng(r,r,Gr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>xv(r,Gr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Tv(n,r,Gr))}validateSomeNonEmptyLookaheadPath(e,r){return _v(e,r,Gr)}buildLookaheadForAlternation(e){return av(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,lv)}buildLookaheadForOptional(e){return cv(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,nl(e.prodType),uv)}};var od=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Yt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Yt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Un({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=OL(r);n.forEach(l=>{let u=l.idx===0?"":l.idx;this.TRACE_INIT(`${rr(l)}${u}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=nd(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(d,f)})}),i.forEach(l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,rr(l))}),o.forEach(l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,rr(l))}),s.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,rr(l))}),a.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,rr(l))}),c.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,rr(l))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=nd(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return nd(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Lg=class extends Wt{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)}},id=new Lg;function OL(t){id.reset(),t.accept(id);let e=id.dslMethods;return id.reset(),e}function Mg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Fg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function Sv(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function kv(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var LL="name";function Ug(t,e){Object.defineProperty(t,LL,{enumerable:!1,configurable:!0,writable:!1,value:e})}function DL(t,e){let r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let l=s[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function Nv(t,e){let r=function(){};Ug(r,t+"BaseSemantics");let n={visit:function(i,o){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,o)},validateVisitor:function(){let i=$L(this,e);if(i.length!==0){let o=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
125
125
  ${o.join(`
126
126
 
127
127
  `).replace(/\n/g,`
128
- `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Rv(t,e,r){let n=function(){};Lg(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=xL}),n.prototype=i,n.prototype.constructor=n,n}var Dg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Dg||(Dg={}));function TL(t,e){return _L(t,e)}function _L(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Dg.MISSING_METHOD,methodName:i})).filter(Boolean)}var nd=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Kt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Og,this.setNodeLocationFromNode=Og,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Cg,this.setNodeLocationFromNode=Cg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];_v(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Ev(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=vv(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=Rv(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}};var id=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Hn}LA_FAST(e){let r=this.currIdx+e;return this.tokVector[r]}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Hn:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}};var od=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Fs){if(this.definedRulesNames.includes(e)){let s={message:Xr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:It.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Fs){let i=lv(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){var n;let i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);let o=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(yi(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Df(Object.values(this.gastProductionsCache))}};var sd=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ps,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
128
+ `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Cv(t,e,r){let n=function(){};Ug(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=DL}),n.prototype=i,n.prototype.constructor=n,n}var Bg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Bg||(Bg={}));function $L(t,e){return ML(t,e)}function ML(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Bg.MISSING_METHOD,methodName:i})).filter(Boolean)}var ld=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Yt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Fg,this.setNodeLocationFromNode=Fg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Mg,this.setNodeLocationFromNode=Mg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Sv(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];kv(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=Nv(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=Cv(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}};var ud=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Bn}LA_FAST(e){let r=this.currIdx+e;return this.tokVector[r]}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Bn:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}};var fd=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Gs){if(this.definedRulesNames.includes(e)){let s={message:Gr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:It.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Gs){let i=yv(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){var n;let i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);let o=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(Ti(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Gf(Object.values(this.gastProductionsCache))}};var dd=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ls,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
129
129
  See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
130
130
  For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty.
131
131
  Note that the first argument for the parser constructor
132
132
  is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
133
133
  See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
134
- For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((o,s)=>(o[s.name]=s,o),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(B0)){let o=Object.values(e.modes).flat(),s=[...new Set(o)];this.tokensMap=s.reduce((a,c)=>(a[c.name]=c,a),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Yt;let i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(o=>{var s;return((s=o.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?Ps:Mn,Fn(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
135
- Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Fs.resyncEnabled,o=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Fs.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let a;return this.outputCst===!0?a=function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}}:a=function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...f){this.onBeforeParse(e);try{return a.apply(this,f)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:r,coreRule:a})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK_IDX===0,o=r&&!this.isBackTracking()&&this.recoveryEnabled;if(yi(e)){let s=e;if(o){let a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,s.partialCstResult=c}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof e!="function"){o=e.DEF;let s=e.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=e;if(i.call(this)===!0)return o.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let s=r.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=r;if(i.call(this)===!0){let s=this.doSingleRepetition(o);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,jf)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Yc],a,1536,e,Yc)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let a=r.GATE;if(a!==void 0){let c=i;i=()=>a.call(this)&&c.call(this)}}else o=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,Hf,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Vc],a,1280,e,Vc)}}repetitionSepSecondInternal(e,r,n,i,o){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,o],n,1536,e,o)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{let o=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,o),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(o){throw this.subruleInternalError(o,n,e.ruleName)}}subruleInternalError(e,r,n){throw yi(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let o=this.LA_FAST(1);this.tokenMatcher(o,e)===!0?(this.consumeToken(),i=o):this.consumeInternalError(e,o,n)}catch(o){i=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,o=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:o,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Ro(i,r,o))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(o){throw o.name===Ig?n:o}}else throw n}saveRecogState(){let e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);let r=e.RULE_STACK;for(let n=0;n<r.length;n++)this.RULE_STACK[n]=r[n];this.RULE_STACK_IDX=r.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Yt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r<this.maxLookahead+1;r++)this.tokVector.push(Hn)}onAfterParse(e){if(this.isAtEndOfInput()===!1){let r=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:r,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Qc(n,r))}for(;this.tokVector.at(-1)===Hn;)this.tokVector.pop()}};var ad=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Kt.errorMessageProvider}SAVE_ERROR(e){if(yi(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),o=this.getGAstProductions()[i],a=$s(e,o,r,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new el(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=Ds(e,i,this.maxLookahead),s=[];for(let l=1;l<=this.maxLookahead;l++)s.push(this.LA(l));let a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:o,actual:s,previous:a,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Jc(c,this.LA(1),a))}};var ud={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ud);var bv=!0,wv=Math.pow(2,8)-1,Sv=gi({name:"RECORDING_PHASE_TOKEN",pattern:ct.NA});Fn([Sv]);var Iv=Bn(Sv,`This IToken indicates the Parser is in Recording Phase
136
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Iv);var vL={name:`This CSTNode indicates the Parser is in Recording Phase
137
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},cd=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Hn}topLevelRuleRecord(e,r){try{let n=new Wt({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
134
+ For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((o,s)=>(o[s.name]=s,o),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(V0)){let o=Object.values(e.modes).flat(),s=[...new Set(o)];this.tokensMap=s.reduce((a,c)=>(a[c.name]=c,a),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Vt;let i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(o=>{var s;return((s=o.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?Ls:Ln,Dn(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
135
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Gs.resyncEnabled,o=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Gs.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let a;return this.outputCst===!0?a=function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}}:a=function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...f){this.onBeforeParse(e);try{return a.apply(this,f)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:r,coreRule:a})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK_IDX===0,o=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Ti(e)){let s=e;if(o){let a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,s.partialCstResult=c}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof e!="function"){o=e.DEF;let s=e.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=e;if(i.call(this)===!0)return o.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let s=r.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=r;if(i.call(this)===!0){let s=this.doSingleRepetition(o);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,Kf)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,rl],a,1536,e,rl)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let a=r.GATE;if(a!==void 0){let c=i;i=()=>a.call(this)&&c.call(this)}}else o=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,Yf,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,tl],a,1280,e,tl)}}repetitionSepSecondInternal(e,r,n,i,o){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,o],n,1536,e,o)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{let o=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,o),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(o){throw this.subruleInternalError(o,n,e.ruleName)}}subruleInternalError(e,r,n){throw Ti(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let o=this.LA_FAST(1);this.tokenMatcher(o,e)===!0?(this.consumeToken(),i=o):this.consumeInternalError(e,o,n)}catch(o){i=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,o=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:o,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new bo(i,r,o))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(o){throw o.name===Og?n:o}}else throw n}saveRecogState(){let e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);let r=e.RULE_STACK;for(let n=0;n<r.length;n++)this.RULE_STACK[n]=r[n];this.RULE_STACK_IDX=r.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Vt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r<this.maxLookahead+1;r++)this.tokVector.push(Bn)}onAfterParse(e){if(this.isAtEndOfInput()===!1){let r=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:r,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new sl(n,r))}for(;this.tokVector.at(-1)===Bn;)this.tokVector.pop()}};var pd=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Yt.errorMessageProvider}SAVE_ERROR(e){if(Ti(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),o=this.getGAstProductions()[i],a=Us(e,o,r,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new al(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=Fs(e,i,this.maxLookahead),s=[];for(let l=1;l<=this.maxLookahead;l++)s.push(this.LA(l));let a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:o,actual:s,previous:a,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ol(c,this.LA(1),a))}};var gd={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(gd);var Pv=!0,Ov=Math.pow(2,8)-1,Dv=xi({name:"RECORDING_PHASE_TOKEN",pattern:ct.NA});Dn([Dv]);var $v=Mn(Dv,`This IToken indicates the Parser is in Recording Phase
136
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze($v);var UL={name:`This CSTNode indicates the Parser is in Recording Phase
137
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},hd=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Bn}topLevelRuleRecord(e,r){try{let n=new qt({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
138
138
  This error was thrown during the "grammar recording phase" For more info see:
139
- https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return rl.call(this,Ge,e,r)}atLeastOneInternalRecord(e,r){rl.call(this,et,r,e)}atLeastOneSepFirstInternalRecord(e,r){rl.call(this,tt,r,e,bv)}manyInternalRecord(e,r){rl.call(this,Re,r,e)}manySepFirstInternalRecord(e,r){rl.call(this,Ve,r,e,bv)}orInternalRecord(e,r){return RL.call(this,e,r)}subruleInternalRecord(e,r,n){if(ld(r),!e||!Object.hasOwn(e,"ruleName")){let a=new Error(`<SUBRULE${Av(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
140
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=this.recordingProdStack.at(-1),o=e.ruleName,s=new Be({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?vL:ud}consumeInternalRecord(e,r,n){if(ld(r),!yg(e)){let s=new Error(`<CONSUME${Av(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
141
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=this.recordingProdStack.at(-1),o=new Te({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(o),Iv}};function rl(t,e,r,n=!1){ld(r);let i=this.recordingProdStack.at(-1),o=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),o.call(this),i.definition.push(s),this.recordingProdStack.pop(),ud}function RL(t,e){ld(e);let r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,o=new Ye({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);let s=i.some(a=>typeof a.GATE=="function");return o.hasPredicates=s,r.definition.push(o),i.forEach(a=>{let c=new Qe({definition:[]});o.definition.push(c),Object.hasOwn(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:Object.hasOwn(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),ud}function Av(t){return t===0?"":`${t}`}function ld(t){if(t<0||t>wv){let e=new Error(`Invalid DSL Method idx value: <${t}>
142
- Idx value must be a none negative value smaller than ${wv+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var fd=class{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Kt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:o}=jc(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,o}else return r()}};function kv(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let o=Object.getOwnPropertyDescriptor(n,i);o&&(o.get||o.set)?Object.defineProperty(t.prototype,i,o):t.prototype[i]=r.prototype[i]})})}var Hn=Bn(Yt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Hn);var Kt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Gn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Fs=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),It;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(It||(It={}));function dd(t=void 0){return function(){return t}}var nl=class t{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{zc(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{let s=this[i].originalGrammarAction,a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=pv({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){let i=hv({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Xr,grammarName:r}),o=sv({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,o)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=E0(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,o;(o=(i=this.lookaheadStrategy).initialize)===null||o===void 0||o.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
139
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return ll.call(this,Ge,e,r)}atLeastOneInternalRecord(e,r){ll.call(this,Je,r,e)}atLeastOneSepFirstInternalRecord(e,r){ll.call(this,Qe,r,e,Pv)}manyInternalRecord(e,r){ll.call(this,Re,r,e)}manySepFirstInternalRecord(e,r){ll.call(this,qe,r,e,Pv)}orInternalRecord(e,r){return BL.call(this,e,r)}subruleInternalRecord(e,r,n){if(md(r),!e||!Object.hasOwn(e,"ruleName")){let a=new Error(`<SUBRULE${Lv(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
140
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=this.recordingProdStack.at(-1),o=e.ruleName,s=new Be({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?UL:gd}consumeInternalRecord(e,r,n){if(md(r),!vg(e)){let s=new Error(`<CONSUME${Lv(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
141
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=this.recordingProdStack.at(-1),o=new Te({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(o),$v}};function ll(t,e,r,n=!1){md(r);let i=this.recordingProdStack.at(-1),o=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),o.call(this),i.definition.push(s),this.recordingProdStack.pop(),gd}function BL(t,e){md(e);let r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,o=new We({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);let s=i.some(a=>typeof a.GATE=="function");return o.hasPredicates=s,r.definition.push(o),i.forEach(a=>{let c=new Ze({definition:[]});o.definition.push(c),Object.hasOwn(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:Object.hasOwn(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),gd}function Lv(t){return t===0?"":`${t}`}function md(t){if(t<0||t>Ov){let e=new Error(`Invalid DSL Method idx value: <${t}>
142
+ Idx value must be a none negative value smaller than ${Ov+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var yd=class{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Yt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:o}=Zc(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,o}else return r()}};function Mv(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let o=Object.getOwnPropertyDescriptor(n,i);o&&(o.get||o.set)?Object.defineProperty(t.prototype,i,o):t.prototype[i]=r.prototype[i]})})}var Bn=Mn(Vt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Bn);var Yt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Fn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Gs=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),It;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(It||(It={}));function xd(t=void 0){return function(){return t}}var ul=class t{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{Jc(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{let s=this[i].originalGrammarAction,a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Ev({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){let i=vv({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Gr,grammarName:r}),o=hv({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,o)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=k0(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,o;(o=(i=this.lookaheadStrategy).initialize)===null||o===void 0||o.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
143
143
  ${e.join(`
144
144
  -------------------------------
145
145
  `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
146
146
  Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
147
147
  See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
148
- For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Kt.skipValidations}};nl.DEFER_DEFINITION_ERRORS_HANDLING=!1;kv(nl,[Kf,Qf,nd,id,sd,od,ad,cd,fd]);var il=class extends nl{constructor(e,r=Kt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function wL(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var pd=wL;function AL(){this.__data__=[],this.size=0}var Nv=AL;function SL(t,e){return t===e||t!==t&&e!==e}var hd=SL;function IL(t,e){for(var r=t.length;r--;)if(hd(t[r][0],e))return r;return-1}var xi=IL;var kL=Array.prototype,NL=kL.splice;function PL(t){var e=this.__data__,r=xi(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():NL.call(e,r,1),--this.size,!0}var Pv=PL;function CL(t){var e=this.__data__,r=xi(e,t);return r<0?void 0:e[r][1]}var Cv=CL;function OL(t){return xi(this.__data__,t)>-1}var Ov=OL;function LL(t,e){var r=this.__data__,n=xi(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Lv=LL;function Us(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Us.prototype.clear=Nv;Us.prototype.delete=Pv;Us.prototype.get=Cv;Us.prototype.has=Ov;Us.prototype.set=Lv;var Ti=Us;function DL(){this.__data__=new Ti,this.size=0}var Dv=DL;function $L(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var $v=$L;function ML(t){return this.__data__.get(t)}var Mv=ML;function FL(t){return this.__data__.has(t)}var Fv=FL;var UL=typeof global=="object"&&global&&global.Object===Object&&global,md=UL;var BL=typeof self=="object"&&self&&self.Object===Object&&self,GL=md||BL||Function("return this")(),Pt=GL;var XL=Pt.Symbol,Zt=XL;var Uv=Object.prototype,HL=Uv.hasOwnProperty,jL=Uv.toString,ol=Zt?Zt.toStringTag:void 0;function zL(t){var e=HL.call(t,ol),r=t[ol];try{t[ol]=void 0;var n=!0}catch{}var i=jL.call(t);return n&&(e?t[ol]=r:delete t[ol]),i}var Bv=zL;var qL=Object.prototype,WL=qL.toString;function VL(t){return WL.call(t)}var Gv=VL;var YL="[object Null]",KL="[object Undefined]",Xv=Zt?Zt.toStringTag:void 0;function ZL(t){return t==null?t===void 0?KL:YL:Xv&&Xv in Object(t)?Bv(t):Gv(t)}var Hr=ZL;function JL(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Bs=JL;var QL="[object AsyncFunction]",e1="[object Function]",t1="[object GeneratorFunction]",r1="[object Proxy]";function n1(t){if(!Bs(t))return!1;var e=Hr(t);return e==e1||e==t1||e==QL||e==r1}var gd=n1;var i1=Pt["__core-js_shared__"],yd=i1;var Hv=(function(){var t=/[^.]+$/.exec(yd&&yd.keys&&yd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function o1(t){return!!Hv&&Hv in t}var jv=o1;var s1=Function.prototype,a1=s1.toString;function c1(t){if(t!=null){try{return a1.call(t)}catch{}try{return t+""}catch{}}return""}var jn=c1;var l1=/[\\^$.*+?()[\]{}|]/g,u1=/^\[object .+?Constructor\]$/,f1=Function.prototype,d1=Object.prototype,p1=f1.toString,h1=d1.hasOwnProperty,m1=RegExp("^"+p1.call(h1).replace(l1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g1(t){if(!Bs(t)||jv(t))return!1;var e=gd(t)?m1:u1;return e.test(jn(t))}var zv=g1;function y1(t,e){return t?.[e]}var qv=y1;function x1(t,e){var r=qv(t,e);return zv(r)?r:void 0}var br=x1;var T1=br(Pt,"Map"),_i=T1;var _1=br(Object,"create"),zn=_1;function E1(){this.__data__=zn?zn(null):{},this.size=0}var Wv=E1;function v1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Vv=v1;var R1="__lodash_hash_undefined__",b1=Object.prototype,w1=b1.hasOwnProperty;function A1(t){var e=this.__data__;if(zn){var r=e[t];return r===R1?void 0:r}return w1.call(e,t)?e[t]:void 0}var Yv=A1;var S1=Object.prototype,I1=S1.hasOwnProperty;function k1(t){var e=this.__data__;return zn?e[t]!==void 0:I1.call(e,t)}var Kv=k1;var N1="__lodash_hash_undefined__";function P1(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=zn&&e===void 0?N1:e,this}var Zv=P1;function Gs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Gs.prototype.clear=Wv;Gs.prototype.delete=Vv;Gs.prototype.get=Yv;Gs.prototype.has=Kv;Gs.prototype.set=Zv;var Mg=Gs;function C1(){this.size=0,this.__data__={hash:new Mg,map:new(_i||Ti),string:new Mg}}var Jv=C1;function O1(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Qv=O1;function L1(t,e){var r=t.__data__;return Qv(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Ei=L1;function D1(t){var e=Ei(this,t).delete(t);return this.size-=e?1:0,e}var eR=D1;function $1(t){return Ei(this,t).get(t)}var tR=$1;function M1(t){return Ei(this,t).has(t)}var rR=M1;function F1(t,e){var r=Ei(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var nR=F1;function Xs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Xs.prototype.clear=Jv;Xs.prototype.delete=eR;Xs.prototype.get=tR;Xs.prototype.has=rR;Xs.prototype.set=nR;var bo=Xs;var U1=200;function B1(t,e){var r=this.__data__;if(r instanceof Ti){var n=r.__data__;if(!_i||n.length<U1-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new bo(n)}return r.set(t,e),this.size=r.size,this}var iR=B1;function Hs(t){var e=this.__data__=new Ti(t);this.size=e.size}Hs.prototype.clear=Dv;Hs.prototype.delete=$v;Hs.prototype.get=Mv;Hs.prototype.has=Fv;Hs.prototype.set=iR;var js=Hs;var G1="__lodash_hash_undefined__";function X1(t){return this.__data__.set(t,G1),this}var oR=X1;function H1(t){return this.__data__.has(t)}var sR=H1;function xd(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new bo;++e<r;)this.add(t[e])}xd.prototype.add=xd.prototype.push=oR;xd.prototype.has=sR;var Td=xd;function j1(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var aR=j1;function z1(t,e){return t.has(e)}var _d=z1;var q1=1,W1=2;function V1(t,e,r,n,i,o){var s=r&q1,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var f=-1,d=!0,p=r&W1?new Td:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],g=e[f];if(n)var v=s?n(g,m,f,e,t,o):n(m,g,f,t,e,o);if(v!==void 0){if(v)continue;d=!1;break}if(p){if(!aR(e,function(T,_){if(!_d(p,_)&&(m===T||i(m,T,r,n,o)))return p.push(_)})){d=!1;break}}else if(!(m===g||i(m,g,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var Ed=V1;var Y1=Pt.Uint8Array,Fg=Y1;function K1(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var cR=K1;function Z1(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var zs=Z1;var J1=1,Q1=2,eD="[object Boolean]",tD="[object Date]",rD="[object Error]",nD="[object Map]",iD="[object Number]",oD="[object RegExp]",sD="[object Set]",aD="[object String]",cD="[object Symbol]",lD="[object ArrayBuffer]",uD="[object DataView]",lR=Zt?Zt.prototype:void 0,Ug=lR?lR.valueOf:void 0;function fD(t,e,r,n,i,o,s){switch(r){case uD:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case lD:return!(t.byteLength!=e.byteLength||!o(new Fg(t),new Fg(e)));case eD:case tD:case iD:return hd(+t,+e);case rD:return t.name==e.name&&t.message==e.message;case oD:case aD:return t==e+"";case nD:var a=cR;case sD:var c=n&J1;if(a||(a=zs),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=Q1,s.set(t,e);var u=Ed(a(t),a(e),n,i,o,s);return s.delete(t),u;case cD:if(Ug)return Ug.call(t)==Ug.call(e)}return!1}var uR=fD;function dD(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var vd=dD;var pD=Array.isArray,He=pD;function hD(t,e,r){var n=e(t);return He(t)?n:vd(n,r(t))}var fR=hD;function mD(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var Rd=mD;function gD(){return[]}var dR=gD;var yD=Object.prototype,xD=yD.propertyIsEnumerable,pR=Object.getOwnPropertySymbols,TD=pR?function(t){return t==null?[]:(t=Object(t),Rd(pR(t),function(e){return xD.call(t,e)}))}:dR,hR=TD;function _D(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var mR=_D;function ED(t){return t!=null&&typeof t=="object"}var jr=ED;var vD="[object Arguments]";function RD(t){return jr(t)&&Hr(t)==vD}var Bg=RD;var gR=Object.prototype,bD=gR.hasOwnProperty,wD=gR.propertyIsEnumerable,AD=Bg((function(){return arguments})())?Bg:function(t){return jr(t)&&bD.call(t,"callee")&&!wD.call(t,"callee")},vi=AD;function SD(){return!1}var yR=SD;var _R=typeof exports=="object"&&exports&&!exports.nodeType&&exports,xR=_R&&typeof module=="object"&&module&&!module.nodeType&&module,ID=xR&&xR.exports===_R,TR=ID?Pt.Buffer:void 0,kD=TR?TR.isBuffer:void 0,ND=kD||yR,wo=ND;var PD=9007199254740991,CD=/^(?:0|[1-9]\d*)$/;function OD(t,e){var r=typeof t;return e=e??PD,!!e&&(r=="number"||r!="symbol"&&CD.test(t))&&t>-1&&t%1==0&&t<e}var bd=OD;var LD=9007199254740991;function DD(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=LD}var qs=DD;var $D="[object Arguments]",MD="[object Array]",FD="[object Boolean]",UD="[object Date]",BD="[object Error]",GD="[object Function]",XD="[object Map]",HD="[object Number]",jD="[object Object]",zD="[object RegExp]",qD="[object Set]",WD="[object String]",VD="[object WeakMap]",YD="[object ArrayBuffer]",KD="[object DataView]",ZD="[object Float32Array]",JD="[object Float64Array]",QD="[object Int8Array]",e$="[object Int16Array]",t$="[object Int32Array]",r$="[object Uint8Array]",n$="[object Uint8ClampedArray]",i$="[object Uint16Array]",o$="[object Uint32Array]",nt={};nt[ZD]=nt[JD]=nt[QD]=nt[e$]=nt[t$]=nt[r$]=nt[n$]=nt[i$]=nt[o$]=!0;nt[$D]=nt[MD]=nt[YD]=nt[FD]=nt[KD]=nt[UD]=nt[BD]=nt[GD]=nt[XD]=nt[HD]=nt[jD]=nt[zD]=nt[qD]=nt[WD]=nt[VD]=!1;function s$(t){return jr(t)&&qs(t.length)&&!!nt[Hr(t)]}var ER=s$;function a$(t){return function(e){return t(e)}}var vR=a$;var RR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sl=RR&&typeof module=="object"&&module&&!module.nodeType&&module,c$=sl&&sl.exports===RR,Gg=c$&&md.process,l$=(function(){try{var t=sl&&sl.require&&sl.require("util").types;return t||Gg&&Gg.binding&&Gg.binding("util")}catch{}})(),Xg=l$;var bR=Xg&&Xg.isTypedArray,u$=bR?vR(bR):ER,Ws=u$;var f$=Object.prototype,d$=f$.hasOwnProperty;function p$(t,e){var r=He(t),n=!r&&vi(t),i=!r&&!n&&wo(t),o=!r&&!n&&!i&&Ws(t),s=r||n||i||o,a=s?mR(t.length,String):[],c=a.length;for(var l in t)(e||d$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||bd(l,c)))&&a.push(l);return a}var wR=p$;var h$=Object.prototype;function m$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||h$;return t===r}var wd=m$;function g$(t,e){return function(r){return t(e(r))}}var AR=g$;var y$=AR(Object.keys,Object),SR=y$;var x$=Object.prototype,T$=x$.hasOwnProperty;function _$(t){if(!wd(t))return SR(t);var e=[];for(var r in Object(t))T$.call(t,r)&&r!="constructor"&&e.push(r);return e}var Ad=_$;function E$(t){return t!=null&&qs(t.length)&&!gd(t)}var Ri=E$;function v$(t){return Ri(t)?wR(t):Ad(t)}var Vs=v$;function R$(t){return fR(t,Vs,hR)}var Hg=R$;var b$=1,w$=Object.prototype,A$=w$.hasOwnProperty;function S$(t,e,r,n,i,o){var s=r&b$,a=Hg(t),c=a.length,l=Hg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:A$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var g=!0;o.set(t,e),o.set(e,t);for(var v=s;++f<c;){d=a[f];var T=t[d],_=e[d];if(n)var E=s?n(_,T,d,e,t,o):n(T,_,d,t,e,o);if(!(E===void 0?T===_||i(T,_,r,n,o):E)){g=!1;break}v||(v=d=="constructor")}if(g&&!v){var I=t.constructor,D=e.constructor;I!=D&&"constructor"in t&&"constructor"in e&&!(typeof I=="function"&&I instanceof I&&typeof D=="function"&&D instanceof D)&&(g=!1)}return o.delete(t),o.delete(e),g}var IR=S$;var I$=br(Pt,"DataView"),Sd=I$;var k$=br(Pt,"Promise"),Id=k$;var N$=br(Pt,"Set"),bi=N$;var P$=br(Pt,"WeakMap"),kd=P$;var kR="[object Map]",C$="[object Object]",NR="[object Promise]",PR="[object Set]",CR="[object WeakMap]",OR="[object DataView]",O$=jn(Sd),L$=jn(_i),D$=jn(Id),$$=jn(bi),M$=jn(kd),Ao=Hr;(Sd&&Ao(new Sd(new ArrayBuffer(1)))!=OR||_i&&Ao(new _i)!=kR||Id&&Ao(Id.resolve())!=NR||bi&&Ao(new bi)!=PR||kd&&Ao(new kd)!=CR)&&(Ao=function(t){var e=Hr(t),r=e==C$?t.constructor:void 0,n=r?jn(r):"";if(n)switch(n){case O$:return OR;case L$:return kR;case D$:return NR;case $$:return PR;case M$:return CR}return e});var al=Ao;var F$=1,LR="[object Arguments]",DR="[object Array]",Nd="[object Object]",U$=Object.prototype,$R=U$.hasOwnProperty;function B$(t,e,r,n,i,o){var s=He(t),a=He(e),c=s?DR:al(t),l=a?DR:al(e);c=c==LR?Nd:c,l=l==LR?Nd:l;var u=c==Nd,f=l==Nd,d=c==l;if(d&&wo(t)){if(!wo(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new js),s||Ws(t)?Ed(t,e,r,n,i,o):uR(t,e,c,r,n,i,o);if(!(r&F$)){var p=u&&$R.call(t,"__wrapped__"),m=f&&$R.call(e,"__wrapped__");if(p||m){var g=p?t.value():t,v=m?e.value():e;return o||(o=new js),i(g,v,r,n,o)}}return d?(o||(o=new js),IR(t,e,r,n,i,o)):!1}var MR=B$;function FR(t,e,r,n,i){return t===e?!0:t==null||e==null||!jr(t)&&!jr(e)?t!==t&&e!==e:MR(t,e,r,n,FR,i)}var Pd=FR;var G$=1,X$=2;function H$(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],l=t[c],u=a[1];if(s&&a[2]){if(l===void 0&&!(c in t))return!1}else{var f=new js;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?Pd(u,l,G$|X$,n,f):d))return!1}}return!0}var UR=H$;function j$(t){return t===t&&!Bs(t)}var Cd=j$;function z$(t){for(var e=Vs(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Cd(i)]}return e}var BR=z$;function q$(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Od=q$;function W$(t){var e=BR(t);return e.length==1&&e[0][2]?Od(e[0][0],e[0][1]):function(r){return r===t||UR(r,t,e)}}var GR=W$;var V$="[object Symbol]";function Y$(t){return typeof t=="symbol"||jr(t)&&Hr(t)==V$}var wi=Y$;var K$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z$=/^\w*$/;function J$(t,e){if(He(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||wi(t)?!0:Z$.test(t)||!K$.test(t)||e!=null&&t in Object(e)}var Ys=J$;var Q$="Expected a function";function jg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Q$);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(jg.Cache||bo),r}jg.Cache=bo;var XR=jg;var eM=500;function tM(t){var e=XR(t,function(n){return r.size===eM&&r.clear(),n}),r=e.cache;return e}var HR=tM;var rM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nM=/\\(\\)?/g,iM=HR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(rM,function(r,n,i,o){e.push(i?o.replace(nM,"$1"):n||r)}),e}),jR=iM;var oM=1/0,zR=Zt?Zt.prototype:void 0,qR=zR?zR.toString:void 0;function WR(t){if(typeof t=="string")return t;if(He(t))return pd(t,WR)+"";if(wi(t))return qR?qR.call(t):"";var e=t+"";return e=="0"&&1/t==-oM?"-0":e}var VR=WR;function sM(t){return t==null?"":VR(t)}var YR=sM;function aM(t,e){return He(t)?t:Ys(t,e)?[t]:jR(YR(t))}var Ld=aM;var cM=1/0;function lM(t){if(typeof t=="string"||wi(t))return t;var e=t+"";return e=="0"&&1/t==-cM?"-0":e}var Ai=lM;function uM(t,e){e=Ld(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Ai(e[r++])];return r&&r==n?t:void 0}var Dd=uM;function fM(t,e,r){var n=t==null?void 0:Dd(t,e);return n===void 0?r:n}var KR=fM;function dM(t,e){return t!=null&&e in Object(t)}var ZR=dM;function pM(t,e,r){e=Ld(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Ai(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&qs(i)&&bd(s,i)&&(He(t)||vi(t)))}var JR=pM;function hM(t,e){return t!=null&&JR(t,e,ZR)}var QR=hM;var mM=1,gM=2;function yM(t,e){return Ys(t)&&Cd(e)?Od(Ai(t),e):function(r){var n=KR(r,t);return n===void 0&&n===e?QR(r,t):Pd(e,n,mM|gM)}}var eb=yM;function xM(t){return t}var Ks=xM;function TM(t){return function(e){return e?.[t]}}var tb=TM;function _M(t){return function(e){return Dd(e,t)}}var rb=_M;function EM(t){return Ys(t)?tb(Ai(t)):rb(t)}var nb=EM;function vM(t){return typeof t=="function"?t:t==null?Ks:typeof t=="object"?He(t)?eb(t[0],t[1]):GR(t):nb(t)}var Si=vM;function RM(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var ib=RM;var bM=ib(),ob=bM;function wM(t,e){return t&&ob(t,e,Vs)}var sb=wM;function AM(t,e){return function(r,n){if(r==null)return r;if(!Ri(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var ab=AM;var SM=ab(sb),Ii=SM;function IM(t,e){var r=-1,n=Ri(t)?Array(t.length):[];return Ii(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var cb=IM;function kM(t,e){var r=He(t)?pd:cb;return r(t,Si(e,3))}var hr=kM;function NM(t,e){var r=[];return Ii(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var lb=NM;function PM(t,e){var r=He(t)?Rd:lb;return r(t,Si(e,3))}var ub=PM;function So(t,e,r){return`${t.name}_${e}_${r}`}var ki=1,CM=2,fb=4,db=5;var Io=7,OM=8,LM=9,DM=10,$M=11,pb=12,cl=class{constructor(e){this.target=e}isEpsilon(){return!1}},Zs=class extends cl{constructor(e,r){super(e),this.tokenType=r}},ll=class extends cl{constructor(e){super(e)}isEpsilon(){return!0}},Js=class extends cl{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function hb(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};MM(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=ko(e,i,i);o!==void 0&&VM(e,i,o)}return e}function MM(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=Ct(t,i,void 0,{type:CM}),s=Ct(t,i,void 0,{type:Io});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function mb(t,e,r){return r instanceof Te?zg(t,e,r.terminalType,r):r instanceof Be?WM(t,e,r):r instanceof Ye?XM(t,e,r):r instanceof Ge?HM(t,e,r):r instanceof Re?FM(t,e,r):r instanceof Ve?UM(t,e,r):r instanceof et?BM(t,e,r):r instanceof tt?GM(t,e,r):ko(t,e,r)}function FM(t,e,r){let n=Ct(t,e,r,{type:db});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return yb(t,e,r,i)}function UM(t,e,r){let n=Ct(t,e,r,{type:db});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r)),o=zg(t,e,r.separator,r);return yb(t,e,r,i,o)}function BM(t,e,r){let n=Ct(t,e,r,{type:fb});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return gb(t,e,r,i)}function GM(t,e,r){let n=Ct(t,e,r,{type:fb});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r)),o=zg(t,e,r.separator,r);return gb(t,e,r,i,o)}function XM(t,e,r){let n=Ct(t,e,r,{type:ki});Ni(t,n);let i=hr(r.definition,s=>mb(t,e,s));return Qs(t,e,n,r,...i)}function HM(t,e,r){let n=Ct(t,e,r,{type:ki});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return jM(t,e,r,i)}function ko(t,e,r){let n=ub(hr(r.definition,i=>mb(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:qM(t,n)}function gb(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:$M});Ni(t,a);let c=Ct(t,e,r,{type:pb});return o.loopback=a,c.loopback=a,t.decisionMap[So(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,bt(s,a),i===void 0?(bt(a,o),bt(a,c)):(bt(a,c),bt(a,i.left),bt(i.right,o)),{left:o,right:c}}function yb(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:DM});Ni(t,a);let c=Ct(t,e,r,{type:pb}),l=Ct(t,e,r,{type:LM});return a.loopback=l,c.loopback=l,bt(a,o),bt(a,c),bt(s,l),i!==void 0?(bt(l,c),bt(l,i.left),bt(i.right,o)):bt(l,a),t.decisionMap[So(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function jM(t,e,r,n){let i=n.left,o=n.right;return bt(i,o),t.decisionMap[So(e,"Option",r.idx)]=i,n}function Ni(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Qs(t,e,r,n,...i){let o=Ct(t,e,n,{type:OM,start:r});r.end=o;for(let a of i)a!==void 0?(bt(r,a.left),bt(a.right,o)):bt(r,o);let s={left:r,right:o};return t.decisionMap[So(e,zM(n),n.idx)]=r,s}function zM(t){if(t instanceof Ye)return"Alternation";if(t instanceof Ge)return"Option";if(t instanceof Re)return"Repetition";if(t instanceof Ve)return"RepetitionWithSeparator";if(t instanceof et)return"RepetitionMandatory";if(t instanceof tt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function qM(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof Js,l=a,u=e[o+1].left;s.left.type===ki&&s.right.type===ki&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,YM(t,s.right)):bt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function zg(t,e,r,n){let i=Ct(t,e,n,{type:ki}),o=Ct(t,e,n,{type:ki});return qg(i,new Zs(o,r)),{left:i,right:o}}function WM(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=Ct(t,e,r,{type:ki}),s=Ct(t,e,r,{type:ki}),a=new Js(i,n,s);return qg(o,a),{left:o,right:s}}function VM(t,e,r){let n=t.ruleToStartState.get(e);bt(n,r.left);let i=t.ruleToStopState.get(e);return bt(r.right,i),{left:n,right:i}}function bt(t,e){let r=new ll(e);qg(t,r)}function Ct(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function qg(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function YM(t,e){t.states.splice(t.states.indexOf(e),1)}var ul={},ea=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Wg(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return hr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Wg(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function KM(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!wi(s):r(s,a)))var a=s,c=o}return c}var xb=KM;function ZM(t,e){return t<e}var Tb=ZM;function JM(t){return t&&t.length?xb(t,Ks,Tb):void 0}var _b=JM;var Eb=Zt?Zt.isConcatSpreadable:void 0;function QM(t){return He(t)||vi(t)||!!(Eb&&t&&t[Eb])}var vb=QM;function Rb(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=vb),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?Rb(a,e-1,r,n,i):vd(i,a):n||(i[i.length]=a)}return i}var $d=Rb;function eF(t,e){return $d(hr(t,e),1)}var bb=eF;function tF(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var wb=tF;function rF(t){return t!==t}var Ab=rF;function nF(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var Sb=nF;function iF(t,e,r){return e===e?Sb(t,e,r):wb(t,Ab,r)}var Ib=iF;function oF(t,e){var r=t==null?0:t.length;return!!r&&Ib(t,e,0)>-1}var kb=oF;function sF(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var Nb=sF;function aF(){}var Pb=aF;var cF=1/0,lF=bi&&1/zs(new bi([,-0]))[1]==cF?function(t){return new bi(t)}:Pb,Cb=lF;var uF=200;function fF(t,e,r){var n=-1,i=kb,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=Nb;else if(o>=uF){var l=e?null:Cb(t);if(l)return zs(l);s=!1,i=_d,c=new Td}else c=e?[]:a;e:for(;++n<o;){var u=t[n],f=e?e(u):u;if(u=r||u!==0?u:0,s&&f===f){for(var d=c.length;d--;)if(c[d]===f)continue e;e&&c.push(f),a.push(u)}else i(c,f,r)||(c!==a&&c.push(f),a.push(u))}return a}var Ob=fF;function dF(t,e){return t&&t.length?Ob(t,Si(e,2)):[]}var Lb=dF;function pF(t){var e=t==null?0:t.length;return e?$d(t,1):[]}var Db=pF;function hF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var $b=hF;function mF(t){return typeof t=="function"?t:Ks}var Mb=mF;function gF(t,e){var r=He(t)?$b:Ii;return r(t,Mb(e))}var Md=gF;var yF="[object Map]",xF="[object Set]",TF=Object.prototype,_F=TF.hasOwnProperty;function EF(t){if(t==null)return!0;if(Ri(t)&&(He(t)||typeof t=="string"||typeof t.splice=="function"||wo(t)||Ws(t)||vi(t)))return!t.length;var e=al(t);if(e==yF||e==xF)return!t.size;if(wd(t))return!Ad(t).length;for(var r in t)if(_F.call(t,r))return!1;return!0}var Fb=EF;function vF(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var Ub=vF;function RF(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var Bb=RF;function bF(t,e,r){var n=He(t)?Ub:Bb,i=arguments.length<3;return n(t,Si(e,4),r,i,Ii)}var Vg=bF;function wF(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var Fd=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},Gb=new Fd,fl=class extends Xn{constructor(e){var r,n;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(i=>console.log(i)),this.incomplete=(n=e?.incomplete)!==null&&n!==void 0?n:!1}initialize(e){this.atn=hb(e.rules),this.dfas=AF(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=So(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=hr(Wf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>hr(p,m=>m[0]));if(Xb(d,!1)&&!o){let p=Vg(d,(m,g,v)=>(Md(g,T=>{T&&(m[T.tokenTypeIdx]=v,Md(T.categoryMatches,_=>{m[_]=v}))}),m),{});return i?function(m){var g;let v=this.LA_FAST(1),T=p[v.tokenTypeIdx];if(m!==void 0&&T!==void 0){let _=(g=m[T])===null||g===void 0?void 0:g.GATE;if(_!==void 0&&_.call(this)===!1)return}return T}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new Fd,g=p===void 0?0:p.length;for(let T=0;T<g;T++){let _=p?.[T].GATE;m.set(T,_===void 0||_.call(this))}let v=Yg.call(this,s,f,m,a,c);return typeof v=="number"?v:void 0}:function(){let p=Yg.call(this,s,f,Gb,a,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=So(n,i,r),f=this.atn.decisionMap[l].decision,d=hr(Wf({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>hr(p,m=>m[0]));if(Xb(d)&&d[0][0]&&!o){let p=d[0],m=Db(p);if(m.length===1&&Fb(m[0].categoryMatches)){let v=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{let g=Vg(m,(v,T)=>(T!==void 0&&(v[T.tokenTypeIdx]=!0,Md(T.categoryMatches,_=>{v[_]=!0})),v),{});return function(){let v=this.LA_FAST(1);return g[v.tokenTypeIdx]===!0}}}return function(){let p=Yg.call(this,s,f,Gb,a,c);return typeof p=="object"?!1:p===0}}};function Xb(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function AF(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=wF(t.decisionStates[n],n);return r}function Yg(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=MF(o.atnStartState);s=zb(o,jb(c)),o.start=s}return SF.apply(this,[o,s,r,n,i])}function SF(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=OF(o,c);if(l===void 0&&(l=IF.apply(this,[t,o,c,s,r,n])),l===ul)return CF(a,o,c);if(l.isAcceptState===!0){if(i===!0&&Os(c,Yt)){let u=zF(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function IF(t,e,r,n,i,o){let s=LF(e.configs,r,i);if(s.size===0)return Hb(t,e,r,ul),ul;let a=jb(s),c=$F(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(GF(s)){let l=_b(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,kF.apply(this,[t,n,s.alts,o])}return a=Hb(t,e,r,a),a}function kF(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=NF({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function NF(t){let e=hr(t.prefixPath,i=>Un(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${PF(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
148
+ For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Yt.skipValidations}};ul.DEFER_DEFINITION_ERRORS_HANDLING=!1;Mv(ul,[rd,od,ld,ud,dd,fd,pd,hd,yd]);var fl=class extends ul{constructor(e,r=Yt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function XL(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Td=XL;function HL(){this.__data__=[],this.size=0}var Fv=HL;function jL(t,e){return t===e||t!==t&&e!==e}var _d=jL;function zL(t,e){for(var r=t.length;r--;)if(_d(t[r][0],e))return r;return-1}var _i=zL;var qL=Array.prototype,WL=qL.splice;function VL(t){var e=this.__data__,r=_i(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():WL.call(e,r,1),--this.size,!0}var Uv=VL;function YL(t){var e=this.__data__,r=_i(e,t);return r<0?void 0:e[r][1]}var Bv=YL;function KL(t){return _i(this.__data__,t)>-1}var Gv=KL;function ZL(t,e){var r=this.__data__,n=_i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Xv=ZL;function Xs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Xs.prototype.clear=Fv;Xs.prototype.delete=Uv;Xs.prototype.get=Bv;Xs.prototype.has=Gv;Xs.prototype.set=Xv;var Ei=Xs;function JL(){this.__data__=new Ei,this.size=0}var Hv=JL;function QL(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var jv=QL;function e1(t){return this.__data__.get(t)}var zv=e1;function t1(t){return this.__data__.has(t)}var qv=t1;var r1=typeof global=="object"&&global&&global.Object===Object&&global,Ed=r1;var n1=typeof self=="object"&&self&&self.Object===Object&&self,i1=Ed||n1||Function("return this")(),Nt=i1;var o1=Nt.Symbol,Kt=o1;var Wv=Object.prototype,s1=Wv.hasOwnProperty,a1=Wv.toString,dl=Kt?Kt.toStringTag:void 0;function c1(t){var e=s1.call(t,dl),r=t[dl];try{t[dl]=void 0;var n=!0}catch{}var i=a1.call(t);return n&&(e?t[dl]=r:delete t[dl]),i}var Vv=c1;var l1=Object.prototype,u1=l1.toString;function f1(t){return u1.call(t)}var Yv=f1;var d1="[object Null]",p1="[object Undefined]",Kv=Kt?Kt.toStringTag:void 0;function h1(t){return t==null?t===void 0?p1:d1:Kv&&Kv in Object(t)?Vv(t):Yv(t)}var Xr=h1;function m1(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Hs=m1;var g1="[object AsyncFunction]",y1="[object Function]",x1="[object GeneratorFunction]",T1="[object Proxy]";function _1(t){if(!Hs(t))return!1;var e=Xr(t);return e==y1||e==x1||e==g1||e==T1}var vd=_1;var E1=Nt["__core-js_shared__"],Rd=E1;var Zv=(function(){var t=/[^.]+$/.exec(Rd&&Rd.keys&&Rd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function v1(t){return!!Zv&&Zv in t}var Jv=v1;var R1=Function.prototype,w1=R1.toString;function b1(t){if(t!=null){try{return w1.call(t)}catch{}try{return t+""}catch{}}return""}var Gn=b1;var A1=/[\\^$.*+?()[\]{}|]/g,I1=/^\[object .+?Constructor\]$/,S1=Function.prototype,k1=Object.prototype,N1=S1.toString,C1=k1.hasOwnProperty,P1=RegExp("^"+N1.call(C1).replace(A1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function O1(t){if(!Hs(t)||Jv(t))return!1;var e=vd(t)?P1:I1;return e.test(Gn(t))}var Qv=O1;function L1(t,e){return t?.[e]}var eR=L1;function D1(t,e){var r=eR(t,e);return Qv(r)?r:void 0}var vr=D1;var $1=vr(Nt,"Map"),vi=$1;var M1=vr(Object,"create"),Xn=M1;function F1(){this.__data__=Xn?Xn(null):{},this.size=0}var tR=F1;function U1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var rR=U1;var B1="__lodash_hash_undefined__",G1=Object.prototype,X1=G1.hasOwnProperty;function H1(t){var e=this.__data__;if(Xn){var r=e[t];return r===B1?void 0:r}return X1.call(e,t)?e[t]:void 0}var nR=H1;var j1=Object.prototype,z1=j1.hasOwnProperty;function q1(t){var e=this.__data__;return Xn?e[t]!==void 0:z1.call(e,t)}var iR=q1;var W1="__lodash_hash_undefined__";function V1(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Xn&&e===void 0?W1:e,this}var oR=V1;function js(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}js.prototype.clear=tR;js.prototype.delete=rR;js.prototype.get=nR;js.prototype.has=iR;js.prototype.set=oR;var Xg=js;function Y1(){this.size=0,this.__data__={hash:new Xg,map:new(vi||Ei),string:new Xg}}var sR=Y1;function K1(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var aR=K1;function Z1(t,e){var r=t.__data__;return aR(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Ri=Z1;function J1(t){var e=Ri(this,t).delete(t);return this.size-=e?1:0,e}var cR=J1;function Q1(t){return Ri(this,t).get(t)}var lR=Q1;function eD(t){return Ri(this,t).has(t)}var uR=eD;function tD(t,e){var r=Ri(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var fR=tD;function zs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}zs.prototype.clear=sR;zs.prototype.delete=cR;zs.prototype.get=lR;zs.prototype.has=uR;zs.prototype.set=fR;var Ao=zs;var rD=200;function nD(t,e){var r=this.__data__;if(r instanceof Ei){var n=r.__data__;if(!vi||n.length<rD-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Ao(n)}return r.set(t,e),this.size=r.size,this}var dR=nD;function qs(t){var e=this.__data__=new Ei(t);this.size=e.size}qs.prototype.clear=Hv;qs.prototype.delete=jv;qs.prototype.get=zv;qs.prototype.has=qv;qs.prototype.set=dR;var Ws=qs;var iD="__lodash_hash_undefined__";function oD(t){return this.__data__.set(t,iD),this}var pR=oD;function sD(t){return this.__data__.has(t)}var hR=sD;function wd(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Ao;++e<r;)this.add(t[e])}wd.prototype.add=wd.prototype.push=pR;wd.prototype.has=hR;var bd=wd;function aD(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var mR=aD;function cD(t,e){return t.has(e)}var Ad=cD;var lD=1,uD=2;function fD(t,e,r,n,i,o){var s=r&lD,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var f=-1,d=!0,p=r&uD?new bd:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],y=e[f];if(n)var T=s?n(y,m,f,e,t,o):n(m,y,f,t,e,o);if(T!==void 0){if(T)continue;d=!1;break}if(p){if(!mR(e,function(_,v){if(!Ad(p,v)&&(m===_||i(m,_,r,n,o)))return p.push(v)})){d=!1;break}}else if(!(m===y||i(m,y,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var Id=fD;var dD=Nt.Uint8Array,Hg=dD;function pD(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var gR=pD;function hD(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Vs=hD;var mD=1,gD=2,yD="[object Boolean]",xD="[object Date]",TD="[object Error]",_D="[object Map]",ED="[object Number]",vD="[object RegExp]",RD="[object Set]",wD="[object String]",bD="[object Symbol]",AD="[object ArrayBuffer]",ID="[object DataView]",yR=Kt?Kt.prototype:void 0,jg=yR?yR.valueOf:void 0;function SD(t,e,r,n,i,o,s){switch(r){case ID:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case AD:return!(t.byteLength!=e.byteLength||!o(new Hg(t),new Hg(e)));case yD:case xD:case ED:return _d(+t,+e);case TD:return t.name==e.name&&t.message==e.message;case vD:case wD:return t==e+"";case _D:var a=gR;case RD:var c=n&mD;if(a||(a=Vs),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=gD,s.set(t,e);var u=Id(a(t),a(e),n,i,o,s);return s.delete(t),u;case bD:if(jg)return jg.call(t)==jg.call(e)}return!1}var xR=SD;function kD(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var Sd=kD;var ND=Array.isArray,He=ND;function CD(t,e,r){var n=e(t);return He(t)?n:Sd(n,r(t))}var TR=CD;function PD(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var kd=PD;function OD(){return[]}var _R=OD;var LD=Object.prototype,DD=LD.propertyIsEnumerable,ER=Object.getOwnPropertySymbols,$D=ER?function(t){return t==null?[]:(t=Object(t),kd(ER(t),function(e){return DD.call(t,e)}))}:_R,vR=$D;function MD(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var RR=MD;function FD(t){return t!=null&&typeof t=="object"}var Hr=FD;var UD="[object Arguments]";function BD(t){return Hr(t)&&Xr(t)==UD}var zg=BD;var wR=Object.prototype,GD=wR.hasOwnProperty,XD=wR.propertyIsEnumerable,HD=zg((function(){return arguments})())?zg:function(t){return Hr(t)&&GD.call(t,"callee")&&!XD.call(t,"callee")},wi=HD;function jD(){return!1}var bR=jD;var SR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,AR=SR&&typeof module=="object"&&module&&!module.nodeType&&module,zD=AR&&AR.exports===SR,IR=zD?Nt.Buffer:void 0,qD=IR?IR.isBuffer:void 0,WD=qD||bR,Io=WD;var VD=9007199254740991,YD=/^(?:0|[1-9]\d*)$/;function KD(t,e){var r=typeof t;return e=e??VD,!!e&&(r=="number"||r!="symbol"&&YD.test(t))&&t>-1&&t%1==0&&t<e}var Nd=KD;var ZD=9007199254740991;function JD(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=ZD}var Ys=JD;var QD="[object Arguments]",e$="[object Array]",t$="[object Boolean]",r$="[object Date]",n$="[object Error]",i$="[object Function]",o$="[object Map]",s$="[object Number]",a$="[object Object]",c$="[object RegExp]",l$="[object Set]",u$="[object String]",f$="[object WeakMap]",d$="[object ArrayBuffer]",p$="[object DataView]",h$="[object Float32Array]",m$="[object Float64Array]",g$="[object Int8Array]",y$="[object Int16Array]",x$="[object Int32Array]",T$="[object Uint8Array]",_$="[object Uint8ClampedArray]",E$="[object Uint16Array]",v$="[object Uint32Array]",rt={};rt[h$]=rt[m$]=rt[g$]=rt[y$]=rt[x$]=rt[T$]=rt[_$]=rt[E$]=rt[v$]=!0;rt[QD]=rt[e$]=rt[d$]=rt[t$]=rt[p$]=rt[r$]=rt[n$]=rt[i$]=rt[o$]=rt[s$]=rt[a$]=rt[c$]=rt[l$]=rt[u$]=rt[f$]=!1;function R$(t){return Hr(t)&&Ys(t.length)&&!!rt[Xr(t)]}var kR=R$;function w$(t){return function(e){return t(e)}}var NR=w$;var CR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,pl=CR&&typeof module=="object"&&module&&!module.nodeType&&module,b$=pl&&pl.exports===CR,qg=b$&&Ed.process,A$=(function(){try{var t=pl&&pl.require&&pl.require("util").types;return t||qg&&qg.binding&&qg.binding("util")}catch{}})(),Wg=A$;var PR=Wg&&Wg.isTypedArray,I$=PR?NR(PR):kR,Ks=I$;var S$=Object.prototype,k$=S$.hasOwnProperty;function N$(t,e){var r=He(t),n=!r&&wi(t),i=!r&&!n&&Io(t),o=!r&&!n&&!i&&Ks(t),s=r||n||i||o,a=s?RR(t.length,String):[],c=a.length;for(var l in t)(e||k$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Nd(l,c)))&&a.push(l);return a}var OR=N$;var C$=Object.prototype;function P$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||C$;return t===r}var Cd=P$;function O$(t,e){return function(r){return t(e(r))}}var LR=O$;var L$=LR(Object.keys,Object),DR=L$;var D$=Object.prototype,$$=D$.hasOwnProperty;function M$(t){if(!Cd(t))return DR(t);var e=[];for(var r in Object(t))$$.call(t,r)&&r!="constructor"&&e.push(r);return e}var Pd=M$;function F$(t){return t!=null&&Ys(t.length)&&!vd(t)}var bi=F$;function U$(t){return bi(t)?OR(t):Pd(t)}var Zs=U$;function B$(t){return TR(t,Zs,vR)}var Vg=B$;var G$=1,X$=Object.prototype,H$=X$.hasOwnProperty;function j$(t,e,r,n,i,o){var s=r&G$,a=Vg(t),c=a.length,l=Vg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:H$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var y=!0;o.set(t,e),o.set(e,t);for(var T=s;++f<c;){d=a[f];var _=t[d],v=e[d];if(n)var E=s?n(v,_,d,e,t,o):n(_,v,d,t,e,o);if(!(E===void 0?_===v||i(_,v,r,n,o):E)){y=!1;break}T||(T=d=="constructor")}if(y&&!T){var S=t.constructor,D=e.constructor;S!=D&&"constructor"in t&&"constructor"in e&&!(typeof S=="function"&&S instanceof S&&typeof D=="function"&&D instanceof D)&&(y=!1)}return o.delete(t),o.delete(e),y}var $R=j$;var z$=vr(Nt,"DataView"),Od=z$;var q$=vr(Nt,"Promise"),Ld=q$;var W$=vr(Nt,"Set"),Ai=W$;var V$=vr(Nt,"WeakMap"),Dd=V$;var MR="[object Map]",Y$="[object Object]",FR="[object Promise]",UR="[object Set]",BR="[object WeakMap]",GR="[object DataView]",K$=Gn(Od),Z$=Gn(vi),J$=Gn(Ld),Q$=Gn(Ai),eM=Gn(Dd),So=Xr;(Od&&So(new Od(new ArrayBuffer(1)))!=GR||vi&&So(new vi)!=MR||Ld&&So(Ld.resolve())!=FR||Ai&&So(new Ai)!=UR||Dd&&So(new Dd)!=BR)&&(So=function(t){var e=Xr(t),r=e==Y$?t.constructor:void 0,n=r?Gn(r):"";if(n)switch(n){case K$:return GR;case Z$:return MR;case J$:return FR;case Q$:return UR;case eM:return BR}return e});var hl=So;var tM=1,XR="[object Arguments]",HR="[object Array]",$d="[object Object]",rM=Object.prototype,jR=rM.hasOwnProperty;function nM(t,e,r,n,i,o){var s=He(t),a=He(e),c=s?HR:hl(t),l=a?HR:hl(e);c=c==XR?$d:c,l=l==XR?$d:l;var u=c==$d,f=l==$d,d=c==l;if(d&&Io(t)){if(!Io(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new Ws),s||Ks(t)?Id(t,e,r,n,i,o):xR(t,e,c,r,n,i,o);if(!(r&tM)){var p=u&&jR.call(t,"__wrapped__"),m=f&&jR.call(e,"__wrapped__");if(p||m){var y=p?t.value():t,T=m?e.value():e;return o||(o=new Ws),i(y,T,r,n,o)}}return d?(o||(o=new Ws),$R(t,e,r,n,i,o)):!1}var zR=nM;function qR(t,e,r,n,i){return t===e?!0:t==null||e==null||!Hr(t)&&!Hr(e)?t!==t&&e!==e:zR(t,e,r,n,qR,i)}var Md=qR;var iM=1,oM=2;function sM(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],l=t[c],u=a[1];if(s&&a[2]){if(l===void 0&&!(c in t))return!1}else{var f=new Ws;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?Md(u,l,iM|oM,n,f):d))return!1}}return!0}var WR=sM;function aM(t){return t===t&&!Hs(t)}var Fd=aM;function cM(t){for(var e=Zs(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Fd(i)]}return e}var VR=cM;function lM(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Ud=lM;function uM(t){var e=VR(t);return e.length==1&&e[0][2]?Ud(e[0][0],e[0][1]):function(r){return r===t||WR(r,t,e)}}var YR=uM;var fM="[object Symbol]";function dM(t){return typeof t=="symbol"||Hr(t)&&Xr(t)==fM}var Ii=dM;var pM=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hM=/^\w*$/;function mM(t,e){if(He(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ii(t)?!0:hM.test(t)||!pM.test(t)||e!=null&&t in Object(e)}var Js=mM;var gM="Expected a function";function Yg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(gM);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(Yg.Cache||Ao),r}Yg.Cache=Ao;var KR=Yg;var yM=500;function xM(t){var e=KR(t,function(n){return r.size===yM&&r.clear(),n}),r=e.cache;return e}var ZR=xM;var TM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_M=/\\(\\)?/g,EM=ZR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(TM,function(r,n,i,o){e.push(i?o.replace(_M,"$1"):n||r)}),e}),JR=EM;var vM=1/0,QR=Kt?Kt.prototype:void 0,ew=QR?QR.toString:void 0;function tw(t){if(typeof t=="string")return t;if(He(t))return Td(t,tw)+"";if(Ii(t))return ew?ew.call(t):"";var e=t+"";return e=="0"&&1/t==-vM?"-0":e}var rw=tw;function RM(t){return t==null?"":rw(t)}var nw=RM;function wM(t,e){return He(t)?t:Js(t,e)?[t]:JR(nw(t))}var Bd=wM;var bM=1/0;function AM(t){if(typeof t=="string"||Ii(t))return t;var e=t+"";return e=="0"&&1/t==-bM?"-0":e}var Si=AM;function IM(t,e){e=Bd(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Si(e[r++])];return r&&r==n?t:void 0}var Gd=IM;function SM(t,e,r){var n=t==null?void 0:Gd(t,e);return n===void 0?r:n}var iw=SM;function kM(t,e){return t!=null&&e in Object(t)}var ow=kM;function NM(t,e,r){e=Bd(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Si(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&Ys(i)&&Nd(s,i)&&(He(t)||wi(t)))}var sw=NM;function CM(t,e){return t!=null&&sw(t,e,ow)}var aw=CM;var PM=1,OM=2;function LM(t,e){return Js(t)&&Fd(e)?Ud(Si(t),e):function(r){var n=iw(r,t);return n===void 0&&n===e?aw(r,t):Md(e,n,PM|OM)}}var cw=LM;function DM(t){return t}var Qs=DM;function $M(t){return function(e){return e?.[t]}}var lw=$M;function MM(t){return function(e){return Gd(e,t)}}var uw=MM;function FM(t){return Js(t)?lw(Si(t)):uw(t)}var fw=FM;function UM(t){return typeof t=="function"?t:t==null?Qs:typeof t=="object"?He(t)?cw(t[0],t[1]):YR(t):fw(t)}var ki=UM;function BM(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var dw=BM;var GM=dw(),pw=GM;function XM(t,e){return t&&pw(t,e,Zs)}var hw=XM;function HM(t,e){return function(r,n){if(r==null)return r;if(!bi(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var mw=HM;var jM=mw(hw),Ni=jM;function zM(t,e){var r=-1,n=bi(t)?Array(t.length):[];return Ni(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var gw=zM;function qM(t,e){var r=He(t)?Td:gw;return r(t,ki(e,3))}var pr=qM;function WM(t,e){var r=[];return Ni(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var yw=WM;function VM(t,e){var r=He(t)?kd:yw;return r(t,ki(e,3))}var xw=VM;function ko(t,e,r){return`${t.name}_${e}_${r}`}var Ci=1,YM=2,Tw=4,_w=5;var No=7,KM=8,ZM=9,JM=10,QM=11,Ew=12,ml=class{constructor(e){this.target=e}isEpsilon(){return!1}},ea=class extends ml{constructor(e,r){super(e),this.tokenType=r}},gl=class extends ml{constructor(e){super(e)}isEpsilon(){return!0}},ta=class extends ml{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function vw(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};eF(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=Co(e,i,i);o!==void 0&&fF(e,i,o)}return e}function eF(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=Ct(t,i,void 0,{type:YM}),s=Ct(t,i,void 0,{type:No});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function Rw(t,e,r){return r instanceof Te?Kg(t,e,r.terminalType,r):r instanceof Be?uF(t,e,r):r instanceof We?oF(t,e,r):r instanceof Ge?sF(t,e,r):r instanceof Re?tF(t,e,r):r instanceof qe?rF(t,e,r):r instanceof Je?nF(t,e,r):r instanceof Qe?iF(t,e,r):Co(t,e,r)}function tF(t,e,r){let n=Ct(t,e,r,{type:_w});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r));return bw(t,e,r,i)}function rF(t,e,r){let n=Ct(t,e,r,{type:_w});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r)),o=Kg(t,e,r.separator,r);return bw(t,e,r,i,o)}function nF(t,e,r){let n=Ct(t,e,r,{type:Tw});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r));return ww(t,e,r,i)}function iF(t,e,r){let n=Ct(t,e,r,{type:Tw});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r)),o=Kg(t,e,r.separator,r);return ww(t,e,r,i,o)}function oF(t,e,r){let n=Ct(t,e,r,{type:Ci});Pi(t,n);let i=pr(r.definition,s=>Rw(t,e,s));return ra(t,e,n,r,...i)}function sF(t,e,r){let n=Ct(t,e,r,{type:Ci});Pi(t,n);let i=ra(t,e,n,r,Co(t,e,r));return aF(t,e,r,i)}function Co(t,e,r){let n=xw(pr(r.definition,i=>Rw(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:lF(t,n)}function ww(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:QM});Pi(t,a);let c=Ct(t,e,r,{type:Ew});return o.loopback=a,c.loopback=a,t.decisionMap[ko(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,Rt(s,a),i===void 0?(Rt(a,o),Rt(a,c)):(Rt(a,c),Rt(a,i.left),Rt(i.right,o)),{left:o,right:c}}function bw(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:JM});Pi(t,a);let c=Ct(t,e,r,{type:Ew}),l=Ct(t,e,r,{type:ZM});return a.loopback=l,c.loopback=l,Rt(a,o),Rt(a,c),Rt(s,l),i!==void 0?(Rt(l,c),Rt(l,i.left),Rt(i.right,o)):Rt(l,a),t.decisionMap[ko(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function aF(t,e,r,n){let i=n.left,o=n.right;return Rt(i,o),t.decisionMap[ko(e,"Option",r.idx)]=i,n}function Pi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ra(t,e,r,n,...i){let o=Ct(t,e,n,{type:KM,start:r});r.end=o;for(let a of i)a!==void 0?(Rt(r,a.left),Rt(a.right,o)):Rt(r,o);let s={left:r,right:o};return t.decisionMap[ko(e,cF(n),n.idx)]=r,s}function cF(t){if(t instanceof We)return"Alternation";if(t instanceof Ge)return"Option";if(t instanceof Re)return"Repetition";if(t instanceof qe)return"RepetitionWithSeparator";if(t instanceof Je)return"RepetitionMandatory";if(t instanceof Qe)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function lF(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof ta,l=a,u=e[o+1].left;s.left.type===Ci&&s.right.type===Ci&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,dF(t,s.right)):Rt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function Kg(t,e,r,n){let i=Ct(t,e,n,{type:Ci}),o=Ct(t,e,n,{type:Ci});return Zg(i,new ea(o,r)),{left:i,right:o}}function uF(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=Ct(t,e,r,{type:Ci}),s=Ct(t,e,r,{type:Ci}),a=new ta(i,n,s);return Zg(o,a),{left:o,right:s}}function fF(t,e,r){let n=t.ruleToStartState.get(e);Rt(n,r.left);let i=t.ruleToStopState.get(e);return Rt(r.right,i),{left:n,right:i}}function Rt(t,e){let r=new gl(e);Zg(t,r)}function Ct(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function Zg(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function dF(t,e){t.states.splice(t.states.indexOf(e),1)}var yl={},na=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Jg(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return pr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Jg(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function pF(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!Ii(s):r(s,a)))var a=s,c=o}return c}var Aw=pF;function hF(t,e){return t<e}var Iw=hF;function mF(t){return t&&t.length?Aw(t,Qs,Iw):void 0}var Sw=mF;var kw=Kt?Kt.isConcatSpreadable:void 0;function gF(t){return He(t)||wi(t)||!!(kw&&t&&t[kw])}var Nw=gF;function Cw(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=Nw),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?Cw(a,e-1,r,n,i):Sd(i,a):n||(i[i.length]=a)}return i}var Xd=Cw;function yF(t,e){return Xd(pr(t,e),1)}var Pw=yF;function xF(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var Ow=xF;function TF(t){return t!==t}var Lw=TF;function _F(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var Dw=_F;function EF(t,e,r){return e===e?Dw(t,e,r):Ow(t,Lw,r)}var $w=EF;function vF(t,e){var r=t==null?0:t.length;return!!r&&$w(t,e,0)>-1}var Mw=vF;function RF(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var Fw=RF;function wF(){}var Uw=wF;var bF=1/0,AF=Ai&&1/Vs(new Ai([,-0]))[1]==bF?function(t){return new Ai(t)}:Uw,Bw=AF;var IF=200;function SF(t,e,r){var n=-1,i=Mw,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=Fw;else if(o>=IF){var l=e?null:Bw(t);if(l)return Vs(l);s=!1,i=Ad,c=new bd}else c=e?[]:a;e:for(;++n<o;){var u=t[n],f=e?e(u):u;if(u=r||u!==0?u:0,s&&f===f){for(var d=c.length;d--;)if(c[d]===f)continue e;e&&c.push(f),a.push(u)}else i(c,f,r)||(c!==a&&c.push(f),a.push(u))}return a}var Gw=SF;function kF(t,e){return t&&t.length?Gw(t,ki(e,2)):[]}var Xw=kF;function NF(t){var e=t==null?0:t.length;return e?Xd(t,1):[]}var Hw=NF;function CF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var jw=CF;function PF(t){return typeof t=="function"?t:Qs}var zw=PF;function OF(t,e){var r=He(t)?jw:Ni;return r(t,zw(e))}var Hd=OF;var LF="[object Map]",DF="[object Set]",$F=Object.prototype,MF=$F.hasOwnProperty;function FF(t){if(t==null)return!0;if(bi(t)&&(He(t)||typeof t=="string"||typeof t.splice=="function"||Io(t)||Ks(t)||wi(t)))return!t.length;var e=hl(t);if(e==LF||e==DF)return!t.size;if(Cd(t))return!Pd(t).length;for(var r in t)if(MF.call(t,r))return!1;return!0}var qw=FF;function UF(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var Ww=UF;function BF(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var Vw=BF;function GF(t,e,r){var n=He(t)?Ww:Vw,i=arguments.length<3;return n(t,ki(e,4),r,i,Ni)}var Qg=GF;function XF(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var jd=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},Yw=new jd,xl=class extends Un{constructor(e){var r,n;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(i=>console.log(i)),this.incomplete=(n=e?.incomplete)!==null&&n!==void 0?n:!1}initialize(e){this.atn=vw(e.rules),this.dfas=HF(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=ko(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=pr(Qf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>pr(p,m=>m[0]));if(Kw(d,!1)&&!o){let p=Qg(d,(m,y,T)=>(Hd(y,_=>{_&&(m[_.tokenTypeIdx]=T,Hd(_.categoryMatches,v=>{m[v]=T}))}),m),{});return i?function(m){var y;let T=this.LA_FAST(1),_=p[T.tokenTypeIdx];if(m!==void 0&&_!==void 0){let v=(y=m[_])===null||y===void 0?void 0:y.GATE;if(v!==void 0&&v.call(this)===!1)return}return _}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new jd,y=p===void 0?0:p.length;for(let _=0;_<y;_++){let v=p?.[_].GATE;m.set(_,v===void 0||v.call(this))}let T=ey.call(this,s,f,m,a,c);return typeof T=="number"?T:void 0}:function(){let p=ey.call(this,s,f,Yw,a,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=ko(n,i,r),f=this.atn.decisionMap[l].decision,d=pr(Qf({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>pr(p,m=>m[0]));if(Kw(d)&&d[0][0]&&!o){let p=d[0],m=Hw(p);if(m.length===1&&qw(m[0].categoryMatches)){let T=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===T}}else{let y=Qg(m,(T,_)=>(_!==void 0&&(T[_.tokenTypeIdx]=!0,Hd(_.categoryMatches,v=>{T[v]=!0})),T),{});return function(){let T=this.LA_FAST(1);return y[T.tokenTypeIdx]===!0}}}return function(){let p=ey.call(this,s,f,Yw,a,c);return typeof p=="object"?!1:p===0}}};function Kw(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function HF(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=XF(t.decisionStates[n],n);return r}function ey(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=e2(o.atnStartState);s=Qw(o,Jw(c)),o.start=s}return jF.apply(this,[o,s,r,n,i])}function jF(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=KF(o,c);if(l===void 0&&(l=zF.apply(this,[t,o,c,s,r,n])),l===yl)return YF(a,o,c);if(l.isAcceptState===!0){if(i===!0&&$s(c,Vt)){let u=c2(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function zF(t,e,r,n,i,o){let s=ZF(e.configs,r,i);if(s.size===0)return Zw(t,e,r,yl),yl;let a=Jw(s),c=QF(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(i2(s)){let l=Sw(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,qF.apply(this,[t,n,s.alts,o])}return a=Zw(t,e,r,a),a}function qF(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=WF({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function WF(t){let e=pr(t.prefixPath,i=>$n(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${VF(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
149
149
  <${e}> may appears as a prefix path in all these alternatives.
150
150
  `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
151
- For Further details.`,n}function PF(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof Ye)return"OR";if(t instanceof et)return"AT_LEAST_ONE";if(t instanceof tt)return"AT_LEAST_ONE_SEP";if(t instanceof Ve)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}function CF(t,e,r){let n=bb(e.configs.elements,o=>o.state.transitions),i=Lb(n.filter(o=>o instanceof Zs).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function OF(t,e){return t.edges[e.tokenTypeIdx]}function LF(t,e,r){let n=new ea,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Io){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=DF(l,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new ea;for(let s of n.elements)Ud(s,o)}if(i.length>0&&!UF(o))for(let s of i)o.add(s);return o}function DF(t,e){if(t instanceof Zs&&Os(e,t.tokenType))return t.target}function $F(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function jb(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Hb(t,e,r,n){return n=zb(t,n),e.edges[r.tokenTypeIdx]=n,n}function zb(t,e){if(e===ul)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function MF(t){let e=new ea,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Ud(o,e)}return e}function Ud(t,e){let r=t.state;if(r.type===Io){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Ud(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=FF(t,o);s!==void 0&&Ud(s,e)}}function FF(t,e){if(e instanceof ll)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Js){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function UF(t){for(let e of t.elements)if(e.state.type===Io)return!0;return!1}function BF(t){for(let e of t.elements)if(e.state.type!==Io)return!1;return!0}function GF(t){if(BF(t))return!0;let e=XF(t.elements);return HF(e)&&!jF(e)}function XF(t){let e=new Map;for(let r of t){let n=Wg(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function HF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function jF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function zF(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===Io)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}sa();var Tl=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new aa(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Oo;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Co(e.startOffset,e.image.length,Es(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let o of e){let s=new Co(o.startOffset,o.image.length,Es(o),o.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let o=n.container.content.indexOf(n);if(o>0){n.container.content.splice(o,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},_l=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},Co=class extends _l{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Oo=class extends _l{constructor(){super(...arguments),this.content=new Jy(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:Ie.create(0,0),end:Ie.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Jy=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},aa=class extends Oo{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var Yd=Symbol("Datatype");function Qy(t){return t.$type===Yd}var qb="\u200B",Wb=t=>t.endsWith(qb)?t:t+qb,El=class{constructor(e,r){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let n=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new ex(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Zd(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r)}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},vl=class extends El{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new Tl,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;pi(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(Wb(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,o),Nt(e)&&e.entry&&(this.mainRule=o),o}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let o=e.operators.precedences[i];for(let s of o.operators)n.set(s.value,{precedence:i,rightAssoc:o.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return pi(e)?mi(e):e.fragment?void 0:Xc(e)?Yd:mi(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let o=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,fs(o,{deep:!0}),{value:o,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let o=!this.isRecording()&&e!==void 0;if(o){let s={$type:e};this.stack.push(s),e===Yd?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),o?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let o=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(o);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:a,crossRef:c}=this.getAssignment(n),l=this.current;if(a){let u=Rr(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(Qy(l)){let u=i.image;Rr(n)||(u=this.converter.convert(u,s).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,o){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let a;try{a=this.wrapper.wrapSubrule(e,r,o)}finally{this.isRecording()||(a===void 0&&!n&&(a=this.construct()),a!==void 0&&s&&s.length>0&&this.performSubruleAssignment(a,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(Qy(s))s.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let o={$type:e};this.stack.push(o),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Qy(e)?this.converter.convert(e.value,e.$cstNode):(vm(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let o=0,s=-1;for(let g=0;g<i.length;g++){let v=i[g],T=r.get(v)??{precedence:1/0,rightAssoc:!1};T.precedence>s?(s=T.precedence,o=g):T.precedence===s&&(T.rightAssoc||(o=g))}let a=i.slice(0,o),c=i.slice(o+1),l=n.slice(0,o+1),u=n.slice(o+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,r),m=this.constructInfix(d,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[o],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Nn(e,Ur);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Br(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o==="single"&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):o==="multi"&&typeof n=="string"?a=this.linker.buildMultiReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[i,o]of Object.entries(r)){let s=e[i];s===void 0?e[i]=o:Array.isArray(s)&&Array.isArray(o)&&(o.push(...s),e[i]=o)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},Kd=class{buildMismatchTokenMessage(e){return Gn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Gn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Gn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Gn.buildEarlyExitMessage(e)}},ca=class extends Kd{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Rl=class extends El{constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Wb(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,o){this.before(i),this.wrapper.wrapSubrule(e,r,o),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},WF={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new ca},Zd=class extends il{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...WF,lookaheadStrategy:i?new Xn({maxLookahead:r.maxLookahead}):new fl({logging:r.skipValidations?()=>{}:void 0,incomplete:n}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},ex=class extends Zd{constructor(e,r,n,i){super(e,r,n),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function bl(t,e,r){return VF({parser:e,tokens:r,ruleNames:new Map},t),e}function VF(t,e){let r=Bc(e,!1),n=xe(e.rules).filter(Nt).filter(o=>r.has(o));for(let o of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(o,Lo(s,o.definition))}let i=xe(e.rules).filter(pi).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,YF(t,o))}function YF(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(qt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},o={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(o,s);let c={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...o,$container:s};s.elements.push(c,l);let f=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,c)})),d;return p=>{d??(d=rx(t,r)),t.parser.subrule(0,d,!1,o,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,d,!1,l,p)}})}}function Lo(t,e,r=!1){let n;if(Rr(e))n=r2(t,e);else if(Ln(e))n=KF(t,e);else if(Ur(e))n=Lo(t,e.terminal);else if(Br(e))n=Vb(t,e);else if(Gr(e))n=ZF(t,e);else if(Rf(e))n=QF(t,e);else if(Sf(e))n=e2(t,e);else if(di(e))n=t2(t,e);else if(km(e)){let i=t.consume++;n=()=>t.parser.consume(i,Yt,e)}else throw new go(e.$cstNode,`Unexpected element type: ${e.$type}`);return Yb(t,r?void 0:Jd(e),n,e.cardinality)}function KF(t,e){let r=mi(e);return()=>t.parser.action(r,e)}function ZF(t,e){let r=e.rule.ref;if(On(r)){let n=t.subrule++,i=Nt(r)&&r.fragment,o=e.arguments.length>0?JF(r,e.arguments):()=>({}),s;return a=>{s??(s=rx(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(qt(r)){let n=t.consume++,i=tx(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)un(r);else throw new go(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function JF(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:mn(i.value)}));return i=>{let o={};for(let{parameterName:s,predicate:a}of n)s&&(o[s]=a(i));return o}}else{let n=e.map(i=>mn(i.value));return i=>{let o={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){let a=t.parameters[s].name,c=n[s];o[a]=c(i)}return o}}}function mn(t){if(Im(t)){let e=mn(t.left),r=mn(t.right);return n=>e(n)||r(n)}else if(Sm(t)){let e=mn(t.left),r=mn(t.right);return n=>e(n)&&r(n)}else if(Cm(t)){let e=mn(t.value);return r=>!e(r)}else if(Om(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(wm(t)){let e=!!t.true;return()=>e}un(t)}function QF(t,e){if(e.elements.length===1)return Lo(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:Lo(t,i,!0)},s=Jd(i);s&&(o.GATE=mn(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function e2(t,e){if(e.elements.length===1)return Lo(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:Lo(t,a,!0)},l=Jd(a);l&&(c.GATE=mn(l)),r.push(c)}let n=t.or++,i=(a,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${a}_${l}`},o=a=>t.parser.alternatives(n,r.map((c,l)=>{let u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(a),!f.isRecording()){let p=i(n,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let m=f.unorderedGroups.get(p);typeof m?.[l]>"u"&&(m[l]=!0)}};let d=c.GATE;return d?u.GATE=()=>d(a):u.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[l],u})),s=Yb(t,Jd(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function t2(t,e){let r=e.elements.map(n=>Lo(t,n));return n=>r.forEach(i=>i(n))}function Jd(t){if(di(t))return t.guardCondition}function Vb(t,e,r=e.terminal){if(r)if(Gr(r)&&Nt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,o;return s=>{o??(o=rx(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Gr(r)&&qt(r.rule.ref)){let n=t.consume++,i=tx(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Rr(r)){let n=t.consume++,i=tx(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=Of(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+mi(e.type.ref));return Vb(t,e,i)}}function r2(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Yb(t,e,r,n){let i=e&&mn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:dd(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:dd(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else un(n)}function rx(t,e){let r=n2(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function n2(t,e){if(On(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Nt(n);)(di(n)||Rf(n)||Sf(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function tx(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function nx(t){let e=t.Grammar,r=t.parser.Lexer,n=new Rl(t);return bl(e,n,r.definition),n.finalize(),n}function ix(t){let e=Kb(t);return e.finalize(),e}function Kb(t){let e=t.Grammar,r=t.parser.Lexer,n=new vl(t);return bl(e,n,r.definition)}var Do=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=xe(Bc(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return o.push(...i),o}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(qt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Rs(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Uc(r)?ct.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(On).flatMap(i=>Mr(i).filter(Rr)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),o={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(o.LINE_BREAKS=!0),o}buildKeywordPattern(e,r){return r?new RegExp(hi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&Zm("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var $o=class{convert(e,r){let n=r.grammarSource;if(Br(n)&&(n=eg(n)),Gr(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return gn.convertInt(r);case"STRING":return gn.convertString(r);case"ID":return gn.convertID(r)}switch(ag(e)?.toLowerCase()){case"number":return gn.convertNumber(r);case"boolean":return gn.convertBoolean(r);case"bigint":return gn.convertBigint(r);case"date":return gn.convertDate(r);default:return r}}},gn;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){let d=l.charAt(f);if(d==="\\"){let p=l.charAt(++f);u+=r(p)}else u+=d}return u}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
152
- `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;function i(l){return parseInt(l)}t.convertInt=i;function o(l){return BigInt(l)}t.convertBigint=o;function s(l){return new Date(l)}t.convertDate=s;function a(l){return Number(l)}t.convertNumber=a;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(gn||(gn={}));var oe={};Se(oe,mm(tw(),1));function px(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var rp=0,rw=10;function np(){return rp=performance.now(),new oe.CancellationTokenSource}function nw(t){rw=t}var wr=Symbol("OperationCancelled");function yn(t){return t===wr}async function pt(t){if(t===oe.CancellationToken.None)return;let e=performance.now();if(e-rp>=rw&&(rp=e,await px(),rp=performance.now()),t.isCancellationRequested)throw wr}var Jt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var ip=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=sw(n.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(s,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=iw(n.text,!1,o);if(c-a===u.length)for(let d=0,p=u.length;d<p;d++)l[d+a+1]=u[d];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let f=n.text.length-(s-o);if(f!==0)for(let d=a+1+u.length,p=l.length;d<p;d++)l[d]=l[d]+f}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=iw(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return e=this.ensureBeforeEOL(e,r[o]),{line:o,character:e-r[o]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,o=Math.min(n+e.character,i);return this.ensureBeforeEOL(o,n)}ensureBeforeEOL(e,r){for(;e>r&&ow(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},fa;(function(t){function e(i,o,s,a){return new ip(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof ip)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){let s=i.getText(),a=hx(o.map(p2),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),c=0,l=[];for(let u of a){let f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(s.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(s.substr(c)),l.join("")}t.applyEdits=n})(fa||(fa={}));function hx(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);hx(n,e),hx(i,e);let o=0,s=0,a=0;for(;o<n.length&&s<i.length;)e(n[o],i[s])<=0?t[a++]=n[o++]:t[a++]=i[s++];for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function iw(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);ow(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function ow(t){return t===13||t===10}function sw(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function p2(t){let e=sw(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var aw;(()=>{"use strict";var t={975:O=>{function R(w){if(typeof w!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(w))}function L(w,A){for(var S,M="",X=0,F=-1,W=0,Z=0;Z<=w.length;++Z){if(Z<w.length)S=w.charCodeAt(Z);else{if(S===47)break;S=47}if(S===47){if(!(F===Z-1||W===1))if(F!==Z-1&&W===2){if(M.length<2||X!==2||M.charCodeAt(M.length-1)!==46||M.charCodeAt(M.length-2)!==46){if(M.length>2){var pe=M.lastIndexOf("/");if(pe!==M.length-1){pe===-1?(M="",X=0):X=(M=M.slice(0,pe)).length-1-M.lastIndexOf("/"),F=Z,W=0;continue}}else if(M.length===2||M.length===1){M="",X=0,F=Z,W=0;continue}}A&&(M.length>0?M+="/..":M="..",X=2)}else M.length>0?M+="/"+w.slice(F+1,Z):M=w.slice(F+1,Z),X=Z-F-1;F=Z,W=0}else S===46&&W!==-1?++W:W=-1}return M}var $={resolve:function(){for(var w,A="",S=!1,M=arguments.length-1;M>=-1&&!S;M--){var X;M>=0?X=arguments[M]:(w===void 0&&(w=process.cwd()),X=w),R(X),X.length!==0&&(A=X+"/"+A,S=X.charCodeAt(0)===47)}return A=L(A,!S),S?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(w){if(R(w),w.length===0)return".";var A=w.charCodeAt(0)===47,S=w.charCodeAt(w.length-1)===47;return(w=L(w,!A)).length!==0||A||(w="."),w.length>0&&S&&(w+="/"),A?"/"+w:w},isAbsolute:function(w){return R(w),w.length>0&&w.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var w,A=0;A<arguments.length;++A){var S=arguments[A];R(S),S.length>0&&(w===void 0?w=S:w+="/"+S)}return w===void 0?".":$.normalize(w)},relative:function(w,A){if(R(w),R(A),w===A||(w=$.resolve(w))===(A=$.resolve(A)))return"";for(var S=1;S<w.length&&w.charCodeAt(S)===47;++S);for(var M=w.length,X=M-S,F=1;F<A.length&&A.charCodeAt(F)===47;++F);for(var W=A.length-F,Z=X<W?X:W,pe=-1,V=0;V<=Z;++V){if(V===Z){if(W>Z){if(A.charCodeAt(F+V)===47)return A.slice(F+V+1);if(V===0)return A.slice(F+V)}else X>Z&&(w.charCodeAt(S+V)===47?pe=V:V===0&&(pe=0));break}var te=w.charCodeAt(S+V);if(te!==A.charCodeAt(F+V))break;te===47&&(pe=V)}var De="";for(V=S+pe+1;V<=M;++V)V!==M&&w.charCodeAt(V)!==47||(De.length===0?De+="..":De+="/..");return De.length>0?De+A.slice(F+pe):(F+=pe,A.charCodeAt(F)===47&&++F,A.slice(F))},_makeLong:function(w){return w},dirname:function(w){if(R(w),w.length===0)return".";for(var A=w.charCodeAt(0),S=A===47,M=-1,X=!0,F=w.length-1;F>=1;--F)if((A=w.charCodeAt(F))===47){if(!X){M=F;break}}else X=!1;return M===-1?S?"/":".":S&&M===1?"//":w.slice(0,M)},basename:function(w,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');R(w);var S,M=0,X=-1,F=!0;if(A!==void 0&&A.length>0&&A.length<=w.length){if(A.length===w.length&&A===w)return"";var W=A.length-1,Z=-1;for(S=w.length-1;S>=0;--S){var pe=w.charCodeAt(S);if(pe===47){if(!F){M=S+1;break}}else Z===-1&&(F=!1,Z=S+1),W>=0&&(pe===A.charCodeAt(W)?--W==-1&&(X=S):(W=-1,X=Z))}return M===X?X=Z:X===-1&&(X=w.length),w.slice(M,X)}for(S=w.length-1;S>=0;--S)if(w.charCodeAt(S)===47){if(!F){M=S+1;break}}else X===-1&&(F=!1,X=S+1);return X===-1?"":w.slice(M,X)},extname:function(w){R(w);for(var A=-1,S=0,M=-1,X=!0,F=0,W=w.length-1;W>=0;--W){var Z=w.charCodeAt(W);if(Z!==47)M===-1&&(X=!1,M=W+1),Z===46?A===-1?A=W:F!==1&&(F=1):A!==-1&&(F=-1);else if(!X){S=W+1;break}}return A===-1||M===-1||F===0||F===1&&A===M-1&&A===S+1?"":w.slice(A,M)},format:function(w){if(w===null||typeof w!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof w);return(function(A,S){var M=S.dir||S.root,X=S.base||(S.name||"")+(S.ext||"");return M?M===S.root?M+X:M+"/"+X:X})(0,w)},parse:function(w){R(w);var A={root:"",dir:"",base:"",ext:"",name:""};if(w.length===0)return A;var S,M=w.charCodeAt(0),X=M===47;X?(A.root="/",S=1):S=0;for(var F=-1,W=0,Z=-1,pe=!0,V=w.length-1,te=0;V>=S;--V)if((M=w.charCodeAt(V))!==47)Z===-1&&(pe=!1,Z=V+1),M===46?F===-1?F=V:te!==1&&(te=1):F!==-1&&(te=-1);else if(!pe){W=V+1;break}return F===-1||Z===-1||te===0||te===1&&F===Z-1&&F===W+1?Z!==-1&&(A.base=A.name=W===0&&X?w.slice(1,Z):w.slice(W,Z)):(W===0&&X?(A.name=w.slice(1,F),A.base=w.slice(1,Z)):(A.name=w.slice(W,F),A.base=w.slice(W,Z)),A.ext=w.slice(F,Z)),W>0?A.dir=w.slice(0,W-1):X&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,O.exports=$}},e={};function r(O){var R=e[O];if(R!==void 0)return R.exports;var L=e[O]={exports:{}};return t[O](L,L.exports,r),L.exports}r.d=(O,R)=>{for(var L in R)r.o(R,L)&&!r.o(O,L)&&Object.defineProperty(O,L,{enumerable:!0,get:R[L]})},r.o=(O,R)=>Object.prototype.hasOwnProperty.call(O,R),r.r=O=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>le}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c(O,R){if(!O.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${O.authority}", path: "${O.path}", query: "${O.query}", fragment: "${O.fragment}"}`);if(O.scheme&&!o.test(O.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(O.path){if(O.authority){if(!s.test(O.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(O.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(R,L,$,w,A,S=!1){de(this,"scheme");de(this,"authority");de(this,"path");de(this,"query");de(this,"fragment");typeof R=="object"?(this.scheme=R.scheme||l,this.authority=R.authority||l,this.path=R.path||l,this.query=R.query||l,this.fragment=R.fragment||l):(this.scheme=(function(M,X){return M||X?M:"file"})(R,S),this.authority=L||l,this.path=(function(M,X){switch(M){case"https":case"http":case"file":X?X[0]!==u&&(X=u+X):X=u}return X})(this.scheme,$||l),this.query=w||l,this.fragment=A||l,c(this,S))}static isUri(R){return R instanceof d||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}get fsPath(){return _(this,!1)}with(R){if(!R)return this;let{scheme:L,authority:$,path:w,query:A,fragment:S}=R;return L===void 0?L=this.scheme:L===null&&(L=l),$===void 0?$=this.authority:$===null&&($=l),w===void 0?w=this.path:w===null&&(w=l),A===void 0?A=this.query:A===null&&(A=l),S===void 0?S=this.fragment:S===null&&(S=l),L===this.scheme&&$===this.authority&&w===this.path&&A===this.query&&S===this.fragment?this:new m(L,$,w,A,S)}static parse(R,L=!1){let $=f.exec(R);return $?new m($[2]||l,k($[4]||l),k($[5]||l),k($[7]||l),k($[9]||l),L):new m(l,l,l,l,l)}static file(R){let L=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){let $=R.indexOf(u,2);$===-1?(L=R.substring(2),R=u):(L=R.substring(2,$),R=R.substring($)||u)}return new m("file",L,R,l,l)}static from(R){let L=new m(R.scheme,R.authority,R.path,R.query,R.fragment);return c(L,!0),L}toString(R=!1){return E(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof d)return R;{let L=new m(R);return L._formatted=R.external,L._fsPath=R._sep===p?R.fsPath:null,L}}return R}}let p=i?1:void 0;class m extends d{constructor(){super(...arguments);de(this,"_formatted",null);de(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=_(this,!1)),this._fsPath}toString(L=!1){return L?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let L={$mid:1};return this._fsPath&&(L.fsPath=this._fsPath,L._sep=p),this._formatted&&(L.external=this._formatted),this.path&&(L.path=this.path),this.scheme&&(L.scheme=this.scheme),this.authority&&(L.authority=this.authority),this.query&&(L.query=this.query),this.fragment&&(L.fragment=this.fragment),L}}let g={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 v(O,R,L){let $,w=-1;for(let A=0;A<O.length;A++){let S=O.charCodeAt(A);if(S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||R&&S===47||L&&S===91||L&&S===93||L&&S===58)w!==-1&&($+=encodeURIComponent(O.substring(w,A)),w=-1),$!==void 0&&($+=O.charAt(A));else{$===void 0&&($=O.substr(0,A));let M=g[S];M!==void 0?(w!==-1&&($+=encodeURIComponent(O.substring(w,A)),w=-1),$+=M):w===-1&&(w=A)}}return w!==-1&&($+=encodeURIComponent(O.substring(w))),$!==void 0?$:O}function T(O){let R;for(let L=0;L<O.length;L++){let $=O.charCodeAt(L);$===35||$===63?(R===void 0&&(R=O.substr(0,L)),R+=g[$]):R!==void 0&&(R+=O[L])}return R!==void 0?R:O}function _(O,R){let L;return L=O.authority&&O.path.length>1&&O.scheme==="file"?`//${O.authority}${O.path}`:O.path.charCodeAt(0)===47&&(O.path.charCodeAt(1)>=65&&O.path.charCodeAt(1)<=90||O.path.charCodeAt(1)>=97&&O.path.charCodeAt(1)<=122)&&O.path.charCodeAt(2)===58?R?O.path.substr(1):O.path[1].toLowerCase()+O.path.substr(2):O.path,i&&(L=L.replace(/\//g,"\\")),L}function E(O,R){let L=R?T:v,$="",{scheme:w,authority:A,path:S,query:M,fragment:X}=O;if(w&&($+=w,$+=":"),(A||w==="file")&&($+=u,$+=u),A){let F=A.indexOf("@");if(F!==-1){let W=A.substr(0,F);A=A.substr(F+1),F=W.lastIndexOf(":"),F===-1?$+=L(W,!1,!1):($+=L(W.substr(0,F),!1,!1),$+=":",$+=L(W.substr(F+1),!1,!0)),$+="@"}A=A.toLowerCase(),F=A.lastIndexOf(":"),F===-1?$+=L(A,!1,!0):($+=L(A.substr(0,F),!1,!0),$+=A.substr(F))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){let F=S.charCodeAt(1);F>=65&&F<=90&&(S=`/${String.fromCharCode(F+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){let F=S.charCodeAt(0);F>=65&&F<=90&&(S=`${String.fromCharCode(F+32)}:${S.substr(2)}`)}$+=L(S,!0,!1)}return M&&($+="?",$+=L(M,!1,!1)),X&&($+="#",$+=R?X:v(X,!1,!1)),$}function I(O){try{return decodeURIComponent(O)}catch{return O.length>3?O.substr(0,3)+I(O.substr(3)):O}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(O){return O.match(D)?O.replace(D,(R=>I(R))):O}var B=r(975);let U=B.posix||B,z="/";var le;(function(O){O.joinPath=function(R,...L){return R.with({path:U.join(R.path,...L)})},O.resolvePath=function(R,...L){let $=R.path,w=!1;$[0]!==z&&($=z+$,w=!0);let A=U.resolve($,...L);return w&&A[0]===z&&!R.authority&&(A=A.substring(1)),R.with({path:A})},O.dirname=function(R){if(R.path.length===0||R.path===z)return R;let L=U.dirname(R.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),R.with({path:L})},O.basename=function(R){return U.basename(R.path)},O.extname=function(R){return U.extname(R.path)}})(le||(le={})),aw=n})();var{URI:ht,Utils:da}=aw;var vt;(function(t){t.basename=da.basename,t.dirname=da.dirname,t.extname=da.extname,t.joinPath=da.joinPath,t.resolvePath=da.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,a){return s?.toString()===a?.toString()}t.equals=r;function n(s,a){let c=typeof s=="string"?ht.parse(s).path:s.path,l=typeof a=="string"?ht.parse(a).path:a.path,u=c.split("/").filter(g=>g.length>0),f=l.split("/").filter(g=>g.length>0);if(e){let g=/^[A-Z]:$/;if(u[0]&&g.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&g.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let d=0;for(;d<u.length&&u[d]===f[d];d++);let p="../".repeat(u.length-d),m=f.slice(d).join("/");return p+m}t.relative=n;function i(s){return ht.parse(s.toString()).toString()}t.normalize=i;function o(s,a){let c=typeof s=="string"?s:s.path,l=typeof a=="string"?a:a.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=o})(vt||(vt={}));var pa=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return vt.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:vt.joinPath(ht.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:vt.joinPath(ht.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(vt.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let o of n){let s=i.children.get(o);if(!s)if(r)s={name:o,children:new Map,parent:i},i.children.set(o,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ye;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ye||(ye={}));var wl=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=oe.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ht.parse(e.uri),oe.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return oe.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:ye.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:ye.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),o=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:s})}return n!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=ye.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=fa.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Al=class{constructor(e){this.documentTrie=new pa,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return xe(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ye.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ye.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ye.Changed;return this.documentTrie.delete(r),n}};var Mo=Symbol("RefResolving"),Sl=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=oe.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of zt(e.parseResult.value))await pt(r),si(i).forEach(o=>{let s=`${i.$type}:${o.property}`;n.startSubTask(s);try{this.doLink(o,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of zt(e.parseResult.value))await pt(r),si(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Mo;try{let i=this.getCandidate(e);if(to(i))n._ref=i;else{n._nodeDescription=i;let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let o=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${o}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Mo;try{let i=this.getCandidates(e),o=[];if(to(i))n._linkingError=i;else for(let s of i){let a=this.loadAstNode(s);a&&o.push({ref:a,$nodeDescription:s})}n._items=o}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(dt(this._ref))return this._ref;if(Tm(this._nodeDescription)){let a=o.loadAstNode(this._nodeDescription);this._ref=a??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Mo;let a=ds(e).$document,c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&a&&a.state<ye.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,a?.references.push(this)}else this._ref===Mo&&o.throwCyclicReferenceError(e,r,i);return dt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return to(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Mo;let a=ds(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(to(c))this._linkingError=c;else for(let u of c){let f=o.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,a?.references.push(this)}else this._items===Mo&&o.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=o.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(to(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ds(e.container).$document;n&&n.state<ye.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function cw(t){return typeof t.name=="string"}var Il=class{getName(e){if(cw(e))return e.name}getNameNode(e){return Gc(e.$cstNode,"name")}};var kl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=zt(e.Grammar).some(r=>Br(r)&&r.isMulti)}findDeclarations(e){if(e){let r=sg(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(St(i)||ur(i))return cf(i);if(Array.isArray(i)){for(let o of i)if((St(o)||ur(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return cf(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Hm(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of si(n))if(ur(i.reference)&&i.reference.items.some(o=>o.ref===e))return i.reference.items.map(o=>o.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i)??i.$cstNode;o&&n.push(o)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>vt.equals(o.sourceUri,r.documentUri))),n.push(...i),xe(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i);if(o){let s=Ft(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:mo(o),local:!0})}}return n}};var Bt=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return us.sum(xe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?xe(r):oi}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return xe(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return xe(this.map.keys())}values(){return xe(this.map.values()).flat()}entriesGroupedByKey(){return xe(this.map.entries())}},Fo=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Nl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=oe.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=bc,i=oe.CancellationToken.None){let o=[];this.addExportedSymbol(e,o,r);for(let s of n(e))await pt(i),this.addExportedSymbol(s,o,r);return o}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=oe.CancellationToken.None){let n=e.parseResult.value,i=new Bt;for(let o of Mr(n))await pt(r),this.addLocalSymbol(o,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var ha=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},mx=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?xe(i).concat(this.outerScope.getElements(e)):xe(i)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Pl=class{constructor(e,r,n){this.elements=new Bt,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?xe(n).concat(this.outerScope.getElements(e)):xe(n)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},h2={getElement(){},getElements(){return oi},getAllElements(){return oi}};var ma=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Cl=class extends ma{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Uo=class extends ma{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},op=class extends Uo{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let o of i)this.clear(o)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let o=n.concat(i);for(let s of o)this.clear(s)}))}},ga=class extends Cl{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Ol=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new ga(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ft(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(a=>this.reflection.isSubtype(a.type,n))),s=s.$container;while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new ha(xe(e),r,n)}createScopeForNodes(e,r,n){let i=xe(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new ha(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Pl(this.indexManager.allElements(e)))}};function gx(t){return typeof t.$comment=="string"}function lw(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Ll=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,o=(a,c)=>this.replacer(a,c,n),s=i?(a,c)=>i(a,c,o):o;try{return this.currentDocument=Ft(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e))if(St(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let u=Ft(c),f="";this.currentDocument&&this.currentDocument!==u&&(a?f=a(u.uri,c):f=u.uri.toString());let d=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${d}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(ur(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Ft(u.ref),p="";this.currentDocument&&this.currentDocument!==d&&(a?p=a(d.uri,f):p=d.uri.toString());let m=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${m}`)}return{$refs:l,$refText:c}}else if(dt(r)){let c;if(o&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),s){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=rg(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o,s){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){let f=l[u];lw(f)?l[u]=this.reviveReference(e,c,r,f,n):dt(f)&&this.linkNode(f,r,n,e,c,u)}else lw(l)?e[c]=this.reviveReference(e,c,r,l,n):dt(l)&&this.linkNode(l,r,n,e,c);let a=e;a.$container=i,a.$containerProperty=o,a.$containerIndex=s}reviveReference(e,r,n,i,o){let s=i.$refText,a=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,o.uriConverter);if(dt(l))return s||(s=this.nameProvider.getName(l)),{$refText:s??"",ref:l};a=l}else if(i.$refs){let l=[];for(let u of i.$refs){let f=this.getRefNode(n,u,o.uriConverter);dt(f)&&l.push({ref:f})}if(l.length===0)c={$refText:s??"",items:l},a??(a="Could not resolve multi-reference");else return{$refText:s??"",items:l}}if(a)return c??(c={$refText:s??"",ref:void 0}),c.error={info:{container:e,property:r,reference:c},message:a},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):ht.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let o=n?n(r.substring(0,i)):ht.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(o);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return a||"Could not resolve URI: "+r}catch(i){return String(i)}}};var Dl=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=vt.extname(e),i=vt.basename(e),o=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!o)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Bo(t){return{code:t}}var sp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(sp||(sp={}));var $l=class{constructor(e){this.entries=new Bt,this.knownCategories=new Set(sp.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}else un(s)}}wrapValidationException(e,r){return async(n,i,o)=>{await this.handleException(()=>e.call(r,n,i,o),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(o){if(yn(o))throw o;console.error(`${r}:`,o),o instanceof Error&&o.stack&&console.error(o.stack);let s=o instanceof Error?o.message:String(o);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=xe(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,o,s,a)=>{await this.handleException(()=>e.call(n,i,o,s,a),r,o,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var uw=Object.freeze({validateNode:!0,validateChildren:!0}),Ml=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=oe.CancellationToken.None){let i=e.parseResult,o=[];if(await pt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>s.data?.code===Ar.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===Ar.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===Ar.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(yn(s))throw s;console.error("An error occurred during validation:",s)}return await pt(n),o}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let o of i){let s=o.severity??"error",a={severity:ap(s),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:dw(s),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let a={line:0,character:0};o={start:a,end:a}}else{let a={line:s.endLine-1,character:s.endColumn};o={start:a,end:a}}}}else o=Es(i.token);if(o){let s={severity:ap("error"),range:o,message:i.message,data:Bo(Ar.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.info.container,range:i.$refNode?.range,property:o.info.property,index:o.info.index,data:{code:Ar.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=oe.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await this.validateAstBefore(e,r,o,n),await this.validateAstNodes(e,r,o,n),await this.validateAstAfter(e,r,o,n),i}async validateAstBefore(e,r,n,i=oe.CancellationToken.None){let o=this.validationRegistry.checksBefore;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=oe.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=zt(e).iterator();for(let a of s){o.startSubTask(a.$type);let c=this.validateSingleNodeOptions(a,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(a.$type,r.categories);for(let u of l)await u(a,n,i)}finally{o.stopSubTask(a.$type)}c.validateChildren||s.prune()}}finally{o.stop()}}else{let o=zt(e).iterator();for(let s of o){await pt(i);let a=this.validateSingleNodeOptions(s,r);if(a.validateNode){let c=this.validationRegistry.getChecks(s.$type,r.categories);for(let l of c)await l(s,n,i)}a.validateChildren||o.prune()}}}validateSingleNodeOptions(e,r){return uw}async validateAstAfter(e,r,n,i=oe.CancellationToken.None){let o=this.validationRegistry.checksAfter;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:fw(n),severity:ap(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function fw(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Gc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=ig(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function ap(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function dw(t){switch(t){case"error":return Bo(Ar.LexingError);case"warning":return Bo(Ar.LexingWarning);case"info":return Bo(Ar.LexingInfo);case"hint":return Bo(Ar.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Ar;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ar||(Ar={}));var Fl=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ft(e);r??(r=this.nameProvider.getName(e));let o=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${o} has no name.`);let s,a=()=>s??(s=mo(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:mo(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},Ul=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=oe.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of zt(i))await pt(r),si(o).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];St(r)&&r.$nodeDescription?n=[r.$nodeDescription]:ur(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Ft(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=mo(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:vt.equals(c.documentUri,i)});return s}};var Bl=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1));return i[a]?.[c]}return i[o]},e)}};var it={};Se(it,mm(ux(),1));var Gl=class{constructor(e){this._ready=new Jt,this.onConfigurationSectionUpdateEmitter=new it.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var $a=mm(FI(),1);var Bi;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Bi||(Bi={}));var Zl=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Bt,this.documentPhaseListeners=new Bt,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ye.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=oe.CancellationToken.None){for(let i of e){let o=i.uri.toString();if(i.state===ye.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ye.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(o)?.result}),i.state=ye.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=ye.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=oe.CancellationToken.None){this.currentState=ye.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let u of l)i.push(u.uri),this.cleanUpDeleted(u)}let o=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of o){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=ye.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,ye.Changed)}let s=xe(o).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!s.has(c.uri.toString())&&this.shouldRelink(c,s)).forEach(c=>this.resetToState(c,ye.ComputedScopes)),await this.emitUpdate(o,i),await pt(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<ye.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),o=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return xe(s).filter(a=>!o.has(a)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Bi.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ye.Changed:case ye.Parsed:this.indexManager.removeContent(e.uri);case ye.IndexedContent:e.localSymbols=void 0;case ye.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ye.Linked:this.indexManager.removeReferences(e.uri);case ye.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ye.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ye.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ye.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,ye.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,ye.ComputedScopes,n,async s=>{let a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await a.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,ye.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,ye.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let o=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(o,ye.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.state<r&&(await pt(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));let o=e.filter(s=>s.state===r);await this.notifyBuildPhase(o,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Bi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Bi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=oe.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(wr);if(this.currentState>=e&&e>i.state)return Promise.reject(new $a.ResponseError($a.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ye[i.state]}, requiring ${ye[e]}, but workspace state is already ${ye[this.currentState]}. Returning undefined.`))}else return Promise.reject(new $a.ResponseError($a.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{vt.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(wr)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(wr):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(wr)})})}async notifyDocumentPhase(e,r,n){let o=this.documentPhaseListeners.get(r).slice();for(let s of o)try{await pt(n),await s(e,n)}catch(a){if(!yn(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let o=this.buildPhaseListeners.get(r).slice();for(let s of o)await pt(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),o=typeof i.validation=="object"?{...i.validation}:{};o.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=xe(a.result.validationChecks).concat(o.categories).distinct().toArray():a.result.validationChecks=[...o.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var Jl=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Uo,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ft(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{vt.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),xe(i)}allElements(e,r){let n=xe(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(o=>this.astReflection.isSubtype(o.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=oe.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),o=e.uri.toString();this.symbolIndex.set(o,i),this.symbolByTypeIndex.clear(o)}async updateReferences(e,r=oe.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var Ql=class{constructor(e){this.initialBuildOptions={},this._ready=new Jt,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=oe.CancellationToken.None){let n=await this.performStartup(e);await pt(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let o=xe(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(o,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ht.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=vt.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var eu=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return Cs.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return Cs.buildUnableToPopLexerModeMessage(e)}},Hp={mode:"full"},jo=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=XT(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new ct(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Hp){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(XT(e))return e;let r=HT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function jp(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function HT(t){return t&&"modes"in t&&"defaultMode"in t}function XT(t){return!jp(t)&&!HT(t)}sa();function qT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Ie.create(0,0));let o=GI(t),s=VT(n),a=fU({lines:o,position:i,options:s});return gU({index:0,tokens:a,position:i})}function WT(t,e){let r=VT(e),n=GI(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function GI(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Ym)}var UI=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,uU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function fU(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let o=i===0,s=i===t.lines.length-1,a=t.lines[i],c=0;if(o&&t.options.start){let u=t.options.start?.exec(a);u&&(c=u.index+u[0].length)}else{let u=t.options.line?.exec(a);u&&(c=u.index+u[0].length)}if(s){let u=t.options.end?.exec(a);u&&(a=a.substring(0,u.index))}if(a=a.substring(0,mU(a)),zT(a,c)>=a.length){if(e.length>0){let u=Ie.create(r,n);e.push({type:"break",content:"",range:Ee.create(u,u)})}}else{UI.lastIndex=c;let u=UI.exec(a);if(u){let f=u[0],d=u[1],p=Ie.create(r,n+c),m=Ie.create(r,n+c+f.length);e.push({type:"tag",content:d,range:Ee.create(p,m)}),c+=f.length,c=zT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll(uU));e.push(...dU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function dU(t,e,r,n){let i=[];if(t.length===0){let o=Ie.create(r,n),s=Ie.create(r,n+e.length);i.push({type:"text",content:e,range:Ee.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,l=e.substring(o,c);l.length>0&&i.push({type:"text",content:e.substring(o,c),range:Ee.create(Ie.create(r,o+n),Ie.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+f.length+n))}),u+=f.length,a.length===4){u+=a[2].length;let d=a[3];i.push({type:"text",content:d,range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:Ee.create(Ie.create(r,o+n),Ie.create(r,o+n+s.length))})}return i}var pU=/\S/,hU=/\s*$/;function zT(t,e){let r=t.substring(e).match(pU);return r?e+r.index:t.length}function mU(t){let e=t.match(hU);if(e&&typeof e.index=="number")return e.index}function gU(t){let e=Ie.create(t.position.line,t.position.character);if(t.tokens.length===0)return new zp([],Ee.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=yU(t,r[r.length-1]);o&&r.push(o)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new zp(r,Ee.create(n,i))}function yU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return HI(t,!1);if(r.type==="text"||r.type==="inline-tag")return XI(t);xU(r,e),t.index++}function xU(t,e){if(e){let r=new qp("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function XI(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(TU(t)),n=e,e=t.tokens[t.index];return new ru(i,Ee.create(r.range.start,n.range.end))}function TU(t){return t.tokens[t.index].type==="inline-tag"?HI(t,!0):jI(t)}function HI(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=jI(t);return new tu(n,new ru([o],o.range),e,Ee.create(r.range.start,o.range.end))}else{let o=XI(t);return new tu(n,o,e,Ee.create(r.range.start,o.range.end))}else{let o=r.range;return new tu(n,new ru([],o),e,o)}}function jI(t){let e=t.tokens[t.index++];return new qp(e.content,e.range)}function VT(t){if(!t)return VT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:jT(e,!0),end:jT(r,!1),line:jT(n,!0)}}function jT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?hi(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var zp=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=BI(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=BI(r)+i}return r.trim()}},tu=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
153
- ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let o=_U(this.name,r,e??{});if(typeof o=="string")return o}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
154
- ${r}`),this.inline?`{${i}}`:i}};function _U(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let s=zT(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??EU(e,i)}}function EU(t,e){try{return ht.parse(t,!0),`[${e}](${t})`}catch{return t}}var ru=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
151
+ For Further details.`,n}function VF(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof We)return"OR";if(t instanceof Je)return"AT_LEAST_ONE";if(t instanceof Qe)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}function YF(t,e,r){let n=Pw(e.configs.elements,o=>o.state.transitions),i=Xw(n.filter(o=>o instanceof ea).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function KF(t,e){return t.edges[e.tokenTypeIdx]}function ZF(t,e,r){let n=new na,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===No){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=JF(l,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new na;for(let s of n.elements)zd(s,o)}if(i.length>0&&!r2(o))for(let s of i)o.add(s);return o}function JF(t,e){if(t instanceof ea&&$s(e,t.tokenType))return t.target}function QF(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Jw(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Zw(t,e,r,n){return n=Qw(t,n),e.edges[r.tokenTypeIdx]=n,n}function Qw(t,e){if(e===yl)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function e2(t){let e=new na,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};zd(o,e)}return e}function zd(t,e){let r=t.state;if(r.type===No){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};zd(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=t2(t,o);s!==void 0&&zd(s,e)}}function t2(t,e){if(e instanceof gl)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof ta){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function r2(t){for(let e of t.elements)if(e.state.type===No)return!0;return!1}function n2(t){for(let e of t.elements)if(e.state.type!==No)return!1;return!0}function i2(t){if(n2(t))return!0;let e=o2(t.elements);return s2(e)&&!a2(e)}function o2(t){let e=new Map;for(let r of t){let n=Jg(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function s2(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function a2(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function c2(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===No)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}la();var Al=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new ua(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Do;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Lo(e.startOffset,e.image.length,ws(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let o of e){let s=new Lo(o.startOffset,o.image.length,ws(o),o.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let o=n.container.content.indexOf(n);if(o>0){n.container.content.splice(o,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Il=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},Lo=class extends Il{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Do=class extends Il{constructor(){super(...arguments),this.content=new nx(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:Se.create(0,0),end:Se.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},nx=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},ua=class extends Do{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var tp=Symbol("Datatype");function ix(t){return t.$type===tp}var eb="\u200B",tb=t=>t.endsWith(eb)?t:t+eb,Sl=class{constructor(e,r){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let n=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new ox(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new np(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r)}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},kl=class extends Sl{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new Al,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;mi(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(tb(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,o),kt(e)&&e.entry&&(this.mainRule=o),o}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let o=e.operators.precedences[i];for(let s of o.operators)n.set(s.value,{precedence:i,rightAssoc:o.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return mi(e)?yi(e):e.fragment?void 0:Yc(e)?tp:yi(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let o=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,hs(o,{deep:!0}),{value:o,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let o=!this.isRecording()&&e!==void 0;if(o){let s={$type:e};this.stack.push(s),e===tp?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),o?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let o=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(o);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:a,crossRef:c}=this.getAssignment(n),l=this.current;if(a){let u=Er(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(ix(l)){let u=i.image;Er(n)||(u=this.converter.convert(u,s).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,o){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let a;try{a=this.wrapper.wrapSubrule(e,r,o)}finally{this.isRecording()||(a===void 0&&!n&&(a=this.construct()),a!==void 0&&s&&s.length>0&&this.performSubruleAssignment(a,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(ix(s))s.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let o={$type:e};this.stack.push(o),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):ix(e)?this.converter.convert(e.value,e.$cstNode):(Im(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let o=0,s=-1;for(let y=0;y<i.length;y++){let T=i[y],_=r.get(T)??{precedence:1/0,rightAssoc:!1};_.precedence>s?(s=_.precedence,o=y):_.precedence===s&&(_.rightAssoc||(o=y))}let a=i.slice(0,o),c=i.slice(o+1),l=n.slice(0,o+1),u=n.slice(o+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,r),m=this.constructInfix(d,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[o],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=In(e,Fr);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Ur(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o==="single"&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):o==="multi"&&typeof n=="string"?a=this.linker.buildMultiReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[i,o]of Object.entries(r)){let s=e[i];s===void 0?e[i]=o:Array.isArray(s)&&Array.isArray(o)&&(o.push(...s),e[i]=o)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},rp=class{buildMismatchTokenMessage(e){return Fn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Fn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Fn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Fn.buildEarlyExitMessage(e)}},fa=class extends rp{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Nl=class extends Sl{constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(tb(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,o){this.before(i),this.wrapper.wrapSubrule(e,r,o),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},u2={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new fa},np=class extends fl{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...u2,lookaheadStrategy:i?new Un({maxLookahead:r.maxLookahead}):new xl({logging:r.skipValidations?()=>{}:void 0,incomplete:n}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},ox=class extends np{constructor(e,r,n,i){super(e,r,n),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function Cl(t,e,r){return f2({parser:e,tokens:r,ruleNames:new Map},t),e}function f2(t,e){let r=Wc(e,!1),n=xe(e.rules).filter(kt).filter(o=>r.has(o));for(let o of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(o,$o(s,o.definition))}let i=xe(e.rules).filter(mi).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,d2(t,o))}function d2(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(zt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},o={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(o,s);let c={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...o,$container:s};s.elements.push(c,l);let f=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,c)})),d;return p=>{d??(d=ax(t,r)),t.parser.subrule(0,d,!1,o,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,d,!1,l,p)}})}}function $o(t,e,r=!1){let n;if(Er(e))n=T2(t,e);else if(Cn(e))n=p2(t,e);else if(Fr(e))n=$o(t,e.terminal);else if(Ur(e))n=rb(t,e);else if(Br(e))n=h2(t,e);else if(kf(e))n=g2(t,e);else if(Of(e))n=y2(t,e);else if(hi(e))n=x2(t,e);else if(Lm(e)){let i=t.consume++;n=()=>t.parser.consume(i,Vt,e)}else throw new xo(e.$cstNode,`Unexpected element type: ${e.$type}`);return nb(t,r?void 0:ip(e),n,e.cardinality)}function p2(t,e){let r=yi(e);return()=>t.parser.action(r,e)}function h2(t,e){let r=e.rule.ref;if(Nn(r)){let n=t.subrule++,i=kt(r)&&r.fragment,o=e.arguments.length>0?m2(r,e.arguments):()=>({}),s;return a=>{s??(s=ax(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(zt(r)){let n=t.consume++,i=sx(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)an(r);else throw new xo(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function m2(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:dn(i.value)}));return i=>{let o={};for(let{parameterName:s,predicate:a}of n)s&&(o[s]=a(i));return o}}else{let n=e.map(i=>dn(i.value));return i=>{let o={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){let a=t.parameters[s].name,c=n[s];o[a]=c(i)}return o}}}function dn(t){if(Om(t)){let e=dn(t.left),r=dn(t.right);return n=>e(n)||r(n)}else if(Pm(t)){let e=dn(t.left),r=dn(t.right);return n=>e(n)&&r(n)}else if(Mm(t)){let e=dn(t.value);return r=>!e(r)}else if(Fm(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Nm(t)){let e=!!t.true;return()=>e}an(t)}function g2(t,e){if(e.elements.length===1)return $o(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:$o(t,i,!0)},s=ip(i);s&&(o.GATE=dn(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function y2(t,e){if(e.elements.length===1)return $o(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:$o(t,a,!0)},l=ip(a);l&&(c.GATE=dn(l)),r.push(c)}let n=t.or++,i=(a,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${a}_${l}`},o=a=>t.parser.alternatives(n,r.map((c,l)=>{let u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(a),!f.isRecording()){let p=i(n,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let m=f.unorderedGroups.get(p);typeof m?.[l]>"u"&&(m[l]=!0)}};let d=c.GATE;return d?u.GATE=()=>d(a):u.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[l],u})),s=nb(t,ip(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function x2(t,e){let r=e.elements.map(n=>$o(t,n));return n=>r.forEach(i=>i(n))}function ip(t){if(hi(t))return t.guardCondition}function rb(t,e,r=e.terminal){if(r)if(Br(r)&&kt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,o;return s=>{o??(o=ax(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Br(r)&&zt(r.rule.ref)){let n=t.consume++,i=sx(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Er(r)){let n=t.consume++,i=sx(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=Uf(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+yi(e.type.ref));return rb(t,e,i)}}function T2(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function nb(t,e,r,n){let i=e&&dn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:xd(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:xd(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else an(n)}function ax(t,e){let r=_2(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function _2(t,e){if(Nn(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!kt(n);)(hi(n)||kf(n)||Of(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function sx(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function cx(t){let e=t.Grammar,r=t.parser.Lexer,n=new Nl(t);return Cl(e,n,r.definition),n.finalize(),n}function lx(t){let e=ib(t);return e.finalize(),e}function ib(t){let e=t.Grammar,r=t.parser.Lexer,n=new kl(t);return Cl(e,n,r.definition)}var Mo=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=xe(Wc(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return o.push(...i),o}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(zt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=As(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=qc(r)?ct.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Nn).flatMap(i=>$r(i).filter(Er)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),o={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(o.LINE_BREAKS=!0),o}buildKeywordPattern(e,r){return r?new RegExp(gi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&rg("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var Fo=class{convert(e,r){let n=r.grammarSource;if(Ur(n)&&(n=og(n)),Br(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return pn.convertInt(r);case"STRING":return pn.convertString(r);case"ID":return pn.convertID(r)}switch(dg(e)?.toLowerCase()){case"number":return pn.convertNumber(r);case"boolean":return pn.convertBoolean(r);case"bigint":return pn.convertBigint(r);case"date":return pn.convertDate(r);default:return r}}},pn;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){let d=l.charAt(f);if(d==="\\"){let p=l.charAt(++f);u+=r(p)}else u+=d}return u}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
152
+ `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;function i(l){return parseInt(l)}t.convertInt=i;function o(l){return BigInt(l)}t.convertBigint=o;function s(l){return new Date(l)}t.convertDate=s;function a(l){return Number(l)}t.convertNumber=a;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(pn||(pn={}));var ie={};Ie(ie,Tm(lb(),1));function xx(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var cp=0,ub=10;function lp(){return cp=performance.now(),new ie.CancellationTokenSource}function fb(t){ub=t}var Rr=Symbol("OperationCancelled");function hn(t){return t===Rr}async function pt(t){if(t===ie.CancellationToken.None)return;let e=performance.now();if(e-cp>=ub&&(cp=e,await xx(),cp=performance.now()),t.isCancellationRequested)throw Rr}var Zt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var up=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=hb(n.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(s,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=db(n.text,!1,o);if(c-a===u.length)for(let d=0,p=u.length;d<p;d++)l[d+a+1]=u[d];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let f=n.text.length-(s-o);if(f!==0)for(let d=a+1+u.length,p=l.length;d<p;d++)l[d]=l[d]+f}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=db(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return e=this.ensureBeforeEOL(e,r[o]),{line:o,character:e-r[o]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,o=Math.min(n+e.character,i);return this.ensureBeforeEOL(o,n)}ensureBeforeEOL(e,r){for(;e>r&&pb(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},ha;(function(t){function e(i,o,s,a){return new up(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof up)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){let s=i.getText(),a=Tx(o.map(N2),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),c=0,l=[];for(let u of a){let f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(s.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(s.substr(c)),l.join("")}t.applyEdits=n})(ha||(ha={}));function Tx(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Tx(n,e),Tx(i,e);let o=0,s=0,a=0;for(;o<n.length&&s<i.length;)e(n[o],i[s])<=0?t[a++]=n[o++]:t[a++]=i[s++];for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function db(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);pb(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function pb(t){return t===13||t===10}function hb(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function N2(t){let e=hb(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var mb;(()=>{"use strict";var t={975:L=>{function R(b){if(typeof b!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(b))}function O(b,A){for(var I,F="",j=0,U=-1,W=0,Z=0;Z<=b.length;++Z){if(Z<b.length)I=b.charCodeAt(Z);else{if(I===47)break;I=47}if(I===47){if(!(U===Z-1||W===1))if(U!==Z-1&&W===2){if(F.length<2||j!==2||F.charCodeAt(F.length-1)!==46||F.charCodeAt(F.length-2)!==46){if(F.length>2){var pe=F.lastIndexOf("/");if(pe!==F.length-1){pe===-1?(F="",j=0):j=(F=F.slice(0,pe)).length-1-F.lastIndexOf("/"),U=Z,W=0;continue}}else if(F.length===2||F.length===1){F="",j=0,U=Z,W=0;continue}}A&&(F.length>0?F+="/..":F="..",j=2)}else F.length>0?F+="/"+b.slice(U+1,Z):F=b.slice(U+1,Z),j=Z-U-1;U=Z,W=0}else I===46&&W!==-1?++W:W=-1}return F}var $={resolve:function(){for(var b,A="",I=!1,F=arguments.length-1;F>=-1&&!I;F--){var j;F>=0?j=arguments[F]:(b===void 0&&(b=process.cwd()),j=b),R(j),j.length!==0&&(A=j+"/"+A,I=j.charCodeAt(0)===47)}return A=O(A,!I),I?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(b){if(R(b),b.length===0)return".";var A=b.charCodeAt(0)===47,I=b.charCodeAt(b.length-1)===47;return(b=O(b,!A)).length!==0||A||(b="."),b.length>0&&I&&(b+="/"),A?"/"+b:b},isAbsolute:function(b){return R(b),b.length>0&&b.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var b,A=0;A<arguments.length;++A){var I=arguments[A];R(I),I.length>0&&(b===void 0?b=I:b+="/"+I)}return b===void 0?".":$.normalize(b)},relative:function(b,A){if(R(b),R(A),b===A||(b=$.resolve(b))===(A=$.resolve(A)))return"";for(var I=1;I<b.length&&b.charCodeAt(I)===47;++I);for(var F=b.length,j=F-I,U=1;U<A.length&&A.charCodeAt(U)===47;++U);for(var W=A.length-U,Z=j<W?j:W,pe=-1,V=0;V<=Z;++V){if(V===Z){if(W>Z){if(A.charCodeAt(U+V)===47)return A.slice(U+V+1);if(V===0)return A.slice(U+V)}else j>Z&&(b.charCodeAt(I+V)===47?pe=V:V===0&&(pe=0));break}var te=b.charCodeAt(I+V);if(te!==A.charCodeAt(U+V))break;te===47&&(pe=V)}var De="";for(V=I+pe+1;V<=F;++V)V!==F&&b.charCodeAt(V)!==47||(De.length===0?De+="..":De+="/..");return De.length>0?De+A.slice(U+pe):(U+=pe,A.charCodeAt(U)===47&&++U,A.slice(U))},_makeLong:function(b){return b},dirname:function(b){if(R(b),b.length===0)return".";for(var A=b.charCodeAt(0),I=A===47,F=-1,j=!0,U=b.length-1;U>=1;--U)if((A=b.charCodeAt(U))===47){if(!j){F=U;break}}else j=!1;return F===-1?I?"/":".":I&&F===1?"//":b.slice(0,F)},basename:function(b,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');R(b);var I,F=0,j=-1,U=!0;if(A!==void 0&&A.length>0&&A.length<=b.length){if(A.length===b.length&&A===b)return"";var W=A.length-1,Z=-1;for(I=b.length-1;I>=0;--I){var pe=b.charCodeAt(I);if(pe===47){if(!U){F=I+1;break}}else Z===-1&&(U=!1,Z=I+1),W>=0&&(pe===A.charCodeAt(W)?--W==-1&&(j=I):(W=-1,j=Z))}return F===j?j=Z:j===-1&&(j=b.length),b.slice(F,j)}for(I=b.length-1;I>=0;--I)if(b.charCodeAt(I)===47){if(!U){F=I+1;break}}else j===-1&&(U=!1,j=I+1);return j===-1?"":b.slice(F,j)},extname:function(b){R(b);for(var A=-1,I=0,F=-1,j=!0,U=0,W=b.length-1;W>=0;--W){var Z=b.charCodeAt(W);if(Z!==47)F===-1&&(j=!1,F=W+1),Z===46?A===-1?A=W:U!==1&&(U=1):A!==-1&&(U=-1);else if(!j){I=W+1;break}}return A===-1||F===-1||U===0||U===1&&A===F-1&&A===I+1?"":b.slice(A,F)},format:function(b){if(b===null||typeof b!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof b);return(function(A,I){var F=I.dir||I.root,j=I.base||(I.name||"")+(I.ext||"");return F?F===I.root?F+j:F+"/"+j:j})(0,b)},parse:function(b){R(b);var A={root:"",dir:"",base:"",ext:"",name:""};if(b.length===0)return A;var I,F=b.charCodeAt(0),j=F===47;j?(A.root="/",I=1):I=0;for(var U=-1,W=0,Z=-1,pe=!0,V=b.length-1,te=0;V>=I;--V)if((F=b.charCodeAt(V))!==47)Z===-1&&(pe=!1,Z=V+1),F===46?U===-1?U=V:te!==1&&(te=1):U!==-1&&(te=-1);else if(!pe){W=V+1;break}return U===-1||Z===-1||te===0||te===1&&U===Z-1&&U===W+1?Z!==-1&&(A.base=A.name=W===0&&j?b.slice(1,Z):b.slice(W,Z)):(W===0&&j?(A.name=b.slice(1,U),A.base=b.slice(1,Z)):(A.name=b.slice(W,U),A.base=b.slice(W,Z)),A.ext=b.slice(U,Z)),W>0?A.dir=b.slice(0,W-1):j&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,L.exports=$}},e={};function r(L){var R=e[L];if(R!==void 0)return R.exports;var O=e[L]={exports:{}};return t[L](O,O.exports,r),O.exports}r.d=(L,R)=>{for(var O in R)r.o(R,O)&&!r.o(L,O)&&Object.defineProperty(L,O,{enumerable:!0,get:R[O]})},r.o=(L,R)=>Object.prototype.hasOwnProperty.call(L,R),r.r=L=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(L,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(L,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>oe}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c(L,R){if(!L.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!o.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!s.test(L.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(R,O,$,b,A,I=!1){de(this,"scheme");de(this,"authority");de(this,"path");de(this,"query");de(this,"fragment");typeof R=="object"?(this.scheme=R.scheme||l,this.authority=R.authority||l,this.path=R.path||l,this.query=R.query||l,this.fragment=R.fragment||l):(this.scheme=(function(F,j){return F||j?F:"file"})(R,I),this.authority=O||l,this.path=(function(F,j){switch(F){case"https":case"http":case"file":j?j[0]!==u&&(j=u+j):j=u}return j})(this.scheme,$||l),this.query=b||l,this.fragment=A||l,c(this,I))}static isUri(R){return R instanceof d||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}get fsPath(){return v(this,!1)}with(R){if(!R)return this;let{scheme:O,authority:$,path:b,query:A,fragment:I}=R;return O===void 0?O=this.scheme:O===null&&(O=l),$===void 0?$=this.authority:$===null&&($=l),b===void 0?b=this.path:b===null&&(b=l),A===void 0?A=this.query:A===null&&(A=l),I===void 0?I=this.fragment:I===null&&(I=l),O===this.scheme&&$===this.authority&&b===this.path&&A===this.query&&I===this.fragment?this:new m(O,$,b,A,I)}static parse(R,O=!1){let $=f.exec(R);return $?new m($[2]||l,N($[4]||l),N($[5]||l),N($[7]||l),N($[9]||l),O):new m(l,l,l,l,l)}static file(R){let O=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){let $=R.indexOf(u,2);$===-1?(O=R.substring(2),R=u):(O=R.substring(2,$),R=R.substring($)||u)}return new m("file",O,R,l,l)}static from(R){let O=new m(R.scheme,R.authority,R.path,R.query,R.fragment);return c(O,!0),O}toString(R=!1){return E(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof d)return R;{let O=new m(R);return O._formatted=R.external,O._fsPath=R._sep===p?R.fsPath:null,O}}return R}}let p=i?1:void 0;class m extends d{constructor(){super(...arguments);de(this,"_formatted",null);de(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=v(this,!1)),this._fsPath}toString(O=!1){return O?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let O={$mid:1};return this._fsPath&&(O.fsPath=this._fsPath,O._sep=p),this._formatted&&(O.external=this._formatted),this.path&&(O.path=this.path),this.scheme&&(O.scheme=this.scheme),this.authority&&(O.authority=this.authority),this.query&&(O.query=this.query),this.fragment&&(O.fragment=this.fragment),O}}let y={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 T(L,R,O){let $,b=-1;for(let A=0;A<L.length;A++){let I=L.charCodeAt(A);if(I>=97&&I<=122||I>=65&&I<=90||I>=48&&I<=57||I===45||I===46||I===95||I===126||R&&I===47||O&&I===91||O&&I===93||O&&I===58)b!==-1&&($+=encodeURIComponent(L.substring(b,A)),b=-1),$!==void 0&&($+=L.charAt(A));else{$===void 0&&($=L.substr(0,A));let F=y[I];F!==void 0?(b!==-1&&($+=encodeURIComponent(L.substring(b,A)),b=-1),$+=F):b===-1&&(b=A)}}return b!==-1&&($+=encodeURIComponent(L.substring(b))),$!==void 0?$:L}function _(L){let R;for(let O=0;O<L.length;O++){let $=L.charCodeAt(O);$===35||$===63?(R===void 0&&(R=L.substr(0,O)),R+=y[$]):R!==void 0&&(R+=L[O])}return R!==void 0?R:L}function v(L,R){let O;return O=L.authority&&L.path.length>1&&L.scheme==="file"?`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?R?L.path.substr(1):L.path[1].toLowerCase()+L.path.substr(2):L.path,i&&(O=O.replace(/\//g,"\\")),O}function E(L,R){let O=R?_:T,$="",{scheme:b,authority:A,path:I,query:F,fragment:j}=L;if(b&&($+=b,$+=":"),(A||b==="file")&&($+=u,$+=u),A){let U=A.indexOf("@");if(U!==-1){let W=A.substr(0,U);A=A.substr(U+1),U=W.lastIndexOf(":"),U===-1?$+=O(W,!1,!1):($+=O(W.substr(0,U),!1,!1),$+=":",$+=O(W.substr(U+1),!1,!0)),$+="@"}A=A.toLowerCase(),U=A.lastIndexOf(":"),U===-1?$+=O(A,!1,!0):($+=O(A.substr(0,U),!1,!0),$+=A.substr(U))}if(I){if(I.length>=3&&I.charCodeAt(0)===47&&I.charCodeAt(2)===58){let U=I.charCodeAt(1);U>=65&&U<=90&&(I=`/${String.fromCharCode(U+32)}:${I.substr(3)}`)}else if(I.length>=2&&I.charCodeAt(1)===58){let U=I.charCodeAt(0);U>=65&&U<=90&&(I=`${String.fromCharCode(U+32)}:${I.substr(2)}`)}$+=O(I,!0,!1)}return F&&($+="?",$+=O(F,!1,!1)),j&&($+="#",$+=R?j:T(j,!1,!1)),$}function S(L){try{return decodeURIComponent(L)}catch{return L.length>3?L.substr(0,3)+S(L.substr(3)):L}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function N(L){return L.match(D)?L.replace(D,(R=>S(R))):L}var M=r(975);let B=M.posix||M,G="/";var oe;(function(L){L.joinPath=function(R,...O){return R.with({path:B.join(R.path,...O)})},L.resolvePath=function(R,...O){let $=R.path,b=!1;$[0]!==G&&($=G+$,b=!0);let A=B.resolve($,...O);return b&&A[0]===G&&!R.authority&&(A=A.substring(1)),R.with({path:A})},L.dirname=function(R){if(R.path.length===0||R.path===G)return R;let O=B.dirname(R.path);return O.length===1&&O.charCodeAt(0)===46&&(O=""),R.with({path:O})},L.basename=function(R){return B.basename(R.path)},L.extname=function(R){return B.extname(R.path)}})(oe||(oe={})),mb=n})();var{URI:ht,Utils:ma}=mb;var Et;(function(t){t.basename=ma.basename,t.dirname=ma.dirname,t.extname=ma.extname,t.joinPath=ma.joinPath,t.resolvePath=ma.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,a){return s?.toString()===a?.toString()}t.equals=r;function n(s,a){let c=typeof s=="string"?ht.parse(s).path:s.path,l=typeof a=="string"?ht.parse(a).path:a.path,u=c.split("/").filter(y=>y.length>0),f=l.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(u[0]&&y.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let d=0;for(;d<u.length&&u[d]===f[d];d++);let p="../".repeat(u.length-d),m=f.slice(d).join("/");return p+m}t.relative=n;function i(s){return ht.parse(s.toString()).toString()}t.normalize=i;function o(s,a){let c=typeof s=="string"?s:s.path,l=typeof a=="string"?a:a.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=o})(Et||(Et={}));var ga=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Et.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:Et.joinPath(ht.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:Et.joinPath(ht.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Et.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let o of n){let s=i.children.get(o);if(!s)if(r)s={name:o,children:new Map,parent:i},i.children.set(o,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ye;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ye||(ye={}));var Pl=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ie.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ht.parse(e.uri),ie.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ie.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:ye.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:ye.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),o=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:s})}return n!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=ye.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=ha.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Ol=class{constructor(e){this.documentTrie=new ga,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return xe(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ye.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ye.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ye.Changed;return this.documentTrie.delete(r),n}};var Uo=Symbol("RefResolving"),Ll=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=ie.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of jt(e.parseResult.value))await pt(r),ci(i).forEach(o=>{let s=`${i.$type}:${o.property}`;n.startSubTask(s);try{this.doLink(o,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of jt(e.parseResult.value))await pt(r),ci(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Uo;try{let i=this.getCandidate(e);if(no(i))n._ref=i;else{n._nodeDescription=i;let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let o=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${o}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Uo;try{let i=this.getCandidates(e),o=[];if(no(i))n._linkingError=i;else for(let s of i){let a=this.loadAstNode(s);a&&o.push({ref:a,$nodeDescription:s})}n._items=o}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(dt(this._ref))return this._ref;if(wm(this._nodeDescription)){let a=o.loadAstNode(this._nodeDescription);this._ref=a??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Uo;let a=ms(e).$document,c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&a&&a.state<ye.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,a?.references.push(this)}else this._ref===Uo&&o.throwCyclicReferenceError(e,r,i);return dt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return no(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Uo;let a=ms(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(no(c))this._linkingError=c;else for(let u of c){let f=o.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,a?.references.push(this)}else this._items===Uo&&o.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=o.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(no(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ms(e.container).$document;n&&n.state<ye.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function gb(t){return typeof t.name=="string"}var Dl=class{getName(e){if(gb(e))return e.name}getNameNode(e){return Vc(e.$cstNode,"name")}};var $l=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=jt(e.Grammar).some(r=>Ur(r)&&r.isMulti)}findDeclarations(e){if(e){let r=fg(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(At(i)||lr(i))return hf(i);if(Array.isArray(i)){for(let o of i)if((At(o)||lr(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return hf(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Vm(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of ci(n))if(lr(i.reference)&&i.reference.items.some(o=>o.ref===e))return i.reference.items.map(o=>o.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i)??i.$cstNode;o&&n.push(o)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>Et.equals(o.sourceUri,r.documentUri))),n.push(...i),xe(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i);if(o){let s=Mt(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:yo(o),local:!0})}}return n}};var Ut=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return ps.sum(xe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?xe(r):ai}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return xe(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return xe(this.map.keys())}values(){return xe(this.map.values()).flat()}entriesGroupedByKey(){return xe(this.map.entries())}},Bo=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Ml=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ie.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Cc,i=ie.CancellationToken.None){let o=[];this.addExportedSymbol(e,o,r);for(let s of n(e))await pt(i),this.addExportedSymbol(s,o,r);return o}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=ie.CancellationToken.None){let n=e.parseResult.value,i=new Ut;for(let o of $r(n))await pt(r),this.addLocalSymbol(o,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var ya=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},_x=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?xe(i).concat(this.outerScope.getElements(e)):xe(i)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Fl=class{constructor(e,r,n){this.elements=new Ut,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?xe(n).concat(this.outerScope.getElements(e)):xe(n)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},C2={getElement(){},getElements(){return ai},getAllElements(){return ai}};var xa=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Ul=class extends xa{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Go=class extends xa{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},fp=class extends Go{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let o of i)this.clear(o)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let o=n.concat(i);for(let s of o)this.clear(s)}))}},Ta=class extends Ul{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Bl=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new Ta(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Mt(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(a=>this.reflection.isSubtype(a.type,n))),s=s.$container;while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new ya(xe(e),r,n)}createScopeForNodes(e,r,n){let i=xe(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new ya(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Fl(this.indexManager.allElements(e)))}};function Ex(t){return typeof t.$comment=="string"}function yb(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Gl=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,o=(a,c)=>this.replacer(a,c,n),s=i?(a,c)=>i(a,c,o):o;try{return this.currentDocument=Mt(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e))if(At(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let u=Mt(c),f="";this.currentDocument&&this.currentDocument!==u&&(a?f=a(u.uri,c):f=u.uri.toString());let d=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${d}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(lr(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Mt(u.ref),p="";this.currentDocument&&this.currentDocument!==d&&(a?p=a(d.uri,f):p=d.uri.toString());let m=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${m}`)}return{$refs:l,$refText:c}}else if(dt(r)){let c;if(o&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),s){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=ag(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o,s){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){let f=l[u];yb(f)?l[u]=this.reviveReference(e,c,r,f,n):dt(f)&&this.linkNode(f,r,n,e,c,u)}else yb(l)?e[c]=this.reviveReference(e,c,r,l,n):dt(l)&&this.linkNode(l,r,n,e,c);let a=e;a.$container=i,a.$containerProperty=o,a.$containerIndex=s}reviveReference(e,r,n,i,o){let s=i.$refText,a=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,o.uriConverter);if(dt(l))return s||(s=this.nameProvider.getName(l)),{$refText:s??"",ref:l};a=l}else if(i.$refs){let l=[];for(let u of i.$refs){let f=this.getRefNode(n,u,o.uriConverter);dt(f)&&l.push({ref:f})}if(l.length===0)c={$refText:s??"",items:l},a??(a="Could not resolve multi-reference");else return{$refText:s??"",items:l}}if(a)return c??(c={$refText:s??"",ref:void 0}),c.error={info:{container:e,property:r,reference:c},message:a},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):ht.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let o=n?n(r.substring(0,i)):ht.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(o);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return a||"Could not resolve URI: "+r}catch(i){return String(i)}}};var Xl=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=Et.extname(e),i=Et.basename(e),o=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!o)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Xo(t){return{code:t}}var dp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(dp||(dp={}));var Hl=class{constructor(e){this.entries=new Ut,this.knownCategories=new Set(dp.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}else an(s)}}wrapValidationException(e,r){return async(n,i,o)=>{await this.handleException(()=>e.call(r,n,i,o),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(o){if(hn(o))throw o;console.error(`${r}:`,o),o instanceof Error&&o.stack&&console.error(o.stack);let s=o instanceof Error?o.message:String(o);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=xe(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,o,s,a)=>{await this.handleException(()=>e.call(n,i,o,s,a),r,o,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var xb=Object.freeze({validateNode:!0,validateChildren:!0}),jl=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=ie.CancellationToken.None){let i=e.parseResult,o=[];if(await pt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>s.data?.code===wr.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===wr.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===wr.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(hn(s))throw s;console.error("An error occurred during validation:",s)}return await pt(n),o}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let o of i){let s=o.severity??"error",a={severity:pp(s),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:_b(s),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let a={line:0,character:0};o={start:a,end:a}}else{let a={line:s.endLine-1,character:s.endColumn};o={start:a,end:a}}}}else o=ws(i.token);if(o){let s={severity:pp("error"),range:o,message:i.message,data:Xo(wr.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.info.container,range:i.$refNode?.range,property:o.info.property,index:o.info.index,data:{code:wr.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=ie.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await this.validateAstBefore(e,r,o,n),await this.validateAstNodes(e,r,o,n),await this.validateAstAfter(e,r,o,n),i}async validateAstBefore(e,r,n,i=ie.CancellationToken.None){let o=this.validationRegistry.checksBefore;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=ie.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=jt(e).iterator();for(let a of s){o.startSubTask(a.$type);let c=this.validateSingleNodeOptions(a,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(a.$type,r.categories);for(let u of l)await u(a,n,i)}finally{o.stopSubTask(a.$type)}c.validateChildren||s.prune()}}finally{o.stop()}}else{let o=jt(e).iterator();for(let s of o){await pt(i);let a=this.validateSingleNodeOptions(s,r);if(a.validateNode){let c=this.validationRegistry.getChecks(s.$type,r.categories);for(let l of c)await l(s,n,i)}a.validateChildren||o.prune()}}}validateSingleNodeOptions(e,r){return xb}async validateAstAfter(e,r,n,i=ie.CancellationToken.None){let o=this.validationRegistry.checksAfter;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:Tb(n),severity:pp(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function Tb(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Vc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=lg(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function pp(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function _b(t){switch(t){case"error":return Xo(wr.LexingError);case"warning":return Xo(wr.LexingWarning);case"info":return Xo(wr.LexingInfo);case"hint":return Xo(wr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var wr;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(wr||(wr={}));var zl=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Mt(e);r??(r=this.nameProvider.getName(e));let o=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${o} has no name.`);let s,a=()=>s??(s=yo(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:yo(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},ql=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ie.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of jt(i))await pt(r),ci(o).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];At(r)&&r.$nodeDescription?n=[r.$nodeDescription]:lr(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Mt(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=yo(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:Et.equals(c.documentUri,i)});return s}};var Wl=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1));return i[a]?.[c]}return i[o]},e)}};var nt={};Ie(nt,Tm(mx(),1));var Vl=class{constructor(e){this._ready=new Zt,this.onConfigurationSectionUpdateEmitter=new nt.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var Ua=Tm(qS(),1);var Xi;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Xi||(Xi={}));var iu=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ut,this.documentPhaseListeners=new Ut,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ye.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=ie.CancellationToken.None){for(let i of e){let o=i.uri.toString();if(i.state===ye.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ye.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(o)?.result}),i.state=ye.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=ye.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=ie.CancellationToken.None){this.currentState=ye.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let u of l)i.push(u.uri),this.cleanUpDeleted(u)}let o=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of o){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=ye.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,ye.Changed)}let s=xe(o).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!s.has(c.uri.toString())&&this.shouldRelink(c,s)).forEach(c=>this.resetToState(c,ye.ComputedScopes)),await this.emitUpdate(o,i),await pt(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<ye.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),o=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return xe(s).filter(a=>!o.has(a)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Xi.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ye.Changed:case ye.Parsed:this.indexManager.removeContent(e.uri);case ye.IndexedContent:e.localSymbols=void 0;case ye.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ye.Linked:this.indexManager.removeReferences(e.uri);case ye.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ye.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ye.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ye.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,ye.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,ye.ComputedScopes,n,async s=>{let a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await a.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,ye.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,ye.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let o=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(o,ye.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.state<r&&(await pt(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));let o=e.filter(s=>s.state===r);await this.notifyBuildPhase(o,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Xi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Xi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ie.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Rr);if(this.currentState>=e&&e>i.state)return Promise.reject(new Ua.ResponseError(Ua.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ye[i.state]}, requiring ${ye[e]}, but workspace state is already ${ye[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Ua.ResponseError(Ua.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{Et.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(Rr)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Rr):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(Rr)})})}async notifyDocumentPhase(e,r,n){let o=this.documentPhaseListeners.get(r).slice();for(let s of o)try{await pt(n),await s(e,n)}catch(a){if(!hn(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let o=this.buildPhaseListeners.get(r).slice();for(let s of o)await pt(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),o=typeof i.validation=="object"?{...i.validation}:{};o.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=xe(a.result.validationChecks).concat(o.categories).distinct().toArray():a.result.validationChecks=[...o.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var ou=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Go,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Mt(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{Et.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),xe(i)}allElements(e,r){let n=xe(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(o=>this.astReflection.isSubtype(o.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=ie.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),o=e.uri.toString();this.symbolIndex.set(o,i),this.symbolByTypeIndex.clear(o)}async updateReferences(e,r=ie.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var su=class{constructor(e){this.initialBuildOptions={},this._ready=new Zt,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=ie.CancellationToken.None){let n=await this.performStartup(e);await pt(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let o=xe(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(o,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ht.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Et.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var au=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return Ds.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return Ds.buildUnableToPopLexerModeMessage(e)}},Yp={mode:"full"},qo=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=WT(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new ct(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Yp){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(WT(e))return e;let r=VT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function Kp(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function VT(t){return t&&"modes"in t&&"defaultMode"in t}function WT(t){return!Kp(t)&&!VT(t)}la();function ZT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Se.create(0,0));let o=YS(t),s=QT(n),a=SU({lines:o,position:i,options:s});return OU({index:0,tokens:a,position:i})}function JT(t,e){let r=QT(e),n=YS(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function YS(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(eg)}var WS=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,IU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function SU(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let o=i===0,s=i===t.lines.length-1,a=t.lines[i],c=0;if(o&&t.options.start){let u=t.options.start?.exec(a);u&&(c=u.index+u[0].length)}else{let u=t.options.line?.exec(a);u&&(c=u.index+u[0].length)}if(s){let u=t.options.end?.exec(a);u&&(a=a.substring(0,u.index))}if(a=a.substring(0,PU(a)),KT(a,c)>=a.length){if(e.length>0){let u=Se.create(r,n);e.push({type:"break",content:"",range:Ee.create(u,u)})}}else{WS.lastIndex=c;let u=WS.exec(a);if(u){let f=u[0],d=u[1],p=Se.create(r,n+c),m=Se.create(r,n+c+f.length);e.push({type:"tag",content:d,range:Ee.create(p,m)}),c+=f.length,c=KT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll(IU));e.push(...kU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function kU(t,e,r,n){let i=[];if(t.length===0){let o=Se.create(r,n),s=Se.create(r,n+e.length);i.push({type:"text",content:e,range:Ee.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,l=e.substring(o,c);l.length>0&&i.push({type:"text",content:e.substring(o,c),range:Ee.create(Se.create(r,o+n),Se.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:Ee.create(Se.create(r,o+u+n),Se.create(r,o+u+f.length+n))}),u+=f.length,a.length===4){u+=a[2].length;let d=a[3];i.push({type:"text",content:d,range:Ee.create(Se.create(r,o+u+n),Se.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:Ee.create(Se.create(r,o+u+n),Se.create(r,o+u+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:Ee.create(Se.create(r,o+n),Se.create(r,o+n+s.length))})}return i}var NU=/\S/,CU=/\s*$/;function KT(t,e){let r=t.substring(e).match(NU);return r?e+r.index:t.length}function PU(t){let e=t.match(CU);if(e&&typeof e.index=="number")return e.index}function OU(t){let e=Se.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Zp([],Ee.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=LU(t,r[r.length-1]);o&&r.push(o)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new Zp(r,Ee.create(n,i))}function LU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return ZS(t,!1);if(r.type==="text"||r.type==="inline-tag")return KS(t);DU(r,e),t.index++}function DU(t,e){if(e){let r=new Jp("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function KS(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push($U(t)),n=e,e=t.tokens[t.index];return new lu(i,Ee.create(r.range.start,n.range.end))}function $U(t){return t.tokens[t.index].type==="inline-tag"?ZS(t,!0):JS(t)}function ZS(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=JS(t);return new cu(n,new lu([o],o.range),e,Ee.create(r.range.start,o.range.end))}else{let o=KS(t);return new cu(n,o,e,Ee.create(r.range.start,o.range.end))}else{let o=r.range;return new cu(n,new lu([],o),e,o)}}function JS(t){let e=t.tokens[t.index++];return new Jp(e.content,e.range)}function QT(t){if(!t)return QT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:YT(e,!0),end:YT(r,!1),line:YT(n,!0)}}function YT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?gi(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var Zp=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=VS(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=VS(r)+i}return r.trim()}},cu=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
153
+ ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let o=MU(this.name,r,e??{});if(typeof o=="string")return o}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
154
+ ${r}`),this.inline?`{${i}}`:i}};function MU(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let s=KT(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??FU(e,i)}}function FU(t,e){try{return ht.parse(t,!0),`[${e}](${t})`}catch{return t}}var lu=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
155
155
  `)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],o=this.inlines[n+1];r+=i.toMarkdown(e),o&&o.range.start.line>i.range.start.line&&(r+=`
156
- `)}return r}},qp=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function BI(t){return t.endsWith(`
156
+ `)}return r}},Jp=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function VS(t){return t.endsWith(`
157
157
  `)?`
158
158
  `:`
159
159
 
160
- `}var nu=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&WT(r))return qT(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let o=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,a=i.documentUri.with({fragment:`L${o},${s}`});return`[${n}](${a.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Ft(e).localSymbols;if(!i)return;let o=e;do{let a=i.getStream(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var iu=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return gx(e)?e.$comment:jm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var ou=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},YT=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Jt,o,s=r.onCancellationRequested(()=>{o=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(a=>{let c=this.hydrator.hydrate(a);i.resolve(c)}).catch(a=>{i.reject(a)}).finally(()=>{s.dispose(),clearTimeout(o)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Jt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(wr)}),this.queue.push(r),r.promise}},KT=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new it.Emitter,this.deferred=new Jt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(o=>{let s=o;this.deferred.resolve(s),this.unlock()}),n(o=>{this.deferred.reject(o),this.unlock()})}terminate(){this.deferred.reject(wr),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Jt,this.sendMessage(e),this.deferred.promise}};var su=class{constructor(){this.previousTokenSource=new oe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=np();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=oe.CancellationToken.None){let i=new Jt,o={action:r,deferred:i,cancellationToken:n};return e.push(o),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let o=await Promise.resolve().then(()=>r(i));n.resolve(o)}catch(o){yn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var au=class{constructor(e){this.grammarElementIdMap=new Fo,this.tokenTypeIdMap=new Fo,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of zt(e))r.set(i,{});if(e.$cstNode)for(let i of ho(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.dehydrateAstNode(a,r)):St(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else dt(o)?n[i]=this.dehydrateAstNode(o,r):St(o)?n[i]=this.dehydrateReference(o,r):o!==void 0&&(n[i]=o);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Rc(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),$r(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):ii(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let o of zt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of ho(e.$cstNode)){let s;"fullText"in o?(s=new aa(o.fullText),i=s):"content"in o?s=new Oo:"tokenType"in o&&(s=this.hydrateCstLeafNode(o)),s&&(n.set(o,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.setParent(this.hydrateAstNode(a,r),n)):St(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else dt(o)?n[i]=this.setParent(this.hydrateAstNode(o,r),n):St(o)?n[i]=this.hydrateReference(o,n,i,r):o!==void 0&&(n[i]=o);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),$r(i))for(let o of e.content){let s=this.hydrateCstNode(o,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,o=e.startLine,s=e.startColumn,a=e.endLine,c=e.endColumn,l=e.hidden;return new Co(n,i,{start:{line:o,character:s},end:{line:a,character:c}},r,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of zt(this.grammar))Oc(r)&&this.grammarElementIdMap.set(r,e++)}};function cu(t){return{documentation:{CommentProvider:e=>new iu(e),DocumentationProvider:e=>new nu(e)},parser:{AsyncParser:e=>new ou(e),GrammarConfig:e=>lg(e),LangiumParser:e=>ix(e),CompletionParser:e=>nx(e),ValueConverter:()=>new $o,TokenBuilder:()=>new Do,Lexer:e=>new jo(e),ParserErrorMessageProvider:()=>new ca,LexerErrorMessageProvider:()=>new eu},workspace:{AstNodeLocator:()=>new Bl,AstNodeDescriptionProvider:e=>new Fl(e),ReferenceDescriptionProvider:e=>new Ul(e)},references:{Linker:e=>new Sl(e),NameProvider:()=>new Il,ScopeProvider:e=>new Ol(e),ScopeComputation:e=>new Nl(e),References:e=>new kl(e)},serializer:{Hydrator:e=>new au(e),JsonSerializer:e=>new Ll(e)},validation:{DocumentValidator:e=>new Ml(e),ValidationRegistry:e=>new $l(e)},shared:()=>t.shared}}function lu(t){return{ServiceRegistry:e=>new Dl(e),workspace:{LangiumDocuments:e=>new Al(e),LangiumDocumentFactory:e=>new wl(e),DocumentBuilder:e=>new Zl(e),IndexManager:e=>new Jl(e),WorkspaceManager:e=>new Ql(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new su,ConfigurationProvider:e=>new Gl(e)},profilers:{}}}var ZT;(function(t){t.merge=(e,r)=>uu(uu({},e),r)})(ZT||(ZT={}));function zo(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(uu,{});return YI(l)}var WI=Symbol("isProxy");function VI(t){if(t&&t[WI])for(let e of Object.values(t))VI(e);return t}function YI(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===WI?!0:qI(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(qI(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var zI=Symbol();function qI(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===zI)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=zI;try{t[e]=typeof i=="function"?i(n):YI(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function uu(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=uu(i,n):t[r]=uu({},n)}else t[r]=n}return t}var JT={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},qo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(qo||(qo={}));var Ma=class extends Do{constructor(e=JT){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...JT,...e},this.indentTokenType=gi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=gi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!jp(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:o,whitespaceTokenName:s,ignoreIndentationDelimiters:a}=this.options,c,l,u,f=[];for(let d of n){for(let[p,m]of a)d.name===p?d.PUSH_MODE=qo.IGNORE_INDENTATION:d.name===m&&(d.POP_MODE=!0);d.name===o?c=d:d.name===i?l=d:d.name===s?u=d:f.push(d)}if(!c||!l||!u)throw new Error("Some indentation/whitespace tokens not found!");return a.length>0?{modes:{[qo.REGULAR]:[c,l,...f,u],[qo.IGNORE_INDENTATION]:[...f,u]},defaultMode:qo.REGULAR}:[c,l,u,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
161
- `.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:o?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,r,n,i){let o=this.getLineNumber(r,i);return Bn(e,n,i,i+n.length,o,o,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);return o<=s?null:(this.indentationStack.push(o),a)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);if(o>=s)return null;let c=this.indentationStack.lastIndexOf(o);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${o} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:a?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,u=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<l;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(u-1));n.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:o}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===o?gi({name:o,pattern:this.whitespaceRegExp,group:ct.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},fu=class extends jo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ma)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Hp){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:o,dedentTokenType:s}=this.indentationTokenBuilder,a=o.tokenTypeIdx,c=s.tokenTypeIdx,l=[],u=n.tokens.length-1;for(let f=0;f<u;f++){let d=n.tokens[f],p=n.tokens[f+1];if(d.tokenTypeIdx===a&&p.tokenTypeIdx===c){f++;continue}l.push(d)}return u>=0&&l.push(n.tokens[u]),n.tokens=l,n}};var Ce={};sn(Ce,{AstUtils:()=>lf,BiMap:()=>Fo,Cancellation:()=>oe,ContextCache:()=>Uo,CstUtils:()=>kf,DONE_RESULT:()=>Mt,Deferred:()=>Jt,Disposable:()=>Bi,DisposableCache:()=>ma,DocumentCache:()=>op,EMPTY_STREAM:()=>oi,ErrorWithLocation:()=>go,GrammarUtils:()=>ws,MultiMap:()=>Bt,OperationCancelled:()=>wr,Reduction:()=>us,RegExpUtils:()=>Cf,SimpleCache:()=>Cl,StreamImpl:()=>fr,TreeStreamImpl:()=>an,URI:()=>ht,UriTrie:()=>pa,UriUtils:()=>vt,WorkspaceCache:()=>ga,assertCondition:()=>l0,assertUnreachable:()=>un,delayNextTick:()=>px,interruptAndCheck:()=>pt,isOperationCancelled:()=>yn,loadGrammarFromJson:()=>Vp,setInterruptionPeriod:()=>nw,startCancelableOperation:()=>np,stream:()=>xe});Se(Ce,it);var Wp=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},du={fileSystemProvider:()=>new Wp};var vU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},RU={AstReflection:()=>new _s};function bU(){let t=zo(lu(du),RU),e=zo(cu({shared:t}),vU);return t.ServiceRegistry.register(e),e}function Vp(t){let e=bU(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory:/${r.name??"grammar"}.langium`)),r}Se(ut,Ce);var QT=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Bt}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new Yp(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let a=r.entries.get(s),c=a.reduce((l,u)=>l+u);n.push({name:`${r.identifier}.${s}`,count:a.length,duration:c})}let i=r.duration-n.map(s=>s.duration).reduce((s,a)=>s+a,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,a)=>a.duration-s.duration);function o(s){return Math.round(100*s)/100}return console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":o(100*s.duration/r.duration),"Time (ms)":o(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},Yp=class{constructor(e,r){this.stack=[],this.entries=new Bt,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var Ua={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function th(t){return kt.isInstance(t,Ua.$type)}var e_={$type:"BlockProperty",key:"key",value:"value"};var o_={$type:"CalendarBlock",properties:"properties"};function rh(t){return kt.isInstance(t,o_.$type)}var Fa={$type:"ConfigEntry"};var eh={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Gi(t){return kt.isInstance(t,eh.$type)}var s_={$type:"DescriptionDirective",text:"text"};function l_(t){return kt.isInstance(t,s_.$type)}var Kp={$type:"EntityProperty",key:"key",value:"value",values:"values"};var Ba={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function nh(t){return kt.isInstance(t,Ba.$type)}var Ga={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return kt.isInstance(t,Ga.$type)}var pu={$type:"GroupContent"};var t_={$type:"IncludeDeclaration",options:"options",path:"path"};var r_={$type:"IncludeOption",key:"key",value:"value"};var Xa={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yr(t){return kt.isInstance(t,Xa.$type)}var Ha={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function ih(t){return kt.isInstance(t,Ha.$type)}var ja={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function oh(t){return kt.isInstance(t,ja.$type)}var n_={$type:"NowlineDirective",properties:"properties",version:"version"};var Wo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var za={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Vr(t){return kt.isInstance(t,za.$type)}var Zp={$type:"ParallelContent"};var qa={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Xi(t){return kt.isInstance(t,qa.$type)}var a_={$type:"PersonMemberRef",ref:"ref"};function KI(t){return kt.isInstance(t,a_.$type)}var Jp={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var vn={$type:"RoadmapEntry"};var c_={$type:"ScaleBlock",properties:"properties"};function ZI(t){return kt.isInstance(t,c_.$type)}var Wa={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ja(t){return kt.isInstance(t,Wa.$type)}var Va={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yu(t){return kt.isInstance(t,Va.$type)}var mu={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function xu(t){return kt.isInstance(t,mu.$type)}var i_={$type:"StyleProperty",key:"key",value:"value"};var hu={$type:"SwimlaneContent"};var Ya={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Yr(t){return kt.isInstance(t,Ya.$type)}var Ka={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Tu(t){return kt.isInstance(t,Ka.$type)}var Qp={$type:"TeamContent"};var Za={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Kr(t){return kt.isInstance(t,Za.$type)}var gu=class extends eo{constructor(){super(...arguments);de(this,"types",{AnchorDeclaration:{name:Ua.$type,properties:{description:{name:Ua.description},name:{name:Ua.name},properties:{name:Ua.properties,defaultValue:[]},title:{name:Ua.title}},superTypes:[vn.$type]},BlockProperty:{name:e_.$type,properties:{key:{name:e_.key},value:{name:e_.value}},superTypes:[]},CalendarBlock:{name:o_.$type,properties:{properties:{name:o_.properties,defaultValue:[]}},superTypes:[Fa.$type]},ConfigEntry:{name:Fa.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:eh.$type,properties:{entityType:{name:eh.entityType},properties:{name:eh.properties,defaultValue:[]}},superTypes:[Fa.$type]},DescriptionDirective:{name:s_.$type,properties:{text:{name:s_.text}},superTypes:[pu.$type,Zp.$type,hu.$type,Qp.$type]},EntityProperty:{name:Kp.$type,properties:{key:{name:Kp.key},value:{name:Kp.value},values:{name:Kp.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:Ba.$type,properties:{description:{name:Ba.description},name:{name:Ba.name},properties:{name:Ba.properties,defaultValue:[]},title:{name:Ba.title}},superTypes:[vn.$type]},GroupBlock:{name:Ga.$type,properties:{content:{name:Ga.content,defaultValue:[]},name:{name:Ga.name},properties:{name:Ga.properties,defaultValue:[]},title:{name:Ga.title}},superTypes:[pu.$type,Zp.$type,hu.$type]},GroupContent:{name:pu.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:t_.$type,properties:{options:{name:t_.options,defaultValue:[]},path:{name:t_.path}},superTypes:[]},IncludeOption:{name:r_.$type,properties:{key:{name:r_.key},value:{name:r_.value}},superTypes:[]},ItemDeclaration:{name:Xa.$type,properties:{description:{name:Xa.description},name:{name:Xa.name},properties:{name:Xa.properties,defaultValue:[]},title:{name:Xa.title}},superTypes:[pu.$type,Zp.$type,hu.$type]},LabelDeclaration:{name:Ha.$type,properties:{description:{name:Ha.description},name:{name:Ha.name},properties:{name:Ha.properties,defaultValue:[]},title:{name:Ha.title}},superTypes:[vn.$type]},MilestoneDeclaration:{name:ja.$type,properties:{description:{name:ja.description},name:{name:ja.name},properties:{name:ja.properties,defaultValue:[]},title:{name:ja.title}},superTypes:[vn.$type]},NowlineDirective:{name:n_.$type,properties:{properties:{name:n_.properties,defaultValue:[]},version:{name:n_.version}},superTypes:[]},NowlineFile:{name:Wo.$type,properties:{configEntries:{name:Wo.configEntries,defaultValue:[]},directive:{name:Wo.directive},hasConfig:{name:Wo.hasConfig,defaultValue:!1},includes:{name:Wo.includes,defaultValue:[]},roadmapDecl:{name:Wo.roadmapDecl},roadmapEntries:{name:Wo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:za.$type,properties:{content:{name:za.content,defaultValue:[]},name:{name:za.name},properties:{name:za.properties,defaultValue:[]},title:{name:za.title}},superTypes:[pu.$type,hu.$type]},ParallelContent:{name:Zp.$type,properties:{},superTypes:[]},PersonDeclaration:{name:qa.$type,properties:{description:{name:qa.description},name:{name:qa.name},properties:{name:qa.properties,defaultValue:[]},title:{name:qa.title}},superTypes:[vn.$type]},PersonMemberRef:{name:a_.$type,properties:{ref:{name:a_.ref}},superTypes:[Qp.$type]},RoadmapDeclaration:{name:Jp.$type,properties:{name:{name:Jp.name},properties:{name:Jp.properties,defaultValue:[]},title:{name:Jp.title}},superTypes:[]},RoadmapEntry:{name:vn.$type,properties:{},superTypes:[]},ScaleBlock:{name:c_.$type,properties:{properties:{name:c_.properties,defaultValue:[]}},superTypes:[Fa.$type]},SizeDeclaration:{name:Wa.$type,properties:{description:{name:Wa.description},name:{name:Wa.name},properties:{name:Wa.properties,defaultValue:[]},title:{name:Wa.title}},superTypes:[vn.$type]},StatusDeclaration:{name:Va.$type,properties:{description:{name:Va.description},name:{name:Va.name},properties:{name:Va.properties,defaultValue:[]},title:{name:Va.title}},superTypes:[vn.$type]},StyleDeclaration:{name:mu.$type,properties:{name:{name:mu.name},properties:{name:mu.properties,defaultValue:[]},title:{name:mu.title}},superTypes:[Fa.$type]},StyleProperty:{name:i_.$type,properties:{key:{name:i_.key},value:{name:i_.value}},superTypes:[]},SwimlaneContent:{name:hu.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:Ya.$type,properties:{content:{name:Ya.content,defaultValue:[]},name:{name:Ya.name},properties:{name:Ya.properties,defaultValue:[]},title:{name:Ya.title}},superTypes:[vn.$type]},SymbolDeclaration:{name:Ka.$type,properties:{description:{name:Ka.description},name:{name:Ka.name},properties:{name:Ka.properties,defaultValue:[]},title:{name:Ka.title}},superTypes:[Fa.$type]},TeamContent:{name:Qp.$type,properties:{},superTypes:[]},TeamDeclaration:{name:Za.$type,properties:{content:{name:Za.content,defaultValue:[]},name:{name:Za.name},properties:{name:Za.properties,defaultValue:[]},title:{name:Za.title}},superTypes:[vn.$type,Qp.$type]}})}},kt=new gu;var JI,QI=()=>JI??(JI=Vp(`{
160
+ `}var uu=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&JT(r))return ZT(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let o=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,a=i.documentUri.with({fragment:`L${o},${s}`});return`[${n}](${a.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Mt(e).localSymbols;if(!i)return;let o=e;do{let a=i.getStream(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var fu=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Ex(e)?e.$comment:Ym(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var du=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},e_=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Zt,o,s=r.onCancellationRequested(()=>{o=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(a=>{let c=this.hydrator.hydrate(a);i.resolve(c)}).catch(a=>{i.reject(a)}).finally(()=>{s.dispose(),clearTimeout(o)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Zt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Rr)}),this.queue.push(r),r.promise}},t_=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new nt.Emitter,this.deferred=new Zt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(o=>{let s=o;this.deferred.resolve(s),this.unlock()}),n(o=>{this.deferred.reject(o),this.unlock()})}terminate(){this.deferred.reject(Rr),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Zt,this.sendMessage(e),this.deferred.promise}};var pu=class{constructor(){this.previousTokenSource=new ie.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=lp();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ie.CancellationToken.None){let i=new Zt,o={action:r,deferred:i,cancellationToken:n};return e.push(o),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let o=await Promise.resolve().then(()=>r(i));n.resolve(o)}catch(o){hn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var hu=class{constructor(e){this.grammarElementIdMap=new Bo,this.tokenTypeIdMap=new Bo,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of jt(e))r.set(i,{});if(e.$cstNode)for(let i of go(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.dehydrateAstNode(a,r)):At(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else dt(o)?n[i]=this.dehydrateAstNode(o,r):At(o)?n[i]=this.dehydrateReference(o,r):o!==void 0&&(n[i]=o);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Nc(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Dr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):si(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let o of jt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of go(e.$cstNode)){let s;"fullText"in o?(s=new ua(o.fullText),i=s):"content"in o?s=new Do:"tokenType"in o&&(s=this.hydrateCstLeafNode(o)),s&&(n.set(o,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.setParent(this.hydrateAstNode(a,r),n)):At(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else dt(o)?n[i]=this.setParent(this.hydrateAstNode(o,r),n):At(o)?n[i]=this.hydrateReference(o,n,i,r):o!==void 0&&(n[i]=o);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Dr(i))for(let o of e.content){let s=this.hydrateCstNode(o,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,o=e.startLine,s=e.startColumn,a=e.endLine,c=e.endColumn,l=e.hidden;return new Lo(n,i,{start:{line:o,character:s},end:{line:a,character:c}},r,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of jt(this.grammar))Bc(r)&&this.grammarElementIdMap.set(r,e++)}};function mu(t){return{documentation:{CommentProvider:e=>new fu(e),DocumentationProvider:e=>new uu(e)},parser:{AsyncParser:e=>new du(e),GrammarConfig:e=>hg(e),LangiumParser:e=>lx(e),CompletionParser:e=>cx(e),ValueConverter:()=>new Fo,TokenBuilder:()=>new Mo,Lexer:e=>new qo(e),ParserErrorMessageProvider:()=>new fa,LexerErrorMessageProvider:()=>new au},workspace:{AstNodeLocator:()=>new Wl,AstNodeDescriptionProvider:e=>new zl(e),ReferenceDescriptionProvider:e=>new ql(e)},references:{Linker:e=>new Ll(e),NameProvider:()=>new Dl,ScopeProvider:e=>new Bl(e),ScopeComputation:e=>new Ml(e),References:e=>new $l(e)},serializer:{Hydrator:e=>new hu(e),JsonSerializer:e=>new Gl(e)},validation:{DocumentValidator:e=>new jl(e),ValidationRegistry:e=>new Hl(e)},shared:()=>t.shared}}function gu(t){return{ServiceRegistry:e=>new Xl(e),workspace:{LangiumDocuments:e=>new Ol(e),LangiumDocumentFactory:e=>new Pl(e),DocumentBuilder:e=>new iu(e),IndexManager:e=>new ou(e),WorkspaceManager:e=>new su(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new pu,ConfigurationProvider:e=>new Vl(e)},profilers:{}}}var r_;(function(t){t.merge=(e,r)=>yu(yu({},e),r)})(r_||(r_={}));function Wo(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(yu,{});return nk(l)}var tk=Symbol("isProxy");function rk(t){if(t&&t[tk])for(let e of Object.values(t))rk(e);return t}function nk(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===tk?!0:ek(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(ek(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var QS=Symbol();function ek(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===QS)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=QS;try{t[e]=typeof i=="function"?i(n):nk(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function yu(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=yu(i,n):t[r]=yu({},n)}else t[r]=n}return t}var n_={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},Vo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Vo||(Vo={}));var Ba=class extends Mo{constructor(e=n_){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...n_,...e},this.indentTokenType=xi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=xi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!Kp(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:o,whitespaceTokenName:s,ignoreIndentationDelimiters:a}=this.options,c,l,u,f=[];for(let d of n){for(let[p,m]of a)d.name===p?d.PUSH_MODE=Vo.IGNORE_INDENTATION:d.name===m&&(d.POP_MODE=!0);d.name===o?c=d:d.name===i?l=d:d.name===s?u=d:f.push(d)}if(!c||!l||!u)throw new Error("Some indentation/whitespace tokens not found!");return a.length>0?{modes:{[Vo.REGULAR]:[c,l,...f,u],[Vo.IGNORE_INDENTATION]:[...f,u]},defaultMode:Vo.REGULAR}:[c,l,u,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
161
+ `.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:o?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,r,n,i){let o=this.getLineNumber(r,i);return Mn(e,n,i,i+n.length,o,o,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);return o<=s?null:(this.indentationStack.push(o),a)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);if(o>=s)return null;let c=this.indentationStack.lastIndexOf(o);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${o} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:a?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,u=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<l;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(u-1));n.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:o}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===o?xi({name:o,pattern:this.whitespaceRegExp,group:ct.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},xu=class extends qo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ba)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Yp){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:o,dedentTokenType:s}=this.indentationTokenBuilder,a=o.tokenTypeIdx,c=s.tokenTypeIdx,l=[],u=n.tokens.length-1;for(let f=0;f<u;f++){let d=n.tokens[f],p=n.tokens[f+1];if(d.tokenTypeIdx===a&&p.tokenTypeIdx===c){f++;continue}l.push(d)}return u>=0&&l.push(n.tokens[u]),n.tokens=l,n}};var Pe={};rn(Pe,{AstUtils:()=>mf,BiMap:()=>Bo,Cancellation:()=>ie,ContextCache:()=>Go,CstUtils:()=>Df,DONE_RESULT:()=>$t,Deferred:()=>Zt,Disposable:()=>Xi,DisposableCache:()=>xa,DocumentCache:()=>fp,EMPTY_STREAM:()=>ai,ErrorWithLocation:()=>xo,GrammarUtils:()=>Ss,MultiMap:()=>Ut,OperationCancelled:()=>Rr,Reduction:()=>ps,RegExpUtils:()=>Ff,SimpleCache:()=>Ul,StreamImpl:()=>ur,TreeStreamImpl:()=>nn,URI:()=>ht,UriTrie:()=>ga,UriUtils:()=>Et,WorkspaceCache:()=>Ta,assertCondition:()=>y0,assertUnreachable:()=>an,delayNextTick:()=>xx,interruptAndCheck:()=>pt,isOperationCancelled:()=>hn,loadGrammarFromJson:()=>eh,setInterruptionPeriod:()=>fb,startCancelableOperation:()=>lp,stream:()=>xe});Ie(Pe,nt);var Qp=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},Tu={fileSystemProvider:()=>new Qp};var UU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},BU={AstReflection:()=>new Rs};function GU(){let t=Wo(gu(Tu),BU),e=Wo(mu({shared:t}),UU);return t.ServiceRegistry.register(e),e}function eh(t){let e=GU(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory:/${r.name??"grammar"}.langium`)),r}Ie(ut,Pe);var i_=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Ut}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new th(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let a=r.entries.get(s),c=a.reduce((l,u)=>l+u);n.push({name:`${r.identifier}.${s}`,count:a.length,duration:c})}let i=r.duration-n.map(s=>s.duration).reduce((s,a)=>s+a,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,a)=>a.duration-s.duration);function o(s){return Math.round(100*s)/100}return console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":o(100*s.duration/r.duration),"Time (ms)":o(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},th=class{constructor(e,r){this.stack=[],this.entries=new Ut,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var Xa={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function wu(t){return St.isInstance(t,Xa.$type)}var o_={$type:"BlockProperty",key:"key",value:"value"};var u_={$type:"CalendarBlock",properties:"properties"};function ah(t){return St.isInstance(t,u_.$type)}var Ga={$type:"ConfigEntry"};var sh={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Hi(t){return St.isInstance(t,sh.$type)}var f_={$type:"DescriptionDirective",text:"text"};function h_(t){return St.isInstance(t,f_.$type)}var rh={$type:"EntityProperty",key:"key",value:"value",values:"values"};var Ha={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function bu(t){return St.isInstance(t,Ha.$type)}var ja={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function qr(t){return St.isInstance(t,ja.$type)}var _u={$type:"GroupContent"};var s_={$type:"IncludeDeclaration",options:"options",path:"path"};var a_={$type:"IncludeOption",key:"key",value:"value"};var za={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function gr(t){return St.isInstance(t,za.$type)}var qa={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Au(t){return St.isInstance(t,qa.$type)}var Wa={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Iu(t){return St.isInstance(t,Wa.$type)}var c_={$type:"NowlineDirective",properties:"properties",version:"version"};var Yo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var Va={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return St.isInstance(t,Va.$type)}var nh={$type:"ParallelContent"};var Ya={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function zn(t){return St.isInstance(t,Ya.$type)}var d_={$type:"PersonMemberRef",ref:"ref"};function ik(t){return St.isInstance(t,d_.$type)}var ih={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var Tn={$type:"RoadmapEntry"};var p_={$type:"ScaleBlock",properties:"properties"};function ok(t){return St.isInstance(t,p_.$type)}var Ka={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ko(t){return St.isInstance(t,Ka.$type)}var Za={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function tc(t){return St.isInstance(t,Za.$type)}var vu={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function Su(t){return St.isInstance(t,vu.$type)}var l_={$type:"StyleProperty",key:"key",value:"value"};var Eu={$type:"SwimlaneContent"};var Ja={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Ir(t){return St.isInstance(t,Ja.$type)}var Qa={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function ku(t){return St.isInstance(t,Qa.$type)}var oh={$type:"TeamContent"};var ec={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Sr(t){return St.isInstance(t,ec.$type)}var Ru=class extends ro{constructor(){super(...arguments);de(this,"types",{AnchorDeclaration:{name:Xa.$type,properties:{description:{name:Xa.description},name:{name:Xa.name},properties:{name:Xa.properties,defaultValue:[]},title:{name:Xa.title}},superTypes:[Tn.$type]},BlockProperty:{name:o_.$type,properties:{key:{name:o_.key},value:{name:o_.value}},superTypes:[]},CalendarBlock:{name:u_.$type,properties:{properties:{name:u_.properties,defaultValue:[]}},superTypes:[Ga.$type]},ConfigEntry:{name:Ga.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:sh.$type,properties:{entityType:{name:sh.entityType},properties:{name:sh.properties,defaultValue:[]}},superTypes:[Ga.$type]},DescriptionDirective:{name:f_.$type,properties:{text:{name:f_.text}},superTypes:[_u.$type,nh.$type,Eu.$type,oh.$type]},EntityProperty:{name:rh.$type,properties:{key:{name:rh.key},value:{name:rh.value},values:{name:rh.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:Ha.$type,properties:{description:{name:Ha.description},name:{name:Ha.name},properties:{name:Ha.properties,defaultValue:[]},title:{name:Ha.title}},superTypes:[Tn.$type]},GroupBlock:{name:ja.$type,properties:{content:{name:ja.content,defaultValue:[]},name:{name:ja.name},properties:{name:ja.properties,defaultValue:[]},title:{name:ja.title}},superTypes:[_u.$type,nh.$type,Eu.$type]},GroupContent:{name:_u.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:s_.$type,properties:{options:{name:s_.options,defaultValue:[]},path:{name:s_.path}},superTypes:[]},IncludeOption:{name:a_.$type,properties:{key:{name:a_.key},value:{name:a_.value}},superTypes:[]},ItemDeclaration:{name:za.$type,properties:{description:{name:za.description},name:{name:za.name},properties:{name:za.properties,defaultValue:[]},title:{name:za.title}},superTypes:[_u.$type,nh.$type,Eu.$type]},LabelDeclaration:{name:qa.$type,properties:{description:{name:qa.description},name:{name:qa.name},properties:{name:qa.properties,defaultValue:[]},title:{name:qa.title}},superTypes:[Tn.$type]},MilestoneDeclaration:{name:Wa.$type,properties:{description:{name:Wa.description},name:{name:Wa.name},properties:{name:Wa.properties,defaultValue:[]},title:{name:Wa.title}},superTypes:[Tn.$type]},NowlineDirective:{name:c_.$type,properties:{properties:{name:c_.properties,defaultValue:[]},version:{name:c_.version}},superTypes:[]},NowlineFile:{name:Yo.$type,properties:{configEntries:{name:Yo.configEntries,defaultValue:[]},directive:{name:Yo.directive},hasConfig:{name:Yo.hasConfig,defaultValue:!1},includes:{name:Yo.includes,defaultValue:[]},roadmapDecl:{name:Yo.roadmapDecl},roadmapEntries:{name:Yo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:Va.$type,properties:{content:{name:Va.content,defaultValue:[]},name:{name:Va.name},properties:{name:Va.properties,defaultValue:[]},title:{name:Va.title}},superTypes:[_u.$type,Eu.$type]},ParallelContent:{name:nh.$type,properties:{},superTypes:[]},PersonDeclaration:{name:Ya.$type,properties:{description:{name:Ya.description},name:{name:Ya.name},properties:{name:Ya.properties,defaultValue:[]},title:{name:Ya.title}},superTypes:[Tn.$type]},PersonMemberRef:{name:d_.$type,properties:{ref:{name:d_.ref}},superTypes:[oh.$type]},RoadmapDeclaration:{name:ih.$type,properties:{name:{name:ih.name},properties:{name:ih.properties,defaultValue:[]},title:{name:ih.title}},superTypes:[]},RoadmapEntry:{name:Tn.$type,properties:{},superTypes:[]},ScaleBlock:{name:p_.$type,properties:{properties:{name:p_.properties,defaultValue:[]}},superTypes:[Ga.$type]},SizeDeclaration:{name:Ka.$type,properties:{description:{name:Ka.description},name:{name:Ka.name},properties:{name:Ka.properties,defaultValue:[]},title:{name:Ka.title}},superTypes:[Tn.$type]},StatusDeclaration:{name:Za.$type,properties:{description:{name:Za.description},name:{name:Za.name},properties:{name:Za.properties,defaultValue:[]},title:{name:Za.title}},superTypes:[Tn.$type]},StyleDeclaration:{name:vu.$type,properties:{name:{name:vu.name},properties:{name:vu.properties,defaultValue:[]},title:{name:vu.title}},superTypes:[Ga.$type]},StyleProperty:{name:l_.$type,properties:{key:{name:l_.key},value:{name:l_.value}},superTypes:[]},SwimlaneContent:{name:Eu.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:Ja.$type,properties:{content:{name:Ja.content,defaultValue:[]},name:{name:Ja.name},properties:{name:Ja.properties,defaultValue:[]},title:{name:Ja.title}},superTypes:[Tn.$type]},SymbolDeclaration:{name:Qa.$type,properties:{description:{name:Qa.description},name:{name:Qa.name},properties:{name:Qa.properties,defaultValue:[]},title:{name:Qa.title}},superTypes:[Ga.$type]},TeamContent:{name:oh.$type,properties:{},superTypes:[]},TeamDeclaration:{name:ec.$type,properties:{content:{name:ec.content,defaultValue:[]},name:{name:ec.name},properties:{name:ec.properties,defaultValue:[]},title:{name:ec.title}},superTypes:[Tn.$type,oh.$type]}})}},St=new Ru;var sk,ak=()=>sk??(sk=eh(`{
162
162
  "$type": "Grammar",
163
163
  "isDeclared": true,
164
164
  "name": "Nowline",
@@ -2659,6 +2659,6 @@ ${r}`),this.inline?`{${i}}`:i}};function _U(t,e,r){if(t==="linkplain"||t==="link
2659
2659
  "imports": [],
2660
2660
  "interfaces": [],
2661
2661
  "types": []
2662
- }`));var wU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},ek={AstReflection:()=>new gu},tk={Grammar:()=>QI(),LanguageMetaData:()=>wU,parser:{}};var rk={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`};var nk={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var ik={};var ok={};var AU=new Map([["en-US",rk],["fr",nk],["fr-CA",ik],["fr-FR",ok]]);function ak(t,e,...r){for(let n of SU(t)){let o=AU.get(n)?.[e];if(o)return o(...r)}return e}var sk="en-US";function SU(t){let e=[],r=IU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(sk)||e.push(sk),e}function IU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var kU=/[\\/]/;function uk(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function ck(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function NU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function fk(t){let e=uk(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function sh(t){let e=uk(t);return e<0?t:t.slice(e+1)}function u_(t,e){if(NU(e))return lk(e,ck(e));let r=ck(t,e);return lk(`${t}${r}${e}`,r)}function lk(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(kU))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var CU=/^\d{4}-\d{2}-\d{2}$/;function hk(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&CU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function OU(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function mk(){return{styles:new Map,defaults:new Map,symbols:new Map}}function gk(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function f_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(pk(),dk));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=u_("",e),{config:s,content:a}=await xk(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function xk(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:mk(),content:gk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=mk(),i=gk();MU(n,t),UU(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=u_(fk(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${sh(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=yk(a,"config")??"merge",f=yk(a,"roadmap")??"merge",d;try{let g=await r.readFile(l);d=await LU(r.services,g,l)}catch(g){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${g.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await xk(d,l,r);if(DU(n,p,u,l,r.diagnostics),$U(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let g=hk(t.roadmapDecl),v=hk(d.roadmapDecl);g!==v&&r.diagnostics.push({severity:"error",message:OU(c,g,v),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function yk(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function LU(t,e,r){let n=ht.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function DU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${sh(n)} is shadowed by the parent's definition.`,sourcePath:n});kr(t.styles,e.styles,s=>o(s,"Style")),kr(t.defaults,e.defaults,s=>o(s,"Default")),kr(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function $U(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${sh(i)} is shadowed by the parent's definition.`,sourcePath:i});kr(t.persons,e.persons,c=>a(c,"Person")),kr(t.teams,e.teams,c=>a(c,"Team")),kr(t.anchors,e.anchors,c=>a(c,"Anchor")),kr(t.labels,e.labels,c=>a(c,"Label")),kr(t.sizes,e.sizes,c=>a(c,"Size")),kr(t.statuses,e.statuses,c=>a(c,"Status")),kr(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),kr(t.milestones,e.milestones,c=>a(c,"Milestone")),kr(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function kr(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function MU(t,e){for(let r of e.configEntries)FU(t,r)}function FU(t,e){ZI(e)?t.scale||(t.scale=e):rh(e)?t.calendar||(t.calendar=e):xu(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):Tu(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Gi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function UU(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);for(let r of e.roadmapEntries)BU(t,r)}function BU(t,e){Yr(e)?e.name&&!t.swimlanes.has(e.name)&&t.swimlanes.set(e.name,e):Xi(e)?e.name&&!t.persons.has(e.name)&&t.persons.set(e.name,e):Kr(e)?e.name&&!t.teams.has(e.name)&&t.teams.set(e.name,e):th(e)?e.name&&!t.anchors.has(e.name)&&t.anchors.set(e.name,e):ih(e)?e.name&&!t.labels.has(e.name)&&t.labels.set(e.name,e):Ja(e)?e.name&&!t.sizes.has(e.name)&&t.sizes.set(e.name,e):yu(e)?e.name&&!t.statuses.has(e.name)&&t.statuses.set(e.name,e):oh(e)?e.name&&!t.milestones.has(e.name)&&t.milestones.set(e.name,e):nh(e)&&e.name&&!t.footnotes.has(e.name)&&t.footnotes.set(e.name,e)}var Tk="v1",d_=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),ah=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),y_=new Set(["none","multiplier","person","people","points","time"]),ch=new Set([...y_,"shield","warning","lock","calendar"]),kk="none",lh={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},GU=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),XU=new Set(["business","full","custom"]),p_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),_k=new Set(["name","label-every","label"]),Ek=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),HU={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},vk=new Set(["labels","link","style","description"]),jU={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function zU(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function qU(t,e,r=2){let n,i=r+1;for(let o of e){let s=zU(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}function ke(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var _u=/^\d+(?:\.\d+)?[dwmqy]$/,WU=/^\d+%$/,Hi=/^\d{4}-\d{2}-\d{2}$/,VU=/^#[0-9a-fA-F]{3,8}$/,YU=/^v\d+$/,Rk=/^\d+$/,KU=/^[dwmqy]$/,bk=/^\d+(\.\d+)?$/,x_=/^\d+(\.\d+)?%$/,Nk=/^\d+\.\d+$/,ZU=/^\d+$/,JU=/^[\x20-\x7E]{1,3}$/,QU=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,eB=new Set(["merge","ignore","isolate"]),wk=new Set(["locale"]);function h_(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!Hi.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Zr(t){return t.name??t.title??"<unnamed>"}function tB(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function be(t,e,r,n,...i){t(e,ak("en-US",n,...i),{...r,data:{code:n,args:i}})}function Pk(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var fh=class{checkFileStructure(e,r){let n=e.hasConfig?ws.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&be(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&be(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&be(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!YU.test(e.version)){be(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(Tk.slice(1),10);n>i&&be(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:Tk})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!wk.has(o)){be(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...wk].join(", ")});continue}if(n.has(o)&&be(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;QU.test(s)||be(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&be(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?be(r,"error",{node:s},"NL.E0300",{name:o,location:uh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)iB(o,i);for(let o of e.configEntries)xu(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){be(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Yr);e.roadmapDecl&&!n&&be(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){eB.has(e.value)||be(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&be(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=ke(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!Ak(i)&&be(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(WU.test(i)){let a=parseFloat(i);(a<0||a>100)&&be(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else _u.test(i)||be(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!Hi.test(i)||Number.isNaN(new Date(i).getTime()))&&be(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!XU.has(i)&&be(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&be(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=rB(a);if(c==="invalid")break;c==="lane"?(!bk.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):x_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):bk.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!nB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===kk)break;if(x_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(Nk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(ZU.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(ah.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!m_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in lh){let a=lh[n];i&&!a.has(i)&&!m_(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>ke(i)==="date")||be(r,"error",{node:e},"NL.E0500",{name:Zr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Hi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=h_(e.$container);switch(s.kind){case"invalid":return;case"missing":be(r,"error",{node:n,property:"value"},"NL.E0501",{name:Zr(e)});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0502",{name:Zr(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>ke(o)==="date"),i=e.properties.some(o=>ke(o)==="after");!n&&!i&&be(r,"error",{node:e},"NL.E0503",{name:Zr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Hi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=h_(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Zr(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0504",{name:Zr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||be(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)ke(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${g_(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>ke(o)==="duration"),i=e.properties.some(o=>ke(o)==="size");!n&&!i&&be(r,"error",{node:e},"NL.E0600",{name:Zr(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=ke(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!l_(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!l_(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=ke(n);ah.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${g_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=jU[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=ke(o);if(n.has(s)||vk.has(s)||ah.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...vk],c=qU(s,a)??"";be(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:g_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")m_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in lh){let o=lh[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else ah.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>ke(i)==="effort")||r("error",`Size "${Zr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(_u.test(e.name)||KU.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&d_.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...d_].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ja(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${uh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Gi(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>ke(a)==="utilization-warn-at"),i=e.properties.find(a=>ke(a)==="utilization-over-at");if(!n||!i)return;let o=Sk(n.value),s=Sk(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!Ek.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Ek].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(Gi(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=HU[e.entityType];if(o)for(let s of e.properties){let a=ke(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(rh),o=e.roadmapDecl?.properties.find(s=>ke(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>ke(c)));for(let c of p_)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!p_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...p_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!Rk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!_k.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[..._k].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!Rk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ja(s)&&s.name?n.has(s.name)||n.set(s.name,o):yu(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ik(s,a=>{let c=ke(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(d_.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=oB(e),i=o=>{Ik(o,s=>{let a=ke(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&Hi.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=h_(e),i=o=>{let s=o.properties??[],a=yr(o)||Vr(o)||Wr(o);for(let c of s){let l=ke(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&Hi.test(d));if(f.length!==0){if(!a){be(r,"error",{node:c},"NL.E0411",{key:l,type:tB(o)});continue}f.length>1&&be(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":be(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&be(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Yr(o))for(let c of o.content)i(c);else if(Vr(o)||Wr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,g)=>{if(p)for(let v of m){let T=ke(v);if(T==="after"){let _=v.value?[v.value]:v.values;for(let E of _)E&&(Hi.test(E)||i(p,E))}else if(T==="before"){let _=v.value?[v.value]:v.values;for(let E of _)E&&(Hi.test(E)||i(E,p))}}},s=p=>{let m=p.name,g=p.properties??[];if(o(m,g,e),Yr(p))for(let v of p.content)s(v);else if(Vr(p)||Wr(p))for(let v of p.content)s(v)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let g of n.get(p)??[]){let v=u.get(g)??a;if(v===c){let T=m.indexOf(g),_=m.slice(T).concat(g),E=[..._].sort().join("\u2192");f.has(E)||(f.add(E),r("error",`Circular dependency detected: ${_.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else v===a&&d(g,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)Xi(c)?o(c):Kr(c)&&s(c)};for(let a of e.roadmapEntries)Xi(a)?o(a):Kr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${uh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&ch.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...ch].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>ke(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${Zr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Zr(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>ke(o)==="ascii");if(i){let o=i.value??"";JU.test(o)||r("error",`Symbol "${Zr(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=ke(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(Tu(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${uh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];Tu(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!Ak(a)||s==="capacity-icon"&&y_.has(a)||s==="icon"&&ch.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...y_].sort().join(", "):[...ch].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(xu(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(Gi(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function m_(t){return GU.has(t)||VU.test(t)}function Ak(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function rB(t){return t?Yr(t)?"lane":yr(t)?"item":Gi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function nB(t){return t?!!(Yr(t)||Gi(t)&&t.entityType==="swimlane"):!1}function Sk(t){if(!t||t===kk)return null;if(x_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(Nk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function uh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function g_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function iB(t,e){if(Yr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}else Xi(t)?e(t.name,t):Kr(t)?Ck(t,e):(th(t)||oh(t)||nh(t)||ih(t)||Ja(t)||yu(t))&&e(t.name,t)}function Ck(t,e){e(t.name,t);for(let r of t.content)Kr(r)&&Ck(r,e)}function T_(t,e){if(yr(t))e(t.name,t);else if(Vr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}else if(Wr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}}function Ik(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Yr(n))for(let o of n.content)r(o);else if(Vr(n)||Wr(n))for(let o of n.content)r(o);else if(Kr(n))for(let o of n.content)(Kr(o)||Xi(o))&&r(o)};r(t)}function oB(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),Yr(n))for(let o of n.content)r(o);else if(Vr(n)||Wr(n))for(let o of n.content)r(o);else if(Kr(n))for(let o of n.content)Kr(o)||Xi(o)?r(o):KI(o)};for(let n of t.roadmapEntries)r(n);return e}var __=class extends $o{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},E_=class extends Ma{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
2663
- `);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},Ok={parser:{TokenBuilder:()=>new E_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new fu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new __},validation:{NowlineValidator:()=>new fh}};function v_(t={}){let e=t.shared??zo(lu(du),ek),r=zo(cu({shared:e}),tk,Ok);return e.ServiceRegistry.register(r),Pk(r),{shared:e,Nowline:r}}function Lk(t,e){return{severity:t.severity===2?"warning":"error",code:xm(t),message:t.message,suggestion:ym(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function Dk(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function $k(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function Mk(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function Fk(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}var Uk="__nowline_browser_noop_include__";async function Bk(t){throw new Error(`${Uk}: include "${t}" was skipped \u2014 running in single-file mode.`)}function Gk(t){return t.includes(Uk)}var sB=new Set(["none","multiplier","person","people","points","time"]),aB=/^\d+$/,cB=/^\d+\.\d+$/,lB=/^\d+(?:\.\d+)?%$/;function ji(t){if(!t)return null;if(aB.test(t)){let e=parseInt(t,10);return e>0?e:null}if(cB.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(lB.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Eu(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function uB(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function fB(t){for(let e of t.properties)if(uB(e)==="unicode"&&e.value)return e.value}function vu(t,e){if(t==="none")return null;if(sB.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:fB(r)??t}:{kind:"literal",text:t}}function Vo(t,e,r){return e?e.kind==="builtin"&&e.name==="multiplier"?(t.length+1)*r*.58:t.length*r*.58+(.1+1)*r:t.length*r*.58}function Ru(t,e,r,n=0,i=0){let o=t+10,s=o+12,a=e.length*6.5,c=s+a,l=0,u=0;r&&(l=`owner: ${r}`.length*5,u=c+6,c=u+l);let f=0;n>0&&(f=c+6,c=f+n);let d=0;i>0&&(d=c+6+i,c=d);let p=c-o+12,m=Math.max(56,p);return{titleTextWidth:a,ownerTextWidth:l,capacityBadgeWidth:n,footnoteIndicatorWidth:i,titleX:s,ownerX:u,badgeX:f,footnoteRightX:d,tabX:o,tabW:m,rightX:o+m}}function bu(t,e,r){let n=t+24,i=n+10,o=e.length*6,s=Math.max(60,o+10+10),a=n+s+6,c=a+18,l=0,u=0,f=0,d=0,p=c;return r&&(u=c+6,l=r.length*5.5,f=u-3,d=l+6,p=f+d),{labelTextWidth:o,sourceTextWidth:l,tabX:n,tabWidth:s,tabLabelX:i,badgeX:a,badgeSize:18,sourceHaloX:f,sourceHaloWidth:d,sourceTextX:u,chromeRightX:p}}function R_(t,e){if(t.length===0)return{rows:[[]],expanded:!1};let r=[[]],n=0,i=e,o=!1;for(let s of t){let a=r[r.length-1],c=(a.length===0?0:4)+s.width,l=n+c;if(l<=i){a.push(s),n=l;continue}if(a.length===0){a.push(s),n=s.width;continue}let u=l-i,f=s.width*.25;if(!o&&u<=f){a.push(s),n=l,i=l,o=!0;continue}r.push([s]),n=s.width,i=e}return{rows:r,expanded:o}}function Xk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>Xk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>Xk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function Rt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var Qa={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},dB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function Hk(t,e){let n=t.roadmapDecl?.properties.find(i=>b_(i.key)==="calendar")?.value??"business";if(n==="business")return{...Qa};if(n==="full")return{...dB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>b_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",Qa.daysPerWeek),daysPerMonth:i("days-per-month",Qa.daysPerMonth),daysPerQuarter:i("days-per-quarter",Qa.daysPerQuarter),daysPerYear:i("days-per-year",Qa.daysPerYear)}}return{...Qa}}var dh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function ph(t,e){let r=dh.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function jk(t,e,r){return t?dh.test(t)?ph(t,r):e.get(t)?.effortDays??0:0}function zi(t,e,r){let n=ae(t,"duration");if(n&&dh.test(n))return ph(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=ji(ae(t,"capacity"))??1;return o.effortDays/s}function zk(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&dh.test(o)){let s=ji(ae(t,"capacity"))??1;return ph(o,r)*s}return 0}function hh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>b_(c.key)==="effort")?.value;if(!s)continue;let a=ph(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function b_(t){return t.endsWith(":")?t.slice(0,-1):t}function Nr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Yo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var mh=class{constructor(e){de(this,"items");de(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function qk(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function pB(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let g=f+p;if(g<=c&&!e.hasObstacle(g,i,o))return{x:g,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function hB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function mB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function gB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function yB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function Wk(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=yB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=pB(s,e),{x:u,forceUnderBar:f}=hB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=mB(n);for(let o of n){let s=gB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:xB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function xB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var wu="en-US",TB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function Vk(t,e){return e??t??wu}function gh(t){let e={};for(let r of _B(t)){let n=TB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function _B(t){let e=[],r=EB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(wu)||e.push(wu),e}function EB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function Jk(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function xh(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Vn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Th(t,e){return{x:t,y:e,height:0,maxX:t}}var rc=class{constructor(e){de(this,"rows");de(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)Qk(a,i)}}}};function Qk(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)Qk(r,e)}var eN={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},Yn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},w_={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...Yn,headerHeight:"md",padding:"md"},swimlane:{...Yn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...Yn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...Yn,bracket:"none",padding:"xs"},group:{...Yn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...Yn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...Yn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...Yn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...Yn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var tN={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Kn={bg:"none",fg:"#1a1a1a",text:"#1a1a1a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},A_={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Kn,headerHeight:"md",padding:"md"},swimlane:{...Kn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Kn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Kn,bracket:"none",padding:"xs"},group:{...Kn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Kn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Kn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Kn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Kn,bg:"#e8e8e8",fg:"#595959",text:"#595959",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f5f5f5",separator:"#d4d4d4",frameTabText:"#3a3a3a",frameTabMuted:"#737373",border:"#d4d4d4",tabFill:"#e8e8e8",tabStroke:"#bdbdbd",tabText:"#3a3a3a",ownerText:"#737373",footnoteIndicator:"#4a4a4a",rowTintEven:"#ffffff",rowTintOdd:"#f5f5f5",utilizationOk:"#8a8a8a",utilizationWarn:"#595959",utilizationOver:"#1a1a1a"},timeline:{gridLine:"#bdbdbd",minorGridLine:"#d4d4d4",tickMark:"#bdbdbd",labelText:"#737373",panelFill:"#ffffff",border:"#d4d4d4"},header:{cardBorder:"#d4d4d4",author:"#737373"},item:{overflowX:"#1a1a1a",linkIconFg:"#1a1a1a",overflowTailFill:"#e8e8e8",overflowTailStroke:"#4a4a4a",overflowCaption:"#3a3a3a"},parallel:{bracketStroke:"#3a3a3a"},anchorDiamond:{fill:"#ffffff",stroke:"#3a3a3a",label:"#3a3a3a",cutLine:"#737373"},milestoneDiamond:{fill:"#1a1a1a",label:"#1a1a1a",cutLineNormal:"#2a2a2a",cutLineOverrun:"#4a4a4a",slack:"#1a1a1a"},footnotePanel:{fill:"#ffffff",border:"#d4d4d4",header:"#1a1a1a",title:"#1a1a1a",description:"#737373",number:"#4a4a4a"},nowline:{stroke:"#1a1a1a",labelText:"#ffffff",labelBg:"#1a1a1a"},milestone:{dashedInk:"#9e9e9e",overrun:"#4a4a4a"},anchor:{predecessorLine:"#9e9e9e"},dependency:{edgeStroke:"#595959",overflowStroke:"#1a1a1a"},footnote:{indicatorText:"#4a4a4a",descriptionMuted:"#737373"},includeRegion:{border:"#9e9e9e",label:"#3a3a3a",badge:"#737373",fill:"#f5f5f5",tabFill:"#ffffff",tabStroke:"#bdbdbd",tabText:"#1a1a1a",badgeFill:"#e8e8e8",badgeStroke:"#bdbdbd",badgeText:"#595959"},arrowhead:{neutral:"#595959",light:"#9e9e9e",dark:"#1a1a1a"},status:{done:"#8a8a8a",inProgress:"#595959",atRisk:"#737373",blocked:"#3a3a3a",planned:"#bdbdbd",neutral:"#bdbdbd"},statusDot:{onLight:{done:"#3a3a3a",inProgress:"#2a2a2a",atRisk:"#4a4a4a",blocked:"#1a1a1a",planned:"#595959",neutral:"#595959"},onDark:{done:"#d4d4d4",inProgress:"#e8e8e8",atRisk:"#c8c8c8",blocked:"#f0f0f0",planned:"#d4d4d4",neutral:"#d4d4d4"}},attribution:{mark:"#9e9e9e",link:"#1a1a1a"},diagnostic:{overlayBg:"#e8e8e8",errorText:"#1a1a1a"}};var rN={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Zn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},S_={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Zn,headerHeight:"md",padding:"md"},swimlane:{...Zn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Zn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Zn,bracket:"none",padding:"xs"},group:{...Zn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Zn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Zn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Zn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Zn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var I_={light:S_,dark:w_,grayscale:A_};var wB={greyscale:"grayscale"};function k_(t){let e=t.toLowerCase(),r=wB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var AB={grey:"gray",violet:"purple"};function Ko(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?eN:e.name==="grayscale"?tN:rN,n=AB[t]??t,i=r[n];return typeof i=="string"?i:t}function nc(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function SB(t,e){return{bg:Ko(t.bg,e),fg:Ko(t.fg,e),text:Ko(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function N_(t,e,r,n){switch(e){case"bg":t.bg=Ko(r,n);break;case"fg":t.fg=Ko(r,n);break;case"text":t.text=Ko(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=Iu(r,"xl");break;case"padding":t.padding=Iu(r,"xl");break;case"spacing":t.spacing=Iu(r,"xl");break;case"header-height":t.headerHeight=Iu(r,"xl");break;case"corner-radius":t.cornerRadius=Iu(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function Iu(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function nN(t,e,r){if(e)for(let n of e.properties)N_(t,nc(n),n.value,r)}function IB(t,e,r){for(let n of e){let i=nc(n);n.value!==void 0&&N_(t,i,n.value,r)}}function kB(t,e,r){let n=e.find(o=>nc(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>nc(c)==="style");a?.value&&nN(t,r.styles.get(a.value),r.theme)}}function NB(t,e,r){let n=e.find(i=>nc(i)==="style");n?.value&&nN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=SB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&N_(i,nc(s),s.value,r.theme);return kB(i,e,r),NB(i,e,r),IB(i,e,r.theme),i}function iN(t,e){return yt("label",t.properties,e)}var oN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},sN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var ic={none:0,xs:10,sm:12,md:14,lg:18,xl:24},_h={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Pr=8,Rn=4,ku=24,Eh=15,Nu=8,vh=22,Rh=15,Pu=16,bh=6,P_=4,C_=11,O_=9,L_=5.5,D_=4,oc=12,wh="6 4",$_=36,qi=16,M_=qi/2,Cu=10,F_=qi-4,sc=6,Ah=2.25,Jr=6,Qr=2*Jr,aN=5,cN=120,U_=240,Sh=72,Ou=28,en=16,B_=22,Lu=18,Ih="Powered by",G_="https://nowline.io",Du=.22,Wi=40,kh=32,lN=.58,PB=Ih.length*kh*lN,CB=10,$u=PB+CB,X_=$u+74,H_=5,Nh=$u+81,OB=3*Wi*lN,LB=Nh+OB,DB=12+Wi,j_=LB*Du,uN=DB*Du,z_=4;var je={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},fN={days:7,weeks:4,months:3,quarters:4,years:5};var Ph=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.currentFlowKey=`${c}/group:${n.name??"g"}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Pu+P_:0,f=l?D_:0,d=!l&&a?oc:0,p=e.y+d,m=r.bandScale.step(),g=s,v=new rc({laneLeftX:g,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),T=g,_=[];for(let z of n.content){if(z.$type==="DescriptionDirective")continue;if(!yr(z)){let te=z.properties??[],De=i.resolveChildStart(te,T,g,r),{rowIndex:Ne,y:Xe}=v.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(z,q,r);_.push(J);let re=J.box.x+J.box.width,P=Math.max(m,q.height);v.commitBlock({rowIndex:Ne,placed:J,blockHeight:P,blockEnd:re}),T=Math.max(T,re);continue}let le=z.properties,O=i.resolveChildStart(le,T,g,r),R=zi(le,r.sizes,r.cal),L=Math.max(Pr,R*r.timeline.pixelsPerDay),$=O+L,w=z.name??"",A=i.predictItemChipExtraHeight(z,r),S=m+A,{rowIndex:M,y:X}=v.placeItem({childId:w,desiredStart:O,desiredEnd:$,predictedHeight:S}),F=i.newCursor(O,X),W=i.sequenceItem(z,F,r);_.push(W);let Z=W.box.x+W.box.width+Jr;T=Math.max(T,Z);let pe=null;(W.textSpills||W.chipsOutside||W.dotSpills||W.iconSpills||W.footnoteSpills)&&(pe=Math.max(W.decorationsRightX,W.chipsOutside?W.chipsRightX:0)+6),v.commitItem({rowIndex:M,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:S})}let E=Math.max(m,v.usedHeight()),I=Math.max(T,v.usedRightX()),D={x:s,y:p,width:I-s,height:u+E+f};e.x=T+Nu,e.maxX=Math.max(e.maxX,e.x);let k=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+k);let B=n.name;B&&(r.entityLeftEdges.set(B,D.x),r.entityRightEdges.set(B,D.x+D.width)),r.currentFlowKey=c;let U=xh({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:B,title:a,box:D,children:_,style:o,inlineDatePins:U.length>0?U:void 0}}};var q_=12,$B=4,MB=13,FB=11;function dN(t,e){return t.length*e*.58}var Ch=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Pr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Pr,n.width-2*Jr),o=e.x+Jr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+UB-q_:0,c=q_+Math.max(0,a),l=Math.max(0,i-c-q_),u=this.input.title,f=u?dN(u,MB):0,d=this.input.metaText?dN(this.input.metaText,FB):0,p=this.input.metaTrailingWidth??0,m=d+p,g=this.input.metaText!==void 0||p>0,v=u.length>0&&f>l||g&&m>l,T=v?o+i+$B:o+c;return{id:this.input.id,box:s,textX:T,textSpills:v}}},UB=4;var Oh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey,d=n.name??"p",p=0;for(let T of n.content){if(T.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let _=i.newCursor(s,a+u),E=i.sequenceOne(T,_,r);c.push(E),u+=Math.max(r.bandScale.step(),_.height),l=Math.max(l,_.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Nu,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let g=n.name;g&&(r.entityLeftEdges.set(g,m.x),r.entityRightEdges.set(g,m.x+m.width));let v=xh({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:g,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:v.length>0?v:void 0}}};function Zo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function W_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Jo(t){let e,r,n;t.length!==2?(e=Zo,r=(a,c)=>Zo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Zo||t===W_?t:BB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function BB(){return 0}function V_(t){return t===null?NaN:+t}var pN=Jo(Zo),hN=pN.right,GB=pN.left,XB=Jo(V_).center,Y_=hN;var ac=class extends Map{constructor(e,r=zB){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(mN(this,e))}has(e){return super.has(mN(this,e))}set(e,r){return super.set(HB(this,e),r)}delete(e){return super.delete(jB(this,e))}};function mN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function HB({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function jB({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function zB(t){return t!==null&&typeof t=="object"?t.valueOf():t}var qB=Math.sqrt(50),WB=Math.sqrt(10),VB=Math.sqrt(2);function gN(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=qB?10:o>=WB?5:o>=VB?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?gN(t,e,r*2):[a,c,l]}function K_(t,e,r){return e=+e,t=+t,r=+r,gN(t,e,r)[2]}function Lh(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?K_(e,t,r):K_(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Dh(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function cc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var yN=Symbol("implicit");function $h(){var t=new ac,e=[],r=[],n=yN;function i(o){let s=t.get(o);if(s===void 0){if(n!==yN)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new ac;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return $h(e,r).unknown(n)},cc.apply(i,arguments),i}function Mu(){var t=$h().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,g=p?n:i;o=(g-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(g-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var v=Dh(d).map(function(T){return m+o*T});return r(p?v.reverse():v)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return Mu(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},cc.apply(f(),arguments)}function Mh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function Z_(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function Bu(){}var Fu=.7,Bh=1/Fu,lc="\\s*([+-]?\\d+)\\s*",Uu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",bn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",YB=/^#([0-9a-f]{3,8})$/,KB=new RegExp(`^rgb\\(${lc},${lc},${lc}\\)$`),ZB=new RegExp(`^rgb\\(${bn},${bn},${bn}\\)$`),JB=new RegExp(`^rgba\\(${lc},${lc},${lc},${Uu}\\)$`),QB=new RegExp(`^rgba\\(${bn},${bn},${bn},${Uu}\\)$`),e4=new RegExp(`^hsl\\(${Uu},${bn},${bn}\\)$`),t4=new RegExp(`^hsla\\(${Uu},${bn},${bn},${Uu}\\)$`),xN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Mh(Bu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:TN,formatHex:TN,formatHex8:r4,formatHsl:n4,formatRgb:_N,toString:_N});function TN(){return this.rgb().formatHex()}function r4(){return this.rgb().formatHex8()}function n4(){return AN(this).formatHsl()}function _N(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=YB.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?EN(e):r===3?new cr(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Fh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Fh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=KB.exec(t))?new cr(e[1],e[2],e[3],1):(e=ZB.exec(t))?new cr(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=JB.exec(t))?Fh(e[1],e[2],e[3],e[4]):(e=QB.exec(t))?Fh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=e4.exec(t))?bN(e[1],e[2]/100,e[3]/100,1):(e=t4.exec(t))?bN(e[1],e[2]/100,e[3]/100,e[4]):xN.hasOwnProperty(t)?EN(xN[t]):t==="transparent"?new cr(NaN,NaN,NaN,0):null}function EN(t){return new cr(t>>16&255,t>>8&255,t&255,1)}function Fh(t,e,r,n){return n<=0&&(t=e=r=NaN),new cr(t,e,r,n)}function i4(t){return t instanceof Bu||(t=Vi(t)),t?(t=t.rgb(),new cr(t.r,t.g,t.b,t.opacity)):new cr}function uc(t,e,r,n){return arguments.length===1?i4(t):new cr(t,e,r,n??1)}function cr(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Mh(cr,uc,Z_(Bu,{brighter(t){return t=t==null?Bh:Math.pow(Bh,t),new cr(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Fu:Math.pow(Fu,t),new cr(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new cr(es(this.r),es(this.g),es(this.b),Gh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:vN,formatHex:vN,formatHex8:o4,formatRgb:RN,toString:RN}));function vN(){return`#${Qo(this.r)}${Qo(this.g)}${Qo(this.b)}`}function o4(){return`#${Qo(this.r)}${Qo(this.g)}${Qo(this.b)}${Qo((isNaN(this.opacity)?1:this.opacity)*255)}`}function RN(){let t=Gh(this.opacity);return`${t===1?"rgb(":"rgba("}${es(this.r)}, ${es(this.g)}, ${es(this.b)}${t===1?")":`, ${t})`}`}function Gh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function es(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Qo(t){return t=es(t),(t<16?"0":"")+t.toString(16)}function bN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new tn(t,e,r,n)}function AN(t){if(t instanceof tn)return new tn(t.h,t.s,t.l,t.opacity);if(t instanceof Bu||(t=Vi(t)),!t)return new tn;if(t instanceof tn)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new tn(s,a,c,t.opacity)}function SN(t,e,r,n){return arguments.length===1?AN(t):new tn(t,e,r,n??1)}function tn(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Mh(tn,SN,Z_(Bu,{brighter(t){return t=t==null?Bh:Math.pow(Bh,t),new tn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Fu:Math.pow(Fu,t),new tn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new cr(J_(t>=240?t-240:t+120,i,n),J_(t,i,n),J_(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new tn(wN(this.h),Uh(this.s),Uh(this.l),Gh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Gh(this.opacity);return`${t===1?"hsl(":"hsla("}${wN(this.h)}, ${Uh(this.s)*100}%, ${Uh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function wN(t){return t=(t||0)%360,t<0?t+360:t}function Uh(t){return Math.max(0,Math.min(1,t||0))}function J_(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function Q_(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function IN(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return Q_((r-n/e)*e,s,i,o,a)}}function kN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return Q_((r-n/e)*e,i,o,s,a)}}var Gu=t=>()=>t;function s4(t,e){return function(r){return t+r*e}}function a4(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function NN(t){return(t=+t)==1?Xh:function(e,r){return r-e?a4(e,r,t):Gu(isNaN(e)?r:e)}}function Xh(t,e){var r=e-t;return r?s4(t,r):Gu(isNaN(t)?e:t)}var eE=(function t(e){var r=NN(e);function n(i,o){var s=r((i=uc(i)).r,(o=uc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=Xh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function PN(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=uc(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var jre=PN(IN),zre=PN(kN);function CN(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function ON(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function LN(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=ts(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function DN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Yi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function $N(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=ts(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var rE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tE=new RegExp(rE.source,"g");function c4(t){return function(){return t}}function l4(t){return function(e){return t(e)+""}}function MN(t,e){var r=rE.lastIndex=tE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=rE.exec(t))&&(i=tE.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Yi(n,i)})),r=tE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?l4(c[0].x):c4(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function ts(t,e){var r=typeof e,n;return e==null||r==="boolean"?Gu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,eE):MN:e instanceof Vi?eE:e instanceof Date?DN:ON(e)?CN:Array.isArray(e)?LN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?$N:Yi)(t,e)}function nE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function iE(t){return function(){return t}}function oE(t){return+t}var FN=[0,1];function fc(t){return t}function sE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:iE(isNaN(e)?NaN:.5)}function u4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function f4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=sE(i,n),o=r(s,o)):(n=sE(n,i),o=r(o,s)),function(a){return o(n(a))}}function d4(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=sE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=Y_(t,a,1,n)-1;return o[c](i[c](a))}}function UN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function p4(){var t=FN,e=FN,r=ts,n,i,o,s=fc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==fc&&(s=u4(t[0],t[d-1])),a=d>2?d4:f4,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Yi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,oE),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=nE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:fc,u()):s!==fc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function aE(){return p4()(fc,fc)}function cE(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var lE=new Date,uE=new Date;function Ke(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ke(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(lE.setTime(+o),uE.setTime(+s),t(lE),t(uE),Math.floor(r(lE,uE))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Xu=Ke(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Xu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ke(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Xu);var Sne=Xu.range;var wn=Ke(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),BN=wn.range;var dc=Ke(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),h4=dc.range,Hh=Ke(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),m4=Hh.range;var pc=Ke(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),g4=pc.range,jh=Ke(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),y4=jh.range;var Jn=Ke(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),x4=Jn.range,ju=Ke(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),T4=ju.range,zh=Ke(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),_4=zh.range;function is(t){return Ke(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Qn=is(0),hc=is(1),XN=is(2),HN=is(3),Ki=is(4),jN=is(5),zN=is(6),qN=Qn.range,E4=hc.range,v4=XN.range,R4=HN.range,b4=Ki.range,w4=jN.range,A4=zN.range;function os(t){return Ke(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var ss=os(0),mc=os(1),WN=os(2),VN=os(3),Zi=os(4),YN=os(5),KN=os(6),ZN=ss.range,S4=mc.range,I4=WN.range,k4=VN.range,N4=Zi.range,P4=YN.range,C4=KN.range;var gc=Ke(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),O4=gc.range,qh=Ke(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),L4=qh.range;var xr=Ke(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());xr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ke(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var D4=xr.range,rn=Ke(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());rn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ke(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var $4=rn.range;function QN(t,e,r,n,i,o){let s=[[wn,1,1e3],[wn,5,5*1e3],[wn,15,15*1e3],[wn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=Jo(([,,v])=>v).right(s,d);if(p===s.length)return t.every(Lh(l/31536e6,u/31536e6,f));if(p===0)return Xu.every(Math.max(Lh(l,u,f),1));let[m,g]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(g)}return[a,c]}var[F4,U4]=QN(rn,qh,ss,zh,jh,Hh),[fE,dE]=QN(xr,gc,Qn,Jn,pc,dc);function pE(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function hE(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function zu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function mE(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=qu(i),u=Wu(i),f=qu(o),d=Wu(o),p=qu(s),m=Wu(s),g=qu(a),v=Wu(a),T=qu(c),_=Wu(c),E={a:S,A:M,b:X,B:F,c:null,d:oP,e:oP,f:c3,g:x3,G:_3,H:o3,I:s3,j:a3,L:uP,m:l3,M:u3,p:W,q:Z,Q:cP,s:lP,S:f3,u:d3,U:p3,V:h3,w:m3,W:g3,x:null,X:null,y:y3,Y:T3,Z:E3,"%":aP},I={a:pe,A:V,b:te,B:De,c:null,d:sP,e:sP,f:w3,g:D3,G:M3,H:v3,I:R3,j:b3,L:dP,m:A3,M:S3,p:Ne,q:Xe,Q:cP,s:lP,S:I3,u:k3,U:N3,V:P3,w:C3,W:O3,x:null,X:null,y:L3,Y:$3,Z:F3,"%":aP},D={a:le,A:O,b:R,B:L,c:$,d:nP,e:nP,f:t3,g:rP,G:tP,H:iP,I:iP,j:Z4,L:e3,m:K4,M:J4,p:z,q:Y4,Q:n3,s:i3,S:Q4,u:j4,U:z4,V:q4,w:H4,W:W4,x:w,X:A,y:rP,Y:tP,Z:V4,"%":r3};E.x=k(r,E),E.X=k(n,E),E.c=k(e,E),I.x=k(r,I),I.X=k(n,I),I.c=k(e,I);function k(q,J){return function(re){var P=[],we=-1,me=0,ve=q.length,_t,H,Cr;for(re instanceof Date||(re=new Date(+re));++we<ve;)q.charCodeAt(we)===37&&(P.push(q.slice(me,we)),(H=eP[_t=q.charAt(++we)])!=null?_t=q.charAt(++we):H=_t==="e"?" ":"0",(Cr=J[_t])&&(_t=Cr(re,H)),P.push(_t),me=we+1);return P.push(q.slice(me,we)),P.join("")}}function B(q,J){return function(re){var P=zu(1900,void 0,1),we=U(P,q,re+="",0),me,ve;if(we!=re.length)return null;if("Q"in P)return new Date(P.Q);if("s"in P)return new Date(P.s*1e3+("L"in P?P.L:0));if(J&&!("Z"in P)&&(P.Z=0),"p"in P&&(P.H=P.H%12+P.p*12),P.m===void 0&&(P.m="q"in P?P.q:0),"V"in P){if(P.V<1||P.V>53)return null;"w"in P||(P.w=1),"Z"in P?(me=hE(zu(P.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?mc.ceil(me):mc(me),me=ju.offset(me,(P.V-1)*7),P.y=me.getUTCFullYear(),P.m=me.getUTCMonth(),P.d=me.getUTCDate()+(P.w+6)%7):(me=pE(zu(P.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?hc.ceil(me):hc(me),me=Jn.offset(me,(P.V-1)*7),P.y=me.getFullYear(),P.m=me.getMonth(),P.d=me.getDate()+(P.w+6)%7)}else("W"in P||"U"in P)&&("w"in P||(P.w="u"in P?P.u%7:"W"in P?1:0),ve="Z"in P?hE(zu(P.y,0,1)).getUTCDay():pE(zu(P.y,0,1)).getDay(),P.m=0,P.d="W"in P?(P.w+6)%7+P.W*7-(ve+5)%7:P.w+P.U*7-(ve+6)%7);return"Z"in P?(P.H+=P.Z/100|0,P.M+=P.Z%100,hE(P)):pE(P)}}function U(q,J,re,P){for(var we=0,me=J.length,ve=re.length,_t,H;we<me;){if(P>=ve)return-1;if(_t=J.charCodeAt(we++),_t===37){if(_t=J.charAt(we++),H=D[_t in eP?J.charAt(we++):_t],!H||(P=H(q,re,P))<0)return-1}else if(_t!=re.charCodeAt(P++))return-1}return P}function z(q,J,re){var P=l.exec(J.slice(re));return P?(q.p=u.get(P[0].toLowerCase()),re+P[0].length):-1}function le(q,J,re){var P=p.exec(J.slice(re));return P?(q.w=m.get(P[0].toLowerCase()),re+P[0].length):-1}function O(q,J,re){var P=f.exec(J.slice(re));return P?(q.w=d.get(P[0].toLowerCase()),re+P[0].length):-1}function R(q,J,re){var P=T.exec(J.slice(re));return P?(q.m=_.get(P[0].toLowerCase()),re+P[0].length):-1}function L(q,J,re){var P=g.exec(J.slice(re));return P?(q.m=v.get(P[0].toLowerCase()),re+P[0].length):-1}function $(q,J,re){return U(q,e,J,re)}function w(q,J,re){return U(q,r,J,re)}function A(q,J,re){return U(q,n,J,re)}function S(q){return s[q.getDay()]}function M(q){return o[q.getDay()]}function X(q){return c[q.getMonth()]}function F(q){return a[q.getMonth()]}function W(q){return i[+(q.getHours()>=12)]}function Z(q){return 1+~~(q.getMonth()/3)}function pe(q){return s[q.getUTCDay()]}function V(q){return o[q.getUTCDay()]}function te(q){return c[q.getUTCMonth()]}function De(q){return a[q.getUTCMonth()]}function Ne(q){return i[+(q.getUTCHours()>=12)]}function Xe(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var J=k(q+="",E);return J.toString=function(){return q},J},parse:function(q){var J=B(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=k(q+="",I);return J.toString=function(){return q},J},utcParse:function(q){var J=B(q+="",!0);return J.toString=function(){return q},J}}}var eP={"-":"",_:" ",0:"0"},Lt=/^\s*\d+/,B4=/^%/,G4=/[\\^$*+?|[\]().{}]/g;function Oe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function X4(t){return t.replace(G4,"\\$&")}function qu(t){return new RegExp("^(?:"+t.map(X4).join("|")+")","i")}function Wu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function H4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function j4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function z4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function q4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function W4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function tP(t,e,r){var n=Lt.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function rP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function V4(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Y4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function K4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function nP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Z4(t,e,r){var n=Lt.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function iP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function J4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Q4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function e3(t,e,r){var n=Lt.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function t3(t,e,r){var n=Lt.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function r3(t,e,r){var n=B4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function n3(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function i3(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function oP(t,e){return Oe(t.getDate(),e,2)}function o3(t,e){return Oe(t.getHours(),e,2)}function s3(t,e){return Oe(t.getHours()%12||12,e,2)}function a3(t,e){return Oe(1+Jn.count(xr(t),t),e,3)}function uP(t,e){return Oe(t.getMilliseconds(),e,3)}function c3(t,e){return uP(t,e)+"000"}function l3(t,e){return Oe(t.getMonth()+1,e,2)}function u3(t,e){return Oe(t.getMinutes(),e,2)}function f3(t,e){return Oe(t.getSeconds(),e,2)}function d3(t){var e=t.getDay();return e===0?7:e}function p3(t,e){return Oe(Qn.count(xr(t)-1,t),e,2)}function fP(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function h3(t,e){return t=fP(t),Oe(Ki.count(xr(t),t)+(xr(t).getDay()===4),e,2)}function m3(t){return t.getDay()}function g3(t,e){return Oe(hc.count(xr(t)-1,t),e,2)}function y3(t,e){return Oe(t.getFullYear()%100,e,2)}function x3(t,e){return t=fP(t),Oe(t.getFullYear()%100,e,2)}function T3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function _3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function E3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function sP(t,e){return Oe(t.getUTCDate(),e,2)}function v3(t,e){return Oe(t.getUTCHours(),e,2)}function R3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function b3(t,e){return Oe(1+ju.count(rn(t),t),e,3)}function dP(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function w3(t,e){return dP(t,e)+"000"}function A3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function S3(t,e){return Oe(t.getUTCMinutes(),e,2)}function I3(t,e){return Oe(t.getUTCSeconds(),e,2)}function k3(t){var e=t.getUTCDay();return e===0?7:e}function N3(t,e){return Oe(ss.count(rn(t)-1,t),e,2)}function pP(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function P3(t,e){return t=pP(t),Oe(Zi.count(rn(t),t)+(rn(t).getUTCDay()===4),e,2)}function C3(t){return t.getUTCDay()}function O3(t,e){return Oe(mc.count(rn(t)-1,t),e,2)}function L3(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function D3(t,e){return t=pP(t),Oe(t.getUTCFullYear()%100,e,2)}function $3(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function M3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function F3(){return"+0000"}function aP(){return"%"}function cP(t){return+t}function lP(t){return Math.floor(+t/1e3)}var yc,Wh,hP,mP,gP;gE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function gE(t){return yc=mE(t),Wh=yc.format,hP=yc.parse,mP=yc.utcFormat,gP=yc.utcParse,yc}function U3(t){return new Date(t)}function B3(t){return t instanceof Date?+t:+new Date(+t)}function yP(t,e,r,n,i,o,s,a,c,l){var u=aE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),g=l("%I:%M"),v=l("%I %p"),T=l("%a %d"),_=l("%b %d"),E=l("%B"),I=l("%Y");function D(k){return(c(k)<k?p:a(k)<k?m:s(k)<k?g:o(k)<k?v:n(k)<k?i(k)<k?T:_:r(k)<k?E:I)(k)}return u.invert=function(k){return new Date(f(k))},u.domain=function(k){return arguments.length?d(Array.from(k,B3)):d().map(U3)},u.ticks=function(k){var B=d();return t(B[0],B[B.length-1],k??10)},u.tickFormat=function(k,B){return B==null?D:l(B)},u.nice=function(k){var B=d();return(!k||typeof k.range!="function")&&(k=e(B[0],B[B.length-1],k??10)),k?d(cE(B,k)):u},u.copy=function(){return UN(u,yP(t,e,r,n,i,o,s,a,c,l))},u}function Vh(){return cc.apply(yP(fE,dE,xr,gc,Qn,Jn,pc,dc,wn,Wh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var yE=class t{constructor(e,r,n){de(this,"bandwidthPx");de(this,"stepPx");de(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=Mu().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},G3={bandwidth:56,step:64};function xP(){return yE.fixedRow(G3)}var Yh=class{constructor(e){de(this,"domain");de(this,"range");de(this,"pixelsPerDay");de(this,"calendar");de(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,Nr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Vh().domain(e.domain).range(e.range)}forward(e){let r=Nr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function Kh(t){return t.endsWith(":")?t.slice(0,-1):t}function TP(t,e){let n=t.roadmapDecl?.properties.find(c=>Kh(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=Zh(i)*l,s=1}}let a=s??fN[i]??4;if(e){let l=e.properties.find(m=>Kh(m.key)==="unit")?.value??i,u=e.properties.find(m=>Kh(m.key)==="label-every"),f=e.properties.find(m=>Kh(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||Zh(l)):o??Zh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Zh(i)}}function Zh(t){switch(t){case"days":return aN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function _P(t,e,r,n=wu){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?X3(e.unit,Yo(t.domain[0],u),l,n):void 0})}return c}function X3(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${gh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function EP(t){return{daysPerUnit:e=>xE(e,t),addUnits:(e,r,n)=>Yo(e,r*xE(n,t)),isWorkingDay:()=>!0}}function vP(t,e){return xE(t,e)}function xE(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var TE=class{constructor(e,r){de(this,"id");de(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=Rt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=yt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function bP(t,e,r){let n=[];for(let[i,o]of t){let s=new TE(i,o).place(e,r);s&&n.push(s)}return n}function _E(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,gt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:yt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:en,y:r+en,width:e.chartRightX-2*en,height:n.length===0?0:Ou+n.length*Lu+en},entries:n},index:i,hosts:o}}var H3=.8,j3=1;function z3(t){let e=[];return AP(t,e),e}function AP(t,e){for(let r of t)if(r.kind==="item"){let n=q3(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&AP(r.children,e)}function q3(t){return t.capacity?t.capacity.value:t.size?1:0}function SP(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=z3(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:W3(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function W3(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function IP(t,e){let r=e.get("swimlane"),n=wP(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,H3),i=wP(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,j3);return{warn:n,over:i}}function wP(t,e,r){let i=K3(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var V3=/^\d+(?:\.\d+)?%$/,Y3=/^\d+\.\d+$/;function K3(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(V3.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(Y3.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var kP=10;function Z3(t,e,r){let n=ae(t.properties,"capacity"),i=ji(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Eu(i),s=vu(e.capacityIcon,r),a=Vo(o,s,kP);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var J3=10,Q3=38,eG=8;function tG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Ru(0,n,i??void 0,e,r).rightX}function rG(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function nG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=yr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var xc=class{constructor(e,r){de(this,"input");de(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=yt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=Z3(n,s,r.symbols),d=rG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),kP):0,m=tG(n,f,p),g=nG(n,a,r,o),v=!n.title||g===void 0||g>=m+eG,T=e.y+(v?J3:Q3),_=new rc({laneLeftX:a,originY:T,minRowHeight:c,slackCorridors:r.slackCorridors}),E=a,I=[];for(let R of n.content){if(R.$type==="DescriptionDirective")continue;if(!yr(R)){let Xe=R.properties??[],q=o.resolveChildStart(Xe,E,a,r),{rowIndex:J,y:re}=_.placeBlock(),P=o.newCursor(q,re),we=o.sequenceOne(R,P,r);I.push(we);let me=we.box.x+we.box.width,ve=Math.max(c,P.height);_.commitBlock({rowIndex:J,placed:we,blockHeight:ve,blockEnd:me}),E=Math.max(E,me);continue}let L=R.properties,$=o.resolveChildStart(L,E,a,r),w=zi(L,r.sizes,r.cal),A=Math.max(Pr,w*r.timeline.pixelsPerDay),S=$+A,M=R.name??"",X=o.predictItemChipExtraHeight(R,r),F=c+X,{rowIndex:W,y:Z}=_.placeItem({childId:M,desiredStart:$,desiredEnd:S,predictedHeight:F}),pe=o.newCursor($,Z),V=o.sequenceItem(R,pe,r);I.push(V);let te=V.box.x+V.box.width+Jr;E=Math.max(E,te);let De=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(De=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),_.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:F})}let D=T-e.y,k=Math.max(c+32,D+_.usedHeight()+16),B=Math.max(_.usedRightX(),m),U={x:0,y:e.y,width:r.chartRightX,height:k},z=ae(n.properties,"owner"),le;if(z){let R=r.teams.get(z),L=r.persons.get(z);le=R?.title??L?.title??z}let O=u?(()=>{let{warn:R,over:L}=IP(n,r.styleCtx.defaults);return SP({children:I,capacityValue:u.value,warnFraction:R,overFraction:L})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:U,bandIndex:i,children:I,nested:[],style:s,owner:le,footnoteIndicators:d,capacity:u,utilization:O},usedHeight:k,usedRightX:B}}};var iG=18,oG=14,sG=14,aG=16,cG=32;function NP(t,e,r,n){let i=r+iG,o=[],s=!0;for(let a of t){s||(i+=aG),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+oG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:hh(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX},f=[],d=l,p=0,m=u.timeline.originX;for(let k of a.content.swimlanes.values()){let{positioned:B,usedHeight:U,usedRightX:z}=new xc({lane:k,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(B),d+=U,p++,z>m&&(m=z)}let g=d,v=Math.max(e.bandScale.bandwidth(),g-i+sG),T=0,{chromeRightX:_}=bu(T,c,a.sourcePath),E=Math.max(_,m)+cG,I=Math.min(e.chartRightX-T,E-T),D={x:T,y:i,width:I,height:v};for(let k of f)k.box.width=I;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=v}return{regions:o,endY:i}}function em(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function tm(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function PP(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var EE=class{constructor(e,r){de(this,"id");de(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=yt("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=gt(r.properties,"after"),s=Rt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,g,v=!1;if(s){let _=e.scale.forwardWithinDomain(s);if(_===null)return null;u=_,m=!0;let E=e.markerRowPlacements.get(this.id);E&&(f=E.centerY,d=E.labelBox,p=E.labelSide);let I=em(o,e),D=tm(I),k=null;for(let B of D)(!k||B.x>k.x)&&(k=B);k&&k.x>_&&(v=!0,g=[{x:k.x,y:k.y>0?k.y:f}])}else if(o.length>0){let _=em(o,e),E=tm(_);E.sort((B,U)=>U.x-B.x);let I=E[0]?.x??e.timeline.originX;u=I,m=!1;let D=PP(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let k=[];for(let B=1;B<E.length;B++){let U=E[B];U.x<I&&U.y>0&&k.push({x:U.x,y:U.y})}k.length>0&&(g=k)}if(u===null)return null;if(!d){let _=PP(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=_.box,p=_.side}let T={x:u,y:f};return e.entityLeftEdges.set(this.id,T.x),e.entityRightEdges.set(this.id,T.x),e.entityMidpoints.set(this.id,T),{id:this.id,title:l,center:T,radius:c,fixed:m,slackArrows:g,isOverrun:v,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function CP(t,e){let r=[];for(let[n,i]of t){let o=new EE(n,i).place(e);o&&r.push(o)}return r}var uG=4;function fG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var nm=class{place(e,r,n,i){let o=n.theme??"light",s=I_[o],a=n.width??1280,c=Vk(n.locale,hG(e)),l=Hk(e,r.config.calendar),u=TP(e,r.config.scale),f=hh(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),g=yt("roadmap",e.roadmapDecl?.properties??[],d),v=g.headerPosition==="beside",T=g.timelinePosition!=="bottom",_=g.timelinePosition==="bottom"||g.timelinePosition==="both",E=e.roadmapDecl?.title??e.roadmapDecl?.name??"",I=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(E,I),k=v?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:Sh},B=v?D.boxWidth:0,U=v?8:Sh+8,z=EP(l),le=u.pixelsPerUnit/z.daysPerUnit(u.unit),R=Math.max(1,Nr(p,m))*le,L=B+Qr,$=R,w=B+Qr+$+Qr,A=Math.min(a,w),S=n.today!==void 0&&n.today>=p&&n.today<=m,M=r.content.anchors.size+r.content.milestones.size>0,X=S?qi:0,F=T?ku:0,W=new Yh({domain:[p,m],range:[L,L+R],calendar:z}),Z=Math.max(A,L+$+Qr),pe=[];for(let[K,ue]of r.content.anchors){let ze=Rt(ae(ue.properties,"date"));if(!ze)continue;let Dr=W.forwardWithinDomain(ze);Dr!==null&&pe.push({id:K,centerX:Dr,radius:6,title:ue.title??K,fontSize:10,bold:!1,date:ze,isMilestone:!1})}for(let[K,ue]of r.content.milestones){let ze=Rt(ae(ue.properties,"date"));if(!ze)continue;let Dr=W.forwardWithinDomain(ze);Dr!==null&&pe.push({id:K,centerX:Dr,radius:6,title:ue.title??K,fontSize:10,bold:!0,date:ze,isMilestone:!0})}let V=LP(pe,B,Z,i.estimateTextWidth),te=M?Math.max(1,V.rowCount):0,De=te*26,Ne=X+F+De,Xe=Ne+8,q=v?D.cardHeight+uG:0,J=Math.max(U,q-Ne),re=J+X,P=re+F,we=P+De,me=_P(W,u,z,c),ve={box:{x:L,y:J,width:R,height:0},ticks:me,pixelsPerDay:le,originX:L,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:X,tickPanelY:re,tickPanelHeight:F,markerRow:{y:P+13,height:De,collisionY:P-8},minorGrid:g.minorGrid},_t=new Map;for(let[K,ue]of V.placements){let ze=P+13+ue.rowIndex*26;_t.set(K,{rowIndex:ue.rowIndex,centerY:ze,labelBox:{...ue.labelBox,y:ze-4},labelSide:ue.labelSide})}let H={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:ve,scale:W,calendar:z,bandScale:xP(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:_t,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z};for(let K of pe){let ue=_t.get(K.id);ue&&(H.entityLeftEdges.set(K.id,K.centerX),H.entityRightEdges.set(K.id,K.centerX),H.entityMidpoints.set(K.id,{x:K.centerX,y:ue.centerY}))}let Cr=_E(r.content.footnotes,H,0);H.footnoteIndex=Cr.index,H.footnoteHosts=Cr.hosts;let _r=new Map(H.entityLeftEdges),Or=new Map(H.entityRightEdges),cs=new Map(H.entityMidpoints),_e=[...r.content.swimlanes.values()],Lr=yt("swimlane",[],d),Qi=oN[Lr.spacing]??0,In=()=>{let K=[],ue=H.chartTopY,ze=0,Dr=H.timeline.originX;for(let vr of _e){ze>0&&(ue+=Qi);let{positioned:nf,usedHeight:YE,usedRightX:ne}=new xc({lane:vr,bandIndex:ze},i).place({x:H.timeline.originX,y:ue},H);K.push(nf),ue+=YE,ne>Dr&&(Dr=ne),ze++}return{swimlanes:K,nextY:ue,maxRightX:Dr}},Er=In(),jt=Er.swimlanes,At=Er.nextY,x=dG(r.content.milestones,H);x.length>0&&(H.entityLeftEdges=new Map(_r),H.entityRightEdges=new Map(Or),H.entityMidpoints=new Map(cs),H.itemSlackAttachY=new Map,H.entityVisualLeftX=new Map,H.entityVisualRightX=new Map,H.itemArrowSource=new Map,H.itemFlowKey=new Map,H.currentFlowKey="",H.slackCorridors=x,Er=In(),jt=Er.swimlanes,At=Er.nextY),fG(H,Er.maxRightX+Qr);for(let K of jt)K.box.width=H.chartRightX;let C=r.content.isolatedRegions,j=[];if(C.length>0){let K=NP(C,H,At+8,i);j=K.regions,At=K.endY}H.chartBottomY=At,H.swimlaneBottomY=At,ve.box.height=H.chartBottomY-ve.box.y;let Y=CP(r.content.milestones,H),$e=pe.map(K=>({id:K.id,centerX:K.centerX,radius:K.radius,title:K.title,fontSize:K.fontSize,bold:K.bold}));for(let K of Y)K.fixed||$e.push({id:K.id??"",centerX:K.center.x,radius:K.radius,title:K.title,fontSize:10,bold:!0});let Pe=LP($e,B,H.chartRightX,i.estimateTextWidth);H.markerRowPlacements.clear();for(let[K,ue]of Pe.placements){let ze=P+13+ue.rowIndex*26;H.markerRowPlacements.set(K,{rowIndex:ue.rowIndex,centerY:ze,labelBox:{...ue.labelBox,y:ze-4},labelSide:ue.labelSide})}for(let K of Y){let ue=H.markerRowPlacements.get(K.id??"");ue&&(K.center={x:K.center.x,y:ue.centerY},K.labelBox=ue.labelBox,K.labelSide=ue.labelSide)}for(let K of pe){let ue=H.markerRowPlacements.get(K.id);ue&&H.entityMidpoints.set(K.id,{x:K.centerX,y:ue.centerY})}for(let K of Y)K.fixed||H.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let qe=M?Math.max(1,Pe.rowCount):0;if(qe>te){let K=(qe-te)*26;H.timeline.markerRow.height=qe*26,H.timeline.box.height+=K,H.chartTopY+=K,H.chartBottomY+=K,H.swimlaneBottomY+=K;for(let ue of jt)vE(ue,K);for(let ue of j)pG(ue,K);for(let[ue,ze]of H.entityMidpoints)H.markerRowPlacements.has(ue)||H.entityMidpoints.set(ue,{x:ze.x,y:ze.y+K});for(let[ue,ze]of H.itemSlackAttachY)H.itemSlackAttachY.set(ue,ze+K);for(let ue of Y)if(ue.cutTopY=H.chartTopY,ue.cutBottomY=H.swimlaneBottomY,ue.slackArrows)for(let ze of ue.slackArrows)ze.y+=K}_&&(H.timeline.bottomTickPanelY=H.chartBottomY+8,H.timeline.bottomTickPanelHeight=ku,H.chartBottomY+=8+ku);let Ze=new Set(Y.map(K=>K.center.x)),ge=bP(r.content.anchors,H,Ze),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,jt,j,H),Je=i.buildNowline(n.today,H,c),st=_E(r.content.footnotes,H,H.chartBottomY);H.footnoteIndex=st.index,H.footnoteHosts=st.hosts,k.height=k.height||H.chartBottomY,v||(k.width=H.chartRightX);let Qt=v?{x:6,y:we-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:H.chartRightX,height:Sh},ls=st.area.entries.length>0?st.area.box.y+st.area.box.height:H.chartBottomY,tf={x:H.chartRightX-Qr-j_,y:ls+Qr,width:j_,height:uN},er=tf.y+tf.height+Qr,on={box:k,position:g.headerPosition,title:E,author:I,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Qt,logo:void 0,style:g,attributionBox:tf};return{width:H.chartRightX,height:er,theme:o,palette:s,backgroundColor:s.surface.page,header:on,timeline:ve,nowline:Je,swimlanes:jt,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:j,chartBox:{x:B,y:H.chartTopY,width:H.chartRightX-B,height:H.chartBottomY-H.chartTopY}}}};function dG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=gt(i.properties,"after"),a=Rt(o),c=em(s,e),l=tm(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function vE(t,e){t.box.y+=e;for(let r of t.children)DP(r,e);for(let r of t.nested)vE(r,e)}function DP(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)DP(r,e)}function pG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)vE(r,e)}function LP(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,g=B=>B==="right"?l:u,v=B=>B==="right"?f:d,T=(B,U)=>{let z=Math.min(p,B),le=Math.max(m,B+c);return s[U].some(O=>O.left<le&&O.right>z)},_=-1,E="right",I=l;e:for(let B=s.length-1;B>=0;B--)for(let U of["right","left"]){if(!v(U))continue;let z=g(U);if(!T(z,B)){_=B,E=U,I=z;break e}}if(_===-1){for(let[B,U]of o)o.set(B,{...U,rowIndex:U.rowIndex+1});s=[[],...s],_=0,E=f?"right":"left",I=g(E)}let D=Math.min(p,I),k=Math.max(m,I+c);s[_].push({left:D,right:k}),o.set(a.id,{rowIndex:_,labelBox:{x:I,y:0,width:c,height:12},labelSide:E})}return{placements:o,rowCount:s.length}}function hG(t){return t.directive?.properties.find(r=>mG(r.key)==="locale")?.value}function mG(t){return t.endsWith(":")?t.slice(0,-1):t}function TG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function _G(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function EG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function vG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function RG(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function im(t,e,r,n,i){let o=iN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=sN[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function IE(t,e,r,n){let i=t.properties,o=yt("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=zi(i,r.sizes,r.cal),l=zk(i,r.sizes,r.cal),u=gt(i,"after"),f=gt(i,"before"),d=ae(i,"date"),p=jk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,g=Rt(d);if(g){let ne=r.scale.forwardWithinDomain(g);ne!==null&&(m=ne)}else if(u.length>0){let ne=e.x;for(let We of u){let Et=Rt(We);if(Et){let ni=r.scale.forwardWithinDomain(Et);ni!==null&&(ne=Math.max(ne,ni));continue}let kn=r.entityRightEdges.get(We);kn!==void 0&&(ne=Math.max(ne,kn))}m=Math.max(e.x,ne)}let v=Math.max(Pr,c*r.timeline.pixelsPerDay),T=m,_=m+v,E=ae(i,"link"),I=RG(E),D=I.icon!=="none",k=Math.max(Pr,v-2*Jr),B=gt(i,"labels"),U=[];for(let ne of B){let We=r.labels.get(ne);if(!We)continue;let Et=im(We,r.styleCtx,0,0);U.push({id:We,width:Et.box.width})}let z=0;for(let ne=0;ne<U.length;ne+=1)ne>0&&(z+=4),z+=U[ne].width;let le=Math.max(0,k-24),O=U.length>0&&z>le,R=!1,L,$;if(f.length>0){let ne,We;for(let Et of f){let kn=Rt(Et),ni=kn?r.scale.forwardWithinDomain(kn)??void 0:r.entityLeftEdges.get(Et);ni!==void 0&&(ne===void 0||ni<ne)&&(ne=ni,We=Et)}ne!==void 0&&_>ne&&(R=!0,L={x:ne,y:e.y,width:_-ne,height:r.bandScale.bandwidth()},$=We)}let w=ae(i,"status"),A=TG(w),S=_G(w);S===0&&A==="done"&&(S=1);let M=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");S===0&&A==="in-progress"&&M&&(S=1-Math.max(0,Math.min(100,parseInt(M[1],10)))/100),S===0&&A==="in-progress"&&p>0&&l>0&&(S=Math.max(0,Math.min(1,1-p/l)));let X={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},F={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},W={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},Z={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},pe=r.styleCtx.theme.name,V=pe==="dark",te=V?"#0f172a":"#ffffff",De=pe==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===te&&(o.bg=pe==="grayscale"?W[A]:V?F[A]:X[A]),o.fg===De&&(o.fg=Z[A]);let Ne=ae(i,"duration"),Xe=!!Ne&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Ne),q=a?a.title??a.name:"",J=Xe?Ne:q||void 0,re=ae(i,"remaining"),P=EG(re,r),we=vG(n??ae(i,"owner"),r),me=()=>[J,we].filter(Boolean).join(" "),ve;if(A==="in-progress"&&P){let ne=me();ve=ne?`${ne} \u2014 ${P} remaining`:`${P} remaining`}else if(A==="in-progress"&&S>0&&S<1){let ne=Math.round((1-S)*100),We=me();ve=We?`${We} \u2014 ${ne}% remaining`:`${ne}% remaining`}else(we||J)&&(ve=me()||void 0);let _t=ae(i,"capacity"),H=ji(_t),Cr=null,_r=0;if(H!==null){let ne=Eu(H),We=vu(o.capacityIcon,r.symbols);Cr={value:H,text:ne,icon:We};let Et=11;_r=(ve?Sn(" ",Et):0)+Vo(ne,We,Et)}let Or=t.title??t.name??"",cs=new Ch({id:t.name??"",title:Or,logicalLeftX:T,logicalRightX:_,metaText:ve,metaTrailingWidth:_r,hasLinkIcon:D}).place({x:T,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=cs.box,Lr=r.bandScale.bandwidth(),Qi=_e.width<17,In=D&&_e.width<41,Er=_e.width<23,jt=cs.textSpills||In,At=null;O&&(At=R_(U,_e.width));let x=At?At.rows.length:U.length>0?1:0,C=ve!==void 0||Cr!==null,j=BP(O,jt,x,Lr,C);j>0&&(_e.height=Lr+j);let Y=[],$e=_e.y+Lr-Rn-13-3,Pe=_e.y+38+3,Ze=O&&jt||!O&&C&&U.length>0?Math.max($e,Pe):$e,ge=O?_e.x+_e.width+6:_e.x+12,Ue=ge;if(At)for(let ne=0;ne<At.rows.length;ne+=1){let We=Ze+ne*17,Et=ge;for(let ni of At.rows[ne]){let KE=im(ni.id,r.styleCtx,Et,We);Y.push(KE),Et+=KE.box.width+4}let kn=Et-4;kn>Ue&&(Ue=kn)}else{let ne=ge;for(let We of U){let Et=im(We.id,r.styleCtx,ne,Ze);Y.push(Et),ne+=Et.box.width+4}Ue=U.length>0?ne-4:ge}let Ae=new Set;if(t.name){for(let[ne,We]of r.footnoteHosts.entries())if(We.includes(t.name)){let Et=r.footnoteIndex.get(ne);Et!==void 0&&Ae.add(Et)}}let Je=[...Ae].sort((ne,We)=>ne-We),st=we??n??ae(i,"owner"),Qt=t.description?.text,ls=Je.length>0&&Er,er=_e.x+_e.width+6,on=!1,rf=null;In&&(on&&(er+=4),rf=er,er=rf+14,on=!0);let K=0;if(jt){on&&(er+=4);let ne=Sn(Or,13),We=(ve?Sn(ve,11):0)+_r;K=Math.max(ne,We),er+=K,on=!0}let ue=null;ls&&(on&&(er+=4),ue=er,er+=Je.length*8,on=!0);let ze=null;Qi&&(on&&(er+=4),ze=er+5,er=ze+5,on=!0);let Dr=Math.max(_e.x+_e.width,er),vr=t.name;if(vr){r.entityLeftEdges.set(vr,T),r.entityRightEdges.set(vr,_),r.entityMidpoints.set(vr,{x:(T+_)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(vr,_e.x),r.entityVisualRightX.set(vr,_e.x+_e.width);let ne=jt?{x:_e.x+_e.width,y:_e.y+_e.height-Rn/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(vr,ne),r.itemFlowKey.set(vr,r.currentFlowKey);let We=jt?_e.y+_e.height-Rn/2:_e.y+_e.height/2;r.itemSlackAttachY.set(vr,We)}e.x=_,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+j);let nf=Jk({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Je.length});return{kind:"item",id:vr,title:Or,box:_e,status:A,progressFraction:S,footnoteIndicators:Je,labelChips:Y,chipsOutside:O,chipsRightX:Ue,linkIcon:I.icon,linkHref:I.href,hasOverflow:R,overflowBox:L,overflowAnchorId:$,owner:st,description:Qt,metaText:ve,textSpills:jt,dotSpills:Qi,iconSpills:In,footnoteSpills:ls,dotSpillCx:ze,iconSpillX:rf,footnoteSpillStartX:ue,decorationsRightX:Dr,capacity:Cr,size:a,style:o,inlineDatePins:nf.length>0?nf:void 0}}function bG(t,e,r){return new Oh(t,{sequenceOne:kE,newCursor:Th}).place(e,r)}function wG(t,e,r){return new Ph(t,{sequenceItem:IE,sequenceOne:kE,resolveChildStart:XP,newCursor:Th,estimateTextWidth:Sn,predictItemChipExtraHeight:GP}).place(e,r)}function kE(t,e,r){if(yr(t))return IE(t,e,r);if(Vr(t))return bG(t,e,r);if(Wr(t))return wG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function Sn(t,e){return t.length*e*.58}function BP(t,e,r,n,i){if(r===0)return 0;let o=n-Rn-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+Rn;return Math.max(0,l-n)}function GP(t,e){let r=t.properties,n=gt(r,"labels");if(n.length===0)return 0;let i=zi(r,e.sizes,e.cal),o=Math.max(Pr,i*e.timeline.pixelsPerDay),s=Math.max(Pr,o-2*Jr),a=[];for(let T of n){let _=e.labels.get(T);if(!_)continue;let E=im(_,e.styleCtx,0,0);a.push({id:_,width:E.box.width})}if(a.length===0)return 0;let c=0;for(let T=0;T<a.length;T+=1)T>0&&(c+=4),c+=a[T].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?Sn(d,13):0)>l,g=u?R_(a,s):null,v=g?g.rows.length:a.length>0?1:0;return BP(u,m,v,e.bandScale.bandwidth(),f)}function XP(t,e,r,n){let i=Rt(ae(t,"date"))??Rt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=gt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=Rt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var RE=6;function $P(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&Sn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function AG(t,e){let r=U_-32,n=$P(t,r,16),i=$P(e??"",r,11),o=0;for(let d of n)o=Math.max(o,Sn(d,16));for(let d of i)o=Math.max(o,Sn(d,11));let s=o+32,a=Math.max(cN-RE,Math.min(U_-RE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+RE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function SG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=Rt(a)??IG(n),l=ae(s,"length");if(l){let p=kG(l,e.cal);if(p>0)return{startDate:c,endDate:Yo(c,p)}}let u=HP(r,e,c,n),f=vP(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Yo(c,Math.max(1,d))}}function IG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function kG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function HP(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=Rt(f);return d?Nr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=Rt(ae(f.properties,"date"));if(d&&f.name){let p=Nr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(yr(f)){let p=zi(f.properties,e.sizes,e.cal),m=Rt(ae(f.properties,"date")),g=Rt(ae(f.properties,"start")),v=gt(f.properties,"after"),T=d;m?T=Nr(r,m):g?T=Nr(r,g):v.length>0&&(T=Math.max(d,...v.map(c)));let _=T+p;return f.name&&i.set(f.name,_),_}if(Vr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,g=m;for(let v of f.content){if(v.$type==="DescriptionDirective")continue;let T=u(v,m);g=Math.max(g,T)}return g}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=Rt(ae(f.properties,"date"));if(d){let m=Nr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=gt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=HP({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=Nr(r,n);f>0&&(a=Math.max(a,f))}return a}function NG(t,e,r,n){let i=new mh(qk(e,r)),o=[],s=[];for(let[l,u]of t){let f=gt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let g of f){let v=n.itemArrowSource.get(g),T,_=v===void 0;if(v)T=v;else{let E=n.entityMidpoints.get(g);if(!E)continue;T={x:E.x,y:d.y}}!_&&Math.abs(T.y-m.y)<.5&&m.x-T.x<20||(o.push({fromId:g,toId:l,from:T,to:m,isMarkerSource:_}),s.push({fromId:g,toId:l}))}}let a=Wk(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:yt("item",[],n.styleCtx)})}return c}function PG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=gh(r).nowLabel,a=Sn(s,Cu),c=Math.max($_,Math.ceil(a+2*sc)),l=e.timeline.originX-Qr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:yt("item",[],e.styleCtx)}}function CG(t){let e=new Map,r=n=>{if(yr(n)){n.name&&e.set(n.name,n);return}if(Vr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function NE(t,e,r={}){return new nm().place(t,e,r,{sequenceItem:IE,sequenceOne:kE,resolveChildStart:XP,newCursor:Th,estimateTextWidth:Sn,predictItemChipExtraHeight:GP,computeDateWindow:SG,sizeBesideHeader:AG,collectItems:CG,buildDependencies:NG,buildNowline:PG})}var Ji={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},OG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},jP={...Ji,...OG};var xse={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var lm=class{constructor(e="nl"){de(this,"prefix");de(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var LG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),DG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function $G(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=MG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=FG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function MG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function FG(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function Ku(t){return t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function UG(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function zP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=$G(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(Ku(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!LG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!DG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let g=UG(m,o);if(g===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${Ku(g)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let g=o.get(m);g&&f.push(` id="${Ku(g)}"`);continue}if(/\burl\(#/i.test(m)){let g=m.replace(/url\(#([^)]+)\)/gi,(v,T)=>{let _=o.get(T);return _?`url(#${_})`:"none"});f.push(` ${p}="${Ku(g)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${Ku(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var qP=/&/g,WP=/</g,VP=/>/g,BG=/"/g,GG=/'/g;function lr(t){return t.replace(qP,"&amp;").replace(WP,"&lt;").replace(VP,"&gt;")}function ei(t){return t.replace(qP,"&amp;").replace(WP,"&lt;").replace(VP,"&gt;").replace(BG,"&quot;").replace(GG,"&#39;")}function Ec(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${ei(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function Q(t,e,r){return r===void 0||r===""?`<${t}${Ec(e)}/>`:`<${t}${Ec(e)}>${r}</${t}>`}function Le(t,e){return`<text${Ec(t)}>${lr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var XG={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function HG(t,e){let r=`${t}-shadow-${e}`,n=XG[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return Q("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function YP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function KP(t){return["subtle","soft","hard"].map(e=>HG(t,e)).join("")}var VG={thin:100,light:300,normal:400,bold:700};function YG(t){return ic[t]??14}function CE(t,e){return{"font-family":je[t.font],"font-size":e??YG(t.textSize),"font-weight":VG[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function KG(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function ZG(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function JG(t,e){return ZG(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function PE(t,e){return t.length*e*.58}function eC(t,e,r,n,i,o,s){let a=i*.58,c=e?PE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=PE(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Le({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Le({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let v=Ji[d.name],T=Le({x:h(u),y:h(n),...m},f),_=i*.1,E=i,I=u+p+_,D=n-i*.85,k=`<svg x="${h(I)}" y="${h(D)}" width="${h(E)}" height="${h(E)}" viewBox="${v.viewBox}" style="color:${ei(s)}" aria-hidden="true">${v.body}</svg>`;return T+k}let g=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${lr(f)}<tspan dx="${g}">${lr(d.text)}</tspan></text>`}var ZP=.6,QG=.5;function eX(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Le({x:h(n),y:h(i),...c},e);if(!e)return eC(r,void 0,n,i,o,s,a);let l=h(o*ZP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${ei(s)}" font-size="${o}" fill="${ei(a)}">`,{text:f,icon:d}=r;if(!d)return u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+lr(e)+`<tspan dx="${l}">${lr(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let k=h(o*.1);return u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan><tspan dx="${k}">${lr(d.text)}</tspan></text>`}let p=Ji[d.name],m=k=>k.length*o*QG,g=n+m(e)+o*ZP,v=o*.1,T=o,_=g+m(f)+v,E=i-o*.85,I=u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan></text>`,D=`<svg x="${h(_)}" y="${h(E)}" width="${h(T)}" height="${h(T)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return I+D}function tX(t,e){let r=jP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${ei(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${lr(t.isoDate)}</title>`;return Q("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function OE(t,e){return!t||t.length===0?"":t.map(r=>tX(r,e)).join("")}function rX(t,e,r,n,i,o={}){let s=Math.min(_h[i.cornerRadius]??4,n/2);return Q("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":KG(i)??null,...o})}function nX(t,e,r){let n=t.box.x+t.cardBox.x,i=t.box.y+t.cardBox.y,o=t.cardBox.width,s=t.cardBox.height,a=t.style.bg==="none"?r.surface.headerBox:t.style.bg,c=r.header.cardBorder,l=Q("rect",{x:h(n),y:h(i),width:h(o),height:h(s),rx:6,ry:6,fill:a,stroke:c,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),u=[];t.titleLines.forEach((v,T)=>{u.push(Le({x:h(n+16),y:h(i+26+T*20),"font-family":je[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},v))});let f=u.join(""),d=i+26+Math.max(0,t.titleLines.length-1)*20,p=r.header.author,m=[];t.authorLines.forEach((v,T)=>{m.push(Le({x:h(n+16),y:h(d+18+T*14),"font-family":je[t.style.font],"font-size":11,fill:p},v))});let g=m.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},l+f+g)}function iX(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(Q("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(Q("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return Q("g",{"data-layer":"grid"},f.join(""))}function oX(t,e){let r=e.timeline.panelFill,n=e.timeline.border,i=e.timeline.labelText,o=[],s=t.tickPanelY,a=t.tickPanelHeight,c=a>0,l=t.markerRow.height>0,u=s+a,f=t.markerRow.height,d=t.bottomTickPanelY,p=t.bottomTickPanelHeight??0,m=d!==void 0&&p>0;c&&o.push(Q("rect",{x:h(t.box.x),y:h(s),width:h(t.box.width),height:h(a),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),l&&o.push(Q("rect",{x:h(t.box.x),y:h(u),width:h(t.box.width),height:h(f),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),m&&o.push(Q("rect",{x:h(t.box.x),y:h(d),width:h(t.box.width),height:h(p),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1}));for(let g of t.ticks)g.major&&(!g.label||g.labelX===void 0||(c&&o.push(Le({x:h(g.labelX),y:h(s+Eh),"font-family":je.sans,"font-size":10,fill:i,"text-anchor":"middle"},g.label)),m&&o.push(Le({x:h(g.labelX),y:h(d+Eh),"font-family":je.sans,"font-size":10,fill:i,"text-anchor":"middle"},g.label))));return Q("g",{"data-layer":"timeline"},o.join(""))}function sX(t,e){if(!t)return"";let r=e.nowline.stroke,n=e.nowline.labelText,i=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:r,"stroke-width":Ah}),o=aX(t,r),s=cX(t,n);return Q("g",{"data-layer":"nowline"},i+o+s)}function tC(t){let e=Ah/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function aX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=M_,o=t.pillWidth;if(t.pillMode==="center")return Q("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(qi),rx:i,ry:i,fill:e});let s=tC(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:c,fill:e})}function cX(t,e){let r=t.pillTopY+F_,n=tC(t),i,o;return t.pillMode==="center"?(i=t.x,o="middle"):t.pillMode==="flag-right"?(i=n+sc,o="start"):(i=n-sc,o="end"),Le({x:h(i),y:h(r),"font-family":je.sans,"font-size":Cu,"font-weight":700,fill:e,"text-anchor":o},t.label)}function lX(t,e,r,n){let i=[],o=YP(r,t.style.shadow);i.push(rX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:o??null}));let s=JG(t.style.bg,n),a={done:s.done,"in-progress":s.inProgress,"at-risk":s.atRisk,blocked:s.blocked,planned:s.planned,neutral:s.neutral},c=a[t.status]??a.neutral;if(t.progressFraction>0){let g=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));i.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-Rn),width:h(g),height:Rn,fill:t.style.fg,opacity:.55}))}let l=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;i.push(Q("circle",{cx:h(l),cy:h(t.box.y+12),r:5,fill:c})),i.push(OE(t.inlineDatePins,t.style.fg));let u;t.textSpills?(u=t.box.x+t.box.width+6,t.iconSpills&&(u+=18)):u=t.box.x+12;let f=t.style.text,d=n.entities.item.text,p=t.textSpills?d:f,m=t.textSpills?d:t.style.fg;if(t.title&&i.push(Le({x:h(u),y:h(t.box.y+20),"font-family":je[t.style.font],"font-size":13,"font-weight":600,fill:p},t.title)),(t.metaText||t.capacity)&&i.push(eX({metaText:t.metaText,capacity:t.capacity,x:u,baselineY:t.box.y+38,fontSize:11,fontFamily:je[t.style.font],color:m})),t.footnoteIndicators.length>0){let g=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let v=t.footnoteSpillStartX;for(let T=0;T<t.footnoteIndicators.length;T++){let _=t.footnoteIndicators[T];i.push(Le({x:h(v),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:d},String(_))),v+=8}}else{let v=t.box.x+t.box.width-22;for(let T=t.footnoteIndicators.length-1;T>=0;T--){let _=t.footnoteIndicators[T];i.push(Le({x:h(v),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(_))),v-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let g={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},v=g[t.linkIcon]??g.generic,T=14,_=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,E=t.box.y+6,I=Q("rect",{x:h(_),y:h(E),width:T,height:T,rx:2,ry:2,fill:v}),D=_,k=E,B=Q("path",{d:`M${h(D+4)} ${h(k+10)} L${h(D+10)} ${h(k+4)} M${h(D+6)} ${h(k+4)} H${h(D+10)} V${h(k+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),U=I+B,z=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},U):U;i.push(z)}if(t.hasOverflow&&t.overflowBox){let g=n.item.overflowTailFill,v=n.item.overflowTailStroke,T=n.item.overflowCaption;i.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:g,stroke:v,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&i.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":je.sans,"font-size":9,"font-weight":700,fill:T,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let g of t.labelChips){let v=Math.min(_h[g.style.cornerRadius]??8,g.box.height/2);i.push(Q("rect",{x:h(g.box.x),y:h(g.box.y),width:h(g.box.width),height:h(g.box.height),rx:h(v),ry:h(v),fill:g.style.bg==="none"?"transparent":g.style.bg,stroke:g.style.fg,"stroke-width":.5})),i.push(Le({x:h(g.box.x+g.box.width/2),y:h(g.box.y+g.box.height/2+3),...CE(g.style,ic.xs),"text-anchor":"middle"},g.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},i.join(""))}function uX(t,e,r,n){let i=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(i.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let s=t.title.length*L_+2*bh,a=t.box.x,c=t.box.y,l=Pu,u=6,f=`M${h(a+u)} ${h(c)}H${h(a+s)}V${h(c+l-u)}A${u} ${u} 0 0 1 ${h(a+s-u)} ${h(c+l)}H${h(a)}V${h(c+u)}A${u} ${u} 0 0 1 ${h(a+u)} ${h(c)}Z`;i.push(Q("path",{d:f,fill:t.style.fg})),i.push(Le({x:h(a+bh),y:h(c+C_),"font-family":je[t.style.font],"font-size":O_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let s=t.style.fg;if(t.style.bracket!=="none"){let c=t.box.y+t.box.height,l=t.style.bracket==="dashed"?"3 2":null,u=t.title?`M${h(t.box.x+4)} ${h(t.box.y-oc)} L${h(t.box.x)} ${h(t.box.y-oc)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`;i.push(Q("path",{d:u,fill:"none",stroke:s,"stroke-width":1,"stroke-dasharray":l}))}t.title&&i.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...CE(t.style,ic.xs),"fill-opacity":.7},t.title))}i.push(OE(t.inlineDatePins,t.style.fg));for(let s of t.children)i.push(LE(s,e,r,n));return Q("g",{"data-layer":"group","data-id":t.id??null},i.join(""))}function fX(t,e,r,n){let i=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let a=t.box.y-12,c=t.box.y+t.box.height+12,l=t.box.x,u=t.box.x+t.box.width,f=n.parallel.bracketStroke;i.push(Q("path",{d:`M${h(l+4)} ${h(a)} H${h(l)} V${h(c)} H${h(l+4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),i.push(Q("path",{d:`M${h(u-4)} ${h(a)} H${h(u)} V${h(c)} H${h(u-4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&i.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...CE(t.style,ic.xs),"fill-opacity":.7},t.title)),i.push(OE(t.inlineDatePins,t.style.fg));for(let o of t.children)i.push(LE(o,e,r,n));return Q("g",{"data-layer":"parallel","data-id":t.id??null},i.join(""))}function LE(t,e,r,n){return t.kind==="item"?lX(t,e,r,n):t.kind==="group"?uX(t,e,r,n):fX(t,e,r,n)}var JP=2;function dX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function pX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-JP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":Q("rect",{x:h(i.startX),y:h(r),width:h(o),height:JP,fill:dX(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return Q("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function hX(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return Q("g",{"data-layer":"swimlane-bg","data-id":t.id??null},Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function rC(t,e,r,n){let i=n.swimlane.tabFill,o=n.swimlane.tabStroke,s=n.swimlane.tabText,a=n.swimlane.ownerText,c=n.swimlane.footnoteIndicator,l=[];if(t.title){let f=t.capacity?Vo(t.capacity.text,t.capacity.icon,10):0,d=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",p=d?PE(d,10):0,m=Ru(t.box.x,t.title,t.owner,f,p),g=vh,v=t.box.y+10,T=v+Rh;l.push(Q("rect",{x:h(m.tabX),y:h(v),width:h(m.tabW),height:h(g),rx:4,ry:4,fill:i,stroke:o,"stroke-width":1})),l.push(Le({x:h(m.titleX),y:h(T),"font-family":je[t.style.font],"font-size":12,"font-weight":600,fill:s},t.title)),t.owner&&l.push(Le({x:h(m.ownerX),y:h(T),"font-family":je[t.style.font],"font-size":10,fill:a},`owner: ${t.owner}`)),t.capacity&&l.push(eC(t.capacity,void 0,m.badgeX,T,10,je[t.style.font],a)),d&&l.push(Le({x:h(m.footnoteRightX),y:h(v+14),"font-family":je.sans,"font-size":10,"font-weight":700,fill:c,"text-anchor":"end"},d))}for(let u of t.children)l.push(LE(u,e,r,n));return l.push(pX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},l.join(""))}function mX(t,e){let r=t.radius,n=t.center.x,i=t.center.y,o=e.anchorDiamond.fill,s=e.anchorDiamond.stroke,a=Q("path",{d:`M${h(n)} ${h(i-r)} L${h(n+r)} ${h(i)} L${h(n)} ${h(i+r)} L${h(n-r)} ${h(i)} Z`,fill:o,stroke:s,"stroke-width":1.25}),c=e.anchorDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":je.sans,"font-size":10,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},a+f)}function gX(t,e){let r=e.anchorDiamond.cutLine;return Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function yX(t,e){let r=t.center.x,n=t.center.y,i=t.radius,o=e.milestoneDiamond.fill,s=Q("path",{d:`M${h(r)} ${h(n-i)} L${h(r+i)} ${h(n)} L${h(r)} ${h(n+i)} L${h(r-i)} ${h(n)} Z`,fill:o,stroke:o,"stroke-width":1}),a=e.milestoneDiamond.label,c=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,l={x:h(c),y:h(n+4),"font-family":je.sans,"font-size":10,"font-weight":600,fill:a};t.labelSide==="left"&&(l["text-anchor"]="end");let u=t.title?Le(l,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},s+u)}function xX(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":wh,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(Q("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function QP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return Q("path",{d:TX(n,z_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function TX(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},g={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(g.x)} ${h(g.y)}`)}return r.join(" ")}function _X(t,e,r){if(t.entries.length===0)return"";let n=r.footnotePanel.fill,i=r.footnotePanel.border,o=r.footnotePanel.header,s=r.footnotePanel.title,a=r.footnotePanel.description,c=r.footnotePanel.number,l=[];l.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:n,stroke:i,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),l.push(Le({x:h(t.box.x+en),y:h(t.box.y+B_),"font-family":je.sans,"font-size":12,"font-weight":700,fill:o},"Footnotes"));let u=t.box.y+Ou+en,f=t.box.x+en,d=f+en;return t.entries.forEach((p,m)=>{let g=u+m*Lu;l.push(Le({x:h(f),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:c},String(p.number))),l.push(Le({x:h(d),y:h(g),"font-family":je.sans,"font-size":11,"font-weight":600,fill:s},p.title)),p.description&&l.push(Le({x:h(d+Math.max(120,p.title.length*6)),y:h(g),"font-family":je.sans,"font-size":11,fill:a},`\u2014 ${p.description}`))}),Q("g",{"data-layer":"footnotes"},l.join(""))}function EX(t,e,r,n){let i=n.includeRegion.border,o=n.includeRegion.fill,s=n.includeRegion.tabFill,a=n.includeRegion.tabStroke,c=n.includeRegion.tabText,l=n.includeRegion.badgeFill,u=n.includeRegion.badgeStroke,f=n.includeRegion.badgeText,d=t.box.x+8,p=t.box.y,m=t.box.width-16,g=t.box.height,v=Q("rect",{x:h(d),y:h(p),width:h(m),height:h(g),rx:8,ry:8,fill:o,stroke:i,"stroke-width":1,"stroke-dasharray":wh}),T=vh,_=bu(t.box.x,t.label,t.sourcePath),E=p-T/2,I=Q("rect",{x:h(_.tabX),y:h(E),width:h(_.tabWidth),height:T,rx:4,ry:4,fill:s,stroke:a,"stroke-width":1}),D=Le({x:h(_.tabLabelX),y:h(E+Rh),"font-family":je.sans,"font-size":11,"font-weight":600,fill:c},t.label),k=_.badgeX,B=_.badgeSize,U=p-B/2,z=Q("rect",{x:h(k),y:h(U),width:B,height:B,rx:4,ry:4,fill:l,stroke:u,"stroke-width":1}),le=Q("path",{d:`M${h(k+7)} ${h(U+4)} H${h(k+14)} V${h(U+11)} M${h(k+4)} ${h(U+7)} H${h(k+11)} V${h(U+14)} H${h(k+4)} Z`,stroke:f,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),O=9,R=p+4,L=Q("rect",{x:h(_.sourceHaloX),y:h(R-O),width:h(_.sourceHaloWidth),height:O+6,fill:o}),$=Le({x:h(_.sourceTextX),y:h(R),"font-family":je.mono,"font-size":O,fill:f},t.sourcePath),w=t.nestedSwimlanes.map(A=>rC(A,e,r,n)).join("");return Q("g",{"data-layer":"include"},v+w+I+D+z+le+L+$)}function vX(t){let e=t.palette.attribution.mark,r=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let n=t.header.attributionBox.x,i=t.header.attributionBox.y,o=Wi,s=Le({x:"0",y:o,"font-family":je.sans,"font-size":kh,"font-weight":400,fill:e},Ih)+Le({x:$u,y:o,"font-family":je.sans,"font-size":Wi,"font-weight":700,fill:e},"now")+Q("rect",{x:X_,y:12,width:H_,height:Wi,fill:r})+Le({x:Nh,y:o,"font-family":je.sans,"font-size":Wi,"font-weight":400,fill:e},"ine"),a=Q("g",{transform:`translate(${h(n)} ${h(i)}) scale(${h(Du)})`},s);return Q("a",{href:G_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},a))}async function RX(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=zP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return Q("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=bX(a.bytes);return Q("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function bX(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function DE(t,e={}){let n=new lm(e.idPrefix??"nl").next("root"),i=t.palette,o=[],s=i.arrowhead.neutral,a=i.arrowhead.light,c=i.arrowhead.dark,l=(d,p)=>`<marker id="${d}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${p}"/></marker>`,u=`<defs>${KP(n)}`+l("nl-arrow",s)+l("nl-arrow-light",a)+l("nl-arrow-dark",c)+"</defs>";o.push(u),o.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),o.push(oX(t.timeline,i));for(let d of t.swimlanes)o.push(hX(d,i));o.push(iX(t.timeline,t.chartBox.y,i));for(let d of t.edges)d.kind==="underBar"&&o.push(QP(d,i));for(let d of t.swimlanes)o.push(rC(d,e,n,i));for(let d of t.includes)o.push(EX(d,e,n,i));for(let d of t.edges)d.kind!=="underBar"&&o.push(QP(d,i));for(let d of t.anchors)o.push(gX(d,i));for(let d of t.milestones)o.push(xX(d,i));for(let d of t.anchors)o.push(mX(d,i));for(let d of t.milestones)o.push(yX(d,i));if(o.push(sX(t.nowline,i)),o.push(_X(t.footnotes,n,i)),o.push(nX(t.header,n,i)),o.push(vX(t)),t.header.logo&&e.assetResolver){let d=await RX(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));d&&o.push(d)}return`<svg${Ec({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${o.join("")}</svg>`}var $E="/browser-source.nowline",um,nC=0;function iC(){return um||(um=v_()),um}function wX(){return ht.parse(`memory:///nowline-browser-${++nC}.nowline`)}async function fm(t,e={}){let r=e.filePath??$E,n=iC(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,wX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of gm(o))a.origin==="lexer"?s.push($k(a.error,r)):a.origin==="parser"?s.push(Dk(a.error,r)):s.push(Lk(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function ME(t,e={}){let r=e.filePath??$E,n=await fm(t,{filePath:r});if(n.diagnostics.some(g=>g.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=iC(),o=e.readFile??Bk,s=await f_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let g of s.diagnostics){if(g.severity==="error"&&Gk(g.message)){e.onSkippedInclude?.({sourcePath:g.sourcePath,message:g.message});continue}a.push(Mk(g))}if(a.some(g=>g.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c=e.today===null?void 0:e.today,l=NE(n.ast,s,{theme:e.theme,today:c,locale:e.locale,width:e.width}),u=e.showLinks!==!1,f=e.strict===!0,d=[],p=await DE(l,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!u,strict:f,warn:g=>d.push(g)}),m=d.map(g=>Fk(g,r,f?"error":"warning"));return f&&m.length>0?{kind:"diagnostics",diagnostics:[...a,...m]}:{kind:"svg",svg:p,warnings:m}}function FE(){um=void 0,nC=0}var oC="/embed.nowline",UE=!1;async function sC(t){let{ast:e,diagnostics:r}=await fm(t,{filePath:oC});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function dm(t,e={}){let r={filePath:oC,theme:e.theme,today:e.today,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{UE||(UE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await ME(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new Zu(`Failed to render Nowline source: ${i.join("; ")}`,i)}var Zu=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function aC(){UE=!1,FE()}var nn=Uint8Array,Tr=Uint16Array,jE=Int32Array,zE=new nn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),qE=new nn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),cC=new nn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),dC=function(t,e){for(var r=new Tr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new jE(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},pC=dC(zE,2),AX=pC.b,GE=pC.r;AX[28]=258,GE[258]=28;var hC=dC(qE,0),Wse=hC.b,lC=hC.r,XE=new Tr(32768);for(Fe=0;Fe<32768;++Fe)ti=(Fe&43690)>>1|(Fe&21845)<<1,ti=(ti&52428)>>2|(ti&13107)<<2,ti=(ti&61680)>>4|(ti&3855)<<4,XE[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,ef=(function(t,e,r){for(var n=t.length,i=0,o=new Tr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new Tr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new Tr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[XE[f]>>c]=l}else for(a=new Tr(n),i=0;i<n;++i)t[i]&&(a[i]=XE[s[t[i]-1]++]>>15-t[i]);return a}),as=new nn(288);for(Fe=0;Fe<144;++Fe)as[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)as[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)as[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)as[Fe]=8;var Fe,pm=new nn(32);for(Fe=0;Fe<32;++Fe)pm[Fe]=5;var Fe,SX=ef(as,9,0);var IX=ef(pm,5,0);var mC=function(t){return(t+7)/8|0},kX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new nn(t.subarray(e,r))};var ri=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},Ju=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},BE=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:yC,l:0};if(i==1){var s=new nn(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,k){return D.f-k.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new Tr(d+1),m=HE(r[u-1],p,0);if(m>e){var n=0,g=0,v=m-e,T=1<<v;for(o.sort(function(k,B){return p[B.s]-p[k.s]||k.f-B.f});n<i;++n){var _=o[n].s;if(p[_]>e)g+=T-(1<<m-p[_]),p[_]=e;else break}for(g>>=v;g>0;){var E=o[n].s;p[E]<e?g-=1<<e-p[E]++-1:++n}for(;n>=0&&g;--n){var I=o[n].s;p[I]==e&&(--p[I],++g)}m=e}return{t:new nn(p),l:m}},HE=function(t,e,r){return t.s==-1?Math.max(HE(t.l,e,r+1),HE(t.r,e,r+1)):e[t.s]=r},uC=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new Tr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},Qu=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},gC=function(t,e,r){var n=r.length,i=mC(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},fC=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=BE(i,15),d=f.t,p=f.l,m=BE(o,15),g=m.t,v=m.l,T=uC(d),_=T.c,E=T.n,I=uC(g),D=I.c,k=I.n,B=new Tr(19),U=0;U<_.length;++U)++B[_[U]&31];for(var U=0;U<D.length;++U)++B[D[U]&31];for(var z=BE(B,7),le=z.t,O=z.l,R=19;R>4&&!le[cC[R-1]];--R);var L=l+5<<3,$=Qu(i,as)+Qu(o,pm)+s,w=Qu(i,d)+Qu(o,g)+s+14+3*R+Qu(B,le)+2*B[16]+3*B[17]+7*B[18];if(c>=0&&L<=$&&L<=w)return gC(e,u,t.subarray(c,c+l));var A,S,M,X;if(ri(e,u,1+(w<$)),u+=2,w<$){A=ef(d,p,0),S=d,M=ef(g,v,0),X=g;var F=ef(le,O,0);ri(e,u,E-257),ri(e,u+5,k-1),ri(e,u+10,R-4),u+=14;for(var U=0;U<R;++U)ri(e,u+3*U,le[cC[U]]);u+=3*R;for(var W=[_,D],Z=0;Z<2;++Z)for(var pe=W[Z],U=0;U<pe.length;++U){var V=pe[U]&31;ri(e,u,F[V]),u+=le[V],V>15&&(ri(e,u,pe[U]>>5&127),u+=pe[U]>>12)}}else A=SX,S=as,M=IX,X=pm;for(var U=0;U<a;++U){var te=n[U];if(te>255){var V=te>>18&31;Ju(e,u,A[V+257]),u+=S[V+257],V>7&&(ri(e,u,te>>23&31),u+=zE[V]);var De=te&31;Ju(e,u,M[De]),u+=X[De],De>3&&(Ju(e,u,te>>5&8191),u+=qE[De])}else Ju(e,u,A[te]),u+=S[te]}return Ju(e,u,A[256]),u+S[256]},NX=new jE([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),yC=new nn(0),PX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new nn(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=NX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,g=o.p||new Tr(32768),v=o.h||new Tr(m+1),T=Math.ceil(r/3),_=2*T,E=function(me){return(t[me]^t[me+1]<<T^t[me+2]<<_)&m},I=new jE(25e3),D=new Tr(288),k=new Tr(32),B=0,U=0,z=o.i||0,le=0,O=o.w||0,R=0;z+2<s;++z){var L=E(z),$=z&32767,w=v[L];if(g[$]=w,v[L]=$,O<=z){var A=s-z;if((B>7e3||le>24576)&&(A>423||!l)){u=fC(t,c,0,I,D,k,U,le,R,z-R,u),le=B=U=0,R=z;for(var S=0;S<286;++S)D[S]=0;for(var S=0;S<30;++S)k[S]=0}var M=2,X=0,F=p,W=$-w&32767;if(A>2&&L==E(z-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,z),V=Math.min(258,A);W<=pe&&--F&&$!=w;){if(t[z+M]==t[z+M-W]){for(var te=0;te<V&&t[z+te]==t[z+te-W];++te);if(te>M){if(M=te,X=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,S=0;S<De;++S){var Xe=z-W+S&32767,q=g[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,w=Xe)}}}$=w,w=g[$],W+=$-w&32767}if(X){I[le++]=268435456|GE[M]<<18|lC[X];var re=GE[M]&31,P=lC[X]&31;U+=zE[re]+qE[P],++D[257+re],++k[P],O=z+M,++B}else I[le++]=t[z],++D[t[z]]}}for(z=Math.max(z,O);z<s;++z)I[le++]=t[z],++D[t[z]];u=fC(t,c,l,I,D,k,U,le,R,z-R,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=v,o.p=g,o.i=z,o.w=O)}else{for(var z=o.w||0;z<s+l;z+=65535){var we=z+65535;we>=s&&(c[u/8|0]=l,we=s),u=gC(c,u+1,t.subarray(z,we))}o.i=s}return kX(a,0,n+mC(u)+i)};var xC=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},CX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new nn(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return PX(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var TC=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var OX=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=xC();i.p(e.dictionary),TC(t,2,i.d())}};function _C(t,e){e||(e={});var r=xC();r.p(t);var n=CX(t,e,e.dictionary?6:2,4);return OX(n,e),TC(n,n.length-4,r.d()),n}var LX=typeof TextDecoder<"u"&&new TextDecoder,DX=0;try{LX.decode(yC,{stream:!0}),DX=1}catch{}var $X="https://free.nowline.io/open";function EC(t){let e=new TextEncoder().encode(t),r=_C(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function RC({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&vC(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",EC(t));let n=r===!0?$X:r,i=new URL(n);return e!==void 0&&vC(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${EC(t)}`,i.toString()}function vC(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var bC=0;async function wC(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++bC,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=MX(l);if(!u)continue;let f=FX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,idPrefix:d},m=u.parentElement,g=u.nextSibling,T=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(dm(f,p).then(_=>{if(UX(u,_),n++,m!==null){let E=RC({source:f,sourceUrl:T,share:s});if(E!==null){let I=e.createElement("a");I.className="nowline-share",I.href=E,I.target="_blank",I.rel="noopener noreferrer",I.textContent="Share on Nowline",m.insertBefore(I,g)}}},_=>{i++,console.error("nowline: render failed",_)}))}return await Promise.all(a),{rendered:n,failed:i}}function MX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function FX(t){return t.textContent??""}function UX(t,e){t.outerHTML=e}function AC(){bC=0}function hm(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function SC(t,e){return t&&t!=="auto"?k_(t)??e:e}var BX="0.5.0",GX="04bdff9",XX="pre code.language-nowline, code.language-nowline",IC={theme:"auto",startOnLoad:!0,selector:XX,systemTheme:hm(),share:!0},Tt={...IC},WE=!1;function HX(t={}){Tt={theme:t.theme??Tt.theme,startOnLoad:t.startOnLoad??Tt.startOnLoad,selector:t.selector??Tt.selector,locale:t.locale??Tt.locale,width:t.width??Tt.width,today:t.today??Tt.today,share:t.share??Tt.share,sourceUrl:t.sourceUrl??Tt.sourceUrl,systemTheme:hm()}}function kC(){return{theme:SC(Tt.theme,Tt.systemTheme),locale:Tt.locale,width:Tt.width,today:Tt.today}}async function jX(t,e={}){let r={...kC(),...e};return dm(t,r)}async function zX(t){return sC(t)}async function VE(t){let e={selector:t?.selector??Tt.selector,theme:t?.theme??kC().theme,locale:t?.locale??Tt.locale,width:t?.width??Tt.width,today:t?.today??Tt.today,share:t?.share??Tt.share,sourceUrl:t?.sourceUrl??Tt.sourceUrl,document:t?.document};return wC(e)}var qX=VE;if(typeof document<"u"&&!WE){WE=!0;let t=()=>{Tt.startOnLoad&&VE()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function WX(){Tt={...IC,systemTheme:hm()},WE=!1,aC(),AC()}return sf(VX);})();
2662
+ }`));var XU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},ck={AstReflection:()=>new Ru},lk={Grammar:()=>ak(),LanguageMetaData:()=>XU,parser:{}};var uk={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`};var fk={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var dk={};var pk={};var HU=new Map([["en-US",uk],["fr",fk],["fr-CA",dk],["fr-FR",pk]]);function mk(t,e,...r){for(let n of jU(t)){let o=HU.get(n)?.[e];if(o)return o(...r)}return e}var hk="en-US";function jU(t){let e=[],r=zU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(hk)||e.push(hk),e}function zU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var qU=/[\\/]/;function xk(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function gk(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function WU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function Tk(t){let e=xk(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function ch(t){let e=xk(t);return e<0?t:t.slice(e+1)}function m_(t,e){if(WU(e))return yk(e,gk(e));let r=gk(t,e);return yk(`${t}${r}${e}`,r)}function yk(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(qU))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var YU=/^\d{4}-\d{2}-\d{2}$/;function vk(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&YU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function KU(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function Rk(){return{styles:new Map,defaults:new Map,symbols:new Map}}function wk(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function y_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(Ek(),_k));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=m_("",e),{config:s,content:a}=await Ak(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function Ak(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:Rk(),content:wk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=Rk(),i=wk();eB(n,t),nB(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=m_(Tk(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${ch(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=bk(a,"config")??"merge",f=bk(a,"roadmap")??"merge",d;try{let y=await r.readFile(l);d=await ZU(r.services,y,l)}catch(y){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${y.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await Ak(d,l,r);if(JU(n,p,u,l,r.diagnostics),QU(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let y=vk(t.roadmapDecl),T=vk(d.roadmapDecl);y!==T&&r.diagnostics.push({severity:"error",message:KU(c,y,T),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function bk(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function ZU(t,e,r){let n=ht.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function JU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${ch(n)} is shadowed by the parent's definition.`,sourcePath:n});g_(t.styles,e.styles,s=>o(s,"Style")),g_(t.defaults,e.defaults,s=>o(s,"Default")),g_(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function QU(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${ch(i)} is shadowed by the parent's definition.`,sourcePath:i});qn(t.persons,e.persons,c=>a(c,"Person")),qn(t.teams,e.teams,c=>a(c,"Team")),qn(t.anchors,e.anchors,c=>a(c,"Anchor")),qn(t.labels,e.labels,c=>a(c,"Label")),qn(t.sizes,e.sizes,c=>a(c,"Size")),qn(t.statuses,e.statuses,c=>a(c,"Status")),qn(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),qn(t.milestones,e.milestones,c=>a(c,"Milestone")),qn(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function g_(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function qn(t,e,r){for(let[n,i]of e){if(!i.name&&i.title){t.set(Sk(t,Ik(i.title)),i);continue}if(t.has(n)){r(n);continue}t.set(n,i)}}function eB(t,e){for(let r of e.configEntries)tB(t,r)}function tB(t,e){ok(e)?t.scale||(t.scale=e):ah(e)?t.calendar||(t.calendar=e):Su(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):ku(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Hi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function rB(t){let e={swimlanes:new Set,persons:new Set,teams:new Set,anchors:new Set,labels:new Set,sizes:new Set,statuses:new Set,milestones:new Set,footnotes:new Set};for(let r of t){let n=r.name;n&&(Ir(r)?e.swimlanes.add(n):zn(r)?e.persons.add(n):Sr(r)?e.teams.add(n):wu(r)?e.anchors.add(n):Au(r)?e.labels.add(n):Ko(r)?e.sizes.add(n):tc(r)?e.statuses.add(n):Iu(r)?e.milestones.add(n):bu(r)&&e.footnotes.add(n))}return e}function nB(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);let r=rB(e.roadmapEntries);for(let n of e.roadmapEntries)iB(t,n,r)}function Ik(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"entity"}function Sk(t,e,r){let n=o=>t.has(o)||(r?.has(o)??!1);if(!n(e))return e;let i=2;for(;n(`${e}-${i}`);)i++;return`${e}-${i}`}function Wn(t,e,r){e.name?t.has(e.name)||t.set(e.name,e):e.title&&t.set(Sk(t,Ik(e.title),r),e)}function iB(t,e,r){Ir(e)?Wn(t.swimlanes,e,r.swimlanes):zn(e)?Wn(t.persons,e,r.persons):Sr(e)?Wn(t.teams,e,r.teams):wu(e)?Wn(t.anchors,e,r.anchors):Au(e)?Wn(t.labels,e,r.labels):Ko(e)?Wn(t.sizes,e,r.sizes):tc(e)?Wn(t.statuses,e,r.statuses):Iu(e)?Wn(t.milestones,e,r.milestones):bu(e)&&Wn(t.footnotes,e,r.footnotes)}var kk="v1",x_=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),lh=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),R_=new Set(["none","multiplier","person","people","points","time"]),uh=new Set([...R_,"shield","warning","lock","calendar"]),Uk="none",fh={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},oB=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),sB=new Set(["business","full","custom"]),T_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),Nk=new Set(["name","label-every","label"]),Ck=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),aB={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},Pk=new Set(["labels","link","style","description"]),cB={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function lB(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function uB(t,e,r=2){let n,i=r+1;for(let o of e){let s=lB(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}function ke(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var Nu=/^\d+(?:\.\d+)?[dwmqy]$/,fB=/^\d+%$/,ji=/^\d{4}-\d{2}-\d{2}$/,dB=/^#[0-9a-fA-F]{3,8}$/,pB=/^v\d+$/,Ok=/^\d+$/,hB=/^[dwmqy]$/,Lk=/^\d+(\.\d+)?$/,w_=/^\d+(\.\d+)?%$/,Bk=/^\d+\.\d+$/,mB=/^\d+$/,gB=/^[\x20-\x7E]{1,3}$/,yB=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,xB=new Set(["merge","ignore","isolate"]),Dk=new Set(["locale"]);function __(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!ji.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Vr(t){return t.name??t.title??"<unnamed>"}function TB(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function we(t,e,r,n,...i){t(e,mk("en-US",n,...i),{...r,data:{code:n,args:i}})}function Gk(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var ph=class{checkFileStructure(e,r){let n=e.hasConfig?Ss.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&we(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&we(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&we(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!pB.test(e.version)){we(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(kk.slice(1),10);n>i&&we(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:kk})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!Dk.has(o)){we(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...Dk].join(", ")});continue}if(n.has(o)&&we(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;yB.test(s)||we(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&we(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?we(r,"error",{node:s},"NL.E0300",{name:o,location:dh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)vB(o,i);for(let o of e.configEntries)Su(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){we(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Ir);e.roadmapDecl&&!n&&we(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){xB.has(e.value)||we(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&we(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=ke(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!$k(i)&&we(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(fB.test(i)){let a=parseFloat(i);(a<0||a>100)&&we(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else Nu.test(i)||we(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!ji.test(i)||Number.isNaN(new Date(i).getTime()))&&we(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!sB.has(i)&&we(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&we(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=_B(a);if(c==="invalid")break;c==="lane"?(!Lk.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):w_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):Lk.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!EB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===Uk)break;if(w_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(Bk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(mB.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(lh.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!E_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in fh){let a=fh[n];i&&!a.has(i)&&!E_(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>ke(i)==="date")||we(r,"error",{node:e},"NL.E0500",{name:Vr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!ji.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=__(e.$container);switch(s.kind){case"invalid":return;case"missing":we(r,"error",{node:n,property:"value"},"NL.E0501",{name:Vr(e)});return;case"valid":o<s.date&&we(r,"error",{node:n,property:"value"},"NL.E0502",{name:Vr(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>ke(o)==="date"),i=e.properties.some(o=>ke(o)==="after");!n&&!i&&we(r,"error",{node:e},"NL.E0503",{name:Vr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!ji.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=__(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Vr(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&we(r,"error",{node:n,property:"value"},"NL.E0504",{name:Vr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||we(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)ke(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${v_(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>ke(o)==="duration"),i=e.properties.some(o=>ke(o)==="size");!n&&!i&&we(r,"error",{node:e},"NL.E0600",{name:Vr(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=ke(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!h_(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!h_(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=ke(n);lh.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${v_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=cB[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=ke(o);if(n.has(s)||Pk.has(s)||lh.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...Pk],c=uB(s,a)??"";we(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:v_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")E_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in fh){let o=fh[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else lh.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>ke(i)==="effort")||r("error",`Size "${Vr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(Nu.test(e.name)||hB.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&x_.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...x_].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ko(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${dh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Hi(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>ke(a)==="utilization-warn-at"),i=e.properties.find(a=>ke(a)==="utilization-over-at");if(!n||!i)return;let o=Mk(n.value),s=Mk(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!Ck.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Ck].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(Hi(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=aB[e.entityType];if(o)for(let s of e.properties){let a=ke(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(ah),o=e.roadmapDecl?.properties.find(s=>ke(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>ke(c)));for(let c of T_)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!T_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...T_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!Ok.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!Nk.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...Nk].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!Ok.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ko(s)&&s.name?n.has(s.name)||n.set(s.name,o):tc(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Fk(s,a=>{let c=ke(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(x_.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=RB(e),i=o=>{Fk(o,s=>{let a=ke(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&ji.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=__(e),i=o=>{let s=o.properties??[],a=gr(o)||Wr(o)||qr(o);for(let c of s){let l=ke(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&ji.test(d));if(f.length!==0){if(!a){we(r,"error",{node:c},"NL.E0411",{key:l,type:TB(o)});continue}f.length>1&&we(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":we(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&we(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Ir(o))for(let c of o.content)i(c);else if(Wr(o)||qr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,y)=>{if(p)for(let T of m){let _=ke(T);if(_==="after"){let v=T.value?[T.value]:T.values;for(let E of v)E&&(ji.test(E)||i(p,E))}else if(_==="before"){let v=T.value?[T.value]:T.values;for(let E of v)E&&(ji.test(E)||i(E,p))}}},s=p=>{let m=p.name,y=p.properties??[];if(o(m,y,e),Ir(p))for(let T of p.content)s(T);else if(Wr(p)||qr(p))for(let T of p.content)s(T)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let y of n.get(p)??[]){let T=u.get(y)??a;if(T===c){let _=m.indexOf(y),v=m.slice(_).concat(y),E=[...v].sort().join("\u2192");f.has(E)||(f.add(E),r("error",`Circular dependency detected: ${v.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else T===a&&d(y,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)zn(c)?o(c):Sr(c)&&s(c)};for(let a of e.roadmapEntries)zn(a)?o(a):Sr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${dh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&uh.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...uh].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>ke(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${Vr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Vr(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>ke(o)==="ascii");if(i){let o=i.value??"";gB.test(o)||r("error",`Symbol "${Vr(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=ke(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(ku(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${dh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];ku(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!$k(a)||s==="capacity-icon"&&R_.has(a)||s==="icon"&&uh.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...R_].sort().join(", "):[...uh].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(Su(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(Hi(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function E_(t){return oB.has(t)||dB.test(t)}function $k(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function _B(t){return t?Ir(t)?"lane":gr(t)?"item":Hi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function EB(t){return t?!!(Ir(t)||Hi(t)&&t.entityType==="swimlane"):!1}function Mk(t){if(!t||t===Uk)return null;if(w_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(Bk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function dh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function v_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function vB(t,e){if(Ir(t)){e(t.name,t);for(let r of t.content)b_(r,e)}else zn(t)?e(t.name,t):Sr(t)?Xk(t,e):(wu(t)||Iu(t)||bu(t)||Au(t)||Ko(t)||tc(t))&&e(t.name,t)}function Xk(t,e){e(t.name,t);for(let r of t.content)Sr(r)&&Xk(r,e)}function b_(t,e){if(gr(t))e(t.name,t);else if(Wr(t)){e(t.name,t);for(let r of t.content)b_(r,e)}else if(qr(t)){e(t.name,t);for(let r of t.content)b_(r,e)}}function Fk(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Ir(n))for(let o of n.content)r(o);else if(Wr(n)||qr(n))for(let o of n.content)r(o);else if(Sr(n))for(let o of n.content)(Sr(o)||zn(o))&&r(o)};r(t)}function RB(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),Ir(n))for(let o of n.content)r(o);else if(Wr(n)||qr(n))for(let o of n.content)r(o);else if(Sr(n))for(let o of n.content)Sr(o)||zn(o)?r(o):ik(o)};for(let n of t.roadmapEntries)r(n);return e}var A_=class extends Fo{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},I_=class extends Ba{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
2663
+ `);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},Hk={parser:{TokenBuilder:()=>new I_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new xu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new A_},validation:{NowlineValidator:()=>new ph}};function S_(t={}){let e=t.shared??Wo(gu(Tu),ck),r=Wo(mu({shared:e}),lk,Hk);return e.ServiceRegistry.register(r),Gk(r),{shared:e,Nowline:r}}function jk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>jk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>jk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function vt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var rc={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},wB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function zk(t,e){let n=t.roadmapDecl?.properties.find(i=>k_(i.key)==="calendar")?.value??"business";if(n==="business")return{...rc};if(n==="full")return{...wB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>k_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",rc.daysPerWeek),daysPerMonth:i("days-per-month",rc.daysPerMonth),daysPerQuarter:i("days-per-quarter",rc.daysPerQuarter),daysPerYear:i("days-per-year",rc.daysPerYear)}}return{...rc}}var hh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function mh(t,e){let r=hh.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function qk(t,e,r){return t?hh.test(t)?mh(t,r):e.get(t)?.effortDays??0:0}function zi(t,e,r){let n=ae(t,"duration");if(n&&hh.test(n))return mh(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=oi(ae(t,"capacity"))??1;return o.effortDays/s}function Wk(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&hh.test(o)){let s=oi(ae(t,"capacity"))??1;return mh(o,r)*s}return 0}function gh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>k_(c.key)==="effort")?.value;if(!s)continue;let a=mh(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function k_(t){return t.endsWith(":")?t.slice(0,-1):t}function kr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Zo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var yh=class{constructor(e){de(this,"items");de(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function Vk(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function bB(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let y=f+p;if(y<=c&&!e.hasObstacle(y,i,o))return{x:y,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function AB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function IB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function SB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function kB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function Yk(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=kB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=bB(s,e),{x:u,forceUnderBar:f}=AB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=IB(n);for(let o of n){let s=SB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:NB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function NB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var Cu="en-US",CB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function Kk(t,e){return e??t??Cu}function xh(t){let e={};for(let r of PB(t)){let n=CB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function PB(t){let e=[],r=OB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(Cu)||e.push(Cu),e}function OB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function eN(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function _h(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Vn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Eh(t,e){return{x:t,y:e,height:0,maxX:t}}var oc=class{constructor(e){de(this,"rows");de(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)tN(a,i)}}}};function tN(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)tN(r,e)}var rN={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},Yn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},N_={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...Yn,headerHeight:"md",padding:"md"},swimlane:{...Yn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...Yn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...Yn,bracket:"none",padding:"xs"},group:{...Yn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...Yn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...Yn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...Yn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...Yn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var nN={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Kn={bg:"none",fg:"#1a1a1a",text:"#1a1a1a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},C_={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Kn,headerHeight:"md",padding:"md"},swimlane:{...Kn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Kn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Kn,bracket:"none",padding:"xs"},group:{...Kn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Kn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Kn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Kn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Kn,bg:"#e8e8e8",fg:"#595959",text:"#595959",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f5f5f5",separator:"#d4d4d4",frameTabText:"#3a3a3a",frameTabMuted:"#737373",border:"#d4d4d4",tabFill:"#e8e8e8",tabStroke:"#bdbdbd",tabText:"#3a3a3a",ownerText:"#737373",footnoteIndicator:"#4a4a4a",rowTintEven:"#ffffff",rowTintOdd:"#f5f5f5",utilizationOk:"#8a8a8a",utilizationWarn:"#595959",utilizationOver:"#1a1a1a"},timeline:{gridLine:"#bdbdbd",minorGridLine:"#d4d4d4",tickMark:"#bdbdbd",labelText:"#737373",panelFill:"#ffffff",border:"#d4d4d4"},header:{cardBorder:"#d4d4d4",author:"#737373"},item:{overflowX:"#1a1a1a",linkIconFg:"#1a1a1a",overflowTailFill:"#e8e8e8",overflowTailStroke:"#4a4a4a",overflowCaption:"#3a3a3a"},parallel:{bracketStroke:"#3a3a3a"},anchorDiamond:{fill:"#ffffff",stroke:"#3a3a3a",label:"#3a3a3a",cutLine:"#737373"},milestoneDiamond:{fill:"#1a1a1a",label:"#1a1a1a",cutLineNormal:"#2a2a2a",cutLineOverrun:"#4a4a4a",slack:"#1a1a1a"},footnotePanel:{fill:"#ffffff",border:"#d4d4d4",header:"#1a1a1a",title:"#1a1a1a",description:"#737373",number:"#4a4a4a"},nowline:{stroke:"#1a1a1a",labelText:"#ffffff",labelBg:"#1a1a1a"},milestone:{dashedInk:"#9e9e9e",overrun:"#4a4a4a"},anchor:{predecessorLine:"#9e9e9e"},dependency:{edgeStroke:"#595959",overflowStroke:"#1a1a1a"},footnote:{indicatorText:"#4a4a4a",descriptionMuted:"#737373"},includeRegion:{border:"#9e9e9e",label:"#3a3a3a",badge:"#737373",fill:"#f5f5f5",tabFill:"#ffffff",tabStroke:"#bdbdbd",tabText:"#1a1a1a",badgeFill:"#e8e8e8",badgeStroke:"#bdbdbd",badgeText:"#595959"},arrowhead:{neutral:"#595959",light:"#9e9e9e",dark:"#1a1a1a"},status:{done:"#8a8a8a",inProgress:"#595959",atRisk:"#737373",blocked:"#3a3a3a",planned:"#bdbdbd",neutral:"#bdbdbd"},statusDot:{onLight:{done:"#3a3a3a",inProgress:"#2a2a2a",atRisk:"#4a4a4a",blocked:"#1a1a1a",planned:"#595959",neutral:"#595959"},onDark:{done:"#d4d4d4",inProgress:"#e8e8e8",atRisk:"#c8c8c8",blocked:"#f0f0f0",planned:"#d4d4d4",neutral:"#d4d4d4"}},attribution:{mark:"#9e9e9e",link:"#1a1a1a"},diagnostic:{overlayBg:"#e8e8e8",errorText:"#1a1a1a"}};var iN={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Zn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},P_={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Zn,headerHeight:"md",padding:"md"},swimlane:{...Zn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Zn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Zn,bracket:"none",padding:"xs"},group:{...Zn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Zn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Zn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Zn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Zn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var O_={light:P_,dark:N_,grayscale:C_};var MB={greyscale:"grayscale"};function L_(t){let e=t.toLowerCase(),r=MB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var FB={grey:"gray",violet:"purple"};function Jo(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?rN:e.name==="grayscale"?nN:iN,n=FB[t]??t,i=r[n];return typeof i=="string"?i:t}function sc(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function UB(t,e){return{bg:Jo(t.bg,e),fg:Jo(t.fg,e),text:Jo(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function D_(t,e,r,n){switch(e){case"bg":t.bg=Jo(r,n);break;case"fg":t.fg=Jo(r,n);break;case"text":t.text=Jo(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=Lu(r,"xl");break;case"padding":t.padding=Lu(r,"xl");break;case"spacing":t.spacing=Lu(r,"xl");break;case"header-height":t.headerHeight=Lu(r,"xl");break;case"corner-radius":t.cornerRadius=Lu(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function Lu(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function oN(t,e,r){if(e)for(let n of e.properties)D_(t,sc(n),n.value,r)}function BB(t,e,r){for(let n of e){let i=sc(n);n.value!==void 0&&D_(t,i,n.value,r)}}function GB(t,e,r){let n=e.find(o=>sc(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>sc(c)==="style");a?.value&&oN(t,r.styles.get(a.value),r.theme)}}function XB(t,e,r){let n=e.find(i=>sc(i)==="style");n?.value&&oN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=UB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&D_(i,sc(s),s.value,r.theme);return GB(i,e,r),XB(i,e,r),BB(i,e,r.theme),i}function sN(t,e){return yt("label",t.properties,e)}var aN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},cN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var ac={none:0,xs:10,sm:12,md:14,lg:18,xl:24},vh={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Nr=8,_n=4,Du=24,Rh=15,$u=8,wh=22,bh=15,Mu=16,Ah=6,$_=4,M_=11,F_=9,U_=5.5,B_=4,cc=12,Ih="6 4",G_=36,qi=16,X_=qi/2,Fu=10,H_=qi-4,lc=6,Sh=2.25,Yr=6,Kr=2*Yr,lN=5,uN=120,j_=240,kh=72,Uu=28,Zr=16,z_=22,Bu=18,Nh="Powered by",q_="https://nowline.io",Gu=.22,Wi=40,Ch=32,fN=.58,HB=Nh.length*Ch*fN,jB=10,Xu=HB+jB,W_=Xu+74,V_=5,Ph=Xu+81,zB=3*Wi*fN,qB=Ph+zB,WB=12+Wi,Y_=qB*Gu,dN=WB*Gu,K_=4;var Z_={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},pN={days:7,weeks:4,months:3,quarters:4,years:5};var Oh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.nextGroupId+=1,r.currentFlowKey=`${c}/group:${n.name??`group-${r.nextGroupId}`}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Mu+$_:0,f=l?B_:0,d=!l&&a?cc:0,p=e.y+d,m=r.bandScale.step(),y=s,T=new oc({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),_=y,v=[];for(let G of n.content){if(G.$type==="DescriptionDirective")continue;if(!gr(G)){let te=G.properties??[],De=i.resolveChildStart(te,_,y,r),{rowIndex:Ne,y:Xe}=T.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(G,q,r);v.push(J);let re=J.box.x+J.box.width,C=Math.max(m,q.height);T.commitBlock({rowIndex:Ne,placed:J,blockHeight:C,blockEnd:re}),_=Math.max(_,re);continue}let oe=G.properties,L=i.resolveChildStart(oe,_,y,r),R=zi(oe,r.sizes,r.cal),O=Math.max(Nr,R*r.timeline.pixelsPerDay),$=L+O,b=G.name??"",A=i.predictItemChipExtraHeight(G,r),I=m+A,{rowIndex:F,y:j}=T.placeItem({childId:b,desiredStart:L,desiredEnd:$,predictedHeight:I}),U=i.newCursor(L,j),W=i.sequenceItem(G,U,r);v.push(W);let Z=W.box.x+W.box.width+Yr;_=Math.max(_,Z);let pe=null;(W.textSpills||W.chipsOutside||W.dotSpills||W.iconSpills||W.footnoteSpills)&&(pe=Math.max(W.decorationsRightX,W.chipsOutside?W.chipsRightX:0)+6),T.commitItem({rowIndex:F,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:I})}let E=Math.max(m,T.usedHeight()),S=Math.max(_,T.usedRightX()),D={x:s,y:p,width:S-s,height:u+E+f};e.x=_+$u,e.maxX=Math.max(e.maxX,e.x);let N=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+N);let M=n.name;M&&(r.entityLeftEdges.set(M,D.x),r.entityRightEdges.set(M,D.x+D.width)),r.currentFlowKey=c;let B=_h({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:M,title:a,box:D,children:v,style:o,inlineDatePins:B.length>0?B:void 0}}};var J_=12,VB=4,YB=13,KB=11;function hN(t,e){return t.length*e*.58}var Lh=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Nr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Nr,n.width-2*Yr),o=e.x+Yr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+ZB-J_:0,c=J_+Math.max(0,a),l=Math.max(0,i-c-J_),u=this.input.title,f=u?hN(u,YB):0,d=this.input.metaText?hN(this.input.metaText,KB):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,T=u.length>0&&f>l||y&&m>l,_=T?o+i+VB:o+c;return{id:this.input.id,box:s,textX:_,textSpills:T}}},ZB=4;var Dh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey;r.nextParallelId+=1;let d=n.name??`parallel-${r.nextParallelId}`,p=0;for(let _ of n.content){if(_.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let v=i.newCursor(s,a+u),E=i.sequenceOne(_,v,r);c.push(E),u+=Math.max(r.bandScale.step(),v.height),l=Math.max(l,v.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+$u,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let y=n.name;y&&(r.entityLeftEdges.set(y,m.x),r.entityRightEdges.set(y,m.x+m.width));let T=_h({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:T.length>0?T:void 0}}};function Qo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Q_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function es(t){let e,r,n;t.length!==2?(e=Qo,r=(a,c)=>Qo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Qo||t===Q_?t:JB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function JB(){return 0}function eE(t){return t===null?NaN:+t}var mN=es(Qo),gN=mN.right,QB=mN.left,e4=es(eE).center,tE=gN;var uc=class extends Map{constructor(e,r=n4){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(yN(this,e))}has(e){return super.has(yN(this,e))}set(e,r){return super.set(t4(this,e),r)}delete(e){return super.delete(r4(this,e))}};function yN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function t4({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function r4({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function n4(t){return t!==null&&typeof t=="object"?t.valueOf():t}var i4=Math.sqrt(50),o4=Math.sqrt(10),s4=Math.sqrt(2);function xN(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=i4?10:o>=o4?5:o>=s4?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?xN(t,e,r*2):[a,c,l]}function rE(t,e,r){return e=+e,t=+t,r=+r,xN(t,e,r)[2]}function $h(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?rE(e,t,r):rE(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Mh(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function fc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var TN=Symbol("implicit");function Fh(){var t=new uc,e=[],r=[],n=TN;function i(o){let s=t.get(o);if(s===void 0){if(n!==TN)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new uc;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return Fh(e,r).unknown(n)},fc.apply(i,arguments),i}function Hu(){var t=Fh().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,y=p?n:i;o=(y-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(y-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var T=Mh(d).map(function(_){return m+o*_});return r(p?T.reverse():T)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return Hu(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},fc.apply(f(),arguments)}function Uh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function nE(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function qu(){}var ju=.7,Xh=1/ju,dc="\\s*([+-]?\\d+)\\s*",zu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",En="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",a4=/^#([0-9a-f]{3,8})$/,c4=new RegExp(`^rgb\\(${dc},${dc},${dc}\\)$`),l4=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),u4=new RegExp(`^rgba\\(${dc},${dc},${dc},${zu}\\)$`),f4=new RegExp(`^rgba\\(${En},${En},${En},${zu}\\)$`),d4=new RegExp(`^hsl\\(${zu},${En},${En}\\)$`),p4=new RegExp(`^hsla\\(${zu},${En},${En},${zu}\\)$`),_N={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Uh(qu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:EN,formatHex:EN,formatHex8:h4,formatHsl:m4,formatRgb:vN,toString:vN});function EN(){return this.rgb().formatHex()}function h4(){return this.rgb().formatHex8()}function m4(){return SN(this).formatHsl()}function vN(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=a4.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?RN(e):r===3?new ar(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Bh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Bh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=c4.exec(t))?new ar(e[1],e[2],e[3],1):(e=l4.exec(t))?new ar(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=u4.exec(t))?Bh(e[1],e[2],e[3],e[4]):(e=f4.exec(t))?Bh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=d4.exec(t))?AN(e[1],e[2]/100,e[3]/100,1):(e=p4.exec(t))?AN(e[1],e[2]/100,e[3]/100,e[4]):_N.hasOwnProperty(t)?RN(_N[t]):t==="transparent"?new ar(NaN,NaN,NaN,0):null}function RN(t){return new ar(t>>16&255,t>>8&255,t&255,1)}function Bh(t,e,r,n){return n<=0&&(t=e=r=NaN),new ar(t,e,r,n)}function g4(t){return t instanceof qu||(t=Vi(t)),t?(t=t.rgb(),new ar(t.r,t.g,t.b,t.opacity)):new ar}function pc(t,e,r,n){return arguments.length===1?g4(t):new ar(t,e,r,n??1)}function ar(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Uh(ar,pc,nE(qu,{brighter(t){return t=t==null?Xh:Math.pow(Xh,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ju:Math.pow(ju,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ar(rs(this.r),rs(this.g),rs(this.b),Hh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:wN,formatHex:wN,formatHex8:y4,formatRgb:bN,toString:bN}));function wN(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}`}function y4(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}${ts((isNaN(this.opacity)?1:this.opacity)*255)}`}function bN(){let t=Hh(this.opacity);return`${t===1?"rgb(":"rgba("}${rs(this.r)}, ${rs(this.g)}, ${rs(this.b)}${t===1?")":`, ${t})`}`}function Hh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function rs(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ts(t){return t=rs(t),(t<16?"0":"")+t.toString(16)}function AN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jr(t,e,r,n)}function SN(t){if(t instanceof Jr)return new Jr(t.h,t.s,t.l,t.opacity);if(t instanceof qu||(t=Vi(t)),!t)return new Jr;if(t instanceof Jr)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new Jr(s,a,c,t.opacity)}function kN(t,e,r,n){return arguments.length===1?SN(t):new Jr(t,e,r,n??1)}function Jr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Uh(Jr,kN,nE(qu,{brighter(t){return t=t==null?Xh:Math.pow(Xh,t),new Jr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ju:Math.pow(ju,t),new Jr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new ar(iE(t>=240?t-240:t+120,i,n),iE(t,i,n),iE(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jr(IN(this.h),Gh(this.s),Gh(this.l),Hh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Hh(this.opacity);return`${t===1?"hsl(":"hsla("}${IN(this.h)}, ${Gh(this.s)*100}%, ${Gh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function IN(t){return t=(t||0)%360,t<0?t+360:t}function Gh(t){return Math.max(0,Math.min(1,t||0))}function iE(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function oE(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function NN(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return oE((r-n/e)*e,s,i,o,a)}}function CN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return oE((r-n/e)*e,i,o,s,a)}}var Wu=t=>()=>t;function x4(t,e){return function(r){return t+r*e}}function T4(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function PN(t){return(t=+t)==1?jh:function(e,r){return r-e?T4(e,r,t):Wu(isNaN(e)?r:e)}}function jh(t,e){var r=e-t;return r?x4(t,r):Wu(isNaN(t)?e:t)}var sE=(function t(e){var r=PN(e);function n(i,o){var s=r((i=pc(i)).r,(o=pc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=jh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function ON(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=pc(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var nne=ON(NN),ine=ON(CN);function LN(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function DN(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function $N(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=ns(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function MN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Yi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function FN(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=ns(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var cE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,aE=new RegExp(cE.source,"g");function _4(t){return function(){return t}}function E4(t){return function(e){return t(e)+""}}function UN(t,e){var r=cE.lastIndex=aE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=cE.exec(t))&&(i=aE.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Yi(n,i)})),r=aE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?E4(c[0].x):_4(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function ns(t,e){var r=typeof e,n;return e==null||r==="boolean"?Wu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,sE):UN:e instanceof Vi?sE:e instanceof Date?MN:DN(e)?LN:Array.isArray(e)?$N:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?FN:Yi)(t,e)}function lE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function uE(t){return function(){return t}}function fE(t){return+t}var BN=[0,1];function hc(t){return t}function dE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:uE(isNaN(e)?NaN:.5)}function v4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function R4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=dE(i,n),o=r(s,o)):(n=dE(n,i),o=r(o,s)),function(a){return o(n(a))}}function w4(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=dE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=tE(t,a,1,n)-1;return o[c](i[c](a))}}function GN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function b4(){var t=BN,e=BN,r=ns,n,i,o,s=hc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==hc&&(s=v4(t[0],t[d-1])),a=d>2?w4:R4,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Yi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,fE),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=lE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:hc,u()):s!==hc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function pE(){return b4()(hc,hc)}function hE(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var mE=new Date,gE=new Date;function Ve(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ve(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(mE.setTime(+o),gE.setTime(+s),t(mE),t(gE),Math.floor(r(mE,gE))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Vu=Ve(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Vu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ve(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Vu);var Bne=Vu.range;var vn=Ve(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),XN=vn.range;var mc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),A4=mc.range,zh=Ve(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),I4=zh.range;var gc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),S4=gc.range,qh=Ve(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),k4=qh.range;var Jn=Ve(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),N4=Jn.range,Ku=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),C4=Ku.range,Wh=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),P4=Wh.range;function ss(t){return Ve(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Qn=ss(0),yc=ss(1),jN=ss(2),zN=ss(3),Ki=ss(4),qN=ss(5),WN=ss(6),VN=Qn.range,O4=yc.range,L4=jN.range,D4=zN.range,$4=Ki.range,M4=qN.range,F4=WN.range;function as(t){return Ve(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var cs=as(0),xc=as(1),YN=as(2),KN=as(3),Zi=as(4),ZN=as(5),JN=as(6),QN=cs.range,U4=xc.range,B4=YN.range,G4=KN.range,X4=Zi.range,H4=ZN.range,j4=JN.range;var Tc=Ve(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),z4=Tc.range,Vh=Ve(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),q4=Vh.range;var yr=Ve(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());yr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var W4=yr.range,Qr=Ve(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Qr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var V4=Qr.range;function tC(t,e,r,n,i,o){let s=[[vn,1,1e3],[vn,5,5*1e3],[vn,15,15*1e3],[vn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=es(([,,T])=>T).right(s,d);if(p===s.length)return t.every($h(l/31536e6,u/31536e6,f));if(p===0)return Vu.every(Math.max($h(l,u,f),1));let[m,y]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(y)}return[a,c]}var[K4,Z4]=tC(Qr,Vh,cs,Wh,qh,zh),[yE,xE]=tC(yr,Tc,Qn,Jn,gc,mc);function TE(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function _E(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Zu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function EE(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=Ju(i),u=Qu(i),f=Ju(o),d=Qu(o),p=Ju(s),m=Qu(s),y=Ju(a),T=Qu(a),_=Ju(c),v=Qu(c),E={a:I,A:F,b:j,B:U,c:null,d:aC,e:aC,f:_3,g:N3,G:P3,H:y3,I:x3,j:T3,L:dC,m:E3,M:v3,p:W,q:Z,Q:uC,s:fC,S:R3,u:w3,U:b3,V:A3,w:I3,W:S3,x:null,X:null,y:k3,Y:C3,Z:O3,"%":lC},S={a:pe,A:V,b:te,B:De,c:null,d:cC,e:cC,f:M3,g:W3,G:Y3,H:L3,I:D3,j:$3,L:hC,m:F3,M:U3,p:Ne,q:Xe,Q:uC,s:fC,S:B3,u:G3,U:X3,V:H3,w:j3,W:z3,x:null,X:null,y:q3,Y:V3,Z:K3,"%":lC},D={a:oe,A:L,b:R,B:O,c:$,d:oC,e:oC,f:p3,g:iC,G:nC,H:sC,I:sC,j:l3,L:d3,m:c3,M:u3,p:G,q:a3,Q:m3,s:g3,S:f3,u:r3,U:n3,V:i3,w:t3,W:o3,x:b,X:A,y:iC,Y:nC,Z:s3,"%":h3};E.x=N(r,E),E.X=N(n,E),E.c=N(e,E),S.x=N(r,S),S.X=N(n,S),S.c=N(e,S);function N(q,J){return function(re){var C=[],be=-1,me=0,ve=q.length,Tt,X,Cr;for(re instanceof Date||(re=new Date(+re));++be<ve;)q.charCodeAt(be)===37&&(C.push(q.slice(me,be)),(X=rC[Tt=q.charAt(++be)])!=null?Tt=q.charAt(++be):X=Tt==="e"?" ":"0",(Cr=J[Tt])&&(Tt=Cr(re,X)),C.push(Tt),me=be+1);return C.push(q.slice(me,be)),C.join("")}}function M(q,J){return function(re){var C=Zu(1900,void 0,1),be=B(C,q,re+="",0),me,ve;if(be!=re.length)return null;if("Q"in C)return new Date(C.Q);if("s"in C)return new Date(C.s*1e3+("L"in C?C.L:0));if(J&&!("Z"in C)&&(C.Z=0),"p"in C&&(C.H=C.H%12+C.p*12),C.m===void 0&&(C.m="q"in C?C.q:0),"V"in C){if(C.V<1||C.V>53)return null;"w"in C||(C.w=1),"Z"in C?(me=_E(Zu(C.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?xc.ceil(me):xc(me),me=Ku.offset(me,(C.V-1)*7),C.y=me.getUTCFullYear(),C.m=me.getUTCMonth(),C.d=me.getUTCDate()+(C.w+6)%7):(me=TE(Zu(C.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?yc.ceil(me):yc(me),me=Jn.offset(me,(C.V-1)*7),C.y=me.getFullYear(),C.m=me.getMonth(),C.d=me.getDate()+(C.w+6)%7)}else("W"in C||"U"in C)&&("w"in C||(C.w="u"in C?C.u%7:"W"in C?1:0),ve="Z"in C?_E(Zu(C.y,0,1)).getUTCDay():TE(Zu(C.y,0,1)).getDay(),C.m=0,C.d="W"in C?(C.w+6)%7+C.W*7-(ve+5)%7:C.w+C.U*7-(ve+6)%7);return"Z"in C?(C.H+=C.Z/100|0,C.M+=C.Z%100,_E(C)):TE(C)}}function B(q,J,re,C){for(var be=0,me=J.length,ve=re.length,Tt,X;be<me;){if(C>=ve)return-1;if(Tt=J.charCodeAt(be++),Tt===37){if(Tt=J.charAt(be++),X=D[Tt in rC?J.charAt(be++):Tt],!X||(C=X(q,re,C))<0)return-1}else if(Tt!=re.charCodeAt(C++))return-1}return C}function G(q,J,re){var C=l.exec(J.slice(re));return C?(q.p=u.get(C[0].toLowerCase()),re+C[0].length):-1}function oe(q,J,re){var C=p.exec(J.slice(re));return C?(q.w=m.get(C[0].toLowerCase()),re+C[0].length):-1}function L(q,J,re){var C=f.exec(J.slice(re));return C?(q.w=d.get(C[0].toLowerCase()),re+C[0].length):-1}function R(q,J,re){var C=_.exec(J.slice(re));return C?(q.m=v.get(C[0].toLowerCase()),re+C[0].length):-1}function O(q,J,re){var C=y.exec(J.slice(re));return C?(q.m=T.get(C[0].toLowerCase()),re+C[0].length):-1}function $(q,J,re){return B(q,e,J,re)}function b(q,J,re){return B(q,r,J,re)}function A(q,J,re){return B(q,n,J,re)}function I(q){return s[q.getDay()]}function F(q){return o[q.getDay()]}function j(q){return c[q.getMonth()]}function U(q){return a[q.getMonth()]}function W(q){return i[+(q.getHours()>=12)]}function Z(q){return 1+~~(q.getMonth()/3)}function pe(q){return s[q.getUTCDay()]}function V(q){return o[q.getUTCDay()]}function te(q){return c[q.getUTCMonth()]}function De(q){return a[q.getUTCMonth()]}function Ne(q){return i[+(q.getUTCHours()>=12)]}function Xe(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var J=N(q+="",E);return J.toString=function(){return q},J},parse:function(q){var J=M(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=N(q+="",S);return J.toString=function(){return q},J},utcParse:function(q){var J=M(q+="",!0);return J.toString=function(){return q},J}}}var rC={"-":"",_:" ",0:"0"},Ot=/^\s*\d+/,J4=/^%/,Q4=/[\\^$*+?|[\]().{}]/g;function Oe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function e3(t){return t.replace(Q4,"\\$&")}function Ju(t){return new RegExp("^(?:"+t.map(e3).join("|")+")","i")}function Qu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function t3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function r3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function n3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function i3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function o3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function nC(t,e,r){var n=Ot.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function iC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function s3(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function a3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function c3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function oC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function l3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function sC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function u3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function f3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function d3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function p3(t,e,r){var n=Ot.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function h3(t,e,r){var n=J4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function m3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function g3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function aC(t,e){return Oe(t.getDate(),e,2)}function y3(t,e){return Oe(t.getHours(),e,2)}function x3(t,e){return Oe(t.getHours()%12||12,e,2)}function T3(t,e){return Oe(1+Jn.count(yr(t),t),e,3)}function dC(t,e){return Oe(t.getMilliseconds(),e,3)}function _3(t,e){return dC(t,e)+"000"}function E3(t,e){return Oe(t.getMonth()+1,e,2)}function v3(t,e){return Oe(t.getMinutes(),e,2)}function R3(t,e){return Oe(t.getSeconds(),e,2)}function w3(t){var e=t.getDay();return e===0?7:e}function b3(t,e){return Oe(Qn.count(yr(t)-1,t),e,2)}function pC(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function A3(t,e){return t=pC(t),Oe(Ki.count(yr(t),t)+(yr(t).getDay()===4),e,2)}function I3(t){return t.getDay()}function S3(t,e){return Oe(yc.count(yr(t)-1,t),e,2)}function k3(t,e){return Oe(t.getFullYear()%100,e,2)}function N3(t,e){return t=pC(t),Oe(t.getFullYear()%100,e,2)}function C3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function P3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function O3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function cC(t,e){return Oe(t.getUTCDate(),e,2)}function L3(t,e){return Oe(t.getUTCHours(),e,2)}function D3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function $3(t,e){return Oe(1+Ku.count(Qr(t),t),e,3)}function hC(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function M3(t,e){return hC(t,e)+"000"}function F3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function U3(t,e){return Oe(t.getUTCMinutes(),e,2)}function B3(t,e){return Oe(t.getUTCSeconds(),e,2)}function G3(t){var e=t.getUTCDay();return e===0?7:e}function X3(t,e){return Oe(cs.count(Qr(t)-1,t),e,2)}function mC(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function H3(t,e){return t=mC(t),Oe(Zi.count(Qr(t),t)+(Qr(t).getUTCDay()===4),e,2)}function j3(t){return t.getUTCDay()}function z3(t,e){return Oe(xc.count(Qr(t)-1,t),e,2)}function q3(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function W3(t,e){return t=mC(t),Oe(t.getUTCFullYear()%100,e,2)}function V3(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function Y3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function K3(){return"+0000"}function lC(){return"%"}function uC(t){return+t}function fC(t){return Math.floor(+t/1e3)}var _c,Yh,gC,yC,xC;vE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function vE(t){return _c=EE(t),Yh=_c.format,gC=_c.parse,yC=_c.utcFormat,xC=_c.utcParse,_c}function Z3(t){return new Date(t)}function J3(t){return t instanceof Date?+t:+new Date(+t)}function TC(t,e,r,n,i,o,s,a,c,l){var u=pE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),T=l("%I %p"),_=l("%a %d"),v=l("%b %d"),E=l("%B"),S=l("%Y");function D(N){return(c(N)<N?p:a(N)<N?m:s(N)<N?y:o(N)<N?T:n(N)<N?i(N)<N?_:v:r(N)<N?E:S)(N)}return u.invert=function(N){return new Date(f(N))},u.domain=function(N){return arguments.length?d(Array.from(N,J3)):d().map(Z3)},u.ticks=function(N){var M=d();return t(M[0],M[M.length-1],N??10)},u.tickFormat=function(N,M){return M==null?D:l(M)},u.nice=function(N){var M=d();return(!N||typeof N.range!="function")&&(N=e(M[0],M[M.length-1],N??10)),N?d(hE(M,N)):u},u.copy=function(){return GN(u,TC(t,e,r,n,i,o,s,a,c,l))},u}function Kh(){return fc.apply(TC(yE,xE,yr,Tc,Qn,Jn,gc,mc,vn,Yh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var RE=class t{constructor(e,r,n){de(this,"bandwidthPx");de(this,"stepPx");de(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=Hu().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},Q3={bandwidth:56,step:64};function _C(){return RE.fixedRow(Q3)}var Zh=class{constructor(e){de(this,"domain");de(this,"range");de(this,"pixelsPerDay");de(this,"calendar");de(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,kr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Kh().domain(e.domain).range(e.range)}forward(e){let r=kr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function Jh(t){return t.endsWith(":")?t.slice(0,-1):t}function EC(t,e){let n=t.roadmapDecl?.properties.find(c=>Jh(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=Qh(i)*l,s=1}}let a=s??pN[i]??4;if(e){let l=e.properties.find(m=>Jh(m.key)==="unit")?.value??i,u=e.properties.find(m=>Jh(m.key)==="label-every"),f=e.properties.find(m=>Jh(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||Qh(l)):o??Qh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Qh(i)}}function Qh(t){switch(t){case"days":return lN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function vC(t,e,r,n=Cu){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?eG(e.unit,Zo(t.domain[0],u),l,n):void 0})}return c}function eG(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${xh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function RC(t){return{daysPerUnit:e=>wE(e,t),addUnits:(e,r,n)=>Zo(e,r*wE(n,t)),isWorkingDay:()=>!0}}function wC(t,e){return wE(t,e)}function wE(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var bE=class{constructor(e,r){de(this,"id");de(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=vt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=yt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function AC(t,e,r){let n=[];for(let[i,o]of t){let s=new bE(i,o).place(e,r);s&&n.push(s)}return n}function AE(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,gt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:yt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Zr,y:r+Zr,width:e.chartRightX-2*Zr,height:n.length===0?0:Uu+n.length*Bu+Zr},entries:n},index:i,hosts:o}}var tG=.8,rG=1;function nG(t){let e=[];return SC(t,e),e}function SC(t,e){for(let r of t)if(r.kind==="item"){let n=iG(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&SC(r.children,e)}function iG(t){return t.capacity?t.capacity.value:t.size?1:0}function kC(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=nG(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:oG(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function oG(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function NC(t,e){let r=e.get("swimlane"),n=IC(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,tG),i=IC(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,rG);return{warn:n,over:i}}function IC(t,e,r){let i=cG(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var sG=/^\d+(?:\.\d+)?%$/,aG=/^\d+\.\d+$/;function cG(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(sG.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(aG.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var CC=10;function lG(t,e,r){let n=ae(t.properties,"capacity"),i=oi(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Ac(i),s=Ic(e.capacityIcon,r),a=to(o,s,CC);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var uG=10,fG=38,dG=8;function pG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Sc(0,n,i??void 0,e,r).rightX}function hG(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function mG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=gr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var Ec=class{constructor(e,r){de(this,"input");de(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=yt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=lG(n,s,r.symbols),d=hG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),CC):0,m=pG(n,f,p),y=mG(n,a,r,o),T=!n.title||y===void 0||y>=m+dG,_=e.y+(T?uG:fG),v=new oc({laneLeftX:a,originY:_,minRowHeight:c,slackCorridors:r.slackCorridors}),E=a,S=[];for(let R of n.content){if(R.$type==="DescriptionDirective")continue;if(!gr(R)){let Xe=R.properties??[],q=o.resolveChildStart(Xe,E,a,r),{rowIndex:J,y:re}=v.placeBlock(),C=o.newCursor(q,re),be=o.sequenceOne(R,C,r);S.push(be);let me=be.box.x+be.box.width,ve=Math.max(c,C.height);v.commitBlock({rowIndex:J,placed:be,blockHeight:ve,blockEnd:me}),E=Math.max(E,me);continue}let O=R.properties,$=o.resolveChildStart(O,E,a,r),b=zi(O,r.sizes,r.cal),A=Math.max(Nr,b*r.timeline.pixelsPerDay),I=$+A,F=R.name??"",j=o.predictItemChipExtraHeight(R,r),U=c+j,{rowIndex:W,y:Z}=v.placeItem({childId:F,desiredStart:$,desiredEnd:I,predictedHeight:U}),pe=o.newCursor($,Z),V=o.sequenceItem(R,pe,r);S.push(V);let te=V.box.x+V.box.width+Yr;E=Math.max(E,te);let De=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(De=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),v.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:U})}let D=_-e.y,N=Math.max(c+32,D+v.usedHeight()+16),M=Math.max(v.usedRightX(),m),B={x:0,y:e.y,width:r.chartRightX,height:N},G=ae(n.properties,"owner"),oe;if(G){let R=r.teams.get(G),O=r.persons.get(G);oe=R?.title??O?.title??G}let L=u?(()=>{let{warn:R,over:O}=NC(n,r.styleCtx.defaults);return kC({children:S,capacityValue:u.value,warnFraction:R,overFraction:O})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:B,bandIndex:i,children:S,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:L},usedHeight:N,usedRightX:M}}};var gG=18,yG=14,xG=14,TG=16,_G=32;function PC(t,e,r,n){let i=r+gG,o=[],s=!0;for(let a of t){s||(i+=TG),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+yG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:gh(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX,nextParallelId:0,nextGroupId:0},f=[],d=l,p=0,m=u.timeline.originX;for(let N of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:M,usedHeight:B,usedRightX:G}=new Ec({lane:N,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(M),d+=B,p++,G>m&&(m=G)}let y=d,T=Math.max(e.bandScale.bandwidth(),y-i+xG),_=0,{chromeRightX:v}=kc(_,c,a.sourcePath),E=Math.max(v,m)+_G,S=Math.min(e.chartRightX-_,E-_),D={x:_,y:i,width:S,height:T};for(let N of f)N.box.width=S;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=T}return{regions:o,endY:i}}function rm(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function nm(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function OC(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var IE=class{constructor(e,r){de(this,"id");de(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=yt("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=gt(r.properties,"after"),s=vt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,T=!1;if(s){let v=e.scale.forwardWithinDomain(s);if(v===null)return null;u=v,m=!0;let E=e.markerRowPlacements.get(this.id);E&&(f=E.centerY,d=E.labelBox,p=E.labelSide);let S=rm(o,e),D=nm(S),N=null;for(let M of D)(!N||M.x>N.x)&&(N=M);N&&N.x>v&&(T=!0,y=[{x:N.x,y:N.y>0?N.y:f}])}else if(o.length>0){let v=rm(o,e),E=nm(v);E.sort((M,B)=>B.x-M.x);let S=E[0]?.x??e.timeline.originX;u=S,m=!1;let D=OC(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let N=[];for(let M=1;M<E.length;M++){let B=E[M];B.x<S&&B.y>0&&N.push({x:B.x,y:B.y})}N.length>0&&(y=N)}if(u===null)return null;if(!d){let v=OC(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=v.box,p=v.side}let _={x:u,y:f};return e.entityLeftEdges.set(this.id,_.x),e.entityRightEdges.set(this.id,_.x),e.entityMidpoints.set(this.id,_),{id:this.id,title:l,center:_,radius:c,fixed:m,slackArrows:y,isOverrun:T,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function LC(t,e){let r=[];for(let[n,i]of t){let o=new IE(n,i).place(e);o&&r.push(o)}return r}var vG=4;function RG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var om=class{place(e,r,n,i){let o=n.theme??"light",s=O_[o],a=n.width??1280,c=Kk(n.locale,AG(e)),l=zk(e,r.config.calendar),u=EC(e,r.config.scale),f=gh(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),y=yt("roadmap",e.roadmapDecl?.properties??[],d),T=y.headerPosition==="beside",_=y.timelinePosition!=="bottom",v=y.timelinePosition==="bottom"||y.timelinePosition==="both",E=e.roadmapDecl?.title??e.roadmapDecl?.name??"",S=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(E,S),N=T?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:kh},M=T?D.boxWidth:0,B=T?8:kh+8,G=RC(l),oe=u.pixelsPerUnit/G.daysPerUnit(u.unit),R=Math.max(1,kr(p,m))*oe,O=M+Kr,$=R,b=M+Kr+$+Kr,A=Math.min(a,b),I=n.today!==void 0&&n.today>=p&&n.today<=m,F=r.content.anchors.size+r.content.milestones.size>0,j=I?qi:0,U=_?Du:0,W=new Zh({domain:[p,m],range:[O,O+R],calendar:G}),Z=Math.max(A,O+$+Kr),pe=[];for(let[K,le]of r.content.anchors){let je=vt(ae(le.properties,"date"));if(!je)continue;let Lr=W.forwardWithinDomain(je);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!1,date:je,isMilestone:!1})}for(let[K,le]of r.content.milestones){let je=vt(ae(le.properties,"date"));if(!je)continue;let Lr=W.forwardWithinDomain(je);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!0,date:je,isMilestone:!0})}let V=$C(pe,M,Z,i.estimateTextWidth),te=F?Math.max(1,V.rowCount):0,De=te*26,Ne=j+U+De,Xe=Ne+8,q=T?D.cardHeight+vG:0,J=Math.max(B,q-Ne),re=J+j,C=re+U,be=C+De,me=vC(W,u,G,c),ve={box:{x:O,y:J,width:R,height:0},ticks:me,pixelsPerDay:oe,originX:O,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:j,tickPanelY:re,tickPanelHeight:U,markerRow:{y:C+13,height:De,collisionY:C-8},minorGrid:y.minorGrid},Tt=new Map;for(let[K,le]of V.placements){let je=C+13+le.rowIndex*26;Tt.set(K,{rowIndex:le.rowIndex,centerY:je,labelBox:{...le.labelBox,y:je-4},labelSide:le.labelSide})}let X={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:ve,scale:W,calendar:G,bandScale:_C(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:Tt,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z,nextParallelId:0,nextGroupId:0};for(let K of pe){let le=Tt.get(K.id);le&&(X.entityLeftEdges.set(K.id,K.centerX),X.entityRightEdges.set(K.id,K.centerX),X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY}))}let Cr=AE(r.content.footnotes,X,0);X.footnoteIndex=Cr.index,X.footnoteHosts=Cr.hosts;let Tr=new Map(X.entityLeftEdges),Pr=new Map(X.entityRightEdges),fs=new Map(X.entityMidpoints),_e=[...r.content.swimlanes.values()],Or=yt("swimlane",[],d),Qi=aN[Or.spacing]??0,bn=()=>{X.nextParallelId=0,X.nextGroupId=0;let K=[],le=X.chartTopY,je=0,Lr=X.timeline.originX;for(let eo of _e){je>0&&(le+=Qi);let{positioned:ni,usedHeight:xm,usedRightX:uf}=new Ec({lane:eo,bandIndex:je},i).place({x:X.timeline.originX,y:le},X);K.push(ni),le+=xm,uf>Lr&&(Lr=uf),je++}return{swimlanes:K,nextY:le,maxRightX:Lr}},_r=bn(),Ht=_r.swimlanes,bt=_r.nextY,x=wG(r.content.milestones,X);x.length>0&&(X.entityLeftEdges=new Map(Tr),X.entityRightEdges=new Map(Pr),X.entityMidpoints=new Map(fs),X.itemSlackAttachY=new Map,X.entityVisualLeftX=new Map,X.entityVisualRightX=new Map,X.itemArrowSource=new Map,X.itemFlowKey=new Map,X.currentFlowKey="",X.slackCorridors=x,_r=bn(),Ht=_r.swimlanes,bt=_r.nextY),RG(X,_r.maxRightX+Kr);for(let K of Ht)K.box.width=X.chartRightX;let P=r.content.isolatedRegions,z=[];if(P.length>0){let K=PC(P,X,bt+8,i);z=K.regions,bt=K.endY}X.chartBottomY=bt,X.swimlaneBottomY=bt,ve.box.height=X.chartBottomY-ve.box.y;let Y=LC(r.content.milestones,X),$e=pe.map(K=>({id:K.id,centerX:K.centerX,radius:K.radius,title:K.title,fontSize:K.fontSize,bold:K.bold}));for(let K of Y)K.fixed||$e.push({id:K.id??"",centerX:K.center.x,radius:K.radius,title:K.title,fontSize:10,bold:!0});let Ce=$C($e,M,X.chartRightX,i.estimateTextWidth);X.markerRowPlacements.clear();for(let[K,le]of Ce.placements){let je=C+13+le.rowIndex*26;X.markerRowPlacements.set(K,{rowIndex:le.rowIndex,centerY:je,labelBox:{...le.labelBox,y:je-4},labelSide:le.labelSide})}for(let K of Y){let le=X.markerRowPlacements.get(K.id??"");le&&(K.center={x:K.center.x,y:le.centerY},K.labelBox=le.labelBox,K.labelSide=le.labelSide)}for(let K of pe){let le=X.markerRowPlacements.get(K.id);le&&X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY})}for(let K of Y)K.fixed||X.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let ze=F?Math.max(1,Ce.rowCount):0;if(ze>te){let K=(ze-te)*26;X.timeline.markerRow.height=ze*26,X.timeline.box.height+=K,X.chartTopY+=K,X.chartBottomY+=K,X.swimlaneBottomY+=K;for(let le of Ht)SE(le,K);for(let le of z)bG(le,K);for(let[le,je]of X.entityMidpoints)X.markerRowPlacements.has(le)||X.entityMidpoints.set(le,{x:je.x,y:je.y+K});for(let[le,je]of X.itemSlackAttachY)X.itemSlackAttachY.set(le,je+K);for(let le of Y)if(le.cutTopY=X.chartTopY,le.cutBottomY=X.swimlaneBottomY,le.slackArrows)for(let je of le.slackArrows)je.y+=K}v&&(X.timeline.bottomTickPanelY=X.chartBottomY+8,X.timeline.bottomTickPanelHeight=Du,X.chartBottomY+=8+Du);let Ye=new Set(Y.map(K=>K.center.x)),ge=AC(r.content.anchors,X,Ye),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,Ht,z,X),Ke=i.buildNowline(n.today,X,c),st=AE(r.content.footnotes,X,X.chartBottomY);X.footnoteIndex=st.index,X.footnoteHosts=st.hosts,N.height=N.height||X.chartBottomY,T||(N.width=X.chartRightX);let Jt=T?{x:6,y:be-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:X.chartRightX,height:kh},ds=st.area.entries.length>0?st.area.box.y+st.area.box.height:X.chartBottomY,cf={x:X.chartRightX-Kr-Y_,y:ds+Kr,width:Y_,height:dN},Qt=cf.y+cf.height+Kr,tn={box:N,position:y.headerPosition,title:E,author:S,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Jt,logo:void 0,style:y,attributionBox:cf};return{width:X.chartRightX,height:Qt,theme:o,palette:s,backgroundColor:s.surface.page,header:tn,timeline:ve,nowline:Ke,swimlanes:Ht,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:z,chartBox:{x:M,y:X.chartTopY,width:X.chartRightX-M,height:X.chartBottomY-X.chartTopY}}}};function wG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=gt(i.properties,"after"),a=vt(o),c=rm(s,e),l=nm(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function SE(t,e){t.box.y+=e;for(let r of t.children)MC(r,e);for(let r of t.nested)SE(r,e)}function MC(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)MC(r,e)}function bG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)SE(r,e)}function $C(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,y=M=>M==="right"?l:u,T=M=>M==="right"?f:d,_=(M,B)=>{let G=Math.min(p,M),oe=Math.max(m,M+c);return s[B].some(L=>L.left<oe&&L.right>G)},v=-1,E="right",S=l;e:for(let M=s.length-1;M>=0;M--)for(let B of["right","left"]){if(!T(B))continue;let G=y(B);if(!_(G,M)){v=M,E=B,S=G;break e}}if(v===-1){for(let[M,B]of o)o.set(M,{...B,rowIndex:B.rowIndex+1});s=[[],...s],v=0,E=f?"right":"left",S=y(E)}let D=Math.min(p,S),N=Math.max(m,S+c);s[v].push({left:D,right:N}),o.set(a.id,{rowIndex:v,labelBox:{x:S,y:0,width:c,height:12},labelSide:E})}return{placements:o,rowCount:s.length}}function AG(t){return t.directive?.properties.find(r=>IG(r.key)==="locale")?.value}function IG(t){return t.endsWith(":")?t.slice(0,-1):t}function CG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function PG(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function OG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function LG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function DG(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function sm(t,e,r,n,i){let o=sN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=cN[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function LE(t,e,r,n){let i=t.properties,o=yt("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=zi(i,r.sizes,r.cal),l=Wk(i,r.sizes,r.cal),u=gt(i,"after"),f=gt(i,"before"),d=ae(i,"date"),p=qk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=vt(d);if(y){let ue=r.scale.forwardWithinDomain(y);ue!==null&&(m=ue)}else if(u.length>0){let ue=e.x;for(let tt of u){let _t=vt(tt);if(_t){let ii=r.scale.forwardWithinDomain(_t);ii!==null&&(ue=Math.max(ue,ii));continue}let An=r.entityRightEdges.get(tt);An!==void 0&&(ue=Math.max(ue,An))}m=Math.max(e.x,ue)}let T=Math.max(Nr,c*r.timeline.pixelsPerDay),_=m,v=m+T,E=ae(i,"link"),S=DG(E),D=S.icon!=="none",N=Math.max(Nr,T-2*Yr),M=gt(i,"labels"),B=[];for(let ue of M){let tt=r.labels.get(ue);if(!tt)continue;let _t=sm(tt,r.styleCtx,0,0);B.push({id:tt,width:_t.box.width})}let G=0;for(let ue=0;ue<B.length;ue+=1)ue>0&&(G+=4),G+=B[ue].width;let oe=Math.max(0,N-24),L=B.length>0&&G>oe,R=!1,O,$;if(f.length>0){let ue,tt;for(let _t of f){let An=vt(_t),ii=An?r.scale.forwardWithinDomain(An)??void 0:r.entityLeftEdges.get(_t);ii!==void 0&&(ue===void 0||ii<ue)&&(ue=ii,tt=_t)}ue!==void 0&&v>ue&&(R=!0,O={x:ue,y:e.y,width:v-ue,height:r.bandScale.bandwidth()},$=tt)}let b=ae(i,"status"),A=CG(b),I=PG(b);I===0&&A==="done"&&(I=1);let F=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&F&&(I=1-Math.max(0,Math.min(100,parseInt(F[1],10)))/100),I===0&&A==="in-progress"&&p>0&&l>0&&(I=Math.max(0,Math.min(1,1-p/l)));let j={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},U={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},W={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},Z={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},pe=r.styleCtx.theme.name,V=pe==="dark",te=V?"#0f172a":"#ffffff",De=pe==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===te&&(o.bg=pe==="grayscale"?W[A]:V?U[A]:j[A]),o.fg===De&&(o.fg=Z[A]);let Ne=ae(i,"duration"),Xe=!!Ne&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Ne),q=a?a.title??a.name:"",J=Xe?Ne:q||void 0,re=ae(i,"remaining"),C=OG(re,r),be=LG(n??ae(i,"owner"),r),me=()=>[J,be].filter(Boolean).join(" "),ve;if(A==="in-progress"&&C){let ue=me();ve=ue?`${ue} \u2014 ${C} remaining`:`${C} remaining`}else if(A==="in-progress"&&I>0&&I<1){let ue=Math.round((1-I)*100),tt=me();ve=tt?`${tt} \u2014 ${ue}% remaining`:`${ue}% remaining`}else(be||J)&&(ve=me()||void 0);let Tt=ae(i,"capacity"),X=oi(Tt),Cr=null,Tr=0;if(X!==null){let ue=Ac(X),tt=Ic(o.capacityIcon,r.symbols);Cr={value:X,text:ue,icon:tt};let _t=11;Tr=(ve?wn(" ",_t):0)+to(ue,tt,_t)}let Pr=t.title??t.name??"",fs=new Lh({id:t.name??"",title:Pr,logicalLeftX:_,logicalRightX:v,metaText:ve,metaTrailingWidth:Tr,hasLinkIcon:D}).place({x:_,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=fs.box,Or=r.bandScale.bandwidth(),Qi=_e.width<17,bn=D&&_e.width<41,_r=_e.width<23,Ht=fs.textSpills||bn,bt=null;L&&(bt=_m(B,_e.width));let x=bt?bt.rows.length:B.length>0?1:0,P=ve!==void 0||Cr!==null,z=HC(L,Ht,x,Or,P);z>0&&(_e.height=Or+z);let Y=[],$e=_e.y+Or-_n-13-3,Ce=_e.y+38+3,Ye=L&&Ht||!L&&P&&B.length>0?Math.max($e,Ce):$e,ge=L?_e.x+_e.width+6:_e.x+12,Ue=ge;if(bt)for(let ue=0;ue<bt.rows.length;ue+=1){let tt=Ye+ue*17,_t=ge;for(let ii of bt.rows[ue]){let i0=sm(ii.id,r.styleCtx,_t,tt);Y.push(i0),_t+=i0.box.width+4}let An=_t-4;An>Ue&&(Ue=An)}else{let ue=ge;for(let tt of B){let _t=sm(tt.id,r.styleCtx,ue,Ye);Y.push(_t),ue+=_t.box.width+4}Ue=B.length>0?ue-4:ge}let Ae=new Set;if(t.name){for(let[ue,tt]of r.footnoteHosts.entries())if(tt.includes(t.name)){let _t=r.footnoteIndex.get(ue);_t!==void 0&&Ae.add(_t)}}let Ke=[...Ae].sort((ue,tt)=>ue-tt),st=be??n??ae(i,"owner"),Jt=t.description?.text,ds=Ke.length>0&&_r,Qt=_e.x+_e.width+6,tn=!1,lf=null;bn&&(tn&&(Qt+=4),lf=Qt,Qt=lf+14,tn=!0);let K=0;if(Ht){tn&&(Qt+=4);let ue=wn(Pr,13),tt=(ve?wn(ve,11):0)+Tr;K=Math.max(ue,tt),Qt+=K,tn=!0}let le=null;ds&&(tn&&(Qt+=4),le=Qt,Qt+=Ke.length*8,tn=!0);let je=null;Qi&&(tn&&(Qt+=4),je=Qt+5,Qt=je+5,tn=!0);let Lr=Math.max(_e.x+_e.width,Qt),eo=t.name;eo&&(r.entityLeftEdges.set(eo,_),r.entityRightEdges.set(eo,v));let ni=eo??XC(t);r.entityMidpoints.set(ni,{x:(_+v)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(ni,_e.x),r.entityVisualRightX.set(ni,_e.x+_e.width);let xm=Ht?{x:_e.x+_e.width,y:_e.y+_e.height-_n/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(ni,xm),r.itemFlowKey.set(ni,r.currentFlowKey);let uf=Ht?_e.y+_e.height-_n/2:_e.y+_e.height/2;r.itemSlackAttachY.set(ni,uf),e.x=v,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+z);let n0=eN({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Ke.length});return{kind:"item",id:eo,title:Pr,box:_e,status:A,progressFraction:I,footnoteIndicators:Ke,labelChips:Y,chipsOutside:L,chipsRightX:Ue,linkIcon:S.icon,linkHref:S.href,hasOverflow:R,overflowBox:O,overflowAnchorId:$,owner:st,description:Jt,metaText:ve,textSpills:Ht,dotSpills:Qi,iconSpills:bn,footnoteSpills:ds,dotSpillCx:je,iconSpillX:lf,footnoteSpillStartX:le,decorationsRightX:Lr,capacity:Cr,size:a,style:o,inlineDatePins:n0.length>0?n0:void 0}}function $G(t,e,r){return new Dh(t,{sequenceOne:DE,newCursor:Eh}).place(e,r)}function MG(t,e,r){return new Oh(t,{sequenceItem:LE,sequenceOne:DE,resolveChildStart:zC,newCursor:Eh,estimateTextWidth:wn,predictItemChipExtraHeight:jC}).place(e,r)}function DE(t,e,r){if(gr(t))return LE(t,e,r);if(Wr(t))return $G(t,e,r);if(qr(t))return MG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function wn(t,e){return t.length*e*.58}function XC(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function HC(t,e,r,n,i){if(r===0)return 0;let o=n-_n-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+_n;return Math.max(0,l-n)}function jC(t,e){let r=t.properties,n=gt(r,"labels");if(n.length===0)return 0;let i=zi(r,e.sizes,e.cal),o=Math.max(Nr,i*e.timeline.pixelsPerDay),s=Math.max(Nr,o-2*Yr),a=[];for(let _ of n){let v=e.labels.get(_);if(!v)continue;let E=sm(v,e.styleCtx,0,0);a.push({id:v,width:E.box.width})}if(a.length===0)return 0;let c=0;for(let _=0;_<a.length;_+=1)_>0&&(c+=4),c+=a[_].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?wn(d,13):0)>l,y=u?_m(a,s):null,T=y?y.rows.length:a.length>0?1:0;return HC(u,m,T,e.bandScale.bandwidth(),f)}function zC(t,e,r,n){let i=vt(ae(t,"date"))??vt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=gt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=vt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var kE=6;function FC(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&wn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function FG(t,e){let r=j_-32,n=FC(t,r,16),i=FC(e??"",r,11),o=0;for(let d of n)o=Math.max(o,wn(d,16));for(let d of i)o=Math.max(o,wn(d,11));let s=o+32,a=Math.max(uN-kE,Math.min(j_-kE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+kE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function UG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=vt(a)??BG(n),l=ae(s,"length");if(l){let p=GG(l,e.cal);if(p>0)return{startDate:c,endDate:Zo(c,p)}}let u=qC(r,e,c,n),f=wC(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Zo(c,Math.max(1,d))}}function BG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function GG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function qC(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=vt(f);return d?kr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=vt(ae(f.properties,"date"));if(d&&f.name){let p=kr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(gr(f)){let p=zi(f.properties,e.sizes,e.cal),m=vt(ae(f.properties,"date")),y=vt(ae(f.properties,"start")),T=gt(f.properties,"after"),_=d;m?_=kr(r,m):y?_=kr(r,y):T.length>0&&(_=Math.max(d,...T.map(c)));let v=_+p;return f.name&&i.set(f.name,v),v}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let T of f.content){if(T.$type==="DescriptionDirective")continue;let _=u(T,m);y=Math.max(y,_)}return y}if(qr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=vt(ae(f.properties,"date"));if(d){let m=kr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=gt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=qC({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=kr(r,n);f>0&&(a=Math.max(a,f))}return a}function XG(t,e,r,n){let i=new yh(Vk(e,r)),o=[],s=[];for(let[l,u]of t){let f=gt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let y of f){let T=n.itemArrowSource.get(y),_,v=T===void 0;if(T)_=T;else{let E=n.entityMidpoints.get(y);if(!E)continue;_={x:E.x,y:d.y}}!v&&Math.abs(_.y-m.y)<.5&&m.x-_.x<20||(o.push({fromId:y,toId:l,from:_,to:m,isMarkerSource:v}),s.push({fromId:y,toId:l}))}}let a=Yk(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:yt("item",[],n.styleCtx)})}return c}function HG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=xh(r).nowLabel,a=wn(s,Fu),c=Math.max(G_,Math.ceil(a+2*lc)),l=e.timeline.originX-Kr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:yt("item",[],e.styleCtx)}}function jG(t){let e=new Map,r=n=>{if(gr(n)){e.set(n.name??XC(n),n);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(qr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function $E(t,e,r={}){return new om().place(t,e,r,{sequenceItem:LE,sequenceOne:DE,resolveChildStart:zC,newCursor:Eh,estimateTextWidth:wn,predictItemChipExtraHeight:jC,computeDateWindow:UG,sizeBesideHeader:FG,collectItems:jG,buildDependencies:XG,buildNowline:HG})}var ls=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function ME(t){if(!t||t.toLowerCase()==="local")return{kind:"local"};if(t.toUpperCase()==="UTC")return{kind:"utc"};if(t==="Z")return{kind:"offset",ms:0};let e=/^([+-])(\d{2})(?::?(\d{2}))?$/.exec(t);if(e){let r=e[1]==="+"?1:-1,n=parseInt(e[2],10),i=e[3]!==void 0?parseInt(e[3],10):0;if(n>23||i>59)throw new ls(`nowline: invalid timezone offset "${t}". Hours must be 0\u201323 and minutes 0\u201359.`);return{kind:"offset",ms:r*(n*60+i)*6e4}}try{return{kind:"iana",name:Intl.DateTimeFormat(void 0,{timeZone:t}).resolvedOptions().timeZone}}catch{throw new ls(`nowline: unrecognised timezone "${t}". Use "local", "UTC", an ISO 8601 offset (e.g. "+05:30", "-07:00", "Z"), or an IANA timezone name (e.g. "America/Los_Angeles", "Asia/Kolkata").`)}}function fm(t,e){switch(e.kind){case"local":return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()));case"utc":return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()));case"offset":{let r=new Date(t.getTime()+e.ms);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()))}case"iana":{let r=new Intl.DateTimeFormat("en-CA",{timeZone:e.name,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(t),n=0,i=0,o=0;for(let s of r)s.type==="year"?n=parseInt(s.value,10):s.type==="month"?i=parseInt(s.value,10)-1:s.type==="day"&&(o=parseInt(s.value,10));return new Date(Date.UTC(n,i,o))}}}var zG=/^(\d{4})-(\d{2})-(\d{2})$/,qG=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,WG=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function FE(t={}){let e=t.zone??{kind:"local"},r=t.clock??(()=>new Date),n=t.now;if(!(n==="-"||n===null)){if(n instanceof Date)return n;if(n!==void 0){let i=zG.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=qG.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return fm(a,{kind:"utc"});let l=o[3]==="+"?1:-1,u=parseInt(o[4],10),f=o[5]!==void 0?parseInt(o[5],10):0,d=l*(u*60+f)*6e4;return fm(a,{kind:"offset",ms:d})}}let s=WG.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return fm(r(),e)}}function WC(t,e){return{severity:t.severity===2?"warning":"error",code:Rm(t),message:t.message,suggestion:vm(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function VC(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function YC(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function KC(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function ZC(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}var JC="__nowline_browser_noop_include__";async function QC(t){throw new Error(`${JC}: include "${t}" was skipped \u2014 running in single-file mode.`)}function eP(t){return t.includes(JC)}var Ji={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},VG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},tP={...Ji,...VG};var $se={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var dm=class{constructor(e="nl"){de(this,"prefix");de(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var YG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),KG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function ZG(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=JG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=QG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function JG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function QG(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function rf(t){return t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function eX(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function rP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=ZG(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(rf(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!YG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!KG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=eX(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${rf(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${rf(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(T,_)=>{let v=o.get(_);return v?`url(#${v})`:"none"});f.push(` ${p}="${rf(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${rf(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var nP=/&/g,iP=/</g,oP=/>/g,tX=/"/g,rX=/'/g;function cr(t){return t.replace(nP,"&amp;").replace(iP,"&lt;").replace(oP,"&gt;")}function ei(t){return t.replace(nP,"&amp;").replace(iP,"&lt;").replace(oP,"&gt;").replace(tX,"&quot;").replace(rX,"&#39;")}function wc(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${ei(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function Q(t,e,r){return r===void 0||r===""?`<${t}${wc(e)}/>`:`<${t}${wc(e)}>${r}</${t}>`}function Le(t,e){return`<text${wc(t)}>${cr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var nX={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function iX(t,e){let r=`${t}-shadow-${e}`,n=nX[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return Q("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function sP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function aP(t){return["subtle","soft","hard"].map(e=>iX(t,e)).join("")}var lX={thin:100,light:300,normal:400,bold:700};function uX(t){return ac[t]??14}function BE(t,e,r){return{"font-family":e[t.font],"font-size":r??uX(t.textSize),"font-weight":lX[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function fX(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function dX(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function pX(t,e){return dX(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function UE(t,e){return t.length*e*.58}function fP(t,e,r,n,i,o,s){let a=i*.58,c=e?UE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=UE(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Le({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Le({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let T=Ji[d.name],_=Le({x:h(u),y:h(n),...m},f),v=i*.1,E=i,S=u+p+v,D=n-i*.85,N=`<svg x="${h(S)}" y="${h(D)}" width="${h(E)}" height="${h(E)}" viewBox="${T.viewBox}" style="color:${ei(s)}" aria-hidden="true">${T.body}</svg>`;return _+N}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${cr(f)}<tspan dx="${y}">${cr(d.text)}</tspan></text>`}var cP=.6,hX=.5;function mX(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Le({x:h(n),y:h(i),...c},e);if(!e)return fP(r,void 0,n,i,o,s,a);let l=h(o*cP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${ei(s)}" font-size="${o}" fill="${ei(a)}">`,{text:f,icon:d}=r;if(!d)return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+cr(e)+`<tspan dx="${l}">${cr(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let N=h(o*.1);return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan><tspan dx="${N}">${cr(d.text)}</tspan></text>`}let p=Ji[d.name],m=N=>N.length*o*hX,y=n+m(e)+o*cP,T=o*.1,_=o,v=y+m(f)+T,E=i-o*.85,S=u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`,D=`<svg x="${h(v)}" y="${h(E)}" width="${h(_)}" height="${h(_)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return S+D}function gX(t,e){let r=tP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${ei(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${cr(t.isoDate)}</title>`;return Q("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function GE(t,e){return!t||t.length===0?"":t.map(r=>gX(r,e)).join("")}function yX(t,e,r,n,i,o={}){let s=Math.min(vh[i.cornerRadius]??4,n/2);return Q("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":fX(i)??null,...o})}function xX(t,e,r,n){let i=t.box.x+t.cardBox.x,o=t.box.y+t.cardBox.y,s=t.cardBox.width,a=t.cardBox.height,c=t.style.bg==="none"?r.surface.headerBox:t.style.bg,l=r.header.cardBorder,u=Q("rect",{x:h(i),y:h(o),width:h(s),height:h(a),rx:6,ry:6,fill:c,stroke:l,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),f=[];t.titleLines.forEach((_,v)=>{f.push(Le({x:h(i+16),y:h(o+26+v*20),"font-family":n[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},_))});let d=f.join(""),p=o+26+Math.max(0,t.titleLines.length-1)*20,m=r.header.author,y=[];t.authorLines.forEach((_,v)=>{y.push(Le({x:h(i+16),y:h(p+18+v*14),"font-family":n[t.style.font],"font-size":11,fill:m},_))});let T=y.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},u+d+T)}function TX(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(Q("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(Q("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return Q("g",{"data-layer":"grid"},f.join(""))}function _X(t,e,r){let n=e.timeline.panelFill,i=e.timeline.border,o=e.timeline.labelText,s=[],a=t.tickPanelY,c=t.tickPanelHeight,l=c>0,u=t.markerRow.height>0,f=a+c,d=t.markerRow.height,p=t.bottomTickPanelY,m=t.bottomTickPanelHeight??0,y=p!==void 0&&m>0;l&&s.push(Q("rect",{x:h(t.box.x),y:h(a),width:h(t.box.width),height:h(c),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),u&&s.push(Q("rect",{x:h(t.box.x),y:h(f),width:h(t.box.width),height:h(d),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),y&&s.push(Q("rect",{x:h(t.box.x),y:h(p),width:h(t.box.width),height:h(m),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1}));for(let T of t.ticks)T.major&&(!T.label||T.labelX===void 0||(l&&s.push(Le({x:h(T.labelX),y:h(a+Rh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},T.label)),y&&s.push(Le({x:h(T.labelX),y:h(p+Rh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},T.label))));return Q("g",{"data-layer":"timeline"},s.join(""))}function EX(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Sh}),s=vX(t,n),a=RX(t,i,r);return Q("g",{"data-layer":"nowline"},o+s+a)}function dP(t){let e=Sh/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function vX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=X_,o=t.pillWidth;if(t.pillMode==="center")return Q("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(qi),rx:i,ry:i,fill:e});let s=dP(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:c,fill:e})}function RX(t,e,r){let n=t.pillTopY+H_,i=dP(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+lc,s="start"):(o=i-lc,s="end"),Le({x:h(o),y:h(n),"font-family":r.sans,"font-size":Fu,"font-weight":700,fill:e,"text-anchor":s},t.label)}function wX(t,e,r,n,i){let o=[],s=sP(r,t.style.shadow);o.push(yX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=pX(t.style.bg,n),c={done:a.done,"in-progress":a.inProgress,"at-risk":a.atRisk,blocked:a.blocked,planned:a.planned,neutral:a.neutral},l=c[t.status]??c.neutral;if(t.progressFraction>0){let T=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-_n),width:h(T),height:_n,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(Q("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(GE(t.inlineDatePins,t.style.fg));let f;t.textSpills?(f=t.box.x+t.box.width+6,t.iconSpills&&(f+=18)):f=t.box.x+12;let d=t.style.text,p=n.entities.item.text,m=t.textSpills?p:d,y=t.textSpills?p:t.style.fg;if(t.title&&o.push(Le({x:h(f),y:h(t.box.y+20),"font-family":i[t.style.font],"font-size":13,"font-weight":600,fill:m},t.title)),(t.metaText||t.capacity)&&o.push(mX({metaText:t.metaText,capacity:t.capacity,x:f,baselineY:t.box.y+38,fontSize:11,fontFamily:i[t.style.font],color:y})),t.footnoteIndicators.length>0){let T=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let _=t.footnoteSpillStartX;for(let v=0;v<t.footnoteIndicators.length;v++){let E=t.footnoteIndicators[v];o.push(Le({x:h(_),y:h(T),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(E))),_+=8}}else{let _=t.box.x+t.box.width-22;for(let v=t.footnoteIndicators.length-1;v>=0;v--){let E=t.footnoteIndicators[v];o.push(Le({x:h(_),y:h(T),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(E))),_-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let T={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},_=T[t.linkIcon]??T.generic,v=14,E=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,S=t.box.y+6,D=Q("rect",{x:h(E),y:h(S),width:v,height:v,rx:2,ry:2,fill:_}),N=E,M=S,B=Q("path",{d:`M${h(N+4)} ${h(M+10)} L${h(N+10)} ${h(M+4)} M${h(N+6)} ${h(M+4)} H${h(N+10)} V${h(M+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),G=D+B,oe=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},G):G;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let T=n.item.overflowTailFill,_=n.item.overflowTailStroke,v=n.item.overflowCaption;o.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:T,stroke:_,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":i.sans,"font-size":9,"font-weight":700,fill:v,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let T of t.labelChips){let _=Math.min(vh[T.style.cornerRadius]??8,T.box.height/2);o.push(Q("rect",{x:h(T.box.x),y:h(T.box.y),width:h(T.box.width),height:h(T.box.height),rx:h(_),ry:h(_),fill:T.style.bg==="none"?"transparent":T.style.bg,stroke:T.style.fg,"stroke-width":.5})),o.push(Le({x:h(T.box.x+T.box.width/2),y:h(T.box.y+T.box.height/2+3),...BE(T.style,i,ac.xs),"text-anchor":"middle"},T.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function bX(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let a=t.title.length*U_+2*Ah,c=t.box.x,l=t.box.y,u=Mu,f=6,d=`M${h(c+f)} ${h(l)}H${h(c+a)}V${h(l+u-f)}A${f} ${f} 0 0 1 ${h(c+a-f)} ${h(l+u)}H${h(c)}V${h(l+f)}A${f} ${f} 0 0 1 ${h(c+f)} ${h(l)}Z`;o.push(Q("path",{d,fill:t.style.fg})),o.push(Le({x:h(c+Ah),y:h(l+M_),"font-family":i[t.style.font],"font-size":F_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let a=t.style.fg;if(t.style.bracket!=="none"){let l=t.box.y+t.box.height,u=t.style.bracket==="dashed"?"3 2":null,f=t.title?`M${h(t.box.x+4)} ${h(t.box.y-cc)} L${h(t.box.x)} ${h(t.box.y-cc)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`;o.push(Q("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...BE(t.style,i,ac.xs),"fill-opacity":.7},t.title))}o.push(GE(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(XE(a,e,r,n,i));return Q("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function AX(t,e,r,n,i){let o=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let c=t.box.y-12,l=t.box.y+t.box.height+12,u=t.box.x,f=t.box.x+t.box.width,d=n.parallel.bracketStroke;o.push(Q("path",{d:`M${h(u+4)} ${h(c)} H${h(u)} V${h(l)} H${h(u+4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),o.push(Q("path",{d:`M${h(f-4)} ${h(c)} H${h(f)} V${h(l)} H${h(f-4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&o.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...BE(t.style,i,ac.xs),"fill-opacity":.7},t.title)),o.push(GE(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(XE(s,e,r,n,i));return Q("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function XE(t,e,r,n,i){return t.kind==="item"?wX(t,e,r,n,i):t.kind==="group"?bX(t,e,r,n,i):AX(t,e,r,n,i)}var lP=2;function IX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function SX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-lP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":Q("rect",{x:h(i.startX),y:h(r),width:h(o),height:lP,fill:IX(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return Q("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function kX(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return Q("g",{"data-layer":"swimlane-bg","data-id":t.id??null},Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function pP(t,e,r,n,i){let o=n.swimlane.tabFill,s=n.swimlane.tabStroke,a=n.swimlane.tabText,c=n.swimlane.ownerText,l=n.swimlane.footnoteIndicator,u=[];if(t.title){let d=t.capacity?to(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?UE(p,10):0,y=Sc(t.box.x,t.title,t.owner,d,m),T=wh,_=t.box.y+10,v=_+bh;u.push(Q("rect",{x:h(y.tabX),y:h(_),width:h(y.tabW),height:h(T),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Le({x:h(y.titleX),y:h(v),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Le({x:h(y.ownerX),y:h(v),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(fP(t.capacity,void 0,y.badgeX,v,10,i[t.style.font],c)),p&&u.push(Le({x:h(y.footnoteRightX),y:h(_+14),"font-family":i.sans,"font-size":10,"font-weight":700,fill:l,"text-anchor":"end"},p))}for(let f of t.children)u.push(XE(f,e,r,n,i));return u.push(SX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function NX(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=Q("path",{d:`M${h(i)} ${h(o-n)} L${h(i+n)} ${h(o)} L${h(i)} ${h(o+n)} L${h(i-n)} ${h(o)} Z`,fill:s,stroke:a,"stroke-width":1.25}),l=e.anchorDiamond.label,u=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,f={x:h(u),y:h(o+4),"font-family":r.sans,"font-size":10,fill:l};t.labelSide==="left"&&(f["text-anchor"]="end");let d=t.title?Le(f,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function CX(t,e){let r=e.anchorDiamond.cutLine;return Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function PX(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=Q("path",{d:`M${h(n)} ${h(i-o)} L${h(n+o)} ${h(i)} L${h(n)} ${h(i+o)} L${h(n-o)} ${h(i)} Z`,fill:s,stroke:s,"stroke-width":1}),c=e.milestoneDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":r.sans,"font-size":10,"font-weight":600,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function OX(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":Ih,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(Q("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function uP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return Q("path",{d:LX(n,K_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function LX(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},y={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(y.x)} ${h(y.y)}`)}return r.join(" ")}function DX(t,e,r,n){if(t.entries.length===0)return"";let i=r.footnotePanel.fill,o=r.footnotePanel.border,s=r.footnotePanel.header,a=r.footnotePanel.title,c=r.footnotePanel.description,l=r.footnotePanel.number,u=[];u.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:i,stroke:o,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),u.push(Le({x:h(t.box.x+Zr),y:h(t.box.y+z_),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Uu+Zr,d=t.box.x+Zr,p=d+Zr;return t.entries.forEach((m,y)=>{let T=f+y*Bu;u.push(Le({x:h(d),y:h(T),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Le({x:h(p),y:h(T),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Le({x:h(p+Math.max(120,m.title.length*6)),y:h(T),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),Q("g",{"data-layer":"footnotes"},u.join(""))}function $X(t,e,r,n,i){let o=n.includeRegion.border,s=n.includeRegion.fill,a=n.includeRegion.tabFill,c=n.includeRegion.tabStroke,l=n.includeRegion.tabText,u=n.includeRegion.badgeFill,f=n.includeRegion.badgeStroke,d=n.includeRegion.badgeText,p=t.box.x+8,m=t.box.y,y=t.box.width-16,T=t.box.height,_=Q("rect",{x:h(p),y:h(m),width:h(y),height:h(T),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":Ih}),v=wh,E=kc(t.box.x,t.label,t.sourcePath),S=m-v/2,D=Q("rect",{x:h(E.tabX),y:h(S),width:h(E.tabWidth),height:v,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),N=Le({x:h(E.tabLabelX),y:h(S+bh),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),M=E.badgeX,B=E.badgeSize,G=m-B/2,oe=Q("rect",{x:h(M),y:h(G),width:B,height:B,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),L=Q("path",{d:`M${h(M+7)} ${h(G+4)} H${h(M+14)} V${h(G+11)} M${h(M+4)} ${h(G+7)} H${h(M+11)} V${h(G+14)} H${h(M+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),R=9,O=m+4,$=Q("rect",{x:h(E.sourceHaloX),y:h(O-R),width:h(E.sourceHaloWidth),height:R+6,fill:s}),b=Le({x:h(E.sourceTextX),y:h(O),"font-family":i.mono,"font-size":R,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>pP(I,e,r,n,i)).join("");return Q("g",{"data-layer":"include"},_+A+D+N+oe+L+$+b)}function MX(t,e){let r=t.palette.attribution.mark,n=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let i=t.header.attributionBox.x,o=t.header.attributionBox.y,s=Wi,a=Le({x:"0",y:s,"font-family":e.sans,"font-size":Ch,"font-weight":400,fill:r},Nh)+Le({x:Xu,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":700,fill:r},"now")+Q("rect",{x:W_,y:12,width:V_,height:Wi,fill:n})+Le({x:Ph,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":400,fill:r},"ine"),c=Q("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Gu)})`},a);return Q("a",{href:q_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},c))}async function FX(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=rP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return Q("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=UX(a.bytes);return Q("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function UX(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function HE(t,e={}){let n=new dm(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??Z_,s=[],a=i.arrowhead.neutral,c=i.arrowhead.light,l=i.arrowhead.dark,u=(p,m)=>`<marker id="${p}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${m}"/></marker>`,f=`<defs>${aP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(_X(t.timeline,i,o));for(let p of t.swimlanes)s.push(kX(p,i));s.push(TX(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(uP(p,i));for(let p of t.swimlanes)s.push(pP(p,e,n,i,o));for(let p of t.includes)s.push($X(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(uP(p,i));for(let p of t.anchors)s.push(CX(p,i));for(let p of t.milestones)s.push(OX(p,i));for(let p of t.anchors)s.push(NX(p,i,o));for(let p of t.milestones)s.push(PX(p,i,o));if(s.push(EX(t.nowline,i,o)),s.push(DX(t.footnotes,n,i,o)),s.push(xX(t.header,n,i,o)),s.push(MX(t,o)),t.header.logo&&e.assetResolver){let p=await FX(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));p&&s.push(p)}return`<svg${wc({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${s.join("")}</svg>`}var jE="/browser-source.nowline",pm,hP=0;function mP(){return pm||(pm=S_()),pm}function BX(){return ht.parse(`memory:///nowline-browser-${++hP}.nowline`)}async function hm(t,e={}){let r=e.filePath??jE,n=mP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,BX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of Em(o))a.origin==="lexer"?s.push(YC(a.error,r)):a.origin==="parser"?s.push(VC(a.error,r)):s.push(WC(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function zE(t,e={}){let r=e.filePath??jE,n=await hm(t,{filePath:r});if(n.diagnostics.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=mP(),o=e.readFile??QC,s=await y_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let T of s.diagnostics){if(T.severity==="error"&&eP(T.message)){e.onSkippedInclude?.({sourcePath:T.sourcePath,message:T.message});continue}a.push(KC(T))}if(a.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=ME(e.timezone)}catch(T){if(T instanceof ls)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:T.message,file:r,line:1,column:1}]};throw T}let l=FE({now:e.today,zone:c}),u=$E(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.showLinks!==!1,d=e.strict===!0,p=[],m=await HE(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!f,strict:d,warn:T=>p.push(T),fontFamilies:e.fontFamilies}),y=p.map(T=>ZC(T,r,d?"error":"warning"));return d&&y.length>0?{kind:"diagnostics",diagnostics:[...a,...y]}:{kind:"svg",svg:m,warnings:y}}function qE(){pm=void 0,hP=0}var gP="/embed.nowline",WE=!1;async function yP(t){let{ast:e,diagnostics:r}=await hm(t,{filePath:gP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function mm(t,e={}){let r={filePath:gP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{WE||(WE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await zE(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new nf(`Failed to render Nowline source: ${i.join("; ")}`,i)}var nf=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function xP(){WE=!1,qE()}var en=Uint8Array,xr=Uint16Array,JE=Int32Array,QE=new en([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),e0=new en([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),TP=new en([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),RP=function(t,e){for(var r=new xr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new JE(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},wP=RP(QE,2),GX=wP.b,YE=wP.r;GX[28]=258,YE[258]=28;var bP=RP(e0,0),fae=bP.b,_P=bP.r,KE=new xr(32768);for(Fe=0;Fe<32768;++Fe)ti=(Fe&43690)>>1|(Fe&21845)<<1,ti=(ti&52428)>>2|(ti&13107)<<2,ti=(ti&61680)>>4|(ti&3855)<<4,KE[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,af=(function(t,e,r){for(var n=t.length,i=0,o=new xr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new xr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new xr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[KE[f]>>c]=l}else for(a=new xr(n),i=0;i<n;++i)t[i]&&(a[i]=KE[s[t[i]-1]++]>>15-t[i]);return a}),us=new en(288);for(Fe=0;Fe<144;++Fe)us[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)us[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)us[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)us[Fe]=8;var Fe,gm=new en(32);for(Fe=0;Fe<32;++Fe)gm[Fe]=5;var Fe,XX=af(us,9,0);var HX=af(gm,5,0);var AP=function(t){return(t+7)/8|0},jX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new en(t.subarray(e,r))};var ri=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},of=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},VE=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:SP,l:0};if(i==1){var s=new en(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,N){return D.f-N.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new xr(d+1),m=ZE(r[u-1],p,0);if(m>e){var n=0,y=0,T=m-e,_=1<<T;for(o.sort(function(N,M){return p[M.s]-p[N.s]||N.f-M.f});n<i;++n){var v=o[n].s;if(p[v]>e)y+=_-(1<<m-p[v]),p[v]=e;else break}for(y>>=T;y>0;){var E=o[n].s;p[E]<e?y-=1<<e-p[E]++-1:++n}for(;n>=0&&y;--n){var S=o[n].s;p[S]==e&&(--p[S],++y)}m=e}return{t:new en(p),l:m}},ZE=function(t,e,r){return t.s==-1?Math.max(ZE(t.l,e,r+1),ZE(t.r,e,r+1)):e[t.s]=r},EP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new xr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},sf=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},IP=function(t,e,r){var n=r.length,i=AP(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},vP=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=VE(i,15),d=f.t,p=f.l,m=VE(o,15),y=m.t,T=m.l,_=EP(d),v=_.c,E=_.n,S=EP(y),D=S.c,N=S.n,M=new xr(19),B=0;B<v.length;++B)++M[v[B]&31];for(var B=0;B<D.length;++B)++M[D[B]&31];for(var G=VE(M,7),oe=G.t,L=G.l,R=19;R>4&&!oe[TP[R-1]];--R);var O=l+5<<3,$=sf(i,us)+sf(o,gm)+s,b=sf(i,d)+sf(o,y)+s+14+3*R+sf(M,oe)+2*M[16]+3*M[17]+7*M[18];if(c>=0&&O<=$&&O<=b)return IP(e,u,t.subarray(c,c+l));var A,I,F,j;if(ri(e,u,1+(b<$)),u+=2,b<$){A=af(d,p,0),I=d,F=af(y,T,0),j=y;var U=af(oe,L,0);ri(e,u,E-257),ri(e,u+5,N-1),ri(e,u+10,R-4),u+=14;for(var B=0;B<R;++B)ri(e,u+3*B,oe[TP[B]]);u+=3*R;for(var W=[v,D],Z=0;Z<2;++Z)for(var pe=W[Z],B=0;B<pe.length;++B){var V=pe[B]&31;ri(e,u,U[V]),u+=oe[V],V>15&&(ri(e,u,pe[B]>>5&127),u+=pe[B]>>12)}}else A=XX,I=us,F=HX,j=gm;for(var B=0;B<a;++B){var te=n[B];if(te>255){var V=te>>18&31;of(e,u,A[V+257]),u+=I[V+257],V>7&&(ri(e,u,te>>23&31),u+=QE[V]);var De=te&31;of(e,u,F[De]),u+=j[De],De>3&&(of(e,u,te>>5&8191),u+=e0[De])}else of(e,u,A[te]),u+=I[te]}return of(e,u,A[256]),u+I[256]},zX=new JE([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),SP=new en(0),qX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new en(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=zX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new xr(32768),T=o.h||new xr(m+1),_=Math.ceil(r/3),v=2*_,E=function(me){return(t[me]^t[me+1]<<_^t[me+2]<<v)&m},S=new JE(25e3),D=new xr(288),N=new xr(32),M=0,B=0,G=o.i||0,oe=0,L=o.w||0,R=0;G+2<s;++G){var O=E(G),$=G&32767,b=T[O];if(y[$]=b,T[O]=$,L<=G){var A=s-G;if((M>7e3||oe>24576)&&(A>423||!l)){u=vP(t,c,0,S,D,N,B,oe,R,G-R,u),oe=M=B=0,R=G;for(var I=0;I<286;++I)D[I]=0;for(var I=0;I<30;++I)N[I]=0}var F=2,j=0,U=p,W=$-b&32767;if(A>2&&O==E(G-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,G),V=Math.min(258,A);W<=pe&&--U&&$!=b;){if(t[G+F]==t[G+F-W]){for(var te=0;te<V&&t[G+te]==t[G+te-W];++te);if(te>F){if(F=te,j=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,I=0;I<De;++I){var Xe=G-W+I&32767,q=y[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,b=Xe)}}}$=b,b=y[$],W+=$-b&32767}if(j){S[oe++]=268435456|YE[F]<<18|_P[j];var re=YE[F]&31,C=_P[j]&31;B+=QE[re]+e0[C],++D[257+re],++N[C],L=G+F,++M}else S[oe++]=t[G],++D[t[G]]}}for(G=Math.max(G,L);G<s;++G)S[oe++]=t[G],++D[t[G]];u=vP(t,c,l,S,D,N,B,oe,R,G-R,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=T,o.p=y,o.i=G,o.w=L)}else{for(var G=o.w||0;G<s+l;G+=65535){var be=G+65535;be>=s&&(c[u/8|0]=l,be=s),u=IP(c,u+1,t.subarray(G,be))}o.i=s}return jX(a,0,n+AP(u)+i)};var kP=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},WX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new en(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return qX(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var NP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var VX=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=kP();i.p(e.dictionary),NP(t,2,i.d())}};function CP(t,e){e||(e={});var r=kP();r.p(t);var n=WX(t,e,e.dictionary?6:2,4);return VX(n,e),NP(n,n.length-4,r.d()),n}var YX=typeof TextDecoder<"u"&&new TextDecoder,KX=0;try{YX.decode(SP,{stream:!0}),KX=1}catch{}var ZX="https://free.nowline.io/open";function PP(t){let e=new TextEncoder().encode(t),r=CP(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function LP({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&OP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",PP(t));let n=r===!0?ZX:r,i=new URL(n);return e!==void 0&&OP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${PP(t)}`,i.toString()}function OP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var DP=0;async function $P(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++DP,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=JX(l);if(!u)continue;let f=QX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,timezone:t.timezone,idPrefix:d},m=u.parentElement,y=u.nextSibling,_=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(mm(f,p).then(v=>{if(eH(u,v),n++,m!==null){let E=LP({source:f,sourceUrl:_,share:s});if(E!==null){let S=e.createElement("a");S.className="nowline-share",S.href=E,S.target="_blank",S.rel="noopener noreferrer",S.textContent="Share on Nowline",m.insertBefore(S,y)}}},v=>{i++,console.error("nowline: render failed",v)}))}return await Promise.all(a),{rendered:n,failed:i}}function JX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function QX(t){return t.textContent??""}function eH(t,e){t.outerHTML=e}function MP(){DP=0}function ym(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function FP(t,e){return t&&t!=="auto"?L_(t)??e:e}var tH="0.6.0",rH="e2e4d9d",nH="pre code.language-nowline, code.language-nowline",UP={theme:"auto",startOnLoad:!0,selector:nH,systemTheme:ym(),share:!0},ot={...UP},t0=!1;function iH(t={}){ot={theme:t.theme??ot.theme,startOnLoad:t.startOnLoad??ot.startOnLoad,selector:t.selector??ot.selector,locale:t.locale??ot.locale,width:t.width??ot.width,today:t.today!==void 0?t.today:ot.today,timezone:t.timezone??ot.timezone,share:t.share??ot.share,sourceUrl:t.sourceUrl??ot.sourceUrl,systemTheme:ym()}}function BP(){return{theme:FP(ot.theme,ot.systemTheme),locale:ot.locale,width:ot.width,today:ot.today,timezone:ot.timezone}}async function oH(t,e={}){let r={...BP(),...e};return mm(t,r)}async function sH(t){return yP(t)}async function r0(t){let e={selector:t?.selector??ot.selector,theme:t?.theme??BP().theme,locale:t?.locale??ot.locale,width:t?.width??ot.width,today:t?.today!==void 0?t.today:ot.today,timezone:t?.timezone??ot.timezone,share:t?.share??ot.share,sourceUrl:t?.sourceUrl??ot.sourceUrl,document:t?.document};return $P(e)}var aH=r0;if(typeof document<"u"&&!t0){t0=!0;let t=()=>{ot.startOnLoad&&r0()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function cH(){ot={...UP,systemTheme:ym()},t0=!1,xP(),MP()}return df(lH);})();
2664
2664
  //# sourceMappingURL=nowline.min.js.map