fika-editor 3.0.2 → 3.0.4

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.
Files changed (159) hide show
  1. package/README.md +8 -0
  2. package/dist/embed/{947.js → 183.js} +25 -31
  3. package/dist/embed/_e2e-statika.json +10909 -0
  4. package/dist/embed/agentic-manifest.json +4 -4
  5. package/dist/embed/chunks/{9121.js → 1091.js} +1 -1
  6. package/dist/embed/chunks/112.js +64 -0
  7. package/dist/embed/chunks/1131.css +1 -1
  8. package/dist/embed/chunks/1131.js +1 -1
  9. package/dist/embed/chunks/{7854.js → 1483.js} +1 -1
  10. package/dist/embed/chunks/1488.js +93 -0
  11. package/dist/embed/chunks/1668.js +1 -1
  12. package/dist/embed/chunks/1742.js +90 -0
  13. package/dist/embed/chunks/190.js +1 -0
  14. package/dist/embed/chunks/2062.js +94 -0
  15. package/dist/embed/chunks/{1904.js → 2214.js} +1 -1
  16. package/dist/embed/chunks/2395.js +1 -0
  17. package/dist/embed/chunks/2595.js +1 -0
  18. package/dist/embed/chunks/{7594.js → 2619.js} +1 -1
  19. package/dist/embed/chunks/2638.js +1 -0
  20. package/dist/embed/chunks/2807.js +1 -1
  21. package/dist/embed/chunks/2853.js +1 -0
  22. package/dist/embed/chunks/2982.js +24 -0
  23. package/dist/embed/chunks/3009.js +1 -0
  24. package/dist/embed/chunks/3017.js +1 -0
  25. package/dist/embed/chunks/3084.js +27 -0
  26. package/dist/embed/chunks/3270.js +62 -0
  27. package/dist/embed/chunks/3275.js +226 -0
  28. package/dist/embed/chunks/3312.js +1 -0
  29. package/dist/embed/chunks/3671.js +1 -0
  30. package/dist/embed/chunks/4000.js +23 -0
  31. package/dist/embed/chunks/4392.js +41 -0
  32. package/dist/embed/chunks/4467.js +1 -1
  33. package/dist/embed/chunks/451.js +32 -0
  34. package/dist/embed/chunks/4630.js +148 -0
  35. package/dist/embed/chunks/4764.js +1 -0
  36. package/dist/embed/chunks/{4552.js → 4779.js} +1 -1
  37. package/dist/embed/chunks/4929.js +215 -0
  38. package/dist/embed/chunks/4936.js +12 -12
  39. package/dist/embed/chunks/4975.js +98 -97
  40. package/dist/embed/chunks/5216.js +1 -1
  41. package/dist/embed/chunks/5250.js +153 -1
  42. package/dist/embed/chunks/529.js +36 -0
  43. package/dist/embed/chunks/5428.js +1 -0
  44. package/dist/embed/chunks/{4619.js → 549.js} +2 -2
  45. package/dist/embed/chunks/5493.js +1 -0
  46. package/dist/embed/chunks/5681.js +1 -0
  47. package/dist/embed/chunks/5863.js +1 -0
  48. package/dist/embed/chunks/612.js +1 -0
  49. package/dist/embed/chunks/6520.js +1 -0
  50. package/dist/embed/chunks/6762.js +1 -0
  51. package/dist/embed/chunks/6771.js +1 -0
  52. package/dist/embed/chunks/7029.js +1 -0
  53. package/dist/embed/chunks/7057.js +1 -0
  54. package/dist/embed/chunks/7091.js +1 -0
  55. package/dist/embed/chunks/718.js +1 -0
  56. package/dist/embed/chunks/7276.js +79 -0
  57. package/dist/embed/chunks/7305.js +115 -0
  58. package/dist/embed/chunks/7463.js +1 -1
  59. package/dist/embed/chunks/7471.js +1 -0
  60. package/dist/embed/chunks/7798.js +1 -0
  61. package/dist/embed/chunks/788.js +29 -19
  62. package/dist/embed/chunks/7946.js +1 -0
  63. package/dist/embed/chunks/{3729.js → 8407.js} +16 -4
  64. package/dist/embed/chunks/8628.js +1 -0
  65. package/dist/embed/chunks/8665.js +1 -0
  66. package/dist/embed/chunks/9009.js +1 -0
  67. package/dist/embed/chunks/9010.js +1 -0
  68. package/dist/embed/chunks/9256.js +8 -0
  69. package/dist/embed/chunks/9464.js +77 -0
  70. package/dist/embed/chunks/9678.js +1 -0
  71. package/dist/embed/chunks/{273.js → 9686.js} +1 -1
  72. package/dist/embed/chunks/9918.js +138 -0
  73. package/dist/embed/fika-embed.css +1 -1
  74. package/dist/embed/fika-embed.js +9 -3
  75. package/dist/types/components/Draggable.d.ts +1 -1
  76. package/dist/types/components/Slider.d.ts +1 -0
  77. package/dist/types/configs/animation.d.ts +1 -1
  78. package/dist/types/configs/transitions.d.ts +28 -0
  79. package/dist/types/embed/agentic/types.d.ts +7 -0
  80. package/dist/types/embed/types.d.ts +8 -0
  81. package/dist/types/i18n/i18n-types.d.ts +202 -34
  82. package/dist/types/paint/rasterResources.d.ts +7 -0
  83. package/dist/types/paint/scheduler.d.ts +17 -0
  84. package/dist/types/paint/slidePainter.d.ts +17 -0
  85. package/dist/types/paint/textPainter.d.ts +31 -0
  86. package/dist/types/store/importConfirm.d.ts +6 -1
  87. package/dist/types/store/index.d.ts +2 -2
  88. package/dist/types/store/slides.d.ts +14 -5
  89. package/dist/types/types/slides.d.ts +3 -2
  90. package/dist/types/utils/elementOutline.d.ts +33 -3
  91. package/dist/types/utils/exportFonts.d.ts +7 -3
  92. package/dist/types/utils/importApply.d.ts +10 -0
  93. package/dist/types/utils/importTransition.d.ts +19 -0
  94. package/dist/types/utils/layerStack.d.ts +24 -0
  95. package/dist/types/utils/liveElementOffset.d.ts +6 -5
  96. package/dist/types/utils/mediaIntern.d.ts +9 -0
  97. package/dist/types/utils/textFit.d.ts +14 -6
  98. package/dist/types/views/Editor/Canvas/LayerStackPanel.d.ts +14 -0
  99. package/dist/types/views/Editor/Toolbar/common/ElementOutline.d.ts +2 -0
  100. package/dist/types/views/components/ThumbnailSlide/CanvasSlideThumb.d.ts +11 -0
  101. package/dist/types/views/components/ThumbnailSlide/index.d.ts +2 -7
  102. package/package.json +21 -17
  103. package/dist/embed/chunks/1169.js +0 -1
  104. package/dist/embed/chunks/1505.js +0 -8
  105. package/dist/embed/chunks/1605.js +0 -1
  106. package/dist/embed/chunks/1804.js +0 -8
  107. package/dist/embed/chunks/1916.js +0 -1
  108. package/dist/embed/chunks/1932.js +0 -1
  109. package/dist/embed/chunks/2143.js +0 -62
  110. package/dist/embed/chunks/2246.js +0 -1
  111. package/dist/embed/chunks/2289.js +0 -80
  112. package/dist/embed/chunks/2632.js +0 -1
  113. package/dist/embed/chunks/2796.js +0 -34
  114. package/dist/embed/chunks/3088.js +0 -1
  115. package/dist/embed/chunks/3443.js +0 -1
  116. package/dist/embed/chunks/3581.js +0 -77
  117. package/dist/embed/chunks/397.js +0 -1
  118. package/dist/embed/chunks/4335.js +0 -1
  119. package/dist/embed/chunks/435.js +0 -1
  120. package/dist/embed/chunks/4354.js +0 -27
  121. package/dist/embed/chunks/4359.js +0 -1
  122. package/dist/embed/chunks/4515.js +0 -1
  123. package/dist/embed/chunks/4607.js +0 -1
  124. package/dist/embed/chunks/4625.js +0 -153
  125. package/dist/embed/chunks/4794.js +0 -1
  126. package/dist/embed/chunks/4891.js +0 -226
  127. package/dist/embed/chunks/5026.js +0 -1
  128. package/dist/embed/chunks/5480.js +0 -1
  129. package/dist/embed/chunks/5659.js +0 -64
  130. package/dist/embed/chunks/5792.js +0 -141
  131. package/dist/embed/chunks/5889.js +0 -1
  132. package/dist/embed/chunks/5901.js +0 -1
  133. package/dist/embed/chunks/6014.js +0 -1
  134. package/dist/embed/chunks/627.js +0 -115
  135. package/dist/embed/chunks/6522.js +0 -1
  136. package/dist/embed/chunks/6567.js +0 -1
  137. package/dist/embed/chunks/6778.js +0 -1
  138. package/dist/embed/chunks/6999.js +0 -93
  139. package/dist/embed/chunks/7048.js +0 -1
  140. package/dist/embed/chunks/7101.js +0 -1
  141. package/dist/embed/chunks/717.js +0 -148
  142. package/dist/embed/chunks/7175.js +0 -90
  143. package/dist/embed/chunks/7311.js +0 -23
  144. package/dist/embed/chunks/7376.js +0 -1
  145. package/dist/embed/chunks/7588.js +0 -41
  146. package/dist/embed/chunks/7916.js +0 -79
  147. package/dist/embed/chunks/809.js +0 -1
  148. package/dist/embed/chunks/810.js +0 -1
  149. package/dist/embed/chunks/8212.js +0 -36
  150. package/dist/embed/chunks/8239.js +0 -1
  151. package/dist/embed/chunks/8620.js +0 -1
  152. package/dist/embed/chunks/8716.js +0 -215
  153. package/dist/embed/chunks/8941.js +0 -1
  154. package/dist/embed/chunks/9465.js +0 -5
  155. package/dist/embed/chunks/9761.js +0 -1
  156. package/dist/embed/chunks/9976.js +0 -1
  157. package/dist/types/views/components/ThumbnailSlide/LiveSlideThumb.d.ts +0 -21
  158. package/dist/types/views/components/ThumbnailSlide/thumbSnapshot.d.ts +0 -54
  159. /package/dist/embed/{947.css → 183.css} +0 -0
@@ -1,4 +1,4 @@
1
- export const __rspack_esm_id=4936;export const __rspack_esm_ids=[4936];export const __webpack_modules__={88937(e,t,r){var n=r(51400),i=class extends n.dg{static{(0,n.K2)(this,"WardleyValueConverter")}runCustomConverter(e,t,r){return"LINK_LABEL"===e.name.toUpperCase()?t.substring(1).trim():void 0}},a={parser:{ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Xr,a);return t.ServiceRegistry.register(r),{shared:t,Wardley:r}}(0,n.K2)(s,"createWardleyServices"),r.d(t,{J:()=>s})},62551(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"RailroadAbnfTokenBuilder")}constructor(){super(["railroad-abnf-beta"])}},a=class extends n.dg{static{(0,n.K2)(this,"RailroadAbnfValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return e.slice(1,-1)}return n}runCustomConverter(e,t,r){if("ABNF_STRING"===e.name)return t.slice(1,-1)}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.oI,s);return t.ServiceRegistry.register(r),{shared:t,RailroadAbnf:r}}(0,n.K2)(o,"createRailroadAbnfServices"),r.d(t,{s:()=>o})},76737(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},a=new Set(["cmd","command"]),s=new Set(["evt","event"]),o=new Set(["rmo","readmodel"]),l=new Set(["pcr","processor"]),u=new Set(["ui"]);function c(e){let t=e.validation.EventModelingValidator,r=e.validation.ValidationRegistry;if(r){let e={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};r.register(e,t)}}(0,n.K2)(c,"registerValidationChecks");var p=class{static{(0,n.K2)(this,"EventModelingValidator")}checkSourceFrameTypes(e,t){0!==e.sourceFrames.length&&(a.has(e.modelEntityType)?this.validateSources(e,new Set([...u,...l]),"command","ui or processor",t):s.has(e.modelEntityType)?this.validateSources(e,a,"event","command",t):o.has(e.modelEntityType)?this.validateSources(e,s,"read model","event",t):l.has(e.modelEntityType)?this.validateSources(e,o,"processor","read model",t):u.has(e.modelEntityType)&&this.validateSources(e,o,"ui","read model",t))}validateSources(e,t,r,n,i){for(let a of e.sourceFrames){let s=a.ref;void 0===s||t.has(s.modelEntityType)||i("error",`A ${r} can only receive input from a ${n}, not from '${s.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},f={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")},validation:{EventModelingValidator:(0,n.K2)(()=>new p,"EventModelingValidator")}};function d(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.x0,f);return t.ServiceRegistry.register(r),c(r),{shared:t,EventModel:r}}(0,n.K2)(d,"createEventModelingServices"),r.d(t,{g:()=>d})},40805(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"RailroadTokenBuilder")}constructor(){super(["railroad-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){if("RR_STRING"===e.name)return a(t)}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bi,o);return t.ServiceRegistry.register(r),{shared:t,Railroad:r}}(0,n.K2)(l,"createRailroadServices"),r.d(t,{l:()=>l})},6491(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.FZ,a);return t.ServiceRegistry.register(r),{shared:t,Info:r}}(0,n.K2)(s,"createInfoServices"),r.d(t,{v:()=>s})},92275(e,t,r){var n=r(51400),i=class extends n.dg{static{(0,n.K2)(this,"TreeViewValueConverter")}runCustomConverter(e,t,r){if("INDENTATION"===e.name)return t?.length||0;if("QUOTED_NAME"===e.name)return t.substring(1,t.length-1);if("BARE_NAME"===e.name)return t.replace(/[\t ]+$/,"");if("CLASS_ANNOTATION"===e.name)return t.trim().substring(3).trim();if("ICON_ANNOTATION"===e.name){let e=t.trim();return e.substring(5,e.length-1)}if("DESC_ANNOTATION"===e.name)return t.trim().substring(2).trim()}},a=class extends n.mR{static{(0,n.K2)(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},s={parser:{TokenBuilder:(0,n.K2)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.CZ,s);return t.ServiceRegistry.register(r),{shared:t,TreeView:r}}(0,n.K2)(o,"createTreeViewServices"),r.d(t,{I:()=>o})},71077(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.d$,a);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}(0,n.K2)(s,"createGitGraphServices"),r.d(t,{b:()=>s})},39773(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.p5,a);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}(0,n.K2)(s,"createPacketServices"),r.d(t,{$:()=>s})},51392(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"RailroadPegTokenBuilder")}constructor(){super(["railroad-peg-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadPegValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){if("PEG_STRING"===e.name)return a(t)}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.dj,o);return t.ServiceRegistry.register(r),{shared:t,RailroadPeg:r}}(0,n.K2)(l,"createRailroadPegServices"),r.d(t,{P:()=>l})},51400(e,t,r){let n,i;var a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C,S,k,x,N,w,I,_,P,O,D,L,M,j,F,G,z,K,q,U,B,W,V,H,Y,Q,Z,X,J,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ef,ed,em,eh,ey,eg,eT,ev,e$,eR,eE,eb,eA,eC,eS,ek,ex,eN,ew,eI,e_,eP,eO,eD,eL,eM,ej,eF,eG,ez,eK,eq,eU,eB,eW,eV,eH,eY,eQ,eZ,eX,eJ,e0,e1,e2,e3,e9,e4,e5,e6,e8,e7,te,tt,tr,tn,ti,ta,ts,to,tl,tu,tc,tp,tf,td,tm,th,ty,tg,tT,tv,t$,tR,tE,tb,tA,tC,tS,tk,tx,tN=r(65606),tw=Object.create,tI=Object.defineProperty,t_=Object.getOwnPropertyDescriptor,tP=Object.getOwnPropertyNames,tO=Object.getPrototypeOf,tD=Object.prototype.hasOwnProperty,tL=(e,t)=>tI(e,"name",{value:t,configurable:!0}),tM=(e,t)=>function(){return t||(0,e[tP(e)[0]])((t={exports:{}}).exports,t),t.exports},tj=(e,t)=>{for(var r in t)tI(e,r,{get:t[r],enumerable:!0})},tF=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of tP(t))tD.call(e,i)||i===r||tI(e,i,{get:()=>t[i],enumerable:!(n=t_(t,i))||n.enumerable});return e},tG=(e,t,r)=>(tF(e,t,"default"),r&&tF(r,t,"default")),tz=(e,t,r)=>(r=null!=e?tw(tO(e)):{},tF(!t&&e&&e.__esModule?r:tI(r,"default",{value:e,enumerable:!0}),e)),tK=e=>tF(tI({},"__esModule",{value:!0}),e),tq={};tj(tq,{AnnotatedTextEdit:()=>j,ChangeAnnotation:()=>L,ChangeAnnotationIdentifier:()=>M,CodeAction:()=>eR,CodeActionContext:()=>e$,CodeActionKind:()=>eT,CodeActionTriggerKind:()=>ev,CodeDescription:()=>_,CodeLens:()=>eE,Color:()=>A,ColorInformation:()=>C,ColorPresentation:()=>S,Command:()=>O,CompletionItem:()=>ea,CompletionItemKind:()=>J,CompletionItemLabelDetails:()=>ei,CompletionItemTag:()=>et,CompletionList:()=>es,CreateFile:()=>G,DeleteFile:()=>K,Diagnostic:()=>P,DiagnosticRelatedInformation:()=>N,DiagnosticSeverity:()=>w,DiagnosticTag:()=>I,DocumentHighlight:()=>ef,DocumentHighlightKind:()=>ep,DocumentLink:()=>eA,DocumentSymbol:()=>eg,DocumentUri:()=>y,EOL:()=>eq,FoldingRange:()=>x,FoldingRangeKind:()=>k,FormattingOptions:()=>eb,Hover:()=>el,InlayHint:()=>eD,InlayHintKind:()=>eP,InlayHintLabelPart:()=>eO,InlineCompletionContext:()=>ez,InlineCompletionItem:()=>eM,InlineCompletionList:()=>ej,InlineCompletionTriggerKind:()=>eF,InlineValueContext:()=>e_,InlineValueEvaluatableExpression:()=>eI,InlineValueText:()=>eN,InlineValueVariableLookup:()=>ew,InsertReplaceEdit:()=>er,InsertTextFormat:()=>ee,InsertTextMode:()=>en,Location:()=>E,LocationLink:()=>b,MarkedString:()=>eo,MarkupContent:()=>X,MarkupKind:()=>Z,OptionalVersionedTextDocumentIdentifier:()=>Y,ParameterInformation:()=>eu,Position:()=>$,Range:()=>R,RenameFile:()=>z,SelectedCompletionInfo:()=>eG,SelectionRange:()=>eC,SemanticTokenModifiers:()=>ek,SemanticTokenTypes:()=>eS,SemanticTokens:()=>ex,SignatureInformation:()=>ec,StringValue:()=>eL,SymbolInformation:()=>eh,SymbolKind:()=>ed,SymbolTag:()=>em,TextDocument:()=>eU,TextDocumentEdit:()=>F,TextDocumentIdentifier:()=>V,TextDocumentItem:()=>Q,TextEdit:()=>D,URI:()=>g,VersionedTextDocumentIdentifier:()=>H,WorkspaceChange:()=>W,WorkspaceEdit:()=>q,WorkspaceFolder:()=>eK,WorkspaceSymbol:()=>ey,integer:()=>T,uinteger:()=>v});var tU=(n={"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";var e,t,r,n,i,a,s,o,l,u,c,p,f,d=y||(y={});function m(e){return"string"==typeof e}tL(m,"is"),d.is=m;var h=g||(g={});function eV(e){return"string"==typeof e}tL(eV,"is"),h.is=eV;var eH=T||(T={});function eY(e){return"number"==typeof e&&eH.MIN_VALUE<=e&&e<=eH.MAX_VALUE}eH.MIN_VALUE=-0x80000000,eH.MAX_VALUE=0x7fffffff,tL(eY,"is"),eH.is=eY;var eQ=v||(v={});function eZ(e){return"number"==typeof e&&eQ.MIN_VALUE<=e&&e<=eQ.MAX_VALUE}eQ.MIN_VALUE=0,eQ.MAX_VALUE=0x7fffffff,tL(eZ,"is"),eQ.is=eZ;var eX=$||($={});function eJ(e,t){return e===Number.MAX_VALUE&&(e=v.MAX_VALUE),t===Number.MAX_VALUE&&(t=v.MAX_VALUE),{line:e,character:t}}function e0(e){return eW.objectLiteral(e)&&eW.uinteger(e.line)&&eW.uinteger(e.character)}tL(eJ,"create"),eX.create=eJ,tL(e0,"is"),eX.is=e0;var e1=R||(R={});function e2(e,t,r,n){if(eW.uinteger(e)&&eW.uinteger(t)&&eW.uinteger(r)&&eW.uinteger(n))return{start:$.create(e,t),end:$.create(r,n)};if($.is(e)&&$.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)}function e3(e){return eW.objectLiteral(e)&&$.is(e.start)&&$.is(e.end)}tL(e2,"create"),e1.create=e2,tL(e3,"is"),e1.is=e3;var e9=E||(E={});function e4(e,t){return{uri:e,range:t}}function e5(e){return eW.objectLiteral(e)&&R.is(e.range)&&(eW.string(e.uri)||eW.undefined(e.uri))}tL(e4,"create"),e9.create=e4,tL(e5,"is"),e9.is=e5;var e6=b||(b={});function e8(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}}function e7(e){return eW.objectLiteral(e)&&R.is(e.targetRange)&&eW.string(e.targetUri)&&R.is(e.targetSelectionRange)&&(R.is(e.originSelectionRange)||eW.undefined(e.originSelectionRange))}tL(e8,"create"),e6.create=e8,tL(e7,"is"),e6.is=e7;var te=A||(A={});function tt(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}}function tr(e){return eW.objectLiteral(e)&&eW.numberRange(e.red,0,1)&&eW.numberRange(e.green,0,1)&&eW.numberRange(e.blue,0,1)&&eW.numberRange(e.alpha,0,1)}tL(tt,"create"),te.create=tt,tL(tr,"is"),te.is=tr;var tn=C||(C={});function ti(e,t){return{range:e,color:t}}function ta(e){return eW.objectLiteral(e)&&R.is(e.range)&&A.is(e.color)}tL(ti,"create"),tn.create=ti,tL(ta,"is"),tn.is=ta;var ts=S||(S={});function to(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}}function tl(e){return eW.objectLiteral(e)&&eW.string(e.label)&&(eW.undefined(e.textEdit)||D.is(e))&&(eW.undefined(e.additionalTextEdits)||eW.typedArray(e.additionalTextEdits,D.is))}tL(to,"create"),ts.create=to,tL(tl,"is"),ts.is=tl,(e=k||(k={})).Comment="comment",e.Imports="imports",e.Region="region";var tu=x||(x={});function tc(e,t,r,n,i,a){let s={startLine:e,endLine:t};return eW.defined(r)&&(s.startCharacter=r),eW.defined(n)&&(s.endCharacter=n),eW.defined(i)&&(s.kind=i),eW.defined(a)&&(s.collapsedText=a),s}function tp(e){return eW.objectLiteral(e)&&eW.uinteger(e.startLine)&&eW.uinteger(e.startLine)&&(eW.undefined(e.startCharacter)||eW.uinteger(e.startCharacter))&&(eW.undefined(e.endCharacter)||eW.uinteger(e.endCharacter))&&(eW.undefined(e.kind)||eW.string(e.kind))}tL(tc,"create"),tu.create=tc,tL(tp,"is"),tu.is=tp;var tf=N||(N={});function td(e,t){return{location:e,message:t}}function tm(e){return eW.defined(e)&&E.is(e.location)&&eW.string(e.message)}tL(td,"create"),tf.create=td,tL(tm,"is"),tf.is=tm,(t=w||(w={})).Error=1,t.Warning=2,t.Information=3,t.Hint=4,(r=I||(I={})).Unnecessary=1,r.Deprecated=2;var th=_||(_={});function ty(e){return eW.objectLiteral(e)&&eW.string(e.href)}tL(ty,"is"),th.is=ty;var tg=P||(P={});function tT(e,t,r,n,i,a){let s={range:e,message:t};return eW.defined(r)&&(s.severity=r),eW.defined(n)&&(s.code=n),eW.defined(i)&&(s.source=i),eW.defined(a)&&(s.relatedInformation=a),s}function tv(e){var t;return eW.defined(e)&&R.is(e.range)&&eW.string(e.message)&&(eW.number(e.severity)||eW.undefined(e.severity))&&(eW.integer(e.code)||eW.string(e.code)||eW.undefined(e.code))&&(eW.undefined(e.codeDescription)||eW.string(null==(t=e.codeDescription)?void 0:t.href))&&(eW.string(e.source)||eW.undefined(e.source))&&(eW.undefined(e.relatedInformation)||eW.typedArray(e.relatedInformation,N.is))}tL(tT,"create"),tg.create=tT,tL(tv,"is"),tg.is=tv;var t$=O||(O={});function tR(e,t,...r){let n={title:e,command:t};return eW.defined(r)&&r.length>0&&(n.arguments=r),n}function tE(e){return eW.defined(e)&&eW.string(e.title)&&eW.string(e.command)}tL(tR,"create"),t$.create=tR,tL(tE,"is"),t$.is=tE,function(e){function t(e,t){return{range:e,newText:t}}function r(e,t){return{range:{start:e,end:e},newText:t}}function n(e){return{range:e,newText:""}}function i(e){return eW.objectLiteral(e)&&eW.string(e.newText)&&R.is(e.range)}tL(t,"replace"),e.replace=t,tL(r,"insert"),e.insert=r,tL(n,"del"),e.del=n,tL(i,"is"),e.is=i}(D||(D={}));var tb=L||(L={});function tA(e,t,r){let n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n}function tC(e){return eW.objectLiteral(e)&&eW.string(e.label)&&(eW.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(eW.string(e.description)||void 0===e.description)}tL(tA,"create"),tb.create=tA,tL(tC,"is"),tb.is=tC;var tS=M||(M={});function tk(e){return eW.string(e)}tL(tk,"is"),tS.is=tk,function(e){function t(e,t,r){return{range:e,newText:t,annotationId:r}}function r(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}}function n(e,t){return{range:e,newText:"",annotationId:t}}function i(e){return D.is(e)&&(L.is(e.annotationId)||M.is(e.annotationId))}tL(t,"replace"),e.replace=t,tL(r,"insert"),e.insert=r,tL(n,"del"),e.del=n,tL(i,"is"),e.is=i}(j||(j={}));var tx=F||(F={});function tN(e,t){return{textDocument:e,edits:t}}function tw(e){return eW.defined(e)&&Y.is(e.textDocument)&&Array.isArray(e.edits)}tL(tN,"create"),tx.create=tN,tL(tw,"is"),tx.is=tw;var tI=G||(G={});function t_(e,t,r){let n={kind:"create",uri:e};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tP(e){return e&&"create"===e.kind&&eW.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||eW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tL(t_,"create"),tI.create=t_,tL(tP,"is"),tI.is=tP;var tO=z||(z={});function tD(e,t,r,n){let i={kind:"rename",oldUri:e,newUri:t};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i}function tM(e){return e&&"rename"===e.kind&&eW.string(e.oldUri)&&eW.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||eW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tL(tD,"create"),tO.create=tD,tL(tM,"is"),tO.is=tM;var tj=K||(K={});function tF(e,t,r){let n={kind:"delete",uri:e};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tG(e){return e&&"delete"===e.kind&&eW.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||eW.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||eW.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tL(tF,"create"),tj.create=tF,tL(tG,"is"),tj.is=tG;var tz=q||(q={});function tK(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>eW.string(e.kind)?G.is(e)||z.is(e)||K.is(e):F.is(e)))}tL(tK,"is"),tz.is=tK,U=class{static{tL(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,i;if(void 0===r?n=D.insert(e,t):M.is(r)?(i=r,n=j.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.insert(e,t,i)),this.edits.push(n),void 0!==i)return i}replace(e,t,r){let n,i;if(void 0===r?n=D.replace(e,t):M.is(r)?(i=r,n=j.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.replace(e,t,i)),this.edits.push(n),void 0!==i)return i}delete(e,t){let r,n;if(void 0===t?r=D.del(e):M.is(t)?(n=t,r=j.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=j.del(e,n)),this.edits.push(r),void 0!==n)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(void 0===e)throw Error("Text edit change is not configured to manage change annotations.")}},B=class{static{tL(this,"ChangeAnnotations")}constructor(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let r;if(M.is(e)?r=e:(r=this.nextId(),t=e),void 0!==this._annotations[r])throw Error(`Id ${r} is already in use.`);if(void 0===t)throw Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},W=class{static{tL(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new B(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{if(F.is(e)){let t=new U(e.edits,this._changeAnnotations);this._textEditChanges[e.textDocument.uri]=t}})):e.changes&&Object.keys(e.changes).forEach(t=>{let r=new U(e.changes[t]);this._textEditChanges[t]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Y.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");let t={uri:e.uri,version:e.version},r=this._textEditChanges[t.uri];if(!r){let e=[];this._workspaceEdit.documentChanges.push({textDocument:t,edits:e}),r=new U(e,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new U(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new B,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=G.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=G.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}renameFile(e,t,r,n){let i,a,s;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(r)||M.is(r)?i=r:n=r,void 0===i?a=z.create(e,t,n):(s=M.is(i)?i:this._changeAnnotations.manage(i),a=z.create(e,t,n,s)),this._workspaceEdit.documentChanges.push(a),void 0!==s)return s}deleteFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=K.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=K.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}};var tq=V||(V={});function tU(e){return{uri:e}}function tB(e){return eW.defined(e)&&eW.string(e.uri)}tL(tU,"create"),tq.create=tU,tL(tB,"is"),tq.is=tB;var tW=H||(H={});function tV(e,t){return{uri:e,version:t}}function tH(e){return eW.defined(e)&&eW.string(e.uri)&&eW.integer(e.version)}tL(tV,"create"),tW.create=tV,tL(tH,"is"),tW.is=tH;var tY=Y||(Y={});function tQ(e,t){return{uri:e,version:t}}function tZ(e){return eW.defined(e)&&eW.string(e.uri)&&(null===e.version||eW.integer(e.version))}tL(tQ,"create"),tY.create=tQ,tL(tZ,"is"),tY.is=tZ;var tX=Q||(Q={});function tJ(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}}function t0(e){return eW.defined(e)&&eW.string(e.uri)&&eW.string(e.languageId)&&eW.integer(e.version)&&eW.string(e.text)}tL(tJ,"create"),tX.create=tJ,tL(t0,"is"),tX.is=t0;var t1=Z||(Z={});function t2(e){return e===t1.PlainText||e===t1.Markdown}t1.PlainText="plaintext",t1.Markdown="markdown",tL(t2,"is"),t1.is=t2;var t3=X||(X={});function t9(e){return eW.objectLiteral(e)&&Z.is(e.kind)&&eW.string(e.value)}tL(t9,"is"),t3.is=t9,(n=J||(J={})).Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25,(i=ee||(ee={})).PlainText=1,i.Snippet=2,(et||(et={})).Deprecated=1;var t4=er||(er={});function t5(e,t,r){return{newText:e,insert:t,replace:r}}function t6(e){return e&&eW.string(e.newText)&&R.is(e.insert)&&R.is(e.replace)}tL(t5,"create"),t4.create=t5,tL(t6,"is"),t4.is=t6,(a=en||(en={})).asIs=1,a.adjustIndentation=2;var t8=ei||(ei={});function t7(e){return e&&(eW.string(e.detail)||void 0===e.detail)&&(eW.string(e.description)||void 0===e.description)}tL(t7,"is"),t8.is=t7;var re=ea||(ea={});function rt(e){return{label:e}}tL(rt,"create"),re.create=rt;var rr=es||(es={});function rn(e,t){return{items:e||[],isIncomplete:!!t}}tL(rn,"create"),rr.create=rn;var ri=eo||(eo={});function ra(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function rs(e){return eW.string(e)||eW.objectLiteral(e)&&eW.string(e.language)&&eW.string(e.value)}tL(ra,"fromPlainText"),ri.fromPlainText=ra,tL(rs,"is"),ri.is=rs;var ro=el||(el={});function rl(e){return!!e&&eW.objectLiteral(e)&&(X.is(e.contents)||eo.is(e.contents)||eW.typedArray(e.contents,eo.is))&&(void 0===e.range||R.is(e.range))}tL(rl,"is"),ro.is=rl;var ru=eu||(eu={});function rc(e,t){return t?{label:e,documentation:t}:{label:e}}tL(rc,"create"),ru.create=rc;var rp=ec||(ec={});function rf(e,t,...r){let n={label:e};return eW.defined(t)&&(n.documentation=t),eW.defined(r)?n.parameters=r:n.parameters=[],n}tL(rf,"create"),rp.create=rf,(s=ep||(ep={})).Text=1,s.Read=2,s.Write=3;var rd=ef||(ef={});function rm(e,t){let r={range:e};return eW.number(t)&&(r.kind=t),r}tL(rm,"create"),rd.create=rm,(o=ed||(ed={})).File=1,o.Module=2,o.Namespace=3,o.Package=4,o.Class=5,o.Method=6,o.Property=7,o.Field=8,o.Constructor=9,o.Enum=10,o.Interface=11,o.Function=12,o.Variable=13,o.Constant=14,o.String=15,o.Number=16,o.Boolean=17,o.Array=18,o.Object=19,o.Key=20,o.Null=21,o.EnumMember=22,o.Struct=23,o.Event=24,o.Operator=25,o.TypeParameter=26,(em||(em={})).Deprecated=1;var rh=eh||(eh={});function ry(e,t,r,n,i){let a={name:e,kind:t,location:{uri:n,range:r}};return i&&(a.containerName=i),a}tL(ry,"create"),rh.create=ry;var rg=ey||(ey={});function rT(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}}tL(rT,"create"),rg.create=rT;var rv=eg||(eg={});function r$(e,t,r,n,i,a){let s={name:e,detail:t,kind:r,range:n,selectionRange:i};return void 0!==a&&(s.children=a),s}function rR(e){return e&&eW.string(e.name)&&eW.number(e.kind)&&R.is(e.range)&&R.is(e.selectionRange)&&(void 0===e.detail||eW.string(e.detail))&&(void 0===e.deprecated||eW.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}tL(r$,"create"),rv.create=r$,tL(rR,"is"),rv.is=rR,(l=eT||(eT={})).Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll",(u=ev||(ev={})).Invoked=1,u.Automatic=2;var rE=e$||(e$={});function rb(e,t,r){let n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n}function rA(e){return eW.defined(e)&&eW.typedArray(e.diagnostics,P.is)&&(void 0===e.only||eW.typedArray(e.only,eW.string))&&(void 0===e.triggerKind||e.triggerKind===ev.Invoked||e.triggerKind===ev.Automatic)}tL(rb,"create"),rE.create=rb,tL(rA,"is"),rE.is=rA;var rC=eR||(eR={});function rS(e,t,r){let n={title:e},i=!0;return"string"==typeof t?(i=!1,n.kind=t):O.is(t)?n.command=t:n.edit=t,i&&void 0!==r&&(n.kind=r),n}function rk(e){return e&&eW.string(e.title)&&(void 0===e.diagnostics||eW.typedArray(e.diagnostics,P.is))&&(void 0===e.kind||eW.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||O.is(e.command))&&(void 0===e.isPreferred||eW.boolean(e.isPreferred))&&(void 0===e.edit||q.is(e.edit))}tL(rS,"create"),rC.create=rS,tL(rk,"is"),rC.is=rk;var rx=eE||(eE={});function rN(e,t){let r={range:e};return eW.defined(t)&&(r.data=t),r}function rw(e){return eW.defined(e)&&R.is(e.range)&&(eW.undefined(e.command)||O.is(e.command))}tL(rN,"create"),rx.create=rN,tL(rw,"is"),rx.is=rw;var rI=eb||(eb={});function r_(e,t){return{tabSize:e,insertSpaces:t}}function rP(e){return eW.defined(e)&&eW.uinteger(e.tabSize)&&eW.boolean(e.insertSpaces)}tL(r_,"create"),rI.create=r_,tL(rP,"is"),rI.is=rP;var rO=eA||(eA={});function rD(e,t,r){return{range:e,target:t,data:r}}function rL(e){return eW.defined(e)&&R.is(e.range)&&(eW.undefined(e.target)||eW.string(e.target))}tL(rD,"create"),rO.create=rD,tL(rL,"is"),rO.is=rL;var rM=eC||(eC={});function rj(e,t){return{range:e,parent:t}}function rF(e){return eW.objectLiteral(e)&&R.is(e.range)&&(void 0===e.parent||rM.is(e.parent))}tL(rj,"create"),rM.create=rj,tL(rF,"is"),rM.is=rF,(c=eS||(eS={})).namespace="namespace",c.type="type",c.class="class",c.enum="enum",c.interface="interface",c.struct="struct",c.typeParameter="typeParameter",c.parameter="parameter",c.variable="variable",c.property="property",c.enumMember="enumMember",c.event="event",c.function="function",c.method="method",c.macro="macro",c.keyword="keyword",c.modifier="modifier",c.comment="comment",c.string="string",c.number="number",c.regexp="regexp",c.operator="operator",c.decorator="decorator",(p=ek||(ek={})).declaration="declaration",p.definition="definition",p.readonly="readonly",p.static="static",p.deprecated="deprecated",p.abstract="abstract",p.async="async",p.modification="modification",p.documentation="documentation",p.defaultLibrary="defaultLibrary";var rG=ex||(ex={});function rz(e){return eW.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}tL(rz,"is"),rG.is=rz;var rK=eN||(eN={});function rq(e,t){return{range:e,text:t}}function rU(e){return null!=e&&R.is(e.range)&&eW.string(e.text)}tL(rq,"create"),rK.create=rq,tL(rU,"is"),rK.is=rU;var rB=ew||(ew={});function rW(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}}function rV(e){return null!=e&&R.is(e.range)&&eW.boolean(e.caseSensitiveLookup)&&(eW.string(e.variableName)||void 0===e.variableName)}tL(rW,"create"),rB.create=rW,tL(rV,"is"),rB.is=rV;var rH=eI||(eI={});function rY(e,t){return{range:e,expression:t}}function rQ(e){return null!=e&&R.is(e.range)&&(eW.string(e.expression)||void 0===e.expression)}tL(rY,"create"),rH.create=rY,tL(rQ,"is"),rH.is=rQ;var rZ=e_||(e_={});function rX(e,t){return{frameId:e,stoppedLocation:t}}function rJ(e){return eW.defined(e)&&R.is(e.stoppedLocation)}tL(rX,"create"),rZ.create=rX,tL(rJ,"is"),rZ.is=rJ;var r0=eP||(eP={});function r1(e){return 1===e||2===e}r0.Type=1,r0.Parameter=2,tL(r1,"is"),r0.is=r1;var r2=eO||(eO={});function r3(e){return{value:e}}function r9(e){return eW.objectLiteral(e)&&(void 0===e.tooltip||eW.string(e.tooltip)||X.is(e.tooltip))&&(void 0===e.location||E.is(e.location))&&(void 0===e.command||O.is(e.command))}tL(r3,"create"),r2.create=r3,tL(r9,"is"),r2.is=r9;var r4=eD||(eD={});function r5(e,t,r){let n={position:e,label:t};return void 0!==r&&(n.kind=r),n}function r6(e){return eW.objectLiteral(e)&&$.is(e.position)&&(eW.string(e.label)||eW.typedArray(e.label,eO.is))&&(void 0===e.kind||eP.is(e.kind))&&void 0===e.textEdits||eW.typedArray(e.textEdits,D.is)&&(void 0===e.tooltip||eW.string(e.tooltip)||X.is(e.tooltip))&&(void 0===e.paddingLeft||eW.boolean(e.paddingLeft))&&(void 0===e.paddingRight||eW.boolean(e.paddingRight))}tL(r5,"create"),r4.create=r5,tL(r6,"is"),r4.is=r6;var r8=eL||(eL={});function r7(e){return{kind:"snippet",value:e}}tL(r7,"createSnippet"),r8.createSnippet=r7;var ne=eM||(eM={});function nt(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}}tL(nt,"create"),ne.create=nt;var nr=ej||(ej={});function nn(e){return{items:e}}tL(nn,"create"),nr.create=nn,(f=eF||(eF={})).Invoked=0,f.Automatic=1;var ni=eG||(eG={});function na(e,t){return{range:e,text:t}}tL(na,"create"),ni.create=na;var ns=ez||(ez={});function no(e,t){return{triggerKind:e,selectedCompletionInfo:t}}tL(no,"create"),ns.create=no;var nl=eK||(eK={});function nu(e){return eW.objectLiteral(e)&&g.is(e.uri)&&eW.string(e.name)}tL(nu,"is"),nl.is=nu,eq=["\n","\r\n","\r"],function(e){function t(e,t,r,n){return new eB(e,t,r,n)}function r(e){return!!(eW.defined(e)&&eW.string(e.uri)&&(eW.undefined(e.languageId)||eW.string(e.languageId))&&eW.uinteger(e.lineCount)&&eW.func(e.getText)&&eW.func(e.positionAt)&&eW.func(e.offsetAt))}function n(e,t){let r=e.getText(),n=i(t,(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),a=r.length;for(let t=n.length-1;t>=0;t--){let i=n[t],s=e.offsetAt(i.range.start),o=e.offsetAt(i.range.end);if(o<=a)r=r.substring(0,s)+i.newText+r.substring(o,r.length);else throw Error("Overlapping edit");a=s}return r}function i(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);i(n,t),i(a,t);let s=0,o=0,l=0;for(;s<n.length&&o<a.length;)0>=t(n[s],a[o])?e[l++]=n[s++]:e[l++]=a[o++];for(;s<n.length;)e[l++]=n[s++];for(;o<a.length;)e[l++]=a[o++];return e}tL(t,"create"),e.create=t,tL(r,"is"),e.is=r,tL(n,"applyEdits"),e.applyEdits=n,tL(i,"mergeSort")}(eU||(eU={})),eB=class{static{tL(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let i=t.charAt(n);r="\r"===i||"\n"===i,"\r"===i&&n+1<t.length&&"\n"===t.charAt(n+1)&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return $.create(0,e);for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return $.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}},function(e){let t=Object.prototype.toString;function r(e){return void 0!==e}function n(e){return void 0===e}function i(e){return!0===e||!1===e}function a(e){return"[object String]"===t.call(e)}function s(e){return"[object Number]"===t.call(e)}function o(e,r,n){return"[object Number]"===t.call(e)&&r<=e&&e<=n}function l(e){return"[object Number]"===t.call(e)&&-0x80000000<=e&&e<=0x7fffffff}function u(e){return"[object Number]"===t.call(e)&&0<=e&&e<=0x7fffffff}function c(e){return"[object Function]"===t.call(e)}function p(e){return null!==e&&"object"==typeof e}function f(e,t){return Array.isArray(e)&&e.every(t)}tL(r,"defined"),e.defined=r,tL(n,"undefined"),e.undefined=n,tL(i,"boolean"),e.boolean=i,tL(a,"string"),e.string=a,tL(s,"number"),e.number=s,tL(o,"numberRange"),e.numberRange=o,tL(l,"integer"),e.integer=l,tL(u,"uinteger"),e.uinteger=u,tL(c,"func"),e.func=c,tL(p,"objectLiteral"),e.objectLiteral=p,tL(f,"typedArray"),e.typedArray=f}(eW||(eW={}))}},function(){return n&&(i=(0,n[tP(n)[0]])(n=0)),i}),tB=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){"use strict";function t(){if(void 0===r)throw Error("No runtime abstraction layer installed");return r}Object.defineProperty(e,"__esModule",{value:!0}),tL(t,"RAL");var r,n=t||(t={});function i(e){if(void 0===e)throw Error("No runtime abstraction layer provided");r=e}tL(i,"install"),n.install=i,e.default=t}}),tW=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(e){"use strict";function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tL(t,"boolean"),e.boolean=t,tL(r,"string"),e.string=r,tL(n,"number"),e.number=n,tL(i,"error"),e.error=i,tL(a,"func"),e.func=a,tL(s,"array"),e.array=s,tL(o,"stringArray"),e.stringArray=o}}),tV=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){"use strict";let t;Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var r,n,i=tB();r=n||(e.Event=n={}),t={dispose(){}},r.None=function(){return t};var a=class{static{tL(this,"CallbackList")}add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:tL(()=>this.remove(e,t),"dispose")})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e)if(this._contexts[n]===t){this._callbacks.splice(n,1),this._contexts.splice(n,1);return}else r=!0;if(r)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let a=0,s=r.length;a<s;a++)try{t.push(r[a].apply(n[a],e))}catch(e){(0,i.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},s=class e{static{tL(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(t,r,n)=>{this._callbacks||(this._callbacks=new a),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,r);let i={dispose:tL(()=>{this._callbacks&&(this._callbacks.remove(t,r),i.dispose=e._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};e.Emitter=s,s._noop=function(){}}}),tH=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,r=tB(),n=tW(),i=tV(),a=t||(e.CancellationToken=t={});function s(e){return e&&(e===a.None||e===a.Cancelled||n.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),tL(s,"is"),a.is=s;var o=Object.freeze(function(e,t){let n=(0,r.default)().timer.setTimeout(e.bind(t),0);return{dispose(){n.dispose()}}}),l=class{static{tL(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}};e.CancellationTokenSource=class{static{tL(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=t.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=t.None}}}}),tY=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t,r,n,i=tW();(t=r||(e.ErrorCodes=r={})).ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3,e.ResponseError=class e extends Error{static{tL(this,"ResponseError")}constructor(t,n,a){super(n),this.code=i.number(t)?t:r.UnknownErrorCode,this.data=a,Object.setPrototypeOf(this,e.prototype)}toJson(){let e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}};var a=class e{static{tL(this,"ParameterStructures")}constructor(e){this.kind=e}static is(t){return t===e.auto||t===e.byName||t===e.byPosition}toString(){return this.kind}};e.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");var s=class{static{tL(this,"AbstractMessageSignature")}constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return a.auto}};e.AbstractMessageSignature=s,e.RequestType0=class extends s{static{tL(this,"RequestType0")}constructor(e){super(e,0)}},e.RequestType=class extends s{static{tL(this,"RequestType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType1=class extends s{static{tL(this,"RequestType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType2=class extends s{static{tL(this,"RequestType2")}constructor(e){super(e,2)}},e.RequestType3=class extends s{static{tL(this,"RequestType3")}constructor(e){super(e,3)}},e.RequestType4=class extends s{static{tL(this,"RequestType4")}constructor(e){super(e,4)}},e.RequestType5=class extends s{static{tL(this,"RequestType5")}constructor(e){super(e,5)}},e.RequestType6=class extends s{static{tL(this,"RequestType6")}constructor(e){super(e,6)}},e.RequestType7=class extends s{static{tL(this,"RequestType7")}constructor(e){super(e,7)}},e.RequestType8=class extends s{static{tL(this,"RequestType8")}constructor(e){super(e,8)}},e.RequestType9=class extends s{static{tL(this,"RequestType9")}constructor(e){super(e,9)}},e.NotificationType=class extends s{static{tL(this,"NotificationType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType0=class extends s{static{tL(this,"NotificationType0")}constructor(e){super(e,0)}},e.NotificationType1=class extends s{static{tL(this,"NotificationType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType2=class extends s{static{tL(this,"NotificationType2")}constructor(e){super(e,2)}},e.NotificationType3=class extends s{static{tL(this,"NotificationType3")}constructor(e){super(e,3)}},e.NotificationType4=class extends s{static{tL(this,"NotificationType4")}constructor(e){super(e,4)}},e.NotificationType5=class extends s{static{tL(this,"NotificationType5")}constructor(e){super(e,5)}},e.NotificationType6=class extends s{static{tL(this,"NotificationType6")}constructor(e){super(e,6)}},e.NotificationType7=class extends s{static{tL(this,"NotificationType7")}constructor(e){super(e,7)}},e.NotificationType8=class extends s{static{tL(this,"NotificationType8")}constructor(e){super(e,8)}},e.NotificationType9=class extends s{static{tL(this,"NotificationType9")}constructor(e){super(e,9)}},function(e){function t(e){return e&&i.string(e.method)&&(i.string(e.id)||i.number(e.id))}function r(e){return e&&i.string(e.method)&&void 0===e.id}function n(e){return e&&(void 0!==e.result||!!e.error)&&(i.string(e.id)||i.number(e.id)||null===e.id)}tL(t,"isRequest"),e.isRequest=t,tL(r,"isNotification"),e.isNotification=r,tL(n,"isResponse"),e.isResponse=n}(n||(e.Message=n={}))}}),tQ=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,(t=n||(e.Touch=n={})).None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last;var t,r,n,i=class{static{tL(this,"LinkedMap")}constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){let r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==r)throw Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tL(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.key,done:!1};return t=t.next,e}},"next")};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tL(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.value,done:!1};return t=t.next,e}},"next")};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tL(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:[t.key,t.value],done:!1};return t=t.next,e}},"next")};return r}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail)if(this._head)e.next=this._head,this._head.previous=e;else throw Error("Invalid list");else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail)if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error("Invalid list");else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error("Invalid list");if(t===n.First||t===n.Last){if(t===n.First){if(e===this._head)return;let t=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(t.previous=r,r.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;let t=e.next,r=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=r,r.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){for(let[t,r]of(this.clear(),e))this.set(t,r)}};e.LinkedMap=i,e.LRUCache=class extends i{static{tL(this,"LRUCache")}constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}}}),tZ=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0;var t,r=t||(e.Disposable=t={});function n(e){return{dispose:e}}tL(n,"create"),r.create=n}}),tX=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t,r,n=tH();(t=r||(r={})).Continue=0,t.Cancelled=1,e.SharedArraySenderStrategy=class{static{tL(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(null===e.id)return;let t=new SharedArrayBuffer(4);new Int32Array(t,0,1)[0]=r.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let n=this.buffers.get(t);if(void 0===n)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,r.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};var i=class{static{tL(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},a=class{static{tL(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new i(e)}cancel(){}dispose(){}};e.SharedArrayReceiverStrategy=class{static{tL(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return void 0===t?new n.CancellationTokenSource:new a(t)}}}}),tJ=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=tB();e.Semaphore=class{static{tL(this,"Semaphore")}constructor(e=1){if(e<=0)throw Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(t=>{this._active--,e.resolve(t),this.runNext()},t=>{this._active--,e.reject(t),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}}}),t0=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t,r,n=tB(),i=tW(),a=tV(),s=tJ(),o=t||(e.MessageReader=t={});function l(e){return e&&i.func(e.listen)&&i.func(e.dispose)&&i.func(e.onError)&&i.func(e.onClose)&&i.func(e.onPartialMessage)}tL(l,"is"),o.is=l;var u=class{static{tL(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter,this.partialMessageEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:Error(`Reader received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageReader=u;var c=r||(r={});function p(e){let t,r,i,a=new Map,s=new Map;if(void 0===e||"string"==typeof e)t=e??"utf-8";else{if(t=e.charset??"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,a.set(r.name,r)),void 0!==e.contentDecoders)for(let t of e.contentDecoders)a.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(i=e.contentTypeDecoder,s.set(i.name,i)),void 0!==e.contentTypeDecoders)for(let t of e.contentTypeDecoders)s.set(t.name,t)}return void 0===i&&(i=(0,n.default)().applicationJson.decoder,s.set(i.name,i)),{charset:t,contentDecoder:r,contentDecoders:a,contentTypeDecoder:i,contentTypeDecoders:s}}tL(p,"fromOptions"),c.fromOptions=p,e.ReadableStreamMessageReader=class extends u{static{tL(this,"ReadableStreamMessageReader")}constructor(e,t){super(),this.readable=e,this.options=r.fromOptions(t),this.buffer=(0,n.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new s.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(e=>{this.onData(e)});return this.readable.onError(e=>this.fireError(e)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders(!0);if(!e)return;let t=e.get("content-length");if(!t)return void this.fireError(Error(`Header must provide a Content-Length property.
1
+ export const __rspack_esm_id=4936;export const __rspack_esm_ids=[4936];export const __webpack_modules__={14916(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadEbnfTokenBuilder")}constructor(){super(["railroad-ebnf-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadEbnfValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){return"EBNF_STRING"===e.name?a(t):"EBNF_SPECIAL_SEQUENCE"===e.name?t.slice(1,-1).trim():void 0}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.U4,o);return t.ServiceRegistry.register(r),{shared:t,RailroadEbnf:r}}(0,n.K2)(l,"createRailroadEbnfServices"),r.d(t,{W:()=>l})},26041(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},a=class extends n.dg{static{(0,n.K2)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.D_,s);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}(0,n.K2)(o,"createPieServices"),r.d(t,{f:()=>o})},54614(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.FZ,a);return t.ServiceRegistry.register(r),{shared:t,Info:r}}(0,n.K2)(s,"createInfoServices"),r.d(t,{v:()=>s})},45796(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},a=class extends n.dg{static{(0,n.K2)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){if("ARCH_ICON"===e.name)return t.replace(/[()]/g,"").trim();if("ARCH_TEXT_ICON"===e.name)return t.replace(/["()]/g,"");if("ARCH_TITLE"===e.name){let e=t.replace(/^\[|]$/g,"").trim();return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=(e=e.slice(1,-1)).replace(/\\"/g,'"').replace(/\\'/g,"'")),e.trim()}}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.wV,s);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}(0,n.K2)(o,"createArchitectureServices"),r.d(t,{S:()=>o})},82688(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},a=new Set(["cmd","command"]),s=new Set(["evt","event"]),o=new Set(["rmo","readmodel"]),l=new Set(["pcr","processor"]),u=new Set(["ui"]);function c(e){let t=e.validation.EventModelingValidator,r=e.validation.ValidationRegistry;if(r){let e={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};r.register(e,t)}}(0,n.K2)(c,"registerValidationChecks");var p=class{static{(0,n.K2)(this,"EventModelingValidator")}checkSourceFrameTypes(e,t){0!==e.sourceFrames.length&&(a.has(e.modelEntityType)?this.validateSources(e,new Set([...u,...l]),"command","ui or processor",t):s.has(e.modelEntityType)?this.validateSources(e,a,"event","command",t):o.has(e.modelEntityType)?this.validateSources(e,s,"read model","event",t):l.has(e.modelEntityType)?this.validateSources(e,o,"processor","read model",t):u.has(e.modelEntityType)&&this.validateSources(e,o,"ui","read model",t))}validateSources(e,t,r,n,i){for(let a of e.sourceFrames){let s=a.ref;void 0===s||t.has(s.modelEntityType)||i("error",`A ${r} can only receive input from a ${n}, not from '${s.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},f={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")},validation:{EventModelingValidator:(0,n.K2)(()=>new p,"EventModelingValidator")}};function d(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.x0,f);return t.ServiceRegistry.register(r),c(r),{shared:t,EventModel:r}}(0,n.K2)(d,"createEventModelingServices"),r.d(t,{g:()=>d})},16527(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},a=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,s=class extends n.dg{static{(0,n.K2)(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;let e=a.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function o(e){let t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){let e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}(0,n.K2)(o,"registerValidationChecks");var l=class{static{(0,n.K2)(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(let n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:void 0===n.indent?t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):void 0!==r&&r>=parseInt(n.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},u={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")},validation:{TreemapValidator:(0,n.K2)(()=>new l,"TreemapValidator")}};function c(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.XE,u);return t.ServiceRegistry.register(r),o(r),{shared:t,Treemap:r}}(0,n.K2)(c,"createTreemapServices"),r.d(t,{d:()=>c})},93279(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"CynefinTokenBuilder")}constructor(){super(["cynefin-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Jn,a);return t.ServiceRegistry.register(r),{shared:t,Cynefin:r}}(0,n.K2)(s,"createCynefinServices"),r.d(t,{t:()=>s})},43245(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadPegTokenBuilder")}constructor(){super(["railroad-peg-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadPegValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){if("PEG_STRING"===e.name)return a(t)}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.dj,o);return t.ServiceRegistry.register(r),{shared:t,RailroadPeg:r}}(0,n.K2)(l,"createRailroadPegServices"),r.d(t,{P:()=>l})},4954(e,t,r){let n,i;var a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C,S,k,x,N,w,I,_,P,O,D,L,M,j,F,G,z,K,q,U,B,W,V,H,Y,Q,Z,X,J,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ef,ed,em,eh,ey,eg,eT,ev,e$,eR,eE,eb,eA,eC,eS,ek,ex,eN,ew,eI,e_,eP,eO,eD,eL,eM,ej,eF,eG,ez,eK,eq,eU,eB,eW,eV,eH,eY,eQ,eZ,eX,eJ,e0,e1,e2,e3,e4,e9,e5,e6,e7,e8,te,tt,tr,tn,ti,ta,ts,to,tl,tu,tc,tp,tf,td,tm,th,ty,tg,tT,tv,t$,tR,tE,tb,tA,tC,tS,tk,tx,tN=r(65606),tw=Object.create,tI=Object.defineProperty,t_=Object.getOwnPropertyDescriptor,tP=Object.getOwnPropertyNames,tO=Object.getPrototypeOf,tD=Object.prototype.hasOwnProperty,tL=(e,t)=>tI(e,"name",{value:t,configurable:!0}),tM=(e,t)=>function(){return t||(0,e[tP(e)[0]])((t={exports:{}}).exports,t),t.exports},tj=(e,t)=>{for(var r in t)tI(e,r,{get:t[r],enumerable:!0})},tF=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of tP(t))tD.call(e,i)||i===r||tI(e,i,{get:()=>t[i],enumerable:!(n=t_(t,i))||n.enumerable});return e},tG=(e,t,r)=>(tF(e,t,"default"),r&&tF(r,t,"default")),tz=(e,t,r)=>(r=null!=e?tw(tO(e)):{},tF(!t&&e&&e.__esModule?r:tI(r,"default",{value:e,enumerable:!0}),e)),tK=e=>tF(tI({},"__esModule",{value:!0}),e),tq={};tj(tq,{AnnotatedTextEdit:()=>j,ChangeAnnotation:()=>L,ChangeAnnotationIdentifier:()=>M,CodeAction:()=>eR,CodeActionContext:()=>e$,CodeActionKind:()=>eT,CodeActionTriggerKind:()=>ev,CodeDescription:()=>_,CodeLens:()=>eE,Color:()=>A,ColorInformation:()=>C,ColorPresentation:()=>S,Command:()=>O,CompletionItem:()=>ea,CompletionItemKind:()=>J,CompletionItemLabelDetails:()=>ei,CompletionItemTag:()=>et,CompletionList:()=>es,CreateFile:()=>G,DeleteFile:()=>K,Diagnostic:()=>P,DiagnosticRelatedInformation:()=>N,DiagnosticSeverity:()=>w,DiagnosticTag:()=>I,DocumentHighlight:()=>ef,DocumentHighlightKind:()=>ep,DocumentLink:()=>eA,DocumentSymbol:()=>eg,DocumentUri:()=>y,EOL:()=>eq,FoldingRange:()=>x,FoldingRangeKind:()=>k,FormattingOptions:()=>eb,Hover:()=>el,InlayHint:()=>eD,InlayHintKind:()=>eP,InlayHintLabelPart:()=>eO,InlineCompletionContext:()=>ez,InlineCompletionItem:()=>eM,InlineCompletionList:()=>ej,InlineCompletionTriggerKind:()=>eF,InlineValueContext:()=>e_,InlineValueEvaluatableExpression:()=>eI,InlineValueText:()=>eN,InlineValueVariableLookup:()=>ew,InsertReplaceEdit:()=>er,InsertTextFormat:()=>ee,InsertTextMode:()=>en,Location:()=>E,LocationLink:()=>b,MarkedString:()=>eo,MarkupContent:()=>X,MarkupKind:()=>Z,OptionalVersionedTextDocumentIdentifier:()=>Y,ParameterInformation:()=>eu,Position:()=>$,Range:()=>R,RenameFile:()=>z,SelectedCompletionInfo:()=>eG,SelectionRange:()=>eC,SemanticTokenModifiers:()=>ek,SemanticTokenTypes:()=>eS,SemanticTokens:()=>ex,SignatureInformation:()=>ec,StringValue:()=>eL,SymbolInformation:()=>eh,SymbolKind:()=>ed,SymbolTag:()=>em,TextDocument:()=>eU,TextDocumentEdit:()=>F,TextDocumentIdentifier:()=>V,TextDocumentItem:()=>Q,TextEdit:()=>D,URI:()=>g,VersionedTextDocumentIdentifier:()=>H,WorkspaceChange:()=>W,WorkspaceEdit:()=>q,WorkspaceFolder:()=>eK,WorkspaceSymbol:()=>ey,integer:()=>T,uinteger:()=>v});var tU=(n={"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";var e,t,r,n,i,a,s,o,l,u,c,p,f,d=y||(y={});function m(e){return"string"==typeof e}tL(m,"is"),d.is=m;var h=g||(g={});function eV(e){return"string"==typeof e}tL(eV,"is"),h.is=eV;var eH=T||(T={});function eY(e){return"number"==typeof e&&eH.MIN_VALUE<=e&&e<=eH.MAX_VALUE}eH.MIN_VALUE=-0x80000000,eH.MAX_VALUE=0x7fffffff,tL(eY,"is"),eH.is=eY;var eQ=v||(v={});function eZ(e){return"number"==typeof e&&eQ.MIN_VALUE<=e&&e<=eQ.MAX_VALUE}eQ.MIN_VALUE=0,eQ.MAX_VALUE=0x7fffffff,tL(eZ,"is"),eQ.is=eZ;var eX=$||($={});function eJ(e,t){return e===Number.MAX_VALUE&&(e=v.MAX_VALUE),t===Number.MAX_VALUE&&(t=v.MAX_VALUE),{line:e,character:t}}function e0(e){return eW.objectLiteral(e)&&eW.uinteger(e.line)&&eW.uinteger(e.character)}tL(eJ,"create"),eX.create=eJ,tL(e0,"is"),eX.is=e0;var e1=R||(R={});function e2(e,t,r,n){if(eW.uinteger(e)&&eW.uinteger(t)&&eW.uinteger(r)&&eW.uinteger(n))return{start:$.create(e,t),end:$.create(r,n)};if($.is(e)&&$.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)}function e3(e){return eW.objectLiteral(e)&&$.is(e.start)&&$.is(e.end)}tL(e2,"create"),e1.create=e2,tL(e3,"is"),e1.is=e3;var e4=E||(E={});function e9(e,t){return{uri:e,range:t}}function e5(e){return eW.objectLiteral(e)&&R.is(e.range)&&(eW.string(e.uri)||eW.undefined(e.uri))}tL(e9,"create"),e4.create=e9,tL(e5,"is"),e4.is=e5;var e6=b||(b={});function e7(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}}function e8(e){return eW.objectLiteral(e)&&R.is(e.targetRange)&&eW.string(e.targetUri)&&R.is(e.targetSelectionRange)&&(R.is(e.originSelectionRange)||eW.undefined(e.originSelectionRange))}tL(e7,"create"),e6.create=e7,tL(e8,"is"),e6.is=e8;var te=A||(A={});function tt(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}}function tr(e){return eW.objectLiteral(e)&&eW.numberRange(e.red,0,1)&&eW.numberRange(e.green,0,1)&&eW.numberRange(e.blue,0,1)&&eW.numberRange(e.alpha,0,1)}tL(tt,"create"),te.create=tt,tL(tr,"is"),te.is=tr;var tn=C||(C={});function ti(e,t){return{range:e,color:t}}function ta(e){return eW.objectLiteral(e)&&R.is(e.range)&&A.is(e.color)}tL(ti,"create"),tn.create=ti,tL(ta,"is"),tn.is=ta;var ts=S||(S={});function to(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}}function tl(e){return eW.objectLiteral(e)&&eW.string(e.label)&&(eW.undefined(e.textEdit)||D.is(e))&&(eW.undefined(e.additionalTextEdits)||eW.typedArray(e.additionalTextEdits,D.is))}tL(to,"create"),ts.create=to,tL(tl,"is"),ts.is=tl,(e=k||(k={})).Comment="comment",e.Imports="imports",e.Region="region";var tu=x||(x={});function tc(e,t,r,n,i,a){let s={startLine:e,endLine:t};return eW.defined(r)&&(s.startCharacter=r),eW.defined(n)&&(s.endCharacter=n),eW.defined(i)&&(s.kind=i),eW.defined(a)&&(s.collapsedText=a),s}function tp(e){return eW.objectLiteral(e)&&eW.uinteger(e.startLine)&&eW.uinteger(e.startLine)&&(eW.undefined(e.startCharacter)||eW.uinteger(e.startCharacter))&&(eW.undefined(e.endCharacter)||eW.uinteger(e.endCharacter))&&(eW.undefined(e.kind)||eW.string(e.kind))}tL(tc,"create"),tu.create=tc,tL(tp,"is"),tu.is=tp;var tf=N||(N={});function td(e,t){return{location:e,message:t}}function tm(e){return eW.defined(e)&&E.is(e.location)&&eW.string(e.message)}tL(td,"create"),tf.create=td,tL(tm,"is"),tf.is=tm,(t=w||(w={})).Error=1,t.Warning=2,t.Information=3,t.Hint=4,(r=I||(I={})).Unnecessary=1,r.Deprecated=2;var th=_||(_={});function ty(e){return eW.objectLiteral(e)&&eW.string(e.href)}tL(ty,"is"),th.is=ty;var tg=P||(P={});function tT(e,t,r,n,i,a){let s={range:e,message:t};return eW.defined(r)&&(s.severity=r),eW.defined(n)&&(s.code=n),eW.defined(i)&&(s.source=i),eW.defined(a)&&(s.relatedInformation=a),s}function tv(e){var t;return eW.defined(e)&&R.is(e.range)&&eW.string(e.message)&&(eW.number(e.severity)||eW.undefined(e.severity))&&(eW.integer(e.code)||eW.string(e.code)||eW.undefined(e.code))&&(eW.undefined(e.codeDescription)||eW.string(null==(t=e.codeDescription)?void 0:t.href))&&(eW.string(e.source)||eW.undefined(e.source))&&(eW.undefined(e.relatedInformation)||eW.typedArray(e.relatedInformation,N.is))}tL(tT,"create"),tg.create=tT,tL(tv,"is"),tg.is=tv;var t$=O||(O={});function tR(e,t,...r){let n={title:e,command:t};return eW.defined(r)&&r.length>0&&(n.arguments=r),n}function tE(e){return eW.defined(e)&&eW.string(e.title)&&eW.string(e.command)}tL(tR,"create"),t$.create=tR,tL(tE,"is"),t$.is=tE,function(e){function t(e,t){return{range:e,newText:t}}function r(e,t){return{range:{start:e,end:e},newText:t}}function n(e){return{range:e,newText:""}}function i(e){return eW.objectLiteral(e)&&eW.string(e.newText)&&R.is(e.range)}tL(t,"replace"),e.replace=t,tL(r,"insert"),e.insert=r,tL(n,"del"),e.del=n,tL(i,"is"),e.is=i}(D||(D={}));var tb=L||(L={});function tA(e,t,r){let n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n}function tC(e){return eW.objectLiteral(e)&&eW.string(e.label)&&(eW.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(eW.string(e.description)||void 0===e.description)}tL(tA,"create"),tb.create=tA,tL(tC,"is"),tb.is=tC;var tS=M||(M={});function tk(e){return eW.string(e)}tL(tk,"is"),tS.is=tk,function(e){function t(e,t,r){return{range:e,newText:t,annotationId:r}}function r(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}}function n(e,t){return{range:e,newText:"",annotationId:t}}function i(e){return D.is(e)&&(L.is(e.annotationId)||M.is(e.annotationId))}tL(t,"replace"),e.replace=t,tL(r,"insert"),e.insert=r,tL(n,"del"),e.del=n,tL(i,"is"),e.is=i}(j||(j={}));var tx=F||(F={});function tN(e,t){return{textDocument:e,edits:t}}function tw(e){return eW.defined(e)&&Y.is(e.textDocument)&&Array.isArray(e.edits)}tL(tN,"create"),tx.create=tN,tL(tw,"is"),tx.is=tw;var tI=G||(G={});function t_(e,t,r){let n={kind:"create",uri:e};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tP(e){return e&&"create"===e.kind&&eW.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||eW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tL(t_,"create"),tI.create=t_,tL(tP,"is"),tI.is=tP;var tO=z||(z={});function tD(e,t,r,n){let i={kind:"rename",oldUri:e,newUri:t};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i}function tM(e){return e&&"rename"===e.kind&&eW.string(e.oldUri)&&eW.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||eW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tL(tD,"create"),tO.create=tD,tL(tM,"is"),tO.is=tM;var tj=K||(K={});function tF(e,t,r){let n={kind:"delete",uri:e};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tG(e){return e&&"delete"===e.kind&&eW.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||eW.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||eW.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tL(tF,"create"),tj.create=tF,tL(tG,"is"),tj.is=tG;var tz=q||(q={});function tK(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>eW.string(e.kind)?G.is(e)||z.is(e)||K.is(e):F.is(e)))}tL(tK,"is"),tz.is=tK,U=class{static{tL(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,i;if(void 0===r?n=D.insert(e,t):M.is(r)?(i=r,n=j.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.insert(e,t,i)),this.edits.push(n),void 0!==i)return i}replace(e,t,r){let n,i;if(void 0===r?n=D.replace(e,t):M.is(r)?(i=r,n=j.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.replace(e,t,i)),this.edits.push(n),void 0!==i)return i}delete(e,t){let r,n;if(void 0===t?r=D.del(e):M.is(t)?(n=t,r=j.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=j.del(e,n)),this.edits.push(r),void 0!==n)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(void 0===e)throw Error("Text edit change is not configured to manage change annotations.")}},B=class{static{tL(this,"ChangeAnnotations")}constructor(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let r;if(M.is(e)?r=e:(r=this.nextId(),t=e),void 0!==this._annotations[r])throw Error(`Id ${r} is already in use.`);if(void 0===t)throw Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},W=class{static{tL(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new B(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{if(F.is(e)){let t=new U(e.edits,this._changeAnnotations);this._textEditChanges[e.textDocument.uri]=t}})):e.changes&&Object.keys(e.changes).forEach(t=>{let r=new U(e.changes[t]);this._textEditChanges[t]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Y.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");let t={uri:e.uri,version:e.version},r=this._textEditChanges[t.uri];if(!r){let e=[];this._workspaceEdit.documentChanges.push({textDocument:t,edits:e}),r=new U(e,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new U(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new B,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=G.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=G.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}renameFile(e,t,r,n){let i,a,s;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(r)||M.is(r)?i=r:n=r,void 0===i?a=z.create(e,t,n):(s=M.is(i)?i:this._changeAnnotations.manage(i),a=z.create(e,t,n,s)),this._workspaceEdit.documentChanges.push(a),void 0!==s)return s}deleteFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=K.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=K.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}};var tq=V||(V={});function tU(e){return{uri:e}}function tB(e){return eW.defined(e)&&eW.string(e.uri)}tL(tU,"create"),tq.create=tU,tL(tB,"is"),tq.is=tB;var tW=H||(H={});function tV(e,t){return{uri:e,version:t}}function tH(e){return eW.defined(e)&&eW.string(e.uri)&&eW.integer(e.version)}tL(tV,"create"),tW.create=tV,tL(tH,"is"),tW.is=tH;var tY=Y||(Y={});function tQ(e,t){return{uri:e,version:t}}function tZ(e){return eW.defined(e)&&eW.string(e.uri)&&(null===e.version||eW.integer(e.version))}tL(tQ,"create"),tY.create=tQ,tL(tZ,"is"),tY.is=tZ;var tX=Q||(Q={});function tJ(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}}function t0(e){return eW.defined(e)&&eW.string(e.uri)&&eW.string(e.languageId)&&eW.integer(e.version)&&eW.string(e.text)}tL(tJ,"create"),tX.create=tJ,tL(t0,"is"),tX.is=t0;var t1=Z||(Z={});function t2(e){return e===t1.PlainText||e===t1.Markdown}t1.PlainText="plaintext",t1.Markdown="markdown",tL(t2,"is"),t1.is=t2;var t3=X||(X={});function t4(e){return eW.objectLiteral(e)&&Z.is(e.kind)&&eW.string(e.value)}tL(t4,"is"),t3.is=t4,(n=J||(J={})).Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25,(i=ee||(ee={})).PlainText=1,i.Snippet=2,(et||(et={})).Deprecated=1;var t9=er||(er={});function t5(e,t,r){return{newText:e,insert:t,replace:r}}function t6(e){return e&&eW.string(e.newText)&&R.is(e.insert)&&R.is(e.replace)}tL(t5,"create"),t9.create=t5,tL(t6,"is"),t9.is=t6,(a=en||(en={})).asIs=1,a.adjustIndentation=2;var t7=ei||(ei={});function t8(e){return e&&(eW.string(e.detail)||void 0===e.detail)&&(eW.string(e.description)||void 0===e.description)}tL(t8,"is"),t7.is=t8;var re=ea||(ea={});function rt(e){return{label:e}}tL(rt,"create"),re.create=rt;var rr=es||(es={});function rn(e,t){return{items:e||[],isIncomplete:!!t}}tL(rn,"create"),rr.create=rn;var ri=eo||(eo={});function ra(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function rs(e){return eW.string(e)||eW.objectLiteral(e)&&eW.string(e.language)&&eW.string(e.value)}tL(ra,"fromPlainText"),ri.fromPlainText=ra,tL(rs,"is"),ri.is=rs;var ro=el||(el={});function rl(e){return!!e&&eW.objectLiteral(e)&&(X.is(e.contents)||eo.is(e.contents)||eW.typedArray(e.contents,eo.is))&&(void 0===e.range||R.is(e.range))}tL(rl,"is"),ro.is=rl;var ru=eu||(eu={});function rc(e,t){return t?{label:e,documentation:t}:{label:e}}tL(rc,"create"),ru.create=rc;var rp=ec||(ec={});function rf(e,t,...r){let n={label:e};return eW.defined(t)&&(n.documentation=t),eW.defined(r)?n.parameters=r:n.parameters=[],n}tL(rf,"create"),rp.create=rf,(s=ep||(ep={})).Text=1,s.Read=2,s.Write=3;var rd=ef||(ef={});function rm(e,t){let r={range:e};return eW.number(t)&&(r.kind=t),r}tL(rm,"create"),rd.create=rm,(o=ed||(ed={})).File=1,o.Module=2,o.Namespace=3,o.Package=4,o.Class=5,o.Method=6,o.Property=7,o.Field=8,o.Constructor=9,o.Enum=10,o.Interface=11,o.Function=12,o.Variable=13,o.Constant=14,o.String=15,o.Number=16,o.Boolean=17,o.Array=18,o.Object=19,o.Key=20,o.Null=21,o.EnumMember=22,o.Struct=23,o.Event=24,o.Operator=25,o.TypeParameter=26,(em||(em={})).Deprecated=1;var rh=eh||(eh={});function ry(e,t,r,n,i){let a={name:e,kind:t,location:{uri:n,range:r}};return i&&(a.containerName=i),a}tL(ry,"create"),rh.create=ry;var rg=ey||(ey={});function rT(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}}tL(rT,"create"),rg.create=rT;var rv=eg||(eg={});function r$(e,t,r,n,i,a){let s={name:e,detail:t,kind:r,range:n,selectionRange:i};return void 0!==a&&(s.children=a),s}function rR(e){return e&&eW.string(e.name)&&eW.number(e.kind)&&R.is(e.range)&&R.is(e.selectionRange)&&(void 0===e.detail||eW.string(e.detail))&&(void 0===e.deprecated||eW.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}tL(r$,"create"),rv.create=r$,tL(rR,"is"),rv.is=rR,(l=eT||(eT={})).Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll",(u=ev||(ev={})).Invoked=1,u.Automatic=2;var rE=e$||(e$={});function rb(e,t,r){let n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n}function rA(e){return eW.defined(e)&&eW.typedArray(e.diagnostics,P.is)&&(void 0===e.only||eW.typedArray(e.only,eW.string))&&(void 0===e.triggerKind||e.triggerKind===ev.Invoked||e.triggerKind===ev.Automatic)}tL(rb,"create"),rE.create=rb,tL(rA,"is"),rE.is=rA;var rC=eR||(eR={});function rS(e,t,r){let n={title:e},i=!0;return"string"==typeof t?(i=!1,n.kind=t):O.is(t)?n.command=t:n.edit=t,i&&void 0!==r&&(n.kind=r),n}function rk(e){return e&&eW.string(e.title)&&(void 0===e.diagnostics||eW.typedArray(e.diagnostics,P.is))&&(void 0===e.kind||eW.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||O.is(e.command))&&(void 0===e.isPreferred||eW.boolean(e.isPreferred))&&(void 0===e.edit||q.is(e.edit))}tL(rS,"create"),rC.create=rS,tL(rk,"is"),rC.is=rk;var rx=eE||(eE={});function rN(e,t){let r={range:e};return eW.defined(t)&&(r.data=t),r}function rw(e){return eW.defined(e)&&R.is(e.range)&&(eW.undefined(e.command)||O.is(e.command))}tL(rN,"create"),rx.create=rN,tL(rw,"is"),rx.is=rw;var rI=eb||(eb={});function r_(e,t){return{tabSize:e,insertSpaces:t}}function rP(e){return eW.defined(e)&&eW.uinteger(e.tabSize)&&eW.boolean(e.insertSpaces)}tL(r_,"create"),rI.create=r_,tL(rP,"is"),rI.is=rP;var rO=eA||(eA={});function rD(e,t,r){return{range:e,target:t,data:r}}function rL(e){return eW.defined(e)&&R.is(e.range)&&(eW.undefined(e.target)||eW.string(e.target))}tL(rD,"create"),rO.create=rD,tL(rL,"is"),rO.is=rL;var rM=eC||(eC={});function rj(e,t){return{range:e,parent:t}}function rF(e){return eW.objectLiteral(e)&&R.is(e.range)&&(void 0===e.parent||rM.is(e.parent))}tL(rj,"create"),rM.create=rj,tL(rF,"is"),rM.is=rF,(c=eS||(eS={})).namespace="namespace",c.type="type",c.class="class",c.enum="enum",c.interface="interface",c.struct="struct",c.typeParameter="typeParameter",c.parameter="parameter",c.variable="variable",c.property="property",c.enumMember="enumMember",c.event="event",c.function="function",c.method="method",c.macro="macro",c.keyword="keyword",c.modifier="modifier",c.comment="comment",c.string="string",c.number="number",c.regexp="regexp",c.operator="operator",c.decorator="decorator",(p=ek||(ek={})).declaration="declaration",p.definition="definition",p.readonly="readonly",p.static="static",p.deprecated="deprecated",p.abstract="abstract",p.async="async",p.modification="modification",p.documentation="documentation",p.defaultLibrary="defaultLibrary";var rG=ex||(ex={});function rz(e){return eW.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}tL(rz,"is"),rG.is=rz;var rK=eN||(eN={});function rq(e,t){return{range:e,text:t}}function rU(e){return null!=e&&R.is(e.range)&&eW.string(e.text)}tL(rq,"create"),rK.create=rq,tL(rU,"is"),rK.is=rU;var rB=ew||(ew={});function rW(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}}function rV(e){return null!=e&&R.is(e.range)&&eW.boolean(e.caseSensitiveLookup)&&(eW.string(e.variableName)||void 0===e.variableName)}tL(rW,"create"),rB.create=rW,tL(rV,"is"),rB.is=rV;var rH=eI||(eI={});function rY(e,t){return{range:e,expression:t}}function rQ(e){return null!=e&&R.is(e.range)&&(eW.string(e.expression)||void 0===e.expression)}tL(rY,"create"),rH.create=rY,tL(rQ,"is"),rH.is=rQ;var rZ=e_||(e_={});function rX(e,t){return{frameId:e,stoppedLocation:t}}function rJ(e){return eW.defined(e)&&R.is(e.stoppedLocation)}tL(rX,"create"),rZ.create=rX,tL(rJ,"is"),rZ.is=rJ;var r0=eP||(eP={});function r1(e){return 1===e||2===e}r0.Type=1,r0.Parameter=2,tL(r1,"is"),r0.is=r1;var r2=eO||(eO={});function r3(e){return{value:e}}function r4(e){return eW.objectLiteral(e)&&(void 0===e.tooltip||eW.string(e.tooltip)||X.is(e.tooltip))&&(void 0===e.location||E.is(e.location))&&(void 0===e.command||O.is(e.command))}tL(r3,"create"),r2.create=r3,tL(r4,"is"),r2.is=r4;var r9=eD||(eD={});function r5(e,t,r){let n={position:e,label:t};return void 0!==r&&(n.kind=r),n}function r6(e){return eW.objectLiteral(e)&&$.is(e.position)&&(eW.string(e.label)||eW.typedArray(e.label,eO.is))&&(void 0===e.kind||eP.is(e.kind))&&void 0===e.textEdits||eW.typedArray(e.textEdits,D.is)&&(void 0===e.tooltip||eW.string(e.tooltip)||X.is(e.tooltip))&&(void 0===e.paddingLeft||eW.boolean(e.paddingLeft))&&(void 0===e.paddingRight||eW.boolean(e.paddingRight))}tL(r5,"create"),r9.create=r5,tL(r6,"is"),r9.is=r6;var r7=eL||(eL={});function r8(e){return{kind:"snippet",value:e}}tL(r8,"createSnippet"),r7.createSnippet=r8;var ne=eM||(eM={});function nt(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}}tL(nt,"create"),ne.create=nt;var nr=ej||(ej={});function nn(e){return{items:e}}tL(nn,"create"),nr.create=nn,(f=eF||(eF={})).Invoked=0,f.Automatic=1;var ni=eG||(eG={});function na(e,t){return{range:e,text:t}}tL(na,"create"),ni.create=na;var ns=ez||(ez={});function no(e,t){return{triggerKind:e,selectedCompletionInfo:t}}tL(no,"create"),ns.create=no;var nl=eK||(eK={});function nu(e){return eW.objectLiteral(e)&&g.is(e.uri)&&eW.string(e.name)}tL(nu,"is"),nl.is=nu,eq=["\n","\r\n","\r"],function(e){function t(e,t,r,n){return new eB(e,t,r,n)}function r(e){return!!(eW.defined(e)&&eW.string(e.uri)&&(eW.undefined(e.languageId)||eW.string(e.languageId))&&eW.uinteger(e.lineCount)&&eW.func(e.getText)&&eW.func(e.positionAt)&&eW.func(e.offsetAt))}function n(e,t){let r=e.getText(),n=i(t,(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),a=r.length;for(let t=n.length-1;t>=0;t--){let i=n[t],s=e.offsetAt(i.range.start),o=e.offsetAt(i.range.end);if(o<=a)r=r.substring(0,s)+i.newText+r.substring(o,r.length);else throw Error("Overlapping edit");a=s}return r}function i(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);i(n,t),i(a,t);let s=0,o=0,l=0;for(;s<n.length&&o<a.length;)0>=t(n[s],a[o])?e[l++]=n[s++]:e[l++]=a[o++];for(;s<n.length;)e[l++]=n[s++];for(;o<a.length;)e[l++]=a[o++];return e}tL(t,"create"),e.create=t,tL(r,"is"),e.is=r,tL(n,"applyEdits"),e.applyEdits=n,tL(i,"mergeSort")}(eU||(eU={})),eB=class{static{tL(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let i=t.charAt(n);r="\r"===i||"\n"===i,"\r"===i&&n+1<t.length&&"\n"===t.charAt(n+1)&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return $.create(0,e);for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return $.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}},function(e){let t=Object.prototype.toString;function r(e){return void 0!==e}function n(e){return void 0===e}function i(e){return!0===e||!1===e}function a(e){return"[object String]"===t.call(e)}function s(e){return"[object Number]"===t.call(e)}function o(e,r,n){return"[object Number]"===t.call(e)&&r<=e&&e<=n}function l(e){return"[object Number]"===t.call(e)&&-0x80000000<=e&&e<=0x7fffffff}function u(e){return"[object Number]"===t.call(e)&&0<=e&&e<=0x7fffffff}function c(e){return"[object Function]"===t.call(e)}function p(e){return null!==e&&"object"==typeof e}function f(e,t){return Array.isArray(e)&&e.every(t)}tL(r,"defined"),e.defined=r,tL(n,"undefined"),e.undefined=n,tL(i,"boolean"),e.boolean=i,tL(a,"string"),e.string=a,tL(s,"number"),e.number=s,tL(o,"numberRange"),e.numberRange=o,tL(l,"integer"),e.integer=l,tL(u,"uinteger"),e.uinteger=u,tL(c,"func"),e.func=c,tL(p,"objectLiteral"),e.objectLiteral=p,tL(f,"typedArray"),e.typedArray=f}(eW||(eW={}))}},function(){return n&&(i=(0,n[tP(n)[0]])(n=0)),i}),tB=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){"use strict";function t(){if(void 0===r)throw Error("No runtime abstraction layer installed");return r}Object.defineProperty(e,"__esModule",{value:!0}),tL(t,"RAL");var r,n=t||(t={});function i(e){if(void 0===e)throw Error("No runtime abstraction layer provided");r=e}tL(i,"install"),n.install=i,e.default=t}}),tW=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(e){"use strict";function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tL(t,"boolean"),e.boolean=t,tL(r,"string"),e.string=r,tL(n,"number"),e.number=n,tL(i,"error"),e.error=i,tL(a,"func"),e.func=a,tL(s,"array"),e.array=s,tL(o,"stringArray"),e.stringArray=o}}),tV=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){"use strict";let t;Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var r,n,i=tB();r=n||(e.Event=n={}),t={dispose(){}},r.None=function(){return t};var a=class{static{tL(this,"CallbackList")}add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:tL(()=>this.remove(e,t),"dispose")})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e)if(this._contexts[n]===t){this._callbacks.splice(n,1),this._contexts.splice(n,1);return}else r=!0;if(r)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let a=0,s=r.length;a<s;a++)try{t.push(r[a].apply(n[a],e))}catch(e){(0,i.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},s=class e{static{tL(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(t,r,n)=>{this._callbacks||(this._callbacks=new a),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,r);let i={dispose:tL(()=>{this._callbacks&&(this._callbacks.remove(t,r),i.dispose=e._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};e.Emitter=s,s._noop=function(){}}}),tH=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,r=tB(),n=tW(),i=tV(),a=t||(e.CancellationToken=t={});function s(e){return e&&(e===a.None||e===a.Cancelled||n.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),tL(s,"is"),a.is=s;var o=Object.freeze(function(e,t){let n=(0,r.default)().timer.setTimeout(e.bind(t),0);return{dispose(){n.dispose()}}}),l=class{static{tL(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}};e.CancellationTokenSource=class{static{tL(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=t.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=t.None}}}}),tY=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t,r,n,i=tW();(t=r||(e.ErrorCodes=r={})).ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3,e.ResponseError=class e extends Error{static{tL(this,"ResponseError")}constructor(t,n,a){super(n),this.code=i.number(t)?t:r.UnknownErrorCode,this.data=a,Object.setPrototypeOf(this,e.prototype)}toJson(){let e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}};var a=class e{static{tL(this,"ParameterStructures")}constructor(e){this.kind=e}static is(t){return t===e.auto||t===e.byName||t===e.byPosition}toString(){return this.kind}};e.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");var s=class{static{tL(this,"AbstractMessageSignature")}constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return a.auto}};e.AbstractMessageSignature=s,e.RequestType0=class extends s{static{tL(this,"RequestType0")}constructor(e){super(e,0)}},e.RequestType=class extends s{static{tL(this,"RequestType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType1=class extends s{static{tL(this,"RequestType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType2=class extends s{static{tL(this,"RequestType2")}constructor(e){super(e,2)}},e.RequestType3=class extends s{static{tL(this,"RequestType3")}constructor(e){super(e,3)}},e.RequestType4=class extends s{static{tL(this,"RequestType4")}constructor(e){super(e,4)}},e.RequestType5=class extends s{static{tL(this,"RequestType5")}constructor(e){super(e,5)}},e.RequestType6=class extends s{static{tL(this,"RequestType6")}constructor(e){super(e,6)}},e.RequestType7=class extends s{static{tL(this,"RequestType7")}constructor(e){super(e,7)}},e.RequestType8=class extends s{static{tL(this,"RequestType8")}constructor(e){super(e,8)}},e.RequestType9=class extends s{static{tL(this,"RequestType9")}constructor(e){super(e,9)}},e.NotificationType=class extends s{static{tL(this,"NotificationType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType0=class extends s{static{tL(this,"NotificationType0")}constructor(e){super(e,0)}},e.NotificationType1=class extends s{static{tL(this,"NotificationType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType2=class extends s{static{tL(this,"NotificationType2")}constructor(e){super(e,2)}},e.NotificationType3=class extends s{static{tL(this,"NotificationType3")}constructor(e){super(e,3)}},e.NotificationType4=class extends s{static{tL(this,"NotificationType4")}constructor(e){super(e,4)}},e.NotificationType5=class extends s{static{tL(this,"NotificationType5")}constructor(e){super(e,5)}},e.NotificationType6=class extends s{static{tL(this,"NotificationType6")}constructor(e){super(e,6)}},e.NotificationType7=class extends s{static{tL(this,"NotificationType7")}constructor(e){super(e,7)}},e.NotificationType8=class extends s{static{tL(this,"NotificationType8")}constructor(e){super(e,8)}},e.NotificationType9=class extends s{static{tL(this,"NotificationType9")}constructor(e){super(e,9)}},function(e){function t(e){return e&&i.string(e.method)&&(i.string(e.id)||i.number(e.id))}function r(e){return e&&i.string(e.method)&&void 0===e.id}function n(e){return e&&(void 0!==e.result||!!e.error)&&(i.string(e.id)||i.number(e.id)||null===e.id)}tL(t,"isRequest"),e.isRequest=t,tL(r,"isNotification"),e.isNotification=r,tL(n,"isResponse"),e.isResponse=n}(n||(e.Message=n={}))}}),tQ=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,(t=n||(e.Touch=n={})).None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last;var t,r,n,i=class{static{tL(this,"LinkedMap")}constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){let r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==r)throw Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tL(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.key,done:!1};return t=t.next,e}},"next")};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tL(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.value,done:!1};return t=t.next,e}},"next")};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tL(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:[t.key,t.value],done:!1};return t=t.next,e}},"next")};return r}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail)if(this._head)e.next=this._head,this._head.previous=e;else throw Error("Invalid list");else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail)if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error("Invalid list");else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error("Invalid list");if(t===n.First||t===n.Last){if(t===n.First){if(e===this._head)return;let t=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(t.previous=r,r.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;let t=e.next,r=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=r,r.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){for(let[t,r]of(this.clear(),e))this.set(t,r)}};e.LinkedMap=i,e.LRUCache=class extends i{static{tL(this,"LRUCache")}constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}}}),tZ=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0;var t,r=t||(e.Disposable=t={});function n(e){return{dispose:e}}tL(n,"create"),r.create=n}}),tX=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t,r,n=tH();(t=r||(r={})).Continue=0,t.Cancelled=1,e.SharedArraySenderStrategy=class{static{tL(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(null===e.id)return;let t=new SharedArrayBuffer(4);new Int32Array(t,0,1)[0]=r.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let n=this.buffers.get(t);if(void 0===n)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,r.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};var i=class{static{tL(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},a=class{static{tL(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new i(e)}cancel(){}dispose(){}};e.SharedArrayReceiverStrategy=class{static{tL(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return void 0===t?new n.CancellationTokenSource:new a(t)}}}}),tJ=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=tB();e.Semaphore=class{static{tL(this,"Semaphore")}constructor(e=1){if(e<=0)throw Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(t=>{this._active--,e.resolve(t),this.runNext()},t=>{this._active--,e.reject(t),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}}}),t0=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t,r,n=tB(),i=tW(),a=tV(),s=tJ(),o=t||(e.MessageReader=t={});function l(e){return e&&i.func(e.listen)&&i.func(e.dispose)&&i.func(e.onError)&&i.func(e.onClose)&&i.func(e.onPartialMessage)}tL(l,"is"),o.is=l;var u=class{static{tL(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter,this.partialMessageEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:Error(`Reader received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageReader=u;var c=r||(r={});function p(e){let t,r,i,a=new Map,s=new Map;if(void 0===e||"string"==typeof e)t=e??"utf-8";else{if(t=e.charset??"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,a.set(r.name,r)),void 0!==e.contentDecoders)for(let t of e.contentDecoders)a.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(i=e.contentTypeDecoder,s.set(i.name,i)),void 0!==e.contentTypeDecoders)for(let t of e.contentTypeDecoders)s.set(t.name,t)}return void 0===i&&(i=(0,n.default)().applicationJson.decoder,s.set(i.name,i)),{charset:t,contentDecoder:r,contentDecoders:a,contentTypeDecoder:i,contentTypeDecoders:s}}tL(p,"fromOptions"),c.fromOptions=p,e.ReadableStreamMessageReader=class extends u{static{tL(this,"ReadableStreamMessageReader")}constructor(e,t){super(),this.readable=e,this.options=r.fromOptions(t),this.buffer=(0,n.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new s.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(e=>{this.onData(e)});return this.readable.onError(e=>this.fireError(e)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders(!0);if(!e)return;let t=e.get("content-length");if(!t)return void this.fireError(Error(`Header must provide a Content-Length property.
2
2
  ${JSON.stringify(Object.fromEntries(e))}`));let r=parseInt(t);if(isNaN(r))return void this.fireError(Error(`Content-Length value must be a number. Got ${t}`));this.nextMessageLength=r}let e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let t=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(e):e,r=await this.options.contentTypeDecoder.decode(t,this.options);this.callback(r)}).catch(e=>{this.fireError(e)})}}catch(e){this.fireError(e)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,n.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}}}),t1=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t,r,n=tB(),i=tW(),a=tJ(),s=tV(),o=t||(e.MessageWriter=t={});function l(e){return e&&i.func(e.dispose)&&i.func(e.onClose)&&i.func(e.onError)&&i.func(e.write)}tL(l,"is"),o.is=l;var u=class{static{tL(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,r){this.errorEmitter.fire([this.asError(e),t,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:Error(`Writer received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageWriter=u;var c=r||(r={});function p(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,n.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,n.default)().applicationJson.encoder}}tL(p,"fromOptions"),c.fromOptions=p,e.WriteableStreamMessageWriter=class extends u{static{tL(this,"WriteableStreamMessageWriter")}constructor(e,t){super(),this.writable=e,this.options=r.fromOptions(t),this.errorCount=0,this.writeSemaphore=new a.Semaphore(1),this.writable.onError(e=>this.fireError(e)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e).then(t=>{let r=[];return r.push("Content-Length: ",t.byteLength.toString(),"\r\n"),r.push("\r\n"),this.doWrite(e,r,t)},e=>{throw this.fireError(e),e}))}async doWrite(e,t,r){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(r)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}}}),t2=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0,e.AbstractMessageBuffer=class{static{tL(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(0===this._chunks.length)return;let t=0,r=0,n=0,i=0;e:for(;r<this._chunks.length;){let e=this._chunks[r];for(n=0;n<e.length;){switch(e[n]){case 13:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case 10:switch(t){case 1:t=2;break;case 3:t=4,n++;break e;default:t=0}break;default:t=0}n++}i+=e.byteLength,r++}if(4!==t)return;let a=this._read(i+n),s=new Map,o=this.toString(a,"ascii").split("\r\n");if(o.length<2)return s;for(let t=0;t<o.length-2;t++){let r=o[t],n=r.indexOf(":");if(-1===n)throw Error(`Message header must separate key and value using ':'
3
3
  ${r}`);let i=r.substr(0,n),a=r.substr(n+1).trim();s.set(e?i.toLowerCase():i,a)}return s}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(0===e)return this.emptyBuffer();if(e>this._totalLength)throw Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){let t=this._chunks[0],r=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,r}let t=this.allocNative(e),r=0;for(;e>0;){let n=this._chunks[0];if(n.byteLength>e){let i=n.slice(0,e);t.set(i,r),r+=e,this._chunks[0]=n.slice(e),this._totalLength-=e,e-=e}else t.set(n,r),r+=n.byteLength,this._chunks.shift(),this._totalLength-=n.byteLength,e-=n.byteLength}return t}}}}),t3=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C=tB(),S=tW(),k=tY(),x=tQ(),N=tV(),w=tH();(s||(s={})).type=new k.NotificationType("$/cancelRequest");var I=o||(e.ProgressToken=o={});function _(e){return"string"==typeof e||"number"==typeof e}tL(_,"is"),I.is=_,(l||(l={})).type=new k.NotificationType("$/progress"),e.ProgressType=class{static{tL(this,"ProgressType")}};var P=u||(u={});function O(e){return S.func(e)}tL(O,"is"),P.is=O,e.NullLogger=Object.freeze({error:tL(()=>{},"error"),warn:tL(()=>{},"warn"),info:tL(()=>{},"info"),log:tL(()=>{},"log")}),(t=c||(e.Trace=c={}))[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose",(r=p||(e.TraceValues=p={})).Off="off",r.Messages="messages",r.Compact="compact",r.Verbose="verbose";var D=c||(e.Trace=c={});function L(e){if(!S.string(e))return D.Off;switch(e=e.toLowerCase()){case"off":default:return D.Off;case"messages":return D.Messages;case"compact":return D.Compact;case"verbose":return D.Verbose}}function M(e){switch(e){case D.Off:return"off";case D.Messages:return"messages";case D.Compact:return"compact";case D.Verbose:return"verbose";default:return"off"}}tL(L,"fromString"),D.fromString=L,tL(M,"toString"),D.toString=M,(n=f||(e.TraceFormat=f={})).Text="text",n.JSON="json";var j=f||(e.TraceFormat=f={});function F(e){return S.string(e)&&"json"===(e=e.toLowerCase())?j.JSON:j.Text}tL(F,"fromString"),j.fromString=F,(d||(e.SetTraceNotification=d={})).type=new k.NotificationType("$/setTrace"),(m||(e.LogTraceNotification=m={})).type=new k.NotificationType("$/logTrace"),(i=h||(e.ConnectionErrors=h={}))[i.Closed=1]="Closed",i[i.Disposed=2]="Disposed",i[i.AlreadyListening=3]="AlreadyListening";var G=class e extends Error{static{tL(this,"ConnectionError")}constructor(t,r){super(r),this.code=t,Object.setPrototypeOf(this,e.prototype)}};e.ConnectionError=G;var z=y||(e.ConnectionStrategy=y={});function K(e){return e&&S.func(e.cancelUndispatched)}tL(K,"is"),z.is=K;var q=g||(e.IdCancellationReceiverStrategy=g={});function U(e){return e&&(void 0===e.kind||"id"===e.kind)&&S.func(e.createCancellationTokenSource)&&(void 0===e.dispose||S.func(e.dispose))}tL(U,"is"),q.is=U;var B=T||(e.RequestCancellationReceiverStrategy=T={});function W(e){return e&&"request"===e.kind&&S.func(e.createCancellationTokenSource)&&(void 0===e.dispose||S.func(e.dispose))}tL(W,"is"),B.is=W;var V=v||(e.CancellationReceiverStrategy=v={});function H(e){return g.is(e)||T.is(e)}V.Message=Object.freeze({createCancellationTokenSource:e=>new w.CancellationTokenSource}),tL(H,"is"),V.is=H;var Y=$||(e.CancellationSenderStrategy=$={});function Q(e){return e&&S.func(e.sendCancellation)&&S.func(e.cleanup)}Y.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(s.type,{id:t}),cleanup(e){}}),tL(Q,"is"),Y.is=Q;var Z=R||(e.CancellationStrategy=R={});function X(e){return e&&v.is(e.receiver)&&$.is(e.sender)}Z.Message=Object.freeze({receiver:v.Message,sender:$.Message}),tL(X,"is"),Z.is=X;var J=E||(e.MessageStrategy=E={});function ee(e){return e&&S.func(e.handleMessage)}tL(ee,"is"),J.is=ee;var et=b||(e.ConnectionOptions=b={});function er(e){return e&&(R.is(e.cancellationStrategy)||y.is(e.connectionStrategy)||E.is(e.messageStrategy))}function en(t,r,n,i){let a,p,y,T,v=void 0!==n?n:e.NullLogger,$=0,b=0,I=0,_=new Map,P=new Map,O=new Map,D=new x.LinkedMap,L=new Map,M=new Set,j=new Map,F=c.Off,z=f.Text,K=A.New,q=new N.Emitter,U=new N.Emitter,B=new N.Emitter,W=new N.Emitter,V=new N.Emitter,H=i&&i.cancellationStrategy?i.cancellationStrategy:R.Message;function Y(e){if(null===e)throw Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function Q(e){return null===e?"res-unknown-"+(++I).toString():"res-"+e.toString()}function Z(){return"not-"+(++b).toString()}function X(e,t){k.Message.isRequest(t)?e.set(Y(t.id),t):k.Message.isResponse(t)?e.set(Q(t.id),t):e.set(Z(),t)}function J(e){}function ee(){return K===A.Listening}function et(){return K===A.Closed}function er(){return K===A.Disposed}function en(){(K===A.New||K===A.Listening)&&(K=A.Closed,U.fire(void 0))}function ei(e){q.fire([e,void 0,void 0])}function ea(e){q.fire(e)}function es(){a||0===D.size||(a=(0,C.default)().timer.setImmediate(()=>{a=void 0,el()}))}function eo(e){k.Message.isRequest(e)?ec(e):k.Message.isNotification(e)?ef(e):k.Message.isResponse(e)?ep(e):ed(e)}function el(){if(0===D.size)return;let e=D.shift();try{let t=i?.messageStrategy;E.is(t)?t.handleMessage(e,eo):eo(e)}finally{es()}}tL(Y,"createRequestQueueKey"),tL(Q,"createResponseQueueKey"),tL(Z,"createNotificationQueueKey"),tL(X,"addMessageToQueue"),tL(J,"cancelUndispatched"),tL(ee,"isListening"),tL(et,"isClosed"),tL(er,"isDisposed"),tL(en,"closeHandler"),tL(ei,"readErrorHandler"),tL(ea,"writeErrorHandler"),t.onClose(en),t.onError(ei),r.onClose(en),r.onError(ea),tL(es,"triggerMessageQueue"),tL(eo,"handleMessage"),tL(el,"processMessageQueue");let eu=tL(e=>{try{if(k.Message.isNotification(e)&&e.method===s.type.method){let t=e.params.id,n=Y(t),a=D.get(n);if(k.Message.isRequest(a)){let s=i?.connectionStrategy,o=s&&s.cancelUndispatched?s.cancelUndispatched(a,J):J(a);if(o&&(void 0!==o.error||void 0!==o.result)){D.delete(n),j.delete(t),o.id=a.id,eg(o,e.method,Date.now()),r.write(o).catch(()=>v.error("Sending response for canceled message failed."));return}}let s=j.get(t);if(void 0!==s){s.cancel(),ev(e);return}M.add(t)}X(D,e)}finally{es()}},"callback");function ec(e){let t,n;if(er())return;function i(t,n,i){let a={jsonrpc:"2.0",id:e.id};t instanceof k.ResponseError?a.error=t.toJson():a.result=void 0===t?null:t,eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}function a(t,n,i){let a={jsonrpc:"2.0",id:e.id,error:t.toJson()};eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}function s(t,n,i){void 0===t&&(t=null);let a={jsonrpc:"2.0",id:e.id,result:t};eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}tL(i,"reply"),tL(a,"replyError"),tL(s,"replySuccess"),eT(e);let o=_.get(e.method);o&&(t=o.type,n=o.handler);let l=Date.now();if(n||y){let r=e.id??String(Date.now()),o=g.is(H.receiver)?H.receiver.createCancellationTokenSource(r):H.receiver.createCancellationTokenSource(e);null!==e.id&&M.has(e.id)&&o.cancel(),null!==e.id&&j.set(r,o);try{let u;if(n)if(void 0===e.params){if(void 0!==t&&0!==t.numberOfParams)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines ${t.numberOfParams} params but received none.`),e.method,l);u=n(o.token)}else if(Array.isArray(e.params)){if(void 0!==t&&t.parameterStructures===k.ParameterStructures.byName)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,l);u=n(...e.params,o.token)}else{if(void 0!==t&&t.parameterStructures===k.ParameterStructures.byPosition)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,l);u=n(e.params,o.token)}else y&&(u=y(e.method,e.params,o.token));let c=u;u?c.then?c.then(t=>{j.delete(r),i(t,e.method,l)},t=>{j.delete(r),t instanceof k.ResponseError?a(t,e.method,l):t&&S.string(t.message)?a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}):(j.delete(r),i(u,e.method,l)):(j.delete(r),s(u,e.method,l))}catch(t){j.delete(r),t instanceof k.ResponseError?i(t,e.method,l):t&&S.string(t.message)?a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}}else a(new k.ResponseError(k.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,l)}function ep(e){if(!er())if(null===e.id)e.error?v.error(`Received response message without id: Error is:
4
4
  ${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{let t=e.id,r=L.get(t);if(e$(e,r),void 0!==r){L.delete(t);try{if(e.error){let t=e.error;r.reject(new k.ResponseError(t.code,t.message,t.data))}else if(void 0!==e.result)r.resolve(e.result);else throw Error("Should never happen.")}catch(e){e.message?v.error(`Response handler '${r.method}' failed with message: ${e.message}`):v.error(`Response handler '${r.method}' failed unexpectedly.`)}}}}function ef(e){let t,r;if(!er()){if(e.method===s.type.method){let t=e.params.id;M.delete(t),ev(e);return}{let n=P.get(e.method);n&&(t=n.handler,r=n.type)}if(t||T)try{if(ev(e),t)if(void 0===e.params)void 0!==r&&0!==r.numberOfParams&&r.parameterStructures!==k.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${r.numberOfParams} params but received none.`),t();else if(Array.isArray(e.params)){let n=e.params;e.method===l.type.method&&2===n.length&&o.is(n[0])?t({token:n[0],value:n[1]}):(void 0!==r&&(r.parameterStructures===k.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),r.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${r.numberOfParams} params but received ${n.length} arguments`)),t(...n))}else void 0!==r&&r.parameterStructures===k.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),t(e.params);else T&&T(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else B.fire(e)}}function ed(e){if(!e)return void v.error("Received empty message.");if(v.error(`Received message which is neither a response nor a notification message:
@@ -18,28 +18,28 @@ ${JSON.stringify(e,null,4)}`),S.string(e.id)||S.number(e.id)){let t=e.id,r=L.get
18
18
 
19
19
  `:e.result?r=`Result: ${em(e.result)}
20
20
 
21
- `:void 0===e.error&&(r="No result returned.\n\n")),t){let n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";p.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,r)}else p.log(`Received response ${e.id} without active response promise.`,r)}else eR("receive-response",e)}function eR(e,t){if(!p||F===c.Off)return;let r={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};p.log(r)}function eE(){if(et())throw new G(h.Closed,"Connection is closed.");if(er())throw new G(h.Disposed,"Connection is disposed.")}function eb(){if(ee())throw new G(h.AlreadyListening,"Connection is already listening")}function eA(){if(!ee())throw Error("Call listen() first.")}function eC(e){return void 0===e?null:e}function eS(e){if(null!==e)return e}function ek(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function ex(e,t){switch(e){case k.ParameterStructures.auto:if(ek(t))return eS(t);return[eC(t)];case k.ParameterStructures.byName:if(!ek(t))throw Error("Received parameters by name but param is not an object literal.");return eS(t);case k.ParameterStructures.byPosition:return[eC(t)];default:throw Error(`Unknown parameter structure ${e.toString()}`)}}function eN(e,t){let r,n=e.numberOfParams;switch(n){case 0:r=void 0;break;case 1:r=ex(e.parameterStructures,t[0]);break;default:r=[];for(let e=0;e<t.length&&e<n;e++)r.push(eC(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)r.push(null)}return r}tL(ec,"handleRequest"),tL(ep,"handleResponse"),tL(ef,"handleNotification"),tL(ed,"handleInvalidMessage"),tL(em,"stringifyTrace"),tL(eh,"traceSendingRequest"),tL(ey,"traceSendingNotification"),tL(eg,"traceSendingResponse"),tL(eT,"traceReceivedRequest"),tL(ev,"traceReceivedNotification"),tL(e$,"traceReceivedResponse"),tL(eR,"logLSPMessage"),tL(eE,"throwIfClosedOrDisposed"),tL(eb,"throwIfListening"),tL(eA,"throwIfNotListening"),tL(eC,"undefinedToNull"),tL(eS,"nullToUndefined"),tL(ek,"isNamedParam"),tL(ex,"computeSingleParam"),tL(eN,"computeMessageParams");let ew={sendNotification:tL((e,...t)=>{let n,i;if(eE(),S.string(e)){n=e;let r=t[0],a=0,s=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(a=1,s=r);let o=t.length,l=o-a;switch(l){case 0:i=void 0;break;case 1:i=ex(s,t[a]);break;default:if(s===k.ParameterStructures.byName)throw Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);i=t.slice(a,o).map(e=>eC(e))}}else n=e.method,i=eN(e,t);let a={jsonrpc:"2.0",method:n,params:i};return ey(a),r.write(a).catch(e=>{throw v.error("Sending notification failed."),e})},"sendNotification"),onNotification:tL((e,t)=>{let r;return eE(),S.func(e)?T=e:t&&(S.string(e)?(r=e,P.set(e,{type:void 0,handler:t})):(r=e.method,P.set(e.method,{type:e,handler:t}))),{dispose:tL(()=>{void 0!==r?P.delete(r):T=void 0},"dispose")}},"onNotification"),onProgress:tL((e,t,r)=>{if(O.has(t))throw Error(`Progress handler for token ${t} already registered`);return O.set(t,r),{dispose:tL(()=>{O.delete(t)},"dispose")}},"onProgress"),sendProgress:tL((e,t,r)=>ew.sendNotification(l.type,{token:t,value:r}),"sendProgress"),onUnhandledProgress:W.event,sendRequest:tL((e,...t)=>{let n,i,a,s;if(eE(),eA(),S.string(e)){n=e;let r=t[0],a=t[t.length-1],o=0,l=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(o=1,l=r);let u=t.length;w.CancellationToken.is(a)&&(u-=1,s=a);let c=u-o;switch(c){case 0:i=void 0;break;case 1:i=ex(l,t[o]);break;default:if(l===k.ParameterStructures.byName)throw Error(`Received ${c} parameters for 'by Name' request parameter structure.`);i=t.slice(o,u).map(e=>eC(e))}}else{n=e.method,i=eN(e,t);let r=e.numberOfParams;s=w.CancellationToken.is(t[r])?t[r]:void 0}let o=$++;s&&(a=s.onCancellationRequested(()=>{let e=H.sender.sendCancellation(ew,o);return void 0===e?(v.log(`Received no promise from cancellation strategy when cancelling id ${o}`),Promise.resolve()):e.catch(()=>{v.log(`Sending cancellation messages for id ${o} failed`)})}));let l={jsonrpc:"2.0",id:o,method:n,params:i};return eh(l),"function"==typeof H.sender.enableCancellation&&H.sender.enableCancellation(l),new Promise(async(e,t)=>{let i=tL(t=>{e(t),H.sender.cleanup(o),a?.dispose()},"resolveWithCleanup"),s=tL(e=>{t(e),H.sender.cleanup(o),a?.dispose()},"rejectWithCleanup"),u={method:n,timerStart:Date.now(),resolve:i,reject:s};try{await r.write(l),L.set(o,u)}catch(e){throw v.error("Sending request failed."),u.reject(new k.ResponseError(k.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),e}})},"sendRequest"),onRequest:tL((e,t)=>{eE();let r=null;return u.is(e)?(r=void 0,y=e):S.string(e)?(r=null,void 0!==t&&(r=e,_.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,_.set(e.method,{type:e,handler:t})),{dispose:tL(()=>{null!==r&&(void 0!==r?_.delete(r):y=void 0)},"dispose")}},"onRequest"),hasPendingResponse:tL(()=>L.size>0,"hasPendingResponse"),trace:tL(async(e,t,r)=>{let n=!1,i=f.Text;void 0!==r&&(S.boolean(r)?n=r:(n=r.sendNotification||!1,i=r.traceFormat||f.Text)),F=e,z=i,p=F===c.Off?void 0:t,!n||et()||er()||await ew.sendNotification(d.type,{value:c.toString(e)})},"trace"),onError:q.event,onClose:U.event,onUnhandledNotification:B.event,onDispose:V.event,end:tL(()=>{r.end()},"end"),dispose:tL(()=>{if(er())return;K=A.Disposed,V.fire(void 0);let e=new k.ResponseError(k.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let t of L.values())t.reject(e);L=new Map,j=new Map,M=new Set,D=new x.LinkedMap,S.func(r.dispose)&&r.dispose(),S.func(t.dispose)&&t.dispose()},"dispose"),listen:tL(()=>{eE(),eb(),K=A.Listening,t.listen(eu)},"listen"),inspect:tL(()=>{(0,C.default)().console.log("inspect")},"inspect")};return ew.onNotification(m.type,e=>{if(F===c.Off||!p)return;let t=F===c.Verbose||F===c.Compact;p.log(e.message,t?e.verbose:void 0)}),ew.onNotification(l.type,e=>{let t=O.get(e.token);t?t(e.value):W.fire(e)}),ew}tL(er,"is"),et.is=er,(a=A||(A={}))[a.New=1]="New",a[a.Listening=2]="Listening",a[a.Closed=3]="Closed",a[a.Disposed=4]="Disposed",tL(en,"createMessageConnection"),e.createMessageConnection=en}}),t9=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=tY();Object.defineProperty(e,"Message",{enumerable:!0,get:tL(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:tL(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:tL(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:tL(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:tL(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:tL(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:tL(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:tL(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:tL(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:tL(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:tL(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:tL(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:tL(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:tL(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:tL(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:tL(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:tL(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:tL(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:tL(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:tL(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:tL(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:tL(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:tL(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:tL(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:tL(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:tL(function(){return t.ParameterStructures},"get")});var r=tQ();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:tL(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:tL(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:tL(function(){return r.Touch},"get")});var n=tZ();Object.defineProperty(e,"Disposable",{enumerable:!0,get:tL(function(){return n.Disposable},"get")});var i=tV();Object.defineProperty(e,"Event",{enumerable:!0,get:tL(function(){return i.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:tL(function(){return i.Emitter},"get")});var a=tH();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:tL(function(){return a.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:tL(function(){return a.CancellationToken},"get")});var s=tX();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:tL(function(){return s.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:tL(function(){return s.SharedArrayReceiverStrategy},"get")});var o=t0();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:tL(function(){return o.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:tL(function(){return o.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:tL(function(){return o.ReadableStreamMessageReader},"get")});var l=t1();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:tL(function(){return l.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:tL(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:tL(function(){return l.WriteableStreamMessageWriter},"get")});var u=t2();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:tL(function(){return u.AbstractMessageBuffer},"get")});var c=t3();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:tL(function(){return c.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:tL(function(){return c.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:tL(function(){return c.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:tL(function(){return c.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:tL(function(){return c.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:tL(function(){return c.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:tL(function(){return c.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:tL(function(){return c.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:tL(function(){return c.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:tL(function(){return c.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:tL(function(){return c.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:tL(function(){return c.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:tL(function(){return c.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:tL(function(){return c.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:tL(function(){return c.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:tL(function(){return c.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:tL(function(){return c.MessageStrategy},"get")}),e.RAL=tB().default}}),t4=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=t9(),r=class e extends t.AbstractMessageBuffer{static{tL(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(e,t){return new TextEncoder().encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}};r.emptyBuffer=new Uint8Array(0);var n=class{static{tL(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new t.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then(e=>{this._onData.fire(new Uint8Array(e))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},i=class{static{tL(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},a=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:tL(e=>new r(e),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:tL((e,t)=>{if("utf-8"!==t.charset)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(a.encode(JSON.stringify(e,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:tL((e,t)=>{if(!(e instanceof Uint8Array))throw Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))},"decode")})}),stream:Object.freeze({asReadableStream:tL(e=>new n(e),"asReadableStream"),asWritableStream:tL(e=>new i(e),"asWritableStream")}),console,timer:Object.freeze({setTimeout(e,t,...r){let n=setTimeout(e,t,...r);return{dispose:tL(()=>clearTimeout(n),"dispose")}},setImmediate(e,...t){let r=setTimeout(e,0,...t);return{dispose:tL(()=>clearTimeout(r),"dispose")}},setInterval(e,t,...r){let n=setInterval(e,t,...r);return{dispose:tL(()=>clearInterval(n),"dispose")}}})});function o(){return s}tL(o,"RIL");var l=o||(o={});function u(){t.RAL.install(s)}tL(u,"install"),l.install=u,e.default=o}}),t5=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tL(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0,t4().default.install();var n=t9();function i(e,t,r,i){return void 0===r&&(r=n.NullLogger),n.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,n.createMessageConnection)(e,t,r,i)}r(t9(),e),e.BrowserMessageReader=class extends n.AbstractMessageReader{static{tL(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new n.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",e=>this.fireError(e)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}},e.BrowserMessageWriter=class extends n.AbstractMessageWriter{static{tL(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",e=>this.fireError(e))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}},tL(i,"createMessageConnection"),e.createMessageConnection=i}}),t6=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){"use strict";t.exports=t5()}}),t8=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t,r,n=t5();(t=r||(e.MessageDirection=r={})).clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both",e.RegistrationType=class{static{tL(this,"RegistrationType")}constructor(e){this.method=e}},e.ProtocolRequestType0=class extends n.RequestType0{static{tL(this,"ProtocolRequestType0")}constructor(e){super(e)}},e.ProtocolRequestType=class extends n.RequestType{static{tL(this,"ProtocolRequestType")}constructor(e){super(e,n.ParameterStructures.byName)}},e.ProtocolNotificationType0=class extends n.NotificationType0{static{tL(this,"ProtocolNotificationType0")}constructor(e){super(e)}},e.ProtocolNotificationType=class extends n.NotificationType{static{tL(this,"ProtocolNotificationType")}constructor(e){super(e,n.ParameterStructures.byName)}}}}),t7=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){"use strict";function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}function l(e,t){return Array.isArray(e)&&e.every(t)}function u(e){return null!==e&&"object"==typeof e}Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tL(t,"boolean"),e.boolean=t,tL(r,"string"),e.string=r,tL(n,"number"),e.number=n,tL(i,"error"),e.error=i,tL(a,"func"),e.func=a,tL(s,"array"),e.array=s,tL(o,"stringArray"),e.stringArray=o,tL(l,"typedArray"),e.typedArray=l,tL(u,"objectLiteral"),e.objectLiteral=u}}),re=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t,r,n=t8();(t=r||(e.ImplementationRequest=r={})).method="textDocument/implementation",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rt=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t,r,n=t8();(t=r||(e.TypeDefinitionRequest=r={})).method="textDocument/typeDefinition",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rr=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t,r,n,i,a=t8();(t=n||(e.WorkspaceFoldersRequest=n={})).method="workspace/workspaceFolders",t.messageDirection=a.MessageDirection.serverToClient,t.type=new a.ProtocolRequestType0(t.method),(r=i||(e.DidChangeWorkspaceFoldersNotification=i={})).method="workspace/didChangeWorkspaceFolders",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolNotificationType(r.method)}}),rn=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t,r,n=t8();(t=r||(e.ConfigurationRequest=r={})).method="workspace/configuration",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),ri=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t,r,n,i,a=t8();(t=n||(e.DocumentColorRequest=n={})).method="textDocument/documentColor",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.ColorPresentationRequest=i={})).method="textDocument/colorPresentation",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolRequestType(r.method)}}),ra=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t,r,n,i,a=t8();(t=n||(e.FoldingRangeRequest=n={})).method="textDocument/foldingRange",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.FoldingRangeRefreshRequest=i={})).method="workspace/foldingRange/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),rs=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t,r,n=t8();(t=r||(e.DeclarationRequest=r={})).method="textDocument/declaration",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),ro=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t,r,n=t8();(t=r||(e.SelectionRangeRequest=r={})).method="textDocument/selectionRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rl=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t,r,n,i,a,s=t5(),o=t8(),l=n||(e.WorkDoneProgress=n={});function u(e){return e===l.type}l.type=new s.ProgressType,tL(u,"is"),l.is=u,(t=i||(e.WorkDoneProgressCreateRequest=i={})).method="window/workDoneProgress/create",t.messageDirection=o.MessageDirection.serverToClient,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.WorkDoneProgressCancelNotification=a={})).method="window/workDoneProgress/cancel",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolNotificationType(r.method)}}),ru=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=t8();(t=i||(e.CallHierarchyPrepareRequest=i={})).method="textDocument/prepareCallHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.CallHierarchyIncomingCallsRequest=a={})).method="callHierarchy/incomingCalls",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.CallHierarchyOutgoingCallsRequest=s={})).method="callHierarchy/outgoingCalls",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),rc=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t,r,n,i,a,s,o,l,u,c,p,f=t8();(s||(e.TokenFormat=s={})).Relative="relative",(t=o||(e.SemanticTokensRegistrationType=o={})).method="textDocument/semanticTokens",t.type=new f.RegistrationType(t.method),(r=l||(e.SemanticTokensRequest=l={})).method="textDocument/semanticTokens/full",r.messageDirection=f.MessageDirection.clientToServer,r.type=new f.ProtocolRequestType(r.method),r.registrationMethod=o.method,(n=u||(e.SemanticTokensDeltaRequest=u={})).method="textDocument/semanticTokens/full/delta",n.messageDirection=f.MessageDirection.clientToServer,n.type=new f.ProtocolRequestType(n.method),n.registrationMethod=o.method,(i=c||(e.SemanticTokensRangeRequest=c={})).method="textDocument/semanticTokens/range",i.messageDirection=f.MessageDirection.clientToServer,i.type=new f.ProtocolRequestType(i.method),i.registrationMethod=o.method,(a=p||(e.SemanticTokensRefreshRequest=p={})).method="workspace/semanticTokens/refresh",a.messageDirection=f.MessageDirection.serverToClient,a.type=new f.ProtocolRequestType0(a.method)}}),rp=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t,r,n=t8();(t=r||(e.ShowDocumentRequest=r={})).method="window/showDocument",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),rf=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t,r,n=t8();(t=r||(e.LinkedEditingRangeRequest=r={})).method="textDocument/linkedEditingRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rd=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h=t8();(t=l||(e.FileOperationPatternKind=l={})).file="file",t.folder="folder",(r=u||(e.WillCreateFilesRequest=u={})).method="workspace/willCreateFiles",r.messageDirection=h.MessageDirection.clientToServer,r.type=new h.ProtocolRequestType(r.method),(n=c||(e.DidCreateFilesNotification=c={})).method="workspace/didCreateFiles",n.messageDirection=h.MessageDirection.clientToServer,n.type=new h.ProtocolNotificationType(n.method),(i=p||(e.WillRenameFilesRequest=p={})).method="workspace/willRenameFiles",i.messageDirection=h.MessageDirection.clientToServer,i.type=new h.ProtocolRequestType(i.method),(a=f||(e.DidRenameFilesNotification=f={})).method="workspace/didRenameFiles",a.messageDirection=h.MessageDirection.clientToServer,a.type=new h.ProtocolNotificationType(a.method),(s=d||(e.DidDeleteFilesNotification=d={})).method="workspace/didDeleteFiles",s.messageDirection=h.MessageDirection.clientToServer,s.type=new h.ProtocolNotificationType(s.method),(o=m||(e.WillDeleteFilesRequest=m={})).method="workspace/willDeleteFiles",o.messageDirection=h.MessageDirection.clientToServer,o.type=new h.ProtocolRequestType(o.method)}}),rm=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t,r,n,i,a,s,o=t8();(t=i||(e.UniquenessLevel=i={})).document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global",(r=a||(e.MonikerKind=a={})).$import="import",r.$export="export",r.local="local",(n=s||(e.MonikerRequest=s={})).method="textDocument/moniker",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),rh=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=t8();(t=i||(e.TypeHierarchyPrepareRequest=i={})).method="textDocument/prepareTypeHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.TypeHierarchySupertypesRequest=a={})).method="typeHierarchy/supertypes",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.TypeHierarchySubtypesRequest=s={})).method="typeHierarchy/subtypes",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),ry=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t,r,n,i,a=t8();(t=n||(e.InlineValueRequest=n={})).method="textDocument/inlineValue",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.InlineValueRefreshRequest=i={})).method="workspace/inlineValue/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),rg=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t,r,n,i,a,s,o=t8();(t=i||(e.InlayHintRequest=i={})).method="textDocument/inlayHint",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.InlayHintResolveRequest=a={})).method="inlayHint/resolve",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.InlayHintRefreshRequest=s={})).method="workspace/inlayHint/refresh",n.messageDirection=o.MessageDirection.serverToClient,n.type=new o.ProtocolRequestType0(n.method)}}),rT=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t,r,n,i,a,s,o,l,u,c=t5(),p=t7(),f=t8(),d=a||(e.DiagnosticServerCancellationData=a={});function m(e){return e&&p.boolean(e.retriggerRequest)}tL(m,"is"),d.is=m,(t=s||(e.DocumentDiagnosticReportKind=s={})).Full="full",t.Unchanged="unchanged",(r=o||(e.DocumentDiagnosticRequest=o={})).method="textDocument/diagnostic",r.messageDirection=f.MessageDirection.clientToServer,r.type=new f.ProtocolRequestType(r.method),r.partialResult=new c.ProgressType,(n=l||(e.WorkspaceDiagnosticRequest=l={})).method="workspace/diagnostic",n.messageDirection=f.MessageDirection.clientToServer,n.type=new f.ProtocolRequestType(n.method),n.partialResult=new c.ProgressType,(i=u||(e.DiagnosticRefreshRequest=u={})).method="workspace/diagnostic/refresh",i.messageDirection=f.MessageDirection.serverToClient,i.type=new f.ProtocolRequestType0(i.method)}}),rv=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y=(tU(),tK(tq)),g=t7(),T=t8(),v=s||(e.NotebookCellKind=s={});function $(e){return 1===e||2===e}v.Markup=1,v.Code=2,tL($,"is"),v.is=$,function(e){function t(e,t){let r={executionOrder:e};return(!0===t||!1===t)&&(r.success=t),r}function r(e){return g.objectLiteral(e)&&y.uinteger.is(e.executionOrder)&&(void 0===e.success||g.boolean(e.success))}function n(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success}tL(t,"create"),e.create=t,tL(r,"is"),e.is=r,tL(n,"equals"),e.equals=n}(o||(e.ExecutionSummary=o={})),function(e){function t(e,t){return{kind:e,document:t}}function r(e){return g.objectLiteral(e)&&s.is(e.kind)&&y.DocumentUri.is(e.document)&&(void 0===e.metadata||g.objectLiteral(e.metadata))}function n(e,t){let r=new Set;return e.document!==t.document&&r.add("document"),e.kind!==t.kind&&r.add("kind"),e.executionSummary!==t.executionSummary&&r.add("executionSummary"),void 0===e.metadata&&void 0===t.metadata||i(e.metadata,t.metadata)||r.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||o.equals(e.executionSummary,t.executionSummary)||r.add("executionSummary"),r}function i(e,t){if(e===t)return!0;if(null==e||null==t||typeof e!=typeof t||"object"!=typeof e)return!1;let r=Array.isArray(e),n=Array.isArray(t);if(r!==n)return!1;if(r&&n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!i(e[r],t[r]))return!1}if(g.objectLiteral(e)&&g.objectLiteral(t)){let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length||(r.sort(),n.sort(),!i(r,n)))return!1;for(let n=0;n<r.length;n++){let a=r[n];if(!i(e[a],t[a]))return!1}}return!0}tL(t,"create"),e.create=t,tL(r,"is"),e.is=r,tL(n,"diff"),e.diff=n,tL(i,"equalsMetadata")}(l||(e.NotebookCell=l={}));var R=u||(e.NotebookDocument=u={});function E(e,t,r,n){return{uri:e,notebookType:t,version:r,cells:n}}function b(e){return g.objectLiteral(e)&&g.string(e.uri)&&y.integer.is(e.version)&&g.typedArray(e.cells,l.is)}tL(E,"create"),R.create=E,tL(b,"is"),R.is=b,(t=c||(e.NotebookDocumentSyncRegistrationType=c={})).method="notebookDocument/sync",t.messageDirection=T.MessageDirection.clientToServer,t.type=new T.RegistrationType(t.method),(r=p||(e.DidOpenNotebookDocumentNotification=p={})).method="notebookDocument/didOpen",r.messageDirection=T.MessageDirection.clientToServer,r.type=new T.ProtocolNotificationType(r.method),r.registrationMethod=c.method;var A=f||(e.NotebookCellArrayChange=f={});function C(e){return g.objectLiteral(e)&&y.uinteger.is(e.start)&&y.uinteger.is(e.deleteCount)&&(void 0===e.cells||g.typedArray(e.cells,l.is))}function S(e,t,r){let n={start:e,deleteCount:t};return void 0!==r&&(n.cells=r),n}tL(C,"is"),A.is=C,tL(S,"create"),A.create=S,(n=d||(e.DidChangeNotebookDocumentNotification=d={})).method="notebookDocument/didChange",n.messageDirection=T.MessageDirection.clientToServer,n.type=new T.ProtocolNotificationType(n.method),n.registrationMethod=c.method,(i=m||(e.DidSaveNotebookDocumentNotification=m={})).method="notebookDocument/didSave",i.messageDirection=T.MessageDirection.clientToServer,i.type=new T.ProtocolNotificationType(i.method),i.registrationMethod=c.method,(a=h||(e.DidCloseNotebookDocumentNotification=h={})).method="notebookDocument/didClose",a.messageDirection=T.MessageDirection.clientToServer,a.type=new T.ProtocolNotificationType(a.method),a.registrationMethod=c.method}}),r$=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionRequest=void 0;var t,r,n=t8();(t=r||(e.InlineCompletionRequest=r={})).method="textDocument/inlineCompletion",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rR=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangesFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.InlineCompletionRequest=e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C,S,k,x,N,w,I,_,P,O,D,L,M,j,F,G,z,K,q,U,B,W,V,H,Y,Q,Z,X,J,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ef,ed,em,eh,ey,eg,eT,ev,e$,eR,eE,eb,eA,eC,eS,ek,ex,eN,ew,eI,e_,eP,eO,eD,eL,eM,ej,eF,eG,ez,eK,eq,eU,eB,eW,eV,eH,eY,eQ,eZ,eX,eJ,e0,e1,e2,e3,e9,e4,e5,e6,e8,e7,te,tt,tr=t8(),tn=(tU(),tK(tq)),ti=t7(),ta=re();Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:tL(function(){return ta.ImplementationRequest},"get")});var ts=rt();Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:tL(function(){return ts.TypeDefinitionRequest},"get")});var to=rr();Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:tL(function(){return to.WorkspaceFoldersRequest},"get")}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:tL(function(){return to.DidChangeWorkspaceFoldersNotification},"get")});var tl=rn();Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:tL(function(){return tl.ConfigurationRequest},"get")});var tu=ri();Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:tL(function(){return tu.DocumentColorRequest},"get")}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:tL(function(){return tu.ColorPresentationRequest},"get")});var tc=ra();Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:tL(function(){return tc.FoldingRangeRequest},"get")}),Object.defineProperty(e,"FoldingRangeRefreshRequest",{enumerable:!0,get:tL(function(){return tc.FoldingRangeRefreshRequest},"get")});var tp=rs();Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:tL(function(){return tp.DeclarationRequest},"get")});var tf=ro();Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:tL(function(){return tf.SelectionRangeRequest},"get")});var td=rl();Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:tL(function(){return td.WorkDoneProgress},"get")}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:tL(function(){return td.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:tL(function(){return td.WorkDoneProgressCancelNotification},"get")});var tm=ru();Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:tL(function(){return tm.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:tL(function(){return tm.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:tL(function(){return tm.CallHierarchyPrepareRequest},"get")});var th=rc();Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:tL(function(){return th.TokenFormat},"get")}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:tL(function(){return th.SemanticTokensRequest},"get")}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:tL(function(){return th.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:tL(function(){return th.SemanticTokensRangeRequest},"get")}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:tL(function(){return th.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:tL(function(){return th.SemanticTokensRegistrationType},"get")});var ty=rp();Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:tL(function(){return ty.ShowDocumentRequest},"get")});var tg=rf();Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:tL(function(){return tg.LinkedEditingRangeRequest},"get")});var tT=rd();Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:tL(function(){return tT.FileOperationPatternKind},"get")}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:tL(function(){return tT.DidCreateFilesNotification},"get")}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:tL(function(){return tT.WillCreateFilesRequest},"get")}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:tL(function(){return tT.DidRenameFilesNotification},"get")}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:tL(function(){return tT.WillRenameFilesRequest},"get")}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:tL(function(){return tT.DidDeleteFilesNotification},"get")}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:tL(function(){return tT.WillDeleteFilesRequest},"get")});var tv=rm();Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:tL(function(){return tv.UniquenessLevel},"get")}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:tL(function(){return tv.MonikerKind},"get")}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:tL(function(){return tv.MonikerRequest},"get")});var t$=rh();Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:tL(function(){return t$.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:tL(function(){return t$.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:tL(function(){return t$.TypeHierarchySupertypesRequest},"get")});var tR=ry();Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:tL(function(){return tR.InlineValueRequest},"get")}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:tL(function(){return tR.InlineValueRefreshRequest},"get")});var tE=rg();Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:tL(function(){return tE.InlayHintRequest},"get")}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:tL(function(){return tE.InlayHintResolveRequest},"get")}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:tL(function(){return tE.InlayHintRefreshRequest},"get")});var tb=rT();Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:tL(function(){return tb.DiagnosticServerCancellationData},"get")}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:tL(function(){return tb.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:tL(function(){return tb.DocumentDiagnosticRequest},"get")}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:tL(function(){return tb.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:tL(function(){return tb.DiagnosticRefreshRequest},"get")});var tA=rv();Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:tL(function(){return tA.NotebookCellKind},"get")}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:tL(function(){return tA.ExecutionSummary},"get")}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:tL(function(){return tA.NotebookCell},"get")}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:tL(function(){return tA.NotebookDocument},"get")}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:tL(function(){return tA.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:tL(function(){return tA.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:tL(function(){return tA.NotebookCellArrayChange},"get")}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:tL(function(){return tA.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:tL(function(){return tA.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:tL(function(){return tA.DidCloseNotebookDocumentNotification},"get")});var tC=r$();Object.defineProperty(e,"InlineCompletionRequest",{enumerable:!0,get:tL(function(){return tC.InlineCompletionRequest},"get")});var tS=et||(e.TextDocumentFilter=et={});function tk(e){return ti.string(e)||ti.string(e.language)||ti.string(e.scheme)||ti.string(e.pattern)}tL(tk,"is"),tS.is=tk;var tx=er||(e.NotebookDocumentFilter=er={});function tN(e){return ti.objectLiteral(e)&&(ti.string(e.notebookType)||ti.string(e.scheme)||ti.string(e.pattern))}tL(tN,"is"),tx.is=tN;var tw=en||(e.NotebookCellTextDocumentFilter=en={});function tI(e){return ti.objectLiteral(e)&&(ti.string(e.notebook)||er.is(e.notebook))&&(void 0===e.language||ti.string(e.language))}tL(tI,"is"),tw.is=tI;var t_=ei||(e.DocumentSelector=ei={});function tP(e){if(!Array.isArray(e))return!1;for(let t of e)if(!ti.string(t)&&!et.is(t)&&!en.is(t))return!1;return!0}tL(tP,"is"),t_.is=tP,(t=ea||(e.RegistrationRequest=ea={})).method="client/registerCapability",t.messageDirection=tr.MessageDirection.serverToClient,t.type=new tr.ProtocolRequestType(t.method),(r=es||(e.UnregistrationRequest=es={})).method="client/unregisterCapability",r.messageDirection=tr.MessageDirection.serverToClient,r.type=new tr.ProtocolRequestType(r.method),(n=eo||(e.ResourceOperationKind=eo={})).Create="create",n.Rename="rename",n.Delete="delete",(i=el||(e.FailureHandlingKind=el={})).Abort="abort",i.Transactional="transactional",i.TextOnlyTransactional="textOnlyTransactional",i.Undo="undo",(a=eu||(e.PositionEncodingKind=eu={})).UTF8="utf-8",a.UTF16="utf-16",a.UTF32="utf-32";var tO=ec||(e.StaticRegistrationOptions=ec={});function tD(e){return e&&ti.string(e.id)&&e.id.length>0}tL(tD,"hasId"),tO.hasId=tD;var tM=ep||(e.TextDocumentRegistrationOptions=ep={});function tj(e){return e&&(null===e.documentSelector||ei.is(e.documentSelector))}tL(tj,"is"),tM.is=tj;var tF=ef||(e.WorkDoneProgressOptions=ef={});function tG(e){return ti.objectLiteral(e)&&(void 0===e.workDoneProgress||ti.boolean(e.workDoneProgress))}function tz(e){return e&&ti.boolean(e.workDoneProgress)}tL(tG,"is"),tF.is=tG,tL(tz,"hasWorkDoneProgress"),tF.hasWorkDoneProgress=tz,(s=ed||(e.InitializeRequest=ed={})).method="initialize",s.messageDirection=tr.MessageDirection.clientToServer,s.type=new tr.ProtocolRequestType(s.method),(em||(e.InitializeErrorCodes=em={})).unknownProtocolVersion=1,(o=eh||(e.InitializedNotification=eh={})).method="initialized",o.messageDirection=tr.MessageDirection.clientToServer,o.type=new tr.ProtocolNotificationType(o.method),(l=ey||(e.ShutdownRequest=ey={})).method="shutdown",l.messageDirection=tr.MessageDirection.clientToServer,l.type=new tr.ProtocolRequestType0(l.method),(u=eg||(e.ExitNotification=eg={})).method="exit",u.messageDirection=tr.MessageDirection.clientToServer,u.type=new tr.ProtocolNotificationType0(u.method),(c=eT||(e.DidChangeConfigurationNotification=eT={})).method="workspace/didChangeConfiguration",c.messageDirection=tr.MessageDirection.clientToServer,c.type=new tr.ProtocolNotificationType(c.method),(p=ev||(e.MessageType=ev={})).Error=1,p.Warning=2,p.Info=3,p.Log=4,p.Debug=5,(f=e$||(e.ShowMessageNotification=e$={})).method="window/showMessage",f.messageDirection=tr.MessageDirection.serverToClient,f.type=new tr.ProtocolNotificationType(f.method),(d=eR||(e.ShowMessageRequest=eR={})).method="window/showMessageRequest",d.messageDirection=tr.MessageDirection.serverToClient,d.type=new tr.ProtocolRequestType(d.method),(m=eE||(e.LogMessageNotification=eE={})).method="window/logMessage",m.messageDirection=tr.MessageDirection.serverToClient,m.type=new tr.ProtocolNotificationType(m.method),(h=eb||(e.TelemetryEventNotification=eb={})).method="telemetry/event",h.messageDirection=tr.MessageDirection.serverToClient,h.type=new tr.ProtocolNotificationType(h.method),(y=eA||(e.TextDocumentSyncKind=eA={})).None=0,y.Full=1,y.Incremental=2,(g=eC||(e.DidOpenTextDocumentNotification=eC={})).method="textDocument/didOpen",g.messageDirection=tr.MessageDirection.clientToServer,g.type=new tr.ProtocolNotificationType(g.method);var tB=eS||(e.TextDocumentContentChangeEvent=eS={});function tW(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}function tV(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}tL(tW,"isIncremental"),tB.isIncremental=tW,tL(tV,"isFull"),tB.isFull=tV,(T=ek||(e.DidChangeTextDocumentNotification=ek={})).method="textDocument/didChange",T.messageDirection=tr.MessageDirection.clientToServer,T.type=new tr.ProtocolNotificationType(T.method),(v=ex||(e.DidCloseTextDocumentNotification=ex={})).method="textDocument/didClose",v.messageDirection=tr.MessageDirection.clientToServer,v.type=new tr.ProtocolNotificationType(v.method),($=eN||(e.DidSaveTextDocumentNotification=eN={})).method="textDocument/didSave",$.messageDirection=tr.MessageDirection.clientToServer,$.type=new tr.ProtocolNotificationType($.method),(R=ew||(e.TextDocumentSaveReason=ew={})).Manual=1,R.AfterDelay=2,R.FocusOut=3,(E=eI||(e.WillSaveTextDocumentNotification=eI={})).method="textDocument/willSave",E.messageDirection=tr.MessageDirection.clientToServer,E.type=new tr.ProtocolNotificationType(E.method),(b=e_||(e.WillSaveTextDocumentWaitUntilRequest=e_={})).method="textDocument/willSaveWaitUntil",b.messageDirection=tr.MessageDirection.clientToServer,b.type=new tr.ProtocolRequestType(b.method),(A=eP||(e.DidChangeWatchedFilesNotification=eP={})).method="workspace/didChangeWatchedFiles",A.messageDirection=tr.MessageDirection.clientToServer,A.type=new tr.ProtocolNotificationType(A.method),(C=eO||(e.FileChangeType=eO={})).Created=1,C.Changed=2,C.Deleted=3;var tH=eD||(e.RelativePattern=eD={});function tY(e){return ti.objectLiteral(e)&&(tn.URI.is(e.baseUri)||tn.WorkspaceFolder.is(e.baseUri))&&ti.string(e.pattern)}tL(tY,"is"),tH.is=tY,(S=eL||(e.WatchKind=eL={})).Create=1,S.Change=2,S.Delete=4,(k=eM||(e.PublishDiagnosticsNotification=eM={})).method="textDocument/publishDiagnostics",k.messageDirection=tr.MessageDirection.serverToClient,k.type=new tr.ProtocolNotificationType(k.method),(x=ej||(e.CompletionTriggerKind=ej={})).Invoked=1,x.TriggerCharacter=2,x.TriggerForIncompleteCompletions=3,(N=eF||(e.CompletionRequest=eF={})).method="textDocument/completion",N.messageDirection=tr.MessageDirection.clientToServer,N.type=new tr.ProtocolRequestType(N.method),(w=eG||(e.CompletionResolveRequest=eG={})).method="completionItem/resolve",w.messageDirection=tr.MessageDirection.clientToServer,w.type=new tr.ProtocolRequestType(w.method),(I=ez||(e.HoverRequest=ez={})).method="textDocument/hover",I.messageDirection=tr.MessageDirection.clientToServer,I.type=new tr.ProtocolRequestType(I.method),(_=eK||(e.SignatureHelpTriggerKind=eK={})).Invoked=1,_.TriggerCharacter=2,_.ContentChange=3,(P=eq||(e.SignatureHelpRequest=eq={})).method="textDocument/signatureHelp",P.messageDirection=tr.MessageDirection.clientToServer,P.type=new tr.ProtocolRequestType(P.method),(O=eU||(e.DefinitionRequest=eU={})).method="textDocument/definition",O.messageDirection=tr.MessageDirection.clientToServer,O.type=new tr.ProtocolRequestType(O.method),(D=eB||(e.ReferencesRequest=eB={})).method="textDocument/references",D.messageDirection=tr.MessageDirection.clientToServer,D.type=new tr.ProtocolRequestType(D.method),(L=eW||(e.DocumentHighlightRequest=eW={})).method="textDocument/documentHighlight",L.messageDirection=tr.MessageDirection.clientToServer,L.type=new tr.ProtocolRequestType(L.method),(M=eV||(e.DocumentSymbolRequest=eV={})).method="textDocument/documentSymbol",M.messageDirection=tr.MessageDirection.clientToServer,M.type=new tr.ProtocolRequestType(M.method),(j=eH||(e.CodeActionRequest=eH={})).method="textDocument/codeAction",j.messageDirection=tr.MessageDirection.clientToServer,j.type=new tr.ProtocolRequestType(j.method),(F=eY||(e.CodeActionResolveRequest=eY={})).method="codeAction/resolve",F.messageDirection=tr.MessageDirection.clientToServer,F.type=new tr.ProtocolRequestType(F.method),(G=eQ||(e.WorkspaceSymbolRequest=eQ={})).method="workspace/symbol",G.messageDirection=tr.MessageDirection.clientToServer,G.type=new tr.ProtocolRequestType(G.method),(z=eZ||(e.WorkspaceSymbolResolveRequest=eZ={})).method="workspaceSymbol/resolve",z.messageDirection=tr.MessageDirection.clientToServer,z.type=new tr.ProtocolRequestType(z.method),(K=eX||(e.CodeLensRequest=eX={})).method="textDocument/codeLens",K.messageDirection=tr.MessageDirection.clientToServer,K.type=new tr.ProtocolRequestType(K.method),(q=eJ||(e.CodeLensResolveRequest=eJ={})).method="codeLens/resolve",q.messageDirection=tr.MessageDirection.clientToServer,q.type=new tr.ProtocolRequestType(q.method),(U=e0||(e.CodeLensRefreshRequest=e0={})).method="workspace/codeLens/refresh",U.messageDirection=tr.MessageDirection.serverToClient,U.type=new tr.ProtocolRequestType0(U.method),(B=e1||(e.DocumentLinkRequest=e1={})).method="textDocument/documentLink",B.messageDirection=tr.MessageDirection.clientToServer,B.type=new tr.ProtocolRequestType(B.method),(W=e2||(e.DocumentLinkResolveRequest=e2={})).method="documentLink/resolve",W.messageDirection=tr.MessageDirection.clientToServer,W.type=new tr.ProtocolRequestType(W.method),(V=e3||(e.DocumentFormattingRequest=e3={})).method="textDocument/formatting",V.messageDirection=tr.MessageDirection.clientToServer,V.type=new tr.ProtocolRequestType(V.method),(H=e9||(e.DocumentRangeFormattingRequest=e9={})).method="textDocument/rangeFormatting",H.messageDirection=tr.MessageDirection.clientToServer,H.type=new tr.ProtocolRequestType(H.method),(Y=e4||(e.DocumentRangesFormattingRequest=e4={})).method="textDocument/rangesFormatting",Y.messageDirection=tr.MessageDirection.clientToServer,Y.type=new tr.ProtocolRequestType(Y.method),(Q=e5||(e.DocumentOnTypeFormattingRequest=e5={})).method="textDocument/onTypeFormatting",Q.messageDirection=tr.MessageDirection.clientToServer,Q.type=new tr.ProtocolRequestType(Q.method),(e6||(e.PrepareSupportDefaultBehavior=e6={})).Identifier=1,(Z=e8||(e.RenameRequest=e8={})).method="textDocument/rename",Z.messageDirection=tr.MessageDirection.clientToServer,Z.type=new tr.ProtocolRequestType(Z.method),(X=e7||(e.PrepareRenameRequest=e7={})).method="textDocument/prepareRename",X.messageDirection=tr.MessageDirection.clientToServer,X.type=new tr.ProtocolRequestType(X.method),(J=te||(e.ExecuteCommandRequest=te={})).method="workspace/executeCommand",J.messageDirection=tr.MessageDirection.clientToServer,J.type=new tr.ProtocolRequestType(J.method),(ee=tt||(e.ApplyWorkspaceEditRequest=tt={})).method="workspace/applyEdit",ee.messageDirection=tr.MessageDirection.serverToClient,ee.type=new tr.ProtocolRequestType("workspace/applyEdit")}}),rE=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=t5();function r(e,r,n,i){return t.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,t.createMessageConnection)(e,r,n,i)}tL(r,"createProtocolConnection"),e.createProtocolConnection=r}}),rb=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){"use strict";var t,r,n=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tL(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=e&&e.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,i(t5(),e),i((tU(),tK(tq)),e),i(t8(),e),i(rR(),e);var a=rE();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:tL(function(){return a.createProtocolConnection},"get")}),(t=r||(e.LSPErrorCodes=r={})).lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800}}),rA=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tL(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var n=t6();function i(e,t,r,i){return(0,n.createMessageConnection)(e,t,r,i)}r(t6(),e),r(rb(),e),tL(i,"createProtocolConnection"),e.createProtocolConnection=i}}),rC={};tj(rC,{AbstractAstReflection:()=>r_,AbstractCstNode:()=>TW,AbstractLangiumParser:()=>T0,AbstractParserErrorMessageProvider:()=>T2,AbstractThreadedAsyncParser:()=>$0,AstUtils:()=>rq,BiMap:()=>vH,Cancellation:()=>vR,CompositeCstNodeImpl:()=>TH,ContextCache:()=>v2,CstNodeBuilder:()=>TB,CstUtils:()=>rS,DEFAULT_TOKENIZE_OPTIONS:()=>$v,DONE_RESULT:()=>rG,DatatypeSymbol:()=>TZ,DefaultAstNodeDescriptionProvider:()=>$o,DefaultAstNodeLocator:()=>$u,DefaultAsyncParser:()=>$J,DefaultCommentProvider:()=>$X,DefaultConfigurationProvider:()=>$p,DefaultDocumentBuilder:()=>$h,DefaultDocumentValidator:()=>$n,DefaultHydrator:()=>$3,DefaultIndexManager:()=>$y,DefaultJsonSerializer:()=>v8,DefaultLangiumDocumentFactory:()=>vG,DefaultLangiumDocuments:()=>vz,DefaultLangiumProfiler:()=>Rd,DefaultLexer:()=>$$,DefaultLexerErrorMessageProvider:()=>$T,DefaultLinker:()=>vq,DefaultNameProvider:()=>vB,DefaultReferenceDescriptionProvider:()=>$l,DefaultReferences:()=>vW,DefaultScopeComputation:()=>vY,DefaultScopeProvider:()=>v4,DefaultServiceRegistry:()=>v7,DefaultTokenBuilder:()=>vv,DefaultValueConverter:()=>v$,DefaultWorkspaceLock:()=>$2,DefaultWorkspaceManager:()=>$g,Deferred:()=>vw,Disposable:()=>e5,DisposableCache:()=>v0,DocumentCache:()=>v3,DocumentState:()=>e3,DocumentValidator:()=>e4,EMPTY_SCOPE:()=>vJ,EMPTY_STREAM:()=>rF,EmptyFileSystem:()=>Rl,EmptyFileSystemProvider:()=>Ro,ErrorWithLocation:()=>i5,GrammarAST:()=>r9,GrammarUtils:()=>i4,IndentationAwareLexer:()=>Ra,IndentationAwareTokenBuilder:()=>Ri,JSDocDocumentationProvider:()=>$Z,LangiumCompletionParser:()=>T9,LangiumParser:()=>T1,LangiumParserErrorMessageProvider:()=>T3,LeafCstNodeImpl:()=>TV,LexingMode:()=>e8,MapScope:()=>vZ,Module:()=>e6,MultiMap:()=>vV,MultiMapScope:()=>vX,OperationCancelled:()=>vk,ParserWorker:()=>$1,ProfilingTask:()=>Rm,Reduction:()=>eV,RefResolving:()=>vK,RegExpUtils:()=>i7,RootCstNodeImpl:()=>TQ,SimpleCache:()=>v1,StreamImpl:()=>rL,StreamScope:()=>vQ,TextDocument:()=>e0,TreeStreamImpl:()=>rK,URI:()=>vM,UriTrie:()=>vF,UriUtils:()=>e2,VALIDATE_EACH_NODE:()=>$r,ValidationCategory:()=>e9,ValidationRegistry:()=>$t,ValueConverter:()=>eJ,WorkspaceCache:()=>v9,assertCondition:()=>i8,assertUnreachable:()=>i6,createCompletionParser:()=>vy,createDefaultCoreModule:()=>$9,createDefaultSharedCoreModule:()=>$4,createGrammarConfig:()=>a7,createLangiumParser:()=>vg,createParser:()=>T8,delayNextTick:()=>vE,diagnosticData:()=>$e,eagerLoad:()=>$8,getDiagnosticRange:()=>$i,indentationBuilderDefaultOptions:()=>Rn,inject:()=>$5,interruptAndCheck:()=>vN,isAstNode:()=>rk,isAstNodeDescription:()=>rw,isAstNodeWithComment:()=>v5,isCompositeCstNode:()=>rP,isIMultiModeLexerDefinition:()=>$E,isJSDoc:()=>$C,isLeafCstNode:()=>rO,isLinkingError:()=>rI,isMultiReference:()=>rN,isNamed:()=>vU,isOperationCancelled:()=>vx,isReference:()=>rx,isRootCstNode:()=>rD,isTokenTypeArray:()=>$R,isTokenTypeDictionary:()=>$b,loadGrammarFromJson:()=>Rf,parseJSDoc:()=>$A,prepareLangiumParser:()=>vT,setInterruptionPeriod:()=>vS,startCancelableOperation:()=>vC,stream:()=>rz,toDiagnosticData:()=>$s,toDiagnosticSeverity:()=>$a});var rS={};function rk(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function rx(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"ref"in e}function rN(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"items"in e}function rw(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function rI(e){return"object"==typeof e&&null!==e&&"object"==typeof e.info&&"string"==typeof e.message}tj(rS,{DefaultNameRegexp:()=>iW,RangeComparison:()=>eH,compareRange:()=>iU,findCommentNode:()=>iH,findDeclarationNodeAtOffset:()=>iV,findLeafNodeAtOffset:()=>iQ,findLeafNodeBeforeOffset:()=>iZ,flattenCst:()=>iG,getDatatypeNode:()=>ij,getInteriorNodes:()=>i2,getNextNode:()=>i0,getPreviousNode:()=>iJ,getStartlineNode:()=>i1,inRange:()=>iB,isChildNode:()=>iz,isCommentNode:()=>iY,streamCst:()=>iF,toDocumentSegment:()=>iq,tokenToRange:()=>iK}),tL(rk,"isAstNode"),tL(rx,"isReference"),tL(rN,"isMultiReference"),tL(rw,"isAstNodeDescription"),tL(rI,"isLinkingError");var r_=class{static{tL(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw Error(`Type ${e.container.$type||"undefined"} not found.`);let r=t.properties[e.property]?.referenceType;if(!r)throw Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){let t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return rk(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.types[e],i=!!n&&n.superTypes.some(e=>this.isSubtype(e,t));return r[t]=i,i}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}};function rP(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function rO(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function rD(e){return rP(e)&&"string"==typeof e.fullText}tL(rP,"isCompositeCstNode"),tL(rO,"isLeafCstNode"),tL(rD,"isRootCstNode");var rL=class e{static{tL(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:tL(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e,t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done)return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(t){return new e(()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(!(t=this.nextFn(e.first)).done)return t;while(!t.done)e.firstDone=!0}do if(!(t=e.iterator.next()).done)return t;while(!t.done)return rG})}join(e=","){let t,r=this.iterator(),n="",i=!1;do(t=r.next()).done||(i&&(n+=e),n+=rM(t.value)),i=!0;while(!t.done)return n}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(t){return new e(this.startFn,e=>{let{done:r,value:n}=this.nextFn(e);return r?rG:{done:!1,value:t(n)}})}filter(t){return new e(this.startFn,e=>{let r;do if(!(r=this.nextFn(e)).done&&t(r.value))return r;while(!r.done)return rG})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(t){return new e(()=>({this:this.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=this.nextFn(e.this);if(!r){let r=t(n);if(!rj(r))return{done:!1,value:r};e.iterator=r[Symbol.iterator]()}}while(e.iterator)return rG})}flat(t){if(void 0===t&&(t=1),t<=0)return this;let r=t>1?this.flat(t-1):this;return new e(()=>({this:r.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:t,value:n}=r.nextFn(e.this);if(!t)if(!rj(n))return{done:!1,value:n};else e.iterator=n[Symbol.iterator]()}while(e.iterator)return rG})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{let e=this.startFn();for(let r=0;r<t&&!this.nextFn(e).done;r++);return e},this.nextFn)}limit(t){return new e(()=>({size:0,state:this.startFn()}),e=>(e.size++,e.size>t)?rG:this.nextFn(e.state))}distinct(t){return new e(()=>({set:new Set,internalState:this.startFn()}),e=>{let r;do if(!(r=this.nextFn(e.internalState)).done){let n=t?t(r.value):r.value;if(!e.set.has(n))return e.set.add(n),r}while(!r.done)return rG})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}};function rM(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function rj(e){return!!e&&"function"==typeof e[Symbol.iterator]}tL(rM,"toString"),tL(rj,"isIterable");var rF=new rL(()=>void 0,()=>rG),rG=Object.freeze({done:!0,value:void 0});function rz(...e){if(1===e.length){let t=e[0];if(t instanceof rL)return t;if(rj(t))return new rL(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new rL(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:rG)}return e.length>1?new rL(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];rj(r)?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length)return rG}):rF}tL(rz,"stream");var rK=class extends rL{static{tL(this,"TreeStreamImpl")}constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return rG})}iterator(){let e={state:this.startFn(),next:tL(()=>this.nextFn(e.state),"next"),prune:tL(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};!function(e){function t(e){return e.reduce((e,t)=>e+t,0)}function r(e){return e.reduce((e,t)=>e*t,0)}function n(e){return e.reduce((e,t)=>Math.min(e,t))}function i(e){return e.reduce((e,t)=>Math.max(e,t))}tL(t,"sum"),e.sum=t,tL(r,"product"),e.product=r,tL(n,"min"),e.min=n,tL(i,"max"),e.max=i}(eV||(eV={}));var rq={};function rU(e,t={}){for(let[r,n]of Object.entries(e))!r.startsWith("$")&&(Array.isArray(n)?n.forEach((n,i)=>{rk(n)&&(n.$container=e,n.$containerProperty=r,n.$containerIndex=i,t.deep&&rU(n,t))}):rk(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&rU(n,t)))}function rB(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function rW(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}function rV(e){let t=rH(e).$document;if(!t)throw Error("AST node has no document.");return t}function rH(e){for(;e.$container;)e=e.$container;return e}function rY(e){return rx(e)?e.ref?[e.ref]:[]:rN(e)?e.items.map(e=>e.ref):[]}function rQ(e,t){if(!e)throw Error("Node must be an AstNode.");let r=t?.range;return new rL(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let n=t.keys[t.keyIndex];if(!n.startsWith("$")){let i=e[n];if(rk(i)){if(t.keyIndex++,rJ(i,r))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let e=i[t.arrayIndex++];if(rk(e)&&rJ(e,r))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return rG})}function rZ(e,t){if(!e)throw Error("Root node must be an AstNode.");return new rK(e,e=>rQ(e,t))}function rX(e,t){if(e){if(t?.range&&!rJ(e,t.range))return new rK(e,()=>[])}else throw Error("Root node must be an AstNode.");return new rK(e,e=>rQ(e,t),{includeRoot:!0})}function rJ(e,t){if(!t)return!0;let r=e.$cstNode?.range;return!!r&&iB(r,t)}function r0(e){return new rL(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let n=e[r];if(rx(n)||rN(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){let i=t.arrayIndex++,a=n[i];if(rx(a)||rN(n))return{done:!1,value:{reference:a,container:e,property:r,index:i}}}t.arrayIndex=0}}t.keyIndex++}return rG})}function r1(e,t){for(let r of Object.values(e.getTypeMetaData(t.$type).properties))void 0!==r.defaultValue&&void 0===t[r.name]&&(t[r.name]=r2(r.defaultValue))}function r2(e){return Array.isArray(e)?[...e.map(r2)]:e}function r3(e,t,r){let n={$type:e.$type};for(let[i,a]of(r&&(r.set(e,n),r.set(n,e)),Object.entries(e)))if(!i.startsWith("$"))if(rk(a))n[i]=r3(a,t,r);else if(rx(a))n[i]=t(n,i,a.$refNode,a.$refText,a);else if(Array.isArray(a)){let e=[];for(let s of a)rk(s)?e.push(r3(s,t,r)):rx(s)?e.push(t(n,i,s.$refNode,s.$refText,s)):e.push(s);n[i]=e}else n[i]=a;return rU(n,{deep:!0}),n}tj(rq,{assignMandatoryProperties:()=>r1,copyAstNode:()=>r3,findRootNode:()=>rH,getContainerOfType:()=>rB,getDocument:()=>rV,getReferenceNodes:()=>rY,hasContainerOfType:()=>rW,linkContentToContainer:()=>rU,streamAllContents:()=>rZ,streamAst:()=>rX,streamContents:()=>rQ,streamReferences:()=>r0}),tL(rU,"linkContentToContainer"),tL(rB,"getContainerOfType"),tL(rW,"hasContainerOfType"),tL(rV,"getDocument"),tL(rH,"findRootNode"),tL(rY,"getReferenceNodes"),tL(rQ,"streamContents"),tL(rZ,"streamAllContents"),tL(rX,"streamAst"),tL(rJ,"isAstNodeInRange"),tL(r0,"streamReferences"),tL(r1,"assignMandatoryProperties"),tL(r2,"copyDefaultValue"),tL(r3,"copyAstNode");var r9={};tj(r9,{AbstractElement:()=>r5,AbstractParserRule:()=>r8,AbstractRule:()=>ne,AbstractType:()=>nr,Action:()=>ni,Alternatives:()=>ns,ArrayLiteral:()=>nl,ArrayType:()=>nc,Assignment:()=>nf,BooleanLiteral:()=>nm,CharacterRange:()=>ny,Condition:()=>nT,Conjunction:()=>n$,CrossReference:()=>nE,Disjunction:()=>nA,EndOfFile:()=>nS,Grammar:()=>nx,GrammarImport:()=>nw,Group:()=>n_,InferredType:()=>nO,InfixRule:()=>nL,InfixRuleOperatorList:()=>nj,InfixRuleOperators:()=>nG,Interface:()=>nK,Keyword:()=>nU,LangiumGrammarAstReflection:()=>iL,LangiumGrammarTerminals:()=>r4,NamedArgument:()=>nW,NegatedToken:()=>nH,Negation:()=>nQ,NumberLiteral:()=>nX,Parameter:()=>n0,ParameterReference:()=>n2,ParserRule:()=>n9,ReferenceType:()=>n5,RegexToken:()=>n8,ReturnType:()=>ie,RuleCall:()=>ir,SimpleType:()=>ia,StringLiteral:()=>io,TerminalAlternatives:()=>iu,TerminalElement:()=>ip,TerminalGroup:()=>im,TerminalRule:()=>iy,TerminalRuleCall:()=>iT,Type:()=>i$,TypeAttribute:()=>iE,TypeDefinition:()=>iA,UnionType:()=>iS,UnorderedGroup:()=>ix,UntilToken:()=>iw,ValueLiteral:()=>i_,Wildcard:()=>iO,isAbstractElement:()=>r6,isAbstractParserRule:()=>r7,isAbstractRule:()=>nt,isAbstractType:()=>nn,isAction:()=>na,isAlternatives:()=>no,isArrayLiteral:()=>nu,isArrayType:()=>np,isAssignment:()=>nd,isBooleanLiteral:()=>nh,isCharacterRange:()=>ng,isCondition:()=>nv,isConjunction:()=>nR,isCrossReference:()=>nb,isDisjunction:()=>nC,isEndOfFile:()=>nk,isGrammar:()=>nN,isGrammarImport:()=>nI,isGroup:()=>nP,isInferredType:()=>nD,isInfixRule:()=>nM,isInfixRuleOperatorList:()=>nF,isInfixRuleOperators:()=>nz,isInterface:()=>nq,isKeyword:()=>nB,isNamedArgument:()=>nV,isNegatedToken:()=>nY,isNegation:()=>nZ,isNumberLiteral:()=>nJ,isParameter:()=>n1,isParameterReference:()=>n3,isParserRule:()=>n4,isReferenceType:()=>n6,isRegexToken:()=>n7,isReturnType:()=>it,isRuleCall:()=>ii,isSimpleType:()=>is,isStringLiteral:()=>il,isTerminalAlternatives:()=>ic,isTerminalElement:()=>id,isTerminalGroup:()=>ih,isTerminalRule:()=>ig,isTerminalRuleCall:()=>iv,isType:()=>iR,isTypeAttribute:()=>ib,isTypeDefinition:()=>iC,isUnionType:()=>ik,isUnorderedGroup:()=>iN,isUntilToken:()=>iI,isValueLiteral:()=>iP,isWildcard:()=>iD,reflection:()=>iM});var r4={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]*/},r5={$type:"AbstractElement",cardinality:"cardinality"};function r6(e){return iM.isInstance(e,r5.$type)}tL(r6,"isAbstractElement");var r8={$type:"AbstractParserRule"};function r7(e){return iM.isInstance(e,r8.$type)}tL(r7,"isAbstractParserRule");var ne={$type:"AbstractRule"};function nt(e){return iM.isInstance(e,ne.$type)}tL(nt,"isAbstractRule");var nr={$type:"AbstractType"};function nn(e){return iM.isInstance(e,nr.$type)}tL(nn,"isAbstractType");var ni={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function na(e){return iM.isInstance(e,ni.$type)}tL(na,"isAction");var ns={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function no(e){return iM.isInstance(e,ns.$type)}tL(no,"isAlternatives");var nl={$type:"ArrayLiteral",elements:"elements"};function nu(e){return iM.isInstance(e,nl.$type)}tL(nu,"isArrayLiteral");var nc={$type:"ArrayType",elementType:"elementType"};function np(e){return iM.isInstance(e,nc.$type)}tL(np,"isArrayType");var nf={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function nd(e){return iM.isInstance(e,nf.$type)}tL(nd,"isAssignment");var nm={$type:"BooleanLiteral",true:"true"};function nh(e){return iM.isInstance(e,nm.$type)}tL(nh,"isBooleanLiteral");var ny={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function ng(e){return iM.isInstance(e,ny.$type)}tL(ng,"isCharacterRange");var nT={$type:"Condition"};function nv(e){return iM.isInstance(e,nT.$type)}tL(nv,"isCondition");var n$={$type:"Conjunction",left:"left",right:"right"};function nR(e){return iM.isInstance(e,n$.$type)}tL(nR,"isConjunction");var nE={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function nb(e){return iM.isInstance(e,nE.$type)}tL(nb,"isCrossReference");var nA={$type:"Disjunction",left:"left",right:"right"};function nC(e){return iM.isInstance(e,nA.$type)}tL(nC,"isDisjunction");var nS={$type:"EndOfFile",cardinality:"cardinality"};function nk(e){return iM.isInstance(e,nS.$type)}tL(nk,"isEndOfFile");var nx={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function nN(e){return iM.isInstance(e,nx.$type)}tL(nN,"isGrammar");var nw={$type:"GrammarImport",path:"path"};function nI(e){return iM.isInstance(e,nw.$type)}tL(nI,"isGrammarImport");var n_={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function nP(e){return iM.isInstance(e,n_.$type)}tL(nP,"isGroup");var nO={$type:"InferredType",name:"name"};function nD(e){return iM.isInstance(e,nO.$type)}tL(nD,"isInferredType");var nL={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function nM(e){return iM.isInstance(e,nL.$type)}tL(nM,"isInfixRule");var nj={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function nF(e){return iM.isInstance(e,nj.$type)}tL(nF,"isInfixRuleOperatorList");var nG={$type:"InfixRuleOperators",precedences:"precedences"};function nz(e){return iM.isInstance(e,nG.$type)}tL(nz,"isInfixRuleOperators");var nK={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function nq(e){return iM.isInstance(e,nK.$type)}tL(nq,"isInterface");var nU={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function nB(e){return iM.isInstance(e,nU.$type)}tL(nB,"isKeyword");var nW={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function nV(e){return iM.isInstance(e,nW.$type)}tL(nV,"isNamedArgument");var nH={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function nY(e){return iM.isInstance(e,nH.$type)}tL(nY,"isNegatedToken");var nQ={$type:"Negation",value:"value"};function nZ(e){return iM.isInstance(e,nQ.$type)}tL(nZ,"isNegation");var nX={$type:"NumberLiteral",value:"value"};function nJ(e){return iM.isInstance(e,nX.$type)}tL(nJ,"isNumberLiteral");var n0={$type:"Parameter",name:"name"};function n1(e){return iM.isInstance(e,n0.$type)}tL(n1,"isParameter");var n2={$type:"ParameterReference",parameter:"parameter"};function n3(e){return iM.isInstance(e,n2.$type)}tL(n3,"isParameterReference");var n9={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function n4(e){return iM.isInstance(e,n9.$type)}tL(n4,"isParserRule");var n5={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function n6(e){return iM.isInstance(e,n5.$type)}tL(n6,"isReferenceType");var n8={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function n7(e){return iM.isInstance(e,n8.$type)}tL(n7,"isRegexToken");var ie={$type:"ReturnType",name:"name"};function it(e){return iM.isInstance(e,ie.$type)}tL(it,"isReturnType");var ir={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function ii(e){return iM.isInstance(e,ir.$type)}tL(ii,"isRuleCall");var ia={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function is(e){return iM.isInstance(e,ia.$type)}tL(is,"isSimpleType");var io={$type:"StringLiteral",value:"value"};function il(e){return iM.isInstance(e,io.$type)}tL(il,"isStringLiteral");var iu={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function ic(e){return iM.isInstance(e,iu.$type)}tL(ic,"isTerminalAlternatives");var ip={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function id(e){return iM.isInstance(e,ip.$type)}tL(id,"isTerminalElement");var im={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function ih(e){return iM.isInstance(e,im.$type)}tL(ih,"isTerminalGroup");var iy={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function ig(e){return iM.isInstance(e,iy.$type)}tL(ig,"isTerminalRule");var iT={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function iv(e){return iM.isInstance(e,iT.$type)}tL(iv,"isTerminalRuleCall");var i$={$type:"Type",name:"name",type:"type"};function iR(e){return iM.isInstance(e,i$.$type)}tL(iR,"isType");var iE={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function ib(e){return iM.isInstance(e,iE.$type)}tL(ib,"isTypeAttribute");var iA={$type:"TypeDefinition"};function iC(e){return iM.isInstance(e,iA.$type)}tL(iC,"isTypeDefinition");var iS={$type:"UnionType",types:"types"};function ik(e){return iM.isInstance(e,iS.$type)}tL(ik,"isUnionType");var ix={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function iN(e){return iM.isInstance(e,ix.$type)}tL(iN,"isUnorderedGroup");var iw={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function iI(e){return iM.isInstance(e,iw.$type)}tL(iI,"isUntilToken");var i_={$type:"ValueLiteral"};function iP(e){return iM.isInstance(e,i_.$type)}tL(iP,"isValueLiteral");var iO={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function iD(e){return iM.isInstance(e,iO.$type)}tL(iD,"isWildcard");var iL=class extends r_{static{tL(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:r5.$type,properties:{cardinality:{name:r5.cardinality}},superTypes:[]},AbstractParserRule:{name:r8.$type,properties:{},superTypes:[ne.$type,nr.$type]},AbstractRule:{name:ne.$type,properties:{},superTypes:[]},AbstractType:{name:nr.$type,properties:{},superTypes:[]},Action:{name:ni.$type,properties:{cardinality:{name:ni.cardinality},feature:{name:ni.feature},inferredType:{name:ni.inferredType},operator:{name:ni.operator},type:{name:ni.type,referenceType:nr.$type}},superTypes:[r5.$type]},Alternatives:{name:ns.$type,properties:{cardinality:{name:ns.cardinality},elements:{name:ns.elements,defaultValue:[]}},superTypes:[r5.$type]},ArrayLiteral:{name:nl.$type,properties:{elements:{name:nl.elements,defaultValue:[]}},superTypes:[i_.$type]},ArrayType:{name:nc.$type,properties:{elementType:{name:nc.elementType}},superTypes:[iA.$type]},Assignment:{name:nf.$type,properties:{cardinality:{name:nf.cardinality},feature:{name:nf.feature},operator:{name:nf.operator},predicate:{name:nf.predicate},terminal:{name:nf.terminal}},superTypes:[r5.$type]},BooleanLiteral:{name:nm.$type,properties:{true:{name:nm.true,defaultValue:!1}},superTypes:[nT.$type,i_.$type]},CharacterRange:{name:ny.$type,properties:{cardinality:{name:ny.cardinality},left:{name:ny.left},lookahead:{name:ny.lookahead},parenthesized:{name:ny.parenthesized,defaultValue:!1},right:{name:ny.right}},superTypes:[ip.$type]},Condition:{name:nT.$type,properties:{},superTypes:[]},Conjunction:{name:n$.$type,properties:{left:{name:n$.left},right:{name:n$.right}},superTypes:[nT.$type]},CrossReference:{name:nE.$type,properties:{cardinality:{name:nE.cardinality},deprecatedSyntax:{name:nE.deprecatedSyntax,defaultValue:!1},isMulti:{name:nE.isMulti,defaultValue:!1},terminal:{name:nE.terminal},type:{name:nE.type,referenceType:nr.$type}},superTypes:[r5.$type]},Disjunction:{name:nA.$type,properties:{left:{name:nA.left},right:{name:nA.right}},superTypes:[nT.$type]},EndOfFile:{name:nS.$type,properties:{cardinality:{name:nS.cardinality}},superTypes:[r5.$type]},Grammar:{name:nx.$type,properties:{imports:{name:nx.imports,defaultValue:[]},interfaces:{name:nx.interfaces,defaultValue:[]},isDeclared:{name:nx.isDeclared,defaultValue:!1},name:{name:nx.name},rules:{name:nx.rules,defaultValue:[]},types:{name:nx.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:nw.$type,properties:{path:{name:nw.path}},superTypes:[]},Group:{name:n_.$type,properties:{cardinality:{name:n_.cardinality},elements:{name:n_.elements,defaultValue:[]},guardCondition:{name:n_.guardCondition},predicate:{name:n_.predicate}},superTypes:[r5.$type]},InferredType:{name:nO.$type,properties:{name:{name:nO.name}},superTypes:[nr.$type]},InfixRule:{name:nL.$type,properties:{call:{name:nL.call},dataType:{name:nL.dataType},inferredType:{name:nL.inferredType},name:{name:nL.name},operators:{name:nL.operators},parameters:{name:nL.parameters,defaultValue:[]},returnType:{name:nL.returnType,referenceType:nr.$type}},superTypes:[r8.$type]},InfixRuleOperatorList:{name:nj.$type,properties:{associativity:{name:nj.associativity},operators:{name:nj.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:nG.$type,properties:{precedences:{name:nG.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:nK.$type,properties:{attributes:{name:nK.attributes,defaultValue:[]},name:{name:nK.name},superTypes:{name:nK.superTypes,defaultValue:[],referenceType:nr.$type}},superTypes:[nr.$type]},Keyword:{name:nU.$type,properties:{cardinality:{name:nU.cardinality},predicate:{name:nU.predicate},value:{name:nU.value}},superTypes:[r5.$type]},NamedArgument:{name:nW.$type,properties:{calledByName:{name:nW.calledByName,defaultValue:!1},parameter:{name:nW.parameter,referenceType:n0.$type},value:{name:nW.value}},superTypes:[]},NegatedToken:{name:nH.$type,properties:{cardinality:{name:nH.cardinality},lookahead:{name:nH.lookahead},parenthesized:{name:nH.parenthesized,defaultValue:!1},terminal:{name:nH.terminal}},superTypes:[ip.$type]},Negation:{name:nQ.$type,properties:{value:{name:nQ.value}},superTypes:[nT.$type]},NumberLiteral:{name:nX.$type,properties:{value:{name:nX.value}},superTypes:[i_.$type]},Parameter:{name:n0.$type,properties:{name:{name:n0.name}},superTypes:[]},ParameterReference:{name:n2.$type,properties:{parameter:{name:n2.parameter,referenceType:n0.$type}},superTypes:[nT.$type]},ParserRule:{name:n9.$type,properties:{dataType:{name:n9.dataType},definition:{name:n9.definition},entry:{name:n9.entry,defaultValue:!1},fragment:{name:n9.fragment,defaultValue:!1},inferredType:{name:n9.inferredType},name:{name:n9.name},parameters:{name:n9.parameters,defaultValue:[]},returnType:{name:n9.returnType,referenceType:nr.$type}},superTypes:[r8.$type]},ReferenceType:{name:n5.$type,properties:{isMulti:{name:n5.isMulti,defaultValue:!1},referenceType:{name:n5.referenceType}},superTypes:[iA.$type]},RegexToken:{name:n8.$type,properties:{cardinality:{name:n8.cardinality},lookahead:{name:n8.lookahead},parenthesized:{name:n8.parenthesized,defaultValue:!1},regex:{name:n8.regex}},superTypes:[ip.$type]},ReturnType:{name:ie.$type,properties:{name:{name:ie.name}},superTypes:[]},RuleCall:{name:ir.$type,properties:{arguments:{name:ir.arguments,defaultValue:[]},cardinality:{name:ir.cardinality},predicate:{name:ir.predicate},rule:{name:ir.rule,referenceType:ne.$type}},superTypes:[r5.$type]},SimpleType:{name:ia.$type,properties:{primitiveType:{name:ia.primitiveType},stringType:{name:ia.stringType},typeRef:{name:ia.typeRef,referenceType:nr.$type}},superTypes:[iA.$type]},StringLiteral:{name:io.$type,properties:{value:{name:io.value}},superTypes:[i_.$type]},TerminalAlternatives:{name:iu.$type,properties:{cardinality:{name:iu.cardinality},elements:{name:iu.elements,defaultValue:[]},lookahead:{name:iu.lookahead},parenthesized:{name:iu.parenthesized,defaultValue:!1}},superTypes:[ip.$type]},TerminalElement:{name:ip.$type,properties:{cardinality:{name:ip.cardinality},lookahead:{name:ip.lookahead},parenthesized:{name:ip.parenthesized,defaultValue:!1}},superTypes:[r5.$type]},TerminalGroup:{name:im.$type,properties:{cardinality:{name:im.cardinality},elements:{name:im.elements,defaultValue:[]},lookahead:{name:im.lookahead},parenthesized:{name:im.parenthesized,defaultValue:!1}},superTypes:[ip.$type]},TerminalRule:{name:iy.$type,properties:{definition:{name:iy.definition},fragment:{name:iy.fragment,defaultValue:!1},hidden:{name:iy.hidden,defaultValue:!1},name:{name:iy.name},type:{name:iy.type}},superTypes:[ne.$type]},TerminalRuleCall:{name:iT.$type,properties:{cardinality:{name:iT.cardinality},lookahead:{name:iT.lookahead},parenthesized:{name:iT.parenthesized,defaultValue:!1},rule:{name:iT.rule,referenceType:iy.$type}},superTypes:[ip.$type]},Type:{name:i$.$type,properties:{name:{name:i$.name},type:{name:i$.type}},superTypes:[nr.$type]},TypeAttribute:{name:iE.$type,properties:{defaultValue:{name:iE.defaultValue},isOptional:{name:iE.isOptional,defaultValue:!1},name:{name:iE.name},type:{name:iE.type}},superTypes:[]},TypeDefinition:{name:iA.$type,properties:{},superTypes:[]},UnionType:{name:iS.$type,properties:{types:{name:iS.types,defaultValue:[]}},superTypes:[iA.$type]},UnorderedGroup:{name:ix.$type,properties:{cardinality:{name:ix.cardinality},elements:{name:ix.elements,defaultValue:[]}},superTypes:[r5.$type]},UntilToken:{name:iw.$type,properties:{cardinality:{name:iw.cardinality},lookahead:{name:iw.lookahead},parenthesized:{name:iw.parenthesized,defaultValue:!1},terminal:{name:iw.terminal}},superTypes:[ip.$type]},ValueLiteral:{name:i_.$type,properties:{},superTypes:[]},Wildcard:{name:iO.$type,properties:{cardinality:{name:iO.cardinality},lookahead:{name:iO.lookahead},parenthesized:{name:iO.parenthesized,defaultValue:!1}},superTypes:[ip.$type]}}}},iM=new iL;function ij(e){let t=e,r=!1;for(;t;){let e=rB(t.grammarSource,n4);if(e&&e.dataType)t=t.container,r=!0;else if(r)return t;else break}}function iF(e){return new rK(e,e=>rP(e)?e.content:[],{includeRoot:!0})}function iG(e){return iF(e).filter(rO)}function iz(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function iK(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function iq(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}function iU(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return eH.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return eH.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?eH.Inside:r?eH.OverlapBack:n?eH.OverlapFront:eH.Outside}function iB(e,t){return iU(e,t)>eH.After}tL(ij,"getDatatypeNode"),tL(iF,"streamCst"),tL(iG,"flattenCst"),tL(iz,"isChildNode"),tL(iK,"tokenToRange"),tL(iq,"toDocumentSegment"),(a=eH||(eH={}))[a.Before=0]="Before",a[a.After=1]="After",a[a.OverlapFront=2]="OverlapFront",a[a.OverlapBack=3]="OverlapBack",a[a.Inside=4]="Inside",a[a.Outside=5]="Outside",tL(iU,"compareRange"),tL(iB,"inRange");var iW=/^[\w\p{L}]$/u;function iV(e,t,r=iW){if(e){if(t>0){let n=t-e.offset,i=e.text.charAt(n);!r.test(i)&&t--}return iQ(e,t)}}function iH(e,t){if(e){let r=iJ(e,!0);if(r&&iY(r,t))return r;if(rD(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(iY(r,t))return r}}}}function iY(e,t){return rO(e)&&t.includes(e.tokenType.name)}function iQ(e,t){if(rO(e))return e;if(rP(e)){let r=iX(e,t,!1);if(r)return iQ(r,t)}}function iZ(e,t){if(rO(e))return e;if(rP(e)){let r=iX(e,t,!0);if(r)return iZ(r,t)}}function iX(e,t,r){let n,i=0,a=e.content.length-1;for(;i<=a;){let s=Math.floor((i+a)/2),o=e.content[s];if(o.offset<=t&&o.end>t)return o;o.end<=t?(n=r?o:void 0,i=s+1):a=s-1}return n}function iJ(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function i0(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e),i=r.content.length-1;for(;n<i;){n++;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function i1(e){let t;if(0===e.range.start.character)return e;let r=e.range.start.line,n=e;for(;e.container;){let i=e.container,a=t??i.content.indexOf(e);if(0===a?(e=i,t=void 0):(t=a-1,e=i.content[t]),e.range.start.line!==r)break;n=e}return n}function i2(e,t){let r=i3(e,t);return r?r.parent.content.slice(r.a+1,r.b):[]}function i3(e,t){let r,n=i9(e),i=i9(t);for(let e=0;e<n.length&&e<i.length;e++){let t=n[e],a=i[e];if(t.parent===a.parent)r={parent:t.parent,a:t.index,b:a.index};else break}return r}function i9(e){let t=[];for(;e.container;){let r=e.container,n=r.content.indexOf(e);t.push({parent:r,index:n}),e=r}return t.reverse()}tL(iV,"findDeclarationNodeAtOffset"),tL(iH,"findCommentNode"),tL(iY,"isCommentNode"),tL(iQ,"findLeafNodeAtOffset"),tL(iZ,"findLeafNodeBeforeOffset"),tL(iX,"binarySearch"),tL(iJ,"getPreviousNode"),tL(i0,"getNextNode"),tL(i1,"getStartlineNode"),tL(i2,"getInteriorNodes"),tL(i3,"getCommonParent"),tL(i9,"getParentChain");var i4={};tj(i4,{findAssignment:()=>aM,findNameAssignment:()=>aj,findNodeForKeyword:()=>aD,findNodeForProperty:()=>a_,findNodesForKeyword:()=>aO,findNodesForKeywordInternal:()=>aL,findNodesForProperty:()=>aI,getActionAtElement:()=>aG,getActionType:()=>aQ,getAllReachableRules:()=>aS,getAllRulesUsedForCrossReferences:()=>ax,getCrossReferenceTerminal:()=>aN,getEntryRule:()=>aA,getExplicitRuleType:()=>aH,getHiddenRules:()=>aC,getRuleType:()=>aX,getRuleTypeName:()=>aZ,getTypeName:()=>aY,isArrayCardinality:()=>aK,isArrayOperator:()=>aq,isCommentTerminal:()=>aw,isDataType:()=>aW,isDataTypeRule:()=>aU,isOptionalCardinality:()=>az,terminalRegex:()=>aJ});var i5=class extends Error{static{tL(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function i6(e,t="Error: Got unexpected value."){throw Error(t)}function i8(e,t="Error: Condition is violated."){if(!e)throw Error(t)}tL(i6,"assertUnreachable"),tL(i8,"assertCondition");var i7={};function ae(e){return e.charCodeAt(0)}function at(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function ar(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function an(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function ai(){throw Error("Internal Error - Should never get here!")}function aa(e){return"Character"===e.type}tj(i7,{NEWLINE_REGEXP:()=>am,escapeRegExp:()=>aR,getTerminalParts:()=>ag,isMultilineComment:()=>aT,isWhitespace:()=>a$,partialMatches:()=>aE,partialRegExp:()=>ab,whitespaceCharacters:()=>av}),tL(ae,"cc"),tL(at,"insertToSet"),tL(ar,"addFlag"),tL(an,"ASSERT_EXISTS"),tL(ai,"ASSERT_NEVER_REACH_HERE"),tL(aa,"isCharacter");var as=[];for(let e=ae("0");e<=ae("9");e++)as.push(e);var ao=[ae("_")].concat(as);for(let e=ae("a");e<=ae("z");e++)ao.push(e);for(let e=ae("A");e<=ae("Z");e++)ao.push(e);var al=[ae(" "),ae("\f"),ae("\n"),ae("\r"),ae(" "),ae("\v"),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae("\u2028"),ae("\u2029"),ae(" "),ae(" "),ae(" "),ae("\uFEFF")],au=/[0-9a-fA-F]/,ac=/[0-9]/,ap=/[1-9]/,af=class{static{tL(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":ar(r,"global");break;case"i":ar(r,"ignoreCase");break;case"m":ar(r,"multiLine");break;case"u":ar(r,"unicode");break;case"y":ar(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}}an(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return ai()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;an(t)}if((!0!==e||void 0!==t)&&an(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),an(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ai()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ae("\n"),ae("\r"),ae("\u2028"),ae("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=as;break;case"D":e=as,t=!0;break;case"s":e=al;break;case"S":e=al,t=!0;break;case"w":e=ao;break;case"W":e=ao,t=!0}return an(e)?{type:"Set",value:e,complement:t}:ai()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ae("\f");break;case"n":e=ae("\n");break;case"r":e=ae("\r");break;case"t":e=ae(" ");break;case"v":e=ae("\v")}return an(e)?{type:"Character",value:e}:ai()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ae("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:ae(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:ae(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,aa(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,aa(r)){if(r.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:r.value})}else at(t.value,e),e.push(ae("-")),at(r.value,e)}else at(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":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:ae("\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 t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(!1===ap.test(e))throw Error("Expecting a positive integer");for(;ac.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===ac.test(e))throw Error("Expecting an integer");for(;ac.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case"\n":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:ae(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 ac.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":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 void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let r=0;r<e;r++){let e=this.popChar();if(!1===au.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,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(void 0!==e&&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}}},ad=class{static{tL(this,"BaseRegExpVisitor")}visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},am=/\r?\n/gm,ah=new af,ay=new class extends ad{static{tL(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=aR(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!"\n".match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}};function ag(e){try{"string"!=typeof e&&(e=e.source),e=`/${e}/`;let t=ah.pattern(e),r=[];for(let n of t.value.value)ay.reset(e),ay.visit(n),r.push({start:ay.startRegexp,end:ay.endRegex});return r}catch{return[]}}function aT(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),ay.reset(e),ay.visit(ah.pattern(e)),ay.multiline}catch{return!1}}tL(ag,"getTerminalParts"),tL(aT,"isMultilineComment");var av="\f\n\r \v              \u2028\u2029   \uFEFF".split("");function a$(e){let t="string"==typeof e?new RegExp(e):e;return av.some(e=>t.test(e))}function aR(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function aE(e,t){let r=ab(e),n=t.match(r);return!!n&&n[0].length>0}function ab(e){"string"==typeof e&&(e=new RegExp(e));let t=e,r=e.source,n=0;function i(){let e="",a;function s(t){e+=r.substr(n,t),n+=t}function o(t){e+="(?:"+r.substr(n,t)+"|$)",n+=t}for(tL(s,"appendRaw"),tL(o,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":o(t.unicode?"{"===r[n+2]?r.indexOf("}",n)-n+1:6:2);break;case"p":case"P":o(t.unicode?r.indexOf("}",n)-n+1:2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(a=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((a=a.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(a=/\{\d+,?\d*\}/g).lastIndex=n,(a=a.exec(r))?s(a[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":e+="(?:",n+=3,e+=i()+"|$)";break;case"=":e+="(?=",n+=3,e+=i()+")";break;case"!":a=n,n+=3,i(),e+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,i(),e+=r.substr(a,n-a);break;default:s(r.indexOf(">",n)-n+1),e+=i()+"|$)"}}else s(1),e+=i()+"|$)";break;case")":return++n,e;default:o(1)}return e}return tL(i,"process"),new RegExp(i(),e.flags)}function aA(e){return e.rules.find(e=>n4(e)&&e.entry)}function aC(e){return e.rules.filter(e=>ig(e)&&e.hidden)}function aS(e,t){let r=new Set,n=aA(e);if(!n)return new Set(e.rules);for(let i of[n].concat(aC(e)))ak(i,r,t);let i=new Set;for(let t of e.rules)(r.has(t.name)||ig(t)&&t.hidden)&&i.add(t);return i}function ak(e,t,r){t.add(e.name),rZ(e).forEach(e=>{if(ii(e)||r&&iv(e)){let n=e.rule.ref;n&&!t.has(n.name)&&ak(n,t,r)}})}function ax(e){let t=new Set;return rZ(e).forEach(e=>{nb(e)&&(n4(e.type.ref)&&t.add(e.type.ref),nD(e.type.ref)&&n4(e.type.ref.$container)&&t.add(e.type.ref.$container))}),t}function aN(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=aj(e.type.ref);return t?.terminal}}function aw(e){return e.hidden&&!a$(aJ(e))}function aI(e,t){return e&&t?aP(e,t,e.astNode,!0):[]}function a_(e,t,r){if(!e||!t)return;let n=aP(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function aP(e,t,r,n){if(!n){let r=rB(e.grammarSource,nd);if(r&&r.feature===t)return[e]}return rP(e)&&e.astNode===r?e.content.flatMap(e=>aP(e,t,r,!1)):[]}function aO(e,t){return e?aL(e,t,e?.astNode):[]}function aD(e,t,r){if(!e)return;let n=aL(e,t,e?.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function aL(e,t,r){let n;if(e.astNode!==r)return[];if(nB(e.grammarSource)&&e.grammarSource.value===t)return[e];let i=iF(e).iterator(),a=[];do if(!(n=i.next()).done){let e=n.value;e.astNode===r?nB(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):i.prune()}while(!n.done)return a}function aM(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=rB(e.grammarSource,nd);if(t)return t;e=e.container}}function aj(e){let t=e;return nD(t)&&(na(t.$container)?t=t.$container.$container:r7(t.$container)?t=t.$container:i6(t.$container)),aF(e,t,new Map)}function aF(e,t,r){function n(t,n){let i;return rB(t,nd)||(i=aF(n,n,r)),r.set(e,i),i}if(tL(n,"go"),r.has(e))return r.get(e);for(let i of(r.set(e,void 0),rZ(t)))if(nd(i)&&"name"===i.feature.toLowerCase())return r.set(e,i),i;else if(ii(i)&&n4(i.rule.ref))return n(i,i.rule.ref);else if(is(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}function aG(e){let t=e.$container;if(nP(t)){let r=t.elements,n=r.indexOf(e);for(let e=n-1;e>=0;e--){let t=r[e];if(na(t))return t;{let t=rZ(r[e]).find(na);if(t)return t}}}return r6(t)?aG(t):void 0}function az(e,t){return"?"===e||"*"===e||nP(t)&&!!t.guardCondition}function aK(e){return"*"===e||"+"===e}function aq(e){return"+="===e}function aU(e){return aB(e,new Set)}function aB(e,t){if(t.has(e))return!0;for(let r of(t.add(e),rZ(e)))if(ii(r)){if(!r.rule.ref||n4(r.rule.ref)&&!aB(r.rule.ref,t)||nM(r.rule.ref))return!1}else if(nd(r))return!1;else if(na(r))return!1;return!!e.definition}function aW(e){return aV(e.type,new Set)}function aV(e,t){if(t.has(e))return!0;if(t.add(e),np(e)||n6(e))return!1;if(ik(e))return e.types.every(e=>aV(e,t));{if(!is(e))return!1;if(void 0!==e.primitiveType||void 0!==e.stringType)return!0;if(void 0===e.typeRef)return!1;let r=e.typeRef.ref;return!!iR(r)&&aV(r.type,t)}}function aH(e){if(!ig(e)){if(e.inferredType)return e.inferredType.name;else if(e.dataType)return e.dataType;else if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}function aY(e){if(r7(e))return n4(e)&&aU(e)?e.name:aH(e)??e.name;if(nq(e)||iR(e)||it(e))return e.name;if(na(e)){let t=aQ(e);if(t)return t}else if(nD(e))return e.name;throw Error("Cannot get name of Unknown Type")}function aQ(e){return e.inferredType?e.inferredType.name:e.type?.ref?aY(e.type.ref):void 0}function aZ(e){return ig(e)?e.type?.name??"string":n4(e)&&aU(e)?e.name:aH(e)??e.name}function aX(e){return ig(e)?e.type?.name??"string":aH(e)??e.name}function aJ(e){let t={s:!1,i:!1,u:!1};return new RegExp(a1(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}tL(a$,"isWhitespace"),tL(aR,"escapeRegExp"),tL(aE,"partialMatches"),tL(ab,"partialRegExp"),tL(aA,"getEntryRule"),tL(aC,"getHiddenRules"),tL(aS,"getAllReachableRules"),tL(ak,"ruleDfs"),tL(ax,"getAllRulesUsedForCrossReferences"),tL(aN,"getCrossReferenceTerminal"),tL(aw,"isCommentTerminal"),tL(aI,"findNodesForProperty"),tL(a_,"findNodeForProperty"),tL(aP,"findNodesForPropertyInternal"),tL(aO,"findNodesForKeyword"),tL(aD,"findNodeForKeyword"),tL(aL,"findNodesForKeywordInternal"),tL(aM,"findAssignment"),tL(aj,"findNameAssignment"),tL(aF,"findNameAssignmentInternal"),tL(aG,"getActionAtElement"),tL(az,"isOptionalCardinality"),tL(aK,"isArrayCardinality"),tL(aq,"isArrayOperator"),tL(aU,"isDataTypeRule"),tL(aB,"isDataTypeRuleInternal"),tL(aW,"isDataType"),tL(aV,"isDataTypeInternal"),tL(aH,"getExplicitRuleType"),tL(aY,"getTypeName"),tL(aQ,"getActionType"),tL(aZ,"getRuleTypeName"),tL(aX,"getRuleType"),tL(aJ,"terminalRegex");var a0=/[\s\S]/.source;function a1(e,t){if(ic(e))return a2(e);if(ih(e))return a3(e);if(ng(e))return a5(e);if(iv(e)){let t=e.rule.ref;if(!t)throw Error("Missing rule reference.");return a8(a1(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}if(nY(e))return a4(e);else if(iI(e))return a9(e);else if(n7(e)){let r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),i=e.regex.substring(r+1);return t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),a8(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else if(iD(e))return a8(a0,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});else throw Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}function a2(e){return a8(e.elements.map(e=>a1(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a3(e){return a8(e.elements.map(e=>a1(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a9(e){return a8(`${a0}*?${a1(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function a4(e){return a8(`(?!${a1(e.terminal)})${a0}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function a5(e){return e.right?a8(`[${a6(e.left)}-${a6(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):a8(a6(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a6(e){return aR(e.value)}function a8(e,t){if(t.parenthesized||t.lookahead||!1!==t.wrap){let r=t.lookahead??(t.parenthesized?"":"?:");e=`(${r}${e})`}return t.cardinality?`${e}${t.cardinality}`:e}function a7(e){let t=[];for(let r of e.Grammar.rules)ig(r)&&aw(r)&&aT(aJ(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:iW}}tL(a1,"abstractElementToRegex"),tL(a2,"terminalAlternativesToRegex"),tL(a3,"terminalGroupToRegex"),tL(a9,"untilTokenToRegex"),tL(a4,"negateTokenToRegex"),tL(a5,"characterRangeToRegex"),tL(a6,"keywordToRegex"),tL(a8,"withCardinality"),tL(a7,"createGrammarConfig");var se="object"==typeof global&&global&&global.Object===Object&&global,st="object"==typeof self&&self&&self.Object===Object&&self,sr=se||st||Function("return this")(),sn=sr.Symbol,si=Object.prototype,sa=si.hasOwnProperty,ss=si.toString,so=sn?sn.toStringTag:void 0;function sl(e){var t=sa.call(e,so),r=e[so];try{e[so]=void 0;var n=!0}catch(e){}var i=ss.call(e);return n&&(t?e[so]=r:delete e[so]),i}tL(sl,"getRawTag");var su=Object.prototype.toString;function sc(e){return su.call(e)}tL(sc,"objectToString");var sp=sn?sn.toStringTag:void 0;function sf(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":sp&&sp in Object(e)?sl(e):sc(e)}function sd(e){return null!=e&&"object"==typeof e}function sm(e){return"symbol"==typeof e||sd(e)&&"[object Symbol]"==sf(e)}function sh(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}tL(sf,"baseGetTag"),tL(sd,"isObjectLike"),tL(sm,"isSymbol"),tL(sh,"arrayMap");var sy=Array.isArray,sg=sn?sn.prototype:void 0,sT=sg?sg.toString:void 0;function sv(e){if("string"==typeof e)return e;if(sy(e))return sh(e,sv)+"";if(sm(e))return sT?sT.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}tL(sv,"baseToString");var s$=/\s/;function sR(e){for(var t=e.length;t--&&s$.test(e.charAt(t)););return t}tL(sR,"trimmedEndIndex");var sE=/^\s+/;function sb(e){return e?e.slice(0,sR(e)+1).replace(sE,""):e}function sA(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}tL(sb,"baseTrim"),tL(sA,"isObject");var sC=/^[-+]0x[0-9a-f]+$/i,sS=/^0b[01]+$/i,sk=/^0o[0-7]+$/i,sx=parseInt;function sN(e){if("number"==typeof e)return e;if(sm(e))return 0/0;if(sA(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=sA(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=sb(e);var r=sS.test(e);return r||sk.test(e)?sx(e.slice(2),r?2:8):sC.test(e)?0/0:+e}function sw(e){return e?1/0===(e=sN(e))||-1/0===e?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}function sI(e){var t=sw(e),r=t%1;return t==t?r?t-r:t:0}function s_(e){return e}function sP(e){if(!sA(e))return!1;var t=sf(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}tL(sN,"toNumber"),tL(sw,"toFinite"),tL(sI,"toInteger"),tL(s_,"identity"),tL(sP,"isFunction");var sO=sr["__core-js_shared__"],sD=(s=/[^.]+$/.exec(sO&&sO.keys&&sO.keys.IE_PROTO||""))?"Symbol(src)_1."+s:"";function sL(e){return!!sD&&sD in e}tL(sL,"isMasked");var sM=Function.prototype.toString;function sj(e){if(null!=e){try{return sM.call(e)}catch(e){}try{return e+""}catch(e){}}return""}tL(sj,"toSource");var sF=/^\[object .+?Constructor\]$/,sG=Object.prototype,sz=Function.prototype.toString,sK=sG.hasOwnProperty,sq=RegExp("^"+sz.call(sK).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sU(e){return!(!sA(e)||sL(e))&&(sP(e)?sq:sF).test(sj(e))}function sB(e,t){return null==e?void 0:e[t]}function sW(e,t){var r=sB(e,t);return sU(r)?r:void 0}tL(sU,"baseIsNative"),tL(sB,"getValue"),tL(sW,"getNative");var sV=sW(sr,"WeakMap"),sH=Object.create,sY=function(){function e(){}return tL(e,"object"),function(t){if(!sA(t))return{};if(sH)return sH(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function sQ(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function sZ(){}function sX(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}tL(sQ,"apply"),tL(sZ,"noop"),tL(sX,"copyArray");var sJ=Date.now;function s0(e){var t=0,r=0;return function(){var n=sJ(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function s1(e){return function(){return e}}tL(s0,"shortOut"),tL(s1,"constant");var s2=function(){try{var e=sW(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),s3=s0(s2?function(e,t){return s2(e,"toString",{configurable:!0,enumerable:!1,value:s1(t),writable:!0})}:s_);function s9(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function s4(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return -1}function s5(e){return e!=e}function s6(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}function s8(e,t,r){return t==t?s6(e,t,r):s4(e,s5,r)}function s7(e,t){return!!(null==e?0:e.length)&&s8(e,t,0)>-1}tL(s9,"arrayEach"),tL(s4,"baseFindIndex"),tL(s5,"baseIsNaN"),tL(s6,"strictIndexOf"),tL(s8,"baseIndexOf"),tL(s7,"arrayIncludes");var oe=/^(?:0|[1-9]\d*)$/;function ot(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&oe.test(e))&&e>-1&&e%1==0&&e<t}function or(e,t,r){"__proto__"==t&&s2?s2(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function on(e,t){return e===t||e!=e&&t!=t}tL(ot,"isIndex"),tL(or,"baseAssignValue"),tL(on,"eq");var oi=Object.prototype.hasOwnProperty;function oa(e,t,r){var n=e[t];oi.call(e,t)&&on(n,r)&&(void 0!==r||t in e)||or(e,t,r)}function os(e,t,r,n){var i=!r;r||(r={});for(var a=-1,s=t.length;++a<s;){var o=t[a],l=n?n(r[o],e[o],o,r,e):void 0;void 0===l&&(l=e[o]),i?or(r,o,l):oa(r,o,l)}return r}tL(oa,"assignValue"),tL(os,"copyObject");var oo=Math.max;function ol(e,t,r){return t=oo(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=oo(n.length-t,0),s=Array(a);++i<a;)s[i]=n[t+i];i=-1;for(var o=Array(t+1);++i<t;)o[i]=n[i];return o[t]=r(s),sQ(e,this,o)}}function ou(e,t){return s3(ol(e,t,s_),e+"")}function oc(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function op(e){return null!=e&&oc(e.length)&&!sP(e)}function of(e,t,r){if(!sA(r))return!1;var n=typeof t;return("number"==n?!!(op(r)&&ot(t,r.length)):"string"==n&&t in r)&&on(r[t],e)}function od(e){return ou(function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,s&&of(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var o=r[n];o&&e(t,o,n,a)}return t})}tL(ol,"overRest"),tL(ou,"baseRest"),tL(oc,"isLength"),tL(op,"isArrayLike"),tL(of,"isIterateeCall"),tL(od,"createAssigner");var om=Object.prototype;function oh(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||om)}function oy(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function og(e){return sd(e)&&"[object Arguments]"==sf(e)}tL(oh,"isPrototype"),tL(oy,"baseTimes"),tL(og,"baseIsArguments");var oT=Object.prototype,ov=oT.hasOwnProperty,o$=oT.propertyIsEnumerable,oR=og(function(){return arguments}())?og:function(e){return sd(e)&&ov.call(e,"callee")&&!o$.call(e,"callee")};function oE(){return!1}tL(oE,"stubFalse");var ob="object"==typeof exports&&exports&&!exports.nodeType&&exports,oA=ob&&"object"==typeof module&&module&&!module.nodeType&&module,oC=oA&&oA.exports===ob?sr.Buffer:void 0,oS=(oC?oC.isBuffer:void 0)||oE,ok={};function ox(e){return sd(e)&&oc(e.length)&&!!ok[sf(e)]}function oN(e){return function(t){return e(t)}}ok["[object Float32Array]"]=ok["[object Float64Array]"]=ok["[object Int8Array]"]=ok["[object Int16Array]"]=ok["[object Int32Array]"]=ok["[object Uint8Array]"]=ok["[object Uint8ClampedArray]"]=ok["[object Uint16Array]"]=ok["[object Uint32Array]"]=!0,ok["[object Arguments]"]=ok["[object Array]"]=ok["[object ArrayBuffer]"]=ok["[object Boolean]"]=ok["[object DataView]"]=ok["[object Date]"]=ok["[object Error]"]=ok["[object Function]"]=ok["[object Map]"]=ok["[object Number]"]=ok["[object Object]"]=ok["[object RegExp]"]=ok["[object Set]"]=ok["[object String]"]=ok["[object WeakMap]"]=!1,tL(ox,"baseIsTypedArray"),tL(oN,"baseUnary");var ow="object"==typeof exports&&exports&&!exports.nodeType&&exports,oI=ow&&"object"==typeof module&&module&&!module.nodeType&&module,o_=oI&&oI.exports===ow&&se.process,oP=function(){try{var e=oI&&oI.require&&oI.require("util").types;if(e)return e;return o_&&o_.binding&&o_.binding("util")}catch(e){}}(),oO=oP&&oP.isTypedArray,oD=oO?oN(oO):ox,oL=Object.prototype.hasOwnProperty;function oM(e,t){var r=sy(e),n=!r&&oR(e),i=!r&&!n&&oS(e),a=!r&&!n&&!i&&oD(e),s=r||n||i||a,o=s?oy(e.length,String):[],l=o.length;for(var u in e)(t||oL.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ot(u,l)))&&o.push(u);return o}function oj(e,t){return function(r){return e(t(r))}}tL(oM,"arrayLikeKeys"),tL(oj,"overArg");var oF=oj(Object.keys,Object),oG=Object.prototype.hasOwnProperty;function oz(e){if(!oh(e))return oF(e);var t=[];for(var r in Object(e))oG.call(e,r)&&"constructor"!=r&&t.push(r);return t}function oK(e){return op(e)?oM(e):oz(e)}tL(oz,"baseKeys"),tL(oK,"keys");var oq=Object.prototype.hasOwnProperty,oU=od(function(e,t){if(oh(t)||op(t))return void os(t,oK(t),e);for(var r in t)oq.call(t,r)&&oa(e,r,t[r])});function oB(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}tL(oB,"nativeKeysIn");var oW=Object.prototype.hasOwnProperty;function oV(e){if(!sA(e))return oB(e);var t=oh(e),r=[];for(var n in e)"constructor"==n&&(t||!oW.call(e,n))||r.push(n);return r}function oH(e){return op(e)?oM(e,!0):oV(e)}tL(oV,"baseKeysIn"),tL(oH,"keysIn");var oY=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,oQ=/^\w*$/;function oZ(e,t){if(sy(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||sm(e))||oQ.test(e)||!oY.test(e)||null!=t&&e in Object(t)}tL(oZ,"isKey");var oX=sW(Object,"create");function oJ(){this.__data__=oX?oX(null):{},this.size=0}function o0(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}tL(oJ,"hashClear"),tL(o0,"hashDelete");var o1=Object.prototype.hasOwnProperty;function o2(e){var t=this.__data__;if(oX){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o1.call(t,e)?t[e]:void 0}tL(o2,"hashGet");var o3=Object.prototype.hasOwnProperty;function o9(e){var t=this.__data__;return oX?void 0!==t[e]:o3.call(t,e)}function o4(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=oX&&void 0===t?"__lodash_hash_undefined__":t,this}function o5(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function o6(){this.__data__=[],this.size=0}function o8(e,t){for(var r=e.length;r--;)if(on(e[r][0],t))return r;return -1}tL(o9,"hashHas"),tL(o4,"hashSet"),tL(o5,"Hash"),o5.prototype.clear=oJ,o5.prototype.delete=o0,o5.prototype.get=o2,o5.prototype.has=o9,o5.prototype.set=o4,tL(o6,"listCacheClear"),tL(o8,"assocIndexOf");var o7=Array.prototype.splice;function le(e){var t=this.__data__,r=o8(t,e);return!(r<0)&&(r==t.length-1?t.pop():o7.call(t,r,1),--this.size,!0)}function lt(e){var t=this.__data__,r=o8(t,e);return r<0?void 0:t[r][1]}function lr(e){return o8(this.__data__,e)>-1}function ln(e,t){var r=this.__data__,n=o8(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function li(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}tL(le,"listCacheDelete"),tL(lt,"listCacheGet"),tL(lr,"listCacheHas"),tL(ln,"listCacheSet"),tL(li,"ListCache"),li.prototype.clear=o6,li.prototype.delete=le,li.prototype.get=lt,li.prototype.has=lr,li.prototype.set=ln;var la=sW(sr,"Map");function ls(){this.size=0,this.__data__={hash:new o5,map:new(la||li),string:new o5}}function lo(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function ll(e,t){var r=e.__data__;return lo(t)?r["string"==typeof t?"string":"hash"]:r.map}function lu(e){var t=ll(this,e).delete(e);return this.size-=!!t,t}function lc(e){return ll(this,e).get(e)}function lp(e){return ll(this,e).has(e)}function lf(e,t){var r=ll(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this}function ld(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function lm(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=tL(function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(lm.Cache||ld),r}function lh(e){var t=lm(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}tL(ls,"mapCacheClear"),tL(lo,"isKeyable"),tL(ll,"getMapData"),tL(lu,"mapCacheDelete"),tL(lc,"mapCacheGet"),tL(lp,"mapCacheHas"),tL(lf,"mapCacheSet"),tL(ld,"MapCache"),ld.prototype.clear=ls,ld.prototype.delete=lu,ld.prototype.get=lc,ld.prototype.has=lp,ld.prototype.set=lf,tL(lm,"memoize"),lm.Cache=ld,tL(lh,"memoizeCapped");var ly=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lg=/\\(\\)?/g,lT=lh(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ly,function(e,r,n,i){t.push(n?i.replace(lg,"$1"):r||e)}),t});function lv(e){return null==e?"":sv(e)}function l$(e,t){return sy(e)?e:oZ(e,t)?[e]:lT(lv(e))}function lR(e){if("string"==typeof e||sm(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function lE(e,t){t=l$(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[lR(t[r++])];return r&&r==n?e:void 0}function lb(e,t,r){var n=null==e?void 0:lE(e,t);return void 0===n?r:n}function lA(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}tL(lv,"toString"),tL(l$,"castPath"),tL(lR,"toKey"),tL(lE,"baseGet"),tL(lb,"get"),tL(lA,"arrayPush");var lC=sn?sn.isConcatSpreadable:void 0;function lS(e){return sy(e)||oR(e)||!!(lC&&e&&e[lC])}function lk(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=lS),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?lk(o,t-1,r,n,i):lA(i,o):n||(i[i.length]=o)}return i}function lx(e){return(null==e?0:e.length)?lk(e,1):[]}tL(lS,"isFlattenable"),tL(lk,"baseFlatten"),tL(lx,"flatten");var lN=oj(Object.getPrototypeOf,Object);function lw(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var a=Array(i);++n<i;)a[n]=e[n+t];return a}function lI(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function l_(){this.__data__=new li,this.size=0}function lP(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function lO(e){return this.__data__.get(e)}function lD(e){return this.__data__.has(e)}function lL(e,t){var r=this.__data__;if(r instanceof li){var n=r.__data__;if(!la||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ld(n)}return r.set(e,t),this.size=r.size,this}function lM(e){var t=this.__data__=new li(e);this.size=t.size}function lj(e,t){return e&&os(t,oK(t),e)}function lF(e,t){return e&&os(t,oH(t),e)}tL(lw,"baseSlice"),tL(lI,"arrayReduce"),tL(l_,"stackClear"),tL(lP,"stackDelete"),tL(lO,"stackGet"),tL(lD,"stackHas"),tL(lL,"stackSet"),tL(lM,"Stack"),lM.prototype.clear=l_,lM.prototype.delete=lP,lM.prototype.get=lO,lM.prototype.has=lD,lM.prototype.set=lL,tL(lj,"baseAssign"),tL(lF,"baseAssignIn");var lG="object"==typeof exports&&exports&&!exports.nodeType&&exports,lz=lG&&"object"==typeof module&&module&&!module.nodeType&&module,lK=lz&&lz.exports===lG?sr.Buffer:void 0,lq=lK?lK.allocUnsafe:void 0;function lU(e,t){if(t)return e.slice();var r=e.length,n=lq?lq(r):new e.constructor(r);return e.copy(n),n}function lB(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function lW(){return[]}tL(lU,"cloneBuffer"),tL(lB,"arrayFilter"),tL(lW,"stubArray");var lV=Object.prototype.propertyIsEnumerable,lH=Object.getOwnPropertySymbols,lY=lH?function(e){return null==e?[]:lB(lH(e=Object(e)),function(t){return lV.call(e,t)})}:lW;function lQ(e,t){return os(e,lY(e),t)}tL(lQ,"copySymbols");var lZ=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lA(t,lY(e)),e=lN(e);return t}:lW;function lX(e,t){return os(e,lZ(e),t)}function lJ(e,t,r){var n=t(e);return sy(e)?n:lA(n,r(e))}function l0(e){return lJ(e,oK,lY)}function l1(e){return lJ(e,oH,lZ)}tL(lX,"copySymbolsIn"),tL(lJ,"baseGetAllKeys"),tL(l0,"getAllKeys"),tL(l1,"getAllKeysIn");var l2=sW(sr,"DataView"),l3=sW(sr,"Promise"),l9=sW(sr,"Set"),l4="[object Map]",l5="[object Promise]",l6="[object Set]",l8="[object WeakMap]",l7="[object DataView]",ue=sj(l2),ut=sj(la),ur=sj(l3),un=sj(l9),ui=sj(sV),ua=sf;(l2&&ua(new l2(new ArrayBuffer(1)))!=l7||la&&ua(new la)!=l4||l3&&ua(l3.resolve())!=l5||l9&&ua(new l9)!=l6||sV&&ua(new sV)!=l8)&&(ua=tL(function(e){var t=sf(e),r="[object Object]"==t?e.constructor:void 0,n=r?sj(r):"";if(n)switch(n){case ue:return l7;case ut:return l4;case ur:return l5;case un:return l6;case ui:return l8}return t},"getTag"));var us=ua,uo=Object.prototype.hasOwnProperty;function ul(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&uo.call(e,"index")&&(r.index=e.index,r.input=e.input),r}tL(ul,"initCloneArray");var uu=sr.Uint8Array;function uc(e){var t=new e.constructor(e.byteLength);return new uu(t).set(new uu(e)),t}function up(e,t){var r=t?uc(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}tL(uc,"cloneArrayBuffer"),tL(up,"cloneDataView");var uf=/\w*$/;function ud(e){var t=new e.constructor(e.source,uf.exec(e));return t.lastIndex=e.lastIndex,t}tL(ud,"cloneRegExp");var um=sn?sn.prototype:void 0,uh=um?um.valueOf:void 0;function uy(e){return uh?Object(uh.call(e)):{}}function ug(e,t){var r=t?uc(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function uT(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return uc(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return up(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return ug(e,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return ud(e);case"[object Symbol]":return uy(e)}}function uv(e){return"function"!=typeof e.constructor||oh(e)?{}:sY(lN(e))}function u$(e){return sd(e)&&"[object Map]"==us(e)}tL(uy,"cloneSymbol"),tL(ug,"cloneTypedArray"),tL(uT,"initCloneByTag"),tL(uv,"initCloneObject"),tL(u$,"baseIsMap");var uR=oP&&oP.isMap,uE=uR?oN(uR):u$;function ub(e){return sd(e)&&"[object Set]"==us(e)}tL(ub,"baseIsSet");var uA=oP&&oP.isSet,uC=uA?oN(uA):ub,uS="[object Arguments]",uk="[object Function]",ux="[object Object]",uN={};function uw(e,t,r,n,i,a){var s,o=1&t,l=2&t,u=4&t;if(r&&(s=i?r(e,n,i,a):r(e)),void 0!==s)return s;if(!sA(e))return e;var c=sy(e);if(c){if(s=ul(e),!o)return sX(e,s)}else{var p=us(e),f=p==uk||"[object GeneratorFunction]"==p;if(oS(e))return lU(e,o);if(p==ux||p==uS||f&&!i){if(s=l||f?{}:uv(e),!o)return l?lX(e,lF(s,e)):lQ(e,lj(s,e))}else{if(!uN[p])return i?e:{};s=uT(e,p,o)}}a||(a=new lM);var d=a.get(e);if(d)return d;a.set(e,s),uC(e)?e.forEach(function(n){s.add(uw(n,t,r,n,e,a))}):uE(e)&&e.forEach(function(n,i){s.set(i,uw(n,t,r,i,e,a))});var m=u?l?l1:l0:l?oH:oK,h=c?void 0:m(e);return s9(h||e,function(n,i){h&&(n=e[i=n]),oa(s,i,uw(n,t,r,i,e,a))}),s}function uI(e){return uw(e,4)}function u_(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i}function uP(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}function uO(e){return this.__data__.has(e)}function uD(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new ld;++t<r;)this.add(e[t])}function uL(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function uM(e,t){return e.has(t)}function uj(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,f=!0,d=2&r?new uD:void 0;for(a.set(e,t),a.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,a):n(m,h,p,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(d){if(!uL(t,function(e,t){if(!uM(d,t)&&(m===e||i(m,e,r,n,a)))return d.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function uF(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function uG(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}uN[uS]=uN["[object Array]"]=uN["[object ArrayBuffer]"]=uN["[object DataView]"]=uN["[object Boolean]"]=uN["[object Date]"]=uN["[object Float32Array]"]=uN["[object Float64Array]"]=uN["[object Int8Array]"]=uN["[object Int16Array]"]=uN["[object Int32Array]"]=uN["[object Map]"]=uN["[object Number]"]=uN[ux]=uN["[object RegExp]"]=uN["[object Set]"]=uN["[object String]"]=uN["[object Symbol]"]=uN["[object Uint8Array]"]=uN["[object Uint8ClampedArray]"]=uN["[object Uint16Array]"]=uN["[object Uint32Array]"]=!0,uN["[object Error]"]=uN[uk]=uN["[object WeakMap]"]=!1,tL(uw,"baseClone"),tL(uI,"clone"),tL(u_,"compact"),tL(uP,"setCacheAdd"),tL(uO,"setCacheHas"),tL(uD,"SetCache"),uD.prototype.add=uD.prototype.push=uP,uD.prototype.has=uO,tL(uL,"arraySome"),tL(uM,"cacheHas"),tL(uj,"equalArrays"),tL(uF,"mapToArray"),tL(uG,"setToArray");var uz=sn?sn.prototype:void 0,uK=uz?uz.valueOf:void 0;function uq(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new uu(e),new uu(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return on(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=uF;case"[object Set]":var l=1&n;if(o||(o=uG),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=uj(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(uK)return uK.call(e)==uK.call(t)}return!1}tL(uq,"equalByTag");var uU=Object.prototype.hasOwnProperty;function uB(e,t,r,n,i,a){var s=1&r,o=l0(e),l=o.length;if(l!=l0(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:uU.call(t,c)))return!1}var p=a.get(e),f=a.get(t);if(p&&f)return p==t&&f==e;var d=!0;a.set(e,t),a.set(t,e);for(var m=s;++u<l;){var h=e[c=o[u]],y=t[c];if(n)var g=s?n(y,h,c,t,e,a):n(h,y,c,e,t,a);if(!(void 0===g?h===y||i(h,y,r,n,a):g)){d=!1;break}m||(m="constructor"==c)}if(d&&!m){var T=e.constructor,v=t.constructor;T!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof T&&T instanceof T&&"function"==typeof v&&v instanceof v)&&(d=!1)}return a.delete(e),a.delete(t),d}tL(uB,"equalObjects");var uW="[object Arguments]",uV="[object Array]",uH="[object Object]",uY=Object.prototype.hasOwnProperty;function uQ(e,t,r,n,i,a){var s=sy(e),o=sy(t),l=s?uV:us(e),u=o?uV:us(t);l=l==uW?uH:l,u=u==uW?uH:u;var c=l==uH,p=u==uH,f=l==u;if(f&&oS(e)){if(!oS(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new lM),s||oD(e)?uj(e,t,r,n,i,a):uq(e,t,l,r,n,i,a);if(!(1&r)){var d=c&&uY.call(e,"__wrapped__"),m=p&&uY.call(t,"__wrapped__");if(d||m){var h=d?e.value():e,y=m?t.value():t;return a||(a=new lM),i(h,y,r,n,a)}}return!!f&&(a||(a=new lM),uB(e,t,r,n,i,a))}function uZ(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(sd(e)||sd(t))?uQ(e,t,r,n,uZ,i):e!=e&&t!=t)}function uX(e,t,r,n){var i=r.length,a=i,s=!n;if(null==e)return!a;for(e=Object(e);i--;){var o=r[i];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){var l=(o=r[i])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new lM;if(n)var f=n(u,c,l,e,t,p);if(!(void 0===f?uZ(c,u,3,n,p):f))return!1}}return!0}function uJ(e){return e==e&&!sA(e)}function u0(e){for(var t=oK(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,uJ(i)]}return t}function u1(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function u2(e){var t=u0(e);return 1==t.length&&t[0][2]?u1(t[0][0],t[0][1]):function(r){return r===e||uX(r,e,t)}}function u3(e,t){return null!=e&&t in Object(e)}function u9(e,t,r){t=l$(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=lR(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&oc(i)&&ot(s,i)&&(sy(e)||oR(e))}function u4(e,t){return null!=e&&u9(e,t,u3)}function u5(e,t){return oZ(e)&&uJ(t)?u1(lR(e),t):function(r){var n=lb(r,e);return void 0===n&&n===t?u4(r,e):uZ(t,n,3)}}function u6(e){return function(t){return null==t?void 0:t[e]}}function u8(e){return function(t){return lE(t,e)}}function u7(e){return oZ(e)?u6(lR(e)):u8(e)}function ce(e){return"function"==typeof e?e:null==e?s_:"object"==typeof e?sy(e)?u5(e[0],e[1]):u2(e):u7(e)}function ct(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n}function cr(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++i];if(!1===r(a[l],l,a))break}return t}}tL(uQ,"baseIsEqualDeep"),tL(uZ,"baseIsEqual"),tL(uX,"baseIsMatch"),tL(uJ,"isStrictComparable"),tL(u0,"getMatchData"),tL(u1,"matchesStrictComparable"),tL(u2,"baseMatches"),tL(u3,"baseHasIn"),tL(u9,"hasPath"),tL(u4,"hasIn"),tL(u5,"baseMatchesProperty"),tL(u6,"baseProperty"),tL(u8,"basePropertyDeep"),tL(u7,"property"),tL(ce,"baseIteratee"),tL(ct,"arrayAggregator"),tL(cr,"createBaseFor");var cn=cr();function ci(e,t){return e&&cn(e,t,oK)}function ca(e,t){return function(r,n){if(null==r)return r;if(!op(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Object(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}tL(ci,"baseForOwn"),tL(ca,"createBaseEach");var cs=ca(ci);function co(e,t,r,n){return cs(e,function(e,i,a){t(n,e,r(e),a)}),n}function cl(e,t){return function(r,n){var i=sy(r)?ct:co,a=t?t():{};return i(r,e,ce(n),a)}}tL(co,"baseAggregator"),tL(cl,"createAggregator");var cu=Object.prototype,cc=cu.hasOwnProperty,cp=ou(function(e,t){e=Object(e);var r=-1,n=t.length,i=n>2?t[2]:void 0;for(i&&of(t[0],t[1],i)&&(n=1);++r<n;)for(var a=t[r],s=oH(a),o=-1,l=s.length;++o<l;){var u=s[o],c=e[u];(void 0===c||on(c,cu[u])&&!cc.call(e,u))&&(e[u]=a[u])}return e});function cf(e){return sd(e)&&op(e)}function cd(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function cm(e,t,r,n){var i=-1,a=s7,s=!0,o=e.length,l=[],u=t.length;if(!o)return l;r&&(t=sh(t,oN(r))),n?(a=cd,s=!1):t.length>=200&&(a=uM,s=!1,t=new uD(t));t:for(;++i<o;){var c=e[i],p=null==r?c:r(c);if(c=n||0!==c?c:0,s&&p==p){for(var f=u;f--;)if(t[f]===p)continue t;l.push(c)}else a(t,p,n)||l.push(c)}return l}tL(cf,"isArrayLikeObject"),tL(cd,"arrayIncludesWith"),tL(cm,"baseDifference");var ch=ou(function(e,t){return cf(e)?cm(e,lk(t,1,cf,!0)):[]});function cy(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function cg(e,t,r){var n=null==e?0:e.length;return n?lw(e,(t=r||void 0===t?1:sI(t))<0?0:t,n):[]}function cT(e,t,r){var n=null==e?0:e.length;return n?lw(e,0,(t=n-(t=r||void 0===t?1:sI(t)))<0?0:t):[]}function cv(e){return"function"==typeof e?e:s_}function c$(e,t){return(sy(e)?s9:cs)(e,cv(t))}function cR(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function cE(e,t){var r=!0;return cs(e,function(e,n,i){return r=!!t(e,n,i)}),r}function cb(e,t,r){var n=sy(e)?cR:cE;return r&&of(e,t,r)&&(t=void 0),n(e,ce(t))}function cA(e,t){var r=[];return cs(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function cC(e,t){return(sy(e)?lB:cA)(e,ce(t))}function cS(e){return function(t,r,n){var i=Object(t);if(!op(t)){var a=ce(r);t=oK(t),r=tL(function(e){return a(i[e],e,i)},"predicate")}var s=e(t,r,n);return s>-1?i[a?t[s]:s]:void 0}}tL(cy,"last"),tL(cg,"drop"),tL(cT,"dropRight"),tL(cv,"castFunction"),tL(c$,"forEach"),tL(cR,"arrayEvery"),tL(cE,"baseEvery"),tL(cb,"every"),tL(cA,"baseFilter"),tL(cC,"filter"),tL(cS,"createFind");var ck=Math.max;function cx(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sI(r);return i<0&&(i=ck(n+i,0)),s4(e,ce(t),i)}tL(cx,"findIndex");var cN=cS(cx);function cw(e){return e&&e.length?e[0]:void 0}function cI(e,t){var r=-1,n=op(e)?Array(e.length):[];return cs(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function c_(e,t){return(sy(e)?sh:cI)(e,ce(t))}function cP(e,t){return lk(c_(e,t),1)}tL(cw,"head"),tL(cI,"baseMap"),tL(c_,"map"),tL(cP,"flatMap");var cO=Object.prototype.hasOwnProperty,cD=cl(function(e,t,r){cO.call(e,r)?e[r].push(t):or(e,r,[t])}),cL=Object.prototype.hasOwnProperty;function cM(e,t){return null!=e&&cL.call(e,t)}function cj(e,t){return null!=e&&u9(e,t,cM)}function cF(e){return"string"==typeof e||!sy(e)&&sd(e)&&"[object String]"==sf(e)}function cG(e,t){return sh(t,function(t){return e[t]})}function cz(e){return null==e?[]:cG(e,oK(e))}tL(cM,"baseHas"),tL(cj,"has"),tL(cF,"isString"),tL(cG,"baseValues"),tL(cz,"values");var cK=Math.max;function cq(e,t,r,n){e=op(e)?e:cz(e),r=r&&!n?sI(r):0;var i=e.length;return r<0&&(r=cK(i+r,0)),cF(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&s8(e,t,r)>-1}tL(cq,"includes");var cU=Math.max;function cB(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sI(r);return i<0&&(i=cU(n+i,0)),s8(e,t,i)}tL(cB,"indexOf");var cW=Object.prototype.hasOwnProperty;function cV(e){if(null==e)return!0;if(op(e)&&(sy(e)||"string"==typeof e||"function"==typeof e.splice||oS(e)||oD(e)||oR(e)))return!e.length;var t=us(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(oh(e))return!oz(e).length;for(var r in e)if(cW.call(e,r))return!1;return!0}function cH(e){return sd(e)&&"[object RegExp]"==sf(e)}tL(cV,"isEmpty"),tL(cH,"baseIsRegExp");var cY=oP&&oP.isRegExp,cQ=cY?oN(cY):cH;function cZ(e){return void 0===e}function cX(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function cJ(e,t,r,n){if(!sA(e))return e;t=l$(t,e);for(var i=-1,a=t.length,s=a-1,o=e;null!=o&&++i<a;){var l=lR(t[i]),u=r;if("__proto__"===l||"constructor"===l||"prototype"===l)break;if(i!=s){var c=o[l];void 0===(u=n?n(c,l,o):void 0)&&(u=sA(c)?c:ot(t[i+1])?[]:{})}oa(o,l,u),o=o[l]}return e}function c0(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var s=t[n],o=lE(e,s);r(o,s)&&cJ(a,l$(s,e),o)}return a}function c1(e,t){if(null==e)return{};var r=sh(l1(e),function(e){return[e]});return t=ce(t),c0(e,r,function(e,r){return t(e,r[0])})}function c2(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function c3(e,t,r){var n=sy(e)?lI:c2,i=arguments.length<3;return n(e,ce(t),r,i,cs)}function c9(e,t){return(sy(e)?lB:cA)(e,cX(ce(t)))}function c4(e,t){var r;return cs(e,function(e,n,i){return!(r=t(e,n,i))}),!!r}function c5(e,t,r){var n=sy(e)?uL:c4;return r&&of(e,t,r)&&(t=void 0),n(e,ce(t))}tL(cZ,"isUndefined"),tL(cX,"negate"),tL(cJ,"baseSet"),tL(c0,"basePickBy"),tL(c1,"pickBy"),tL(c2,"baseReduce"),tL(c3,"reduce"),tL(c9,"reject"),tL(c4,"baseSome"),tL(c5,"some");var c6=l9&&1/uG(new l9([,-0]))[1]==1/0?function(e){return new l9(e)}:sZ;function c8(e,t,r){var n=-1,i=s7,a=e.length,s=!0,o=[],l=o;if(r)s=!1,i=cd;else if(a>=200){var u=t?null:c6(e);if(u)return uG(u);s=!1,i=uM,l=new uD}else l=t?[]:o;t:for(;++n<a;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;t&&l.push(p),o.push(c)}else i(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}function c7(e){return e&&e.length?c8(e):[]}function pe(e){console&&console.error&&console.error(`Error: ${e}`)}function pt(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function pr(e){let t=(new Date).getTime(),r=e();return{time:(new Date).getTime()-t,value:r}}function pn(e){function t(){}tL(t,"FakeConstructor"),t.prototype=e;let r=new t;function n(){return typeof r.bar}return tL(n,"fakeAccess"),n(),n(),e}function pi(e){return pa(e)?e.LABEL:e.name}function pa(e){return cF(e.LABEL)&&""!==e.LABEL}tL(c8,"baseUniq"),tL(c7,"uniq"),tL(pe,"PRINT_ERROR"),tL(pt,"PRINT_WARNING"),tL(pr,"timer"),tL(pn,"toFastProperties"),tL(pi,"tokenLabel"),tL(pa,"hasTokenLabel");var ps=class{static{tL(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),c$(this.definition,t=>{t.accept(e)})}},po=class extends ps{static{tL(this,"NonTerminal")}constructor(e){super([]),this.idx=1,oU(this,c1(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}},pl=class extends ps{static{tL(this,"Rule")}constructor(e){super(e.definition),this.orgText="",oU(this,c1(e,e=>void 0!==e))}},pu=class extends ps{static{tL(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,oU(this,c1(e,e=>void 0!==e))}},pc=class extends ps{static{tL(this,"Option")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},pp=class extends ps{static{tL(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},pf=class extends ps{static{tL(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},pd=class extends ps{static{tL(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},pm=class extends ps{static{tL(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},ph=class extends ps{static{tL(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,oU(this,c1(e,e=>void 0!==e))}},py=class{static{tL(this,"Terminal")}constructor(e){this.idx=1,oU(this,c1(e,e=>void 0!==e))}accept(e){e.visit(this)}};function pg(e){return c_(e,pT)}function pT(e){function t(e){return c_(e,pT)}if(tL(t,"convertDefinition"),e instanceof po){let t={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return cF(e.label)&&(t.label=e.label),t}if(e instanceof pu)return{type:"Alternative",definition:t(e.definition)};if(e instanceof pc)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof pp)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof pf)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:pT(new py({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof pm)return{type:"RepetitionWithSeparator",idx:e.idx,separator:pT(new py({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof pd)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};else if(e instanceof ph)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};else if(e instanceof py){let t={type:"Terminal",name:e.terminalType.name,label:pi(e.terminalType),idx:e.idx};cF(e.label)&&(t.terminalLabel=e.label);let r=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=cQ(r)?r.source:r),t}else if(e instanceof pl)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};else throw Error("non exhaustive match")}tL(pg,"serializeGrammar"),tL(pT,"serializeProduction");var pv=class{static{tL(this,"GAstVisitor")}visit(e){switch(e.constructor){case po:return this.visitNonTerminal(e);case pu:return this.visitAlternative(e);case pc:return this.visitOption(e);case pp:return this.visitRepetitionMandatory(e);case pf:return this.visitRepetitionMandatoryWithSeparator(e);case pm:return this.visitRepetitionWithSeparator(e);case pd:return this.visitRepetition(e);case ph:return this.visitAlternation(e);case py:return this.visitTerminal(e);case pl:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function p$(e){return e instanceof pu||e instanceof pc||e instanceof pd||e instanceof pp||e instanceof pf||e instanceof pm||e instanceof py||e instanceof pl}function pR(e,t=[]){return e instanceof pc||e instanceof pd||e instanceof pm||(e instanceof ph?c5(e.definition,e=>pR(e,t)):!(e instanceof po&&cq(t,e))&&e instanceof ps&&(e instanceof po&&t.push(e),cb(e.definition,e=>pR(e,t))))}function pE(e){return e instanceof ph}function pb(e){if(e instanceof po)return"SUBRULE";if(e instanceof pc)return"OPTION";if(e instanceof ph)return"OR";if(e instanceof pp)return"AT_LEAST_ONE";if(e instanceof pf)return"AT_LEAST_ONE_SEP";else if(e instanceof pm)return"MANY_SEP";else if(e instanceof pd)return"MANY";else if(e instanceof py)return"CONSUME";else throw Error("non exhaustive match")}tL(p$,"isSequenceProd"),tL(pR,"isOptionalProd"),tL(pE,"isBranchingProd"),tL(pb,"getProductionDslName");var pA=class{static{tL(this,"RestWalker")}walk(e,t=[]){c$(e.definition,(r,n)=>{let i=cg(e.definition,n+1);if(r instanceof po)this.walkProdRef(r,i,t);else if(r instanceof py)this.walkTerminal(r,i,t);else if(r instanceof pu)this.walkFlat(r,i,t);else if(r instanceof pc)this.walkOption(r,i,t);else if(r instanceof pp)this.walkAtLeastOne(r,i,t);else if(r instanceof pf)this.walkAtLeastOneSep(r,i,t);else if(r instanceof pm)this.walkManySep(r,i,t);else if(r instanceof pd)this.walkMany(r,i,t);else if(r instanceof ph)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new pc({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=pC(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new pc({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=pC(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);c$(e.definition,e=>{let t=new pu({definition:[e]});this.walk(t,n)})}};function pC(e,t,r){return[new pc({definition:[new py({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function pS(e){if(e instanceof po)return pS(e.referencedRule);if(e instanceof py)return pN(e);if(p$(e))return pk(e);if(pE(e))return px(e);throw Error("non exhaustive match")}function pk(e){let t,r=[],n=e.definition,i=0,a=n.length>i,s=!0;for(;a&&s;)s=pR(t=n[i]),r=r.concat(pS(t)),i+=1,a=n.length>i;return c7(r)}function px(e){return c7(lx(c_(e.definition,e=>pS(e))))}function pN(e){return[e.terminalType]}tL(pC,"restForRepetitionWithSeparator"),tL(pS,"first"),tL(pk,"firstForSequence"),tL(px,"firstForBranching"),tL(pN,"firstForTerminal");var pw="_~IN~_",pI=class extends pA{static{tL(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){let n=pP(e.referencedRule,e.idx)+this.topProd.name,i=pS(new pu({definition:t.concat(r)}));this.follows[n]=i}};function p_(e){let t={};return c$(e,e=>{oU(t,new pI(e).startWalking())}),t}function pP(e,t){return e.name+t+pw}tL(p_,"computeAllProdsFollows"),tL(pP,"buildBetweenProdsFollowPrefix");var pO={},pD=new af;function pL(e){let t=e.toString();if(pO.hasOwnProperty(t))return pO[t];{let e=pD.pattern(t);return pO[t]=e,e}}function pM(){pO={}}tL(pL,"getRegExpAst"),tL(pM,"clearRegExpParserCache");var pj="Complement Sets are not supported for first char optimization",pF='Unable to use "first char" lexer optimizations:\n';function pG(e,t=!1){try{let t=pL(e);return pz(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===pj)t&&pt(`${pF} Unable to optimize: < ${e.toString()} >
21
+ `:void 0===e.error&&(r="No result returned.\n\n")),t){let n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";p.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,r)}else p.log(`Received response ${e.id} without active response promise.`,r)}else eR("receive-response",e)}function eR(e,t){if(!p||F===c.Off)return;let r={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};p.log(r)}function eE(){if(et())throw new G(h.Closed,"Connection is closed.");if(er())throw new G(h.Disposed,"Connection is disposed.")}function eb(){if(ee())throw new G(h.AlreadyListening,"Connection is already listening")}function eA(){if(!ee())throw Error("Call listen() first.")}function eC(e){return void 0===e?null:e}function eS(e){if(null!==e)return e}function ek(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function ex(e,t){switch(e){case k.ParameterStructures.auto:if(ek(t))return eS(t);return[eC(t)];case k.ParameterStructures.byName:if(!ek(t))throw Error("Received parameters by name but param is not an object literal.");return eS(t);case k.ParameterStructures.byPosition:return[eC(t)];default:throw Error(`Unknown parameter structure ${e.toString()}`)}}function eN(e,t){let r,n=e.numberOfParams;switch(n){case 0:r=void 0;break;case 1:r=ex(e.parameterStructures,t[0]);break;default:r=[];for(let e=0;e<t.length&&e<n;e++)r.push(eC(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)r.push(null)}return r}tL(ec,"handleRequest"),tL(ep,"handleResponse"),tL(ef,"handleNotification"),tL(ed,"handleInvalidMessage"),tL(em,"stringifyTrace"),tL(eh,"traceSendingRequest"),tL(ey,"traceSendingNotification"),tL(eg,"traceSendingResponse"),tL(eT,"traceReceivedRequest"),tL(ev,"traceReceivedNotification"),tL(e$,"traceReceivedResponse"),tL(eR,"logLSPMessage"),tL(eE,"throwIfClosedOrDisposed"),tL(eb,"throwIfListening"),tL(eA,"throwIfNotListening"),tL(eC,"undefinedToNull"),tL(eS,"nullToUndefined"),tL(ek,"isNamedParam"),tL(ex,"computeSingleParam"),tL(eN,"computeMessageParams");let ew={sendNotification:tL((e,...t)=>{let n,i;if(eE(),S.string(e)){n=e;let r=t[0],a=0,s=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(a=1,s=r);let o=t.length,l=o-a;switch(l){case 0:i=void 0;break;case 1:i=ex(s,t[a]);break;default:if(s===k.ParameterStructures.byName)throw Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);i=t.slice(a,o).map(e=>eC(e))}}else n=e.method,i=eN(e,t);let a={jsonrpc:"2.0",method:n,params:i};return ey(a),r.write(a).catch(e=>{throw v.error("Sending notification failed."),e})},"sendNotification"),onNotification:tL((e,t)=>{let r;return eE(),S.func(e)?T=e:t&&(S.string(e)?(r=e,P.set(e,{type:void 0,handler:t})):(r=e.method,P.set(e.method,{type:e,handler:t}))),{dispose:tL(()=>{void 0!==r?P.delete(r):T=void 0},"dispose")}},"onNotification"),onProgress:tL((e,t,r)=>{if(O.has(t))throw Error(`Progress handler for token ${t} already registered`);return O.set(t,r),{dispose:tL(()=>{O.delete(t)},"dispose")}},"onProgress"),sendProgress:tL((e,t,r)=>ew.sendNotification(l.type,{token:t,value:r}),"sendProgress"),onUnhandledProgress:W.event,sendRequest:tL((e,...t)=>{let n,i,a,s;if(eE(),eA(),S.string(e)){n=e;let r=t[0],a=t[t.length-1],o=0,l=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(o=1,l=r);let u=t.length;w.CancellationToken.is(a)&&(u-=1,s=a);let c=u-o;switch(c){case 0:i=void 0;break;case 1:i=ex(l,t[o]);break;default:if(l===k.ParameterStructures.byName)throw Error(`Received ${c} parameters for 'by Name' request parameter structure.`);i=t.slice(o,u).map(e=>eC(e))}}else{n=e.method,i=eN(e,t);let r=e.numberOfParams;s=w.CancellationToken.is(t[r])?t[r]:void 0}let o=$++;s&&(a=s.onCancellationRequested(()=>{let e=H.sender.sendCancellation(ew,o);return void 0===e?(v.log(`Received no promise from cancellation strategy when cancelling id ${o}`),Promise.resolve()):e.catch(()=>{v.log(`Sending cancellation messages for id ${o} failed`)})}));let l={jsonrpc:"2.0",id:o,method:n,params:i};return eh(l),"function"==typeof H.sender.enableCancellation&&H.sender.enableCancellation(l),new Promise(async(e,t)=>{let i=tL(t=>{e(t),H.sender.cleanup(o),a?.dispose()},"resolveWithCleanup"),s=tL(e=>{t(e),H.sender.cleanup(o),a?.dispose()},"rejectWithCleanup"),u={method:n,timerStart:Date.now(),resolve:i,reject:s};try{await r.write(l),L.set(o,u)}catch(e){throw v.error("Sending request failed."),u.reject(new k.ResponseError(k.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),e}})},"sendRequest"),onRequest:tL((e,t)=>{eE();let r=null;return u.is(e)?(r=void 0,y=e):S.string(e)?(r=null,void 0!==t&&(r=e,_.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,_.set(e.method,{type:e,handler:t})),{dispose:tL(()=>{null!==r&&(void 0!==r?_.delete(r):y=void 0)},"dispose")}},"onRequest"),hasPendingResponse:tL(()=>L.size>0,"hasPendingResponse"),trace:tL(async(e,t,r)=>{let n=!1,i=f.Text;void 0!==r&&(S.boolean(r)?n=r:(n=r.sendNotification||!1,i=r.traceFormat||f.Text)),F=e,z=i,p=F===c.Off?void 0:t,!n||et()||er()||await ew.sendNotification(d.type,{value:c.toString(e)})},"trace"),onError:q.event,onClose:U.event,onUnhandledNotification:B.event,onDispose:V.event,end:tL(()=>{r.end()},"end"),dispose:tL(()=>{if(er())return;K=A.Disposed,V.fire(void 0);let e=new k.ResponseError(k.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let t of L.values())t.reject(e);L=new Map,j=new Map,M=new Set,D=new x.LinkedMap,S.func(r.dispose)&&r.dispose(),S.func(t.dispose)&&t.dispose()},"dispose"),listen:tL(()=>{eE(),eb(),K=A.Listening,t.listen(eu)},"listen"),inspect:tL(()=>{(0,C.default)().console.log("inspect")},"inspect")};return ew.onNotification(m.type,e=>{if(F===c.Off||!p)return;let t=F===c.Verbose||F===c.Compact;p.log(e.message,t?e.verbose:void 0)}),ew.onNotification(l.type,e=>{let t=O.get(e.token);t?t(e.value):W.fire(e)}),ew}tL(er,"is"),et.is=er,(a=A||(A={}))[a.New=1]="New",a[a.Listening=2]="Listening",a[a.Closed=3]="Closed",a[a.Disposed=4]="Disposed",tL(en,"createMessageConnection"),e.createMessageConnection=en}}),t4=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=tY();Object.defineProperty(e,"Message",{enumerable:!0,get:tL(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:tL(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:tL(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:tL(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:tL(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:tL(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:tL(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:tL(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:tL(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:tL(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:tL(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:tL(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:tL(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:tL(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:tL(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:tL(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:tL(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:tL(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:tL(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:tL(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:tL(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:tL(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:tL(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:tL(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:tL(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:tL(function(){return t.ParameterStructures},"get")});var r=tQ();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:tL(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:tL(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:tL(function(){return r.Touch},"get")});var n=tZ();Object.defineProperty(e,"Disposable",{enumerable:!0,get:tL(function(){return n.Disposable},"get")});var i=tV();Object.defineProperty(e,"Event",{enumerable:!0,get:tL(function(){return i.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:tL(function(){return i.Emitter},"get")});var a=tH();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:tL(function(){return a.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:tL(function(){return a.CancellationToken},"get")});var s=tX();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:tL(function(){return s.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:tL(function(){return s.SharedArrayReceiverStrategy},"get")});var o=t0();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:tL(function(){return o.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:tL(function(){return o.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:tL(function(){return o.ReadableStreamMessageReader},"get")});var l=t1();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:tL(function(){return l.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:tL(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:tL(function(){return l.WriteableStreamMessageWriter},"get")});var u=t2();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:tL(function(){return u.AbstractMessageBuffer},"get")});var c=t3();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:tL(function(){return c.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:tL(function(){return c.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:tL(function(){return c.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:tL(function(){return c.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:tL(function(){return c.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:tL(function(){return c.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:tL(function(){return c.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:tL(function(){return c.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:tL(function(){return c.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:tL(function(){return c.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:tL(function(){return c.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:tL(function(){return c.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:tL(function(){return c.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:tL(function(){return c.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:tL(function(){return c.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:tL(function(){return c.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:tL(function(){return c.MessageStrategy},"get")}),e.RAL=tB().default}}),t9=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=t4(),r=class e extends t.AbstractMessageBuffer{static{tL(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(e,t){return new TextEncoder().encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}};r.emptyBuffer=new Uint8Array(0);var n=class{static{tL(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new t.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then(e=>{this._onData.fire(new Uint8Array(e))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},i=class{static{tL(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},a=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:tL(e=>new r(e),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:tL((e,t)=>{if("utf-8"!==t.charset)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(a.encode(JSON.stringify(e,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:tL((e,t)=>{if(!(e instanceof Uint8Array))throw Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))},"decode")})}),stream:Object.freeze({asReadableStream:tL(e=>new n(e),"asReadableStream"),asWritableStream:tL(e=>new i(e),"asWritableStream")}),console,timer:Object.freeze({setTimeout(e,t,...r){let n=setTimeout(e,t,...r);return{dispose:tL(()=>clearTimeout(n),"dispose")}},setImmediate(e,...t){let r=setTimeout(e,0,...t);return{dispose:tL(()=>clearTimeout(r),"dispose")}},setInterval(e,t,...r){let n=setInterval(e,t,...r);return{dispose:tL(()=>clearInterval(n),"dispose")}}})});function o(){return s}tL(o,"RIL");var l=o||(o={});function u(){t.RAL.install(s)}tL(u,"install"),l.install=u,e.default=o}}),t5=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tL(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0,t9().default.install();var n=t4();function i(e,t,r,i){return void 0===r&&(r=n.NullLogger),n.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,n.createMessageConnection)(e,t,r,i)}r(t4(),e),e.BrowserMessageReader=class extends n.AbstractMessageReader{static{tL(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new n.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",e=>this.fireError(e)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}},e.BrowserMessageWriter=class extends n.AbstractMessageWriter{static{tL(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",e=>this.fireError(e))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}},tL(i,"createMessageConnection"),e.createMessageConnection=i}}),t6=tM({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){"use strict";t.exports=t5()}}),t7=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t,r,n=t5();(t=r||(e.MessageDirection=r={})).clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both",e.RegistrationType=class{static{tL(this,"RegistrationType")}constructor(e){this.method=e}},e.ProtocolRequestType0=class extends n.RequestType0{static{tL(this,"ProtocolRequestType0")}constructor(e){super(e)}},e.ProtocolRequestType=class extends n.RequestType{static{tL(this,"ProtocolRequestType")}constructor(e){super(e,n.ParameterStructures.byName)}},e.ProtocolNotificationType0=class extends n.NotificationType0{static{tL(this,"ProtocolNotificationType0")}constructor(e){super(e)}},e.ProtocolNotificationType=class extends n.NotificationType{static{tL(this,"ProtocolNotificationType")}constructor(e){super(e,n.ParameterStructures.byName)}}}}),t8=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){"use strict";function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}function l(e,t){return Array.isArray(e)&&e.every(t)}function u(e){return null!==e&&"object"==typeof e}Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tL(t,"boolean"),e.boolean=t,tL(r,"string"),e.string=r,tL(n,"number"),e.number=n,tL(i,"error"),e.error=i,tL(a,"func"),e.func=a,tL(s,"array"),e.array=s,tL(o,"stringArray"),e.stringArray=o,tL(l,"typedArray"),e.typedArray=l,tL(u,"objectLiteral"),e.objectLiteral=u}}),re=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t,r,n=t7();(t=r||(e.ImplementationRequest=r={})).method="textDocument/implementation",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rt=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t,r,n=t7();(t=r||(e.TypeDefinitionRequest=r={})).method="textDocument/typeDefinition",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rr=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t,r,n,i,a=t7();(t=n||(e.WorkspaceFoldersRequest=n={})).method="workspace/workspaceFolders",t.messageDirection=a.MessageDirection.serverToClient,t.type=new a.ProtocolRequestType0(t.method),(r=i||(e.DidChangeWorkspaceFoldersNotification=i={})).method="workspace/didChangeWorkspaceFolders",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolNotificationType(r.method)}}),rn=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t,r,n=t7();(t=r||(e.ConfigurationRequest=r={})).method="workspace/configuration",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),ri=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t,r,n,i,a=t7();(t=n||(e.DocumentColorRequest=n={})).method="textDocument/documentColor",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.ColorPresentationRequest=i={})).method="textDocument/colorPresentation",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolRequestType(r.method)}}),ra=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t,r,n,i,a=t7();(t=n||(e.FoldingRangeRequest=n={})).method="textDocument/foldingRange",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.FoldingRangeRefreshRequest=i={})).method="workspace/foldingRange/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),rs=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t,r,n=t7();(t=r||(e.DeclarationRequest=r={})).method="textDocument/declaration",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),ro=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t,r,n=t7();(t=r||(e.SelectionRangeRequest=r={})).method="textDocument/selectionRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rl=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t,r,n,i,a,s=t5(),o=t7(),l=n||(e.WorkDoneProgress=n={});function u(e){return e===l.type}l.type=new s.ProgressType,tL(u,"is"),l.is=u,(t=i||(e.WorkDoneProgressCreateRequest=i={})).method="window/workDoneProgress/create",t.messageDirection=o.MessageDirection.serverToClient,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.WorkDoneProgressCancelNotification=a={})).method="window/workDoneProgress/cancel",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolNotificationType(r.method)}}),ru=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=t7();(t=i||(e.CallHierarchyPrepareRequest=i={})).method="textDocument/prepareCallHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.CallHierarchyIncomingCallsRequest=a={})).method="callHierarchy/incomingCalls",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.CallHierarchyOutgoingCallsRequest=s={})).method="callHierarchy/outgoingCalls",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),rc=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t,r,n,i,a,s,o,l,u,c,p,f=t7();(s||(e.TokenFormat=s={})).Relative="relative",(t=o||(e.SemanticTokensRegistrationType=o={})).method="textDocument/semanticTokens",t.type=new f.RegistrationType(t.method),(r=l||(e.SemanticTokensRequest=l={})).method="textDocument/semanticTokens/full",r.messageDirection=f.MessageDirection.clientToServer,r.type=new f.ProtocolRequestType(r.method),r.registrationMethod=o.method,(n=u||(e.SemanticTokensDeltaRequest=u={})).method="textDocument/semanticTokens/full/delta",n.messageDirection=f.MessageDirection.clientToServer,n.type=new f.ProtocolRequestType(n.method),n.registrationMethod=o.method,(i=c||(e.SemanticTokensRangeRequest=c={})).method="textDocument/semanticTokens/range",i.messageDirection=f.MessageDirection.clientToServer,i.type=new f.ProtocolRequestType(i.method),i.registrationMethod=o.method,(a=p||(e.SemanticTokensRefreshRequest=p={})).method="workspace/semanticTokens/refresh",a.messageDirection=f.MessageDirection.serverToClient,a.type=new f.ProtocolRequestType0(a.method)}}),rp=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t,r,n=t7();(t=r||(e.ShowDocumentRequest=r={})).method="window/showDocument",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),rf=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t,r,n=t7();(t=r||(e.LinkedEditingRangeRequest=r={})).method="textDocument/linkedEditingRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rd=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h=t7();(t=l||(e.FileOperationPatternKind=l={})).file="file",t.folder="folder",(r=u||(e.WillCreateFilesRequest=u={})).method="workspace/willCreateFiles",r.messageDirection=h.MessageDirection.clientToServer,r.type=new h.ProtocolRequestType(r.method),(n=c||(e.DidCreateFilesNotification=c={})).method="workspace/didCreateFiles",n.messageDirection=h.MessageDirection.clientToServer,n.type=new h.ProtocolNotificationType(n.method),(i=p||(e.WillRenameFilesRequest=p={})).method="workspace/willRenameFiles",i.messageDirection=h.MessageDirection.clientToServer,i.type=new h.ProtocolRequestType(i.method),(a=f||(e.DidRenameFilesNotification=f={})).method="workspace/didRenameFiles",a.messageDirection=h.MessageDirection.clientToServer,a.type=new h.ProtocolNotificationType(a.method),(s=d||(e.DidDeleteFilesNotification=d={})).method="workspace/didDeleteFiles",s.messageDirection=h.MessageDirection.clientToServer,s.type=new h.ProtocolNotificationType(s.method),(o=m||(e.WillDeleteFilesRequest=m={})).method="workspace/willDeleteFiles",o.messageDirection=h.MessageDirection.clientToServer,o.type=new h.ProtocolRequestType(o.method)}}),rm=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t,r,n,i,a,s,o=t7();(t=i||(e.UniquenessLevel=i={})).document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global",(r=a||(e.MonikerKind=a={})).$import="import",r.$export="export",r.local="local",(n=s||(e.MonikerRequest=s={})).method="textDocument/moniker",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),rh=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=t7();(t=i||(e.TypeHierarchyPrepareRequest=i={})).method="textDocument/prepareTypeHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.TypeHierarchySupertypesRequest=a={})).method="typeHierarchy/supertypes",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.TypeHierarchySubtypesRequest=s={})).method="typeHierarchy/subtypes",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),ry=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t,r,n,i,a=t7();(t=n||(e.InlineValueRequest=n={})).method="textDocument/inlineValue",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.InlineValueRefreshRequest=i={})).method="workspace/inlineValue/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),rg=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t,r,n,i,a,s,o=t7();(t=i||(e.InlayHintRequest=i={})).method="textDocument/inlayHint",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.InlayHintResolveRequest=a={})).method="inlayHint/resolve",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.InlayHintRefreshRequest=s={})).method="workspace/inlayHint/refresh",n.messageDirection=o.MessageDirection.serverToClient,n.type=new o.ProtocolRequestType0(n.method)}}),rT=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t,r,n,i,a,s,o,l,u,c=t5(),p=t8(),f=t7(),d=a||(e.DiagnosticServerCancellationData=a={});function m(e){return e&&p.boolean(e.retriggerRequest)}tL(m,"is"),d.is=m,(t=s||(e.DocumentDiagnosticReportKind=s={})).Full="full",t.Unchanged="unchanged",(r=o||(e.DocumentDiagnosticRequest=o={})).method="textDocument/diagnostic",r.messageDirection=f.MessageDirection.clientToServer,r.type=new f.ProtocolRequestType(r.method),r.partialResult=new c.ProgressType,(n=l||(e.WorkspaceDiagnosticRequest=l={})).method="workspace/diagnostic",n.messageDirection=f.MessageDirection.clientToServer,n.type=new f.ProtocolRequestType(n.method),n.partialResult=new c.ProgressType,(i=u||(e.DiagnosticRefreshRequest=u={})).method="workspace/diagnostic/refresh",i.messageDirection=f.MessageDirection.serverToClient,i.type=new f.ProtocolRequestType0(i.method)}}),rv=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y=(tU(),tK(tq)),g=t8(),T=t7(),v=s||(e.NotebookCellKind=s={});function $(e){return 1===e||2===e}v.Markup=1,v.Code=2,tL($,"is"),v.is=$,function(e){function t(e,t){let r={executionOrder:e};return(!0===t||!1===t)&&(r.success=t),r}function r(e){return g.objectLiteral(e)&&y.uinteger.is(e.executionOrder)&&(void 0===e.success||g.boolean(e.success))}function n(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success}tL(t,"create"),e.create=t,tL(r,"is"),e.is=r,tL(n,"equals"),e.equals=n}(o||(e.ExecutionSummary=o={})),function(e){function t(e,t){return{kind:e,document:t}}function r(e){return g.objectLiteral(e)&&s.is(e.kind)&&y.DocumentUri.is(e.document)&&(void 0===e.metadata||g.objectLiteral(e.metadata))}function n(e,t){let r=new Set;return e.document!==t.document&&r.add("document"),e.kind!==t.kind&&r.add("kind"),e.executionSummary!==t.executionSummary&&r.add("executionSummary"),void 0===e.metadata&&void 0===t.metadata||i(e.metadata,t.metadata)||r.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||o.equals(e.executionSummary,t.executionSummary)||r.add("executionSummary"),r}function i(e,t){if(e===t)return!0;if(null==e||null==t||typeof e!=typeof t||"object"!=typeof e)return!1;let r=Array.isArray(e),n=Array.isArray(t);if(r!==n)return!1;if(r&&n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!i(e[r],t[r]))return!1}if(g.objectLiteral(e)&&g.objectLiteral(t)){let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length||(r.sort(),n.sort(),!i(r,n)))return!1;for(let n=0;n<r.length;n++){let a=r[n];if(!i(e[a],t[a]))return!1}}return!0}tL(t,"create"),e.create=t,tL(r,"is"),e.is=r,tL(n,"diff"),e.diff=n,tL(i,"equalsMetadata")}(l||(e.NotebookCell=l={}));var R=u||(e.NotebookDocument=u={});function E(e,t,r,n){return{uri:e,notebookType:t,version:r,cells:n}}function b(e){return g.objectLiteral(e)&&g.string(e.uri)&&y.integer.is(e.version)&&g.typedArray(e.cells,l.is)}tL(E,"create"),R.create=E,tL(b,"is"),R.is=b,(t=c||(e.NotebookDocumentSyncRegistrationType=c={})).method="notebookDocument/sync",t.messageDirection=T.MessageDirection.clientToServer,t.type=new T.RegistrationType(t.method),(r=p||(e.DidOpenNotebookDocumentNotification=p={})).method="notebookDocument/didOpen",r.messageDirection=T.MessageDirection.clientToServer,r.type=new T.ProtocolNotificationType(r.method),r.registrationMethod=c.method;var A=f||(e.NotebookCellArrayChange=f={});function C(e){return g.objectLiteral(e)&&y.uinteger.is(e.start)&&y.uinteger.is(e.deleteCount)&&(void 0===e.cells||g.typedArray(e.cells,l.is))}function S(e,t,r){let n={start:e,deleteCount:t};return void 0!==r&&(n.cells=r),n}tL(C,"is"),A.is=C,tL(S,"create"),A.create=S,(n=d||(e.DidChangeNotebookDocumentNotification=d={})).method="notebookDocument/didChange",n.messageDirection=T.MessageDirection.clientToServer,n.type=new T.ProtocolNotificationType(n.method),n.registrationMethod=c.method,(i=m||(e.DidSaveNotebookDocumentNotification=m={})).method="notebookDocument/didSave",i.messageDirection=T.MessageDirection.clientToServer,i.type=new T.ProtocolNotificationType(i.method),i.registrationMethod=c.method,(a=h||(e.DidCloseNotebookDocumentNotification=h={})).method="notebookDocument/didClose",a.messageDirection=T.MessageDirection.clientToServer,a.type=new T.ProtocolNotificationType(a.method),a.registrationMethod=c.method}}),r$=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionRequest=void 0;var t,r,n=t7();(t=r||(e.InlineCompletionRequest=r={})).method="textDocument/inlineCompletion",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rR=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangesFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.InlineCompletionRequest=e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C,S,k,x,N,w,I,_,P,O,D,L,M,j,F,G,z,K,q,U,B,W,V,H,Y,Q,Z,X,J,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ef,ed,em,eh,ey,eg,eT,ev,e$,eR,eE,eb,eA,eC,eS,ek,ex,eN,ew,eI,e_,eP,eO,eD,eL,eM,ej,eF,eG,ez,eK,eq,eU,eB,eW,eV,eH,eY,eQ,eZ,eX,eJ,e0,e1,e2,e3,e4,e9,e5,e6,e7,e8,te,tt,tr=t7(),tn=(tU(),tK(tq)),ti=t8(),ta=re();Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:tL(function(){return ta.ImplementationRequest},"get")});var ts=rt();Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:tL(function(){return ts.TypeDefinitionRequest},"get")});var to=rr();Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:tL(function(){return to.WorkspaceFoldersRequest},"get")}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:tL(function(){return to.DidChangeWorkspaceFoldersNotification},"get")});var tl=rn();Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:tL(function(){return tl.ConfigurationRequest},"get")});var tu=ri();Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:tL(function(){return tu.DocumentColorRequest},"get")}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:tL(function(){return tu.ColorPresentationRequest},"get")});var tc=ra();Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:tL(function(){return tc.FoldingRangeRequest},"get")}),Object.defineProperty(e,"FoldingRangeRefreshRequest",{enumerable:!0,get:tL(function(){return tc.FoldingRangeRefreshRequest},"get")});var tp=rs();Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:tL(function(){return tp.DeclarationRequest},"get")});var tf=ro();Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:tL(function(){return tf.SelectionRangeRequest},"get")});var td=rl();Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:tL(function(){return td.WorkDoneProgress},"get")}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:tL(function(){return td.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:tL(function(){return td.WorkDoneProgressCancelNotification},"get")});var tm=ru();Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:tL(function(){return tm.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:tL(function(){return tm.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:tL(function(){return tm.CallHierarchyPrepareRequest},"get")});var th=rc();Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:tL(function(){return th.TokenFormat},"get")}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:tL(function(){return th.SemanticTokensRequest},"get")}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:tL(function(){return th.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:tL(function(){return th.SemanticTokensRangeRequest},"get")}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:tL(function(){return th.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:tL(function(){return th.SemanticTokensRegistrationType},"get")});var ty=rp();Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:tL(function(){return ty.ShowDocumentRequest},"get")});var tg=rf();Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:tL(function(){return tg.LinkedEditingRangeRequest},"get")});var tT=rd();Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:tL(function(){return tT.FileOperationPatternKind},"get")}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:tL(function(){return tT.DidCreateFilesNotification},"get")}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:tL(function(){return tT.WillCreateFilesRequest},"get")}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:tL(function(){return tT.DidRenameFilesNotification},"get")}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:tL(function(){return tT.WillRenameFilesRequest},"get")}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:tL(function(){return tT.DidDeleteFilesNotification},"get")}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:tL(function(){return tT.WillDeleteFilesRequest},"get")});var tv=rm();Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:tL(function(){return tv.UniquenessLevel},"get")}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:tL(function(){return tv.MonikerKind},"get")}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:tL(function(){return tv.MonikerRequest},"get")});var t$=rh();Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:tL(function(){return t$.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:tL(function(){return t$.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:tL(function(){return t$.TypeHierarchySupertypesRequest},"get")});var tR=ry();Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:tL(function(){return tR.InlineValueRequest},"get")}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:tL(function(){return tR.InlineValueRefreshRequest},"get")});var tE=rg();Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:tL(function(){return tE.InlayHintRequest},"get")}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:tL(function(){return tE.InlayHintResolveRequest},"get")}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:tL(function(){return tE.InlayHintRefreshRequest},"get")});var tb=rT();Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:tL(function(){return tb.DiagnosticServerCancellationData},"get")}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:tL(function(){return tb.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:tL(function(){return tb.DocumentDiagnosticRequest},"get")}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:tL(function(){return tb.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:tL(function(){return tb.DiagnosticRefreshRequest},"get")});var tA=rv();Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:tL(function(){return tA.NotebookCellKind},"get")}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:tL(function(){return tA.ExecutionSummary},"get")}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:tL(function(){return tA.NotebookCell},"get")}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:tL(function(){return tA.NotebookDocument},"get")}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:tL(function(){return tA.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:tL(function(){return tA.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:tL(function(){return tA.NotebookCellArrayChange},"get")}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:tL(function(){return tA.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:tL(function(){return tA.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:tL(function(){return tA.DidCloseNotebookDocumentNotification},"get")});var tC=r$();Object.defineProperty(e,"InlineCompletionRequest",{enumerable:!0,get:tL(function(){return tC.InlineCompletionRequest},"get")});var tS=et||(e.TextDocumentFilter=et={});function tk(e){return ti.string(e)||ti.string(e.language)||ti.string(e.scheme)||ti.string(e.pattern)}tL(tk,"is"),tS.is=tk;var tx=er||(e.NotebookDocumentFilter=er={});function tN(e){return ti.objectLiteral(e)&&(ti.string(e.notebookType)||ti.string(e.scheme)||ti.string(e.pattern))}tL(tN,"is"),tx.is=tN;var tw=en||(e.NotebookCellTextDocumentFilter=en={});function tI(e){return ti.objectLiteral(e)&&(ti.string(e.notebook)||er.is(e.notebook))&&(void 0===e.language||ti.string(e.language))}tL(tI,"is"),tw.is=tI;var t_=ei||(e.DocumentSelector=ei={});function tP(e){if(!Array.isArray(e))return!1;for(let t of e)if(!ti.string(t)&&!et.is(t)&&!en.is(t))return!1;return!0}tL(tP,"is"),t_.is=tP,(t=ea||(e.RegistrationRequest=ea={})).method="client/registerCapability",t.messageDirection=tr.MessageDirection.serverToClient,t.type=new tr.ProtocolRequestType(t.method),(r=es||(e.UnregistrationRequest=es={})).method="client/unregisterCapability",r.messageDirection=tr.MessageDirection.serverToClient,r.type=new tr.ProtocolRequestType(r.method),(n=eo||(e.ResourceOperationKind=eo={})).Create="create",n.Rename="rename",n.Delete="delete",(i=el||(e.FailureHandlingKind=el={})).Abort="abort",i.Transactional="transactional",i.TextOnlyTransactional="textOnlyTransactional",i.Undo="undo",(a=eu||(e.PositionEncodingKind=eu={})).UTF8="utf-8",a.UTF16="utf-16",a.UTF32="utf-32";var tO=ec||(e.StaticRegistrationOptions=ec={});function tD(e){return e&&ti.string(e.id)&&e.id.length>0}tL(tD,"hasId"),tO.hasId=tD;var tM=ep||(e.TextDocumentRegistrationOptions=ep={});function tj(e){return e&&(null===e.documentSelector||ei.is(e.documentSelector))}tL(tj,"is"),tM.is=tj;var tF=ef||(e.WorkDoneProgressOptions=ef={});function tG(e){return ti.objectLiteral(e)&&(void 0===e.workDoneProgress||ti.boolean(e.workDoneProgress))}function tz(e){return e&&ti.boolean(e.workDoneProgress)}tL(tG,"is"),tF.is=tG,tL(tz,"hasWorkDoneProgress"),tF.hasWorkDoneProgress=tz,(s=ed||(e.InitializeRequest=ed={})).method="initialize",s.messageDirection=tr.MessageDirection.clientToServer,s.type=new tr.ProtocolRequestType(s.method),(em||(e.InitializeErrorCodes=em={})).unknownProtocolVersion=1,(o=eh||(e.InitializedNotification=eh={})).method="initialized",o.messageDirection=tr.MessageDirection.clientToServer,o.type=new tr.ProtocolNotificationType(o.method),(l=ey||(e.ShutdownRequest=ey={})).method="shutdown",l.messageDirection=tr.MessageDirection.clientToServer,l.type=new tr.ProtocolRequestType0(l.method),(u=eg||(e.ExitNotification=eg={})).method="exit",u.messageDirection=tr.MessageDirection.clientToServer,u.type=new tr.ProtocolNotificationType0(u.method),(c=eT||(e.DidChangeConfigurationNotification=eT={})).method="workspace/didChangeConfiguration",c.messageDirection=tr.MessageDirection.clientToServer,c.type=new tr.ProtocolNotificationType(c.method),(p=ev||(e.MessageType=ev={})).Error=1,p.Warning=2,p.Info=3,p.Log=4,p.Debug=5,(f=e$||(e.ShowMessageNotification=e$={})).method="window/showMessage",f.messageDirection=tr.MessageDirection.serverToClient,f.type=new tr.ProtocolNotificationType(f.method),(d=eR||(e.ShowMessageRequest=eR={})).method="window/showMessageRequest",d.messageDirection=tr.MessageDirection.serverToClient,d.type=new tr.ProtocolRequestType(d.method),(m=eE||(e.LogMessageNotification=eE={})).method="window/logMessage",m.messageDirection=tr.MessageDirection.serverToClient,m.type=new tr.ProtocolNotificationType(m.method),(h=eb||(e.TelemetryEventNotification=eb={})).method="telemetry/event",h.messageDirection=tr.MessageDirection.serverToClient,h.type=new tr.ProtocolNotificationType(h.method),(y=eA||(e.TextDocumentSyncKind=eA={})).None=0,y.Full=1,y.Incremental=2,(g=eC||(e.DidOpenTextDocumentNotification=eC={})).method="textDocument/didOpen",g.messageDirection=tr.MessageDirection.clientToServer,g.type=new tr.ProtocolNotificationType(g.method);var tB=eS||(e.TextDocumentContentChangeEvent=eS={});function tW(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}function tV(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}tL(tW,"isIncremental"),tB.isIncremental=tW,tL(tV,"isFull"),tB.isFull=tV,(T=ek||(e.DidChangeTextDocumentNotification=ek={})).method="textDocument/didChange",T.messageDirection=tr.MessageDirection.clientToServer,T.type=new tr.ProtocolNotificationType(T.method),(v=ex||(e.DidCloseTextDocumentNotification=ex={})).method="textDocument/didClose",v.messageDirection=tr.MessageDirection.clientToServer,v.type=new tr.ProtocolNotificationType(v.method),($=eN||(e.DidSaveTextDocumentNotification=eN={})).method="textDocument/didSave",$.messageDirection=tr.MessageDirection.clientToServer,$.type=new tr.ProtocolNotificationType($.method),(R=ew||(e.TextDocumentSaveReason=ew={})).Manual=1,R.AfterDelay=2,R.FocusOut=3,(E=eI||(e.WillSaveTextDocumentNotification=eI={})).method="textDocument/willSave",E.messageDirection=tr.MessageDirection.clientToServer,E.type=new tr.ProtocolNotificationType(E.method),(b=e_||(e.WillSaveTextDocumentWaitUntilRequest=e_={})).method="textDocument/willSaveWaitUntil",b.messageDirection=tr.MessageDirection.clientToServer,b.type=new tr.ProtocolRequestType(b.method),(A=eP||(e.DidChangeWatchedFilesNotification=eP={})).method="workspace/didChangeWatchedFiles",A.messageDirection=tr.MessageDirection.clientToServer,A.type=new tr.ProtocolNotificationType(A.method),(C=eO||(e.FileChangeType=eO={})).Created=1,C.Changed=2,C.Deleted=3;var tH=eD||(e.RelativePattern=eD={});function tY(e){return ti.objectLiteral(e)&&(tn.URI.is(e.baseUri)||tn.WorkspaceFolder.is(e.baseUri))&&ti.string(e.pattern)}tL(tY,"is"),tH.is=tY,(S=eL||(e.WatchKind=eL={})).Create=1,S.Change=2,S.Delete=4,(k=eM||(e.PublishDiagnosticsNotification=eM={})).method="textDocument/publishDiagnostics",k.messageDirection=tr.MessageDirection.serverToClient,k.type=new tr.ProtocolNotificationType(k.method),(x=ej||(e.CompletionTriggerKind=ej={})).Invoked=1,x.TriggerCharacter=2,x.TriggerForIncompleteCompletions=3,(N=eF||(e.CompletionRequest=eF={})).method="textDocument/completion",N.messageDirection=tr.MessageDirection.clientToServer,N.type=new tr.ProtocolRequestType(N.method),(w=eG||(e.CompletionResolveRequest=eG={})).method="completionItem/resolve",w.messageDirection=tr.MessageDirection.clientToServer,w.type=new tr.ProtocolRequestType(w.method),(I=ez||(e.HoverRequest=ez={})).method="textDocument/hover",I.messageDirection=tr.MessageDirection.clientToServer,I.type=new tr.ProtocolRequestType(I.method),(_=eK||(e.SignatureHelpTriggerKind=eK={})).Invoked=1,_.TriggerCharacter=2,_.ContentChange=3,(P=eq||(e.SignatureHelpRequest=eq={})).method="textDocument/signatureHelp",P.messageDirection=tr.MessageDirection.clientToServer,P.type=new tr.ProtocolRequestType(P.method),(O=eU||(e.DefinitionRequest=eU={})).method="textDocument/definition",O.messageDirection=tr.MessageDirection.clientToServer,O.type=new tr.ProtocolRequestType(O.method),(D=eB||(e.ReferencesRequest=eB={})).method="textDocument/references",D.messageDirection=tr.MessageDirection.clientToServer,D.type=new tr.ProtocolRequestType(D.method),(L=eW||(e.DocumentHighlightRequest=eW={})).method="textDocument/documentHighlight",L.messageDirection=tr.MessageDirection.clientToServer,L.type=new tr.ProtocolRequestType(L.method),(M=eV||(e.DocumentSymbolRequest=eV={})).method="textDocument/documentSymbol",M.messageDirection=tr.MessageDirection.clientToServer,M.type=new tr.ProtocolRequestType(M.method),(j=eH||(e.CodeActionRequest=eH={})).method="textDocument/codeAction",j.messageDirection=tr.MessageDirection.clientToServer,j.type=new tr.ProtocolRequestType(j.method),(F=eY||(e.CodeActionResolveRequest=eY={})).method="codeAction/resolve",F.messageDirection=tr.MessageDirection.clientToServer,F.type=new tr.ProtocolRequestType(F.method),(G=eQ||(e.WorkspaceSymbolRequest=eQ={})).method="workspace/symbol",G.messageDirection=tr.MessageDirection.clientToServer,G.type=new tr.ProtocolRequestType(G.method),(z=eZ||(e.WorkspaceSymbolResolveRequest=eZ={})).method="workspaceSymbol/resolve",z.messageDirection=tr.MessageDirection.clientToServer,z.type=new tr.ProtocolRequestType(z.method),(K=eX||(e.CodeLensRequest=eX={})).method="textDocument/codeLens",K.messageDirection=tr.MessageDirection.clientToServer,K.type=new tr.ProtocolRequestType(K.method),(q=eJ||(e.CodeLensResolveRequest=eJ={})).method="codeLens/resolve",q.messageDirection=tr.MessageDirection.clientToServer,q.type=new tr.ProtocolRequestType(q.method),(U=e0||(e.CodeLensRefreshRequest=e0={})).method="workspace/codeLens/refresh",U.messageDirection=tr.MessageDirection.serverToClient,U.type=new tr.ProtocolRequestType0(U.method),(B=e1||(e.DocumentLinkRequest=e1={})).method="textDocument/documentLink",B.messageDirection=tr.MessageDirection.clientToServer,B.type=new tr.ProtocolRequestType(B.method),(W=e2||(e.DocumentLinkResolveRequest=e2={})).method="documentLink/resolve",W.messageDirection=tr.MessageDirection.clientToServer,W.type=new tr.ProtocolRequestType(W.method),(V=e3||(e.DocumentFormattingRequest=e3={})).method="textDocument/formatting",V.messageDirection=tr.MessageDirection.clientToServer,V.type=new tr.ProtocolRequestType(V.method),(H=e4||(e.DocumentRangeFormattingRequest=e4={})).method="textDocument/rangeFormatting",H.messageDirection=tr.MessageDirection.clientToServer,H.type=new tr.ProtocolRequestType(H.method),(Y=e9||(e.DocumentRangesFormattingRequest=e9={})).method="textDocument/rangesFormatting",Y.messageDirection=tr.MessageDirection.clientToServer,Y.type=new tr.ProtocolRequestType(Y.method),(Q=e5||(e.DocumentOnTypeFormattingRequest=e5={})).method="textDocument/onTypeFormatting",Q.messageDirection=tr.MessageDirection.clientToServer,Q.type=new tr.ProtocolRequestType(Q.method),(e6||(e.PrepareSupportDefaultBehavior=e6={})).Identifier=1,(Z=e7||(e.RenameRequest=e7={})).method="textDocument/rename",Z.messageDirection=tr.MessageDirection.clientToServer,Z.type=new tr.ProtocolRequestType(Z.method),(X=e8||(e.PrepareRenameRequest=e8={})).method="textDocument/prepareRename",X.messageDirection=tr.MessageDirection.clientToServer,X.type=new tr.ProtocolRequestType(X.method),(J=te||(e.ExecuteCommandRequest=te={})).method="workspace/executeCommand",J.messageDirection=tr.MessageDirection.clientToServer,J.type=new tr.ProtocolRequestType(J.method),(ee=tt||(e.ApplyWorkspaceEditRequest=tt={})).method="workspace/applyEdit",ee.messageDirection=tr.MessageDirection.serverToClient,ee.type=new tr.ProtocolRequestType("workspace/applyEdit")}}),rE=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=t5();function r(e,r,n,i){return t.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,t.createMessageConnection)(e,r,n,i)}tL(r,"createProtocolConnection"),e.createProtocolConnection=r}}),rb=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){"use strict";var t,r,n=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tL(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=e&&e.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,i(t5(),e),i((tU(),tK(tq)),e),i(t7(),e),i(rR(),e);var a=rE();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:tL(function(){return a.createProtocolConnection},"get")}),(t=r||(e.LSPErrorCodes=r={})).lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800}}),rA=tM({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tL(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var n=t6();function i(e,t,r,i){return(0,n.createMessageConnection)(e,t,r,i)}r(t6(),e),r(rb(),e),tL(i,"createProtocolConnection"),e.createProtocolConnection=i}}),rC={};tj(rC,{AbstractAstReflection:()=>r_,AbstractCstNode:()=>TW,AbstractLangiumParser:()=>T0,AbstractParserErrorMessageProvider:()=>T2,AbstractThreadedAsyncParser:()=>$0,AstUtils:()=>rq,BiMap:()=>vH,Cancellation:()=>vR,CompositeCstNodeImpl:()=>TH,ContextCache:()=>v2,CstNodeBuilder:()=>TB,CstUtils:()=>rS,DEFAULT_TOKENIZE_OPTIONS:()=>$v,DONE_RESULT:()=>rG,DatatypeSymbol:()=>TZ,DefaultAstNodeDescriptionProvider:()=>$o,DefaultAstNodeLocator:()=>$u,DefaultAsyncParser:()=>$J,DefaultCommentProvider:()=>$X,DefaultConfigurationProvider:()=>$p,DefaultDocumentBuilder:()=>$h,DefaultDocumentValidator:()=>$n,DefaultHydrator:()=>$3,DefaultIndexManager:()=>$y,DefaultJsonSerializer:()=>v7,DefaultLangiumDocumentFactory:()=>vG,DefaultLangiumDocuments:()=>vz,DefaultLangiumProfiler:()=>Rd,DefaultLexer:()=>$$,DefaultLexerErrorMessageProvider:()=>$T,DefaultLinker:()=>vq,DefaultNameProvider:()=>vB,DefaultReferenceDescriptionProvider:()=>$l,DefaultReferences:()=>vW,DefaultScopeComputation:()=>vY,DefaultScopeProvider:()=>v9,DefaultServiceRegistry:()=>v8,DefaultTokenBuilder:()=>vv,DefaultValueConverter:()=>v$,DefaultWorkspaceLock:()=>$2,DefaultWorkspaceManager:()=>$g,Deferred:()=>vw,Disposable:()=>e5,DisposableCache:()=>v0,DocumentCache:()=>v3,DocumentState:()=>e3,DocumentValidator:()=>e9,EMPTY_SCOPE:()=>vJ,EMPTY_STREAM:()=>rF,EmptyFileSystem:()=>Rl,EmptyFileSystemProvider:()=>Ro,ErrorWithLocation:()=>i5,GrammarAST:()=>r4,GrammarUtils:()=>i9,IndentationAwareLexer:()=>Ra,IndentationAwareTokenBuilder:()=>Ri,JSDocDocumentationProvider:()=>$Z,LangiumCompletionParser:()=>T4,LangiumParser:()=>T1,LangiumParserErrorMessageProvider:()=>T3,LeafCstNodeImpl:()=>TV,LexingMode:()=>e7,MapScope:()=>vZ,Module:()=>e6,MultiMap:()=>vV,MultiMapScope:()=>vX,OperationCancelled:()=>vk,ParserWorker:()=>$1,ProfilingTask:()=>Rm,Reduction:()=>eV,RefResolving:()=>vK,RegExpUtils:()=>i8,RootCstNodeImpl:()=>TQ,SimpleCache:()=>v1,StreamImpl:()=>rL,StreamScope:()=>vQ,TextDocument:()=>e0,TreeStreamImpl:()=>rK,URI:()=>vM,UriTrie:()=>vF,UriUtils:()=>e2,VALIDATE_EACH_NODE:()=>$r,ValidationCategory:()=>e4,ValidationRegistry:()=>$t,ValueConverter:()=>eJ,WorkspaceCache:()=>v4,assertCondition:()=>i7,assertUnreachable:()=>i6,createCompletionParser:()=>vy,createDefaultCoreModule:()=>$4,createDefaultSharedCoreModule:()=>$9,createGrammarConfig:()=>a8,createLangiumParser:()=>vg,createParser:()=>T7,delayNextTick:()=>vE,diagnosticData:()=>$e,eagerLoad:()=>$7,getDiagnosticRange:()=>$i,indentationBuilderDefaultOptions:()=>Rn,inject:()=>$5,interruptAndCheck:()=>vN,isAstNode:()=>rk,isAstNodeDescription:()=>rw,isAstNodeWithComment:()=>v5,isCompositeCstNode:()=>rP,isIMultiModeLexerDefinition:()=>$E,isJSDoc:()=>$C,isLeafCstNode:()=>rO,isLinkingError:()=>rI,isMultiReference:()=>rN,isNamed:()=>vU,isOperationCancelled:()=>vx,isReference:()=>rx,isRootCstNode:()=>rD,isTokenTypeArray:()=>$R,isTokenTypeDictionary:()=>$b,loadGrammarFromJson:()=>Rf,parseJSDoc:()=>$A,prepareLangiumParser:()=>vT,setInterruptionPeriod:()=>vS,startCancelableOperation:()=>vC,stream:()=>rz,toDiagnosticData:()=>$s,toDiagnosticSeverity:()=>$a});var rS={};function rk(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function rx(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"ref"in e}function rN(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"items"in e}function rw(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function rI(e){return"object"==typeof e&&null!==e&&"object"==typeof e.info&&"string"==typeof e.message}tj(rS,{DefaultNameRegexp:()=>iW,RangeComparison:()=>eH,compareRange:()=>iU,findCommentNode:()=>iH,findDeclarationNodeAtOffset:()=>iV,findLeafNodeAtOffset:()=>iQ,findLeafNodeBeforeOffset:()=>iZ,flattenCst:()=>iG,getDatatypeNode:()=>ij,getInteriorNodes:()=>i2,getNextNode:()=>i0,getPreviousNode:()=>iJ,getStartlineNode:()=>i1,inRange:()=>iB,isChildNode:()=>iz,isCommentNode:()=>iY,streamCst:()=>iF,toDocumentSegment:()=>iq,tokenToRange:()=>iK}),tL(rk,"isAstNode"),tL(rx,"isReference"),tL(rN,"isMultiReference"),tL(rw,"isAstNodeDescription"),tL(rI,"isLinkingError");var r_=class{static{tL(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw Error(`Type ${e.container.$type||"undefined"} not found.`);let r=t.properties[e.property]?.referenceType;if(!r)throw Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){let t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return rk(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.types[e],i=!!n&&n.superTypes.some(e=>this.isSubtype(e,t));return r[t]=i,i}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}};function rP(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function rO(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function rD(e){return rP(e)&&"string"==typeof e.fullText}tL(rP,"isCompositeCstNode"),tL(rO,"isLeafCstNode"),tL(rD,"isRootCstNode");var rL=class e{static{tL(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:tL(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e,t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done)return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(t){return new e(()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(!(t=this.nextFn(e.first)).done)return t;while(!t.done)e.firstDone=!0}do if(!(t=e.iterator.next()).done)return t;while(!t.done)return rG})}join(e=","){let t,r=this.iterator(),n="",i=!1;do(t=r.next()).done||(i&&(n+=e),n+=rM(t.value)),i=!0;while(!t.done)return n}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(t){return new e(this.startFn,e=>{let{done:r,value:n}=this.nextFn(e);return r?rG:{done:!1,value:t(n)}})}filter(t){return new e(this.startFn,e=>{let r;do if(!(r=this.nextFn(e)).done&&t(r.value))return r;while(!r.done)return rG})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(t){return new e(()=>({this:this.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=this.nextFn(e.this);if(!r){let r=t(n);if(!rj(r))return{done:!1,value:r};e.iterator=r[Symbol.iterator]()}}while(e.iterator)return rG})}flat(t){if(void 0===t&&(t=1),t<=0)return this;let r=t>1?this.flat(t-1):this;return new e(()=>({this:r.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:t,value:n}=r.nextFn(e.this);if(!t)if(!rj(n))return{done:!1,value:n};else e.iterator=n[Symbol.iterator]()}while(e.iterator)return rG})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{let e=this.startFn();for(let r=0;r<t&&!this.nextFn(e).done;r++);return e},this.nextFn)}limit(t){return new e(()=>({size:0,state:this.startFn()}),e=>(e.size++,e.size>t)?rG:this.nextFn(e.state))}distinct(t){return new e(()=>({set:new Set,internalState:this.startFn()}),e=>{let r;do if(!(r=this.nextFn(e.internalState)).done){let n=t?t(r.value):r.value;if(!e.set.has(n))return e.set.add(n),r}while(!r.done)return rG})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}};function rM(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function rj(e){return!!e&&"function"==typeof e[Symbol.iterator]}tL(rM,"toString"),tL(rj,"isIterable");var rF=new rL(()=>void 0,()=>rG),rG=Object.freeze({done:!0,value:void 0});function rz(...e){if(1===e.length){let t=e[0];if(t instanceof rL)return t;if(rj(t))return new rL(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new rL(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:rG)}return e.length>1?new rL(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];rj(r)?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length)return rG}):rF}tL(rz,"stream");var rK=class extends rL{static{tL(this,"TreeStreamImpl")}constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return rG})}iterator(){let e={state:this.startFn(),next:tL(()=>this.nextFn(e.state),"next"),prune:tL(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};!function(e){function t(e){return e.reduce((e,t)=>e+t,0)}function r(e){return e.reduce((e,t)=>e*t,0)}function n(e){return e.reduce((e,t)=>Math.min(e,t))}function i(e){return e.reduce((e,t)=>Math.max(e,t))}tL(t,"sum"),e.sum=t,tL(r,"product"),e.product=r,tL(n,"min"),e.min=n,tL(i,"max"),e.max=i}(eV||(eV={}));var rq={};function rU(e,t={}){for(let[r,n]of Object.entries(e))!r.startsWith("$")&&(Array.isArray(n)?n.forEach((n,i)=>{rk(n)&&(n.$container=e,n.$containerProperty=r,n.$containerIndex=i,t.deep&&rU(n,t))}):rk(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&rU(n,t)))}function rB(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function rW(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}function rV(e){let t=rH(e).$document;if(!t)throw Error("AST node has no document.");return t}function rH(e){for(;e.$container;)e=e.$container;return e}function rY(e){return rx(e)?e.ref?[e.ref]:[]:rN(e)?e.items.map(e=>e.ref):[]}function rQ(e,t){if(!e)throw Error("Node must be an AstNode.");let r=t?.range;return new rL(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let n=t.keys[t.keyIndex];if(!n.startsWith("$")){let i=e[n];if(rk(i)){if(t.keyIndex++,rJ(i,r))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let e=i[t.arrayIndex++];if(rk(e)&&rJ(e,r))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return rG})}function rZ(e,t){if(!e)throw Error("Root node must be an AstNode.");return new rK(e,e=>rQ(e,t))}function rX(e,t){if(e){if(t?.range&&!rJ(e,t.range))return new rK(e,()=>[])}else throw Error("Root node must be an AstNode.");return new rK(e,e=>rQ(e,t),{includeRoot:!0})}function rJ(e,t){if(!t)return!0;let r=e.$cstNode?.range;return!!r&&iB(r,t)}function r0(e){return new rL(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let n=e[r];if(rx(n)||rN(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){let i=t.arrayIndex++,a=n[i];if(rx(a)||rN(n))return{done:!1,value:{reference:a,container:e,property:r,index:i}}}t.arrayIndex=0}}t.keyIndex++}return rG})}function r1(e,t){for(let r of Object.values(e.getTypeMetaData(t.$type).properties))void 0!==r.defaultValue&&void 0===t[r.name]&&(t[r.name]=r2(r.defaultValue))}function r2(e){return Array.isArray(e)?[...e.map(r2)]:e}function r3(e,t,r){let n={$type:e.$type};for(let[i,a]of(r&&(r.set(e,n),r.set(n,e)),Object.entries(e)))if(!i.startsWith("$"))if(rk(a))n[i]=r3(a,t,r);else if(rx(a))n[i]=t(n,i,a.$refNode,a.$refText,a);else if(Array.isArray(a)){let e=[];for(let s of a)rk(s)?e.push(r3(s,t,r)):rx(s)?e.push(t(n,i,s.$refNode,s.$refText,s)):e.push(s);n[i]=e}else n[i]=a;return rU(n,{deep:!0}),n}tj(rq,{assignMandatoryProperties:()=>r1,copyAstNode:()=>r3,findRootNode:()=>rH,getContainerOfType:()=>rB,getDocument:()=>rV,getReferenceNodes:()=>rY,hasContainerOfType:()=>rW,linkContentToContainer:()=>rU,streamAllContents:()=>rZ,streamAst:()=>rX,streamContents:()=>rQ,streamReferences:()=>r0}),tL(rU,"linkContentToContainer"),tL(rB,"getContainerOfType"),tL(rW,"hasContainerOfType"),tL(rV,"getDocument"),tL(rH,"findRootNode"),tL(rY,"getReferenceNodes"),tL(rQ,"streamContents"),tL(rZ,"streamAllContents"),tL(rX,"streamAst"),tL(rJ,"isAstNodeInRange"),tL(r0,"streamReferences"),tL(r1,"assignMandatoryProperties"),tL(r2,"copyDefaultValue"),tL(r3,"copyAstNode");var r4={};tj(r4,{AbstractElement:()=>r5,AbstractParserRule:()=>r7,AbstractRule:()=>ne,AbstractType:()=>nr,Action:()=>ni,Alternatives:()=>ns,ArrayLiteral:()=>nl,ArrayType:()=>nc,Assignment:()=>nf,BooleanLiteral:()=>nm,CharacterRange:()=>ny,Condition:()=>nT,Conjunction:()=>n$,CrossReference:()=>nE,Disjunction:()=>nA,EndOfFile:()=>nS,Grammar:()=>nx,GrammarImport:()=>nw,Group:()=>n_,InferredType:()=>nO,InfixRule:()=>nL,InfixRuleOperatorList:()=>nj,InfixRuleOperators:()=>nG,Interface:()=>nK,Keyword:()=>nU,LangiumGrammarAstReflection:()=>iL,LangiumGrammarTerminals:()=>r9,NamedArgument:()=>nW,NegatedToken:()=>nH,Negation:()=>nQ,NumberLiteral:()=>nX,Parameter:()=>n0,ParameterReference:()=>n2,ParserRule:()=>n4,ReferenceType:()=>n5,RegexToken:()=>n7,ReturnType:()=>ie,RuleCall:()=>ir,SimpleType:()=>ia,StringLiteral:()=>io,TerminalAlternatives:()=>iu,TerminalElement:()=>ip,TerminalGroup:()=>im,TerminalRule:()=>iy,TerminalRuleCall:()=>iT,Type:()=>i$,TypeAttribute:()=>iE,TypeDefinition:()=>iA,UnionType:()=>iS,UnorderedGroup:()=>ix,UntilToken:()=>iw,ValueLiteral:()=>i_,Wildcard:()=>iO,isAbstractElement:()=>r6,isAbstractParserRule:()=>r8,isAbstractRule:()=>nt,isAbstractType:()=>nn,isAction:()=>na,isAlternatives:()=>no,isArrayLiteral:()=>nu,isArrayType:()=>np,isAssignment:()=>nd,isBooleanLiteral:()=>nh,isCharacterRange:()=>ng,isCondition:()=>nv,isConjunction:()=>nR,isCrossReference:()=>nb,isDisjunction:()=>nC,isEndOfFile:()=>nk,isGrammar:()=>nN,isGrammarImport:()=>nI,isGroup:()=>nP,isInferredType:()=>nD,isInfixRule:()=>nM,isInfixRuleOperatorList:()=>nF,isInfixRuleOperators:()=>nz,isInterface:()=>nq,isKeyword:()=>nB,isNamedArgument:()=>nV,isNegatedToken:()=>nY,isNegation:()=>nZ,isNumberLiteral:()=>nJ,isParameter:()=>n1,isParameterReference:()=>n3,isParserRule:()=>n9,isReferenceType:()=>n6,isRegexToken:()=>n8,isReturnType:()=>it,isRuleCall:()=>ii,isSimpleType:()=>is,isStringLiteral:()=>il,isTerminalAlternatives:()=>ic,isTerminalElement:()=>id,isTerminalGroup:()=>ih,isTerminalRule:()=>ig,isTerminalRuleCall:()=>iv,isType:()=>iR,isTypeAttribute:()=>ib,isTypeDefinition:()=>iC,isUnionType:()=>ik,isUnorderedGroup:()=>iN,isUntilToken:()=>iI,isValueLiteral:()=>iP,isWildcard:()=>iD,reflection:()=>iM});var r9={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]*/},r5={$type:"AbstractElement",cardinality:"cardinality"};function r6(e){return iM.isInstance(e,r5.$type)}tL(r6,"isAbstractElement");var r7={$type:"AbstractParserRule"};function r8(e){return iM.isInstance(e,r7.$type)}tL(r8,"isAbstractParserRule");var ne={$type:"AbstractRule"};function nt(e){return iM.isInstance(e,ne.$type)}tL(nt,"isAbstractRule");var nr={$type:"AbstractType"};function nn(e){return iM.isInstance(e,nr.$type)}tL(nn,"isAbstractType");var ni={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function na(e){return iM.isInstance(e,ni.$type)}tL(na,"isAction");var ns={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function no(e){return iM.isInstance(e,ns.$type)}tL(no,"isAlternatives");var nl={$type:"ArrayLiteral",elements:"elements"};function nu(e){return iM.isInstance(e,nl.$type)}tL(nu,"isArrayLiteral");var nc={$type:"ArrayType",elementType:"elementType"};function np(e){return iM.isInstance(e,nc.$type)}tL(np,"isArrayType");var nf={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function nd(e){return iM.isInstance(e,nf.$type)}tL(nd,"isAssignment");var nm={$type:"BooleanLiteral",true:"true"};function nh(e){return iM.isInstance(e,nm.$type)}tL(nh,"isBooleanLiteral");var ny={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function ng(e){return iM.isInstance(e,ny.$type)}tL(ng,"isCharacterRange");var nT={$type:"Condition"};function nv(e){return iM.isInstance(e,nT.$type)}tL(nv,"isCondition");var n$={$type:"Conjunction",left:"left",right:"right"};function nR(e){return iM.isInstance(e,n$.$type)}tL(nR,"isConjunction");var nE={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function nb(e){return iM.isInstance(e,nE.$type)}tL(nb,"isCrossReference");var nA={$type:"Disjunction",left:"left",right:"right"};function nC(e){return iM.isInstance(e,nA.$type)}tL(nC,"isDisjunction");var nS={$type:"EndOfFile",cardinality:"cardinality"};function nk(e){return iM.isInstance(e,nS.$type)}tL(nk,"isEndOfFile");var nx={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function nN(e){return iM.isInstance(e,nx.$type)}tL(nN,"isGrammar");var nw={$type:"GrammarImport",path:"path"};function nI(e){return iM.isInstance(e,nw.$type)}tL(nI,"isGrammarImport");var n_={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function nP(e){return iM.isInstance(e,n_.$type)}tL(nP,"isGroup");var nO={$type:"InferredType",name:"name"};function nD(e){return iM.isInstance(e,nO.$type)}tL(nD,"isInferredType");var nL={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function nM(e){return iM.isInstance(e,nL.$type)}tL(nM,"isInfixRule");var nj={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function nF(e){return iM.isInstance(e,nj.$type)}tL(nF,"isInfixRuleOperatorList");var nG={$type:"InfixRuleOperators",precedences:"precedences"};function nz(e){return iM.isInstance(e,nG.$type)}tL(nz,"isInfixRuleOperators");var nK={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function nq(e){return iM.isInstance(e,nK.$type)}tL(nq,"isInterface");var nU={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function nB(e){return iM.isInstance(e,nU.$type)}tL(nB,"isKeyword");var nW={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function nV(e){return iM.isInstance(e,nW.$type)}tL(nV,"isNamedArgument");var nH={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function nY(e){return iM.isInstance(e,nH.$type)}tL(nY,"isNegatedToken");var nQ={$type:"Negation",value:"value"};function nZ(e){return iM.isInstance(e,nQ.$type)}tL(nZ,"isNegation");var nX={$type:"NumberLiteral",value:"value"};function nJ(e){return iM.isInstance(e,nX.$type)}tL(nJ,"isNumberLiteral");var n0={$type:"Parameter",name:"name"};function n1(e){return iM.isInstance(e,n0.$type)}tL(n1,"isParameter");var n2={$type:"ParameterReference",parameter:"parameter"};function n3(e){return iM.isInstance(e,n2.$type)}tL(n3,"isParameterReference");var n4={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function n9(e){return iM.isInstance(e,n4.$type)}tL(n9,"isParserRule");var n5={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function n6(e){return iM.isInstance(e,n5.$type)}tL(n6,"isReferenceType");var n7={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function n8(e){return iM.isInstance(e,n7.$type)}tL(n8,"isRegexToken");var ie={$type:"ReturnType",name:"name"};function it(e){return iM.isInstance(e,ie.$type)}tL(it,"isReturnType");var ir={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function ii(e){return iM.isInstance(e,ir.$type)}tL(ii,"isRuleCall");var ia={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function is(e){return iM.isInstance(e,ia.$type)}tL(is,"isSimpleType");var io={$type:"StringLiteral",value:"value"};function il(e){return iM.isInstance(e,io.$type)}tL(il,"isStringLiteral");var iu={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function ic(e){return iM.isInstance(e,iu.$type)}tL(ic,"isTerminalAlternatives");var ip={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function id(e){return iM.isInstance(e,ip.$type)}tL(id,"isTerminalElement");var im={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function ih(e){return iM.isInstance(e,im.$type)}tL(ih,"isTerminalGroup");var iy={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function ig(e){return iM.isInstance(e,iy.$type)}tL(ig,"isTerminalRule");var iT={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function iv(e){return iM.isInstance(e,iT.$type)}tL(iv,"isTerminalRuleCall");var i$={$type:"Type",name:"name",type:"type"};function iR(e){return iM.isInstance(e,i$.$type)}tL(iR,"isType");var iE={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function ib(e){return iM.isInstance(e,iE.$type)}tL(ib,"isTypeAttribute");var iA={$type:"TypeDefinition"};function iC(e){return iM.isInstance(e,iA.$type)}tL(iC,"isTypeDefinition");var iS={$type:"UnionType",types:"types"};function ik(e){return iM.isInstance(e,iS.$type)}tL(ik,"isUnionType");var ix={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function iN(e){return iM.isInstance(e,ix.$type)}tL(iN,"isUnorderedGroup");var iw={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function iI(e){return iM.isInstance(e,iw.$type)}tL(iI,"isUntilToken");var i_={$type:"ValueLiteral"};function iP(e){return iM.isInstance(e,i_.$type)}tL(iP,"isValueLiteral");var iO={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function iD(e){return iM.isInstance(e,iO.$type)}tL(iD,"isWildcard");var iL=class extends r_{static{tL(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:r5.$type,properties:{cardinality:{name:r5.cardinality}},superTypes:[]},AbstractParserRule:{name:r7.$type,properties:{},superTypes:[ne.$type,nr.$type]},AbstractRule:{name:ne.$type,properties:{},superTypes:[]},AbstractType:{name:nr.$type,properties:{},superTypes:[]},Action:{name:ni.$type,properties:{cardinality:{name:ni.cardinality},feature:{name:ni.feature},inferredType:{name:ni.inferredType},operator:{name:ni.operator},type:{name:ni.type,referenceType:nr.$type}},superTypes:[r5.$type]},Alternatives:{name:ns.$type,properties:{cardinality:{name:ns.cardinality},elements:{name:ns.elements,defaultValue:[]}},superTypes:[r5.$type]},ArrayLiteral:{name:nl.$type,properties:{elements:{name:nl.elements,defaultValue:[]}},superTypes:[i_.$type]},ArrayType:{name:nc.$type,properties:{elementType:{name:nc.elementType}},superTypes:[iA.$type]},Assignment:{name:nf.$type,properties:{cardinality:{name:nf.cardinality},feature:{name:nf.feature},operator:{name:nf.operator},predicate:{name:nf.predicate},terminal:{name:nf.terminal}},superTypes:[r5.$type]},BooleanLiteral:{name:nm.$type,properties:{true:{name:nm.true,defaultValue:!1}},superTypes:[nT.$type,i_.$type]},CharacterRange:{name:ny.$type,properties:{cardinality:{name:ny.cardinality},left:{name:ny.left},lookahead:{name:ny.lookahead},parenthesized:{name:ny.parenthesized,defaultValue:!1},right:{name:ny.right}},superTypes:[ip.$type]},Condition:{name:nT.$type,properties:{},superTypes:[]},Conjunction:{name:n$.$type,properties:{left:{name:n$.left},right:{name:n$.right}},superTypes:[nT.$type]},CrossReference:{name:nE.$type,properties:{cardinality:{name:nE.cardinality},deprecatedSyntax:{name:nE.deprecatedSyntax,defaultValue:!1},isMulti:{name:nE.isMulti,defaultValue:!1},terminal:{name:nE.terminal},type:{name:nE.type,referenceType:nr.$type}},superTypes:[r5.$type]},Disjunction:{name:nA.$type,properties:{left:{name:nA.left},right:{name:nA.right}},superTypes:[nT.$type]},EndOfFile:{name:nS.$type,properties:{cardinality:{name:nS.cardinality}},superTypes:[r5.$type]},Grammar:{name:nx.$type,properties:{imports:{name:nx.imports,defaultValue:[]},interfaces:{name:nx.interfaces,defaultValue:[]},isDeclared:{name:nx.isDeclared,defaultValue:!1},name:{name:nx.name},rules:{name:nx.rules,defaultValue:[]},types:{name:nx.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:nw.$type,properties:{path:{name:nw.path}},superTypes:[]},Group:{name:n_.$type,properties:{cardinality:{name:n_.cardinality},elements:{name:n_.elements,defaultValue:[]},guardCondition:{name:n_.guardCondition},predicate:{name:n_.predicate}},superTypes:[r5.$type]},InferredType:{name:nO.$type,properties:{name:{name:nO.name}},superTypes:[nr.$type]},InfixRule:{name:nL.$type,properties:{call:{name:nL.call},dataType:{name:nL.dataType},inferredType:{name:nL.inferredType},name:{name:nL.name},operators:{name:nL.operators},parameters:{name:nL.parameters,defaultValue:[]},returnType:{name:nL.returnType,referenceType:nr.$type}},superTypes:[r7.$type]},InfixRuleOperatorList:{name:nj.$type,properties:{associativity:{name:nj.associativity},operators:{name:nj.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:nG.$type,properties:{precedences:{name:nG.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:nK.$type,properties:{attributes:{name:nK.attributes,defaultValue:[]},name:{name:nK.name},superTypes:{name:nK.superTypes,defaultValue:[],referenceType:nr.$type}},superTypes:[nr.$type]},Keyword:{name:nU.$type,properties:{cardinality:{name:nU.cardinality},predicate:{name:nU.predicate},value:{name:nU.value}},superTypes:[r5.$type]},NamedArgument:{name:nW.$type,properties:{calledByName:{name:nW.calledByName,defaultValue:!1},parameter:{name:nW.parameter,referenceType:n0.$type},value:{name:nW.value}},superTypes:[]},NegatedToken:{name:nH.$type,properties:{cardinality:{name:nH.cardinality},lookahead:{name:nH.lookahead},parenthesized:{name:nH.parenthesized,defaultValue:!1},terminal:{name:nH.terminal}},superTypes:[ip.$type]},Negation:{name:nQ.$type,properties:{value:{name:nQ.value}},superTypes:[nT.$type]},NumberLiteral:{name:nX.$type,properties:{value:{name:nX.value}},superTypes:[i_.$type]},Parameter:{name:n0.$type,properties:{name:{name:n0.name}},superTypes:[]},ParameterReference:{name:n2.$type,properties:{parameter:{name:n2.parameter,referenceType:n0.$type}},superTypes:[nT.$type]},ParserRule:{name:n4.$type,properties:{dataType:{name:n4.dataType},definition:{name:n4.definition},entry:{name:n4.entry,defaultValue:!1},fragment:{name:n4.fragment,defaultValue:!1},inferredType:{name:n4.inferredType},name:{name:n4.name},parameters:{name:n4.parameters,defaultValue:[]},returnType:{name:n4.returnType,referenceType:nr.$type}},superTypes:[r7.$type]},ReferenceType:{name:n5.$type,properties:{isMulti:{name:n5.isMulti,defaultValue:!1},referenceType:{name:n5.referenceType}},superTypes:[iA.$type]},RegexToken:{name:n7.$type,properties:{cardinality:{name:n7.cardinality},lookahead:{name:n7.lookahead},parenthesized:{name:n7.parenthesized,defaultValue:!1},regex:{name:n7.regex}},superTypes:[ip.$type]},ReturnType:{name:ie.$type,properties:{name:{name:ie.name}},superTypes:[]},RuleCall:{name:ir.$type,properties:{arguments:{name:ir.arguments,defaultValue:[]},cardinality:{name:ir.cardinality},predicate:{name:ir.predicate},rule:{name:ir.rule,referenceType:ne.$type}},superTypes:[r5.$type]},SimpleType:{name:ia.$type,properties:{primitiveType:{name:ia.primitiveType},stringType:{name:ia.stringType},typeRef:{name:ia.typeRef,referenceType:nr.$type}},superTypes:[iA.$type]},StringLiteral:{name:io.$type,properties:{value:{name:io.value}},superTypes:[i_.$type]},TerminalAlternatives:{name:iu.$type,properties:{cardinality:{name:iu.cardinality},elements:{name:iu.elements,defaultValue:[]},lookahead:{name:iu.lookahead},parenthesized:{name:iu.parenthesized,defaultValue:!1}},superTypes:[ip.$type]},TerminalElement:{name:ip.$type,properties:{cardinality:{name:ip.cardinality},lookahead:{name:ip.lookahead},parenthesized:{name:ip.parenthesized,defaultValue:!1}},superTypes:[r5.$type]},TerminalGroup:{name:im.$type,properties:{cardinality:{name:im.cardinality},elements:{name:im.elements,defaultValue:[]},lookahead:{name:im.lookahead},parenthesized:{name:im.parenthesized,defaultValue:!1}},superTypes:[ip.$type]},TerminalRule:{name:iy.$type,properties:{definition:{name:iy.definition},fragment:{name:iy.fragment,defaultValue:!1},hidden:{name:iy.hidden,defaultValue:!1},name:{name:iy.name},type:{name:iy.type}},superTypes:[ne.$type]},TerminalRuleCall:{name:iT.$type,properties:{cardinality:{name:iT.cardinality},lookahead:{name:iT.lookahead},parenthesized:{name:iT.parenthesized,defaultValue:!1},rule:{name:iT.rule,referenceType:iy.$type}},superTypes:[ip.$type]},Type:{name:i$.$type,properties:{name:{name:i$.name},type:{name:i$.type}},superTypes:[nr.$type]},TypeAttribute:{name:iE.$type,properties:{defaultValue:{name:iE.defaultValue},isOptional:{name:iE.isOptional,defaultValue:!1},name:{name:iE.name},type:{name:iE.type}},superTypes:[]},TypeDefinition:{name:iA.$type,properties:{},superTypes:[]},UnionType:{name:iS.$type,properties:{types:{name:iS.types,defaultValue:[]}},superTypes:[iA.$type]},UnorderedGroup:{name:ix.$type,properties:{cardinality:{name:ix.cardinality},elements:{name:ix.elements,defaultValue:[]}},superTypes:[r5.$type]},UntilToken:{name:iw.$type,properties:{cardinality:{name:iw.cardinality},lookahead:{name:iw.lookahead},parenthesized:{name:iw.parenthesized,defaultValue:!1},terminal:{name:iw.terminal}},superTypes:[ip.$type]},ValueLiteral:{name:i_.$type,properties:{},superTypes:[]},Wildcard:{name:iO.$type,properties:{cardinality:{name:iO.cardinality},lookahead:{name:iO.lookahead},parenthesized:{name:iO.parenthesized,defaultValue:!1}},superTypes:[ip.$type]}}}},iM=new iL;function ij(e){let t=e,r=!1;for(;t;){let e=rB(t.grammarSource,n9);if(e&&e.dataType)t=t.container,r=!0;else if(r)return t;else break}}function iF(e){return new rK(e,e=>rP(e)?e.content:[],{includeRoot:!0})}function iG(e){return iF(e).filter(rO)}function iz(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function iK(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function iq(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}function iU(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return eH.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return eH.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?eH.Inside:r?eH.OverlapBack:n?eH.OverlapFront:eH.Outside}function iB(e,t){return iU(e,t)>eH.After}tL(ij,"getDatatypeNode"),tL(iF,"streamCst"),tL(iG,"flattenCst"),tL(iz,"isChildNode"),tL(iK,"tokenToRange"),tL(iq,"toDocumentSegment"),(a=eH||(eH={}))[a.Before=0]="Before",a[a.After=1]="After",a[a.OverlapFront=2]="OverlapFront",a[a.OverlapBack=3]="OverlapBack",a[a.Inside=4]="Inside",a[a.Outside=5]="Outside",tL(iU,"compareRange"),tL(iB,"inRange");var iW=/^[\w\p{L}]$/u;function iV(e,t,r=iW){if(e){if(t>0){let n=t-e.offset,i=e.text.charAt(n);!r.test(i)&&t--}return iQ(e,t)}}function iH(e,t){if(e){let r=iJ(e,!0);if(r&&iY(r,t))return r;if(rD(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(iY(r,t))return r}}}}function iY(e,t){return rO(e)&&t.includes(e.tokenType.name)}function iQ(e,t){if(rO(e))return e;if(rP(e)){let r=iX(e,t,!1);if(r)return iQ(r,t)}}function iZ(e,t){if(rO(e))return e;if(rP(e)){let r=iX(e,t,!0);if(r)return iZ(r,t)}}function iX(e,t,r){let n,i=0,a=e.content.length-1;for(;i<=a;){let s=Math.floor((i+a)/2),o=e.content[s];if(o.offset<=t&&o.end>t)return o;o.end<=t?(n=r?o:void 0,i=s+1):a=s-1}return n}function iJ(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function i0(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e),i=r.content.length-1;for(;n<i;){n++;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function i1(e){let t;if(0===e.range.start.character)return e;let r=e.range.start.line,n=e;for(;e.container;){let i=e.container,a=t??i.content.indexOf(e);if(0===a?(e=i,t=void 0):(t=a-1,e=i.content[t]),e.range.start.line!==r)break;n=e}return n}function i2(e,t){let r=i3(e,t);return r?r.parent.content.slice(r.a+1,r.b):[]}function i3(e,t){let r,n=i4(e),i=i4(t);for(let e=0;e<n.length&&e<i.length;e++){let t=n[e],a=i[e];if(t.parent===a.parent)r={parent:t.parent,a:t.index,b:a.index};else break}return r}function i4(e){let t=[];for(;e.container;){let r=e.container,n=r.content.indexOf(e);t.push({parent:r,index:n}),e=r}return t.reverse()}tL(iV,"findDeclarationNodeAtOffset"),tL(iH,"findCommentNode"),tL(iY,"isCommentNode"),tL(iQ,"findLeafNodeAtOffset"),tL(iZ,"findLeafNodeBeforeOffset"),tL(iX,"binarySearch"),tL(iJ,"getPreviousNode"),tL(i0,"getNextNode"),tL(i1,"getStartlineNode"),tL(i2,"getInteriorNodes"),tL(i3,"getCommonParent"),tL(i4,"getParentChain");var i9={};tj(i9,{findAssignment:()=>aM,findNameAssignment:()=>aj,findNodeForKeyword:()=>aD,findNodeForProperty:()=>a_,findNodesForKeyword:()=>aO,findNodesForKeywordInternal:()=>aL,findNodesForProperty:()=>aI,getActionAtElement:()=>aG,getActionType:()=>aQ,getAllReachableRules:()=>aS,getAllRulesUsedForCrossReferences:()=>ax,getCrossReferenceTerminal:()=>aN,getEntryRule:()=>aA,getExplicitRuleType:()=>aH,getHiddenRules:()=>aC,getRuleType:()=>aX,getRuleTypeName:()=>aZ,getTypeName:()=>aY,isArrayCardinality:()=>aK,isArrayOperator:()=>aq,isCommentTerminal:()=>aw,isDataType:()=>aW,isDataTypeRule:()=>aU,isOptionalCardinality:()=>az,terminalRegex:()=>aJ});var i5=class extends Error{static{tL(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function i6(e,t="Error: Got unexpected value."){throw Error(t)}function i7(e,t="Error: Condition is violated."){if(!e)throw Error(t)}tL(i6,"assertUnreachable"),tL(i7,"assertCondition");var i8={};function ae(e){return e.charCodeAt(0)}function at(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function ar(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function an(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function ai(){throw Error("Internal Error - Should never get here!")}function aa(e){return"Character"===e.type}tj(i8,{NEWLINE_REGEXP:()=>am,escapeRegExp:()=>aR,getTerminalParts:()=>ag,isMultilineComment:()=>aT,isWhitespace:()=>a$,partialMatches:()=>aE,partialRegExp:()=>ab,whitespaceCharacters:()=>av}),tL(ae,"cc"),tL(at,"insertToSet"),tL(ar,"addFlag"),tL(an,"ASSERT_EXISTS"),tL(ai,"ASSERT_NEVER_REACH_HERE"),tL(aa,"isCharacter");var as=[];for(let e=ae("0");e<=ae("9");e++)as.push(e);var ao=[ae("_")].concat(as);for(let e=ae("a");e<=ae("z");e++)ao.push(e);for(let e=ae("A");e<=ae("Z");e++)ao.push(e);var al=[ae(" "),ae("\f"),ae("\n"),ae("\r"),ae(" "),ae("\v"),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae(" "),ae("\u2028"),ae("\u2029"),ae(" "),ae(" "),ae(" "),ae("\uFEFF")],au=/[0-9a-fA-F]/,ac=/[0-9]/,ap=/[1-9]/,af=class{static{tL(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":ar(r,"global");break;case"i":ar(r,"ignoreCase");break;case"m":ar(r,"multiLine");break;case"u":ar(r,"unicode");break;case"y":ar(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}}an(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return ai()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;an(t)}if((!0!==e||void 0!==t)&&an(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),an(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ai()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ae("\n"),ae("\r"),ae("\u2028"),ae("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=as;break;case"D":e=as,t=!0;break;case"s":e=al;break;case"S":e=al,t=!0;break;case"w":e=ao;break;case"W":e=ao,t=!0}return an(e)?{type:"Set",value:e,complement:t}:ai()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ae("\f");break;case"n":e=ae("\n");break;case"r":e=ae("\r");break;case"t":e=ae(" ");break;case"v":e=ae("\v")}return an(e)?{type:"Character",value:e}:ai()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ae("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:ae(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:ae(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,aa(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,aa(r)){if(r.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:r.value})}else at(t.value,e),e.push(ae("-")),at(r.value,e)}else at(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":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:ae("\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 t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(!1===ap.test(e))throw Error("Expecting a positive integer");for(;ac.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===ac.test(e))throw Error("Expecting an integer");for(;ac.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case"\n":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:ae(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 ac.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":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 void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let r=0;r<e;r++){let e=this.popChar();if(!1===au.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,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(void 0!==e&&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}}},ad=class{static{tL(this,"BaseRegExpVisitor")}visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},am=/\r?\n/gm,ah=new af,ay=new class extends ad{static{tL(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=aR(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!"\n".match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}};function ag(e){try{"string"!=typeof e&&(e=e.source),e=`/${e}/`;let t=ah.pattern(e),r=[];for(let n of t.value.value)ay.reset(e),ay.visit(n),r.push({start:ay.startRegexp,end:ay.endRegex});return r}catch{return[]}}function aT(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),ay.reset(e),ay.visit(ah.pattern(e)),ay.multiline}catch{return!1}}tL(ag,"getTerminalParts"),tL(aT,"isMultilineComment");var av="\f\n\r \v              \u2028\u2029   \uFEFF".split("");function a$(e){let t="string"==typeof e?new RegExp(e):e;return av.some(e=>t.test(e))}function aR(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function aE(e,t){let r=ab(e),n=t.match(r);return!!n&&n[0].length>0}function ab(e){"string"==typeof e&&(e=new RegExp(e));let t=e,r=e.source,n=0;function i(){let e="",a;function s(t){e+=r.substr(n,t),n+=t}function o(t){e+="(?:"+r.substr(n,t)+"|$)",n+=t}for(tL(s,"appendRaw"),tL(o,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":o(t.unicode?"{"===r[n+2]?r.indexOf("}",n)-n+1:6:2);break;case"p":case"P":o(t.unicode?r.indexOf("}",n)-n+1:2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(a=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((a=a.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(a=/\{\d+,?\d*\}/g).lastIndex=n,(a=a.exec(r))?s(a[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":e+="(?:",n+=3,e+=i()+"|$)";break;case"=":e+="(?=",n+=3,e+=i()+")";break;case"!":a=n,n+=3,i(),e+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,i(),e+=r.substr(a,n-a);break;default:s(r.indexOf(">",n)-n+1),e+=i()+"|$)"}}else s(1),e+=i()+"|$)";break;case")":return++n,e;default:o(1)}return e}return tL(i,"process"),new RegExp(i(),e.flags)}function aA(e){return e.rules.find(e=>n9(e)&&e.entry)}function aC(e){return e.rules.filter(e=>ig(e)&&e.hidden)}function aS(e,t){let r=new Set,n=aA(e);if(!n)return new Set(e.rules);for(let i of[n].concat(aC(e)))ak(i,r,t);let i=new Set;for(let t of e.rules)(r.has(t.name)||ig(t)&&t.hidden)&&i.add(t);return i}function ak(e,t,r){t.add(e.name),rZ(e).forEach(e=>{if(ii(e)||r&&iv(e)){let n=e.rule.ref;n&&!t.has(n.name)&&ak(n,t,r)}})}function ax(e){let t=new Set;return rZ(e).forEach(e=>{nb(e)&&(n9(e.type.ref)&&t.add(e.type.ref),nD(e.type.ref)&&n9(e.type.ref.$container)&&t.add(e.type.ref.$container))}),t}function aN(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=aj(e.type.ref);return t?.terminal}}function aw(e){return e.hidden&&!a$(aJ(e))}function aI(e,t){return e&&t?aP(e,t,e.astNode,!0):[]}function a_(e,t,r){if(!e||!t)return;let n=aP(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function aP(e,t,r,n){if(!n){let r=rB(e.grammarSource,nd);if(r&&r.feature===t)return[e]}return rP(e)&&e.astNode===r?e.content.flatMap(e=>aP(e,t,r,!1)):[]}function aO(e,t){return e?aL(e,t,e?.astNode):[]}function aD(e,t,r){if(!e)return;let n=aL(e,t,e?.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function aL(e,t,r){let n;if(e.astNode!==r)return[];if(nB(e.grammarSource)&&e.grammarSource.value===t)return[e];let i=iF(e).iterator(),a=[];do if(!(n=i.next()).done){let e=n.value;e.astNode===r?nB(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):i.prune()}while(!n.done)return a}function aM(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=rB(e.grammarSource,nd);if(t)return t;e=e.container}}function aj(e){let t=e;return nD(t)&&(na(t.$container)?t=t.$container.$container:r8(t.$container)?t=t.$container:i6(t.$container)),aF(e,t,new Map)}function aF(e,t,r){function n(t,n){let i;return rB(t,nd)||(i=aF(n,n,r)),r.set(e,i),i}if(tL(n,"go"),r.has(e))return r.get(e);for(let i of(r.set(e,void 0),rZ(t)))if(nd(i)&&"name"===i.feature.toLowerCase())return r.set(e,i),i;else if(ii(i)&&n9(i.rule.ref))return n(i,i.rule.ref);else if(is(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}function aG(e){let t=e.$container;if(nP(t)){let r=t.elements,n=r.indexOf(e);for(let e=n-1;e>=0;e--){let t=r[e];if(na(t))return t;{let t=rZ(r[e]).find(na);if(t)return t}}}return r6(t)?aG(t):void 0}function az(e,t){return"?"===e||"*"===e||nP(t)&&!!t.guardCondition}function aK(e){return"*"===e||"+"===e}function aq(e){return"+="===e}function aU(e){return aB(e,new Set)}function aB(e,t){if(t.has(e))return!0;for(let r of(t.add(e),rZ(e)))if(ii(r)){if(!r.rule.ref||n9(r.rule.ref)&&!aB(r.rule.ref,t)||nM(r.rule.ref))return!1}else if(nd(r))return!1;else if(na(r))return!1;return!!e.definition}function aW(e){return aV(e.type,new Set)}function aV(e,t){if(t.has(e))return!0;if(t.add(e),np(e)||n6(e))return!1;if(ik(e))return e.types.every(e=>aV(e,t));{if(!is(e))return!1;if(void 0!==e.primitiveType||void 0!==e.stringType)return!0;if(void 0===e.typeRef)return!1;let r=e.typeRef.ref;return!!iR(r)&&aV(r.type,t)}}function aH(e){if(!ig(e)){if(e.inferredType)return e.inferredType.name;else if(e.dataType)return e.dataType;else if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}function aY(e){if(r8(e))return n9(e)&&aU(e)?e.name:aH(e)??e.name;if(nq(e)||iR(e)||it(e))return e.name;if(na(e)){let t=aQ(e);if(t)return t}else if(nD(e))return e.name;throw Error("Cannot get name of Unknown Type")}function aQ(e){return e.inferredType?e.inferredType.name:e.type?.ref?aY(e.type.ref):void 0}function aZ(e){return ig(e)?e.type?.name??"string":n9(e)&&aU(e)?e.name:aH(e)??e.name}function aX(e){return ig(e)?e.type?.name??"string":aH(e)??e.name}function aJ(e){let t={s:!1,i:!1,u:!1};return new RegExp(a1(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}tL(a$,"isWhitespace"),tL(aR,"escapeRegExp"),tL(aE,"partialMatches"),tL(ab,"partialRegExp"),tL(aA,"getEntryRule"),tL(aC,"getHiddenRules"),tL(aS,"getAllReachableRules"),tL(ak,"ruleDfs"),tL(ax,"getAllRulesUsedForCrossReferences"),tL(aN,"getCrossReferenceTerminal"),tL(aw,"isCommentTerminal"),tL(aI,"findNodesForProperty"),tL(a_,"findNodeForProperty"),tL(aP,"findNodesForPropertyInternal"),tL(aO,"findNodesForKeyword"),tL(aD,"findNodeForKeyword"),tL(aL,"findNodesForKeywordInternal"),tL(aM,"findAssignment"),tL(aj,"findNameAssignment"),tL(aF,"findNameAssignmentInternal"),tL(aG,"getActionAtElement"),tL(az,"isOptionalCardinality"),tL(aK,"isArrayCardinality"),tL(aq,"isArrayOperator"),tL(aU,"isDataTypeRule"),tL(aB,"isDataTypeRuleInternal"),tL(aW,"isDataType"),tL(aV,"isDataTypeInternal"),tL(aH,"getExplicitRuleType"),tL(aY,"getTypeName"),tL(aQ,"getActionType"),tL(aZ,"getRuleTypeName"),tL(aX,"getRuleType"),tL(aJ,"terminalRegex");var a0=/[\s\S]/.source;function a1(e,t){if(ic(e))return a2(e);if(ih(e))return a3(e);if(ng(e))return a5(e);if(iv(e)){let t=e.rule.ref;if(!t)throw Error("Missing rule reference.");return a7(a1(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}if(nY(e))return a9(e);else if(iI(e))return a4(e);else if(n8(e)){let r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),i=e.regex.substring(r+1);return t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),a7(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else if(iD(e))return a7(a0,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});else throw Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}function a2(e){return a7(e.elements.map(e=>a1(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a3(e){return a7(e.elements.map(e=>a1(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a4(e){return a7(`${a0}*?${a1(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function a9(e){return a7(`(?!${a1(e.terminal)})${a0}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function a5(e){return e.right?a7(`[${a6(e.left)}-${a6(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):a7(a6(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a6(e){return aR(e.value)}function a7(e,t){if(t.parenthesized||t.lookahead||!1!==t.wrap){let r=t.lookahead??(t.parenthesized?"":"?:");e=`(${r}${e})`}return t.cardinality?`${e}${t.cardinality}`:e}function a8(e){let t=[];for(let r of e.Grammar.rules)ig(r)&&aw(r)&&aT(aJ(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:iW}}tL(a1,"abstractElementToRegex"),tL(a2,"terminalAlternativesToRegex"),tL(a3,"terminalGroupToRegex"),tL(a4,"untilTokenToRegex"),tL(a9,"negateTokenToRegex"),tL(a5,"characterRangeToRegex"),tL(a6,"keywordToRegex"),tL(a7,"withCardinality"),tL(a8,"createGrammarConfig");var se="object"==typeof global&&global&&global.Object===Object&&global,st="object"==typeof self&&self&&self.Object===Object&&self,sr=se||st||Function("return this")(),sn=sr.Symbol,si=Object.prototype,sa=si.hasOwnProperty,ss=si.toString,so=sn?sn.toStringTag:void 0;function sl(e){var t=sa.call(e,so),r=e[so];try{e[so]=void 0;var n=!0}catch(e){}var i=ss.call(e);return n&&(t?e[so]=r:delete e[so]),i}tL(sl,"getRawTag");var su=Object.prototype.toString;function sc(e){return su.call(e)}tL(sc,"objectToString");var sp=sn?sn.toStringTag:void 0;function sf(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":sp&&sp in Object(e)?sl(e):sc(e)}function sd(e){return null!=e&&"object"==typeof e}function sm(e){return"symbol"==typeof e||sd(e)&&"[object Symbol]"==sf(e)}function sh(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}tL(sf,"baseGetTag"),tL(sd,"isObjectLike"),tL(sm,"isSymbol"),tL(sh,"arrayMap");var sy=Array.isArray,sg=sn?sn.prototype:void 0,sT=sg?sg.toString:void 0;function sv(e){if("string"==typeof e)return e;if(sy(e))return sh(e,sv)+"";if(sm(e))return sT?sT.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}tL(sv,"baseToString");var s$=/\s/;function sR(e){for(var t=e.length;t--&&s$.test(e.charAt(t)););return t}tL(sR,"trimmedEndIndex");var sE=/^\s+/;function sb(e){return e?e.slice(0,sR(e)+1).replace(sE,""):e}function sA(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}tL(sb,"baseTrim"),tL(sA,"isObject");var sC=/^[-+]0x[0-9a-f]+$/i,sS=/^0b[01]+$/i,sk=/^0o[0-7]+$/i,sx=parseInt;function sN(e){if("number"==typeof e)return e;if(sm(e))return 0/0;if(sA(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=sA(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=sb(e);var r=sS.test(e);return r||sk.test(e)?sx(e.slice(2),r?2:8):sC.test(e)?0/0:+e}function sw(e){return e?1/0===(e=sN(e))||-1/0===e?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}function sI(e){var t=sw(e),r=t%1;return t==t?r?t-r:t:0}function s_(e){return e}function sP(e){if(!sA(e))return!1;var t=sf(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}tL(sN,"toNumber"),tL(sw,"toFinite"),tL(sI,"toInteger"),tL(s_,"identity"),tL(sP,"isFunction");var sO=sr["__core-js_shared__"],sD=(s=/[^.]+$/.exec(sO&&sO.keys&&sO.keys.IE_PROTO||""))?"Symbol(src)_1."+s:"";function sL(e){return!!sD&&sD in e}tL(sL,"isMasked");var sM=Function.prototype.toString;function sj(e){if(null!=e){try{return sM.call(e)}catch(e){}try{return e+""}catch(e){}}return""}tL(sj,"toSource");var sF=/^\[object .+?Constructor\]$/,sG=Object.prototype,sz=Function.prototype.toString,sK=sG.hasOwnProperty,sq=RegExp("^"+sz.call(sK).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sU(e){return!(!sA(e)||sL(e))&&(sP(e)?sq:sF).test(sj(e))}function sB(e,t){return null==e?void 0:e[t]}function sW(e,t){var r=sB(e,t);return sU(r)?r:void 0}tL(sU,"baseIsNative"),tL(sB,"getValue"),tL(sW,"getNative");var sV=sW(sr,"WeakMap"),sH=Object.create,sY=function(){function e(){}return tL(e,"object"),function(t){if(!sA(t))return{};if(sH)return sH(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function sQ(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function sZ(){}function sX(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}tL(sQ,"apply"),tL(sZ,"noop"),tL(sX,"copyArray");var sJ=Date.now;function s0(e){var t=0,r=0;return function(){var n=sJ(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function s1(e){return function(){return e}}tL(s0,"shortOut"),tL(s1,"constant");var s2=function(){try{var e=sW(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),s3=s0(s2?function(e,t){return s2(e,"toString",{configurable:!0,enumerable:!1,value:s1(t),writable:!0})}:s_);function s4(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function s9(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return -1}function s5(e){return e!=e}function s6(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}function s7(e,t,r){return t==t?s6(e,t,r):s9(e,s5,r)}function s8(e,t){return!!(null==e?0:e.length)&&s7(e,t,0)>-1}tL(s4,"arrayEach"),tL(s9,"baseFindIndex"),tL(s5,"baseIsNaN"),tL(s6,"strictIndexOf"),tL(s7,"baseIndexOf"),tL(s8,"arrayIncludes");var oe=/^(?:0|[1-9]\d*)$/;function ot(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&oe.test(e))&&e>-1&&e%1==0&&e<t}function or(e,t,r){"__proto__"==t&&s2?s2(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function on(e,t){return e===t||e!=e&&t!=t}tL(ot,"isIndex"),tL(or,"baseAssignValue"),tL(on,"eq");var oi=Object.prototype.hasOwnProperty;function oa(e,t,r){var n=e[t];oi.call(e,t)&&on(n,r)&&(void 0!==r||t in e)||or(e,t,r)}function os(e,t,r,n){var i=!r;r||(r={});for(var a=-1,s=t.length;++a<s;){var o=t[a],l=n?n(r[o],e[o],o,r,e):void 0;void 0===l&&(l=e[o]),i?or(r,o,l):oa(r,o,l)}return r}tL(oa,"assignValue"),tL(os,"copyObject");var oo=Math.max;function ol(e,t,r){return t=oo(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=oo(n.length-t,0),s=Array(a);++i<a;)s[i]=n[t+i];i=-1;for(var o=Array(t+1);++i<t;)o[i]=n[i];return o[t]=r(s),sQ(e,this,o)}}function ou(e,t){return s3(ol(e,t,s_),e+"")}function oc(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function op(e){return null!=e&&oc(e.length)&&!sP(e)}function of(e,t,r){if(!sA(r))return!1;var n=typeof t;return("number"==n?!!(op(r)&&ot(t,r.length)):"string"==n&&t in r)&&on(r[t],e)}function od(e){return ou(function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,s&&of(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var o=r[n];o&&e(t,o,n,a)}return t})}tL(ol,"overRest"),tL(ou,"baseRest"),tL(oc,"isLength"),tL(op,"isArrayLike"),tL(of,"isIterateeCall"),tL(od,"createAssigner");var om=Object.prototype;function oh(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||om)}function oy(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function og(e){return sd(e)&&"[object Arguments]"==sf(e)}tL(oh,"isPrototype"),tL(oy,"baseTimes"),tL(og,"baseIsArguments");var oT=Object.prototype,ov=oT.hasOwnProperty,o$=oT.propertyIsEnumerable,oR=og(function(){return arguments}())?og:function(e){return sd(e)&&ov.call(e,"callee")&&!o$.call(e,"callee")};function oE(){return!1}tL(oE,"stubFalse");var ob="object"==typeof exports&&exports&&!exports.nodeType&&exports,oA=ob&&"object"==typeof module&&module&&!module.nodeType&&module,oC=oA&&oA.exports===ob?sr.Buffer:void 0,oS=(oC?oC.isBuffer:void 0)||oE,ok={};function ox(e){return sd(e)&&oc(e.length)&&!!ok[sf(e)]}function oN(e){return function(t){return e(t)}}ok["[object Float32Array]"]=ok["[object Float64Array]"]=ok["[object Int8Array]"]=ok["[object Int16Array]"]=ok["[object Int32Array]"]=ok["[object Uint8Array]"]=ok["[object Uint8ClampedArray]"]=ok["[object Uint16Array]"]=ok["[object Uint32Array]"]=!0,ok["[object Arguments]"]=ok["[object Array]"]=ok["[object ArrayBuffer]"]=ok["[object Boolean]"]=ok["[object DataView]"]=ok["[object Date]"]=ok["[object Error]"]=ok["[object Function]"]=ok["[object Map]"]=ok["[object Number]"]=ok["[object Object]"]=ok["[object RegExp]"]=ok["[object Set]"]=ok["[object String]"]=ok["[object WeakMap]"]=!1,tL(ox,"baseIsTypedArray"),tL(oN,"baseUnary");var ow="object"==typeof exports&&exports&&!exports.nodeType&&exports,oI=ow&&"object"==typeof module&&module&&!module.nodeType&&module,o_=oI&&oI.exports===ow&&se.process,oP=function(){try{var e=oI&&oI.require&&oI.require("util").types;if(e)return e;return o_&&o_.binding&&o_.binding("util")}catch(e){}}(),oO=oP&&oP.isTypedArray,oD=oO?oN(oO):ox,oL=Object.prototype.hasOwnProperty;function oM(e,t){var r=sy(e),n=!r&&oR(e),i=!r&&!n&&oS(e),a=!r&&!n&&!i&&oD(e),s=r||n||i||a,o=s?oy(e.length,String):[],l=o.length;for(var u in e)(t||oL.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ot(u,l)))&&o.push(u);return o}function oj(e,t){return function(r){return e(t(r))}}tL(oM,"arrayLikeKeys"),tL(oj,"overArg");var oF=oj(Object.keys,Object),oG=Object.prototype.hasOwnProperty;function oz(e){if(!oh(e))return oF(e);var t=[];for(var r in Object(e))oG.call(e,r)&&"constructor"!=r&&t.push(r);return t}function oK(e){return op(e)?oM(e):oz(e)}tL(oz,"baseKeys"),tL(oK,"keys");var oq=Object.prototype.hasOwnProperty,oU=od(function(e,t){if(oh(t)||op(t))return void os(t,oK(t),e);for(var r in t)oq.call(t,r)&&oa(e,r,t[r])});function oB(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}tL(oB,"nativeKeysIn");var oW=Object.prototype.hasOwnProperty;function oV(e){if(!sA(e))return oB(e);var t=oh(e),r=[];for(var n in e)"constructor"==n&&(t||!oW.call(e,n))||r.push(n);return r}function oH(e){return op(e)?oM(e,!0):oV(e)}tL(oV,"baseKeysIn"),tL(oH,"keysIn");var oY=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,oQ=/^\w*$/;function oZ(e,t){if(sy(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||sm(e))||oQ.test(e)||!oY.test(e)||null!=t&&e in Object(t)}tL(oZ,"isKey");var oX=sW(Object,"create");function oJ(){this.__data__=oX?oX(null):{},this.size=0}function o0(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}tL(oJ,"hashClear"),tL(o0,"hashDelete");var o1=Object.prototype.hasOwnProperty;function o2(e){var t=this.__data__;if(oX){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o1.call(t,e)?t[e]:void 0}tL(o2,"hashGet");var o3=Object.prototype.hasOwnProperty;function o4(e){var t=this.__data__;return oX?void 0!==t[e]:o3.call(t,e)}function o9(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=oX&&void 0===t?"__lodash_hash_undefined__":t,this}function o5(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function o6(){this.__data__=[],this.size=0}function o7(e,t){for(var r=e.length;r--;)if(on(e[r][0],t))return r;return -1}tL(o4,"hashHas"),tL(o9,"hashSet"),tL(o5,"Hash"),o5.prototype.clear=oJ,o5.prototype.delete=o0,o5.prototype.get=o2,o5.prototype.has=o4,o5.prototype.set=o9,tL(o6,"listCacheClear"),tL(o7,"assocIndexOf");var o8=Array.prototype.splice;function le(e){var t=this.__data__,r=o7(t,e);return!(r<0)&&(r==t.length-1?t.pop():o8.call(t,r,1),--this.size,!0)}function lt(e){var t=this.__data__,r=o7(t,e);return r<0?void 0:t[r][1]}function lr(e){return o7(this.__data__,e)>-1}function ln(e,t){var r=this.__data__,n=o7(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function li(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}tL(le,"listCacheDelete"),tL(lt,"listCacheGet"),tL(lr,"listCacheHas"),tL(ln,"listCacheSet"),tL(li,"ListCache"),li.prototype.clear=o6,li.prototype.delete=le,li.prototype.get=lt,li.prototype.has=lr,li.prototype.set=ln;var la=sW(sr,"Map");function ls(){this.size=0,this.__data__={hash:new o5,map:new(la||li),string:new o5}}function lo(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function ll(e,t){var r=e.__data__;return lo(t)?r["string"==typeof t?"string":"hash"]:r.map}function lu(e){var t=ll(this,e).delete(e);return this.size-=!!t,t}function lc(e){return ll(this,e).get(e)}function lp(e){return ll(this,e).has(e)}function lf(e,t){var r=ll(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this}function ld(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function lm(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=tL(function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(lm.Cache||ld),r}function lh(e){var t=lm(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}tL(ls,"mapCacheClear"),tL(lo,"isKeyable"),tL(ll,"getMapData"),tL(lu,"mapCacheDelete"),tL(lc,"mapCacheGet"),tL(lp,"mapCacheHas"),tL(lf,"mapCacheSet"),tL(ld,"MapCache"),ld.prototype.clear=ls,ld.prototype.delete=lu,ld.prototype.get=lc,ld.prototype.has=lp,ld.prototype.set=lf,tL(lm,"memoize"),lm.Cache=ld,tL(lh,"memoizeCapped");var ly=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lg=/\\(\\)?/g,lT=lh(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ly,function(e,r,n,i){t.push(n?i.replace(lg,"$1"):r||e)}),t});function lv(e){return null==e?"":sv(e)}function l$(e,t){return sy(e)?e:oZ(e,t)?[e]:lT(lv(e))}function lR(e){if("string"==typeof e||sm(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function lE(e,t){t=l$(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[lR(t[r++])];return r&&r==n?e:void 0}function lb(e,t,r){var n=null==e?void 0:lE(e,t);return void 0===n?r:n}function lA(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}tL(lv,"toString"),tL(l$,"castPath"),tL(lR,"toKey"),tL(lE,"baseGet"),tL(lb,"get"),tL(lA,"arrayPush");var lC=sn?sn.isConcatSpreadable:void 0;function lS(e){return sy(e)||oR(e)||!!(lC&&e&&e[lC])}function lk(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=lS),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?lk(o,t-1,r,n,i):lA(i,o):n||(i[i.length]=o)}return i}function lx(e){return(null==e?0:e.length)?lk(e,1):[]}tL(lS,"isFlattenable"),tL(lk,"baseFlatten"),tL(lx,"flatten");var lN=oj(Object.getPrototypeOf,Object);function lw(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var a=Array(i);++n<i;)a[n]=e[n+t];return a}function lI(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function l_(){this.__data__=new li,this.size=0}function lP(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function lO(e){return this.__data__.get(e)}function lD(e){return this.__data__.has(e)}function lL(e,t){var r=this.__data__;if(r instanceof li){var n=r.__data__;if(!la||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ld(n)}return r.set(e,t),this.size=r.size,this}function lM(e){var t=this.__data__=new li(e);this.size=t.size}function lj(e,t){return e&&os(t,oK(t),e)}function lF(e,t){return e&&os(t,oH(t),e)}tL(lw,"baseSlice"),tL(lI,"arrayReduce"),tL(l_,"stackClear"),tL(lP,"stackDelete"),tL(lO,"stackGet"),tL(lD,"stackHas"),tL(lL,"stackSet"),tL(lM,"Stack"),lM.prototype.clear=l_,lM.prototype.delete=lP,lM.prototype.get=lO,lM.prototype.has=lD,lM.prototype.set=lL,tL(lj,"baseAssign"),tL(lF,"baseAssignIn");var lG="object"==typeof exports&&exports&&!exports.nodeType&&exports,lz=lG&&"object"==typeof module&&module&&!module.nodeType&&module,lK=lz&&lz.exports===lG?sr.Buffer:void 0,lq=lK?lK.allocUnsafe:void 0;function lU(e,t){if(t)return e.slice();var r=e.length,n=lq?lq(r):new e.constructor(r);return e.copy(n),n}function lB(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function lW(){return[]}tL(lU,"cloneBuffer"),tL(lB,"arrayFilter"),tL(lW,"stubArray");var lV=Object.prototype.propertyIsEnumerable,lH=Object.getOwnPropertySymbols,lY=lH?function(e){return null==e?[]:lB(lH(e=Object(e)),function(t){return lV.call(e,t)})}:lW;function lQ(e,t){return os(e,lY(e),t)}tL(lQ,"copySymbols");var lZ=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lA(t,lY(e)),e=lN(e);return t}:lW;function lX(e,t){return os(e,lZ(e),t)}function lJ(e,t,r){var n=t(e);return sy(e)?n:lA(n,r(e))}function l0(e){return lJ(e,oK,lY)}function l1(e){return lJ(e,oH,lZ)}tL(lX,"copySymbolsIn"),tL(lJ,"baseGetAllKeys"),tL(l0,"getAllKeys"),tL(l1,"getAllKeysIn");var l2=sW(sr,"DataView"),l3=sW(sr,"Promise"),l4=sW(sr,"Set"),l9="[object Map]",l5="[object Promise]",l6="[object Set]",l7="[object WeakMap]",l8="[object DataView]",ue=sj(l2),ut=sj(la),ur=sj(l3),un=sj(l4),ui=sj(sV),ua=sf;(l2&&ua(new l2(new ArrayBuffer(1)))!=l8||la&&ua(new la)!=l9||l3&&ua(l3.resolve())!=l5||l4&&ua(new l4)!=l6||sV&&ua(new sV)!=l7)&&(ua=tL(function(e){var t=sf(e),r="[object Object]"==t?e.constructor:void 0,n=r?sj(r):"";if(n)switch(n){case ue:return l8;case ut:return l9;case ur:return l5;case un:return l6;case ui:return l7}return t},"getTag"));var us=ua,uo=Object.prototype.hasOwnProperty;function ul(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&uo.call(e,"index")&&(r.index=e.index,r.input=e.input),r}tL(ul,"initCloneArray");var uu=sr.Uint8Array;function uc(e){var t=new e.constructor(e.byteLength);return new uu(t).set(new uu(e)),t}function up(e,t){var r=t?uc(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}tL(uc,"cloneArrayBuffer"),tL(up,"cloneDataView");var uf=/\w*$/;function ud(e){var t=new e.constructor(e.source,uf.exec(e));return t.lastIndex=e.lastIndex,t}tL(ud,"cloneRegExp");var um=sn?sn.prototype:void 0,uh=um?um.valueOf:void 0;function uy(e){return uh?Object(uh.call(e)):{}}function ug(e,t){var r=t?uc(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function uT(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return uc(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return up(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return ug(e,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return ud(e);case"[object Symbol]":return uy(e)}}function uv(e){return"function"!=typeof e.constructor||oh(e)?{}:sY(lN(e))}function u$(e){return sd(e)&&"[object Map]"==us(e)}tL(uy,"cloneSymbol"),tL(ug,"cloneTypedArray"),tL(uT,"initCloneByTag"),tL(uv,"initCloneObject"),tL(u$,"baseIsMap");var uR=oP&&oP.isMap,uE=uR?oN(uR):u$;function ub(e){return sd(e)&&"[object Set]"==us(e)}tL(ub,"baseIsSet");var uA=oP&&oP.isSet,uC=uA?oN(uA):ub,uS="[object Arguments]",uk="[object Function]",ux="[object Object]",uN={};function uw(e,t,r,n,i,a){var s,o=1&t,l=2&t,u=4&t;if(r&&(s=i?r(e,n,i,a):r(e)),void 0!==s)return s;if(!sA(e))return e;var c=sy(e);if(c){if(s=ul(e),!o)return sX(e,s)}else{var p=us(e),f=p==uk||"[object GeneratorFunction]"==p;if(oS(e))return lU(e,o);if(p==ux||p==uS||f&&!i){if(s=l||f?{}:uv(e),!o)return l?lX(e,lF(s,e)):lQ(e,lj(s,e))}else{if(!uN[p])return i?e:{};s=uT(e,p,o)}}a||(a=new lM);var d=a.get(e);if(d)return d;a.set(e,s),uC(e)?e.forEach(function(n){s.add(uw(n,t,r,n,e,a))}):uE(e)&&e.forEach(function(n,i){s.set(i,uw(n,t,r,i,e,a))});var m=u?l?l1:l0:l?oH:oK,h=c?void 0:m(e);return s4(h||e,function(n,i){h&&(n=e[i=n]),oa(s,i,uw(n,t,r,i,e,a))}),s}function uI(e){return uw(e,4)}function u_(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i}function uP(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}function uO(e){return this.__data__.has(e)}function uD(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new ld;++t<r;)this.add(e[t])}function uL(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function uM(e,t){return e.has(t)}function uj(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,f=!0,d=2&r?new uD:void 0;for(a.set(e,t),a.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,a):n(m,h,p,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(d){if(!uL(t,function(e,t){if(!uM(d,t)&&(m===e||i(m,e,r,n,a)))return d.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function uF(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function uG(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}uN[uS]=uN["[object Array]"]=uN["[object ArrayBuffer]"]=uN["[object DataView]"]=uN["[object Boolean]"]=uN["[object Date]"]=uN["[object Float32Array]"]=uN["[object Float64Array]"]=uN["[object Int8Array]"]=uN["[object Int16Array]"]=uN["[object Int32Array]"]=uN["[object Map]"]=uN["[object Number]"]=uN[ux]=uN["[object RegExp]"]=uN["[object Set]"]=uN["[object String]"]=uN["[object Symbol]"]=uN["[object Uint8Array]"]=uN["[object Uint8ClampedArray]"]=uN["[object Uint16Array]"]=uN["[object Uint32Array]"]=!0,uN["[object Error]"]=uN[uk]=uN["[object WeakMap]"]=!1,tL(uw,"baseClone"),tL(uI,"clone"),tL(u_,"compact"),tL(uP,"setCacheAdd"),tL(uO,"setCacheHas"),tL(uD,"SetCache"),uD.prototype.add=uD.prototype.push=uP,uD.prototype.has=uO,tL(uL,"arraySome"),tL(uM,"cacheHas"),tL(uj,"equalArrays"),tL(uF,"mapToArray"),tL(uG,"setToArray");var uz=sn?sn.prototype:void 0,uK=uz?uz.valueOf:void 0;function uq(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new uu(e),new uu(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return on(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=uF;case"[object Set]":var l=1&n;if(o||(o=uG),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=uj(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(uK)return uK.call(e)==uK.call(t)}return!1}tL(uq,"equalByTag");var uU=Object.prototype.hasOwnProperty;function uB(e,t,r,n,i,a){var s=1&r,o=l0(e),l=o.length;if(l!=l0(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:uU.call(t,c)))return!1}var p=a.get(e),f=a.get(t);if(p&&f)return p==t&&f==e;var d=!0;a.set(e,t),a.set(t,e);for(var m=s;++u<l;){var h=e[c=o[u]],y=t[c];if(n)var g=s?n(y,h,c,t,e,a):n(h,y,c,e,t,a);if(!(void 0===g?h===y||i(h,y,r,n,a):g)){d=!1;break}m||(m="constructor"==c)}if(d&&!m){var T=e.constructor,v=t.constructor;T!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof T&&T instanceof T&&"function"==typeof v&&v instanceof v)&&(d=!1)}return a.delete(e),a.delete(t),d}tL(uB,"equalObjects");var uW="[object Arguments]",uV="[object Array]",uH="[object Object]",uY=Object.prototype.hasOwnProperty;function uQ(e,t,r,n,i,a){var s=sy(e),o=sy(t),l=s?uV:us(e),u=o?uV:us(t);l=l==uW?uH:l,u=u==uW?uH:u;var c=l==uH,p=u==uH,f=l==u;if(f&&oS(e)){if(!oS(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new lM),s||oD(e)?uj(e,t,r,n,i,a):uq(e,t,l,r,n,i,a);if(!(1&r)){var d=c&&uY.call(e,"__wrapped__"),m=p&&uY.call(t,"__wrapped__");if(d||m){var h=d?e.value():e,y=m?t.value():t;return a||(a=new lM),i(h,y,r,n,a)}}return!!f&&(a||(a=new lM),uB(e,t,r,n,i,a))}function uZ(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(sd(e)||sd(t))?uQ(e,t,r,n,uZ,i):e!=e&&t!=t)}function uX(e,t,r,n){var i=r.length,a=i,s=!n;if(null==e)return!a;for(e=Object(e);i--;){var o=r[i];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){var l=(o=r[i])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new lM;if(n)var f=n(u,c,l,e,t,p);if(!(void 0===f?uZ(c,u,3,n,p):f))return!1}}return!0}function uJ(e){return e==e&&!sA(e)}function u0(e){for(var t=oK(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,uJ(i)]}return t}function u1(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function u2(e){var t=u0(e);return 1==t.length&&t[0][2]?u1(t[0][0],t[0][1]):function(r){return r===e||uX(r,e,t)}}function u3(e,t){return null!=e&&t in Object(e)}function u4(e,t,r){t=l$(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=lR(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&oc(i)&&ot(s,i)&&(sy(e)||oR(e))}function u9(e,t){return null!=e&&u4(e,t,u3)}function u5(e,t){return oZ(e)&&uJ(t)?u1(lR(e),t):function(r){var n=lb(r,e);return void 0===n&&n===t?u9(r,e):uZ(t,n,3)}}function u6(e){return function(t){return null==t?void 0:t[e]}}function u7(e){return function(t){return lE(t,e)}}function u8(e){return oZ(e)?u6(lR(e)):u7(e)}function ce(e){return"function"==typeof e?e:null==e?s_:"object"==typeof e?sy(e)?u5(e[0],e[1]):u2(e):u8(e)}function ct(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n}function cr(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++i];if(!1===r(a[l],l,a))break}return t}}tL(uQ,"baseIsEqualDeep"),tL(uZ,"baseIsEqual"),tL(uX,"baseIsMatch"),tL(uJ,"isStrictComparable"),tL(u0,"getMatchData"),tL(u1,"matchesStrictComparable"),tL(u2,"baseMatches"),tL(u3,"baseHasIn"),tL(u4,"hasPath"),tL(u9,"hasIn"),tL(u5,"baseMatchesProperty"),tL(u6,"baseProperty"),tL(u7,"basePropertyDeep"),tL(u8,"property"),tL(ce,"baseIteratee"),tL(ct,"arrayAggregator"),tL(cr,"createBaseFor");var cn=cr();function ci(e,t){return e&&cn(e,t,oK)}function ca(e,t){return function(r,n){if(null==r)return r;if(!op(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Object(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}tL(ci,"baseForOwn"),tL(ca,"createBaseEach");var cs=ca(ci);function co(e,t,r,n){return cs(e,function(e,i,a){t(n,e,r(e),a)}),n}function cl(e,t){return function(r,n){var i=sy(r)?ct:co,a=t?t():{};return i(r,e,ce(n),a)}}tL(co,"baseAggregator"),tL(cl,"createAggregator");var cu=Object.prototype,cc=cu.hasOwnProperty,cp=ou(function(e,t){e=Object(e);var r=-1,n=t.length,i=n>2?t[2]:void 0;for(i&&of(t[0],t[1],i)&&(n=1);++r<n;)for(var a=t[r],s=oH(a),o=-1,l=s.length;++o<l;){var u=s[o],c=e[u];(void 0===c||on(c,cu[u])&&!cc.call(e,u))&&(e[u]=a[u])}return e});function cf(e){return sd(e)&&op(e)}function cd(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function cm(e,t,r,n){var i=-1,a=s8,s=!0,o=e.length,l=[],u=t.length;if(!o)return l;r&&(t=sh(t,oN(r))),n?(a=cd,s=!1):t.length>=200&&(a=uM,s=!1,t=new uD(t));t:for(;++i<o;){var c=e[i],p=null==r?c:r(c);if(c=n||0!==c?c:0,s&&p==p){for(var f=u;f--;)if(t[f]===p)continue t;l.push(c)}else a(t,p,n)||l.push(c)}return l}tL(cf,"isArrayLikeObject"),tL(cd,"arrayIncludesWith"),tL(cm,"baseDifference");var ch=ou(function(e,t){return cf(e)?cm(e,lk(t,1,cf,!0)):[]});function cy(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function cg(e,t,r){var n=null==e?0:e.length;return n?lw(e,(t=r||void 0===t?1:sI(t))<0?0:t,n):[]}function cT(e,t,r){var n=null==e?0:e.length;return n?lw(e,0,(t=n-(t=r||void 0===t?1:sI(t)))<0?0:t):[]}function cv(e){return"function"==typeof e?e:s_}function c$(e,t){return(sy(e)?s4:cs)(e,cv(t))}function cR(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function cE(e,t){var r=!0;return cs(e,function(e,n,i){return r=!!t(e,n,i)}),r}function cb(e,t,r){var n=sy(e)?cR:cE;return r&&of(e,t,r)&&(t=void 0),n(e,ce(t))}function cA(e,t){var r=[];return cs(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function cC(e,t){return(sy(e)?lB:cA)(e,ce(t))}function cS(e){return function(t,r,n){var i=Object(t);if(!op(t)){var a=ce(r);t=oK(t),r=tL(function(e){return a(i[e],e,i)},"predicate")}var s=e(t,r,n);return s>-1?i[a?t[s]:s]:void 0}}tL(cy,"last"),tL(cg,"drop"),tL(cT,"dropRight"),tL(cv,"castFunction"),tL(c$,"forEach"),tL(cR,"arrayEvery"),tL(cE,"baseEvery"),tL(cb,"every"),tL(cA,"baseFilter"),tL(cC,"filter"),tL(cS,"createFind");var ck=Math.max;function cx(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sI(r);return i<0&&(i=ck(n+i,0)),s9(e,ce(t),i)}tL(cx,"findIndex");var cN=cS(cx);function cw(e){return e&&e.length?e[0]:void 0}function cI(e,t){var r=-1,n=op(e)?Array(e.length):[];return cs(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function c_(e,t){return(sy(e)?sh:cI)(e,ce(t))}function cP(e,t){return lk(c_(e,t),1)}tL(cw,"head"),tL(cI,"baseMap"),tL(c_,"map"),tL(cP,"flatMap");var cO=Object.prototype.hasOwnProperty,cD=cl(function(e,t,r){cO.call(e,r)?e[r].push(t):or(e,r,[t])}),cL=Object.prototype.hasOwnProperty;function cM(e,t){return null!=e&&cL.call(e,t)}function cj(e,t){return null!=e&&u4(e,t,cM)}function cF(e){return"string"==typeof e||!sy(e)&&sd(e)&&"[object String]"==sf(e)}function cG(e,t){return sh(t,function(t){return e[t]})}function cz(e){return null==e?[]:cG(e,oK(e))}tL(cM,"baseHas"),tL(cj,"has"),tL(cF,"isString"),tL(cG,"baseValues"),tL(cz,"values");var cK=Math.max;function cq(e,t,r,n){e=op(e)?e:cz(e),r=r&&!n?sI(r):0;var i=e.length;return r<0&&(r=cK(i+r,0)),cF(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&s7(e,t,r)>-1}tL(cq,"includes");var cU=Math.max;function cB(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sI(r);return i<0&&(i=cU(n+i,0)),s7(e,t,i)}tL(cB,"indexOf");var cW=Object.prototype.hasOwnProperty;function cV(e){if(null==e)return!0;if(op(e)&&(sy(e)||"string"==typeof e||"function"==typeof e.splice||oS(e)||oD(e)||oR(e)))return!e.length;var t=us(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(oh(e))return!oz(e).length;for(var r in e)if(cW.call(e,r))return!1;return!0}function cH(e){return sd(e)&&"[object RegExp]"==sf(e)}tL(cV,"isEmpty"),tL(cH,"baseIsRegExp");var cY=oP&&oP.isRegExp,cQ=cY?oN(cY):cH;function cZ(e){return void 0===e}function cX(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function cJ(e,t,r,n){if(!sA(e))return e;t=l$(t,e);for(var i=-1,a=t.length,s=a-1,o=e;null!=o&&++i<a;){var l=lR(t[i]),u=r;if("__proto__"===l||"constructor"===l||"prototype"===l)break;if(i!=s){var c=o[l];void 0===(u=n?n(c,l,o):void 0)&&(u=sA(c)?c:ot(t[i+1])?[]:{})}oa(o,l,u),o=o[l]}return e}function c0(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var s=t[n],o=lE(e,s);r(o,s)&&cJ(a,l$(s,e),o)}return a}function c1(e,t){if(null==e)return{};var r=sh(l1(e),function(e){return[e]});return t=ce(t),c0(e,r,function(e,r){return t(e,r[0])})}function c2(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function c3(e,t,r){var n=sy(e)?lI:c2,i=arguments.length<3;return n(e,ce(t),r,i,cs)}function c4(e,t){return(sy(e)?lB:cA)(e,cX(ce(t)))}function c9(e,t){var r;return cs(e,function(e,n,i){return!(r=t(e,n,i))}),!!r}function c5(e,t,r){var n=sy(e)?uL:c9;return r&&of(e,t,r)&&(t=void 0),n(e,ce(t))}tL(cZ,"isUndefined"),tL(cX,"negate"),tL(cJ,"baseSet"),tL(c0,"basePickBy"),tL(c1,"pickBy"),tL(c2,"baseReduce"),tL(c3,"reduce"),tL(c4,"reject"),tL(c9,"baseSome"),tL(c5,"some");var c6=l4&&1/uG(new l4([,-0]))[1]==1/0?function(e){return new l4(e)}:sZ;function c7(e,t,r){var n=-1,i=s8,a=e.length,s=!0,o=[],l=o;if(r)s=!1,i=cd;else if(a>=200){var u=t?null:c6(e);if(u)return uG(u);s=!1,i=uM,l=new uD}else l=t?[]:o;t:for(;++n<a;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;t&&l.push(p),o.push(c)}else i(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}function c8(e){return e&&e.length?c7(e):[]}function pe(e){console&&console.error&&console.error(`Error: ${e}`)}function pt(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function pr(e){let t=(new Date).getTime(),r=e();return{time:(new Date).getTime()-t,value:r}}function pn(e){function t(){}tL(t,"FakeConstructor"),t.prototype=e;let r=new t;function n(){return typeof r.bar}return tL(n,"fakeAccess"),n(),n(),e}function pi(e){return pa(e)?e.LABEL:e.name}function pa(e){return cF(e.LABEL)&&""!==e.LABEL}tL(c7,"baseUniq"),tL(c8,"uniq"),tL(pe,"PRINT_ERROR"),tL(pt,"PRINT_WARNING"),tL(pr,"timer"),tL(pn,"toFastProperties"),tL(pi,"tokenLabel"),tL(pa,"hasTokenLabel");var ps=class{static{tL(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),c$(this.definition,t=>{t.accept(e)})}},po=class extends ps{static{tL(this,"NonTerminal")}constructor(e){super([]),this.idx=1,oU(this,c1(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}},pl=class extends ps{static{tL(this,"Rule")}constructor(e){super(e.definition),this.orgText="",oU(this,c1(e,e=>void 0!==e))}},pu=class extends ps{static{tL(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,oU(this,c1(e,e=>void 0!==e))}},pc=class extends ps{static{tL(this,"Option")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},pp=class extends ps{static{tL(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},pf=class extends ps{static{tL(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},pd=class extends ps{static{tL(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},pm=class extends ps{static{tL(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,oU(this,c1(e,e=>void 0!==e))}},ph=class extends ps{static{tL(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,oU(this,c1(e,e=>void 0!==e))}},py=class{static{tL(this,"Terminal")}constructor(e){this.idx=1,oU(this,c1(e,e=>void 0!==e))}accept(e){e.visit(this)}};function pg(e){return c_(e,pT)}function pT(e){function t(e){return c_(e,pT)}if(tL(t,"convertDefinition"),e instanceof po){let t={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return cF(e.label)&&(t.label=e.label),t}if(e instanceof pu)return{type:"Alternative",definition:t(e.definition)};if(e instanceof pc)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof pp)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof pf)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:pT(new py({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof pm)return{type:"RepetitionWithSeparator",idx:e.idx,separator:pT(new py({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof pd)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};else if(e instanceof ph)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};else if(e instanceof py){let t={type:"Terminal",name:e.terminalType.name,label:pi(e.terminalType),idx:e.idx};cF(e.label)&&(t.terminalLabel=e.label);let r=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=cQ(r)?r.source:r),t}else if(e instanceof pl)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};else throw Error("non exhaustive match")}tL(pg,"serializeGrammar"),tL(pT,"serializeProduction");var pv=class{static{tL(this,"GAstVisitor")}visit(e){switch(e.constructor){case po:return this.visitNonTerminal(e);case pu:return this.visitAlternative(e);case pc:return this.visitOption(e);case pp:return this.visitRepetitionMandatory(e);case pf:return this.visitRepetitionMandatoryWithSeparator(e);case pm:return this.visitRepetitionWithSeparator(e);case pd:return this.visitRepetition(e);case ph:return this.visitAlternation(e);case py:return this.visitTerminal(e);case pl:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function p$(e){return e instanceof pu||e instanceof pc||e instanceof pd||e instanceof pp||e instanceof pf||e instanceof pm||e instanceof py||e instanceof pl}function pR(e,t=[]){return e instanceof pc||e instanceof pd||e instanceof pm||(e instanceof ph?c5(e.definition,e=>pR(e,t)):!(e instanceof po&&cq(t,e))&&e instanceof ps&&(e instanceof po&&t.push(e),cb(e.definition,e=>pR(e,t))))}function pE(e){return e instanceof ph}function pb(e){if(e instanceof po)return"SUBRULE";if(e instanceof pc)return"OPTION";if(e instanceof ph)return"OR";if(e instanceof pp)return"AT_LEAST_ONE";if(e instanceof pf)return"AT_LEAST_ONE_SEP";else if(e instanceof pm)return"MANY_SEP";else if(e instanceof pd)return"MANY";else if(e instanceof py)return"CONSUME";else throw Error("non exhaustive match")}tL(p$,"isSequenceProd"),tL(pR,"isOptionalProd"),tL(pE,"isBranchingProd"),tL(pb,"getProductionDslName");var pA=class{static{tL(this,"RestWalker")}walk(e,t=[]){c$(e.definition,(r,n)=>{let i=cg(e.definition,n+1);if(r instanceof po)this.walkProdRef(r,i,t);else if(r instanceof py)this.walkTerminal(r,i,t);else if(r instanceof pu)this.walkFlat(r,i,t);else if(r instanceof pc)this.walkOption(r,i,t);else if(r instanceof pp)this.walkAtLeastOne(r,i,t);else if(r instanceof pf)this.walkAtLeastOneSep(r,i,t);else if(r instanceof pm)this.walkManySep(r,i,t);else if(r instanceof pd)this.walkMany(r,i,t);else if(r instanceof ph)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new pc({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=pC(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new pc({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=pC(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);c$(e.definition,e=>{let t=new pu({definition:[e]});this.walk(t,n)})}};function pC(e,t,r){return[new pc({definition:[new py({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function pS(e){if(e instanceof po)return pS(e.referencedRule);if(e instanceof py)return pN(e);if(p$(e))return pk(e);if(pE(e))return px(e);throw Error("non exhaustive match")}function pk(e){let t,r=[],n=e.definition,i=0,a=n.length>i,s=!0;for(;a&&s;)s=pR(t=n[i]),r=r.concat(pS(t)),i+=1,a=n.length>i;return c8(r)}function px(e){return c8(lx(c_(e.definition,e=>pS(e))))}function pN(e){return[e.terminalType]}tL(pC,"restForRepetitionWithSeparator"),tL(pS,"first"),tL(pk,"firstForSequence"),tL(px,"firstForBranching"),tL(pN,"firstForTerminal");var pw="_~IN~_",pI=class extends pA{static{tL(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){let n=pP(e.referencedRule,e.idx)+this.topProd.name,i=pS(new pu({definition:t.concat(r)}));this.follows[n]=i}};function p_(e){let t={};return c$(e,e=>{oU(t,new pI(e).startWalking())}),t}function pP(e,t){return e.name+t+pw}tL(p_,"computeAllProdsFollows"),tL(pP,"buildBetweenProdsFollowPrefix");var pO={},pD=new af;function pL(e){let t=e.toString();if(pO.hasOwnProperty(t))return pO[t];{let e=pD.pattern(t);return pO[t]=e,e}}function pM(){pO={}}tL(pL,"getRegExpAst"),tL(pM,"clearRegExpParserCache");var pj="Complement Sets are not supported for first char optimization",pF='Unable to use "first char" lexer optimizations:\n';function pG(e,t=!1){try{let t=pL(e);return pz(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===pj)t&&pt(`${pF} Unable to optimize: < ${e.toString()} >
22
22
  Complement Sets cannot be automatically optimized.
23
23
  This will disable the lexer's first char optimizations.
24
24
  See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";t&&(r="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),pe(`${pF}
25
25
  Failed parsing: < ${e.toString()} >
26
26
  Using the @chevrotain/regexp-to-ast library
27
- Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function pz(e,t,r){switch(e.type){case"Disjunction":for(let n=0;n<e.value.length;n++)pz(e.value[n],t,r);break;case"Alternative":let n=e.value;for(let e=0;e<n.length;e++){let i=n[e];switch(i.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(i.type){case"Character":pK(i.value,t,r);break;case"Set":if(!0===i.complement)throw Error(pj);c$(i.value,e=>{if("number"==typeof e)pK(e,t,r);else if(!0===r)for(let n=e.from;n<=e.to;n++)pK(n,t,r);else{for(let n=e.from;n<=e.to&&n<fy;n++)pK(n,t,r);if(e.to>=fy){let r=e.from>=fy?e.from:fy,n=e.to,i=fT(r),a=fT(n);for(let e=i;e<=a;e++)t[e]=e}}});break;case"Group":pz(i.value,t,r);break;default:throw Error("Non Exhaustive Match")}let a=void 0!==i.quantifier&&0===i.quantifier.atLeast;if("Group"===i.type&&!1===pB(i)||"Group"!==i.type&&!1===a)break}break;default:throw Error("non exhaustive match!")}return cz(t)}function pK(e,t,r){let n=fT(e);t[n]=n,!0===r&&pq(e,t)}function pq(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=fT(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=fT(e.charCodeAt(0));t[r]=r}}}function pU(e,t){return cN(e.value,e=>"number"==typeof e?cq(t,e):void 0!==cN(t,t=>e.from<=t&&t<=e.to))}function pB(e){let t=e.quantifier;return!!t&&0===t.atLeast||!!e.value&&(sy(e.value)?cb(e.value,pB):pB(e.value))}tL(pG,"getOptimizedStartCodesIndices"),tL(pz,"firstCharOptimizedIndices"),tL(pK,"addOptimizedIdxToResult"),tL(pq,"handleIgnoreCase"),tL(pU,"findCode"),tL(pB,"isWholeOptional");var pW=class extends ad{static{tL(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){cq(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===pU(e,this.targetCharCodes)&&(this.found=!0):void 0!==pU(e,this.targetCharCodes)&&(this.found=!0)}};function pV(e,t){if(!(t instanceof RegExp))return void 0!==cN(t,t=>cq(e,t.charCodeAt(0)));{let r=pL(t),n=new pW(e);return n.visit(r),n.found}}tL(pV,"canMatchCharCode");var pH="PATTERN",pY="defaultMode",pQ="modes";function pZ(e,t){let r,n,i,a,s,o,l,u,c,p,f,d,m=(t=cp(t,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:tL((e,t)=>t(),"tracer")})).tracer;m("initCharCodeToOptimizedIndexMap",()=>{fv()}),m("Reject Lexer.NA",()=>{r=c9(e,e=>e[pH]===fM.NA)});let h=!1;m("Transform Patterns",()=>{h=!1,n=c_(r,e=>{let t=e[pH];if(cQ(t)){let e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||cq(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?fa(t):e[1]:e}if(sP(t))return h=!0,{exec:t};if("object"==typeof t)return h=!0,t;if("string"==typeof t)if(1===t.length)return t;else return fa(new RegExp(t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")));throw Error("non exhaustive match")})}),m("misc mapping",()=>{i=c_(r,e=>e.tokenTypeIdx),a=c_(r,e=>{let t=e.GROUP;if(t!==fM.SKIPPED){if(cF(t))return t;if(cZ(t))return!1;throw Error("non exhaustive match")}}),s=c_(r,e=>{let t=e.LONGER_ALT;if(t)return sy(t)?c_(t,e=>cB(r,e)):[cB(r,t)]}),o=c_(r,e=>e.PUSH_MODE),l=c_(r,e=>cj(e,"POP_MODE"))}),m("Line Terminator Handling",()=>{let e=fm(t.lineTerminatorCharacters);u=c_(r,e=>!1),"onlyOffset"!==t.positionTracking&&(u=c_(r,t=>cj(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===ff(t,e)&&pV(e,t.PATTERN)))}),m("Misc Mapping #2",()=>{c=c_(r,fu),p=c_(n,fc),f=c3(r,(e,t)=>{let r=t.GROUP;return cF(r)&&r!==fM.SKIPPED&&(e[r]=[]),e},{}),d=c_(n,(e,t)=>({pattern:n[t],longerAlt:s[t],canLineTerminator:u[t],isCustom:c[t],short:p[t],group:a[t],push:o[t],pop:l[t],tokenTypeIdx:i[t],tokenType:r[t]}))});let y=!0,g=[];return t.safeMode||m("First Char Optimization",()=>{g=c3(r,(e,r,n)=>{if("string"==typeof r.PATTERN)fh(e,fT(r.PATTERN.charCodeAt(0)),d[n]);else if(sy(r.START_CHARS_HINT)){let t;c$(r.START_CHARS_HINT,r=>{let i=fT("string"==typeof r?r.charCodeAt(0):r);t!==i&&(t=i,fh(e,i,d[n]))})}else if(cQ(r.PATTERN))if(r.PATTERN.unicode)y=!1,t.ensureOptimizations&&pe(`${pF} Unable to analyze < ${r.PATTERN.toString()} > pattern.
27
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function pz(e,t,r){switch(e.type){case"Disjunction":for(let n=0;n<e.value.length;n++)pz(e.value[n],t,r);break;case"Alternative":let n=e.value;for(let e=0;e<n.length;e++){let i=n[e];switch(i.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(i.type){case"Character":pK(i.value,t,r);break;case"Set":if(!0===i.complement)throw Error(pj);c$(i.value,e=>{if("number"==typeof e)pK(e,t,r);else if(!0===r)for(let n=e.from;n<=e.to;n++)pK(n,t,r);else{for(let n=e.from;n<=e.to&&n<fy;n++)pK(n,t,r);if(e.to>=fy){let r=e.from>=fy?e.from:fy,n=e.to,i=fT(r),a=fT(n);for(let e=i;e<=a;e++)t[e]=e}}});break;case"Group":pz(i.value,t,r);break;default:throw Error("Non Exhaustive Match")}let a=void 0!==i.quantifier&&0===i.quantifier.atLeast;if("Group"===i.type&&!1===pB(i)||"Group"!==i.type&&!1===a)break}break;default:throw Error("non exhaustive match!")}return cz(t)}function pK(e,t,r){let n=fT(e);t[n]=n,!0===r&&pq(e,t)}function pq(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=fT(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=fT(e.charCodeAt(0));t[r]=r}}}function pU(e,t){return cN(e.value,e=>"number"==typeof e?cq(t,e):void 0!==cN(t,t=>e.from<=t&&t<=e.to))}function pB(e){let t=e.quantifier;return!!t&&0===t.atLeast||!!e.value&&(sy(e.value)?cb(e.value,pB):pB(e.value))}tL(pG,"getOptimizedStartCodesIndices"),tL(pz,"firstCharOptimizedIndices"),tL(pK,"addOptimizedIdxToResult"),tL(pq,"handleIgnoreCase"),tL(pU,"findCode"),tL(pB,"isWholeOptional");var pW=class extends ad{static{tL(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){cq(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===pU(e,this.targetCharCodes)&&(this.found=!0):void 0!==pU(e,this.targetCharCodes)&&(this.found=!0)}};function pV(e,t){if(!(t instanceof RegExp))return void 0!==cN(t,t=>cq(e,t.charCodeAt(0)));{let r=pL(t),n=new pW(e);return n.visit(r),n.found}}tL(pV,"canMatchCharCode");var pH="PATTERN",pY="defaultMode",pQ="modes";function pZ(e,t){let r,n,i,a,s,o,l,u,c,p,f,d,m=(t=cp(t,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:tL((e,t)=>t(),"tracer")})).tracer;m("initCharCodeToOptimizedIndexMap",()=>{fv()}),m("Reject Lexer.NA",()=>{r=c4(e,e=>e[pH]===fM.NA)});let h=!1;m("Transform Patterns",()=>{h=!1,n=c_(r,e=>{let t=e[pH];if(cQ(t)){let e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||cq(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?fa(t):e[1]:e}if(sP(t))return h=!0,{exec:t};if("object"==typeof t)return h=!0,t;if("string"==typeof t)if(1===t.length)return t;else return fa(new RegExp(t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")));throw Error("non exhaustive match")})}),m("misc mapping",()=>{i=c_(r,e=>e.tokenTypeIdx),a=c_(r,e=>{let t=e.GROUP;if(t!==fM.SKIPPED){if(cF(t))return t;if(cZ(t))return!1;throw Error("non exhaustive match")}}),s=c_(r,e=>{let t=e.LONGER_ALT;if(t)return sy(t)?c_(t,e=>cB(r,e)):[cB(r,t)]}),o=c_(r,e=>e.PUSH_MODE),l=c_(r,e=>cj(e,"POP_MODE"))}),m("Line Terminator Handling",()=>{let e=fm(t.lineTerminatorCharacters);u=c_(r,e=>!1),"onlyOffset"!==t.positionTracking&&(u=c_(r,t=>cj(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===ff(t,e)&&pV(e,t.PATTERN)))}),m("Misc Mapping #2",()=>{c=c_(r,fu),p=c_(n,fc),f=c3(r,(e,t)=>{let r=t.GROUP;return cF(r)&&r!==fM.SKIPPED&&(e[r]=[]),e},{}),d=c_(n,(e,t)=>({pattern:n[t],longerAlt:s[t],canLineTerminator:u[t],isCustom:c[t],short:p[t],group:a[t],push:o[t],pop:l[t],tokenTypeIdx:i[t],tokenType:r[t]}))});let y=!0,g=[];return t.safeMode||m("First Char Optimization",()=>{g=c3(r,(e,r,n)=>{if("string"==typeof r.PATTERN)fh(e,fT(r.PATTERN.charCodeAt(0)),d[n]);else if(sy(r.START_CHARS_HINT)){let t;c$(r.START_CHARS_HINT,r=>{let i=fT("string"==typeof r?r.charCodeAt(0):r);t!==i&&(t=i,fh(e,i,d[n]))})}else if(cQ(r.PATTERN))if(r.PATTERN.unicode)y=!1,t.ensureOptimizations&&pe(`${pF} Unable to analyze < ${r.PATTERN.toString()} > pattern.
28
28
  The regexp unicode flag is not currently supported by the regexp-to-ast library.
29
29
  This will disable the lexer's first char optimizations.
30
30
  For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=pG(r.PATTERN,t.ensureOptimizations);cV(i)&&(y=!1),c$(i,t=>{fh(e,t,d[n])})}else t.ensureOptimizations&&pe(`${pF} TokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
31
31
  This will disable the lexer's first char optimizations.
32
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return e},[])}),{emptyGroups:f,patternIdxToConfig:d,charCodeToPatternIdxToConfig:g,hasCustom:h,canBeOptimized:y}}function pX(e,t){let r=[],n=p0(e);r=r.concat(n.errors);let i=p1(n.valid),a=i.valid;return(r=(r=(r=(r=r.concat(i.errors)).concat(pJ(a))).concat(p7(a))).concat(fe(a,t))).concat(ft(a))}function pJ(e){let t=[],r=cC(e,e=>cQ(e[pH]));return(t=(t=(t=(t=t.concat(p3(r))).concat(p5(r))).concat(p6(r))).concat(p8(r))).concat(p9(r))}function p0(e){let t=cC(e,e=>!cj(e,pH));return{errors:c_(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:eY.MISSING_PATTERN,tokenTypes:[e]})),valid:ch(e,t)}}function p1(e){let t=cC(e,e=>{let t=e[pH];return!cQ(t)&&!sP(t)&&!cj(t,"exec")&&!cF(t)});return{errors:c_(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:eY.INVALID_PATTERN,tokenTypes:[e]})),valid:ch(e,t)}}tL(pZ,"analyzeTokenTypes"),tL(pX,"validatePatterns"),tL(pJ,"validateRegExpPattern"),tL(p0,"findMissingPatterns"),tL(p1,"findInvalidPatterns");var p2=/[^\\][$]/;function p3(e){class t extends ad{static{tL(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return c_(cC(e,e=>{let r=e.PATTERN;try{let e=pL(r),n=new t;return n.visit(e),n.found}catch(e){return p2.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function p9(e){return c_(cC(e,e=>e.PATTERN.test("")),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:eY.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}tL(p3,"findEndOfInputAnchor"),tL(p9,"findEmptyMatchRegExps");var p4=/[^\\[][\^]|^\^/;function p5(e){class t extends ad{static{tL(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return c_(cC(e,e=>{let r=e.PATTERN;try{let e=pL(r),n=new t;return n.visit(e),n.found}catch(e){return p4.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function p6(e){return c_(cC(e,e=>{let t=e[pH];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:eY.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function p8(e){let t=[],r=c_(e,r=>c3(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||cq(t,n)||n.PATTERN===fM.NA||(t.push(n),e.push(n)),e),[]));return c_(cC(r=u_(r),e=>e.length>1),e=>{let t=c_(e,e=>e.name),r=cw(e).PATTERN;return{message:`The same RegExp pattern ->${r}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:eY.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function p7(e){return c_(cC(e,e=>{if(!cj(e,"GROUP"))return!1;let t=e.GROUP;return t!==fM.SKIPPED&&t!==fM.NA&&!cF(t)}),e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:eY.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function fe(e,t){return c_(cC(e,e=>void 0!==e.PUSH_MODE&&!cq(t,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:eY.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function ft(e){let t=[],r=c3(e,(e,t,r)=>{let n=t.PATTERN;return n===fM.NA||(cF(n)?e.push({str:n,idx:r,tokenType:t}):cQ(n)&&fn(n)&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return c$(e,(e,n)=>{c$(r,({str:r,idx:i,tokenType:a})=>{if(n<i&&fr(r,e.PATTERN)){let r=`Token: ->${a.name}<- can never be matched.
32
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return e},[])}),{emptyGroups:f,patternIdxToConfig:d,charCodeToPatternIdxToConfig:g,hasCustom:h,canBeOptimized:y}}function pX(e,t){let r=[],n=p0(e);r=r.concat(n.errors);let i=p1(n.valid),a=i.valid;return(r=(r=(r=(r=r.concat(i.errors)).concat(pJ(a))).concat(p8(a))).concat(fe(a,t))).concat(ft(a))}function pJ(e){let t=[],r=cC(e,e=>cQ(e[pH]));return(t=(t=(t=(t=t.concat(p3(r))).concat(p5(r))).concat(p6(r))).concat(p7(r))).concat(p4(r))}function p0(e){let t=cC(e,e=>!cj(e,pH));return{errors:c_(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:eY.MISSING_PATTERN,tokenTypes:[e]})),valid:ch(e,t)}}function p1(e){let t=cC(e,e=>{let t=e[pH];return!cQ(t)&&!sP(t)&&!cj(t,"exec")&&!cF(t)});return{errors:c_(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:eY.INVALID_PATTERN,tokenTypes:[e]})),valid:ch(e,t)}}tL(pZ,"analyzeTokenTypes"),tL(pX,"validatePatterns"),tL(pJ,"validateRegExpPattern"),tL(p0,"findMissingPatterns"),tL(p1,"findInvalidPatterns");var p2=/[^\\][$]/;function p3(e){class t extends ad{static{tL(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return c_(cC(e,e=>{let r=e.PATTERN;try{let e=pL(r),n=new t;return n.visit(e),n.found}catch(e){return p2.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function p4(e){return c_(cC(e,e=>e.PATTERN.test("")),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:eY.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}tL(p3,"findEndOfInputAnchor"),tL(p4,"findEmptyMatchRegExps");var p9=/[^\\[][\^]|^\^/;function p5(e){class t extends ad{static{tL(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return c_(cC(e,e=>{let r=e.PATTERN;try{let e=pL(r),n=new t;return n.visit(e),n.found}catch(e){return p9.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function p6(e){return c_(cC(e,e=>{let t=e[pH];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:eY.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function p7(e){let t=[],r=c_(e,r=>c3(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||cq(t,n)||n.PATTERN===fM.NA||(t.push(n),e.push(n)),e),[]));return c_(cC(r=u_(r),e=>e.length>1),e=>{let t=c_(e,e=>e.name),r=cw(e).PATTERN;return{message:`The same RegExp pattern ->${r}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:eY.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function p8(e){return c_(cC(e,e=>{if(!cj(e,"GROUP"))return!1;let t=e.GROUP;return t!==fM.SKIPPED&&t!==fM.NA&&!cF(t)}),e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:eY.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function fe(e,t){return c_(cC(e,e=>void 0!==e.PUSH_MODE&&!cq(t,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:eY.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function ft(e){let t=[],r=c3(e,(e,t,r)=>{let n=t.PATTERN;return n===fM.NA||(cF(n)?e.push({str:n,idx:r,tokenType:t}):cQ(n)&&fn(n)&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return c$(e,(e,n)=>{c$(r,({str:r,idx:i,tokenType:a})=>{if(n<i&&fr(r,e.PATTERN)){let r=`Token: ->${a.name}<- can never be matched.
33
33
  Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.
34
34
  See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:r,type:eY.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}function fr(e,t){if(cQ(t)){if(fi(t))return!1;let r=t.exec(e);return null!==r&&0===r.index}if(sP(t))return t(e,0,[],{});if(cj(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function fn(e){return void 0===cN([".","\\","[","]","|","^","$","(",")","?","*","+","{"],t=>-1!==e.source.indexOf(t))}function fi(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}function fa(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function fs(e,t,r){let n=[];return cj(e,pY)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+pY+"> property in its definition\n",type:eY.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),cj(e,pQ)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+pQ+"> property in its definition\n",type:eY.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),cj(e,pQ)&&cj(e,pY)&&!cj(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${pY}: <${e.defaultMode}>which does not exist
35
35
  `,type:eY.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),cj(e,pQ)&&c$(e.modes,(e,t)=>{c$(e,(r,i)=>{cZ(r)?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}>
36
36
  `,type:eY.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):cj(r,"LONGER_ALT")&&c$(sy(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT],i=>{cZ(i)||cq(e,i)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${t}>
37
- `,type:eY.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function fo(e,t,r){let n=[],i=!1,a=c9(u_(lx(cz(e.modes))),e=>e[pH]===fM.NA),s=fm(r);return t&&c$(a,e=>{let t=ff(e,s);if(!1!==t){let r={message:fd(e,t),type:t.issue,tokenType:e};n.push(r)}else cj(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):pV(s,e.PATTERN)&&(i=!0)}),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:eY.NO_LINE_BREAKS_FLAGS}),n}function fl(e){let t={};return c$(oK(e),r=>{if(sy(e[r]))t[r]=[];else throw Error("non exhaustive match")}),t}function fu(e){let t=e.PATTERN;if(cQ(t))return!1;if(sP(t))return!0;if(cj(t,"exec"))return!0;if(cF(t))return!1;throw Error("non exhaustive match")}function fc(e){return!!cF(e)&&1===e.length&&e.charCodeAt(0)}tL(p5,"findStartOfInputAnchor"),tL(p6,"findUnsupportedFlags"),tL(p8,"findDuplicatePatterns"),tL(p7,"findInvalidGroupType"),tL(fe,"findModesThatDoNotExist"),tL(ft,"findUnreachablePatterns"),tL(fr,"tryToMatchStrToPattern"),tL(fn,"noMetaChar"),tL(fi,"usesLookAheadOrBehind"),tL(fa,"addStickyFlag"),tL(fs,"performRuntimeChecks"),tL(fo,"performWarningRuntimeChecks"),tL(fl,"cloneEmptyGroups"),tL(fu,"isCustomPattern"),tL(fc,"isShortPattern");var fp={test:tL(function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let t=e.charCodeAt(r);if(10===t)return this.lastIndex=r+1,!0;if(13===t)return 10===e.charCodeAt(r+1)?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};function ff(e,t){if(cj(e,"LINE_BREAKS"))return!1;if(cQ(e.PATTERN)){try{pV(t,e.PATTERN)}catch(e){return{issue:eY.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(cF(e.PATTERN))return!1;if(fu(e))return{issue:eY.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function fd(e,t){if(t.issue===eY.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
37
+ `,type:eY.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function fo(e,t,r){let n=[],i=!1,a=c4(u_(lx(cz(e.modes))),e=>e[pH]===fM.NA),s=fm(r);return t&&c$(a,e=>{let t=ff(e,s);if(!1!==t){let r={message:fd(e,t),type:t.issue,tokenType:e};n.push(r)}else cj(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):pV(s,e.PATTERN)&&(i=!0)}),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:eY.NO_LINE_BREAKS_FLAGS}),n}function fl(e){let t={};return c$(oK(e),r=>{if(sy(e[r]))t[r]=[];else throw Error("non exhaustive match")}),t}function fu(e){let t=e.PATTERN;if(cQ(t))return!1;if(sP(t))return!0;if(cj(t,"exec"))return!0;if(cF(t))return!1;throw Error("non exhaustive match")}function fc(e){return!!cF(e)&&1===e.length&&e.charCodeAt(0)}tL(p5,"findStartOfInputAnchor"),tL(p6,"findUnsupportedFlags"),tL(p7,"findDuplicatePatterns"),tL(p8,"findInvalidGroupType"),tL(fe,"findModesThatDoNotExist"),tL(ft,"findUnreachablePatterns"),tL(fr,"tryToMatchStrToPattern"),tL(fn,"noMetaChar"),tL(fi,"usesLookAheadOrBehind"),tL(fa,"addStickyFlag"),tL(fs,"performRuntimeChecks"),tL(fo,"performWarningRuntimeChecks"),tL(fl,"cloneEmptyGroups"),tL(fu,"isCustomPattern"),tL(fc,"isShortPattern");var fp={test:tL(function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let t=e.charCodeAt(r);if(10===t)return this.lastIndex=r+1,!0;if(13===t)return 10===e.charCodeAt(r+1)?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};function ff(e,t){if(cj(e,"LINE_BREAKS"))return!1;if(cQ(e.PATTERN)){try{pV(t,e.PATTERN)}catch(e){return{issue:eY.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(cF(e.PATTERN))return!1;if(fu(e))return{issue:eY.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function fd(e,t){if(t.issue===eY.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
38
38
  The problem is in the <${e.name}> Token Type
39
39
  Root cause: ${t.errMsg}.
40
40
  For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===eY.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
41
41
  The problem is in the <${e.name}> Token Type
42
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function fm(e){return c_(e,e=>cF(e)?e.charCodeAt(0):e)}function fh(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}tL(ff,"checkLineBreaksIssues"),tL(fd,"buildLineBreakIssueMessage"),tL(fm,"getCharCodes"),tL(fh,"addToMapOfArrays");var fy=256,fg=[];function fT(e){return e<fy?e:fg[e]}function fv(){if(cV(fg)){fg=Array(65536);for(let e=0;e<65536;e++)fg[e]=e>255?255+~~(e/255):e}}function f$(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function fR(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}tL(fT,"charCodeToOptimizedIndex"),tL(fv,"initCharCodeToOptimizedIndexMap"),tL(f$,"tokenStructuredMatcher"),tL(fR,"tokenStructuredMatcherNoCategories");var fE=1,fb={};function fA(e){let t=fC(e);fS(t),fx(t),fk(t),c$(t,e=>{e.isParent=e.categoryMatches.length>0})}function fC(e){let t=uI(e),r=e,n=!0;for(;n;){let e=ch(r=u_(lx(c_(r,e=>e.CATEGORIES))),t);t=t.concat(e),cV(e)?n=!1:r=e}return t}function fS(e){c$(e,e=>{fw(e)||(fb[fE]=e,e.tokenTypeIdx=fE++),fI(e)&&!sy(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),fI(e)||(e.CATEGORIES=[]),f_(e)||(e.categoryMatches=[]),fP(e)||(e.categoryMatchesMap={})})}function fk(e){c$(e,e=>{e.categoryMatches=[],c$(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(fb[r].tokenTypeIdx)})})}function fx(e){c$(e,e=>{fN([],e)})}function fN(e,t){c$(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),c$(t.CATEGORIES,r=>{let n=e.concat(t);cq(n,r)||fN(n,r)})}function fw(e){return cj(e,"tokenTypeIdx")}function fI(e){return cj(e,"CATEGORIES")}function f_(e){return cj(e,"categoryMatches")}function fP(e){return cj(e,"categoryMatchesMap")}function fO(e){return cj(e,"tokenTypeIdx")}tL(fA,"augmentTokenTypes"),tL(fC,"expandCategories"),tL(fS,"assignTokenDefaultProps"),tL(fk,"assignCategoriesTokensProp"),tL(fx,"assignCategoriesMapProp"),tL(fN,"singleAssignCategoriesToksMap"),tL(fw,"hasShortKeyProperty"),tL(fI,"hasCategoriesProperty"),tL(f_,"hasExtendingTokensTypesProperty"),tL(fP,"hasExtendingTokensTypesMapProperty"),tL(fO,"isTokenType");var fD={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i,a)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};(o=eY||(eY={}))[o.MISSING_PATTERN=0]="MISSING_PATTERN",o[o.INVALID_PATTERN=1]="INVALID_PATTERN",o[o.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",o[o.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",o[o.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",o[o.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",o[o.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",o[o.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",o[o.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",o[o.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",o[o.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",o[o.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",o[o.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",o[o.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",o[o.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",o[o.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",o[o.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",o[o.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";var fL={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:fD,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(fL);var fM=class{static{tL(this,"Lexer")}constructor(e,t=fL){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=pr(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=oU({},fL,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===fL.lineTerminatorsPattern)this.config.lineTerminatorsPattern=fp;else if(this.config.lineTerminatorCharacters===fL.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),sy(e)?r={modes:{defaultMode:uI(e)},defaultMode:pY}:(n=!1,r=uI(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(fs(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(fo(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes?r.modes:{},c$(r.modes,(e,t)=>{r.modes[t]=c9(e,e=>cZ(e))});let i=oK(r.modes);if(c$(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(pX(e,i))}),cV(this.lexerDefinitionErrors)){let n;fA(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=pZ(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=oU({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!cV(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+c_(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));c$(this.lexerDefinitionWarning,e=>{pt(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(n&&(this.handleModes=sZ),!1===this.trackStartLines&&(this.computeNewColumn=s_),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=sZ),/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 e=c3(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!cV(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.
42
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function fm(e){return c_(e,e=>cF(e)?e.charCodeAt(0):e)}function fh(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}tL(ff,"checkLineBreaksIssues"),tL(fd,"buildLineBreakIssueMessage"),tL(fm,"getCharCodes"),tL(fh,"addToMapOfArrays");var fy=256,fg=[];function fT(e){return e<fy?e:fg[e]}function fv(){if(cV(fg)){fg=Array(65536);for(let e=0;e<65536;e++)fg[e]=e>255?255+~~(e/255):e}}function f$(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function fR(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}tL(fT,"charCodeToOptimizedIndex"),tL(fv,"initCharCodeToOptimizedIndexMap"),tL(f$,"tokenStructuredMatcher"),tL(fR,"tokenStructuredMatcherNoCategories");var fE=1,fb={};function fA(e){let t=fC(e);fS(t),fx(t),fk(t),c$(t,e=>{e.isParent=e.categoryMatches.length>0})}function fC(e){let t=uI(e),r=e,n=!0;for(;n;){let e=ch(r=u_(lx(c_(r,e=>e.CATEGORIES))),t);t=t.concat(e),cV(e)?n=!1:r=e}return t}function fS(e){c$(e,e=>{fw(e)||(fb[fE]=e,e.tokenTypeIdx=fE++),fI(e)&&!sy(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),fI(e)||(e.CATEGORIES=[]),f_(e)||(e.categoryMatches=[]),fP(e)||(e.categoryMatchesMap={})})}function fk(e){c$(e,e=>{e.categoryMatches=[],c$(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(fb[r].tokenTypeIdx)})})}function fx(e){c$(e,e=>{fN([],e)})}function fN(e,t){c$(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),c$(t.CATEGORIES,r=>{let n=e.concat(t);cq(n,r)||fN(n,r)})}function fw(e){return cj(e,"tokenTypeIdx")}function fI(e){return cj(e,"CATEGORIES")}function f_(e){return cj(e,"categoryMatches")}function fP(e){return cj(e,"categoryMatchesMap")}function fO(e){return cj(e,"tokenTypeIdx")}tL(fA,"augmentTokenTypes"),tL(fC,"expandCategories"),tL(fS,"assignTokenDefaultProps"),tL(fk,"assignCategoriesTokensProp"),tL(fx,"assignCategoriesMapProp"),tL(fN,"singleAssignCategoriesToksMap"),tL(fw,"hasShortKeyProperty"),tL(fI,"hasCategoriesProperty"),tL(f_,"hasExtendingTokensTypesProperty"),tL(fP,"hasExtendingTokensTypesMapProperty"),tL(fO,"isTokenType");var fD={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i,a)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};(o=eY||(eY={}))[o.MISSING_PATTERN=0]="MISSING_PATTERN",o[o.INVALID_PATTERN=1]="INVALID_PATTERN",o[o.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",o[o.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",o[o.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",o[o.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",o[o.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",o[o.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",o[o.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",o[o.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",o[o.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",o[o.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",o[o.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",o[o.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",o[o.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",o[o.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",o[o.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",o[o.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";var fL={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:fD,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(fL);var fM=class{static{tL(this,"Lexer")}constructor(e,t=fL){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=pr(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=oU({},fL,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===fL.lineTerminatorsPattern)this.config.lineTerminatorsPattern=fp;else if(this.config.lineTerminatorCharacters===fL.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),sy(e)?r={modes:{defaultMode:uI(e)},defaultMode:pY}:(n=!1,r=uI(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(fs(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(fo(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes?r.modes:{},c$(r.modes,(e,t)=>{r.modes[t]=c4(e,e=>cZ(e))});let i=oK(r.modes);if(c$(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(pX(e,i))}),cV(this.lexerDefinitionErrors)){let n;fA(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=pZ(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=oU({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!cV(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+c_(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));c$(this.lexerDefinitionWarning,e=>{pt(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(n&&(this.handleModes=sZ),!1===this.trackStartLines&&(this.computeNewColumn=s_),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=sZ),/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 e=c3(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!cV(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.
43
43
  Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
44
44
  Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{pM()}),this.TRACE_INIT("toFastProperties",()=>{pn(this)})})}tokenize(e,t=this.defaultMode){if(!cV(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+c_(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T=e.length,v=0,$=0,R=Array(this.hasCustom?0:Math.floor(e.length/10)),E=[],b=this.trackStartLines?1:void 0,A=this.trackStartLines?1:void 0,C=fl(this.emptyGroups),S=this.trackStartLines,k=this.config.lineTerminatorsPattern,x=0,N=[],w=[],I=[],_=[];Object.freeze(_);let P=!1,O=tL(e=>{if(1===I.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);E.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{I.pop();let e=cy(I);N=this.patternIdxToConfig[e],w=this.charCodeToPatternIdxToConfig[e],x=N.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;P=!!w&&!!t}},"pop_mode");function D(e){I.push(e),w=this.charCodeToPatternIdxToConfig[e],x=(N=this.patternIdxToConfig[e]).length,x=N.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;P=!!w&&!!t}tL(D,"push_mode"),D.call(this,t);let L=this.config.recoveryEnabled;for(;v<T;){let t;o=null,c=-1;let M=e.charCodeAt(v);if(P){let e=w[fT(M)];t=void 0!==e?e:_}else t=N;let j=t.length;for(r=0;r<j;r++){let n=(g=t[r]).pattern;l=null;let p=g.short;if(!1!==p?M===p&&(c=1,o=n):!0===g.isCustom?null!==(y=n.exec(e,v,R,C))?(c=(o=y[0]).length,void 0!==y.payload&&(l=y.payload)):o=null:(n.lastIndex=v,c=this.matchLength(n,e,v)),-1!==c){if(void 0!==(s=g.longerAlt)){o=e.substring(v,v+c);let t=s.length;for(i=0;i<t;i++){let t=N[s[i]],r=t.pattern;if(u=null,!0===t.isCustom?null!==(y=r.exec(e,v,R,C))?(a=y[0],void 0!==y.payload&&(u=y.payload)):a=null:(r.lastIndex=v,a=this.match(r,e,v)),a&&a.length>o.length){o=a,c=a.length,l=u,g=t;break}}}break}}if(-1!==c){if(void 0!==(p=g.group)&&(o=null!==o?o:e.substring(v,v+c),f=g.tokenTypeIdx,d=this.createTokenInstance(o,v,f,g.tokenType,b,A,c),this.handlePayload(d,l),!1===p?$=this.addToken(R,$,d):C[p].push(d)),!0===S&&!0===g.canLineTerminator){let t,r,n=0;k.lastIndex=0;do o=null!==o?o:e.substring(v,v+c),!0===(t=k.test(o))&&(r=k.lastIndex-1,n++);while(!0===t)0!==n?(b+=n,A=c-r,this.updateTokenEndLineColumnLocation(d,p,r,n,b,A,c)):A=this.computeNewColumn(A,c)}else A=this.computeNewColumn(A,c);v+=c,this.handleModes(g,O,D,d)}else{let t=v,r=b,i=A,a=!1===L;for(;!1===a&&v<T;)for(v++,n=0;n<x;n++){let t=N[n],r=t.pattern,i=t.short;if(!1!==i?e.charCodeAt(v)===i&&(a=!0):!0===t.isCustom?a=null!==r.exec(e,v,R,C):(r.lastIndex=v,a=null!==r.exec(e)),!0===a)break}if(m=v-t,A=this.computeNewColumn(A,m),h=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(e,t,m,r,i,cy(I)),E.push({offset:t,line:r,column:i,length:m,message:h}),!1===L)break}}return this.hasCustom||(R.length=$),{tokens:R,groups:C,errors:E}}handleModes(e,t,r,n){if(!0===e.pop){let i=e.push;t(n),void 0!==i&&r.call(this,i)}else void 0!==e.push&&r.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,r,n,i,a,s){let o,l;void 0!==t&&(l=(o=r===s-1)?-1:0,(1!==n||!0!==o)&&(e.endLine=i+l,e.endColumn=a-1+-l))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,i,a,s){return{image:e,startOffset:t,endOffset:t+s-1,startLine:i,endLine:i,startColumn:a,endColumn:a+s-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}match(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null}matchLength(e,t,r){return!0===e.test(t)?e.lastIndex-r:-1}};function fj(e){return fF(e)?e.LABEL:e.name}function fF(e){return cF(e.LABEL)&&""!==e.LABEL}fM.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.",fM.NA=/NOT_APPLICABLE/,tL(fj,"tokenLabel"),tL(fF,"hasTokenLabel");var fG="categories",fz="label",fK="group",fq="push_mode",fU="pop_mode",fB="longer_alt",fW="line_breaks",fV="start_chars_hint";function fH(e){return fY(e)}function fY(e){let t=e.pattern,r={};if(r.name=e.name,cZ(t)||(r.PATTERN=t),cj(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return cj(e,fG)&&(r.CATEGORIES=e[fG]),fA([r]),cj(e,fz)&&(r.LABEL=e[fz]),cj(e,fK)&&(r.GROUP=e[fK]),cj(e,fU)&&(r.POP_MODE=e[fU]),cj(e,fq)&&(r.PUSH_MODE=e[fq]),cj(e,fB)&&(r.LONGER_ALT=e[fB]),cj(e,fW)&&(r.LINE_BREAKS=e[fW]),cj(e,fV)&&(r.START_CHARS_HINT=e[fV]),r}tL(fH,"createToken"),tL(fY,"createTokenInternal");var fQ=fH({name:"EOF",pattern:fM.NA});function fZ(e,t,r,n,i,a,s,o){return{image:t,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function fX(e,t){return f$(e,t)}fA([fQ]),tL(fZ,"createTokenInstance"),tL(fX,"tokenMatcher");var fJ={buildMismatchTokenMessage({expected:e,actual:t,previous:r,ruleName:n}){let i=fF(e)?`--> ${fj(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${i} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",s="\nbut found: '"+cw(t).image+"'";if(n)return a+n+s;{let t=c_(c3(e,(e,t)=>e.concat(t),[]),e=>`[${c_(e,e=>fj(e)).join(", ")}]`),r=c_(t,(e,t)=>` ${t+1}. ${e}`);return a+`one of these possible Token sequences:
45
45
  ${r.join("\n")}`+s}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let i="Expecting: ",a="\nbut found: '"+cw(t).image+"'";if(r)return i+r+a;{let t=c_(e,e=>`[${c_(e,e=>fj(e)).join(",")}]`);return i+`expecting at least one iteration which starts with one of these possible Token sequences::
@@ -68,15 +68,15 @@ rule: <${t}> can be invoked from itself (directly or indirectly)
68
68
  without consuming any Tokens. The grammar path that causes this is:
69
69
  ${n}
70
70
  To fix this refactor your grammar to remove the left recursion.
71
- see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof pl?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function f2(e,t){let r=new f3(e,t);return r.resolveRefs(),r.errors}tL(f2,"resolveGrammar");var f3=class extends pv{static{tL(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){c$(cz(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:eX.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},f9=class extends pA{static{tL(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=uI(this.path.ruleStack).reverse(),this.occurrenceStack=uI(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){cV(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},f4=class extends f9{static{tL(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new pu({definition:t.concat(r)});this.possibleTokTypes=pS(e),this.found=!0}}},f5=class extends pA{static{tL(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},f6=class extends f5{static{tL(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){let e=cw(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof py&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}},f8=class extends f5{static{tL(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){let e=cw(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof py&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}},f7=class extends f5{static{tL(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let e=cw(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof py&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}},de=class extends f5{static{tL(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let e=cw(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof py&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}};function dt(e,t,r=[]){r=uI(r);let n=[],i=0;function a(t){return t.concat(cg(e,i+1))}function s(e){let i=dt(a(e),t,r);return n.concat(i)}for(tL(a,"remainingPathWith"),tL(s,"getAlternativesForProd");r.length<t&&i<e.length;){let t=e[i];if(t instanceof pu)return s(t.definition);if(t instanceof po)return s(t.definition);if(t instanceof pc)n=s(t.definition);else if(t instanceof pp)return s(t.definition.concat([new pd({definition:t.definition})]));else if(t instanceof pf)return s([new pu({definition:t.definition}),new pd({definition:[new py({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof pm)n=s(t.definition.concat([new pd({definition:[new py({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof pd)n=s(t.definition.concat([new pd({definition:t.definition})]));else if(t instanceof ph)return c$(t.definition,e=>{!1===cV(e.definition)&&(n=s(e.definition))}),n;else if(t instanceof py)r.push(t.terminalType);else throw Error("non exhaustive match");i++}return n.push({partialPath:r,suffixDef:cg(e,i)}),n}function dr(e,t,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],p=[];for(p.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!cV(p);){let e=p.pop();if(e===s){o&&cy(p).idx<=u&&p.pop();continue}let n=e.def,f=e.idx,d=e.ruleStack,m=e.occurrenceStack;if(cV(n))continue;let h=n[0];if(h===i){let e={idx:f,def:cg(n),ruleStack:cT(d),occurrenceStack:cT(m)};p.push(e)}else if(h instanceof py)if(f<l-1){let e=f+1;if(r(t[e],h.terminalType)){let t={idx:e,def:cg(n),ruleStack:d,occurrenceStack:m};p.push(t)}}else if(f===l-1)c.push({nextTokenType:h.terminalType,nextTokenOccurrence:h.idx,ruleStack:d,occurrenceStack:m}),o=!0;else throw Error("non exhaustive match");else if(h instanceof po){let e=uI(d);e.push(h.nonTerminalName);let t=uI(m);t.push(h.idx);let r={idx:f,def:h.definition.concat(a,cg(n)),ruleStack:e,occurrenceStack:t};p.push(r)}else if(h instanceof pc){let e={idx:f,def:cg(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t={idx:f,def:h.definition.concat(cg(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pp){let e=new pd({definition:h.definition,idx:h.idx}),t={idx:f,def:h.definition.concat([e],cg(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pf){let e=new pd({definition:[new py({terminalType:h.separator})].concat(h.definition),idx:h.idx}),t={idx:f,def:h.definition.concat([e],cg(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pm){let e={idx:f,def:cg(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t=new pd({definition:[new py({terminalType:h.separator})].concat(h.definition),idx:h.idx}),r={idx:f,def:h.definition.concat([t],cg(n)),ruleStack:d,occurrenceStack:m};p.push(r)}else if(h instanceof pd){let e={idx:f,def:cg(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t=new pd({definition:h.definition,idx:h.idx}),r={idx:f,def:h.definition.concat([t],cg(n)),ruleStack:d,occurrenceStack:m};p.push(r)}else if(h instanceof ph)for(let e=h.definition.length-1;e>=0;e--){let t={idx:f,def:h.definition[e].definition.concat(cg(n)),ruleStack:d,occurrenceStack:m};p.push(t),p.push(s)}else if(h instanceof pu)p.push({idx:f,def:h.definition.concat(cg(n)),ruleStack:d,occurrenceStack:m});else if(h instanceof pl)p.push(dn(h,f,d,m));else throw Error("non exhaustive match")}return c}function dn(e,t,r,n){let i=uI(r);i.push(e.name);let a=uI(n);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}function di(e){if(e instanceof pc||"Option"===e)return eQ.OPTION;if(e instanceof pd||"Repetition"===e)return eQ.REPETITION;if(e instanceof pp||"RepetitionMandatory"===e)return eQ.REPETITION_MANDATORY;if(e instanceof pf||"RepetitionMandatoryWithSeparator"===e)return eQ.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof pm||"RepetitionWithSeparator"===e)return eQ.REPETITION_WITH_SEPARATOR;else if(e instanceof ph||"Alternation"===e)return eQ.ALTERNATION;else throw Error("non exhaustive match")}function da(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,a=di(n);return a===eQ.ALTERNATION?dg(t,r,i):dT(t,r,a,i)}function ds(e,t,r,n,i,a){let s=dg(e,t,r),o=dR(s)?fR:f$;return a(s,n,o,i)}function dl(e,t,r,n,i,a){let s=dT(e,t,i,r),o=dR(s)?fR:f$;return a(s[0],o,n)}function du(e,t,r,n){let i=e.length,a=cb(e,e=>cb(e,e=>1===e.length));if(t)return function(t){let n=c_(t,e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],a=i.length,s=n[t];if(void 0===s||!1!==s.call(this))r:for(let e=0;e<a;e++){let n=i[e],a=n.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),n[e]))continue r;return t}}};if(!a||n)return function(){for(let t=0;t<i;t++){let n=e[t],i=n.length;r:for(let e=0;e<i;e++){let i=n[e],a=i.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),i[e]))continue r;return t}}};{let t=c3(c_(e,e=>lx(e)),(e,t,r)=>(c$(t,t=>{cj(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),c$(t.categoryMatches,t=>{cj(e,t)||(e[t]=r)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}}function dc(e,t,r){let n=cb(e,e=>1===e.length),i=e.length;if(!n||r)return function(){r:for(let r=0;r<i;r++){let n=e[r],i=n.length;for(let e=0;e<i;e++)if(!1===t(this.LA(e+1),n[e]))continue r;return!0}return!1};{let t=lx(e);if(1===t.length&&cV(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=c3(t,(e,t,r)=>(e[t.tokenTypeIdx]=!0,c$(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}tL(dt,"possiblePathsFrom"),tL(dr,"nextPossibleTokensAfter"),tL(dn,"expandTopLevelRule"),(l=eQ||(eQ={}))[l.OPTION=0]="OPTION",l[l.REPETITION=1]="REPETITION",l[l.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",l[l.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",l[l.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",l[l.ALTERNATION=5]="ALTERNATION",tL(di,"getProdType"),tL(da,"getLookaheadPaths"),tL(ds,"buildLookaheadFuncForOr"),tL(dl,"buildLookaheadFuncForOptionalProd"),tL(du,"buildAlternativesLookAheadFunc"),tL(dc,"buildSingleAlternativeLookaheadFunction");var dp=class extends pA{static{tL(this,"RestDefinitionFinderWalker")}constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,eQ.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,eQ.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,eQ.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,eQ.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},df=class extends pv{static{tL(this,"InsideDefinitionFinderVisitor")}constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,eQ.OPTION)}visitRepetition(e){this.checkIsTarget(e,eQ.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,eQ.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,eQ.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,eQ.ALTERNATION)}};function dd(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function dm(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],i=[];for(let e=0;e<t.length;e++){let r=t[e];i.push(r+"_"+n.tokenTypeIdx);for(let e=0;e<n.categoryMatches.length;e++){let t="_"+n.categoryMatches[e];i.push(r+t)}}t=i}return t}function dh(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let i=e[n];for(let e=0;e<t.length;e++)if(!0===i[t[e]])return!1}return!0}function dy(e,t){let r=c_(e,e=>dt([e],1)),n=dd(r.length),i=c_(r,e=>{let t={};return c$(e,e=>{c$(dm(e.partialPath),e=>{t[e]=!0})}),t}),a=r;for(let e=1;e<=t;e++){let r=a;a=dd(r.length);for(let s=0;s<r.length;s++){let o=r[s];for(let r=0;r<o.length;r++){let l=o[r].partialPath,u=o[r].suffixDef,c=dm(l);if(dh(i,c,s)||cV(u)||l.length===t){let e=n[s];if(!1===dv(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];i[s][t]=!0}}}else{let t=dt(u,e+1,l);a[s]=a[s].concat(t),c$(t,e=>{c$(dm(e.partialPath),e=>{i[s][e]=!0})})}}}}return n}function dg(e,t,r,n){let i=new df(e,eQ.ALTERNATION,n);return t.accept(i),dy(i.result,r)}function dT(e,t,r,n){let i=new df(e,r);t.accept(i);let a=i.result,s=new dp(t,e,r).startWalking();return dy([new pu({definition:a}),new pu({definition:s})],n)}function dv(e,t){n:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let e=0;e<n.length;e++){let r=t[e],i=n[e];if(!1==(r===i||void 0!==i.categoryMatchesMap[r.tokenTypeIdx]))continue n}return!0}}return!1}function d$(e,t){return e.length<t.length&&cb(e,(e,r)=>{let n=t[r];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]})}function dR(e){return cb(e,e=>cb(e,e=>cb(e,e=>cV(e.categoryMatches))))}function dE(e){return c_(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:eX.CUSTOM_LOOKAHEAD_VALIDATION},e))}function db(e,t,r,n){let i=cP(e,e=>dA(e,r)),a=dG(e,t,r),s=cP(e,e=>dL(e,r)),o=cP(e,t=>dx(t,e,n,r));return i.concat(a,s,o)}function dA(e,t){let r=new dk;return e.accept(r),c_(cz(c1(cD(r.allProductions,dC),e=>e.length>1)),r=>{let n=cw(r),i=t.buildDuplicateFoundError(e,r),a=pb(n),s={message:i,type:eX.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:n.idx},o=dS(n);return o&&(s.parameter=o),s})}function dC(e){return`${pb(e)}_#_${e.idx}_#_${dS(e)}`}function dS(e){return e instanceof py?e.terminalType.name:e instanceof po?e.nonTerminalName:""}tL(dd,"initializeArrayOfArrays"),tL(dm,"pathToHashKeys"),tL(dh,"isUniquePrefixHash"),tL(dy,"lookAheadSequenceFromAlternatives"),tL(dg,"getLookaheadPathsForOr"),tL(dT,"getLookaheadPathsForOptionalProd"),tL(dv,"containsPath"),tL(d$,"isStrictPrefixOfPath"),tL(dR,"areTokenCategoriesNotUsed"),tL(dE,"validateLookahead"),tL(db,"validateGrammar"),tL(dA,"validateDuplicateProductions"),tL(dC,"identifyProductionForDuplicates"),tL(dS,"getExtraProductionArgument");var dk=class extends pv{static{tL(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function dx(e,t,r,n){let i=[];if(c3(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:eX.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}function dN(e,t,r){let n=[];return cq(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:eX.INVALID_RULE_OVERRIDE,ruleName:e}),n}function dw(e,t,r,n=[]){let i=[],a=dI(t.definition);if(cV(a))return[];{let t=e.name;cq(a,e)&&i.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:eX.LEFT_RECURSION,ruleName:t});let s=cP(ch(a,n.concat([e])),t=>{let i=uI(n);return i.push(t),dw(e,t,r,i)});return i.concat(s)}}function dI(e){let t=[];if(cV(e))return t;let r=cw(e);if(r instanceof po)t.push(r.referencedRule);else if(r instanceof pu||r instanceof pc||r instanceof pp||r instanceof pf||r instanceof pm||r instanceof pd)t=t.concat(dI(r.definition));else if(r instanceof ph)t=lx(c_(r.definition,e=>dI(e.definition)));else if(r instanceof py);else throw Error("non exhaustive match");let n=pR(r),i=e.length>1;if(!n||!i)return t;{let r=cg(e);return t.concat(dI(r))}}tL(dx,"validateRuleDoesNotAlreadyExist"),tL(dN,"validateRuleIsOverridden"),tL(dw,"validateNoLeftRecursion"),tL(dI,"getFirstNoneTerminal");var d_=class extends pv{static{tL(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function dP(e,t){let r=new d_;return e.accept(r),cP(r.alternations,r=>cP(cT(r.definition),(n,i)=>cV(dr([n],[],f$,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:eX.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[]))}function dO(e,t,r){let n=new d_;e.accept(n);let i=n.alternations;return cP(i=c9(i,e=>!0===e.ignoreAmbiguities),n=>{let i=dg(n.idx,e,n.maxLookahead||t,n),a=dj(i,n,e,r),s=dF(i,n,e,r);return a.concat(s)})}tL(dP,"validateEmptyOrAlternative"),tL(dO,"validateAmbiguousAlternationAlternatives");var dD=class extends pv{static{tL(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function dL(e,t){let r=new d_;return e.accept(r),cP(r.alternations,r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:eX.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])}function dM(e,t,r){let n=[];return c$(e,e=>{let i=new dD;e.accept(i),c$(i.allProductions,i=>{let a=di(i),s=i.maxLookahead||t;if(cV(lx(dT(i.idx,e,a,s)[0]))){let t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:t,type:eX.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}function dj(e,t,r,n){let i=[];return c_(c3(e,(r,n,a)=>(!0===t.definition[a].ignoreAmbiguities||c$(n,n=>{let s=[a];c$(e,(e,r)=>{a!==r&&dv(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),s.length>1&&!dv(i,n)&&(i.push(n),r.push({alts:s,path:n}))}),r),[]),e=>{let i=c_(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eX.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}function dF(e,t,r,n){let i=c3(e,(e,t,r)=>{let n=c_(t,e=>({idx:r,path:e}));return e.concat(n)},[]);return u_(cP(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let a=e.idx,s=e.path;return c_(cC(i,e=>!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<a&&d$(e.path,s)),e=>{let i=[e.idx+1,a+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eX.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:i}})}))}function dG(e,t,r){let n=[],i=c_(t,e=>e.name);return c$(e,e=>{let t=e.name;if(cq(i,t)){let i=r.buildNamespaceConflictError(e);n.push({message:i,type:eX.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}function dz(e){let t=cp(e,{errMsgProvider:f0}),r={};return c$(e.rules,e=>{r[e.name]=e}),f2(r,t.errMsgProvider)}function dK(e){return db((e=cp(e,{errMsgProvider:f1})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}tL(dL,"validateTooManyAlts"),tL(dM,"validateSomeNonEmptyLookaheadPath"),tL(dj,"checkAlternativesAmbiguities"),tL(dF,"checkPrefixAlternativesAmbiguities"),tL(dG,"checkTerminalAndNoneTerminalsNameSpace"),tL(dz,"resolveGrammar"),tL(dK,"validateGrammar");var dq="MismatchedTokenException",dU="NoViableAltException",dB="EarlyExitException",dW="NotAllInputParsedException",dV=[dq,dU,dB,dW];function dH(e){return cq(dV,e.name)}Object.freeze(dV),tL(dH,"isRecognitionException");var dY=class extends Error{static{tL(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},dQ=class extends dY{static{tL(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dq}},dZ=class extends dY{static{tL(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dU}},dX=class extends dY{static{tL(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=dW}},dJ=class extends dY{static{tL(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dB}},d0={},d1="InRuleRecoveryException",d2=class extends Error{static{tL(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=d1}},d3=class{static{tL(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=cj(e,"recoveryEnabled")?e.recoveryEnabled:mx.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=d9)}getTokenToInsert(e){let t=fZ(e,"",0/0,0/0,0/0,0/0,0/0,0/0);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[],o=!1,l=this.LA(1),u=this.LA(1),c=tL(()=>{let e=this.LA(0),t=new dQ(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=cT(s),this.SAVE_ERROR(t)},"generateErrorMessage");for(;!o;)if(this.tokenMatcher(u,n))return void c();else if(r.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new d2("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||cV(t))return!1;let r=this.LA(1);return void 0!==cN(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return cq(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=cN(e,e=>fX(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return d0;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return c_(e,(r,n)=>0===n?d0:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){return lx(c_(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===d0)return[fQ];let t=e.ruleName+e.idxInCallingRule+pw+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,fQ)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return cT(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:uI(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return c_(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function d9(e,t,r,n,i,a,s){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,p=l.isEndOfRule;1===this.RULE_STACK.length&&p&&void 0===u&&(u=fQ,c=1),void 0!==u&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(u,c,s)&&this.tryInRepetitionRecovery(e,t,r,u)}tL(d9,"attemptInRepetitionRecovery");function d4(e,t,r){return r|t|e}tL(d4,"getKeyForAutomaticLookahead");var d5=class{static{tL(this,"LLkLookaheadStrategy")}constructor(e){var t;this.maxLookahead=null!=(t=null==e?void 0:e.maxLookahead)?t:mx.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return cV(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return cP(e,e=>dw(e,e,f1))}validateEmptyOrAlternatives(e){return cP(e,e=>dP(e,f1))}validateAmbiguousAlternationAlternatives(e,t){return cP(e,e=>dO(e,t,f1))}validateSomeNonEmptyLookaheadPath(e,t){return dM(e,t,f1)}buildLookaheadForAlternation(e){return ds(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,du)}buildLookaheadForOptional(e){return dl(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,di(e.prodType),dc)}},d6=class{static{tL(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=cj(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:mx.dynamicTokensEnabled,this.maxLookahead=cj(e,"maxLookahead")?e.maxLookahead:mx.maxLookahead,this.lookaheadStrategy=cj(e,"lookaheadStrategy")?e.lookaheadStrategy:new d5({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){c$(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:s}=d7(e);c$(t,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${pb(t)}${r}`,()=>{let r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=d4(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(n,r)})}),c$(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,pb(t))}),c$(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,pb(t))}),c$(i,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,pb(t))}),c$(a,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,pb(t))}),c$(s,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,pb(t))})})})}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=d4(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(s,a)})}getKeyForAutomaticLookahead(e,t){return d4(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},d8=new class extends pv{static{tL(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function d7(e){d8.reset(),e.accept(d8);let t=d8.dslMethods;return d8.reset(),t}function me(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function mt(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function mr(e,t,r){void 0===e.children[r]?e.children[r]=[t]:e.children[r].push(t)}function mn(e,t,r){void 0===e.children[t]?e.children[t]=[r]:e.children[t].push(r)}function mi(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function ma(e,t){let r=oK(e),n=r.length;for(let i=0;i<n;i++){let n=e[r[i]],a=n.length;for(let e=0;e<a;e++){let r=n[e];void 0===r.tokenTypeIdx&&this[r.name](r.children,t)}}}function ms(e,t){let r=tL(function(){},"derivedConstructor");return mi(r,e+"BaseSemantics"),r.prototype={visit:tL(function(e,t){if(sy(e)&&(e=e[0]),!cZ(e))return this[e.name](e.children,t)},"visit"),validateVisitor:tL(function(){let e=ml(this,t);if(!cV(e)){let t=c_(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
72
- ${t.join("\n\n").replace(/\n/g,"\n ")}`)}},"validateVisitor")},r.prototype.constructor=r,r._RULE_NAMES=t,r}function mo(e,t,r){let n=tL(function(){},"derivedConstructor");mi(n,e+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return c$(t,e=>{i[e]=ma}),n.prototype=i,n.prototype.constructor=n,n}function ml(e,t){return mu(e,t)}function mu(e,t){return u_(c_(cC(t,t=>!1===sP(e[t])),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:eZ.MISSING_METHOD,methodName:t})))}tL(d7,"collectMethods"),tL(me,"setNodeLocationOnlyOffset"),tL(mt,"setNodeLocationFull"),tL(mr,"addTerminalToCst"),tL(mn,"addNoneTerminalToCst"),tL(mi,"defineNameProp"),tL(ma,"defaultVisit"),tL(ms,"createBaseSemanticVisitorConstructor"),tL(mo,"createBaseVisitorConstructorWithDefaults"),(u=eZ||(eZ={}))[u.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",u[u.MISSING_METHOD=1]="MISSING_METHOD",tL(ml,"validateVisitor"),tL(mu,"validateMissingCstMethods");var mc=class{static{tL(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=cj(e,"nodeLocationTracking")?e.nodeLocationTracking:mx.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=mt,this.setNodeLocationFromNode=mt,this.cstPostRule=sZ,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=sZ,this.setNodeLocationFromNode=sZ,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=me,this.setNodeLocationFromNode=me,this.cstPostRule=sZ,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=sZ,this.setNodeLocationFromNode=sZ,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=sZ,this.setNodeLocationFromNode=sZ,this.cstPostRule=sZ,this.setInitialNodeLocation=sZ;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=sZ,this.cstFinallyStateUpdate=sZ,this.cstPostTerminal=sZ,this.cstPostNonTerminal=sZ,this.cstPostRule=sZ}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:0/0,endOffset:0/0}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:0/0}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:0/0,startLine:0/0,startColumn:0/0,endOffset:0/0,endLine:0/0,endColumn:0/0}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:0/0,endLine:0/0,endColumn:0/0}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=0/0,r.startLine=0/0,r.startColumn=0/0)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=0/0}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];mr(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];mn(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(cZ(this.baseCstVisitorConstructor)){let e=ms(this.className,oK(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(cZ(this.baseCstVisitorWithDefaultsConstructor)){let e=mo(this.className,oK(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},mp=class{static{tL(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):mk}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?mk:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},mf=class{static{tL(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=mN){if(cq(this.definedRulesNames,e)){let t={message:f1.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:eX.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=mN){let n=dN(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(e,t,r);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(dH(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return pg(cz(this.gastProductionsCache))}},md=class{static{tL(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=fR,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},cj(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if(sy(e)){if(cV(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if(sy(e))this.tokensMap=c3(e,(e,t)=>(e[t.name]=t,e),{});else if(cj(e,"modes")&&cb(lx(cz(e.modes)),fO)){let t=c7(lx(cz(e.modes)));this.tokensMap=c3(t,(e,t)=>(e[t.name]=t,e),{})}else if(sA(e))this.tokensMap=uI(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=fQ;let r=cb(cj(e,"modes")?lx(cz(e.modes)):cz(e),e=>cV(e.categoryMatches));this.tokenMatcher=r?fR:f$,fA(cz(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
73
- Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=cj(r,"resyncEnabled")?r.resyncEnabled:mN.resyncEnabled,i=cj(r,"recoveryValueFunc")?r.recoveryValueFunc:mN.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?tL(function(...r){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):tL(function(...r){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(dH(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=tL(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tL(()=>e.call(this)&&t.call(this),"lookAheadFunc")}}else n=t;if(!0===i.call(this)){let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}else throw this.raiseEarlyExitException(e,eQ.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,f7)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tL(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,de],t,1536,e,de)}else throw this.raiseEarlyExitException(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tL(()=>e.call(this)&&t.call(this),"lookaheadFunction")}}else n=t;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,f6,a)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tL(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,f8],t,1280,e,f8)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=sy(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new dX(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw dH(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n,i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new dQ(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){if(e.name===d1)throw r;throw e}}throw r}saveRecogState(){let e=this.errors,t=uI(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),fQ)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},mm=class{static{tL(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=cj(e,"errorMessageProvider")?e.errorMessageProvider:mx.errorMessageProvider}SAVE_ERROR(e){if(dH(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:uI(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return uI(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=dT(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new dJ(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=dg(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new dZ(s,this.LA(1),a))}},mh=class{static{tL(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(cZ(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return dr([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=cw(e.ruleStack);return new f4(this.getGAstProductions()[t],e).startWalking()}},my={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(my);var mg=fH({name:"RECORDING_PHASE_TOKEN",pattern:fM.NA});fA([mg]);var mT=fZ(mg,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(mT);var mv={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}},m$=class{static{tL(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return mk}topLevelRuleRecord(e,t){try{let r=new pl({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return mR.call(this,pc,e,t)}atLeastOneInternalRecord(e,t){mR.call(this,pp,t,e)}atLeastOneSepFirstInternalRecord(e,t){mR.call(this,pf,t,e,!0)}manyInternalRecord(e,t){mR.call(this,pd,t,e)}manySepFirstInternalRecord(e,t){mR.call(this,pm,t,e,!0)}orInternalRecord(e,t){return mE.call(this,e,t)}subruleInternalRecord(e,t,r){if(mA(t),!e||!1===cj(e,"ruleName")){let r=Error(`<SUBRULE${mb(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
71
+ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof pl?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function f2(e,t){let r=new f3(e,t);return r.resolveRefs(),r.errors}tL(f2,"resolveGrammar");var f3=class extends pv{static{tL(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){c$(cz(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:eX.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},f4=class extends pA{static{tL(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=uI(this.path.ruleStack).reverse(),this.occurrenceStack=uI(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){cV(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},f9=class extends f4{static{tL(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new pu({definition:t.concat(r)});this.possibleTokTypes=pS(e),this.found=!0}}},f5=class extends pA{static{tL(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},f6=class extends f5{static{tL(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){let e=cw(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof py&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}},f7=class extends f5{static{tL(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){let e=cw(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof py&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}},f8=class extends f5{static{tL(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let e=cw(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof py&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}},de=class extends f5{static{tL(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let e=cw(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof py&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}};function dt(e,t,r=[]){r=uI(r);let n=[],i=0;function a(t){return t.concat(cg(e,i+1))}function s(e){let i=dt(a(e),t,r);return n.concat(i)}for(tL(a,"remainingPathWith"),tL(s,"getAlternativesForProd");r.length<t&&i<e.length;){let t=e[i];if(t instanceof pu)return s(t.definition);if(t instanceof po)return s(t.definition);if(t instanceof pc)n=s(t.definition);else if(t instanceof pp)return s(t.definition.concat([new pd({definition:t.definition})]));else if(t instanceof pf)return s([new pu({definition:t.definition}),new pd({definition:[new py({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof pm)n=s(t.definition.concat([new pd({definition:[new py({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof pd)n=s(t.definition.concat([new pd({definition:t.definition})]));else if(t instanceof ph)return c$(t.definition,e=>{!1===cV(e.definition)&&(n=s(e.definition))}),n;else if(t instanceof py)r.push(t.terminalType);else throw Error("non exhaustive match");i++}return n.push({partialPath:r,suffixDef:cg(e,i)}),n}function dr(e,t,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],p=[];for(p.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!cV(p);){let e=p.pop();if(e===s){o&&cy(p).idx<=u&&p.pop();continue}let n=e.def,f=e.idx,d=e.ruleStack,m=e.occurrenceStack;if(cV(n))continue;let h=n[0];if(h===i){let e={idx:f,def:cg(n),ruleStack:cT(d),occurrenceStack:cT(m)};p.push(e)}else if(h instanceof py)if(f<l-1){let e=f+1;if(r(t[e],h.terminalType)){let t={idx:e,def:cg(n),ruleStack:d,occurrenceStack:m};p.push(t)}}else if(f===l-1)c.push({nextTokenType:h.terminalType,nextTokenOccurrence:h.idx,ruleStack:d,occurrenceStack:m}),o=!0;else throw Error("non exhaustive match");else if(h instanceof po){let e=uI(d);e.push(h.nonTerminalName);let t=uI(m);t.push(h.idx);let r={idx:f,def:h.definition.concat(a,cg(n)),ruleStack:e,occurrenceStack:t};p.push(r)}else if(h instanceof pc){let e={idx:f,def:cg(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t={idx:f,def:h.definition.concat(cg(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pp){let e=new pd({definition:h.definition,idx:h.idx}),t={idx:f,def:h.definition.concat([e],cg(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pf){let e=new pd({definition:[new py({terminalType:h.separator})].concat(h.definition),idx:h.idx}),t={idx:f,def:h.definition.concat([e],cg(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pm){let e={idx:f,def:cg(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t=new pd({definition:[new py({terminalType:h.separator})].concat(h.definition),idx:h.idx}),r={idx:f,def:h.definition.concat([t],cg(n)),ruleStack:d,occurrenceStack:m};p.push(r)}else if(h instanceof pd){let e={idx:f,def:cg(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t=new pd({definition:h.definition,idx:h.idx}),r={idx:f,def:h.definition.concat([t],cg(n)),ruleStack:d,occurrenceStack:m};p.push(r)}else if(h instanceof ph)for(let e=h.definition.length-1;e>=0;e--){let t={idx:f,def:h.definition[e].definition.concat(cg(n)),ruleStack:d,occurrenceStack:m};p.push(t),p.push(s)}else if(h instanceof pu)p.push({idx:f,def:h.definition.concat(cg(n)),ruleStack:d,occurrenceStack:m});else if(h instanceof pl)p.push(dn(h,f,d,m));else throw Error("non exhaustive match")}return c}function dn(e,t,r,n){let i=uI(r);i.push(e.name);let a=uI(n);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}function di(e){if(e instanceof pc||"Option"===e)return eQ.OPTION;if(e instanceof pd||"Repetition"===e)return eQ.REPETITION;if(e instanceof pp||"RepetitionMandatory"===e)return eQ.REPETITION_MANDATORY;if(e instanceof pf||"RepetitionMandatoryWithSeparator"===e)return eQ.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof pm||"RepetitionWithSeparator"===e)return eQ.REPETITION_WITH_SEPARATOR;else if(e instanceof ph||"Alternation"===e)return eQ.ALTERNATION;else throw Error("non exhaustive match")}function da(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,a=di(n);return a===eQ.ALTERNATION?dg(t,r,i):dT(t,r,a,i)}function ds(e,t,r,n,i,a){let s=dg(e,t,r),o=dR(s)?fR:f$;return a(s,n,o,i)}function dl(e,t,r,n,i,a){let s=dT(e,t,i,r),o=dR(s)?fR:f$;return a(s[0],o,n)}function du(e,t,r,n){let i=e.length,a=cb(e,e=>cb(e,e=>1===e.length));if(t)return function(t){let n=c_(t,e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],a=i.length,s=n[t];if(void 0===s||!1!==s.call(this))r:for(let e=0;e<a;e++){let n=i[e],a=n.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),n[e]))continue r;return t}}};if(!a||n)return function(){for(let t=0;t<i;t++){let n=e[t],i=n.length;r:for(let e=0;e<i;e++){let i=n[e],a=i.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),i[e]))continue r;return t}}};{let t=c3(c_(e,e=>lx(e)),(e,t,r)=>(c$(t,t=>{cj(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),c$(t.categoryMatches,t=>{cj(e,t)||(e[t]=r)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}}function dc(e,t,r){let n=cb(e,e=>1===e.length),i=e.length;if(!n||r)return function(){r:for(let r=0;r<i;r++){let n=e[r],i=n.length;for(let e=0;e<i;e++)if(!1===t(this.LA(e+1),n[e]))continue r;return!0}return!1};{let t=lx(e);if(1===t.length&&cV(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=c3(t,(e,t,r)=>(e[t.tokenTypeIdx]=!0,c$(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}tL(dt,"possiblePathsFrom"),tL(dr,"nextPossibleTokensAfter"),tL(dn,"expandTopLevelRule"),(l=eQ||(eQ={}))[l.OPTION=0]="OPTION",l[l.REPETITION=1]="REPETITION",l[l.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",l[l.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",l[l.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",l[l.ALTERNATION=5]="ALTERNATION",tL(di,"getProdType"),tL(da,"getLookaheadPaths"),tL(ds,"buildLookaheadFuncForOr"),tL(dl,"buildLookaheadFuncForOptionalProd"),tL(du,"buildAlternativesLookAheadFunc"),tL(dc,"buildSingleAlternativeLookaheadFunction");var dp=class extends pA{static{tL(this,"RestDefinitionFinderWalker")}constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,eQ.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,eQ.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,eQ.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,eQ.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},df=class extends pv{static{tL(this,"InsideDefinitionFinderVisitor")}constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,eQ.OPTION)}visitRepetition(e){this.checkIsTarget(e,eQ.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,eQ.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,eQ.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,eQ.ALTERNATION)}};function dd(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function dm(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],i=[];for(let e=0;e<t.length;e++){let r=t[e];i.push(r+"_"+n.tokenTypeIdx);for(let e=0;e<n.categoryMatches.length;e++){let t="_"+n.categoryMatches[e];i.push(r+t)}}t=i}return t}function dh(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let i=e[n];for(let e=0;e<t.length;e++)if(!0===i[t[e]])return!1}return!0}function dy(e,t){let r=c_(e,e=>dt([e],1)),n=dd(r.length),i=c_(r,e=>{let t={};return c$(e,e=>{c$(dm(e.partialPath),e=>{t[e]=!0})}),t}),a=r;for(let e=1;e<=t;e++){let r=a;a=dd(r.length);for(let s=0;s<r.length;s++){let o=r[s];for(let r=0;r<o.length;r++){let l=o[r].partialPath,u=o[r].suffixDef,c=dm(l);if(dh(i,c,s)||cV(u)||l.length===t){let e=n[s];if(!1===dv(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];i[s][t]=!0}}}else{let t=dt(u,e+1,l);a[s]=a[s].concat(t),c$(t,e=>{c$(dm(e.partialPath),e=>{i[s][e]=!0})})}}}}return n}function dg(e,t,r,n){let i=new df(e,eQ.ALTERNATION,n);return t.accept(i),dy(i.result,r)}function dT(e,t,r,n){let i=new df(e,r);t.accept(i);let a=i.result,s=new dp(t,e,r).startWalking();return dy([new pu({definition:a}),new pu({definition:s})],n)}function dv(e,t){n:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let e=0;e<n.length;e++){let r=t[e],i=n[e];if(!1==(r===i||void 0!==i.categoryMatchesMap[r.tokenTypeIdx]))continue n}return!0}}return!1}function d$(e,t){return e.length<t.length&&cb(e,(e,r)=>{let n=t[r];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]})}function dR(e){return cb(e,e=>cb(e,e=>cb(e,e=>cV(e.categoryMatches))))}function dE(e){return c_(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:eX.CUSTOM_LOOKAHEAD_VALIDATION},e))}function db(e,t,r,n){let i=cP(e,e=>dA(e,r)),a=dG(e,t,r),s=cP(e,e=>dL(e,r)),o=cP(e,t=>dx(t,e,n,r));return i.concat(a,s,o)}function dA(e,t){let r=new dk;return e.accept(r),c_(cz(c1(cD(r.allProductions,dC),e=>e.length>1)),r=>{let n=cw(r),i=t.buildDuplicateFoundError(e,r),a=pb(n),s={message:i,type:eX.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:n.idx},o=dS(n);return o&&(s.parameter=o),s})}function dC(e){return`${pb(e)}_#_${e.idx}_#_${dS(e)}`}function dS(e){return e instanceof py?e.terminalType.name:e instanceof po?e.nonTerminalName:""}tL(dd,"initializeArrayOfArrays"),tL(dm,"pathToHashKeys"),tL(dh,"isUniquePrefixHash"),tL(dy,"lookAheadSequenceFromAlternatives"),tL(dg,"getLookaheadPathsForOr"),tL(dT,"getLookaheadPathsForOptionalProd"),tL(dv,"containsPath"),tL(d$,"isStrictPrefixOfPath"),tL(dR,"areTokenCategoriesNotUsed"),tL(dE,"validateLookahead"),tL(db,"validateGrammar"),tL(dA,"validateDuplicateProductions"),tL(dC,"identifyProductionForDuplicates"),tL(dS,"getExtraProductionArgument");var dk=class extends pv{static{tL(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function dx(e,t,r,n){let i=[];if(c3(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:eX.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}function dN(e,t,r){let n=[];return cq(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:eX.INVALID_RULE_OVERRIDE,ruleName:e}),n}function dw(e,t,r,n=[]){let i=[],a=dI(t.definition);if(cV(a))return[];{let t=e.name;cq(a,e)&&i.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:eX.LEFT_RECURSION,ruleName:t});let s=cP(ch(a,n.concat([e])),t=>{let i=uI(n);return i.push(t),dw(e,t,r,i)});return i.concat(s)}}function dI(e){let t=[];if(cV(e))return t;let r=cw(e);if(r instanceof po)t.push(r.referencedRule);else if(r instanceof pu||r instanceof pc||r instanceof pp||r instanceof pf||r instanceof pm||r instanceof pd)t=t.concat(dI(r.definition));else if(r instanceof ph)t=lx(c_(r.definition,e=>dI(e.definition)));else if(r instanceof py);else throw Error("non exhaustive match");let n=pR(r),i=e.length>1;if(!n||!i)return t;{let r=cg(e);return t.concat(dI(r))}}tL(dx,"validateRuleDoesNotAlreadyExist"),tL(dN,"validateRuleIsOverridden"),tL(dw,"validateNoLeftRecursion"),tL(dI,"getFirstNoneTerminal");var d_=class extends pv{static{tL(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function dP(e,t){let r=new d_;return e.accept(r),cP(r.alternations,r=>cP(cT(r.definition),(n,i)=>cV(dr([n],[],f$,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:eX.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[]))}function dO(e,t,r){let n=new d_;e.accept(n);let i=n.alternations;return cP(i=c4(i,e=>!0===e.ignoreAmbiguities),n=>{let i=dg(n.idx,e,n.maxLookahead||t,n),a=dj(i,n,e,r),s=dF(i,n,e,r);return a.concat(s)})}tL(dP,"validateEmptyOrAlternative"),tL(dO,"validateAmbiguousAlternationAlternatives");var dD=class extends pv{static{tL(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function dL(e,t){let r=new d_;return e.accept(r),cP(r.alternations,r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:eX.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])}function dM(e,t,r){let n=[];return c$(e,e=>{let i=new dD;e.accept(i),c$(i.allProductions,i=>{let a=di(i),s=i.maxLookahead||t;if(cV(lx(dT(i.idx,e,a,s)[0]))){let t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:t,type:eX.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}function dj(e,t,r,n){let i=[];return c_(c3(e,(r,n,a)=>(!0===t.definition[a].ignoreAmbiguities||c$(n,n=>{let s=[a];c$(e,(e,r)=>{a!==r&&dv(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),s.length>1&&!dv(i,n)&&(i.push(n),r.push({alts:s,path:n}))}),r),[]),e=>{let i=c_(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eX.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}function dF(e,t,r,n){let i=c3(e,(e,t,r)=>{let n=c_(t,e=>({idx:r,path:e}));return e.concat(n)},[]);return u_(cP(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let a=e.idx,s=e.path;return c_(cC(i,e=>!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<a&&d$(e.path,s)),e=>{let i=[e.idx+1,a+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eX.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:i}})}))}function dG(e,t,r){let n=[],i=c_(t,e=>e.name);return c$(e,e=>{let t=e.name;if(cq(i,t)){let i=r.buildNamespaceConflictError(e);n.push({message:i,type:eX.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}function dz(e){let t=cp(e,{errMsgProvider:f0}),r={};return c$(e.rules,e=>{r[e.name]=e}),f2(r,t.errMsgProvider)}function dK(e){return db((e=cp(e,{errMsgProvider:f1})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}tL(dL,"validateTooManyAlts"),tL(dM,"validateSomeNonEmptyLookaheadPath"),tL(dj,"checkAlternativesAmbiguities"),tL(dF,"checkPrefixAlternativesAmbiguities"),tL(dG,"checkTerminalAndNoneTerminalsNameSpace"),tL(dz,"resolveGrammar"),tL(dK,"validateGrammar");var dq="MismatchedTokenException",dU="NoViableAltException",dB="EarlyExitException",dW="NotAllInputParsedException",dV=[dq,dU,dB,dW];function dH(e){return cq(dV,e.name)}Object.freeze(dV),tL(dH,"isRecognitionException");var dY=class extends Error{static{tL(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},dQ=class extends dY{static{tL(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dq}},dZ=class extends dY{static{tL(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dU}},dX=class extends dY{static{tL(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=dW}},dJ=class extends dY{static{tL(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dB}},d0={},d1="InRuleRecoveryException",d2=class extends Error{static{tL(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=d1}},d3=class{static{tL(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=cj(e,"recoveryEnabled")?e.recoveryEnabled:mx.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=d4)}getTokenToInsert(e){let t=fZ(e,"",0/0,0/0,0/0,0/0,0/0,0/0);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[],o=!1,l=this.LA(1),u=this.LA(1),c=tL(()=>{let e=this.LA(0),t=new dQ(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=cT(s),this.SAVE_ERROR(t)},"generateErrorMessage");for(;!o;)if(this.tokenMatcher(u,n))return void c();else if(r.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new d2("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||cV(t))return!1;let r=this.LA(1);return void 0!==cN(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return cq(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=cN(e,e=>fX(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return d0;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return c_(e,(r,n)=>0===n?d0:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){return lx(c_(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===d0)return[fQ];let t=e.ruleName+e.idxInCallingRule+pw+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,fQ)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return cT(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:uI(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return c_(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function d4(e,t,r,n,i,a,s){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,p=l.isEndOfRule;1===this.RULE_STACK.length&&p&&void 0===u&&(u=fQ,c=1),void 0!==u&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(u,c,s)&&this.tryInRepetitionRecovery(e,t,r,u)}tL(d4,"attemptInRepetitionRecovery");function d9(e,t,r){return r|t|e}tL(d9,"getKeyForAutomaticLookahead");var d5=class{static{tL(this,"LLkLookaheadStrategy")}constructor(e){var t;this.maxLookahead=null!=(t=null==e?void 0:e.maxLookahead)?t:mx.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return cV(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return cP(e,e=>dw(e,e,f1))}validateEmptyOrAlternatives(e){return cP(e,e=>dP(e,f1))}validateAmbiguousAlternationAlternatives(e,t){return cP(e,e=>dO(e,t,f1))}validateSomeNonEmptyLookaheadPath(e,t){return dM(e,t,f1)}buildLookaheadForAlternation(e){return ds(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,du)}buildLookaheadForOptional(e){return dl(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,di(e.prodType),dc)}},d6=class{static{tL(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=cj(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:mx.dynamicTokensEnabled,this.maxLookahead=cj(e,"maxLookahead")?e.maxLookahead:mx.maxLookahead,this.lookaheadStrategy=cj(e,"lookaheadStrategy")?e.lookaheadStrategy:new d5({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){c$(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:s}=d8(e);c$(t,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${pb(t)}${r}`,()=>{let r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=d9(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(n,r)})}),c$(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,pb(t))}),c$(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,pb(t))}),c$(i,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,pb(t))}),c$(a,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,pb(t))}),c$(s,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,pb(t))})})})}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=d9(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(s,a)})}getKeyForAutomaticLookahead(e,t){return d9(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},d7=new class extends pv{static{tL(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function d8(e){d7.reset(),e.accept(d7);let t=d7.dslMethods;return d7.reset(),t}function me(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function mt(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function mr(e,t,r){void 0===e.children[r]?e.children[r]=[t]:e.children[r].push(t)}function mn(e,t,r){void 0===e.children[t]?e.children[t]=[r]:e.children[t].push(r)}function mi(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function ma(e,t){let r=oK(e),n=r.length;for(let i=0;i<n;i++){let n=e[r[i]],a=n.length;for(let e=0;e<a;e++){let r=n[e];void 0===r.tokenTypeIdx&&this[r.name](r.children,t)}}}function ms(e,t){let r=tL(function(){},"derivedConstructor");return mi(r,e+"BaseSemantics"),r.prototype={visit:tL(function(e,t){if(sy(e)&&(e=e[0]),!cZ(e))return this[e.name](e.children,t)},"visit"),validateVisitor:tL(function(){let e=ml(this,t);if(!cV(e)){let t=c_(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
72
+ ${t.join("\n\n").replace(/\n/g,"\n ")}`)}},"validateVisitor")},r.prototype.constructor=r,r._RULE_NAMES=t,r}function mo(e,t,r){let n=tL(function(){},"derivedConstructor");mi(n,e+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return c$(t,e=>{i[e]=ma}),n.prototype=i,n.prototype.constructor=n,n}function ml(e,t){return mu(e,t)}function mu(e,t){return u_(c_(cC(t,t=>!1===sP(e[t])),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:eZ.MISSING_METHOD,methodName:t})))}tL(d8,"collectMethods"),tL(me,"setNodeLocationOnlyOffset"),tL(mt,"setNodeLocationFull"),tL(mr,"addTerminalToCst"),tL(mn,"addNoneTerminalToCst"),tL(mi,"defineNameProp"),tL(ma,"defaultVisit"),tL(ms,"createBaseSemanticVisitorConstructor"),tL(mo,"createBaseVisitorConstructorWithDefaults"),(u=eZ||(eZ={}))[u.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",u[u.MISSING_METHOD=1]="MISSING_METHOD",tL(ml,"validateVisitor"),tL(mu,"validateMissingCstMethods");var mc=class{static{tL(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=cj(e,"nodeLocationTracking")?e.nodeLocationTracking:mx.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=mt,this.setNodeLocationFromNode=mt,this.cstPostRule=sZ,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=sZ,this.setNodeLocationFromNode=sZ,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=me,this.setNodeLocationFromNode=me,this.cstPostRule=sZ,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=sZ,this.setNodeLocationFromNode=sZ,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=sZ,this.setNodeLocationFromNode=sZ,this.cstPostRule=sZ,this.setInitialNodeLocation=sZ;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=sZ,this.cstFinallyStateUpdate=sZ,this.cstPostTerminal=sZ,this.cstPostNonTerminal=sZ,this.cstPostRule=sZ}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:0/0,endOffset:0/0}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:0/0}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:0/0,startLine:0/0,startColumn:0/0,endOffset:0/0,endLine:0/0,endColumn:0/0}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:0/0,endLine:0/0,endColumn:0/0}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=0/0,r.startLine=0/0,r.startColumn=0/0)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=0/0}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];mr(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];mn(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(cZ(this.baseCstVisitorConstructor)){let e=ms(this.className,oK(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(cZ(this.baseCstVisitorWithDefaultsConstructor)){let e=mo(this.className,oK(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},mp=class{static{tL(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):mk}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?mk:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},mf=class{static{tL(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=mN){if(cq(this.definedRulesNames,e)){let t={message:f1.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:eX.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=mN){let n=dN(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(e,t,r);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(dH(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return pg(cz(this.gastProductionsCache))}},md=class{static{tL(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=fR,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},cj(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if(sy(e)){if(cV(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if(sy(e))this.tokensMap=c3(e,(e,t)=>(e[t.name]=t,e),{});else if(cj(e,"modes")&&cb(lx(cz(e.modes)),fO)){let t=c8(lx(cz(e.modes)));this.tokensMap=c3(t,(e,t)=>(e[t.name]=t,e),{})}else if(sA(e))this.tokensMap=uI(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=fQ;let r=cb(cj(e,"modes")?lx(cz(e.modes)):cz(e),e=>cV(e.categoryMatches));this.tokenMatcher=r?fR:f$,fA(cz(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
73
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=cj(r,"resyncEnabled")?r.resyncEnabled:mN.resyncEnabled,i=cj(r,"recoveryValueFunc")?r.recoveryValueFunc:mN.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?tL(function(...r){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):tL(function(...r){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(dH(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=tL(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tL(()=>e.call(this)&&t.call(this),"lookAheadFunc")}}else n=t;if(!0===i.call(this)){let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}else throw this.raiseEarlyExitException(e,eQ.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,f8)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tL(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,de],t,1536,e,de)}else throw this.raiseEarlyExitException(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tL(()=>e.call(this)&&t.call(this),"lookaheadFunction")}}else n=t;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,f6,a)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tL(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,f7],t,1280,e,f7)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=sy(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new dX(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw dH(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n,i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new dQ(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){if(e.name===d1)throw r;throw e}}throw r}saveRecogState(){let e=this.errors,t=uI(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),fQ)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},mm=class{static{tL(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=cj(e,"errorMessageProvider")?e.errorMessageProvider:mx.errorMessageProvider}SAVE_ERROR(e){if(dH(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:uI(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return uI(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=dT(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new dJ(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=dg(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new dZ(s,this.LA(1),a))}},mh=class{static{tL(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(cZ(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return dr([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=cw(e.ruleStack);return new f9(this.getGAstProductions()[t],e).startWalking()}},my={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(my);var mg=fH({name:"RECORDING_PHASE_TOKEN",pattern:fM.NA});fA([mg]);var mT=fZ(mg,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(mT);var mv={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}},m$=class{static{tL(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return mk}topLevelRuleRecord(e,t){try{let r=new pl({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return mR.call(this,pc,e,t)}atLeastOneInternalRecord(e,t){mR.call(this,pp,t,e)}atLeastOneSepFirstInternalRecord(e,t){mR.call(this,pf,t,e,!0)}manyInternalRecord(e,t){mR.call(this,pd,t,e)}manySepFirstInternalRecord(e,t){mR.call(this,pm,t,e,!0)}orInternalRecord(e,t){return mE.call(this,e,t)}subruleInternalRecord(e,t,r){if(mA(t),!e||!1===cj(e,"ruleName")){let r=Error(`<SUBRULE${mb(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
74
74
  inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=cy(this.recordingProdStack),i=new po({idx:t,nonTerminalName:e.ruleName,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?mv:my}consumeInternalRecord(e,t,r){if(mA(t),!fw(e)){let r=Error(`<CONSUME${mb(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
75
75
  inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=cy(this.recordingProdStack),i=new py({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(i),mT}};function mR(e,t,r,n=!1){mA(r);let i=cy(this.recordingProdStack),a=sP(t)?t:t.DEF,s=new e({definition:[],idx:r});return n&&(s.separator=t.SEP),cj(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),my}function mE(e,t){mA(t);let r=cy(this.recordingProdStack),n=!1===sy(e),i=!1===n?e:e.DEF,a=new ph({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});return cj(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=c5(i,e=>sP(e.GATE)),r.definition.push(a),c$(i,e=>{let t=new pu({definition:[]});a.definition.push(t),cj(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:cj(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),my}function mb(e){return 0===e?"":`${e}`}function mA(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}>
76
76
  Idx value must be a none negative value smaller than ${256}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}tL(mR,"recordProd"),tL(mE,"recordOrProd"),tL(mb,"getIdxSuffix"),tL(mA,"assertMethodIdxIsValid");var mC=class{static{tL(this,"PerformanceTracer")}initPerformanceTracer(e){if(cj(e,"traceInitPerf")){let t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=mx.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=pr(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}}};function mS(e,t){t.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{if("constructor"===n)return;let i=Object.getOwnPropertyDescriptor(r,n);i&&(i.get||i.set)?Object.defineProperty(e.prototype,n,i):e.prototype[n]=t.prototype[n]})})}tL(mS,"applyMixins");var mk=fZ(fQ,"",0/0,0/0,0/0,0/0,0/0,0/0);Object.freeze(mk);var mx=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:fJ,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),mN=Object.freeze({recoveryValueFunc:tL(()=>void 0,"recoveryValueFunc"),resyncEnabled:!0});function mw(e){return function(){return e}}(c=eX||(eX={}))[c.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",c[c.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",c[c.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",c[c.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",c[c.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",c[c.LEFT_RECURSION=5]="LEFT_RECURSION",c[c.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",c[c.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",c[c.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",c[c.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",c[c.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",c[c.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",c[c.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",c[c.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",tL(mw,"EMPTY_ALT");var mI=class e{static{tL(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let t;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{pn(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),c$(this.definedRulesNames,e=>{let t,r=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=dz({rules:cz(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(cV(n)&&!1===this.skipValidations){let e=dK({rules:cz(this.gastProductionsCache),tokenTypes:cz(this.tokensMap),errMsgProvider:f1,grammarName:r}),t=dE({lookaheadStrategy:this.lookaheadStrategy,rules:cz(this.gastProductionsCache),tokenTypes:cz(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(e,t)}}),cV(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let e=p_(cz(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null==(t=(e=this.lookaheadStrategy).initialize)||t.call(e,{rules:cz(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(cz(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!cV(this.definitionErrors))throw t=c_(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected:
77
- ${t.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),cj(t,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=cj(t,"skipValidations")?t.skipValidations:mx.skipValidations}};mI.DEFER_DEFINITION_ERRORS_HANDLING=!1,mS(mI,[d3,d6,mc,mp,md,mf,mm,mh,m$,mC]);var m_=class extends mI{static{tL(this,"EmbeddedActionsParser")}constructor(e,t=mx){let r=uI(t);r.outputCst=!1,super(e,r)}};function mP(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function mO(){this.__data__=[],this.size=0}function mD(e,t){return e===t||e!=e&&t!=t}function mL(e,t){for(var r=e.length;r--;)if(mD(e[r][0],t))return r;return -1}tL(mP,"arrayMap"),tL(mO,"listCacheClear"),tL(mD,"eq"),tL(mL,"assocIndexOf");var mM=Array.prototype.splice;function mj(e){var t=this.__data__,r=mL(t,e);return!(r<0)&&(r==t.length-1?t.pop():mM.call(t,r,1),--this.size,!0)}function mF(e){var t=this.__data__,r=mL(t,e);return r<0?void 0:t[r][1]}function mG(e){return mL(this.__data__,e)>-1}function mz(e,t){var r=this.__data__,n=mL(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function mK(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function mq(){this.__data__=new mK,this.size=0}function mU(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function mB(e){return this.__data__.get(e)}function mW(e){return this.__data__.has(e)}tL(mj,"listCacheDelete"),tL(mF,"listCacheGet"),tL(mG,"listCacheHas"),tL(mz,"listCacheSet"),tL(mK,"ListCache"),mK.prototype.clear=mO,mK.prototype.delete=mj,mK.prototype.get=mF,mK.prototype.has=mG,mK.prototype.set=mz,tL(mq,"stackClear"),tL(mU,"stackDelete"),tL(mB,"stackGet"),tL(mW,"stackHas");var mV="object"==typeof global&&global&&global.Object===Object&&global,mH="object"==typeof self&&self&&self.Object===Object&&self,mY=mV||mH||Function("return this")(),mQ=mY.Symbol,mZ=Object.prototype,mX=mZ.hasOwnProperty,mJ=mZ.toString,m0=mQ?mQ.toStringTag:void 0;function m1(e){var t=mX.call(e,m0),r=e[m0];try{e[m0]=void 0;var n=!0}catch(e){}var i=mJ.call(e);return n&&(t?e[m0]=r:delete e[m0]),i}tL(m1,"getRawTag");var m2=Object.prototype.toString;function m3(e){return m2.call(e)}tL(m3,"objectToString");var m9=mQ?mQ.toStringTag:void 0;function m4(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":m9&&m9 in Object(e)?m1(e):m3(e)}function m5(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function m6(e){if(!m5(e))return!1;var t=m4(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}tL(m4,"baseGetTag"),tL(m5,"isObject"),tL(m6,"isFunction");var m8=mY["__core-js_shared__"],m7=(p=/[^.]+$/.exec(m8&&m8.keys&&m8.keys.IE_PROTO||""))?"Symbol(src)_1."+p:"";function he(e){return!!m7&&m7 in e}tL(he,"isMasked");var ht=Function.prototype.toString;function hr(e){if(null!=e){try{return ht.call(e)}catch(e){}try{return e+""}catch(e){}}return""}tL(hr,"toSource");var hn=/^\[object .+?Constructor\]$/,hi=Object.prototype,ha=Function.prototype.toString,hs=hi.hasOwnProperty,ho=RegExp("^"+ha.call(hs).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function hl(e){return!(!m5(e)||he(e))&&(m6(e)?ho:hn).test(hr(e))}function hu(e,t){return null==e?void 0:e[t]}function hc(e,t){var r=hu(e,t);return hl(r)?r:void 0}tL(hl,"baseIsNative"),tL(hu,"getValue"),tL(hc,"getNative");var hp=hc(mY,"Map"),hf=hc(Object,"create");function hd(){this.__data__=hf?hf(null):{},this.size=0}function hm(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}tL(hd,"hashClear"),tL(hm,"hashDelete");var hh=Object.prototype.hasOwnProperty;function hy(e){var t=this.__data__;if(hf){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return hh.call(t,e)?t[e]:void 0}tL(hy,"hashGet");var hg=Object.prototype.hasOwnProperty;function hT(e){var t=this.__data__;return hf?void 0!==t[e]:hg.call(t,e)}function hv(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=hf&&void 0===t?"__lodash_hash_undefined__":t,this}function h$(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function hR(){this.size=0,this.__data__={hash:new h$,map:new(hp||mK),string:new h$}}function hE(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function hb(e,t){var r=e.__data__;return hE(t)?r["string"==typeof t?"string":"hash"]:r.map}function hA(e){var t=hb(this,e).delete(e);return this.size-=!!t,t}function hC(e){return hb(this,e).get(e)}function hS(e){return hb(this,e).has(e)}function hk(e,t){var r=hb(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this}function hx(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function hN(e,t){var r=this.__data__;if(r instanceof mK){var n=r.__data__;if(!hp||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new hx(n)}return r.set(e,t),this.size=r.size,this}function hw(e){var t=this.__data__=new mK(e);this.size=t.size}function hI(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}function h_(e){return this.__data__.has(e)}function hP(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new hx;++t<r;)this.add(e[t])}function hO(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function hD(e,t){return e.has(t)}function hL(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,f=!0,d=2&r?new hP:void 0;for(a.set(e,t),a.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,a):n(m,h,p,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(d){if(!hO(t,function(e,t){if(!hD(d,t)&&(m===e||i(m,e,r,n,a)))return d.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}tL(hT,"hashHas"),tL(hv,"hashSet"),tL(h$,"Hash"),h$.prototype.clear=hd,h$.prototype.delete=hm,h$.prototype.get=hy,h$.prototype.has=hT,h$.prototype.set=hv,tL(hR,"mapCacheClear"),tL(hE,"isKeyable"),tL(hb,"getMapData"),tL(hA,"mapCacheDelete"),tL(hC,"mapCacheGet"),tL(hS,"mapCacheHas"),tL(hk,"mapCacheSet"),tL(hx,"MapCache"),hx.prototype.clear=hR,hx.prototype.delete=hA,hx.prototype.get=hC,hx.prototype.has=hS,hx.prototype.set=hk,tL(hN,"stackSet"),tL(hw,"Stack"),hw.prototype.clear=mq,hw.prototype.delete=mU,hw.prototype.get=mB,hw.prototype.has=mW,hw.prototype.set=hN,tL(hI,"setCacheAdd"),tL(h_,"setCacheHas"),tL(hP,"SetCache"),hP.prototype.add=hP.prototype.push=hI,hP.prototype.has=h_,tL(hO,"arraySome"),tL(hD,"cacheHas"),tL(hL,"equalArrays");var hM=mY.Uint8Array;function hj(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function hF(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}tL(hj,"mapToArray"),tL(hF,"setToArray");var hG=mQ?mQ.prototype:void 0,hz=hG?hG.valueOf:void 0;function hK(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new hM(e),new hM(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return mD(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=hj;case"[object Set]":var l=1&n;if(o||(o=hF),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=hL(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(hz)return hz.call(e)==hz.call(t)}return!1}function hq(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}tL(hK,"equalByTag"),tL(hq,"arrayPush");var hU=Array.isArray;function hB(e,t,r){var n=t(e);return hU(e)?n:hq(n,r(e))}function hW(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function hV(){return[]}tL(hB,"baseGetAllKeys"),tL(hW,"arrayFilter"),tL(hV,"stubArray");var hH=Object.prototype.propertyIsEnumerable,hY=Object.getOwnPropertySymbols,hQ=hY?function(e){return null==e?[]:hW(hY(e=Object(e)),function(t){return hH.call(e,t)})}:hV;function hZ(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function hX(e){return null!=e&&"object"==typeof e}function hJ(e){return hX(e)&&"[object Arguments]"==m4(e)}tL(hZ,"baseTimes"),tL(hX,"isObjectLike"),tL(hJ,"baseIsArguments");var h0=Object.prototype,h1=h0.hasOwnProperty,h2=h0.propertyIsEnumerable,h3=hJ(function(){return arguments}())?hJ:function(e){return hX(e)&&h1.call(e,"callee")&&!h2.call(e,"callee")};function h9(){return!1}tL(h9,"stubFalse");var h4="object"==typeof exports&&exports&&!exports.nodeType&&exports,h5=h4&&"object"==typeof module&&module&&!module.nodeType&&module,h6=h5&&h5.exports===h4?mY.Buffer:void 0,h8=(h6?h6.isBuffer:void 0)||h9,h7=/^(?:0|[1-9]\d*)$/;function ye(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&h7.test(e))&&e>-1&&e%1==0&&e<t}function yt(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}tL(ye,"isIndex"),tL(yt,"isLength");var yr={};function yn(e){return hX(e)&&yt(e.length)&&!!yr[m4(e)]}function yi(e){return function(t){return e(t)}}yr["[object Float32Array]"]=yr["[object Float64Array]"]=yr["[object Int8Array]"]=yr["[object Int16Array]"]=yr["[object Int32Array]"]=yr["[object Uint8Array]"]=yr["[object Uint8ClampedArray]"]=yr["[object Uint16Array]"]=yr["[object Uint32Array]"]=!0,yr["[object Arguments]"]=yr["[object Array]"]=yr["[object ArrayBuffer]"]=yr["[object Boolean]"]=yr["[object DataView]"]=yr["[object Date]"]=yr["[object Error]"]=yr["[object Function]"]=yr["[object Map]"]=yr["[object Number]"]=yr["[object Object]"]=yr["[object RegExp]"]=yr["[object Set]"]=yr["[object String]"]=yr["[object WeakMap]"]=!1,tL(yn,"baseIsTypedArray"),tL(yi,"baseUnary");var ya="object"==typeof exports&&exports&&!exports.nodeType&&exports,ys=ya&&"object"==typeof module&&module&&!module.nodeType&&module,yo=ys&&ys.exports===ya&&mV.process,yl=function(){try{var e=ys&&ys.require&&ys.require("util").types;if(e)return e;return yo&&yo.binding&&yo.binding("util")}catch(e){}}(),yu=yl&&yl.isTypedArray,yc=yu?yi(yu):yn,yp=Object.prototype.hasOwnProperty;function yf(e,t){var r=hU(e),n=!r&&h3(e),i=!r&&!n&&h8(e),a=!r&&!n&&!i&&yc(e),s=r||n||i||a,o=s?hZ(e.length,String):[],l=o.length;for(var u in e)(t||yp.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ye(u,l)))&&o.push(u);return o}tL(yf,"arrayLikeKeys");var yd=Object.prototype;function ym(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||yd)}function yh(e,t){return function(r){return e(t(r))}}tL(ym,"isPrototype"),tL(yh,"overArg");var yy=yh(Object.keys,Object),yg=Object.prototype.hasOwnProperty;function yT(e){if(!ym(e))return yy(e);var t=[];for(var r in Object(e))yg.call(e,r)&&"constructor"!=r&&t.push(r);return t}function yv(e){return null!=e&&yt(e.length)&&!m6(e)}function y$(e){return yv(e)?yf(e):yT(e)}function yR(e){return hB(e,y$,hQ)}tL(yT,"baseKeys"),tL(yv,"isArrayLike"),tL(y$,"keys"),tL(yR,"getAllKeys");var yE=Object.prototype.hasOwnProperty;function yb(e,t,r,n,i,a){var s=1&r,o=yR(e),l=o.length;if(l!=yR(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:yE.call(t,c)))return!1}var p=a.get(e),f=a.get(t);if(p&&f)return p==t&&f==e;var d=!0;a.set(e,t),a.set(t,e);for(var m=s;++u<l;){var h=e[c=o[u]],y=t[c];if(n)var g=s?n(y,h,c,t,e,a):n(h,y,c,e,t,a);if(!(void 0===g?h===y||i(h,y,r,n,a):g)){d=!1;break}m||(m="constructor"==c)}if(d&&!m){var T=e.constructor,v=t.constructor;T!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof T&&T instanceof T&&"function"==typeof v&&v instanceof v)&&(d=!1)}return a.delete(e),a.delete(t),d}tL(yb,"equalObjects");var yA=hc(mY,"DataView"),yC=hc(mY,"Promise"),yS=hc(mY,"Set"),yk=hc(mY,"WeakMap"),yx="[object Map]",yN="[object Promise]",yw="[object Set]",yI="[object WeakMap]",y_="[object DataView]",yP=hr(yA),yO=hr(hp),yD=hr(yC),yL=hr(yS),yM=hr(yk),yj=m4;(yA&&yj(new yA(new ArrayBuffer(1)))!=y_||hp&&yj(new hp)!=yx||yC&&yj(yC.resolve())!=yN||yS&&yj(new yS)!=yw||yk&&yj(new yk)!=yI)&&(yj=tL(function(e){var t=m4(e),r="[object Object]"==t?e.constructor:void 0,n=r?hr(r):"";if(n)switch(n){case yP:return y_;case yO:return yx;case yD:return yN;case yL:return yw;case yM:return yI}return t},"getTag"));var yF=yj,yG="[object Arguments]",yz="[object Array]",yK="[object Object]",yq=Object.prototype.hasOwnProperty;function yU(e,t,r,n,i,a){var s=hU(e),o=hU(t),l=s?yz:yF(e),u=o?yz:yF(t);l=l==yG?yK:l,u=u==yG?yK:u;var c=l==yK,p=u==yK,f=l==u;if(f&&h8(e)){if(!h8(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new hw),s||yc(e)?hL(e,t,r,n,i,a):hK(e,t,l,r,n,i,a);if(!(1&r)){var d=c&&yq.call(e,"__wrapped__"),m=p&&yq.call(t,"__wrapped__");if(d||m){var h=d?e.value():e,y=m?t.value():t;return a||(a=new hw),i(h,y,r,n,a)}}return!!f&&(a||(a=new hw),yb(e,t,r,n,i,a))}function yB(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(hX(e)||hX(t))?yU(e,t,r,n,yB,i):e!=e&&t!=t)}function yW(e,t,r,n){var i=r.length,a=i,s=!n;if(null==e)return!a;for(e=Object(e);i--;){var o=r[i];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){var l=(o=r[i])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new hw;if(n)var f=n(u,c,l,e,t,p);if(!(void 0===f?yB(c,u,3,n,p):f))return!1}}return!0}function yV(e){return e==e&&!m5(e)}function yH(e){for(var t=y$(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,yV(i)]}return t}function yY(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function yQ(e){var t=yH(e);return 1==t.length&&t[0][2]?yY(t[0][0],t[0][1]):function(r){return r===e||yW(r,e,t)}}function yZ(e){return"symbol"==typeof e||hX(e)&&"[object Symbol]"==m4(e)}tL(yU,"baseIsEqualDeep"),tL(yB,"baseIsEqual"),tL(yW,"baseIsMatch"),tL(yV,"isStrictComparable"),tL(yH,"getMatchData"),tL(yY,"matchesStrictComparable"),tL(yQ,"baseMatches"),tL(yZ,"isSymbol");var yX=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yJ=/^\w*$/;function y0(e,t){if(hU(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||yZ(e))||yJ.test(e)||!yX.test(e)||null!=t&&e in Object(t)}function y1(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=tL(function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(y1.Cache||hx),r}function y2(e){var t=y1(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}tL(y0,"isKey"),tL(y1,"memoize"),y1.Cache=hx,tL(y2,"memoizeCapped");var y3=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,y9=/\\(\\)?/g,y4=y2(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(y3,function(e,r,n,i){t.push(n?i.replace(y9,"$1"):r||e)}),t}),y5=mQ?mQ.prototype:void 0,y6=y5?y5.toString:void 0;function y8(e){if("string"==typeof e)return e;if(hU(e))return mP(e,y8)+"";if(yZ(e))return y6?y6.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function y7(e){return null==e?"":y8(e)}function ge(e,t){return hU(e)?e:y0(e,t)?[e]:y4(y7(e))}function gt(e){if("string"==typeof e||yZ(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function gr(e,t){t=ge(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[gt(t[r++])];return r&&r==n?e:void 0}function gn(e,t,r){var n=null==e?void 0:gr(e,t);return void 0===n?r:n}function gi(e,t){return null!=e&&t in Object(e)}function ga(e,t,r){t=ge(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=gt(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&yt(i)&&ye(s,i)&&(hU(e)||h3(e))}function gs(e,t){return null!=e&&ga(e,t,gi)}function go(e,t){return y0(e)&&yV(t)?yY(gt(e),t):function(r){var n=gn(r,e);return void 0===n&&n===t?gs(r,e):yB(t,n,3)}}function gl(e){return e}function gu(e){return function(t){return null==t?void 0:t[e]}}function gc(e){return function(t){return gr(t,e)}}function gp(e){return y0(e)?gu(gt(e)):gc(e)}function gf(e){return"function"==typeof e?e:null==e?gl:"object"==typeof e?hU(e)?go(e[0],e[1]):yQ(e):gp(e)}function gd(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++i];if(!1===r(a[l],l,a))break}return t}}tL(y8,"baseToString"),tL(y7,"toString"),tL(ge,"castPath"),tL(gt,"toKey"),tL(gr,"baseGet"),tL(gn,"get"),tL(gi,"baseHasIn"),tL(ga,"hasPath"),tL(gs,"hasIn"),tL(go,"baseMatchesProperty"),tL(gl,"identity"),tL(gu,"baseProperty"),tL(gc,"basePropertyDeep"),tL(gp,"property"),tL(gf,"baseIteratee"),tL(gd,"createBaseFor");var gm=gd();function gh(e,t){return e&&gm(e,t,y$)}function gy(e,t){return function(r,n){if(null==r)return r;if(!yv(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Object(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}tL(gh,"baseForOwn"),tL(gy,"createBaseEach");var gg=gy(gh);function gT(e,t){var r=-1,n=yv(e)?Array(e.length):[];return gg(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function gv(e,t){return(hU(e)?mP:gT)(e,gf(t))}function g$(e,t){var r=[];return gg(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function gR(e,t){return(hU(e)?hW:g$)(e,gf(t))}function gE(e,t,r){return`${e.name}_${t}_${r}`}tL(gT,"baseMap"),tL(gv,"map"),tL(g$,"baseFilter"),tL(gR,"filter"),tL(gE,"buildATNKey");var gb=class{static{tL(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},gA=class extends gb{static{tL(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},gC=class extends gb{static{tL(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},gS=class extends gb{static{tL(this,"RuleTransition")}constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}};function gk(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};gx(t,e);let r=e.length;for(let n=0;n<r;n++){let r=e[n],i=gL(t,r,r);void 0!==i&&gW(t,r,i)}return t}function gx(e,t){let r=t.length;for(let n=0;n<r;n++){let r=t[n],i=gH(e,r,void 0,{type:2}),a=gH(e,r,void 0,{type:7});i.stop=a,e.ruleToStartState.set(r,i),e.ruleToStopState.set(r,a)}}function gN(e,t,r){if(r instanceof py)return gU(e,t,r.terminalType,r);if(r instanceof po)return gB(e,t,r);if(r instanceof ph)return gO(e,t,r);if(r instanceof pc)return gD(e,t,r);if(r instanceof pd)return gw(e,t,r);else if(r instanceof pm)return gI(e,t,r);else if(r instanceof pp)return g_(e,t,r);else if(r instanceof pf)return gP(e,t,r);else return gL(e,t,r)}function gw(e,t,r){let n=gH(e,t,r,{type:5});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r));return gj(e,t,r,i)}function gI(e,t,r){let n=gH(e,t,r,{type:5});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r)),a=gU(e,t,r.separator,r);return gj(e,t,r,i,a)}function g_(e,t,r){let n=gH(e,t,r,{type:4});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r));return gM(e,t,r,i)}function gP(e,t,r){let n=gH(e,t,r,{type:4});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r)),a=gU(e,t,r.separator,r);return gM(e,t,r,i,a)}function gO(e,t,r){let n=gH(e,t,r,{type:1});gG(e,n);let i=gv(r.definition,r=>gN(e,t,r));return gz(e,t,n,r,...i)}function gD(e,t,r){let n=gH(e,t,r,{type:1});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r));return gF(e,t,r,i)}function gL(e,t,r){let n=gR(gv(r.definition,r=>gN(e,t,r)),e=>void 0!==e);return 1===n.length?n[0]:0===n.length?void 0:gq(e,n)}function gM(e,t,r,n,i){let a=n.left,s=n.right,o=gH(e,t,r,{type:11});gG(e,o);let l=gH(e,t,r,{type:12});return a.loopback=o,l.loopback=o,e.decisionMap[gE(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,gV(s,o),void 0===i?(gV(o,a),gV(o,l)):(gV(o,l),gV(o,i.left),gV(i.right,a)),{left:a,right:l}}function gj(e,t,r,n,i){let a=n.left,s=n.right,o=gH(e,t,r,{type:10});gG(e,o);let l=gH(e,t,r,{type:12}),u=gH(e,t,r,{type:9});return o.loopback=u,l.loopback=u,gV(o,a),gV(o,l),gV(s,u),void 0!==i?(gV(u,l),gV(u,i.left),gV(i.right,a)):gV(u,o),e.decisionMap[gE(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function gF(e,t,r,n){let i=n.left;return gV(i,n.right),e.decisionMap[gE(t,"Option",r.idx)]=i,n}function gG(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function gz(e,t,r,n,...i){let a=gH(e,t,n,{type:8,start:r});for(let e of(r.end=a,i))void 0!==e?(gV(r,e.left),gV(e.right,a)):gV(r,a);return e.decisionMap[gE(t,gK(n),n.idx)]=r,{left:r,right:a}}function gK(e){if(e instanceof ph)return"Alternation";if(e instanceof pc)return"Option";if(e instanceof pd)return"Repetition";if(e instanceof pm)return"RepetitionWithSeparator";if(e instanceof pp)return"RepetitionMandatory";else if(e instanceof pf)return"RepetitionMandatoryWithSeparator";else throw Error("Invalid production type encountered")}function gq(e,t){let r=t.length;for(let n=0;n<r-1;n++){let r,i=t[n];1===i.left.transitions.length&&(r=i.left.transitions[0]);let a=r instanceof gS,s=r,o=t[n+1].left;1===i.left.type&&1===i.right.type&&void 0!==r&&(a&&s.followState===i.right||r.target===i.right)?(a?s.followState=o:r.target=o,gQ(e,i.right)):gV(i.right,o)}let n=t[0],i=t[r-1];return{left:n.left,right:i.right}}function gU(e,t,r,n){let i=gH(e,t,n,{type:1}),a=gH(e,t,n,{type:1});return gY(i,new gA(a,r)),{left:i,right:a}}function gB(e,t,r){let n=r.referencedRule,i=e.ruleToStartState.get(n),a=gH(e,t,r,{type:1}),s=gH(e,t,r,{type:1});return gY(a,new gS(i,n,s)),{left:a,right:s}}function gW(e,t,r){let n=e.ruleToStartState.get(t);gV(n,r.left);let i=e.ruleToStopState.get(t);return gV(r.right,i),{left:n,right:i}}function gV(e,t){gY(e,new gC(t))}function gH(e,t,r,n){let i=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function gY(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function gQ(e,t){e.states.splice(e.states.indexOf(t),1)}tL(gk,"createATN"),tL(gx,"createRuleStartAndStopATNStates"),tL(gN,"atom"),tL(gw,"repetition"),tL(gI,"repetitionSep"),tL(g_,"repetitionMandatory"),tL(gP,"repetitionMandatorySep"),tL(gO,"alternation"),tL(gD,"option"),tL(gL,"block"),tL(gM,"plus"),tL(gj,"star"),tL(gF,"optional"),tL(gG,"defineDecisionState"),tL(gz,"makeAlts"),tL(gK,"getProdType"),tL(gq,"makeBlock"),tL(gU,"tokenRef"),tL(gB,"ruleRef"),tL(gW,"buildRuleHandle"),tL(gV,"epsilon"),tL(gH,"newState"),tL(gY,"addTransition"),tL(gQ,"removeState");var gZ={},gX=class{static{tL(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=gJ(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return gv(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}};function gJ(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}function g0(e,t,r){for(var n=-1,i=e.length;++n<i;){var a=e[n],s=t(a);if(null!=s&&(void 0===o?s==s&&!yZ(s):r(s,o)))var o=s,l=a}return l}function g1(e,t){return e<t}function g2(e){return e&&e.length?g0(e,gl,g1):void 0}tL(gJ,"getATNConfigKey"),tL(g0,"baseExtremum"),tL(g1,"baseLt"),tL(g2,"min");var g3=mQ?mQ.isConcatSpreadable:void 0;function g9(e){return hU(e)||h3(e)||!!(g3&&e&&e[g3])}function g4(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=g9),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?g4(o,t-1,r,n,i):hq(i,o):n||(i[i.length]=o)}return i}function g5(e,t){return g4(gv(e,t),1)}function g6(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return -1}function g8(e){return e!=e}function g7(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}function Te(e,t,r){return t==t?g7(e,t,r):g6(e,g8,r)}function Tt(e,t){return!!(null==e?0:e.length)&&Te(e,t,0)>-1}function Tr(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function Tn(){}tL(g9,"isFlattenable"),tL(g4,"baseFlatten"),tL(g5,"flatMap"),tL(g6,"baseFindIndex"),tL(g8,"baseIsNaN"),tL(g7,"strictIndexOf"),tL(Te,"baseIndexOf"),tL(Tt,"arrayIncludes"),tL(Tr,"arrayIncludesWith"),tL(Tn,"noop");var Ti=yS&&1/hF(new yS([,-0]))[1]==1/0?function(e){return new yS(e)}:Tn;function Ta(e,t,r){var n=-1,i=Tt,a=e.length,s=!0,o=[],l=o;if(r)s=!1,i=Tr;else if(a>=200){var u=t?null:Ti(e);if(u)return hF(u);s=!1,i=hD,l=new hP}else l=t?[]:o;t:for(;++n<a;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;t&&l.push(p),o.push(c)}else i(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}function Ts(e,t){return e&&e.length?Ta(e,gf(t)):[]}function To(e){return(null==e?0:e.length)?g4(e,1):[]}function Tl(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function Tu(e){return"function"==typeof e?e:gl}function Tc(e,t){return(hU(e)?Tl:gg)(e,Tu(t))}tL(Ta,"baseUniq"),tL(Ts,"uniqBy"),tL(To,"flatten"),tL(Tl,"arrayEach"),tL(Tu,"castFunction"),tL(Tc,"forEach");var Tp=Object.prototype.hasOwnProperty;function Tf(e){if(null==e)return!0;if(yv(e)&&(hU(e)||"string"==typeof e||"function"==typeof e.splice||h8(e)||yc(e)||h3(e)))return!e.length;var t=yF(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(ym(e))return!yT(e).length;for(var r in e)if(Tp.call(e,r))return!1;return!0}function Td(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function Tm(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function Th(e,t,r){var n=hU(e)?Td:Tm,i=arguments.length<3;return n(e,gf(t),r,i,gg)}function Ty(e,t){let r={};return n=>{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:e,decision:t,states:{}},r[i]=a),a}}tL(Tf,"isEmpty"),tL(Td,"arrayReduce"),tL(Tm,"baseReduce"),tL(Th,"reduce"),tL(Ty,"createDFACache");var Tg=class{static{tL(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}},TT=new Tg,Tv=class extends d5{static{tL(this,"LLStarLookaheadStrategy")}constructor(e){var t;super(),this.logging=null!=(t=null==e?void 0:e.logging)?t:e=>console.log(e)}initialize(e){this.atn=gk(e.rules),this.dfas=TR(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=gE(r,"Alternation",t),l=this.atn.decisionMap[o].decision,u=gv(da({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>gv(e,e=>e[0]));if(T$(u,!1)&&!i){let e=Th(u,(e,t,r)=>(Tc(t,t=>{t&&(e[t.tokenTypeIdx]=r,Tc(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null==(r=t[n])?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}return n?function(e){let t=new Tg,r=void 0===e?0:e.length;for(let n=0;n<r;n++){let r=null==e?void 0:e[n].GATE;t.set(n,void 0===r||r.call(this))}let n=TE.call(this,a,l,t,s);return"number"==typeof n?n:void 0}:function(){let e=TE.call(this,a,l,TT,s);return"number"==typeof e?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=gE(r,n,t),l=this.atn.decisionMap[o].decision,u=gv(da({maxLookahead:1,occurrence:t,prodType:n,rule:r}),e=>gv(e,e=>e[0]));if(T$(u)&&u[0][0]&&!i){let e=To(u[0]);if(1===e.length&&Tf(e[0].categoryMatches)){let t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{let t=Th(e,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,Tc(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===t[this.LA(1).tokenTypeIdx]}}}return function(){let e=TE.call(this,a,l,TT,s);return"object"!=typeof e&&0===e}}};function T$(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i)if(!t)return!1;else break;for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function TR(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=Ty(e.decisionStates[n],n);return r}function TE(e,t,r,n){let i=e[t](r),a=i.start;if(void 0===a){let e=TL(i.atnStartState);a=TD(i,TP(e)),i.start=a}return Tb.apply(this,[i,a,r,n])}function Tb(e,t,r,n){let i=t,a=1,s=[],o=this.LA(a++);for(;;){let t=TN(i,o);if(void 0===t&&(t=TA.apply(this,[e,i,o,a,r,n])),t===gZ)return Tx(s,i,o);if(!0===t.isAcceptState)return t.prediction;i=t,s.push(o),o=this.LA(a++)}}function TA(e,t,r,n,i,a){let s=Tw(t.configs,r,i);if(0===s.size)return TO(e,t,r,gZ),gZ;let o=TP(s),l=T_(s,i);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(Tz(s)){let t=g2(s.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,TC.apply(this,[e,n,s.alts,a])}return TO(e,t,r,o)}function TC(e,t,r,n){let i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);let a=e.atnStartState;n(TS({topLevelRule:a.rule,ambiguityIndices:r,production:a.production,prefixPath:i}))}function TS(e){let t=gv(e.prefixPath,e=>fj(e)).join(", "),r=0===e.production.idx?"":e.production.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${Tk(e.production)}${r}> inside <${e.topLevelRule.name}> Rule,
77
+ ${t.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),cj(t,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=cj(t,"skipValidations")?t.skipValidations:mx.skipValidations}};mI.DEFER_DEFINITION_ERRORS_HANDLING=!1,mS(mI,[d3,d6,mc,mp,md,mf,mm,mh,m$,mC]);var m_=class extends mI{static{tL(this,"EmbeddedActionsParser")}constructor(e,t=mx){let r=uI(t);r.outputCst=!1,super(e,r)}};function mP(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function mO(){this.__data__=[],this.size=0}function mD(e,t){return e===t||e!=e&&t!=t}function mL(e,t){for(var r=e.length;r--;)if(mD(e[r][0],t))return r;return -1}tL(mP,"arrayMap"),tL(mO,"listCacheClear"),tL(mD,"eq"),tL(mL,"assocIndexOf");var mM=Array.prototype.splice;function mj(e){var t=this.__data__,r=mL(t,e);return!(r<0)&&(r==t.length-1?t.pop():mM.call(t,r,1),--this.size,!0)}function mF(e){var t=this.__data__,r=mL(t,e);return r<0?void 0:t[r][1]}function mG(e){return mL(this.__data__,e)>-1}function mz(e,t){var r=this.__data__,n=mL(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function mK(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function mq(){this.__data__=new mK,this.size=0}function mU(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function mB(e){return this.__data__.get(e)}function mW(e){return this.__data__.has(e)}tL(mj,"listCacheDelete"),tL(mF,"listCacheGet"),tL(mG,"listCacheHas"),tL(mz,"listCacheSet"),tL(mK,"ListCache"),mK.prototype.clear=mO,mK.prototype.delete=mj,mK.prototype.get=mF,mK.prototype.has=mG,mK.prototype.set=mz,tL(mq,"stackClear"),tL(mU,"stackDelete"),tL(mB,"stackGet"),tL(mW,"stackHas");var mV="object"==typeof global&&global&&global.Object===Object&&global,mH="object"==typeof self&&self&&self.Object===Object&&self,mY=mV||mH||Function("return this")(),mQ=mY.Symbol,mZ=Object.prototype,mX=mZ.hasOwnProperty,mJ=mZ.toString,m0=mQ?mQ.toStringTag:void 0;function m1(e){var t=mX.call(e,m0),r=e[m0];try{e[m0]=void 0;var n=!0}catch(e){}var i=mJ.call(e);return n&&(t?e[m0]=r:delete e[m0]),i}tL(m1,"getRawTag");var m2=Object.prototype.toString;function m3(e){return m2.call(e)}tL(m3,"objectToString");var m4=mQ?mQ.toStringTag:void 0;function m9(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":m4&&m4 in Object(e)?m1(e):m3(e)}function m5(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function m6(e){if(!m5(e))return!1;var t=m9(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}tL(m9,"baseGetTag"),tL(m5,"isObject"),tL(m6,"isFunction");var m7=mY["__core-js_shared__"],m8=(p=/[^.]+$/.exec(m7&&m7.keys&&m7.keys.IE_PROTO||""))?"Symbol(src)_1."+p:"";function he(e){return!!m8&&m8 in e}tL(he,"isMasked");var ht=Function.prototype.toString;function hr(e){if(null!=e){try{return ht.call(e)}catch(e){}try{return e+""}catch(e){}}return""}tL(hr,"toSource");var hn=/^\[object .+?Constructor\]$/,hi=Object.prototype,ha=Function.prototype.toString,hs=hi.hasOwnProperty,ho=RegExp("^"+ha.call(hs).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function hl(e){return!(!m5(e)||he(e))&&(m6(e)?ho:hn).test(hr(e))}function hu(e,t){return null==e?void 0:e[t]}function hc(e,t){var r=hu(e,t);return hl(r)?r:void 0}tL(hl,"baseIsNative"),tL(hu,"getValue"),tL(hc,"getNative");var hp=hc(mY,"Map"),hf=hc(Object,"create");function hd(){this.__data__=hf?hf(null):{},this.size=0}function hm(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}tL(hd,"hashClear"),tL(hm,"hashDelete");var hh=Object.prototype.hasOwnProperty;function hy(e){var t=this.__data__;if(hf){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return hh.call(t,e)?t[e]:void 0}tL(hy,"hashGet");var hg=Object.prototype.hasOwnProperty;function hT(e){var t=this.__data__;return hf?void 0!==t[e]:hg.call(t,e)}function hv(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=hf&&void 0===t?"__lodash_hash_undefined__":t,this}function h$(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function hR(){this.size=0,this.__data__={hash:new h$,map:new(hp||mK),string:new h$}}function hE(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function hb(e,t){var r=e.__data__;return hE(t)?r["string"==typeof t?"string":"hash"]:r.map}function hA(e){var t=hb(this,e).delete(e);return this.size-=!!t,t}function hC(e){return hb(this,e).get(e)}function hS(e){return hb(this,e).has(e)}function hk(e,t){var r=hb(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this}function hx(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function hN(e,t){var r=this.__data__;if(r instanceof mK){var n=r.__data__;if(!hp||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new hx(n)}return r.set(e,t),this.size=r.size,this}function hw(e){var t=this.__data__=new mK(e);this.size=t.size}function hI(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}function h_(e){return this.__data__.has(e)}function hP(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new hx;++t<r;)this.add(e[t])}function hO(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function hD(e,t){return e.has(t)}function hL(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,f=!0,d=2&r?new hP:void 0;for(a.set(e,t),a.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,a):n(m,h,p,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(d){if(!hO(t,function(e,t){if(!hD(d,t)&&(m===e||i(m,e,r,n,a)))return d.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}tL(hT,"hashHas"),tL(hv,"hashSet"),tL(h$,"Hash"),h$.prototype.clear=hd,h$.prototype.delete=hm,h$.prototype.get=hy,h$.prototype.has=hT,h$.prototype.set=hv,tL(hR,"mapCacheClear"),tL(hE,"isKeyable"),tL(hb,"getMapData"),tL(hA,"mapCacheDelete"),tL(hC,"mapCacheGet"),tL(hS,"mapCacheHas"),tL(hk,"mapCacheSet"),tL(hx,"MapCache"),hx.prototype.clear=hR,hx.prototype.delete=hA,hx.prototype.get=hC,hx.prototype.has=hS,hx.prototype.set=hk,tL(hN,"stackSet"),tL(hw,"Stack"),hw.prototype.clear=mq,hw.prototype.delete=mU,hw.prototype.get=mB,hw.prototype.has=mW,hw.prototype.set=hN,tL(hI,"setCacheAdd"),tL(h_,"setCacheHas"),tL(hP,"SetCache"),hP.prototype.add=hP.prototype.push=hI,hP.prototype.has=h_,tL(hO,"arraySome"),tL(hD,"cacheHas"),tL(hL,"equalArrays");var hM=mY.Uint8Array;function hj(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function hF(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}tL(hj,"mapToArray"),tL(hF,"setToArray");var hG=mQ?mQ.prototype:void 0,hz=hG?hG.valueOf:void 0;function hK(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new hM(e),new hM(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return mD(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=hj;case"[object Set]":var l=1&n;if(o||(o=hF),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=hL(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(hz)return hz.call(e)==hz.call(t)}return!1}function hq(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}tL(hK,"equalByTag"),tL(hq,"arrayPush");var hU=Array.isArray;function hB(e,t,r){var n=t(e);return hU(e)?n:hq(n,r(e))}function hW(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function hV(){return[]}tL(hB,"baseGetAllKeys"),tL(hW,"arrayFilter"),tL(hV,"stubArray");var hH=Object.prototype.propertyIsEnumerable,hY=Object.getOwnPropertySymbols,hQ=hY?function(e){return null==e?[]:hW(hY(e=Object(e)),function(t){return hH.call(e,t)})}:hV;function hZ(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function hX(e){return null!=e&&"object"==typeof e}function hJ(e){return hX(e)&&"[object Arguments]"==m9(e)}tL(hZ,"baseTimes"),tL(hX,"isObjectLike"),tL(hJ,"baseIsArguments");var h0=Object.prototype,h1=h0.hasOwnProperty,h2=h0.propertyIsEnumerable,h3=hJ(function(){return arguments}())?hJ:function(e){return hX(e)&&h1.call(e,"callee")&&!h2.call(e,"callee")};function h4(){return!1}tL(h4,"stubFalse");var h9="object"==typeof exports&&exports&&!exports.nodeType&&exports,h5=h9&&"object"==typeof module&&module&&!module.nodeType&&module,h6=h5&&h5.exports===h9?mY.Buffer:void 0,h7=(h6?h6.isBuffer:void 0)||h4,h8=/^(?:0|[1-9]\d*)$/;function ye(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&h8.test(e))&&e>-1&&e%1==0&&e<t}function yt(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}tL(ye,"isIndex"),tL(yt,"isLength");var yr={};function yn(e){return hX(e)&&yt(e.length)&&!!yr[m9(e)]}function yi(e){return function(t){return e(t)}}yr["[object Float32Array]"]=yr["[object Float64Array]"]=yr["[object Int8Array]"]=yr["[object Int16Array]"]=yr["[object Int32Array]"]=yr["[object Uint8Array]"]=yr["[object Uint8ClampedArray]"]=yr["[object Uint16Array]"]=yr["[object Uint32Array]"]=!0,yr["[object Arguments]"]=yr["[object Array]"]=yr["[object ArrayBuffer]"]=yr["[object Boolean]"]=yr["[object DataView]"]=yr["[object Date]"]=yr["[object Error]"]=yr["[object Function]"]=yr["[object Map]"]=yr["[object Number]"]=yr["[object Object]"]=yr["[object RegExp]"]=yr["[object Set]"]=yr["[object String]"]=yr["[object WeakMap]"]=!1,tL(yn,"baseIsTypedArray"),tL(yi,"baseUnary");var ya="object"==typeof exports&&exports&&!exports.nodeType&&exports,ys=ya&&"object"==typeof module&&module&&!module.nodeType&&module,yo=ys&&ys.exports===ya&&mV.process,yl=function(){try{var e=ys&&ys.require&&ys.require("util").types;if(e)return e;return yo&&yo.binding&&yo.binding("util")}catch(e){}}(),yu=yl&&yl.isTypedArray,yc=yu?yi(yu):yn,yp=Object.prototype.hasOwnProperty;function yf(e,t){var r=hU(e),n=!r&&h3(e),i=!r&&!n&&h7(e),a=!r&&!n&&!i&&yc(e),s=r||n||i||a,o=s?hZ(e.length,String):[],l=o.length;for(var u in e)(t||yp.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ye(u,l)))&&o.push(u);return o}tL(yf,"arrayLikeKeys");var yd=Object.prototype;function ym(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||yd)}function yh(e,t){return function(r){return e(t(r))}}tL(ym,"isPrototype"),tL(yh,"overArg");var yy=yh(Object.keys,Object),yg=Object.prototype.hasOwnProperty;function yT(e){if(!ym(e))return yy(e);var t=[];for(var r in Object(e))yg.call(e,r)&&"constructor"!=r&&t.push(r);return t}function yv(e){return null!=e&&yt(e.length)&&!m6(e)}function y$(e){return yv(e)?yf(e):yT(e)}function yR(e){return hB(e,y$,hQ)}tL(yT,"baseKeys"),tL(yv,"isArrayLike"),tL(y$,"keys"),tL(yR,"getAllKeys");var yE=Object.prototype.hasOwnProperty;function yb(e,t,r,n,i,a){var s=1&r,o=yR(e),l=o.length;if(l!=yR(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:yE.call(t,c)))return!1}var p=a.get(e),f=a.get(t);if(p&&f)return p==t&&f==e;var d=!0;a.set(e,t),a.set(t,e);for(var m=s;++u<l;){var h=e[c=o[u]],y=t[c];if(n)var g=s?n(y,h,c,t,e,a):n(h,y,c,e,t,a);if(!(void 0===g?h===y||i(h,y,r,n,a):g)){d=!1;break}m||(m="constructor"==c)}if(d&&!m){var T=e.constructor,v=t.constructor;T!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof T&&T instanceof T&&"function"==typeof v&&v instanceof v)&&(d=!1)}return a.delete(e),a.delete(t),d}tL(yb,"equalObjects");var yA=hc(mY,"DataView"),yC=hc(mY,"Promise"),yS=hc(mY,"Set"),yk=hc(mY,"WeakMap"),yx="[object Map]",yN="[object Promise]",yw="[object Set]",yI="[object WeakMap]",y_="[object DataView]",yP=hr(yA),yO=hr(hp),yD=hr(yC),yL=hr(yS),yM=hr(yk),yj=m9;(yA&&yj(new yA(new ArrayBuffer(1)))!=y_||hp&&yj(new hp)!=yx||yC&&yj(yC.resolve())!=yN||yS&&yj(new yS)!=yw||yk&&yj(new yk)!=yI)&&(yj=tL(function(e){var t=m9(e),r="[object Object]"==t?e.constructor:void 0,n=r?hr(r):"";if(n)switch(n){case yP:return y_;case yO:return yx;case yD:return yN;case yL:return yw;case yM:return yI}return t},"getTag"));var yF=yj,yG="[object Arguments]",yz="[object Array]",yK="[object Object]",yq=Object.prototype.hasOwnProperty;function yU(e,t,r,n,i,a){var s=hU(e),o=hU(t),l=s?yz:yF(e),u=o?yz:yF(t);l=l==yG?yK:l,u=u==yG?yK:u;var c=l==yK,p=u==yK,f=l==u;if(f&&h7(e)){if(!h7(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new hw),s||yc(e)?hL(e,t,r,n,i,a):hK(e,t,l,r,n,i,a);if(!(1&r)){var d=c&&yq.call(e,"__wrapped__"),m=p&&yq.call(t,"__wrapped__");if(d||m){var h=d?e.value():e,y=m?t.value():t;return a||(a=new hw),i(h,y,r,n,a)}}return!!f&&(a||(a=new hw),yb(e,t,r,n,i,a))}function yB(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(hX(e)||hX(t))?yU(e,t,r,n,yB,i):e!=e&&t!=t)}function yW(e,t,r,n){var i=r.length,a=i,s=!n;if(null==e)return!a;for(e=Object(e);i--;){var o=r[i];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){var l=(o=r[i])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new hw;if(n)var f=n(u,c,l,e,t,p);if(!(void 0===f?yB(c,u,3,n,p):f))return!1}}return!0}function yV(e){return e==e&&!m5(e)}function yH(e){for(var t=y$(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,yV(i)]}return t}function yY(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function yQ(e){var t=yH(e);return 1==t.length&&t[0][2]?yY(t[0][0],t[0][1]):function(r){return r===e||yW(r,e,t)}}function yZ(e){return"symbol"==typeof e||hX(e)&&"[object Symbol]"==m9(e)}tL(yU,"baseIsEqualDeep"),tL(yB,"baseIsEqual"),tL(yW,"baseIsMatch"),tL(yV,"isStrictComparable"),tL(yH,"getMatchData"),tL(yY,"matchesStrictComparable"),tL(yQ,"baseMatches"),tL(yZ,"isSymbol");var yX=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yJ=/^\w*$/;function y0(e,t){if(hU(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||yZ(e))||yJ.test(e)||!yX.test(e)||null!=t&&e in Object(t)}function y1(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=tL(function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(y1.Cache||hx),r}function y2(e){var t=y1(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}tL(y0,"isKey"),tL(y1,"memoize"),y1.Cache=hx,tL(y2,"memoizeCapped");var y3=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,y4=/\\(\\)?/g,y9=y2(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(y3,function(e,r,n,i){t.push(n?i.replace(y4,"$1"):r||e)}),t}),y5=mQ?mQ.prototype:void 0,y6=y5?y5.toString:void 0;function y7(e){if("string"==typeof e)return e;if(hU(e))return mP(e,y7)+"";if(yZ(e))return y6?y6.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function y8(e){return null==e?"":y7(e)}function ge(e,t){return hU(e)?e:y0(e,t)?[e]:y9(y8(e))}function gt(e){if("string"==typeof e||yZ(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function gr(e,t){t=ge(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[gt(t[r++])];return r&&r==n?e:void 0}function gn(e,t,r){var n=null==e?void 0:gr(e,t);return void 0===n?r:n}function gi(e,t){return null!=e&&t in Object(e)}function ga(e,t,r){t=ge(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=gt(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&yt(i)&&ye(s,i)&&(hU(e)||h3(e))}function gs(e,t){return null!=e&&ga(e,t,gi)}function go(e,t){return y0(e)&&yV(t)?yY(gt(e),t):function(r){var n=gn(r,e);return void 0===n&&n===t?gs(r,e):yB(t,n,3)}}function gl(e){return e}function gu(e){return function(t){return null==t?void 0:t[e]}}function gc(e){return function(t){return gr(t,e)}}function gp(e){return y0(e)?gu(gt(e)):gc(e)}function gf(e){return"function"==typeof e?e:null==e?gl:"object"==typeof e?hU(e)?go(e[0],e[1]):yQ(e):gp(e)}function gd(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++i];if(!1===r(a[l],l,a))break}return t}}tL(y7,"baseToString"),tL(y8,"toString"),tL(ge,"castPath"),tL(gt,"toKey"),tL(gr,"baseGet"),tL(gn,"get"),tL(gi,"baseHasIn"),tL(ga,"hasPath"),tL(gs,"hasIn"),tL(go,"baseMatchesProperty"),tL(gl,"identity"),tL(gu,"baseProperty"),tL(gc,"basePropertyDeep"),tL(gp,"property"),tL(gf,"baseIteratee"),tL(gd,"createBaseFor");var gm=gd();function gh(e,t){return e&&gm(e,t,y$)}function gy(e,t){return function(r,n){if(null==r)return r;if(!yv(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Object(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}tL(gh,"baseForOwn"),tL(gy,"createBaseEach");var gg=gy(gh);function gT(e,t){var r=-1,n=yv(e)?Array(e.length):[];return gg(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function gv(e,t){return(hU(e)?mP:gT)(e,gf(t))}function g$(e,t){var r=[];return gg(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function gR(e,t){return(hU(e)?hW:g$)(e,gf(t))}function gE(e,t,r){return`${e.name}_${t}_${r}`}tL(gT,"baseMap"),tL(gv,"map"),tL(g$,"baseFilter"),tL(gR,"filter"),tL(gE,"buildATNKey");var gb=class{static{tL(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},gA=class extends gb{static{tL(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},gC=class extends gb{static{tL(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},gS=class extends gb{static{tL(this,"RuleTransition")}constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}};function gk(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};gx(t,e);let r=e.length;for(let n=0;n<r;n++){let r=e[n],i=gL(t,r,r);void 0!==i&&gW(t,r,i)}return t}function gx(e,t){let r=t.length;for(let n=0;n<r;n++){let r=t[n],i=gH(e,r,void 0,{type:2}),a=gH(e,r,void 0,{type:7});i.stop=a,e.ruleToStartState.set(r,i),e.ruleToStopState.set(r,a)}}function gN(e,t,r){if(r instanceof py)return gU(e,t,r.terminalType,r);if(r instanceof po)return gB(e,t,r);if(r instanceof ph)return gO(e,t,r);if(r instanceof pc)return gD(e,t,r);if(r instanceof pd)return gw(e,t,r);else if(r instanceof pm)return gI(e,t,r);else if(r instanceof pp)return g_(e,t,r);else if(r instanceof pf)return gP(e,t,r);else return gL(e,t,r)}function gw(e,t,r){let n=gH(e,t,r,{type:5});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r));return gj(e,t,r,i)}function gI(e,t,r){let n=gH(e,t,r,{type:5});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r)),a=gU(e,t,r.separator,r);return gj(e,t,r,i,a)}function g_(e,t,r){let n=gH(e,t,r,{type:4});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r));return gM(e,t,r,i)}function gP(e,t,r){let n=gH(e,t,r,{type:4});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r)),a=gU(e,t,r.separator,r);return gM(e,t,r,i,a)}function gO(e,t,r){let n=gH(e,t,r,{type:1});gG(e,n);let i=gv(r.definition,r=>gN(e,t,r));return gz(e,t,n,r,...i)}function gD(e,t,r){let n=gH(e,t,r,{type:1});gG(e,n);let i=gz(e,t,n,r,gL(e,t,r));return gF(e,t,r,i)}function gL(e,t,r){let n=gR(gv(r.definition,r=>gN(e,t,r)),e=>void 0!==e);return 1===n.length?n[0]:0===n.length?void 0:gq(e,n)}function gM(e,t,r,n,i){let a=n.left,s=n.right,o=gH(e,t,r,{type:11});gG(e,o);let l=gH(e,t,r,{type:12});return a.loopback=o,l.loopback=o,e.decisionMap[gE(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,gV(s,o),void 0===i?(gV(o,a),gV(o,l)):(gV(o,l),gV(o,i.left),gV(i.right,a)),{left:a,right:l}}function gj(e,t,r,n,i){let a=n.left,s=n.right,o=gH(e,t,r,{type:10});gG(e,o);let l=gH(e,t,r,{type:12}),u=gH(e,t,r,{type:9});return o.loopback=u,l.loopback=u,gV(o,a),gV(o,l),gV(s,u),void 0!==i?(gV(u,l),gV(u,i.left),gV(i.right,a)):gV(u,o),e.decisionMap[gE(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function gF(e,t,r,n){let i=n.left;return gV(i,n.right),e.decisionMap[gE(t,"Option",r.idx)]=i,n}function gG(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function gz(e,t,r,n,...i){let a=gH(e,t,n,{type:8,start:r});for(let e of(r.end=a,i))void 0!==e?(gV(r,e.left),gV(e.right,a)):gV(r,a);return e.decisionMap[gE(t,gK(n),n.idx)]=r,{left:r,right:a}}function gK(e){if(e instanceof ph)return"Alternation";if(e instanceof pc)return"Option";if(e instanceof pd)return"Repetition";if(e instanceof pm)return"RepetitionWithSeparator";if(e instanceof pp)return"RepetitionMandatory";else if(e instanceof pf)return"RepetitionMandatoryWithSeparator";else throw Error("Invalid production type encountered")}function gq(e,t){let r=t.length;for(let n=0;n<r-1;n++){let r,i=t[n];1===i.left.transitions.length&&(r=i.left.transitions[0]);let a=r instanceof gS,s=r,o=t[n+1].left;1===i.left.type&&1===i.right.type&&void 0!==r&&(a&&s.followState===i.right||r.target===i.right)?(a?s.followState=o:r.target=o,gQ(e,i.right)):gV(i.right,o)}let n=t[0],i=t[r-1];return{left:n.left,right:i.right}}function gU(e,t,r,n){let i=gH(e,t,n,{type:1}),a=gH(e,t,n,{type:1});return gY(i,new gA(a,r)),{left:i,right:a}}function gB(e,t,r){let n=r.referencedRule,i=e.ruleToStartState.get(n),a=gH(e,t,r,{type:1}),s=gH(e,t,r,{type:1});return gY(a,new gS(i,n,s)),{left:a,right:s}}function gW(e,t,r){let n=e.ruleToStartState.get(t);gV(n,r.left);let i=e.ruleToStopState.get(t);return gV(r.right,i),{left:n,right:i}}function gV(e,t){gY(e,new gC(t))}function gH(e,t,r,n){let i=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function gY(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function gQ(e,t){e.states.splice(e.states.indexOf(t),1)}tL(gk,"createATN"),tL(gx,"createRuleStartAndStopATNStates"),tL(gN,"atom"),tL(gw,"repetition"),tL(gI,"repetitionSep"),tL(g_,"repetitionMandatory"),tL(gP,"repetitionMandatorySep"),tL(gO,"alternation"),tL(gD,"option"),tL(gL,"block"),tL(gM,"plus"),tL(gj,"star"),tL(gF,"optional"),tL(gG,"defineDecisionState"),tL(gz,"makeAlts"),tL(gK,"getProdType"),tL(gq,"makeBlock"),tL(gU,"tokenRef"),tL(gB,"ruleRef"),tL(gW,"buildRuleHandle"),tL(gV,"epsilon"),tL(gH,"newState"),tL(gY,"addTransition"),tL(gQ,"removeState");var gZ={},gX=class{static{tL(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=gJ(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return gv(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}};function gJ(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}function g0(e,t,r){for(var n=-1,i=e.length;++n<i;){var a=e[n],s=t(a);if(null!=s&&(void 0===o?s==s&&!yZ(s):r(s,o)))var o=s,l=a}return l}function g1(e,t){return e<t}function g2(e){return e&&e.length?g0(e,gl,g1):void 0}tL(gJ,"getATNConfigKey"),tL(g0,"baseExtremum"),tL(g1,"baseLt"),tL(g2,"min");var g3=mQ?mQ.isConcatSpreadable:void 0;function g4(e){return hU(e)||h3(e)||!!(g3&&e&&e[g3])}function g9(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=g4),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?g9(o,t-1,r,n,i):hq(i,o):n||(i[i.length]=o)}return i}function g5(e,t){return g9(gv(e,t),1)}function g6(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return -1}function g7(e){return e!=e}function g8(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}function Te(e,t,r){return t==t?g8(e,t,r):g6(e,g7,r)}function Tt(e,t){return!!(null==e?0:e.length)&&Te(e,t,0)>-1}function Tr(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function Tn(){}tL(g4,"isFlattenable"),tL(g9,"baseFlatten"),tL(g5,"flatMap"),tL(g6,"baseFindIndex"),tL(g7,"baseIsNaN"),tL(g8,"strictIndexOf"),tL(Te,"baseIndexOf"),tL(Tt,"arrayIncludes"),tL(Tr,"arrayIncludesWith"),tL(Tn,"noop");var Ti=yS&&1/hF(new yS([,-0]))[1]==1/0?function(e){return new yS(e)}:Tn;function Ta(e,t,r){var n=-1,i=Tt,a=e.length,s=!0,o=[],l=o;if(r)s=!1,i=Tr;else if(a>=200){var u=t?null:Ti(e);if(u)return hF(u);s=!1,i=hD,l=new hP}else l=t?[]:o;t:for(;++n<a;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;t&&l.push(p),o.push(c)}else i(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}function Ts(e,t){return e&&e.length?Ta(e,gf(t)):[]}function To(e){return(null==e?0:e.length)?g9(e,1):[]}function Tl(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function Tu(e){return"function"==typeof e?e:gl}function Tc(e,t){return(hU(e)?Tl:gg)(e,Tu(t))}tL(Ta,"baseUniq"),tL(Ts,"uniqBy"),tL(To,"flatten"),tL(Tl,"arrayEach"),tL(Tu,"castFunction"),tL(Tc,"forEach");var Tp=Object.prototype.hasOwnProperty;function Tf(e){if(null==e)return!0;if(yv(e)&&(hU(e)||"string"==typeof e||"function"==typeof e.splice||h7(e)||yc(e)||h3(e)))return!e.length;var t=yF(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(ym(e))return!yT(e).length;for(var r in e)if(Tp.call(e,r))return!1;return!0}function Td(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function Tm(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function Th(e,t,r){var n=hU(e)?Td:Tm,i=arguments.length<3;return n(e,gf(t),r,i,gg)}function Ty(e,t){let r={};return n=>{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:e,decision:t,states:{}},r[i]=a),a}}tL(Tf,"isEmpty"),tL(Td,"arrayReduce"),tL(Tm,"baseReduce"),tL(Th,"reduce"),tL(Ty,"createDFACache");var Tg=class{static{tL(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}},TT=new Tg,Tv=class extends d5{static{tL(this,"LLStarLookaheadStrategy")}constructor(e){var t;super(),this.logging=null!=(t=null==e?void 0:e.logging)?t:e=>console.log(e)}initialize(e){this.atn=gk(e.rules),this.dfas=TR(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=gE(r,"Alternation",t),l=this.atn.decisionMap[o].decision,u=gv(da({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>gv(e,e=>e[0]));if(T$(u,!1)&&!i){let e=Th(u,(e,t,r)=>(Tc(t,t=>{t&&(e[t.tokenTypeIdx]=r,Tc(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null==(r=t[n])?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}return n?function(e){let t=new Tg,r=void 0===e?0:e.length;for(let n=0;n<r;n++){let r=null==e?void 0:e[n].GATE;t.set(n,void 0===r||r.call(this))}let n=TE.call(this,a,l,t,s);return"number"==typeof n?n:void 0}:function(){let e=TE.call(this,a,l,TT,s);return"number"==typeof e?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=gE(r,n,t),l=this.atn.decisionMap[o].decision,u=gv(da({maxLookahead:1,occurrence:t,prodType:n,rule:r}),e=>gv(e,e=>e[0]));if(T$(u)&&u[0][0]&&!i){let e=To(u[0]);if(1===e.length&&Tf(e[0].categoryMatches)){let t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{let t=Th(e,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,Tc(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===t[this.LA(1).tokenTypeIdx]}}}return function(){let e=TE.call(this,a,l,TT,s);return"object"!=typeof e&&0===e}}};function T$(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i)if(!t)return!1;else break;for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function TR(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=Ty(e.decisionStates[n],n);return r}function TE(e,t,r,n){let i=e[t](r),a=i.start;if(void 0===a){let e=TL(i.atnStartState);a=TD(i,TP(e)),i.start=a}return Tb.apply(this,[i,a,r,n])}function Tb(e,t,r,n){let i=t,a=1,s=[],o=this.LA(a++);for(;;){let t=TN(i,o);if(void 0===t&&(t=TA.apply(this,[e,i,o,a,r,n])),t===gZ)return Tx(s,i,o);if(!0===t.isAcceptState)return t.prediction;i=t,s.push(o),o=this.LA(a++)}}function TA(e,t,r,n,i,a){let s=Tw(t.configs,r,i);if(0===s.size)return TO(e,t,r,gZ),gZ;let o=TP(s),l=T_(s,i);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(Tz(s)){let t=g2(s.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,TC.apply(this,[e,n,s.alts,a])}return TO(e,t,r,o)}function TC(e,t,r,n){let i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);let a=e.atnStartState;n(TS({topLevelRule:a.rule,ambiguityIndices:r,production:a.production,prefixPath:i}))}function TS(e){let t=gv(e.prefixPath,e=>fj(e)).join(", "),r=0===e.production.idx?"":e.production.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${Tk(e.production)}${r}> inside <${e.topLevelRule.name}> Rule,
78
78
  <${t}> may appears as a prefix path in all these alternatives.
79
79
  `;return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
80
- For Further details.`}function Tk(e){if(e instanceof po)return"SUBRULE";if(e instanceof pc)return"OPTION";if(e instanceof ph)return"OR";if(e instanceof pp)return"AT_LEAST_ONE";if(e instanceof pf)return"AT_LEAST_ONE_SEP";else if(e instanceof pm)return"MANY_SEP";else if(e instanceof pd)return"MANY";else if(e instanceof py)return"CONSUME";else throw Error("non exhaustive match")}function Tx(e,t,r){return{actualToken:r,possibleTokenTypes:Ts(g5(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof gA).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function TN(e,t){return e.edges[t.tokenTypeIdx]}function Tw(e,t,r){let n,i=new gX,a=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){a.push(n);continue}let e=n.state.transitions.length;for(let r=0;r<e;r++){let e=TI(n.state.transitions[r],t);void 0!==e&&i.add({state:e,alt:n.alt,stack:n.stack})}}if(0===a.length&&1===i.size&&(n=i),void 0===n)for(let e of(n=new gX,i.elements))TM(e,n);if(a.length>0&&!TF(n))for(let e of a)n.add(e);return n}function TI(e,t){if(e instanceof gA&&fX(t,e.tokenType))return e.target}function T_(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}function TP(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function TO(e,t,r,n){return n=TD(e,n),t.edges[r.tokenTypeIdx]=n,n}function TD(e,t){if(t===gZ)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function TL(e){let t=new gX,r=e.transitions.length;for(let n=0;n<r;n++)TM({state:e.transitions[n].target,alt:n,stack:[]},t);return t}function TM(e,t){let r=e.state;if(7===r.type){if(e.stack.length>0){let r=[...e.stack];TM({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i<n;i++){let n=Tj(e,r.transitions[i]);void 0!==n&&TM(n,t)}}function Tj(e,t){if(t instanceof gC)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof gS){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}function TF(e){for(let t of e.elements)if(7===t.state.type)return!0;return!1}function TG(e){for(let t of e.elements)if(7!==t.state.type)return!1;return!0}function Tz(e){if(TG(e))return!0;let t=TK(e.elements);return Tq(t)&&!TU(t)}function TK(e){let t=new Map;for(let r of e){let e=gJ(r,!1),n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}function Tq(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}function TU(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}tL(T$,"isLL1Sequence"),tL(TR,"initATNSimulator"),tL(TE,"adaptivePredict"),tL(Tb,"performLookahead"),tL(TA,"computeLookaheadTarget"),tL(TC,"reportLookaheadAmbiguity"),tL(TS,"buildAmbiguityError"),tL(Tk,"getProductionDslName"),tL(Tx,"buildAdaptivePredictError"),tL(TN,"getExistingTargetState"),tL(Tw,"computeReachSet"),tL(TI,"getReachableTarget"),tL(T_,"getUniqueAlt"),tL(TP,"newDFAState"),tL(TO,"addDFAEdge"),tL(TD,"addDFAState"),tL(TL,"computeStartState"),tL(TM,"closure"),tL(Tj,"getEpsilonTarget"),tL(TF,"hasConfigInRuleStopState"),tL(TG,"allConfigsInRuleStopStates"),tL(Tz,"hasConflictTerminatingPrediction"),tL(TK,"getConflictingAltSets"),tL(Tq,"hasConflictingAltSet"),tL(TU,"hasStateAssociatedWithOneAlt"),tU();var TB=class{static{tL(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new TQ(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new TH;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new TV(e.startOffset,e.image.length,iK(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let r of e){let e=new TV(r.startOffset,r.image.length,iK(r),r.tokenType,!0);e.root=this.rootNode,t.push(e)}let r=this.current,n=!1;if(r.content.length>0)return void r.content.push(...t);for(;r.container;){let e=r.container.content.indexOf(r);if(e>0){r.container.content.splice(e,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;"string"!=typeof e.$type||e.$infix||(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},TW=class{static{tL(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e="string"==typeof this._astNode?.$type?this._astNode:this.container?.astNode;if(!e)throw Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},TV=class extends TW{static{tL(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},TH=class extends TW{static{tL(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new TY(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(!e||!t)return{start:$.create(0,0),end:$.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}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 t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},TY=class e extends Array{static{tL(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,e.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}},TQ=class extends TH{static{tL(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},TZ=Symbol("Datatype");function TX(e){return e.$type===TZ}tL(TX,"isDataTypeNode");var TJ=tL(e=>e.endsWith("​")?e:e+"​","withRuleSuffix"),T0=class{static{tL(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new T6(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new T5(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},T1=class extends T0{static{tL(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new TB,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let r,n=this.computeRuleType(e);nM(e)&&(r=e.name,this.registerPrecedenceMap(e));let i=this.wrapper.DEFINE_RULE(TJ(e.name),this.startImplementation(n,r,t).bind(this));return this.allRules.set(e.name,i),n4(e)&&e.entry&&(this.mainRule=i),i}registerPrecedenceMap(e){let t=e.name,r=new Map;for(let t=0;t<e.operators.precedences.length;t++){let n=e.operators.precedences[t];for(let e of n.operators)r.set(e.value,{precedence:t,rightAssoc:"right"===n.associativity})}this.operatorPrecedence.set(t,r)}computeRuleType(e){if(nM(e))return aY(e);if(!e.fragment)if(aU(e))return TZ;else return aY(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let i=this.doParse(n);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,rU(i,{deep:!0}),{value:i,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),void 0===t)throw Error("No result from parser");if(this.stack.length>0)throw Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,r){return n=>{let i=!this.isRecording()&&void 0!==e;if(i){let r={$type:e};this.stack.push(r),e===TZ?r.value="":void 0!==t&&(r.$infixName=t)}return r(n),i?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>r)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:i,crossRef:a}=this.getAssignment(r),s=this.current;if(i){let e=nB(r)?n.image:this.converter.convert(n.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(TX(s)){let e=n.image;nB(r)||(e=this.converter.convert(e,t).toString()),s.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let a,s;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(n));try{s=this.wrapper.wrapSubrule(e,t,i)}finally{!this.isRecording()&&(void 0!==s||r||(s=this.construct()),void 0!==s&&a&&a.length>0&&this.performSubruleAssignment(s,n,a))}}performSubruleAssignment(e,t,r){let{assignment:n,crossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(TX(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode)):r.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return(this.nodeBuilder.construct(e),"$infixName"in e)?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):TX(e)?this.converter.convert(e.value,e.$cstNode):(r1(this.astReflection,e),e)}constructInfix(e,t){let r=e.parts;if(!Array.isArray(r)||0===r.length)return;let n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let i=0,a=-1;for(let e=0;e<n.length;e++){let r=n[e],s=t.get(r)??{precedence:1/0,rightAssoc:!1};s.precedence>a?(a=s.precedence,i=e):s.precedence!==a||s.rightAssoc||(i=e)}let s=n.slice(0,i),o=n.slice(i+1),l=r.slice(0,i+1),u=r.slice(i+1),c={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:s},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f=this.constructInfix(c,t),d=this.constructInfix(p,t);return{$type:e.$type,$cstNode:e.$cstNode,left:f,operator:n[i],right:d}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=rB(e,nd);this.assignmentMap.set(e,{assignment:t,crossRef:t&&nb(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let a,s=this.current;switch(a="single"===i&&"string"==typeof r?this.linker.buildReference(s,t,n,r):"multi"===i&&"string"==typeof r?this.linker.buildMultiReference(s,t,n,r):r,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},T2=class{static{tL(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return fJ.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return fJ.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return fJ.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return fJ.buildEarlyExitMessage(e)}},T3=class extends T2{static{tL(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){let r=e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`;return`Expecting ${r} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},T9=class extends T0{static{tL(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let r=this.wrapper.DEFINE_RULE(TJ(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},T4={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new T3},T5=class extends m_{static{tL(this,"ChevrotainWrapper")}constructor(e,t){let r=t&&"maxLookahead"in t;super(e,{...T4,lookaheadStrategy:r?new d5({maxLookahead:t.maxLookahead}):new Tv({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},T6=class extends T5{static{tL(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function T8(e,t,r){return T7({parser:t,tokens:r,ruleNames:new Map},e),t}function T7(e,t){let r=aS(t,!1);for(let n of rz(t.rules).filter(n4).filter(e=>r.has(e))){let t={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(n,vt(t,n.definition))}for(let n of rz(t.rules).filter(nM).filter(e=>r.has(e)))e.parser.rule(n,ve(e,n))}function ve(e,t){let r,n=t.call.rule.ref;if(!n)throw Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(ig(n))throw Error("Cannot use terminal rule in infix expression");let i=t.operators.precedences.flatMap(e=>e.operators),a={$type:"Group",elements:[]},s={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},o={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(s,o);let l={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:i}},u={...s,$container:o};o.elements.push(l,u);let c=i.map(t=>e.tokens[t.value]).map((t,r)=>({ALT:tL(()=>e.parser.consume(r,t,l),"ALT")}));return t=>{r??(r=vd(e,n)),e.parser.subrule(0,r,!1,s,t),e.parser.many(0,{DEF:tL(()=>{e.parser.alternatives(0,c),e.parser.subrule(1,r,!1,u,t)},"DEF")})}}function vt(e,t,r=!1){let n;if(nB(t))n=vp(e,t);else if(na(t))n=vr(e,t);else if(nd(t))n=vt(e,t.terminal);else if(nb(t))n=vc(e,t);else if(ii(t))n=vn(e,t);else if(no(t))n=vs(e,t);else if(iN(t))n=vo(e,t);else if(nP(t))n=vl(e,t);else if(nk(t)){let r=e.consume++;n=tL(()=>e.parser.consume(r,fQ,t),"method")}else throw new i5(t.$cstNode,`Unexpected element type: ${t.$type}`);return vf(e,r?void 0:vu(t),n,t.cardinality)}function vr(e,t){let r=aY(t);return()=>e.parser.action(r,t)}function vn(e,t){let r=t.rule.ref;if(r7(r)){let n,i=e.subrule++,a=n4(r)&&r.fragment,s=t.arguments.length>0?vi(r,t.arguments):()=>({});return o=>{n??(n=vd(e,r)),e.parser.subrule(i,n,a,t,s(o))}}if(ig(r)){let n=e.consume++,i=vh(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)i6(r);else throw new i5(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}function vi(e,t){if(t.some(e=>e.calledByName)){let e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:va(e.value)}));return t=>{let r={};for(let{parameterName:n,predicate:i}of e)n&&(r[n]=i(t));return r}}{let r=t.map(e=>va(e.value));return t=>{let n={};for(let i=0;i<r.length;i++)if(i<e.parameters.length){let a=e.parameters[i].name,s=r[i];n[a]=s(t)}return n}}}function va(e){if(nC(e)){let t=va(e.left),r=va(e.right);return e=>t(e)||r(e)}if(nR(e)){let t=va(e.left),r=va(e.right);return e=>t(e)&&r(e)}if(nZ(e)){let t=va(e.value);return e=>!t(e)}if(n3(e)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(nh(e)){let t=!!e.true;return()=>t}i6(e)}function vs(e,t){if(1===t.elements.length)return vt(e,t.elements[0]);{let r=[];for(let n of t.elements){let t={ALT:vt(e,n,!0)},i=vu(n);i&&(t.GATE=va(i)),r.push(t)}let n=e.or++;return t=>e.parser.alternatives(n,r.map(e=>{let r={ALT:tL(()=>e.ALT(t),"ALT")},n=e.GATE;return n&&(r.GATE=()=>n(t)),r}))}}function vo(e,t){if(1===t.elements.length)return vt(e,t.elements[0]);let r=[];for(let n of t.elements){let t={ALT:vt(e,n,!0)},i=vu(n);i&&(t.GATE=va(i)),r.push(t)}let n=e.or++,i=tL((e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},"idFunc"),a=tL(t=>e.parser.alternatives(n,r.map((r,a)=>{let s={ALT:tL(()=>!0,"ALT")},o=e.parser;s.ALT=()=>{if(r.ALT(t),!o.isRecording()){let e=i(n,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);void 0===t?.[a]&&(t[a]=!0)}};let l=r.GATE;return l?s.GATE=()=>l(t):s.GATE=()=>{let e=o.unorderedGroups.get(i(n,o));return!e?.[a]},s})),"alternatives"),s=vf(e,vu(t),a,"*");return t=>{s(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(n,e.parser))}}function vl(e,t){let r=t.elements.map(t=>vt(e,t));return e=>r.forEach(t=>t(e))}function vu(e){if(nP(e))return e.guardCondition}function vc(e,t,r=t.terminal){if(r)if(ii(r)&&n4(r.rule.ref)){let n,i=r.rule.ref,a=e.subrule++;return r=>{n??(n=vd(e,i)),e.parser.subrule(a,n,!1,t,r)}}else if(ii(r)&&ig(r.rule.ref)){let n=e.consume++,i=vh(e,r.rule.ref.name);return()=>e.parser.consume(n,i,t)}else if(nB(r)){let n=e.consume++,i=vh(e,r.value);return()=>e.parser.consume(n,i,t)}else throw Error("Could not build cross reference parser");{if(!t.type.ref)throw Error("Could not resolve reference to type: "+t.type.$refText);let r=aj(t.type.ref),n=r?.terminal;if(!n)throw Error("Could not find name assignment for type: "+aY(t.type.ref));return vc(e,t,n)}}function vp(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}function vf(e,t,r,n){let i=t&&va(t);if(!n)if(!i)return r;else{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:tL(()=>r(n),"ALT"),GATE:tL(()=>i(n),"GATE")},{ALT:mw(),GATE:tL(()=>!i(n),"GATE")}])}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:tL(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:tL(()=>r(n),"DEF")});{let n=e.or++;return a=>e.parser.alternatives(n,[{ALT:tL(()=>e.parser.atLeastOne(t,{DEF:tL(()=>r(a),"DEF")}),"ALT"),GATE:tL(()=>i(a),"GATE")},{ALT:mw(),GATE:tL(()=>!i(a),"GATE")}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:tL(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}i6(n)}function vd(e,t){let r=vm(e,t),n=e.parser.getRule(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function vm(e,t){if(r7(t))return t.name;{if(e.ruleNames.has(t))return e.ruleNames.get(t);let r=t,n=r.$container,i=t.$type;for(;!n4(n);)(nP(n)||no(n)||iN(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}function vh(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}function vy(e){let t=e.Grammar,r=e.parser.Lexer,n=new T9(e);return T8(t,n,r.definition),n.finalize(),n}function vg(e){let t=vT(e);return t.finalize(),t}function vT(e){let t=e.Grammar,r=e.parser.Lexer;return T8(t,new T1(e),r.definition)}tL(T8,"createParser"),tL(T7,"buildRules"),tL(ve,"buildInfixRule"),tL(vt,"buildElement"),tL(vr,"buildAction"),tL(vn,"buildRuleCall"),tL(vi,"buildRuleCallPredicate"),tL(va,"buildPredicate"),tL(vs,"buildAlternatives"),tL(vo,"buildUnorderedGroup"),tL(vl,"buildGroup"),tL(vu,"getGuardCondition"),tL(vc,"buildCrossReference"),tL(vp,"buildKeyword"),tL(vf,"wrap"),tL(vd,"getRule"),tL(vm,"getRuleName"),tL(vh,"getToken"),tL(vy,"createCompletionParser"),tL(vg,"createLangiumParser"),tL(vT,"prepareLangiumParser");var vv=class{static{tL(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){let r=rz(aS(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return i.push(...n),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ig).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=aJ(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return"function"==typeof r&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=a$(t)?fM.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(r7).flatMap(e=>rZ(e).filter(nB)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),i={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?RegExp(aR(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=r?.PATTERN;return n?.source&&aE("^"+n.source+"$",e.value)&&t.push(r),t},[])}},v$=class{static{tL(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(nb(r)&&(r=aN(r)),ii(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return eJ.convertInt(t);case"STRING":return eJ.convertString(t);case"ID":return eJ.convertID(t)}switch(aX(e)?.toLowerCase()){case"number":return eJ.convertNumber(t);case"boolean":return eJ.convertBoolean(t);case"bigint":return eJ.convertBigint(t);case"date":return eJ.convertDate(t);default:return t}}};!function(e){function t(e){let t="";for(let n=1;n<e.length-1;n++){let i=e.charAt(n);"\\"===i?t+=r(e.charAt(++n)):t+=i}return t}function r(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return e}}function n(e){return"^"===e.charAt(0)?e.substring(1):e}function i(e){return parseInt(e)}function a(e){return BigInt(e)}function s(e){return new Date(e)}function o(e){return Number(e)}function l(e){return"true"===e.toLowerCase()}tL(t,"convertString"),e.convertString=t,tL(r,"convertEscapeCharacter"),tL(n,"convertID"),e.convertID=n,tL(i,"convertInt"),e.convertInt=i,tL(a,"convertBigint"),e.convertBigint=a,tL(s,"convertDate"),e.convertDate=s,tL(o,"convertNumber"),e.convertNumber=o,tL(l,"convertBoolean"),e.convertBoolean=l}(eJ||(eJ={}));var vR={};function vE(){return new Promise(e=>{"u"<typeof setImmediate?setTimeout(e,0):setImmediate(e)})}tG(vR,tz(tH(),1)),tL(vE,"delayNextTick");var vb=0,vA=10;function vC(){return vb=performance.now(),new vR.CancellationTokenSource}function vS(e){vA=e}tL(vC,"startCancelableOperation"),tL(vS,"setInterruptionPeriod");var vk=Symbol("OperationCancelled");function vx(e){return e===vk}async function vN(e){if(e===vR.CancellationToken.None)return;let t=performance.now();if(t-vb>=vA&&(vb=t,await vE(),vb=performance.now()),e.isCancellationRequested)throw vk}tL(vx,"isOperationCancelled"),tL(vN,"interruptAndCheck");var vw=class{static{tL(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},vI=class e{static{tL(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(t,r){for(let r of t)if(e.isIncremental(r)){let e=vD(r.range),t=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,t)+r.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),s=this._lineOffsets,o=vP(r.text,!1,t);if(a-i===o.length)for(let e=0,t=o.length;e<t;e++)s[e+i+1]=o[e];else o.length<1e4?s.splice(i+1,a-i,...o):this._lineOffsets=s=s.slice(0,i+1).concat(o,s.slice(a+1));let l=r.text.length-(n-t);if(0!==l)for(let e=i+1+o.length,t=s.length;e<t;e++)s[e]=s[e]+l}else if(e.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=r}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=vP(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(r+e.character,n);return this.ensureBeforeEOL(i,r)}ensureBeforeEOL(e,t){for(;e>t&&vO(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}};function v_(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),i=e.slice(r);v_(n,t),v_(i,t);let a=0,s=0,o=0;for(;a<n.length&&s<i.length;)0>=t(n[a],i[s])?e[o++]=n[a++]:e[o++]=i[s++];for(;a<n.length;)e[o++]=n[a++];for(;s<i.length;)e[o++]=i[s++];return e}function vP(e,t,r=0){let n=t?[r]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);vO(i)&&(13===i&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function vO(e){return 13===e||10===e}function vD(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function vL(e){let t=vD(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){function t(e,t,r,n){return new vI(e,t,r,n)}function r(e,t,r){if(e instanceof vI)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")}function n(e,t){let r=e.getText(),n=v_(t.map(vL),(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,a=[];for(let t of n){let n=e.offsetAt(t.range.start);if(n<i)throw Error("Overlapping edit");n>i&&a.push(r.substring(i,n)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(r.substr(i)),a.join("")}tL(t,"create"),e.create=t,tL(r,"update"),e.update=r,tL(n,"applyEdits"),e.applyEdits=n}(e0||(e0={})),tL(v_,"mergeSort"),tL(vP,"computeLineOffsets"),tL(vO,"isEOL"),tL(vD,"getWellformedRange"),tL(vL,"getWellformedEdit"),(()=>{"use strict";let e;var t,r,n={975:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(a===o-1||1===s);else if(a!==o-1&&2===s){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2)){if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=o,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}tL(t,"e"),tL(r,"r");var n={resolve:tL(function(){for(var e,n,i="",a=!1,s=arguments.length-1;s>=-1&&!a;s--)s>=0?e=arguments[s]:(void 0===n&&(n=tN.cwd()),e=n),t(e),0!==e.length&&(i=e+"/"+i,a=47===e.charCodeAt(0));return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},"resolve"),normalize:tL(function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},"normalize"),isAbsolute:tL(function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},"isAbsolute"),join:tL(function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var i=arguments[r];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},"join"),relative:tL(function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var a=e.length,s=a-i,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=s<l?s:l,c=-1,p=0;p<=u;++p){if(p===u){if(l>u){if(47===r.charCodeAt(o+p))return r.slice(o+p+1);if(0===p)return r.slice(o+p)}else s>u&&(47===e.charCodeAt(i+p)?c=p:0===p&&(c=0));break}var f=e.charCodeAt(i+p);if(f!==r.charCodeAt(o+p))break;47===f&&(c=p)}var d="";for(p=i+c+1;p<=a;++p)p!==a&&47!==e.charCodeAt(p)||(0===d.length?d+="..":d+="/..");return d.length>0?d+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},"relative"),_makeLong:tL(function(e){return e},"_makeLong"),dirname:tL(function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,a=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!a){i=s;break}}else a=!1;return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},"dirname"),basename:tL(function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,a=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!s){i=n+1;break}}else -1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(a=n):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else -1===a&&(s=!1,a=n+1);return -1===a?"":e.slice(i,a)},"basename"),extname:tL(function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return -1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},"extname"),format:tL(function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},"format"),parse:tL(function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var s=-1,o=0,l=-1,u=!0,c=e.length-1,p=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===s?s=c:1!==p&&(p=1):-1!==s&&(p=-1);else if(!u){o=c+1;break}return -1===s||-1===l||0===p||1===p&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):a&&(r.dir="/"),r},"parse"),sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}tL(a,"r"),a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(a.r(s),a.d(s,{URI:tL(()=>f,"URI"),Utils:tL(()=>r,"Utils")}),"object"==typeof tN)?e="win32"===tN.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//;function c(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!o.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!l.test(e.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}tL(c,"a");let p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static{tL(this,"l")}static isUri(e){return e instanceof f||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,i,a=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||a?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",c(this,a))}get fsPath(){return T(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new m(t,r,n,i,a)}static parse(e,t=!1){let r=p.exec(e);return r?new m(r[2]||"",E(r[4]||""),E(r[5]||""),E(r[7]||""),E(r[9]||""),t):new m("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new m("file",r,t,"","")}static from(e){let t=new m(e.scheme,e.authority,e.path,e.query,e.fragment);return c(t,!0),t}toString(e=!1){return v(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof f)return e;{let t=new m(e);return t._formatted=e.external,t._fsPath=e._sep===d?e.fsPath:null,t}}return e}}let d=e?1:void 0;class m extends f{static{tL(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=T(this,!1)),this._fsPath}toString(e=!1){return e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let h={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 y(e,t,r){let n,i=-1;for(let a=0;a<e.length;a++){let s=e.charCodeAt(a);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),void 0!==n&&(n+=e.charAt(a));else{void 0===n&&(n=e.substr(0,a));let t=h[s];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),n+=t):-1===i&&(i=a)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function g(e){let t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);35===n||63===n?(void 0===t&&(t=e.substr(0,r)),t+=h[n]):void 0!==t&&(t+=e[r])}return void 0!==t?t:e}function T(t,r){let n;return n=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?r?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function v(e,t){let r=t?g:y,n="",{scheme:i,authority:a,path:s,query:o,fragment:l}=e;if(i&&(n+=i,n+=":"),(a||"file"===i)&&(n+="/",n+="/"),a){let e=a.indexOf("@");if(-1!==e){let t=a.substr(0,e);a=a.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):(n+=r(t.substr(0,e),!1,!1),n+=":",n+=r(t.substr(e+1),!1,!0)),n+="@"}-1===(e=(a=a.toLowerCase()).lastIndexOf(":"))?n+=r(a,!1,!0):(n+=r(a.substr(0,e),!1,!0),n+=a.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){let e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){let e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return o&&(n+="?",n+=r(o,!1,!1)),l&&(n+="#",n+=t?l:y(l,!1,!1)),n}function $(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+$(e.substr(3)):e}}tL(y,"m"),tL(g,"y"),tL(T,"v"),tL(v,"b"),tL($,"C");let R=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(e){return e.match(R)?e.replace(R,e=>$(e)):e}tL(E,"w");var b=a(975);let A=b.posix||b;(t=r||(r={})).joinPath=function(e,...t){return e.with({path:A.join(e.path,...t)})},t.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=A.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},t.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=A.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},t.basename=function(e){return A.basename(e.path)},t.extname=function(e){return A.extname(e.path)},e1=s})();var{URI:vM,Utils:vj}=e1;!function(e){e.basename=vj.basename,e.dirname=vj.dirname,e.extname=vj.extname,e.joinPath=vj.joinPath,e.resolvePath=vj.resolvePath;let t="object"==typeof tN&&tN?.platform==="win32";function r(e,t){return e?.toString()===t?.toString()}function n(e,r){let n="string"==typeof e?vM.parse(e).path:e.path,i="string"==typeof r?vM.parse(r).path:r.path,a=n.split("/").filter(e=>e.length>0),s=i.split("/").filter(e=>e.length>0);if(t){let e=/^[A-Z]:$/;if(a[0]&&e.test(a[0])&&(a[0]=a[0].toLowerCase()),s[0]&&e.test(s[0])&&(s[0]=s[0].toLowerCase()),a[0]!==s[0])return i.substring(1)}let o=0;for(;o<a.length&&a[o]===s[o];o++);return"../".repeat(a.length-o)+s.slice(o).join("/")}function i(e){return vM.parse(e.toString()).toString()}function a(e,t){let r="string"==typeof e?e:e.path,n="string"==typeof t?t:t.path;return"/"===n.charAt(n.length-1)&&(n=n.slice(0,-1)),"/"===r.charAt(r.length-1)&&(r=r.slice(0,-1)),n===r||!(n.length<r.length)&&"/"===n.charAt(r.length)&&n.startsWith(r)}tL(r,"equals"),e.equals=r,tL(n,"relative"),e.relative=n,tL(i,"normalize"),e.normalize=i,tL(a,"contains"),e.contains=a}(e2||(e2={}));var vF=class{static{tL(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return e2.normalize(e)}clear(){this.root.children.clear()}insert(e,t){this.getNode(this.normalizeUri(e),!0).element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return void 0!==this.getNode(this.normalizeUri(e),!1)}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);if(r)return{name:r.name,uri:e2.joinPath(vM.parse(t),r.name).toString(),element:r.element}}findChildren(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);return r?Array.from(r.children.values()).map(e=>({name:e.name,uri:e2.joinPath(vM.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(e2.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let r=e.split("/");"/"===e.charAt(e.length-1)&&r.pop();let n=this.root;for(let e of r){let r=n.children.get(e);if(!r)if(!t)return;else r={name:e,children:new Map,parent:n},n.children.set(e,r);n=r}return n}collectValues(e){let t=[];for(let r of(e.element&&t.push(e.element),e.children.values()))t.push(...this.collectValues(r));return t}};(f=e3||(e3={}))[f.Changed=0]="Changed",f[f.Parsed=1]="Parsed",f[f.IndexedContent=2]="IndexedContent",f[f.ComputedScopes=3]="ComputedScopes",f[f.Linked=4]="Linked",f[f.IndexedReferences=5]="IndexedReferences",f[f.Validated=6]="Validated";var vG=class{static{tL(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=vR.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return(t=t??vM.parse(e.uri),vR.CancellationToken.is(r))?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return vR.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if("string"==typeof t){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:e3.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:e3.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){let r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),i=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let t=this.createTextDocumentGetter(e.uri,i);Object.defineProperty(e,"textDocument",{get:t})}return r!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=e3.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r,n=this.serviceRegistry;return()=>r??(r=e0.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??""))}},vz=class{static{tL(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new vF,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return rz(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,e3.Changed),r}deleteDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=e3.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){let t=e.toString(),r=this.documentTrie.findAll(t);for(let e of r)e.state=e3.Changed;return this.documentTrie.delete(t),r}},vK=Symbol("RefResolving"),vq=class{static{tL(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=vR.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of rX(e.parseResult.value))await vN(t),r0(n).forEach(t=>{let i=`${n.$type}:${t.property}`;r.startSubTask(i);try{this.doLink(t,e)}finally{r.stopSubTask(i)}})}finally{r.stop()}}else for(let r of rX(e.parseResult.value))await vN(t),r0(r).forEach(t=>this.doLink(t,e))}doLink(e,t){let r=e.reference;if("_ref"in r&&void 0===r._ref){r._ref=vK;try{let t=this.getCandidate(e);rI(t)?r._ref=t:(r._nodeDescription=t,r._ref=this.loadAstNode(t)??this.createLinkingError(e,t))}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);let t=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`}}t.references.push(r)}else if("_items"in r&&void 0===r._items){r._items=vK;try{let t=this.getCandidates(e),n=[];if(rI(t))r._linkingError=t;else for(let e of t){let t=this.loadAstNode(e);t&&n.push({ref:t,$nodeDescription:e})}r._items=n}catch(t){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`},r._items=[]}t.references.push(r)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(e=>`${e.documentUri}#${e.path}`).toArray();return t.length>0?t:this.createLinkingError(e)}buildReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_ref:void 0,get ref(){if(rk(this._ref))return this._ref;if(rw(this._nodeDescription)){let r=i.loadAstNode(this._nodeDescription);this._ref=r??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=vK;let r=rH(e).$document,n=i.getLinkedNode({reference:a,container:e,property:t});if(n.error&&r&&r.state<e3.ComputedScopes)return this._ref=void 0;this._ref=n.node??n.error,this._nodeDescription=n.descr,r?.references.push(this)}else this._ref===vK&&i.throwCyclicReferenceError(e,t,n);return rk(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return rI(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(void 0===this._items){this._items=vK;let r=rH(e).$document,n=i.getCandidates({reference:a,container:e,property:t}),s=[];if(rI(n))this._linkingError=n;else for(let e of n){let t=i.loadAstNode(e);t&&s.push({ref:t,$nodeDescription:e})}this._items=s,r?.references.push(this)}else this._items===vK&&i.throwCyclicReferenceError(e,t,n);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(this.items.length>0)return;return this._linkingError=i.createLinkingError({reference:a,container:e,property:t})}};return a}throwCyclicReferenceError(e,t,r){throw Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(rI(t))return{error:t};let r=this.loadAstNode(t);if(r)return{node:r,descr:t};return{descr:t,error:this.createLinkingError(e,t)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let t=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${t}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=rH(e.container).$document;r&&r.state<e3.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t}}};function vU(e){return"string"==typeof e.name}tL(vU,"isNamed");var vB=class{static{tL(this,"DefaultNameProvider")}getName(e){if(vU(e))return e.name}getNameNode(e){return a_(e.$cstNode,"name")}},vW=class{static{tL(this,"DefaultReferences")}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=rX(e.Grammar).some(e=>nb(e)&&e.isMulti)}findDeclarations(e){if(e){let t=aM(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(rx(n)||rN(n))return rY(n);if(Array.isArray(n)){for(let t of n)if((rx(t)||rN(t))&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return rY(t)}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||iz(e,t)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(!this.hasMultiReference)return[e];{let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(let t of r0(r))if(rN(t.reference)&&t.reference.items.some(t=>t.ref===e))return t.reference.items.map(e=>e.ref)}return[e]}}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e)??e.$cstNode;t&&r.push(t)}return r}findReferences(e,t){let r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>e2.equals(e.sourceUri,t.documentUri))),r.push(...n),rz(r)}getSelfReferences(e){let t=this.getSelfNodes(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e);if(t){let n=rV(e),i=this.nodeLocator.getAstNodePath(e);r.push({sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:iq(t),local:!0})}}return r}},vV=class{static{tL(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return eV.sum(rz(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?rz(t):rF}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return rz(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return rz(this.map.keys())}values(){return rz(this.map.values()).flat()}entriesGroupedByKey(){return rz(this.map.entries())}},vH=class{static{tL(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}},vY=class{static{tL(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=vR.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=rQ,n=vR.CancellationToken.None){let i=[];for(let a of(this.addExportedSymbol(e,i,t),r(e)))await vN(n),this.addExportedSymbol(a,i,t);return i}addExportedSymbol(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=vR.CancellationToken.None){let r=e.parseResult.value,n=new vV;for(let i of rZ(r))await vN(t),this.addLocalSymbol(i,e,n);return n}addLocalSymbol(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}},vQ=class{static{tL(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===t):this.elements.find(t=>t.name===e);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===t):this.elements.filter(t=>t.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},vZ=class{static{tL(this,"MapScope")}constructor(e,t,r){for(let t of(this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t),n=r?[r]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?rz(n).concat(this.outerScope.getElements(e)):rz(n)}getAllElements(){let e=rz(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},vX=class{static{tL(this,"MultiMapScope")}constructor(e,t,r){for(let t of(this.elements=new vV,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.add(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||0===r.length)&&this.outerScope?rz(r).concat(this.outerScope.getElements(e)):rz(r)}getAllElements(){let e=rz(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},vJ={getElement(){},getElements:()=>rF,getAllElements:()=>rF},v0=class{static{tL(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}},v1=class extends v0{static{tL(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},v2=class extends v0{static{tL(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},v3=class extends v2{static{tL(this,"DocumentCache")}constructor(e,t){super(e=>e.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,e=>{this.clear(e.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let e of t)this.clear(e)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let r of e.concat(t))this.clear(r)}))}},v9=class extends v1{static{tL(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},v4=class{static{tL(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new v9(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=rV(e.container).localSymbols;if(n){let i=e.container;do n.has(i)&&t.push(n.getStream(i).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container;while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new vQ(rz(e),t,r)}createScopeForNodes(e,t,r){return new vQ(rz(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new vX(this.indexManager.allElements(e)))}};function v5(e){return"string"==typeof e.$comment}function v6(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}tL(v5,"isAstNodeWithComment"),tL(v6,"isIntermediateReference");var v8=class{static{tL(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let r=t??{},n=t?.replacer,i=tL((e,t)=>this.replacer(e,t,r),"defaultReplacer"),a=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=rV(e),JSON.stringify(e,a,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=JSON.parse(e);return this.linkNode(r,r,t??{}),r}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:s}){if(!this.ignoreProperties.has(e)){if(rx(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:t.error?.message??"Could not resolve reference",$refText:n};{let t=rV(e),r="";this.currentDocument&&this.currentDocument!==t&&(r=s?s(t.uri,e):t.uri.toString());let i=this.astNodeLocator.getAstNodePath(e);return{$ref:`${r}#${i}`,$refText:n}}}if(rN(t)){let e=r?t.$refText:void 0,n=[];for(let e of t.items){let t=e.ref,r=rV(e.ref),i="";this.currentDocument&&this.currentDocument!==r&&(i=s?s(r.uri,t):r.uri.toString());let a=this.astNodeLocator.getAstNodePath(t);n.push(`${i}#${a}`)}return{$refs:n,$refText:e}}{let r;if(!rk(t))return t;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&r?.$textRegion&&(r.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(r??(r={...t}),r.$sourceText=t.$cstNode?.text),a){r??(r={...t});let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return r??t}}}addAstNodeRegionWithAssignmentsTo(e){let t=tL(e=>({offset:e.offset,end:e.end,length:e.length,range:e.range}),"createDocumentSegment");if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{let i=aI(e.$cstNode,n).map(t);0!==i.length&&(r[n]=i)}),e}}linkNode(e,t,r,n,i,a){for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a<i.length;a++){let s=i[a];v6(s)?i[a]=this.reviveReference(e,n,t,s,r):rk(s)&&this.linkNode(s,t,r,e,n,a)}else v6(i)?e[n]=this.reviveReference(e,n,t,i,r):rk(i)&&this.linkNode(i,t,r,e,n);e.$container=n,e.$containerProperty=i,e.$containerIndex=a}reviveReference(e,t,r,n,i){let a,s=n.$refText,o=n.$error;if(n.$ref){let e=this.getRefNode(r,n.$ref,i.uriConverter);if(rk(e))return s||(s=this.nameProvider.getName(e)),{$refText:s??"",ref:e};o=e}else if(n.$refs){let e=[];for(let t of n.$refs){let n=this.getRefNode(r,t,i.uriConverter);rk(n)&&e.push({ref:n})}if(0!==e.length)return{$refText:s??"",items:e};a={$refText:s??"",items:e},o??(o="Could not resolve multi-reference")}return o?(a??(a={$refText:s??"",ref:void 0}),a.error={info:{container:e,property:t,reference:a},message:o},a):void 0}getRefNode(e,t,r){try{let n=t.indexOf("#");if(0===n){let r=this.astNodeLocator.getAstNode(e,t.substring(1));if(!r)return"Could not resolve path: "+t;return r}if(n<0){let e=r?r(t):vM.parse(t),n=this.langiumDocuments.getDocument(e);if(!n)return"Could not find document for URI: "+t;return n.parseResult.value}let i=r?r(t.substring(0,n)):vM.parse(t.substring(0,n)),a=this.langiumDocuments.getDocument(i);if(!a)return"Could not find document for URI: "+t;if(n===t.length-1)return a.parseResult.value;let s=this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(n+1));if(!s)return"Could not resolve URI: "+t;return s}catch(e){return String(e)}}},v7=class{static{tL(this,"DefaultServiceRegistry")}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 t=e.LanguageMetaData;for(let r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);if(t.fileNames)for(let r of t.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(t.languageId,e)}getServices(e){if(0===this.languageIdMap.size)throw Error("The service registry is empty. Use `register` to register the services of a language.");let t=this.textDocuments?.get(e)?.languageId;if(void 0!==t){let e=this.languageIdMap.get(t);if(e)return e}let r=e2.extname(e),n=e2.basename(e),i=this.fileNameMap.get(n)??this.fileExtensionMap.get(r);if(!i)if(t)throw Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`);else throw Error(`The service registry contains no services for the extension '${r}'.`);return i}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function $e(e){return{code:e}}tL($e,"diagnosticData"),(d=e9||(e9={})).defaults=["fast","slow","built-in"],d.all=d.defaults;var $t=class{static{tL(this,"ValidationRegistry")}constructor(e){this.entries=new vV,this.knownCategories=new Set(e9.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[n,i]of(this.knownCategories.add(r),Object.entries(e)))if(Array.isArray(i))for(let e of i){let i={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,i)}else if("function"==typeof i){let e={check:this.wrapValidationException(i,t),category:r};this.addEntry(n,e)}else i6(i)}wrapValidationException(e,t){return async(r,n,i)=>{await this.handleException(()=>e.call(t,r,n,i),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(i){if(vx(i))throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);let e=i instanceof Error?i.message:String(i);r("error",`${t}: ${e}`,{node:n})}}addEntry(e,t){if("AstNode"===e)return void this.entries.add("AstNode",t);for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=rz(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,a,s)=>{await this.handleException(()=>e.call(r,n,i,a,s),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},$r=Object.freeze({validateNode:!0,validateChildren:!0}),$n=class{static{tL(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},r=vR.CancellationToken.None){let n=e.parseResult,i=[];if((await vN(r),!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===e4.LexingError)||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===e4.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===e4.LinkingError))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(vx(e))throw e;console.error("An error occurred during validation:",e)}return await vN(r),i}processLexingErrors(e,t,r){for(let r of[...e.lexerErrors,...e.lexerReport?.diagnostics??[]]){let e=r.severity??"error",n={severity:$a(e),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:$s(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=iK(r.token);if(e){let n={severity:$a("error"),range:e,message:r.message,data:$e(e4.ParsingError),source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let n={node:e.info.container,range:r.$refNode?.range,property:e.info.property,index:e.info.index,data:{code:e4.LinkingError,containerType:e.info.container.$type,property:e.info.property,refText:e.info.reference.$refText}};t.push(this.toDiagnostic("error",e.message,n))}}}async validateAst(e,t,r=vR.CancellationToken.None){let n=[],i=tL((e,t,r)=>{n.push(this.toDiagnostic(e,t,r))},"acceptor");return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=vR.CancellationToken.None){for(let i of this.validationRegistry.checksBefore)await vN(n),await i(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=vR.CancellationToken.None){if(this.profiler?.isActive("validating")){let i=this.profiler.createTask("validating",this.languageId);i.start();try{let a=rX(e).iterator();for(let e of a){i.startSubTask(e.$type);let s=this.validateSingleNodeOptions(e,t);if(s.validateNode)try{for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n)}finally{i.stopSubTask(e.$type)}s.validateChildren||a.prune()}}finally{i.stop()}}else{let i=rX(e).iterator();for(let e of i){await vN(n);let a=this.validateSingleNodeOptions(e,t);if(a.validateNode)for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n);a.validateChildren||i.prune()}}}validateSingleNodeOptions(e,t){return $r}async validateAstAfter(e,t,r,n=vR.CancellationToken.None){for(let i of this.validationRegistry.checksAfter)await vN(n),await i(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:$i(r),severity:$a(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function $i(e){let t;return e.range?e.range:("string"==typeof e.property?t=a_(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=aD(e.node.$cstNode,e.keyword,e.index)),t??(t=e.node.$cstNode),t)?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function $a(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}function $s(e){switch(e){case"error":return $e(e4.LexingError);case"warning":return $e(e4.LexingWarning);case"info":return $e(e4.LexingInfo);case"hint":return $e(e4.LexingHint);default:throw Error("Invalid diagnostic severity: "+e)}}tL($i,"getDiagnosticRange"),tL($a,"toDiagnosticSeverity"),tL($s,"toDiagnosticData"),(m=e4||(e4={})).LexingError="lexing-error",m.LexingWarning="lexing-warning",m.LexingInfo="lexing-info",m.LexingHint="lexing-hint",m.ParsingError="parsing-error",m.LinkingError="linking-error";var $o=class{static{tL(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n,i=r??rV(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${a} has no name.`);let s=tL(()=>n??(n=iq(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return s()},selectionSegment:iq(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},$l=class{static{tL(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=vR.CancellationToken.None){let r=[];for(let n of rX(e.parseResult.value))await vN(t),r0(n).forEach(e=>{e.reference.error||r.push(...this.createInfoDescriptions(e))});return r}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let r=[];rx(t)&&t.$nodeDescription?r=[t.$nodeDescription]:rN(t)&&(r=t.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));let n=rV(e.container).uri,i=this.nodeLocator.getAstNodePath(e.container),a=[],s=iq(t.$refNode);for(let e of r)a.push({sourceUri:n,sourcePath:i,targetUri:e.documentUri,targetPath:e.path,segment:s,local:e2.equals(e.documentUri,n)});return a}},$u=class{static{tL(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),a=e[n];return a?.[i]}return e[t]},e)}},$c={};tG($c,tz(tV(),1));var $p=class{static{tL(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new vw,this.onConfigurationSectionUpdateEmitter=new $c.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){"object"==typeof e.settings&&null!==e.settings&&Object.entries(e.settings).forEach(([e,t])=>{this.updateSectionConfiguration(e,t),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:t})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},$f=tz(rA(),1),$d=e5||(e5={});function $m(e){return{dispose:tL(async()=>await e(),"dispose")}}tL($m,"create"),$d.create=$m;var $h=class{static{tL(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new vV,this.documentPhaseListeners=new vV,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=e3.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=vR.CancellationToken.None){for(let r of e){let e=r.uri.toString();if(r.state===e3.Validated){if("boolean"==typeof t.validation&&t.validation)this.resetToState(r,e3.IndexedReferences);else if("object"==typeof t.validation){let n=this.findMissingValidationCategories(r,t);n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:{categories:n}},result:this.buildState.get(e)?.result}),r.state=e3.IndexedReferences)}}else this.buildState.delete(e)}this.currentState=e3.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=vR.CancellationToken.None){this.currentState=e3.Changed;let n=[];for(let e of t)for(let t of this.langiumDocuments.deleteDocuments(e))n.push(t.uri),this.cleanUpDeleted(t);let i=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(let e of i){let t=this.langiumDocuments.getDocument(e);void 0===t&&((t=this.langiumDocumentFactory.fromModel({$type:"INVALID"},e)).state=e3.Changed,this.langiumDocuments.addDocument(t)),this.resetToState(t,e3.Changed)}let a=rz(i).concat(n).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!a.has(e.uri.toString())&&this.shouldRelink(e,a)).forEach(e=>this.resetToState(e,e3.ComputedScopes)),await this.emitUpdate(i,n),await vN(r);let s=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<e3.Validated||!this.buildState.get(e.uri.toString())?.completed||this.resultsAreIncomplete(e,this.updateBuildOptions)).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){let r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),i=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set;return rz(void 0===t||!0===t.validation?n:"object"==typeof t.validation?t.validation.categories??n:[]).filter(e=>!i.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let t=await this.fileSystemProvider.stat(e);if(t.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(t))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),e5.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case e3.Changed:case e3.Parsed:this.indexManager.removeContent(e.uri);case e3.IndexedContent:e.localSymbols=void 0;case e3.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case e3.Linked:this.indexManager.removeReferences(e.uri);case e3.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case e3.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=e3.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,e3.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,e3.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,e3.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.localSymbols=await t.collectLocalSymbols(e,r)});let n=e.filter(e=>this.shouldLink(e));await this.runCancelable(n,e3.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(n,e3.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let i=e.filter(e=>!!this.shouldValidate(e)||(this.markAsCompleted(e),!1));await this.runCancelable(i,e3.Validated,r,async e=>{await this.validate(e,r),this.markAsCompleted(e)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:n?.result})}}async runCancelable(e,t,r,n){for(let i of e)i.state<t&&(await vN(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r));let i=e.filter(e=>e.state===t);await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),e5.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),e5.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return(t&&"path"in t?n=t:r=t,r??(r=vR.CancellationToken.None),n)?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){let n=this.langiumDocuments.getDocument(t);return n?n.state>=e?Promise.resolve(t):r.isCancellationRequested?Promise.reject(vk):this.currentState>=e&&e>n.state?Promise.reject(new $f.ResponseError($f.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${e3[n.state]}, requiring ${e3[e]}, but workspace state is already ${e3[this.currentState]}. Returning undefined.`)):new Promise((n,i)=>{let a=this.onDocumentPhase(e,e=>{e2.equals(e.uri,t)&&(a.dispose(),s.dispose(),n(e.uri))}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(vk)})}):Promise.reject(new $f.ResponseError($f.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(vk):new Promise((r,n)=>{let i=this.onBuildPhase(e,()=>{i.dispose(),a.dispose(),r()}),a=t.onCancellationRequested(()=>{i.dispose(),a.dispose(),n(vk)})})}async notifyDocumentPhase(e,t,r){for(let n of this.documentPhaseListeners.get(t).slice())try{await vN(r),await n(e,r)}catch(e){if(!vx(e))throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t).slice())await vN(r),await n(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),i="object"==typeof n.validation?{...n.validation}:{};i.categories=this.findMissingValidationCategories(e,n);let a=await r.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let s=this.buildState.get(e.uri.toString());s&&(s.result??(s.result={}),s.result.validationChecks?s.result.validationChecks=rz(s.result.validationChecks).concat(i.categories).distinct().toArray():s.result.validationChecks=[...i.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},$y=class{static{tL(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new v2,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=rV(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{e2.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),rz(n)}allElements(e,t){let r=rz(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=vR.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.collectExportedSymbols(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=vR.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}},$g=class{static{tL(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new vw,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=vR.CancellationToken.None){let r=await this.performStartup(e);await vN(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=[],r=tL(e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)},"collector");await this.loadAdditionalDocuments(e,r);let n=[];await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,n)));let i=rz(n).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e));return await this.loadWorkspaceDocuments(i,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{t(await this.langiumDocuments.getOrCreateDocument(e))}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return vM.parse(e.uri)}async traverseFolder(e,t){try{let r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async e=>{this.shouldIncludeEntry(e)&&(e.isDirectory?await this.traverseFolder(e.uri,t):e.isFile&&t.push(e.uri))}))}catch(t){console.error("Failure to read directory content of "+e.toString(!0),t)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=e2.basename(e.uri);return!t.startsWith(".")&&(e.isDirectory?"node_modules"!==t&&"out"!==t:!!e.isFile&&this.serviceRegistry.hasServices(e.uri))}},$T=class{static{tL(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,i){return fD.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return fD.buildUnableToPopLexerModeMessage(e)}},$v={mode:"full"},$$=class{static{tL(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=$b(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new fM(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=$v){let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if($b(e))return e;let t=$E(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}};function $R(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}function $E(e){return e&&"modes"in e&&"defaultMode"in e}function $b(e){return!$R(e)&&!$E(e)}function $A(e,t,r){let n,i;return"string"==typeof e?(i=t,n=r):(i=e.range.start,n=t),i||(i=$.create(0,0)),$D({index:0,tokens:$N({lines:$S(e),position:i,options:$K(n)}),position:i})}function $C(e,t){let r=$K(t),n=$S(e);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function $S(e){return("string"==typeof e?e:e.text).split(am)}tL($R,"isTokenTypeArray"),tL($E,"isIMultiModeLexerDefinition"),tL($b,"isTokenTypeDictionary"),tU(),tL($A,"parseJSDoc"),tL($C,"isJSDoc"),tL($S,"getLines");var $k=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,$x=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function $N(e){let t=[],r=e.position.line,n=e.position.character;for(let i=0;i<e.lines.length;i++){let a=0===i,s=i===e.lines.length-1,o=e.lines[i],l=0;if(a&&e.options.start){let t=e.options.start?.exec(o);t&&(l=t.index+t[0].length)}else{let t=e.options.line?.exec(o);t&&(l=t.index+t[0].length)}if(s){let t=e.options.end?.exec(o);t&&(o=o.substring(0,t.index))}if($P(o=o.substring(0,$O(o)),l)>=o.length){if(t.length>0){let e=$.create(r,n);t.push({type:"break",content:"",range:R.create(e,e)})}}else{$k.lastIndex=l;let e=$k.exec(o);if(e){let i=e[0],a=e[1],s=$.create(r,n+l),u=$.create(r,n+l+i.length);t.push({type:"tag",content:a,range:R.create(s,u)}),l+=i.length,l=$P(o,l)}if(l<o.length){let e=o.substring(l),i=Array.from(e.matchAll($x));t.push(...$w(i,e,r,n+l))}}r++,n=0}return t.length>0&&"break"===t[t.length-1].type?t.slice(0,-1):t}function $w(e,t,r,n){let i=[];if(0===e.length){let e=$.create(r,n),a=$.create(r,n+t.length);i.push({type:"text",content:t,range:R.create(e,a)})}else{let a=0;for(let s of e){let e=s.index,o=t.substring(a,e);o.length>0&&i.push({type:"text",content:t.substring(a,e),range:R.create($.create(r,a+n),$.create(r,e+n))});let l=o.length+1,u=s[1];if(i.push({type:"inline-tag",content:u,range:R.create($.create(r,a+l+n),$.create(r,a+l+u.length+n))}),l+=u.length,4===s.length){l+=s[2].length;let e=s[3];i.push({type:"text",content:e,range:R.create($.create(r,a+l+n),$.create(r,a+l+e.length+n))})}else i.push({type:"text",content:"",range:R.create($.create(r,a+l+n),$.create(r,a+l+n))});a=e+s[0].length}let s=t.substring(a);s.length>0&&i.push({type:"text",content:s,range:R.create($.create(r,a+n),$.create(r,a+n+s.length))})}return i}tL($N,"tokenize"),tL($w,"buildInlineTokens");var $I=/\S/,$_=/\s*$/;function $P(e,t){let r=e.substring(t).match($I);return r?t+r.index:e.length}function $O(e){let t=e.match($_);if(t&&"number"==typeof t.index)return t.index}function $D(e){let t=$.create(e.position.line,e.position.character);if(0===e.tokens.length)return new $U([],R.create(t,t));let r=[];for(;e.index<e.tokens.length;){let t=$L(e,r[r.length-1]);t&&r.push(t)}let n=r[0]?.range.start??t,i=r[r.length-1]?.range.end??t;return new $U(r,R.create(n,i))}function $L(e,t){let r=e.tokens[e.index];return"tag"===r.type?$G(e,!1):"text"===r.type||"inline-tag"===r.type?$j(e):($M(r,t),void e.index++)}function $M(e,t){if(t){let r=new $Y("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}function $j(e){let t=e.tokens[e.index],r=t,n=t,i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)i.push($F(e)),n=t,t=e.tokens[e.index];return new $H(i,R.create(r.range.start,n.range.end))}function $F(e){return"inline-tag"===e.tokens[e.index].type?$G(e,!0):$z(e)}function $G(e,t){let r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];if(i?.type==="text")if(t){let i=$z(e);return new $B(n,new $H([i],i.range),t,R.create(r.range.start,i.range.end))}else{let i=$j(e);return new $B(n,i,t,R.create(r.range.start,i.range.end))}{let e=r.range;return new $B(n,new $H([],e),t,e)}}function $z(e){let t=e.tokens[e.index++];return new $Y(t.content,t.range)}function $K(e){if(!e)return $K({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:$q(t,!0),end:$q(r,!1),line:$q(n,!0)}}function $q(e,t){if("string"!=typeof e&&"object"!=typeof e)return e;{let r="string"==typeof e?aR(e):e.source;return t?RegExp(`^\\s*${r}`):RegExp(`\\s*${r}\\s*$`)}}tL($P,"skipWhitespace"),tL($O,"lastCharacter"),tL($D,"parseJSDocComment"),tL($L,"parseJSDocElement"),tL($M,"appendEmptyLine"),tL($j,"parseJSDocText"),tL($F,"parseJSDocInline"),tL($G,"parseJSDocTag"),tL($z,"parseJSDocLine"),tL($K,"normalizeOptions"),tL($q,"normalizeOption");var $U=class{static{tL(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=$Q(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=$Q(t)+n}return t.trim()}},$B=class{static{tL(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return(1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}
80
+ For Further details.`}function Tk(e){if(e instanceof po)return"SUBRULE";if(e instanceof pc)return"OPTION";if(e instanceof ph)return"OR";if(e instanceof pp)return"AT_LEAST_ONE";if(e instanceof pf)return"AT_LEAST_ONE_SEP";else if(e instanceof pm)return"MANY_SEP";else if(e instanceof pd)return"MANY";else if(e instanceof py)return"CONSUME";else throw Error("non exhaustive match")}function Tx(e,t,r){return{actualToken:r,possibleTokenTypes:Ts(g5(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof gA).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function TN(e,t){return e.edges[t.tokenTypeIdx]}function Tw(e,t,r){let n,i=new gX,a=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){a.push(n);continue}let e=n.state.transitions.length;for(let r=0;r<e;r++){let e=TI(n.state.transitions[r],t);void 0!==e&&i.add({state:e,alt:n.alt,stack:n.stack})}}if(0===a.length&&1===i.size&&(n=i),void 0===n)for(let e of(n=new gX,i.elements))TM(e,n);if(a.length>0&&!TF(n))for(let e of a)n.add(e);return n}function TI(e,t){if(e instanceof gA&&fX(t,e.tokenType))return e.target}function T_(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}function TP(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function TO(e,t,r,n){return n=TD(e,n),t.edges[r.tokenTypeIdx]=n,n}function TD(e,t){if(t===gZ)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function TL(e){let t=new gX,r=e.transitions.length;for(let n=0;n<r;n++)TM({state:e.transitions[n].target,alt:n,stack:[]},t);return t}function TM(e,t){let r=e.state;if(7===r.type){if(e.stack.length>0){let r=[...e.stack];TM({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i<n;i++){let n=Tj(e,r.transitions[i]);void 0!==n&&TM(n,t)}}function Tj(e,t){if(t instanceof gC)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof gS){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}function TF(e){for(let t of e.elements)if(7===t.state.type)return!0;return!1}function TG(e){for(let t of e.elements)if(7!==t.state.type)return!1;return!0}function Tz(e){if(TG(e))return!0;let t=TK(e.elements);return Tq(t)&&!TU(t)}function TK(e){let t=new Map;for(let r of e){let e=gJ(r,!1),n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}function Tq(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}function TU(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}tL(T$,"isLL1Sequence"),tL(TR,"initATNSimulator"),tL(TE,"adaptivePredict"),tL(Tb,"performLookahead"),tL(TA,"computeLookaheadTarget"),tL(TC,"reportLookaheadAmbiguity"),tL(TS,"buildAmbiguityError"),tL(Tk,"getProductionDslName"),tL(Tx,"buildAdaptivePredictError"),tL(TN,"getExistingTargetState"),tL(Tw,"computeReachSet"),tL(TI,"getReachableTarget"),tL(T_,"getUniqueAlt"),tL(TP,"newDFAState"),tL(TO,"addDFAEdge"),tL(TD,"addDFAState"),tL(TL,"computeStartState"),tL(TM,"closure"),tL(Tj,"getEpsilonTarget"),tL(TF,"hasConfigInRuleStopState"),tL(TG,"allConfigsInRuleStopStates"),tL(Tz,"hasConflictTerminatingPrediction"),tL(TK,"getConflictingAltSets"),tL(Tq,"hasConflictingAltSet"),tL(TU,"hasStateAssociatedWithOneAlt"),tU();var TB=class{static{tL(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new TQ(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new TH;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new TV(e.startOffset,e.image.length,iK(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let r of e){let e=new TV(r.startOffset,r.image.length,iK(r),r.tokenType,!0);e.root=this.rootNode,t.push(e)}let r=this.current,n=!1;if(r.content.length>0)return void r.content.push(...t);for(;r.container;){let e=r.container.content.indexOf(r);if(e>0){r.container.content.splice(e,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;"string"!=typeof e.$type||e.$infixName||(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},TW=class{static{tL(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e="string"==typeof this._astNode?.$type?this._astNode:this.container?.astNode;if(!e)throw Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},TV=class extends TW{static{tL(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},TH=class extends TW{static{tL(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new TY(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(!e||!t)return{start:$.create(0,0),end:$.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}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 t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},TY=class e extends Array{static{tL(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,e.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}},TQ=class extends TH{static{tL(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},TZ=Symbol("Datatype");function TX(e){return e.$type===TZ}tL(TX,"isDataTypeNode");var TJ=tL(e=>e.endsWith("​")?e:e+"​","withRuleSuffix"),T0=class{static{tL(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new T6(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new T5(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},T1=class extends T0{static{tL(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new TB,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let r,n=this.computeRuleType(e);nM(e)&&(r=e.name,this.registerPrecedenceMap(e));let i=this.wrapper.DEFINE_RULE(TJ(e.name),this.startImplementation(n,r,t).bind(this));return this.allRules.set(e.name,i),n9(e)&&e.entry&&(this.mainRule=i),i}registerPrecedenceMap(e){let t=e.name,r=new Map;for(let t=0;t<e.operators.precedences.length;t++){let n=e.operators.precedences[t];for(let e of n.operators)r.set(e.value,{precedence:t,rightAssoc:"right"===n.associativity})}this.operatorPrecedence.set(t,r)}computeRuleType(e){if(nM(e))return aY(e);if(!e.fragment)if(aU(e))return TZ;else return aY(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let i=this.doParse(n);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,rU(i,{deep:!0}),{value:i,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),void 0===t)throw Error("No result from parser");if(this.stack.length>0)throw Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,r){return n=>{let i=!this.isRecording()&&void 0!==e;if(i){let r={$type:e};this.stack.push(r),e===TZ?r.value="":void 0!==t&&(r.$infixName=t)}return r(n),i?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>r)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:i,crossRef:a}=this.getAssignment(r),s=this.current;if(i){let e=nB(r)?n.image:this.converter.convert(n.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(TX(s)){let e=n.image;nB(r)||(e=this.converter.convert(e,t).toString()),s.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let a,s;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(n));try{s=this.wrapper.wrapSubrule(e,t,i)}finally{!this.isRecording()&&(void 0!==s||r||(s=this.construct()),void 0!==s&&a&&a.length>0&&this.performSubruleAssignment(s,n,a))}}performSubruleAssignment(e,t,r){let{assignment:n,crossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(TX(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode)):r.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return(this.nodeBuilder.construct(e),"$infixName"in e)?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):TX(e)?this.converter.convert(e.value,e.$cstNode):(r1(this.astReflection,e),e)}constructInfix(e,t){let r=e.parts;if(!Array.isArray(r)||0===r.length)return;let n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let i=0,a=-1;for(let e=0;e<n.length;e++){let r=n[e],s=t.get(r)??{precedence:1/0,rightAssoc:!1};s.precedence>a?(a=s.precedence,i=e):s.precedence!==a||s.rightAssoc||(i=e)}let s=n.slice(0,i),o=n.slice(i+1),l=r.slice(0,i+1),u=r.slice(i+1),c={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:s},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f=this.constructInfix(c,t),d=this.constructInfix(p,t);return{$type:e.$type,$cstNode:e.$cstNode,left:f,operator:n[i],right:d}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=rB(e,nd);this.assignmentMap.set(e,{assignment:t,crossRef:t&&nb(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let a,s=this.current;switch(a="single"===i&&"string"==typeof r?this.linker.buildReference(s,t,n,r):"multi"===i&&"string"==typeof r?this.linker.buildMultiReference(s,t,n,r):r,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},T2=class{static{tL(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return fJ.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return fJ.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return fJ.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return fJ.buildEarlyExitMessage(e)}},T3=class extends T2{static{tL(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){let r=e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`;return`Expecting ${r} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},T4=class extends T0{static{tL(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let r=this.wrapper.DEFINE_RULE(TJ(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},T9={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new T3},T5=class extends m_{static{tL(this,"ChevrotainWrapper")}constructor(e,t){let r=t&&"maxLookahead"in t;super(e,{...T9,lookaheadStrategy:r?new d5({maxLookahead:t.maxLookahead}):new Tv({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},T6=class extends T5{static{tL(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function T7(e,t,r){return T8({parser:t,tokens:r,ruleNames:new Map},e),t}function T8(e,t){let r=aS(t,!1);for(let n of rz(t.rules).filter(n9).filter(e=>r.has(e))){let t={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(n,vt(t,n.definition))}for(let n of rz(t.rules).filter(nM).filter(e=>r.has(e)))e.parser.rule(n,ve(e,n))}function ve(e,t){let r,n=t.call.rule.ref;if(!n)throw Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(ig(n))throw Error("Cannot use terminal rule in infix expression");let i=t.operators.precedences.flatMap(e=>e.operators),a={$type:"Group",elements:[]},s={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},o={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(s,o);let l={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:i}},u={...s,$container:o};o.elements.push(l,u);let c=i.map(t=>e.tokens[t.value]).map((t,r)=>({ALT:tL(()=>e.parser.consume(r,t,l),"ALT")}));return t=>{r??(r=vd(e,n)),e.parser.subrule(0,r,!1,s,t),e.parser.many(0,{DEF:tL(()=>{e.parser.alternatives(0,c),e.parser.subrule(1,r,!1,u,t)},"DEF")})}}function vt(e,t,r=!1){let n;if(nB(t))n=vp(e,t);else if(na(t))n=vr(e,t);else if(nd(t))n=vt(e,t.terminal);else if(nb(t))n=vc(e,t);else if(ii(t))n=vn(e,t);else if(no(t))n=vs(e,t);else if(iN(t))n=vo(e,t);else if(nP(t))n=vl(e,t);else if(nk(t)){let r=e.consume++;n=tL(()=>e.parser.consume(r,fQ,t),"method")}else throw new i5(t.$cstNode,`Unexpected element type: ${t.$type}`);return vf(e,r?void 0:vu(t),n,t.cardinality)}function vr(e,t){let r=aY(t);return()=>e.parser.action(r,t)}function vn(e,t){let r=t.rule.ref;if(r8(r)){let n,i=e.subrule++,a=n9(r)&&r.fragment,s=t.arguments.length>0?vi(r,t.arguments):()=>({});return o=>{n??(n=vd(e,r)),e.parser.subrule(i,n,a,t,s(o))}}if(ig(r)){let n=e.consume++,i=vh(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)i6(r);else throw new i5(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}function vi(e,t){if(t.some(e=>e.calledByName)){let e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:va(e.value)}));return t=>{let r={};for(let{parameterName:n,predicate:i}of e)n&&(r[n]=i(t));return r}}{let r=t.map(e=>va(e.value));return t=>{let n={};for(let i=0;i<r.length;i++)if(i<e.parameters.length){let a=e.parameters[i].name,s=r[i];n[a]=s(t)}return n}}}function va(e){if(nC(e)){let t=va(e.left),r=va(e.right);return e=>t(e)||r(e)}if(nR(e)){let t=va(e.left),r=va(e.right);return e=>t(e)&&r(e)}if(nZ(e)){let t=va(e.value);return e=>!t(e)}if(n3(e)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(nh(e)){let t=!!e.true;return()=>t}i6(e)}function vs(e,t){if(1===t.elements.length)return vt(e,t.elements[0]);{let r=[];for(let n of t.elements){let t={ALT:vt(e,n,!0)},i=vu(n);i&&(t.GATE=va(i)),r.push(t)}let n=e.or++;return t=>e.parser.alternatives(n,r.map(e=>{let r={ALT:tL(()=>e.ALT(t),"ALT")},n=e.GATE;return n&&(r.GATE=()=>n(t)),r}))}}function vo(e,t){if(1===t.elements.length)return vt(e,t.elements[0]);let r=[];for(let n of t.elements){let t={ALT:vt(e,n,!0)},i=vu(n);i&&(t.GATE=va(i)),r.push(t)}let n=e.or++,i=tL((e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},"idFunc"),a=tL(t=>e.parser.alternatives(n,r.map((r,a)=>{let s={ALT:tL(()=>!0,"ALT")},o=e.parser;s.ALT=()=>{if(r.ALT(t),!o.isRecording()){let e=i(n,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);void 0===t?.[a]&&(t[a]=!0)}};let l=r.GATE;return l?s.GATE=()=>l(t):s.GATE=()=>{let e=o.unorderedGroups.get(i(n,o));return!e?.[a]},s})),"alternatives"),s=vf(e,vu(t),a,"*");return t=>{s(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(n,e.parser))}}function vl(e,t){let r=t.elements.map(t=>vt(e,t));return e=>r.forEach(t=>t(e))}function vu(e){if(nP(e))return e.guardCondition}function vc(e,t,r=t.terminal){if(r)if(ii(r)&&n9(r.rule.ref)){let n,i=r.rule.ref,a=e.subrule++;return r=>{n??(n=vd(e,i)),e.parser.subrule(a,n,!1,t,r)}}else if(ii(r)&&ig(r.rule.ref)){let n=e.consume++,i=vh(e,r.rule.ref.name);return()=>e.parser.consume(n,i,t)}else if(nB(r)){let n=e.consume++,i=vh(e,r.value);return()=>e.parser.consume(n,i,t)}else throw Error("Could not build cross reference parser");{if(!t.type.ref)throw Error("Could not resolve reference to type: "+t.type.$refText);let r=aj(t.type.ref),n=r?.terminal;if(!n)throw Error("Could not find name assignment for type: "+aY(t.type.ref));return vc(e,t,n)}}function vp(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}function vf(e,t,r,n){let i=t&&va(t);if(!n)if(!i)return r;else{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:tL(()=>r(n),"ALT"),GATE:tL(()=>i(n),"GATE")},{ALT:mw(),GATE:tL(()=>!i(n),"GATE")}])}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:tL(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:tL(()=>r(n),"DEF")});{let n=e.or++;return a=>e.parser.alternatives(n,[{ALT:tL(()=>e.parser.atLeastOne(t,{DEF:tL(()=>r(a),"DEF")}),"ALT"),GATE:tL(()=>i(a),"GATE")},{ALT:mw(),GATE:tL(()=>!i(a),"GATE")}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:tL(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}i6(n)}function vd(e,t){let r=vm(e,t),n=e.parser.getRule(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function vm(e,t){if(r8(t))return t.name;{if(e.ruleNames.has(t))return e.ruleNames.get(t);let r=t,n=r.$container,i=t.$type;for(;!n9(n);)(nP(n)||no(n)||iN(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}function vh(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}function vy(e){let t=e.Grammar,r=e.parser.Lexer,n=new T4(e);return T7(t,n,r.definition),n.finalize(),n}function vg(e){let t=vT(e);return t.finalize(),t}function vT(e){let t=e.Grammar,r=e.parser.Lexer;return T7(t,new T1(e),r.definition)}tL(T7,"createParser"),tL(T8,"buildRules"),tL(ve,"buildInfixRule"),tL(vt,"buildElement"),tL(vr,"buildAction"),tL(vn,"buildRuleCall"),tL(vi,"buildRuleCallPredicate"),tL(va,"buildPredicate"),tL(vs,"buildAlternatives"),tL(vo,"buildUnorderedGroup"),tL(vl,"buildGroup"),tL(vu,"getGuardCondition"),tL(vc,"buildCrossReference"),tL(vp,"buildKeyword"),tL(vf,"wrap"),tL(vd,"getRule"),tL(vm,"getRuleName"),tL(vh,"getToken"),tL(vy,"createCompletionParser"),tL(vg,"createLangiumParser"),tL(vT,"prepareLangiumParser");var vv=class{static{tL(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){let r=rz(aS(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return i.push(...n),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ig).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=aJ(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return"function"==typeof r&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=a$(t)?fM.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(r8).flatMap(e=>rZ(e).filter(nB)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),i={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?RegExp(aR(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=r?.PATTERN;return n?.source&&aE("^"+n.source+"$",e.value)&&t.push(r),t},[])}},v$=class{static{tL(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(nb(r)&&(r=aN(r)),ii(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return eJ.convertInt(t);case"STRING":return eJ.convertString(t);case"ID":return eJ.convertID(t)}switch(aX(e)?.toLowerCase()){case"number":return eJ.convertNumber(t);case"boolean":return eJ.convertBoolean(t);case"bigint":return eJ.convertBigint(t);case"date":return eJ.convertDate(t);default:return t}}};!function(e){function t(e){let t="";for(let n=1;n<e.length-1;n++){let i=e.charAt(n);"\\"===i?t+=r(e.charAt(++n)):t+=i}return t}function r(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return e}}function n(e){return"^"===e.charAt(0)?e.substring(1):e}function i(e){return parseInt(e)}function a(e){return BigInt(e)}function s(e){return new Date(e)}function o(e){return Number(e)}function l(e){return"true"===e.toLowerCase()}tL(t,"convertString"),e.convertString=t,tL(r,"convertEscapeCharacter"),tL(n,"convertID"),e.convertID=n,tL(i,"convertInt"),e.convertInt=i,tL(a,"convertBigint"),e.convertBigint=a,tL(s,"convertDate"),e.convertDate=s,tL(o,"convertNumber"),e.convertNumber=o,tL(l,"convertBoolean"),e.convertBoolean=l}(eJ||(eJ={}));var vR={};function vE(){return new Promise(e=>{"u"<typeof setImmediate?setTimeout(e,0):setImmediate(e)})}tG(vR,tz(tH(),1)),tL(vE,"delayNextTick");var vb=0,vA=10;function vC(){return vb=performance.now(),new vR.CancellationTokenSource}function vS(e){vA=e}tL(vC,"startCancelableOperation"),tL(vS,"setInterruptionPeriod");var vk=Symbol("OperationCancelled");function vx(e){return e===vk}async function vN(e){if(e===vR.CancellationToken.None)return;let t=performance.now();if(t-vb>=vA&&(vb=t,await vE(),vb=performance.now()),e.isCancellationRequested)throw vk}tL(vx,"isOperationCancelled"),tL(vN,"interruptAndCheck");var vw=class{static{tL(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},vI=class e{static{tL(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(t,r){for(let r of t)if(e.isIncremental(r)){let e=vD(r.range),t=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,t)+r.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),s=this._lineOffsets,o=vP(r.text,!1,t);if(a-i===o.length)for(let e=0,t=o.length;e<t;e++)s[e+i+1]=o[e];else o.length<1e4?s.splice(i+1,a-i,...o):this._lineOffsets=s=s.slice(0,i+1).concat(o,s.slice(a+1));let l=r.text.length-(n-t);if(0!==l)for(let e=i+1+o.length,t=s.length;e<t;e++)s[e]=s[e]+l}else if(e.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=r}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=vP(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(r+e.character,n);return this.ensureBeforeEOL(i,r)}ensureBeforeEOL(e,t){for(;e>t&&vO(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}};function v_(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),i=e.slice(r);v_(n,t),v_(i,t);let a=0,s=0,o=0;for(;a<n.length&&s<i.length;)0>=t(n[a],i[s])?e[o++]=n[a++]:e[o++]=i[s++];for(;a<n.length;)e[o++]=n[a++];for(;s<i.length;)e[o++]=i[s++];return e}function vP(e,t,r=0){let n=t?[r]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);vO(i)&&(13===i&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function vO(e){return 13===e||10===e}function vD(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function vL(e){let t=vD(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){function t(e,t,r,n){return new vI(e,t,r,n)}function r(e,t,r){if(e instanceof vI)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")}function n(e,t){let r=e.getText(),n=v_(t.map(vL),(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,a=[];for(let t of n){let n=e.offsetAt(t.range.start);if(n<i)throw Error("Overlapping edit");n>i&&a.push(r.substring(i,n)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(r.substr(i)),a.join("")}tL(t,"create"),e.create=t,tL(r,"update"),e.update=r,tL(n,"applyEdits"),e.applyEdits=n}(e0||(e0={})),tL(v_,"mergeSort"),tL(vP,"computeLineOffsets"),tL(vO,"isEOL"),tL(vD,"getWellformedRange"),tL(vL,"getWellformedEdit"),(()=>{"use strict";let e;var t,r,n={975:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(a===o-1||1===s);else if(a!==o-1&&2===s){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2)){if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=o,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}tL(t,"e"),tL(r,"r");var n={resolve:tL(function(){for(var e,n,i="",a=!1,s=arguments.length-1;s>=-1&&!a;s--)s>=0?e=arguments[s]:(void 0===n&&(n=tN.cwd()),e=n),t(e),0!==e.length&&(i=e+"/"+i,a=47===e.charCodeAt(0));return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},"resolve"),normalize:tL(function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},"normalize"),isAbsolute:tL(function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},"isAbsolute"),join:tL(function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var i=arguments[r];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},"join"),relative:tL(function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var a=e.length,s=a-i,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=s<l?s:l,c=-1,p=0;p<=u;++p){if(p===u){if(l>u){if(47===r.charCodeAt(o+p))return r.slice(o+p+1);if(0===p)return r.slice(o+p)}else s>u&&(47===e.charCodeAt(i+p)?c=p:0===p&&(c=0));break}var f=e.charCodeAt(i+p);if(f!==r.charCodeAt(o+p))break;47===f&&(c=p)}var d="";for(p=i+c+1;p<=a;++p)p!==a&&47!==e.charCodeAt(p)||(0===d.length?d+="..":d+="/..");return d.length>0?d+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},"relative"),_makeLong:tL(function(e){return e},"_makeLong"),dirname:tL(function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,a=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!a){i=s;break}}else a=!1;return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},"dirname"),basename:tL(function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,a=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!s){i=n+1;break}}else -1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(a=n):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else -1===a&&(s=!1,a=n+1);return -1===a?"":e.slice(i,a)},"basename"),extname:tL(function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return -1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},"extname"),format:tL(function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},"format"),parse:tL(function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var s=-1,o=0,l=-1,u=!0,c=e.length-1,p=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===s?s=c:1!==p&&(p=1):-1!==s&&(p=-1);else if(!u){o=c+1;break}return -1===s||-1===l||0===p||1===p&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):a&&(r.dir="/"),r},"parse"),sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}tL(a,"r"),a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(a.r(s),a.d(s,{URI:tL(()=>f,"URI"),Utils:tL(()=>r,"Utils")}),"object"==typeof tN)?e="win32"===tN.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//;function c(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!o.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!l.test(e.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}tL(c,"a");let p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static{tL(this,"l")}static isUri(e){return e instanceof f||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,i,a=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||a?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",c(this,a))}get fsPath(){return T(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new m(t,r,n,i,a)}static parse(e,t=!1){let r=p.exec(e);return r?new m(r[2]||"",E(r[4]||""),E(r[5]||""),E(r[7]||""),E(r[9]||""),t):new m("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new m("file",r,t,"","")}static from(e){let t=new m(e.scheme,e.authority,e.path,e.query,e.fragment);return c(t,!0),t}toString(e=!1){return v(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof f)return e;{let t=new m(e);return t._formatted=e.external,t._fsPath=e._sep===d?e.fsPath:null,t}}return e}}let d=e?1:void 0;class m extends f{static{tL(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=T(this,!1)),this._fsPath}toString(e=!1){return e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let h={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 y(e,t,r){let n,i=-1;for(let a=0;a<e.length;a++){let s=e.charCodeAt(a);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),void 0!==n&&(n+=e.charAt(a));else{void 0===n&&(n=e.substr(0,a));let t=h[s];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),n+=t):-1===i&&(i=a)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function g(e){let t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);35===n||63===n?(void 0===t&&(t=e.substr(0,r)),t+=h[n]):void 0!==t&&(t+=e[r])}return void 0!==t?t:e}function T(t,r){let n;return n=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?r?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function v(e,t){let r=t?g:y,n="",{scheme:i,authority:a,path:s,query:o,fragment:l}=e;if(i&&(n+=i,n+=":"),(a||"file"===i)&&(n+="/",n+="/"),a){let e=a.indexOf("@");if(-1!==e){let t=a.substr(0,e);a=a.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):(n+=r(t.substr(0,e),!1,!1),n+=":",n+=r(t.substr(e+1),!1,!0)),n+="@"}-1===(e=(a=a.toLowerCase()).lastIndexOf(":"))?n+=r(a,!1,!0):(n+=r(a.substr(0,e),!1,!0),n+=a.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){let e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){let e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return o&&(n+="?",n+=r(o,!1,!1)),l&&(n+="#",n+=t?l:y(l,!1,!1)),n}function $(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+$(e.substr(3)):e}}tL(y,"m"),tL(g,"y"),tL(T,"v"),tL(v,"b"),tL($,"C");let R=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(e){return e.match(R)?e.replace(R,e=>$(e)):e}tL(E,"w");var b=a(975);let A=b.posix||b;(t=r||(r={})).joinPath=function(e,...t){return e.with({path:A.join(e.path,...t)})},t.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=A.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},t.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=A.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},t.basename=function(e){return A.basename(e.path)},t.extname=function(e){return A.extname(e.path)},e1=s})();var{URI:vM,Utils:vj}=e1;!function(e){e.basename=vj.basename,e.dirname=vj.dirname,e.extname=vj.extname,e.joinPath=vj.joinPath,e.resolvePath=vj.resolvePath;let t="object"==typeof tN&&tN?.platform==="win32";function r(e,t){return e?.toString()===t?.toString()}function n(e,r){let n="string"==typeof e?vM.parse(e).path:e.path,i="string"==typeof r?vM.parse(r).path:r.path,a=n.split("/").filter(e=>e.length>0),s=i.split("/").filter(e=>e.length>0);if(t){let e=/^[A-Z]:$/;if(a[0]&&e.test(a[0])&&(a[0]=a[0].toLowerCase()),s[0]&&e.test(s[0])&&(s[0]=s[0].toLowerCase()),a[0]!==s[0])return i.substring(1)}let o=0;for(;o<a.length&&a[o]===s[o];o++);return"../".repeat(a.length-o)+s.slice(o).join("/")}function i(e){return vM.parse(e.toString()).toString()}function a(e,t){let r="string"==typeof e?e:e.path,n="string"==typeof t?t:t.path;return"/"===n.charAt(n.length-1)&&(n=n.slice(0,-1)),"/"===r.charAt(r.length-1)&&(r=r.slice(0,-1)),n===r||!(n.length<r.length)&&"/"===n.charAt(r.length)&&n.startsWith(r)}tL(r,"equals"),e.equals=r,tL(n,"relative"),e.relative=n,tL(i,"normalize"),e.normalize=i,tL(a,"contains"),e.contains=a}(e2||(e2={}));var vF=class{static{tL(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return e2.normalize(e)}clear(){this.root.children.clear()}insert(e,t){this.getNode(this.normalizeUri(e),!0).element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return void 0!==this.getNode(this.normalizeUri(e),!1)}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);if(r)return{name:r.name,uri:e2.joinPath(vM.parse(t),r.name).toString(),element:r.element}}findChildren(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);return r?Array.from(r.children.values()).map(e=>({name:e.name,uri:e2.joinPath(vM.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(e2.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let r=e.split("/");"/"===e.charAt(e.length-1)&&r.pop();let n=this.root;for(let e of r){let r=n.children.get(e);if(!r)if(!t)return;else r={name:e,children:new Map,parent:n},n.children.set(e,r);n=r}return n}collectValues(e){let t=[];for(let r of(e.element&&t.push(e.element),e.children.values()))t.push(...this.collectValues(r));return t}};(f=e3||(e3={}))[f.Changed=0]="Changed",f[f.Parsed=1]="Parsed",f[f.IndexedContent=2]="IndexedContent",f[f.ComputedScopes=3]="ComputedScopes",f[f.Linked=4]="Linked",f[f.IndexedReferences=5]="IndexedReferences",f[f.Validated=6]="Validated";var vG=class{static{tL(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=vR.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return(t=t??vM.parse(e.uri),vR.CancellationToken.is(r))?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return vR.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if("string"==typeof t){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:e3.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:e3.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){let r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),i=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let t=this.createTextDocumentGetter(e.uri,i);Object.defineProperty(e,"textDocument",{get:t})}return r!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=e3.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r,n=this.serviceRegistry;return()=>r??(r=e0.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??""))}},vz=class{static{tL(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new vF,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return rz(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,e3.Changed),r}deleteDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=e3.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){let t=e.toString(),r=this.documentTrie.findAll(t);for(let e of r)e.state=e3.Changed;return this.documentTrie.delete(t),r}},vK=Symbol("RefResolving"),vq=class{static{tL(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=vR.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of rX(e.parseResult.value))await vN(t),r0(n).forEach(t=>{let i=`${n.$type}:${t.property}`;r.startSubTask(i);try{this.doLink(t,e)}finally{r.stopSubTask(i)}})}finally{r.stop()}}else for(let r of rX(e.parseResult.value))await vN(t),r0(r).forEach(t=>this.doLink(t,e))}doLink(e,t){let r=e.reference;if("_ref"in r&&void 0===r._ref){r._ref=vK;try{let t=this.getCandidate(e);rI(t)?r._ref=t:(r._nodeDescription=t,r._ref=this.loadAstNode(t)??this.createLinkingError(e,t))}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);let t=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`}}t.references.push(r)}else if("_items"in r&&void 0===r._items){r._items=vK;try{let t=this.getCandidates(e),n=[];if(rI(t))r._linkingError=t;else for(let e of t){let t=this.loadAstNode(e);t&&n.push({ref:t,$nodeDescription:e})}r._items=n}catch(t){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`},r._items=[]}t.references.push(r)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(e=>`${e.documentUri}#${e.path}`).toArray();return t.length>0?t:this.createLinkingError(e)}buildReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_ref:void 0,get ref(){if(rk(this._ref))return this._ref;if(rw(this._nodeDescription)){let r=i.loadAstNode(this._nodeDescription);this._ref=r??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=vK;let r=rH(e).$document,n=i.getLinkedNode({reference:a,container:e,property:t});if(n.error&&r&&r.state<e3.ComputedScopes)return this._ref=void 0;this._ref=n.node??n.error,this._nodeDescription=n.descr,r?.references.push(this)}else this._ref===vK&&i.throwCyclicReferenceError(e,t,n);return rk(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return rI(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(void 0===this._items){this._items=vK;let r=rH(e).$document,n=i.getCandidates({reference:a,container:e,property:t}),s=[];if(rI(n))this._linkingError=n;else for(let e of n){let t=i.loadAstNode(e);t&&s.push({ref:t,$nodeDescription:e})}this._items=s,r?.references.push(this)}else this._items===vK&&i.throwCyclicReferenceError(e,t,n);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(this.items.length>0)return;return this._linkingError=i.createLinkingError({reference:a,container:e,property:t})}};return a}throwCyclicReferenceError(e,t,r){throw Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(rI(t))return{error:t};let r=this.loadAstNode(t);if(r)return{node:r,descr:t};return{descr:t,error:this.createLinkingError(e,t)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let t=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${t}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=rH(e.container).$document;r&&r.state<e3.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t}}};function vU(e){return"string"==typeof e.name}tL(vU,"isNamed");var vB=class{static{tL(this,"DefaultNameProvider")}getName(e){if(vU(e))return e.name}getNameNode(e){return a_(e.$cstNode,"name")}},vW=class{static{tL(this,"DefaultReferences")}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=rX(e.Grammar).some(e=>nb(e)&&e.isMulti)}findDeclarations(e){if(e){let t=aM(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(rx(n)||rN(n))return rY(n);if(Array.isArray(n)){for(let t of n)if((rx(t)||rN(t))&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return rY(t)}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||iz(e,t)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(!this.hasMultiReference)return[e];{let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(let t of r0(r))if(rN(t.reference)&&t.reference.items.some(t=>t.ref===e))return t.reference.items.map(e=>e.ref)}return[e]}}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e)??e.$cstNode;t&&r.push(t)}return r}findReferences(e,t){let r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>e2.equals(e.sourceUri,t.documentUri))),r.push(...n),rz(r)}getSelfReferences(e){let t=this.getSelfNodes(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e);if(t){let n=rV(e),i=this.nodeLocator.getAstNodePath(e);r.push({sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:iq(t),local:!0})}}return r}},vV=class{static{tL(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return eV.sum(rz(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?rz(t):rF}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return rz(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return rz(this.map.keys())}values(){return rz(this.map.values()).flat()}entriesGroupedByKey(){return rz(this.map.entries())}},vH=class{static{tL(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}},vY=class{static{tL(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=vR.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=rQ,n=vR.CancellationToken.None){let i=[];for(let a of(this.addExportedSymbol(e,i,t),r(e)))await vN(n),this.addExportedSymbol(a,i,t);return i}addExportedSymbol(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=vR.CancellationToken.None){let r=e.parseResult.value,n=new vV;for(let i of rZ(r))await vN(t),this.addLocalSymbol(i,e,n);return n}addLocalSymbol(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}},vQ=class{static{tL(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===t):this.elements.find(t=>t.name===e);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===t):this.elements.filter(t=>t.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},vZ=class{static{tL(this,"MapScope")}constructor(e,t,r){for(let t of(this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t),n=r?[r]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?rz(n).concat(this.outerScope.getElements(e)):rz(n)}getAllElements(){let e=rz(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},vX=class{static{tL(this,"MultiMapScope")}constructor(e,t,r){for(let t of(this.elements=new vV,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.add(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||0===r.length)&&this.outerScope?rz(r).concat(this.outerScope.getElements(e)):rz(r)}getAllElements(){let e=rz(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},vJ={getElement(){},getElements:()=>rF,getAllElements:()=>rF},v0=class{static{tL(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}},v1=class extends v0{static{tL(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},v2=class extends v0{static{tL(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},v3=class extends v2{static{tL(this,"DocumentCache")}constructor(e,t){super(e=>e.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,e=>{this.clear(e.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let e of t)this.clear(e)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let r of e.concat(t))this.clear(r)}))}},v4=class extends v1{static{tL(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},v9=class{static{tL(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new v4(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=rV(e.container).localSymbols;if(n){let i=e.container;do n.has(i)&&t.push(n.getStream(i).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container;while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new vQ(rz(e),t,r)}createScopeForNodes(e,t,r){return new vQ(rz(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new vX(this.indexManager.allElements(e)))}};function v5(e){return"string"==typeof e.$comment}function v6(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}tL(v5,"isAstNodeWithComment"),tL(v6,"isIntermediateReference");var v7=class{static{tL(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let r=t??{},n=t?.replacer,i=tL((e,t)=>this.replacer(e,t,r),"defaultReplacer"),a=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=rV(e),JSON.stringify(e,a,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=JSON.parse(e);return this.linkNode(r,r,t??{}),r}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:s}){if(!this.ignoreProperties.has(e)){if(rx(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:t.error?.message??"Could not resolve reference",$refText:n};{let t=rV(e),r="";this.currentDocument&&this.currentDocument!==t&&(r=s?s(t.uri,e):t.uri.toString());let i=this.astNodeLocator.getAstNodePath(e);return{$ref:`${r}#${i}`,$refText:n}}}if(rN(t)){let e=r?t.$refText:void 0,n=[];for(let e of t.items){let t=e.ref,r=rV(e.ref),i="";this.currentDocument&&this.currentDocument!==r&&(i=s?s(r.uri,t):r.uri.toString());let a=this.astNodeLocator.getAstNodePath(t);n.push(`${i}#${a}`)}return{$refs:n,$refText:e}}{let r;if(!rk(t))return t;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&r?.$textRegion&&(r.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(r??(r={...t}),r.$sourceText=t.$cstNode?.text),a){r??(r={...t});let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return r??t}}}addAstNodeRegionWithAssignmentsTo(e){let t=tL(e=>({offset:e.offset,end:e.end,length:e.length,range:e.range}),"createDocumentSegment");if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{let i=aI(e.$cstNode,n).map(t);0!==i.length&&(r[n]=i)}),e}}linkNode(e,t,r,n,i,a){for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a<i.length;a++){let s=i[a];v6(s)?i[a]=this.reviveReference(e,n,t,s,r):rk(s)&&this.linkNode(s,t,r,e,n,a)}else v6(i)?e[n]=this.reviveReference(e,n,t,i,r):rk(i)&&this.linkNode(i,t,r,e,n);e.$container=n,e.$containerProperty=i,e.$containerIndex=a}reviveReference(e,t,r,n,i){let a,s=n.$refText,o=n.$error;if(n.$ref){let e=this.getRefNode(r,n.$ref,i.uriConverter);if(rk(e))return s||(s=this.nameProvider.getName(e)),{$refText:s??"",ref:e};o=e}else if(n.$refs){let e=[];for(let t of n.$refs){let n=this.getRefNode(r,t,i.uriConverter);rk(n)&&e.push({ref:n})}if(0!==e.length)return{$refText:s??"",items:e};a={$refText:s??"",items:e},o??(o="Could not resolve multi-reference")}return o?(a??(a={$refText:s??"",ref:void 0}),a.error={info:{container:e,property:t,reference:a},message:o},a):void 0}getRefNode(e,t,r){try{let n=t.indexOf("#");if(0===n){let r=this.astNodeLocator.getAstNode(e,t.substring(1));if(!r)return"Could not resolve path: "+t;return r}if(n<0){let e=r?r(t):vM.parse(t),n=this.langiumDocuments.getDocument(e);if(!n)return"Could not find document for URI: "+t;return n.parseResult.value}let i=r?r(t.substring(0,n)):vM.parse(t.substring(0,n)),a=this.langiumDocuments.getDocument(i);if(!a)return"Could not find document for URI: "+t;if(n===t.length-1)return a.parseResult.value;let s=this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(n+1));if(!s)return"Could not resolve URI: "+t;return s}catch(e){return String(e)}}},v8=class{static{tL(this,"DefaultServiceRegistry")}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 t=e.LanguageMetaData;for(let r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);if(t.fileNames)for(let r of t.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(t.languageId,e)}getServices(e){if(0===this.languageIdMap.size)throw Error("The service registry is empty. Use `register` to register the services of a language.");let t=this.textDocuments?.get(e)?.languageId;if(void 0!==t){let e=this.languageIdMap.get(t);if(e)return e}let r=e2.extname(e),n=e2.basename(e),i=this.fileNameMap.get(n)??this.fileExtensionMap.get(r);if(!i)if(t)throw Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`);else throw Error(`The service registry contains no services for the extension '${r}'.`);return i}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function $e(e){return{code:e}}tL($e,"diagnosticData"),(d=e4||(e4={})).defaults=["fast","slow","built-in"],d.all=d.defaults;var $t=class{static{tL(this,"ValidationRegistry")}constructor(e){this.entries=new vV,this.knownCategories=new Set(e4.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[n,i]of(this.knownCategories.add(r),Object.entries(e)))if(Array.isArray(i))for(let e of i){let i={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,i)}else if("function"==typeof i){let e={check:this.wrapValidationException(i,t),category:r};this.addEntry(n,e)}else i6(i)}wrapValidationException(e,t){return async(r,n,i)=>{await this.handleException(()=>e.call(t,r,n,i),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(i){if(vx(i))throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);let e=i instanceof Error?i.message:String(i);r("error",`${t}: ${e}`,{node:n})}}addEntry(e,t){if("AstNode"===e)return void this.entries.add("AstNode",t);for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=rz(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,a,s)=>{await this.handleException(()=>e.call(r,n,i,a,s),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},$r=Object.freeze({validateNode:!0,validateChildren:!0}),$n=class{static{tL(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},r=vR.CancellationToken.None){let n=e.parseResult,i=[];if((await vN(r),!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===e9.LexingError)||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===e9.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===e9.LinkingError))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(vx(e))throw e;console.error("An error occurred during validation:",e)}return await vN(r),i}processLexingErrors(e,t,r){for(let r of[...e.lexerErrors,...e.lexerReport?.diagnostics??[]]){let e=r.severity??"error",n={severity:$a(e),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:$s(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=iK(r.token);if(e){let n={severity:$a("error"),range:e,message:r.message,data:$e(e9.ParsingError),source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let n={node:e.info.container,range:r.$refNode?.range,property:e.info.property,index:e.info.index,data:{code:e9.LinkingError,containerType:e.info.container.$type,property:e.info.property,refText:e.info.reference.$refText}};t.push(this.toDiagnostic("error",e.message,n))}}}async validateAst(e,t,r=vR.CancellationToken.None){let n=[],i=tL((e,t,r)=>{n.push(this.toDiagnostic(e,t,r))},"acceptor");return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=vR.CancellationToken.None){for(let i of this.validationRegistry.checksBefore)await vN(n),await i(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=vR.CancellationToken.None){if(this.profiler?.isActive("validating")){let i=this.profiler.createTask("validating",this.languageId);i.start();try{let a=rX(e).iterator();for(let e of a){i.startSubTask(e.$type);let s=this.validateSingleNodeOptions(e,t);if(s.validateNode)try{for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n)}finally{i.stopSubTask(e.$type)}s.validateChildren||a.prune()}}finally{i.stop()}}else{let i=rX(e).iterator();for(let e of i){await vN(n);let a=this.validateSingleNodeOptions(e,t);if(a.validateNode)for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n);a.validateChildren||i.prune()}}}validateSingleNodeOptions(e,t){return $r}async validateAstAfter(e,t,r,n=vR.CancellationToken.None){for(let i of this.validationRegistry.checksAfter)await vN(n),await i(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:$i(r),severity:$a(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function $i(e){let t;return e.range?e.range:("string"==typeof e.property?t=a_(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=aD(e.node.$cstNode,e.keyword,e.index)),t??(t=e.node.$cstNode),t)?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function $a(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}function $s(e){switch(e){case"error":return $e(e9.LexingError);case"warning":return $e(e9.LexingWarning);case"info":return $e(e9.LexingInfo);case"hint":return $e(e9.LexingHint);default:throw Error("Invalid diagnostic severity: "+e)}}tL($i,"getDiagnosticRange"),tL($a,"toDiagnosticSeverity"),tL($s,"toDiagnosticData"),(m=e9||(e9={})).LexingError="lexing-error",m.LexingWarning="lexing-warning",m.LexingInfo="lexing-info",m.LexingHint="lexing-hint",m.ParsingError="parsing-error",m.LinkingError="linking-error";var $o=class{static{tL(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n,i=r??rV(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${a} has no name.`);let s=tL(()=>n??(n=iq(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return s()},selectionSegment:iq(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},$l=class{static{tL(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=vR.CancellationToken.None){let r=[];for(let n of rX(e.parseResult.value))await vN(t),r0(n).forEach(e=>{e.reference.error||r.push(...this.createInfoDescriptions(e))});return r}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let r=[];rx(t)&&t.$nodeDescription?r=[t.$nodeDescription]:rN(t)&&(r=t.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));let n=rV(e.container).uri,i=this.nodeLocator.getAstNodePath(e.container),a=[],s=iq(t.$refNode);for(let e of r)a.push({sourceUri:n,sourcePath:i,targetUri:e.documentUri,targetPath:e.path,segment:s,local:e2.equals(e.documentUri,n)});return a}},$u=class{static{tL(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),a=e[n];return a?.[i]}return e[t]},e)}},$c={};tG($c,tz(tV(),1));var $p=class{static{tL(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new vw,this.onConfigurationSectionUpdateEmitter=new $c.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){"object"==typeof e.settings&&null!==e.settings&&Object.entries(e.settings).forEach(([e,t])=>{this.updateSectionConfiguration(e,t),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:t})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},$f=tz(rA(),1),$d=e5||(e5={});function $m(e){return{dispose:tL(async()=>await e(),"dispose")}}tL($m,"create"),$d.create=$m;var $h=class{static{tL(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new vV,this.documentPhaseListeners=new vV,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=e3.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=vR.CancellationToken.None){for(let r of e){let e=r.uri.toString();if(r.state===e3.Validated){if("boolean"==typeof t.validation&&t.validation)this.resetToState(r,e3.IndexedReferences);else if("object"==typeof t.validation){let n=this.findMissingValidationCategories(r,t);n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:{categories:n}},result:this.buildState.get(e)?.result}),r.state=e3.IndexedReferences)}}else this.buildState.delete(e)}this.currentState=e3.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=vR.CancellationToken.None){this.currentState=e3.Changed;let n=[];for(let e of t)for(let t of this.langiumDocuments.deleteDocuments(e))n.push(t.uri),this.cleanUpDeleted(t);let i=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(let e of i){let t=this.langiumDocuments.getDocument(e);void 0===t&&((t=this.langiumDocumentFactory.fromModel({$type:"INVALID"},e)).state=e3.Changed,this.langiumDocuments.addDocument(t)),this.resetToState(t,e3.Changed)}let a=rz(i).concat(n).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!a.has(e.uri.toString())&&this.shouldRelink(e,a)).forEach(e=>this.resetToState(e,e3.ComputedScopes)),await this.emitUpdate(i,n),await vN(r);let s=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<e3.Validated||!this.buildState.get(e.uri.toString())?.completed||this.resultsAreIncomplete(e,this.updateBuildOptions)).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){let r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),i=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set;return rz(void 0===t||!0===t.validation?n:"object"==typeof t.validation?t.validation.categories??n:[]).filter(e=>!i.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let t=await this.fileSystemProvider.stat(e);if(t.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(t))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),e5.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case e3.Changed:case e3.Parsed:this.indexManager.removeContent(e.uri);case e3.IndexedContent:e.localSymbols=void 0;case e3.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case e3.Linked:this.indexManager.removeReferences(e.uri);case e3.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case e3.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=e3.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,e3.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,e3.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,e3.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.localSymbols=await t.collectLocalSymbols(e,r)});let n=e.filter(e=>this.shouldLink(e));await this.runCancelable(n,e3.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(n,e3.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let i=e.filter(e=>!!this.shouldValidate(e)||(this.markAsCompleted(e),!1));await this.runCancelable(i,e3.Validated,r,async e=>{await this.validate(e,r),this.markAsCompleted(e)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:n?.result})}}async runCancelable(e,t,r,n){for(let i of e)i.state<t&&(await vN(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r));let i=e.filter(e=>e.state===t);await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),e5.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),e5.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return(t&&"path"in t?n=t:r=t,r??(r=vR.CancellationToken.None),n)?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){let n=this.langiumDocuments.getDocument(t);return n?n.state>=e?Promise.resolve(t):r.isCancellationRequested?Promise.reject(vk):this.currentState>=e&&e>n.state?Promise.reject(new $f.ResponseError($f.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${e3[n.state]}, requiring ${e3[e]}, but workspace state is already ${e3[this.currentState]}. Returning undefined.`)):new Promise((n,i)=>{let a=this.onDocumentPhase(e,e=>{e2.equals(e.uri,t)&&(a.dispose(),s.dispose(),n(e.uri))}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(vk)})}):Promise.reject(new $f.ResponseError($f.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(vk):new Promise((r,n)=>{let i=this.onBuildPhase(e,()=>{i.dispose(),a.dispose(),r()}),a=t.onCancellationRequested(()=>{i.dispose(),a.dispose(),n(vk)})})}async notifyDocumentPhase(e,t,r){for(let n of this.documentPhaseListeners.get(t).slice())try{await vN(r),await n(e,r)}catch(e){if(!vx(e))throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t).slice())await vN(r),await n(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),i="object"==typeof n.validation?{...n.validation}:{};i.categories=this.findMissingValidationCategories(e,n);let a=await r.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let s=this.buildState.get(e.uri.toString());s&&(s.result??(s.result={}),s.result.validationChecks?s.result.validationChecks=rz(s.result.validationChecks).concat(i.categories).distinct().toArray():s.result.validationChecks=[...i.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},$y=class{static{tL(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new v2,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=rV(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{e2.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),rz(n)}allElements(e,t){let r=rz(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=vR.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.collectExportedSymbols(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=vR.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}},$g=class{static{tL(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new vw,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=vR.CancellationToken.None){let r=await this.performStartup(e);await vN(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=[],r=tL(e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)},"collector");await this.loadAdditionalDocuments(e,r);let n=[];await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,n)));let i=rz(n).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e));return await this.loadWorkspaceDocuments(i,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{t(await this.langiumDocuments.getOrCreateDocument(e))}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return vM.parse(e.uri)}async traverseFolder(e,t){try{let r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async e=>{this.shouldIncludeEntry(e)&&(e.isDirectory?await this.traverseFolder(e.uri,t):e.isFile&&t.push(e.uri))}))}catch(t){console.error("Failure to read directory content of "+e.toString(!0),t)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=e2.basename(e.uri);return!t.startsWith(".")&&(e.isDirectory?"node_modules"!==t&&"out"!==t:!!e.isFile&&this.serviceRegistry.hasServices(e.uri))}},$T=class{static{tL(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,i){return fD.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return fD.buildUnableToPopLexerModeMessage(e)}},$v={mode:"full"},$$=class{static{tL(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=$b(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new fM(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=$v){let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if($b(e))return e;let t=$E(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}};function $R(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}function $E(e){return e&&"modes"in e&&"defaultMode"in e}function $b(e){return!$R(e)&&!$E(e)}function $A(e,t,r){let n,i;return"string"==typeof e?(i=t,n=r):(i=e.range.start,n=t),i||(i=$.create(0,0)),$D({index:0,tokens:$N({lines:$S(e),position:i,options:$K(n)}),position:i})}function $C(e,t){let r=$K(t),n=$S(e);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function $S(e){return("string"==typeof e?e:e.text).split(am)}tL($R,"isTokenTypeArray"),tL($E,"isIMultiModeLexerDefinition"),tL($b,"isTokenTypeDictionary"),tU(),tL($A,"parseJSDoc"),tL($C,"isJSDoc"),tL($S,"getLines");var $k=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,$x=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function $N(e){let t=[],r=e.position.line,n=e.position.character;for(let i=0;i<e.lines.length;i++){let a=0===i,s=i===e.lines.length-1,o=e.lines[i],l=0;if(a&&e.options.start){let t=e.options.start?.exec(o);t&&(l=t.index+t[0].length)}else{let t=e.options.line?.exec(o);t&&(l=t.index+t[0].length)}if(s){let t=e.options.end?.exec(o);t&&(o=o.substring(0,t.index))}if($P(o=o.substring(0,$O(o)),l)>=o.length){if(t.length>0){let e=$.create(r,n);t.push({type:"break",content:"",range:R.create(e,e)})}}else{$k.lastIndex=l;let e=$k.exec(o);if(e){let i=e[0],a=e[1],s=$.create(r,n+l),u=$.create(r,n+l+i.length);t.push({type:"tag",content:a,range:R.create(s,u)}),l+=i.length,l=$P(o,l)}if(l<o.length){let e=o.substring(l),i=Array.from(e.matchAll($x));t.push(...$w(i,e,r,n+l))}}r++,n=0}return t.length>0&&"break"===t[t.length-1].type?t.slice(0,-1):t}function $w(e,t,r,n){let i=[];if(0===e.length){let e=$.create(r,n),a=$.create(r,n+t.length);i.push({type:"text",content:t,range:R.create(e,a)})}else{let a=0;for(let s of e){let e=s.index,o=t.substring(a,e);o.length>0&&i.push({type:"text",content:t.substring(a,e),range:R.create($.create(r,a+n),$.create(r,e+n))});let l=o.length+1,u=s[1];if(i.push({type:"inline-tag",content:u,range:R.create($.create(r,a+l+n),$.create(r,a+l+u.length+n))}),l+=u.length,4===s.length){l+=s[2].length;let e=s[3];i.push({type:"text",content:e,range:R.create($.create(r,a+l+n),$.create(r,a+l+e.length+n))})}else i.push({type:"text",content:"",range:R.create($.create(r,a+l+n),$.create(r,a+l+n))});a=e+s[0].length}let s=t.substring(a);s.length>0&&i.push({type:"text",content:s,range:R.create($.create(r,a+n),$.create(r,a+n+s.length))})}return i}tL($N,"tokenize"),tL($w,"buildInlineTokens");var $I=/\S/,$_=/\s*$/;function $P(e,t){let r=e.substring(t).match($I);return r?t+r.index:e.length}function $O(e){let t=e.match($_);if(t&&"number"==typeof t.index)return t.index}function $D(e){let t=$.create(e.position.line,e.position.character);if(0===e.tokens.length)return new $U([],R.create(t,t));let r=[];for(;e.index<e.tokens.length;){let t=$L(e,r[r.length-1]);t&&r.push(t)}let n=r[0]?.range.start??t,i=r[r.length-1]?.range.end??t;return new $U(r,R.create(n,i))}function $L(e,t){let r=e.tokens[e.index];return"tag"===r.type?$G(e,!1):"text"===r.type||"inline-tag"===r.type?$j(e):($M(r,t),void e.index++)}function $M(e,t){if(t){let r=new $Y("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}function $j(e){let t=e.tokens[e.index],r=t,n=t,i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)i.push($F(e)),n=t,t=e.tokens[e.index];return new $H(i,R.create(r.range.start,n.range.end))}function $F(e){return"inline-tag"===e.tokens[e.index].type?$G(e,!0):$z(e)}function $G(e,t){let r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];if(i?.type==="text")if(t){let i=$z(e);return new $B(n,new $H([i],i.range),t,R.create(r.range.start,i.range.end))}else{let i=$j(e);return new $B(n,i,t,R.create(r.range.start,i.range.end))}{let e=r.range;return new $B(n,new $H([],e),t,e)}}function $z(e){let t=e.tokens[e.index++];return new $Y(t.content,t.range)}function $K(e){if(!e)return $K({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:$q(t,!0),end:$q(r,!1),line:$q(n,!0)}}function $q(e,t){if("string"!=typeof e&&"object"!=typeof e)return e;{let r="string"==typeof e?aR(e):e.source;return t?RegExp(`^\\s*${r}`):RegExp(`\\s*${r}\\s*$`)}}tL($P,"skipWhitespace"),tL($O,"lastCharacter"),tL($D,"parseJSDocComment"),tL($L,"parseJSDocElement"),tL($M,"appendEmptyLine"),tL($j,"parseJSDocText"),tL($F,"parseJSDocInline"),tL($G,"parseJSDocTag"),tL($z,"parseJSDocLine"),tL($K,"normalizeOptions"),tL($q,"normalizeOption");var $U=class{static{tL(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=$Q(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=$Q(t)+n}return t.trim()}},$B=class{static{tL(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return(1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}
81
81
  ${t}`),this.inline)?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let r=$W(this.name,t,e??{});if("string"==typeof r)return r}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return(1===this.content.inlines.length?n=`${n} \u2014 ${t}`:this.content.inlines.length>1&&(n=`${n}
82
- ${t}`),this.inline)?`{${n}}`:n}};function $W(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){let n=t.indexOf(" "),i=t;if(n>0){let e=$P(t,n);i=t.substring(e),t=t.substring(0,n)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(i=`\`${i}\``),r.renderLink?.(t,i)??$V(t,i)}}function $V(e,t){try{return vM.parse(e,!0),`[${t}](${e})`}catch{return e}}tL($W,"renderInlineTag"),tL($V,"renderLinkDefault");var $H=class{static{tL(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];t+=n.toMarkdown(e),i&&i.range.start.line>n.range.start.line&&(t+="\n")}return t}},$Y=class{static{tL(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function $Q(e){return e.endsWith("\n")?"\n":"\n\n"}tL($Q,"fillNewlines");var $Z=class{static{tL(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&$C(t))return $A(t).toMarkdown({renderLink:tL((t,r)=>this.documentationLinkRenderer(e,t,r),"renderLink"),renderTag:tL(t=>this.documentationTagRenderer(e,t),"renderTag")})}documentationLinkRenderer(e,t,r){let n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){let e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,i=n.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${i.toString()})`}}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let r=rV(e).localSymbols;if(!r)return;let n=e;do{let e=r.getStream(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}},$X=class{static{tL(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return v5(e)?e.$comment:iH(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},$J=class{static{tL(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},$0=class{static{tL(this,"AbstractThreadedAsyncParser")}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 t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let r,n=await this.acquireParserWorker(t),i=new vw,a=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(e=>{let t=this.hydrator.hydrate(e);i.resolve(t)}).catch(e=>{i.reject(e)}).finally(()=>{a.dispose(),clearTimeout(r)}),i.promise}terminateWorker(e){e.terminate();let t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){for(let e of(this.initializeWorkers(),this.workerPool))if(e.ready)return e.lock(),e;let t=new vw;return e.onCancellationRequested(()=>{let e=this.queue.indexOf(t);e>=0&&this.queue.splice(e,1),t.reject(vk)}),this.queue.push(t),t.promise}},$1=class{static{tL(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new $c.Emitter,this.deferred=new vw,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),r(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(vk),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw Error("Parser worker is busy");return this._parsing=!0,this.deferred=new vw,this.sendMessage(e),this.deferred.promise}},$2=class{static{tL(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new vR.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=vC();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=vR.CancellationToken.None){let n=new vw;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){vx(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},$3=class{static{tL(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new vH,this.tokenTypeIdMap=new vH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>({...e,message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of rX(e))t.set(r,{});if(e.$cstNode)for(let t of iF(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rk(a)?e.push(this.dehydrateAstNode(a,t)):rx(a)?e.push(this.dehydrateReference(a,t)):e.push(a)}else rk(i)?r[n]=this.dehydrateAstNode(i,t):rx(i)?r[n]=this.dehydrateReference(i,t):void 0!==i&&(r[n]=i);return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return rD(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),rP(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):rO(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t,r=new Map,n=new Map;for(let t of rX(e))r.set(t,{});if(e.$cstNode)for(let r of iF(e.$cstNode)){let e;"fullText"in r?t=e=new TQ(r.fullText):"content"in r?e=new TH:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rk(a)?e.push(this.setParent(this.hydrateAstNode(a,t),r)):rx(a)?e.push(this.hydrateReference(a,r,n,t)):e.push(a)}else rk(i)?r[n]=this.setParent(this.hydrateAstNode(i,t),r):rx(i)?r[n]=this.hydrateReference(i,r,n,t):void 0!==i&&(r[n]=i);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),rP(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType);return new TV(e.offset,e.length,{start:{line:e.startLine,character:e.startColumn},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of rX(this.grammar))r6(t)&&this.grammarElementIdMap.set(t,e++)}};function $9(e){return{documentation:{CommentProvider:tL(e=>new $X(e),"CommentProvider"),DocumentationProvider:tL(e=>new $Z(e),"DocumentationProvider")},parser:{AsyncParser:tL(e=>new $J(e),"AsyncParser"),GrammarConfig:tL(e=>a7(e),"GrammarConfig"),LangiumParser:tL(e=>vg(e),"LangiumParser"),CompletionParser:tL(e=>vy(e),"CompletionParser"),ValueConverter:tL(()=>new v$,"ValueConverter"),TokenBuilder:tL(()=>new vv,"TokenBuilder"),Lexer:tL(e=>new $$(e),"Lexer"),ParserErrorMessageProvider:tL(()=>new T3,"ParserErrorMessageProvider"),LexerErrorMessageProvider:tL(()=>new $T,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:tL(()=>new $u,"AstNodeLocator"),AstNodeDescriptionProvider:tL(e=>new $o(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:tL(e=>new $l(e),"ReferenceDescriptionProvider")},references:{Linker:tL(e=>new vq(e),"Linker"),NameProvider:tL(()=>new vB,"NameProvider"),ScopeProvider:tL(e=>new v4(e),"ScopeProvider"),ScopeComputation:tL(e=>new vY(e),"ScopeComputation"),References:tL(e=>new vW(e),"References")},serializer:{Hydrator:tL(e=>new $3(e),"Hydrator"),JsonSerializer:tL(e=>new v8(e),"JsonSerializer")},validation:{DocumentValidator:tL(e=>new $n(e),"DocumentValidator"),ValidationRegistry:tL(e=>new $t(e),"ValidationRegistry")},shared:tL(()=>e.shared,"shared")}}function $4(e){return{ServiceRegistry:tL(e=>new v7(e),"ServiceRegistry"),workspace:{LangiumDocuments:tL(e=>new vz(e),"LangiumDocuments"),LangiumDocumentFactory:tL(e=>new vG(e),"LangiumDocumentFactory"),DocumentBuilder:tL(e=>new $h(e),"DocumentBuilder"),IndexManager:tL(e=>new $y(e),"IndexManager"),WorkspaceManager:tL(e=>new $g(e),"WorkspaceManager"),FileSystemProvider:tL(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:tL(()=>new $2,"WorkspaceLock"),ConfigurationProvider:tL(e=>new $p(e),"ConfigurationProvider")},profilers:{}}}function $5(e,t,r,n,i,a,s,o,l){return $7([e,t,r,n,i,a,s,o,l].reduce(Rr,{}))}tL($9,"createDefaultCoreModule"),tL($4,"createDefaultSharedCoreModule"),(e6||(e6={})).merge=(e,t)=>Rr(Rr({},e),t),tL($5,"inject");var $6=Symbol("isProxy");function $8(e){if(e&&e[$6])for(let t of Object.values(e))$8(t);return e}function $7(e,t){let r=new Proxy({},{deleteProperty:tL(()=>!1,"deleteProperty"),set:tL(()=>{throw Error("Cannot set property on injected service container")},"set"),get:tL((n,i)=>i===$6||Rt(n,i,e,t||r),"get"),getOwnPropertyDescriptor:tL((n,i)=>(Rt(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:tL((t,r)=>r in e,"has"),ownKeys:tL(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}tL($8,"eagerLoad"),tL($7,"_inject");var Re=Symbol();function Rt(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===Re)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=Re;try{e[t]="function"==typeof i?i(n):$7(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function Rr(e,t){if(t){for(let[r,n]of Object.entries(t))if(null!=n)if("object"==typeof n){let t=e[r];"object"==typeof t&&null!==t?e[r]=Rr(t,n):e[r]=Rr({},n)}else e[r]=n}return e}tL(Rt,"_resolve"),tL(Rr,"_merge");var Rn={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(h=e8||(e8={})).REGULAR="indentation-sensitive",h.IGNORE_INDENTATION="ignore-indentation";var Ri=class extends vv{static{tL(this,"IndentationAwareTokenBuilder")}constructor(e=Rn){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Rn,...e},this.indentTokenType=fH({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=fH({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let r,n,i,a=super.buildTokens(e,t);if(!$R(a))throw Error("Invalid tokens built by default builder");let{indentTokenName:s,dedentTokenName:o,whitespaceTokenName:l,ignoreIndentationDelimiters:u}=this.options,c=[];for(let e of a){for(let[t,r]of u)e.name===t?e.PUSH_MODE=e8.IGNORE_INDENTATION:e.name===r&&(e.POP_MODE=!0);e.name===o?r=e:e.name===s?n=e:e.name===l?i=e:c.push(e)}if(!r||!n||!i)throw Error("Some indentation/whitespace tokens not found!");return u.length>0?{modes:{[e8.REGULAR]:[r,n,...c,i],[e8.IGNORE_INDENTATION]:[...c,i]},defaultMode:e8.REGULAR}:[r,n,i,...c]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return 0===t||"\r\n".includes(e[t-1])}matchWhitespace(e,t,r,n){this.whitespaceRegExp.lastIndex=t;let i=this.whitespaceRegExp.exec(e);return{currIndentLevel:i?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:i}}createIndentationTokenInstance(e,t,r,n){let i=this.getLineNumber(t,n);return fZ(e,r,n,n+r.length,i,i,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);return i<=a?null:(this.indentationStack.push(i),s)}dedentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);if(i>=a)return null;let o=this.indentationStack.lastIndexOf(i);if(-1===o)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${i} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:s?.[0]?.length??0,line:this.getLineNumber(e,t),column:1}),null;let l=this.indentationStack.length-o-1,u=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let n=0;n<l;n++){let n=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(u-1));r.push(n),this.indentationStack.pop()}return null}buildTerminalToken(e){let t=super.buildTerminalToken(e),{indentTokenName:r,dedentTokenName:n,whitespaceTokenName:i}=this.options;return t.name===r?this.indentTokenType:t.name===n?this.dedentTokenType:t.name===i?fH({name:i,pattern:this.whitespaceRegExp,group:fM.SKIPPED}):t}flushRemainingDedents(e){let t=[];for(;this.indentationStack.length>1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Ra=class extends $${static{tL(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ri)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=$v){let r=super.tokenize(e),n=r.report;t?.mode==="full"&&r.tokens.push(...n.remainingDedents),n.remainingDedents=[];let{indentTokenType:i,dedentTokenType:a}=this.indentationTokenBuilder,s=i.tokenTypeIdx,o=a.tokenTypeIdx,l=[],u=r.tokens.length-1;for(let e=0;e<u;e++){let t=r.tokens[e],n=r.tokens[e+1];if(t.tokenTypeIdx===s&&n.tokenTypeIdx===o){e++;continue}l.push(t)}return u>=0&&l.push(r.tokens[u]),r.tokens=l,r}},Rs={};tj(Rs,{AstUtils:()=>rq,BiMap:()=>vH,Cancellation:()=>vR,ContextCache:()=>v2,CstUtils:()=>rS,DONE_RESULT:()=>rG,Deferred:()=>vw,Disposable:()=>e5,DisposableCache:()=>v0,DocumentCache:()=>v3,EMPTY_STREAM:()=>rF,ErrorWithLocation:()=>i5,GrammarUtils:()=>i4,MultiMap:()=>vV,OperationCancelled:()=>vk,Reduction:()=>eV,RegExpUtils:()=>i7,SimpleCache:()=>v1,StreamImpl:()=>rL,TreeStreamImpl:()=>rK,URI:()=>vM,UriTrie:()=>vF,UriUtils:()=>e2,WorkspaceCache:()=>v9,assertCondition:()=>i8,assertUnreachable:()=>i6,delayNextTick:()=>vE,interruptAndCheck:()=>vN,isOperationCancelled:()=>vx,loadGrammarFromJson:()=>Rf,setInterruptionPeriod:()=>vS,startCancelableOperation:()=>vC,stream:()=>rz}),tG(Rs,$c);var Ro=class{static{tL(this,"EmptyFileSystemProvider")}stat(e){throw Error("No file system is available.")}statSync(e){throw Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw Error("No file system is available.")}readBinarySync(){throw Error("No file system is available.")}readFile(){throw Error("No file system is available.")}readFileSync(){throw Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},Rl={fileSystemProvider:tL(()=>new Ro,"fileSystemProvider")},Ru={Grammar:tL(()=>void 0,"Grammar"),LanguageMetaData:tL(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Rc={AstReflection:tL(()=>new iL,"AstReflection")};function Rp(){let e=$5($4(Rl),Rc),t=$5($9({shared:e}),Ru);return e.ServiceRegistry.register(t),t}function Rf(e){let t=Rp(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,vM.parse(`memory:/${r.name??"grammar"}.langium`)),r}tL(Rp,"createMinimalGrammarServices"),tL(Rf,"loadGrammarFromJson"),tG(rC,Rs);var Rd=class{static{tL(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new vV}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(e=>this.activeCategories.add(e)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(e=>this.activeCategories.delete(e)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${t}'.`),new Rm(t=>this.records.add(e,this.dumpRecord(e,t)),t)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at ${t.date.toISOString()}`);let r=[];for(let e of t.entries.keys()){let n=t.entries.get(e),i=n.reduce((e,t)=>e+t);r.push({name:`${t.identifier}.${e}`,count:n.length,duration:i})}let n=t.duration-r.map(e=>e.duration).reduce((e,t)=>e+t,0);function i(e){return Math.round(100*e)/100}return r.push({name:t.identifier,count:1,duration:n}),r.sort((e,t)=>t.duration-e.duration),tL(i,"Round"),console.table(r.map(e=>({Element:e.name,Count:e.count,"Self %":i(100*e.duration/t.duration),"Time (ms)":i(e.duration)}))),t}getRecords(...e){return 0===e.length?this.records.values():this.records.entries().filter(t=>e.some(e=>e===t[0])).flatMap(e=>e[1])}},Rm=class{static{tL(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new vV,this.addRecord=e,this.identifier=t}start(){if(void 0!==this.startTime)throw Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(void 0===this.startTime)throw Error(`Task "${this.identifier}" was not started.`);if(0!==this.stack.length)throw Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(e=>e.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let t=this.stack.pop();if(!t)throw Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw Error(`Sub-Task "${t.id}" is not already stopped.`);let r=performance.now()-t.start;void 0!==this.stack.at(-1)&&(this.stack[this.stack.length-1].content+=r);let n=r-t.content;this.entries.add(e,n)}};(e7||(e7={})).Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/},(te||(te={})).Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(tt||(tt={})).Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/},(tr||(tr={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/},(tn||(tn={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ti||(ti={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ta||(ta={})).Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ts||(ts={})).Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(to||(to={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/},(tl||(tl={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/},(tu||(tu={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//},(tc||(tc={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/},(tp||(tp={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/},(tf||(tf={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/},(td||(td={})).Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},e7.Terminals,te.Terminals,tt.Terminals,tr.Terminals,tn.Terminals,ti.Terminals,ta.Terminals,ts.Terminals,to.Terminals,tl.Terminals,tu.Terminals,tc.Terminals,tf.Terminals,tp.Terminals,td.Terminals;var Rh="AbnfPrimary",Ry="Architecture";tL(function(e){return RH.isInstance(e,Ry)},"isArchitecture");var Rg="Axis",RT="Branch";tL(function(e){return RH.isInstance(e,RT)},"isBranch");var Rv="Commit";tL(function(e){return RH.isInstance(e,Rv)},"isCommit");var R$="Cynefin";tL(function(e){return RH.isInstance(e,R$)},"isCynefin");var RR="DomainBlock";tL(function(e){return RH.isInstance(e,RR)},"isDomainBlock");var RE="DomainItem";tL(function(e){return RH.isInstance(e,RE)},"isDomainItem");var Rb="EbnfPostfix",RA="EbnfPrimary",RC="EmDataEntity",RS="EmFrame",Rk="EmModelEntity";tL(function(e){return"rmo"===e||"readmodel"===e||"ui"===e||"cmd"===e||"command"===e||"evt"===e||"event"===e||"pcr"===e||"processor"===e},"isEmModelEntityType");var Rx="EmResetFrame";function RN(e){return RH.isInstance(e,Rx)}tL(RN,"isEmResetFrame");var Rw="GitGraph";tL(function(e){return RH.isInstance(e,Rw)},"isGitGraph");var RI="Info";tL(function(e){return RH.isInstance(e,RI)},"isInfo");var R_="Item",RP="Merge";tL(function(e){return RH.isInstance(e,RP)},"isMerge");var RO="Packet";tL(function(e){return RH.isInstance(e,RO)},"isPacket");var RD="PacketBlock";tL(function(e){return RH.isInstance(e,RD)},"isPacketBlock");var RL="PegPrimary";tL(function(e){return RH.isInstance(e,"Pie")},"isPie");var RM="PieSection";tL(function(e){return RH.isInstance(e,RM)},"isPieSection");var Rj="Railroad";tL(function(e){return RH.isInstance(e,Rj)},"isRailroad");var RF="RailroadAbnf";tL(function(e){return RH.isInstance(e,RF)},"isRailroadAbnf");var RG="RailroadEbnf";tL(function(e){return RH.isInstance(e,RG)},"isRailroadEbnf");var Rz="RailroadExpression",RK="RailroadPeg";tL(function(e){return RH.isInstance(e,RK)},"isRailroadPeg");var Rq="Statement",RU="Transition";tL(function(e){return RH.isInstance(e,RU)},"isTransition");var RB="Treemap";tL(function(e){return RH.isInstance(e,RB)},"isTreemap");var RW="Wardley";tL(function(e){return RH.isInstance(e,RW)},"isWardley");var RV=class extends r_{constructor(){super(...arguments),this.types={AbnfAlternation:{name:"AbnfAlternation",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:"AbnfConcatenation",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},AbnfElement:{name:"AbnfElement",properties:{primary:{name:"primary"},repeat:{name:"repeat"}},superTypes:[]},AbnfGroup:{name:"AbnfGroup",properties:{element:{name:"element"}},superTypes:[Rh]},AbnfNumVal:{name:"AbnfNumVal",properties:{value:{name:"value"}},superTypes:[Rh]},AbnfOptionalGroup:{name:"AbnfOptionalGroup",properties:{element:{name:"element"}},superTypes:[Rh]},AbnfPrimary:{name:Rh,properties:{},superTypes:[]},AbnfRule:{name:"AbnfRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},AbnfRuleName:{name:"AbnfRuleName",properties:{name:{name:"name"}},superTypes:[Rh]},AbnfStringLiteral:{name:"AbnfStringLiteral",properties:{value:{name:"value"}},superTypes:[Rh]},Accelerator:{name:"Accelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Alignment:{name:"Alignment",properties:{direction:{name:"direction"},members:{name:"members",defaultValue:[]}},superTypes:[]},Anchor:{name:"Anchor",properties:{evolution:{name:"evolution"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Annotation:{name:"Annotation",properties:{number:{name:"number"},text:{name:"text"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Annotations:{name:"Annotations",properties:{x:{name:"x"},y:{name:"y"}},superTypes:[]},Architecture:{name:Ry,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},alignments:{name:"alignments",defaultValue:[]},edges:{name:"edges",defaultValue:[]},groups:{name:"groups",defaultValue:[]},junctions:{name:"junctions",defaultValue:[]},services:{name:"services",defaultValue:[]},title:{name:"title"}},superTypes:[]},Axis:{name:Rg,properties:{label:{name:"label"},name:{name:"name"}},superTypes:[]},Branch:{name:RT,properties:{name:{name:"name"},order:{name:"order"}},superTypes:[Rq]},Checkout:{name:"Checkout",properties:{branch:{name:"branch"}},superTypes:[Rq]},CherryPicking:{name:"CherryPicking",properties:{id:{name:"id"},parent:{name:"parent"},tags:{name:"tags",defaultValue:[]}},superTypes:[Rq]},ClassDefStatement:{name:"ClassDefStatement",properties:{className:{name:"className"},styleText:{name:"styleText"}},superTypes:[]},Commit:{name:Rv,properties:{id:{name:"id"},message:{name:"message"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[Rq]},Common:{name:"Common",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Component:{name:"Component",properties:{decorator:{name:"decorator"},evolution:{name:"evolution"},inertia:{name:"inertia",defaultValue:!1},label:{name:"label"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Curve:{name:"Curve",properties:{entries:{name:"entries",defaultValue:[]},label:{name:"label"},name:{name:"name"}},superTypes:[]},Cynefin:{name:R$,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},domains:{name:"domains",defaultValue:[]},title:{name:"title"},transitions:{name:"transitions",defaultValue:[]}},superTypes:[]},Deaccelerator:{name:"Deaccelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Decorator:{name:"Decorator",properties:{strategy:{name:"strategy"}},superTypes:[]},Direction:{name:"Direction",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dir:{name:"dir"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[Rw]},DomainBlock:{name:RR,properties:{domain:{name:"domain"},items:{name:"items",defaultValue:[]}},superTypes:[]},DomainItem:{name:RE,properties:{label:{name:"label"}},superTypes:[]},EbnfChoice:{name:"EbnfChoice",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:"EbnfExceptionPostfix",properties:{except:{name:"except"}},superTypes:[Rb]},EbnfGroup:{name:"EbnfGroup",properties:{element:{name:"element"}},superTypes:[RA]},EbnfNonTerminal:{name:"EbnfNonTerminal",properties:{name:{name:"name"}},superTypes:[RA]},EbnfOneOrMorePostfix:{name:"EbnfOneOrMorePostfix",properties:{operator:{name:"operator"}},superTypes:[Rb]},EbnfOptional:{name:"EbnfOptional",properties:{element:{name:"element"}},superTypes:[RA]},EbnfOptionalPostfix:{name:"EbnfOptionalPostfix",properties:{operator:{name:"operator"}},superTypes:[Rb]},EbnfPostfix:{name:Rb,properties:{},superTypes:[]},EbnfPrimary:{name:RA,properties:{},superTypes:[]},EbnfRepetition:{name:"EbnfRepetition",properties:{element:{name:"element"}},superTypes:[RA]},EbnfRule:{name:"EbnfRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},EbnfSequence:{name:"EbnfSequence",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:"EbnfSpecial",properties:{text:{name:"text"}},superTypes:[RA]},EbnfTerm:{name:"EbnfTerm",properties:{base:{name:"base"},postfixes:{name:"postfixes",defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:"EbnfTerminal",properties:{value:{name:"value"}},superTypes:[RA]},EbnfZeroOrMorePostfix:{name:"EbnfZeroOrMorePostfix",properties:{operator:{name:"operator"}},superTypes:[Rb]},Edge:{name:"Edge",properties:{lhsDir:{name:"lhsDir"},lhsGroup:{name:"lhsGroup",defaultValue:!1},lhsId:{name:"lhsId"},lhsInto:{name:"lhsInto",defaultValue:!1},rhsDir:{name:"rhsDir"},rhsGroup:{name:"rhsGroup",defaultValue:!1},rhsId:{name:"rhsId"},rhsInto:{name:"rhsInto",defaultValue:!1},title:{name:"title"}},superTypes:[]},EmDataEntity:{name:RC,properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},name:{name:"name"}},superTypes:[]},EmFrame:{name:RS,properties:{},superTypes:[]},EmGwt:{name:"EmGwt",properties:{givenStatements:{name:"givenStatements",defaultValue:[]},sourceFrame:{name:"sourceFrame",referenceType:RS},thenStatements:{name:"thenStatements",defaultValue:[]},whenStatements:{name:"whenStatements",defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:"EmGwtStatement",properties:{entityIdentifier:{name:"entityIdentifier",referenceType:Rk}},superTypes:[]},EmModelEntity:{name:Rk,properties:{name:{name:"name"}},superTypes:[]},EmNoteEntity:{name:"EmNoteEntity",properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},sourceFrame:{name:"sourceFrame",referenceType:RS}},superTypes:[]},EmResetFrame:{name:Rx,properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:RC},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:RS}},superTypes:[RS]},EmTimeFrame:{name:"EmTimeFrame",properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:RC},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:RS}},superTypes:[RS]},Entry:{name:"Entry",properties:{axis:{name:"axis",referenceType:Rg},value:{name:"value"}},superTypes:[]},EventModel:{name:"EventModel",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dataEntities:{name:"dataEntities",defaultValue:[]},frames:{name:"frames",defaultValue:[]},gwtEntities:{name:"gwtEntities",defaultValue:[]},modelEntities:{name:"modelEntities",defaultValue:[]},noteEntities:{name:"noteEntities",defaultValue:[]},title:{name:"title"}},superTypes:[]},Evolution:{name:"Evolution",properties:{stages:{name:"stages",defaultValue:[]}},superTypes:[]},EvolutionStage:{name:"EvolutionStage",properties:{boundary:{name:"boundary"},name:{name:"name"},secondName:{name:"secondName"}},superTypes:[]},Evolve:{name:"Evolve",properties:{component:{name:"component"},target:{name:"target"}},superTypes:[]},GitGraph:{name:Rw,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[]},Group:{name:"Group",properties:{icon:{name:"icon"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Info:{name:RI,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Item:{name:R_,properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[]},Junction:{name:"Junction",properties:{id:{name:"id"},in:{name:"in"}},superTypes:[]},Label:{name:"Label",properties:{negX:{name:"negX",defaultValue:!1},negY:{name:"negY",defaultValue:!1},offsetX:{name:"offsetX"},offsetY:{name:"offsetY"}},superTypes:[]},Leaf:{name:"Leaf",properties:{classSelector:{name:"classSelector"},name:{name:"name"},value:{name:"value"}},superTypes:[R_]},Link:{name:"Link",properties:{arrow:{name:"arrow"},from:{name:"from"},fromPort:{name:"fromPort"},linkLabel:{name:"linkLabel"},to:{name:"to"},toPort:{name:"toPort"}},superTypes:[]},Merge:{name:RP,properties:{branch:{name:"branch"},id:{name:"id"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[Rq]},Note:{name:"Note",properties:{evolution:{name:"evolution"},text:{name:"text"},visibility:{name:"visibility"}},superTypes:[]},Option:{name:"Option",properties:{name:{name:"name"},value:{name:"value",defaultValue:!1}},superTypes:[]},Packet:{name:RO,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},blocks:{name:"blocks",defaultValue:[]},title:{name:"title"}},superTypes:[]},PacketBlock:{name:RD,properties:{bits:{name:"bits"},end:{name:"end"},label:{name:"label"},start:{name:"start"}},superTypes:[]},PegAny:{name:"PegAny",properties:{dot:{name:"dot"}},superTypes:[RL]},PegGroup:{name:"PegGroup",properties:{element:{name:"element"}},superTypes:[RL]},PegIdentifier:{name:"PegIdentifier",properties:{name:{name:"name"}},superTypes:[RL]},PegLiteral:{name:"PegLiteral",properties:{value:{name:"value"}},superTypes:[RL]},PegOrderedChoice:{name:"PegOrderedChoice",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},PegPrefix:{name:"PegPrefix",properties:{operator:{name:"operator"},suffix:{name:"suffix"}},superTypes:[]},PegPrimary:{name:RL,properties:{},superTypes:[]},PegRule:{name:"PegRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},PegSequence:{name:"PegSequence",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},PegSuffix:{name:"PegSuffix",properties:{operator:{name:"operator"},primary:{name:"primary"}},superTypes:[]},Pie:{name:"Pie",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},sections:{name:"sections",defaultValue:[]},showData:{name:"showData",defaultValue:!1},title:{name:"title"}},superTypes:[]},PieSection:{name:RM,properties:{label:{name:"label"},value:{name:"value"}},superTypes:[]},Pipeline:{name:"Pipeline",properties:{components:{name:"components",defaultValue:[]},parent:{name:"parent"}},superTypes:[]},PipelineComponent:{name:"PipelineComponent",properties:{evolution:{name:"evolution"},label:{name:"label"},name:{name:"name"}},superTypes:[]},Radar:{name:"Radar",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},axes:{name:"axes",defaultValue:[]},curves:{name:"curves",defaultValue:[]},options:{name:"options",defaultValue:[]},title:{name:"title"}},superTypes:[]},Railroad:{name:Rj,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadAbnf:{name:RF,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadChoiceExpr:{name:"RailroadChoiceExpr",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[Rz]},RailroadEbnf:{name:RG,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadExpression:{name:Rz,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:"RailroadNonTerminalExpr",properties:{name:{name:"name"}},superTypes:[Rz]},RailroadOneOrMoreExpr:{name:"RailroadOneOrMoreExpr",properties:{element:{name:"element"}},superTypes:[Rz]},RailroadOptionalExpr:{name:"RailroadOptionalExpr",properties:{element:{name:"element"}},superTypes:[Rz]},RailroadPeg:{name:RK,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadRule:{name:"RailroadRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},RailroadSequenceExpr:{name:"RailroadSequenceExpr",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[Rz]},RailroadSpecialExpr:{name:"RailroadSpecialExpr",properties:{text:{name:"text"}},superTypes:[Rz]},RailroadTerminalExpr:{name:"RailroadTerminalExpr",properties:{value:{name:"value"}},superTypes:[Rz]},RailroadZeroOrMoreExpr:{name:"RailroadZeroOrMoreExpr",properties:{element:{name:"element"}},superTypes:[Rz]},Section:{name:"Section",properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[R_]},Service:{name:"Service",properties:{icon:{name:"icon"},iconText:{name:"iconText"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Size:{name:"Size",properties:{height:{name:"height"},width:{name:"width"}},superTypes:[]},Statement:{name:Rq,properties:{},superTypes:[]},Transition:{name:RU,properties:{from:{name:"from"},label:{name:"label"},to:{name:"to"}},superTypes:[]},TreeNode:{name:"TreeNode",properties:{classAnnotation:{name:"classAnnotation"},descAnnotation:{name:"descAnnotation"},iconAnnotation:{name:"iconAnnotation"},indent:{name:"indent"},name:{name:"name"}},superTypes:[]},TreeView:{name:"TreeView",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},nodes:{name:"nodes",defaultValue:[]},title:{name:"title"}},superTypes:[]},Treemap:{name:RB,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"},TreemapRows:{name:"TreemapRows",defaultValue:[]}},superTypes:[]},TreemapRow:{name:"TreemapRow",properties:{indent:{name:"indent"},item:{name:"item"}},superTypes:[]},Wardley:{name:RW,properties:{accDescr:{name:"accDescr"},accelerators:{name:"accelerators",defaultValue:[]},accTitle:{name:"accTitle"},anchors:{name:"anchors",defaultValue:[]},annotation:{name:"annotation",defaultValue:[]},annotations:{name:"annotations",defaultValue:[]},components:{name:"components",defaultValue:[]},deaccelerators:{name:"deaccelerators",defaultValue:[]},evolution:{name:"evolution"},evolves:{name:"evolves",defaultValue:[]},links:{name:"links",defaultValue:[]},notes:{name:"notes",defaultValue:[]},pipelines:{name:"pipelines",defaultValue:[]},size:{name:"size"},title:{name:"title"}},superTypes:[]}}}static{tL(this,"MermaidAstReflection")}},RH=new RV,RY=tL(()=>tm??(tm=Rf('{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"ArchitectureGrammarGrammar"),RQ=tL(()=>th??(th=Rf('{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"--\x3e"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"CynefinGrammarGrammar"),RZ=tL(()=>ty??(ty=Rf('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),RX=tL(()=>tg??(tg=Rf('{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"GitGraphGrammarGrammar"),RJ=tL(()=>tT??(tT=Rf('{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"InfoGrammarGrammar"),R0=tL(()=>tv??(tv=Rf('{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PacketGrammarGrammar"),R1=tL(()=>t$??(t$=Rf('{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PieGrammarGrammar"),R2=tL(()=>tR??(tR=Rf('{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}')),"RadarGrammarGrammar"),R3=tL(()=>tE??(tE=Rf('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadAbnfGrammarGrammar"),R9=tL(()=>tb??(tb=Rf('{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadEbnfGrammarGrammar"),R4=tL(()=>tA??(tA=Rf('{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadGrammarGrammar"),R5=tL(()=>tC??(tC=Rf('{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadPegGrammarGrammar"),R6=tL(()=>tS??(tS=Rf('{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}')),"TreemapGrammarGrammar"),R8=tL(()=>tk??(tk=Rf('{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"\'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}')),"TreeViewGrammarGrammar"),R7=tL(()=>tx??(tx=Rf('{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"--\x3e"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"WardleyGrammarGrammar"),Ee={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Et={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Er={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},En={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ei={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ea={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Es={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eo={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},El={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eu={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ec={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ep={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ef={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ed={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Em={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eh={AstReflection:tL(()=>new RV,"AstReflection")},Ey={Grammar:tL(()=>RY(),"Grammar"),LanguageMetaData:tL(()=>Ee,"LanguageMetaData"),parser:{}},Eg={Grammar:tL(()=>RQ(),"Grammar"),LanguageMetaData:tL(()=>Et,"LanguageMetaData"),parser:{}},ET={Grammar:tL(()=>RZ(),"Grammar"),LanguageMetaData:tL(()=>Er,"LanguageMetaData"),parser:{}},Ev={Grammar:tL(()=>RX(),"Grammar"),LanguageMetaData:tL(()=>En,"LanguageMetaData"),parser:{}},E$={Grammar:tL(()=>RJ(),"Grammar"),LanguageMetaData:tL(()=>Ei,"LanguageMetaData"),parser:{}},ER={Grammar:tL(()=>R0(),"Grammar"),LanguageMetaData:tL(()=>Ea,"LanguageMetaData"),parser:{}},EE={Grammar:tL(()=>R1(),"Grammar"),LanguageMetaData:tL(()=>Es,"LanguageMetaData"),parser:{}},Eb={Grammar:tL(()=>R2(),"Grammar"),LanguageMetaData:tL(()=>Eo,"LanguageMetaData"),parser:{}},EA={Grammar:tL(()=>R3(),"Grammar"),LanguageMetaData:tL(()=>El,"LanguageMetaData"),parser:{}},EC={Grammar:tL(()=>R9(),"Grammar"),LanguageMetaData:tL(()=>Eu,"LanguageMetaData"),parser:{}},ES={Grammar:tL(()=>R4(),"Grammar"),LanguageMetaData:tL(()=>Ec,"LanguageMetaData"),parser:{}},Ek={Grammar:tL(()=>R5(),"Grammar"),LanguageMetaData:tL(()=>Ep,"LanguageMetaData"),parser:{}},Ex={Grammar:tL(()=>R6(),"Grammar"),LanguageMetaData:tL(()=>Ef,"LanguageMetaData"),parser:{}},EN={Grammar:tL(()=>R8(),"Grammar"),LanguageMetaData:tL(()=>Ed,"LanguageMetaData"),parser:{}},Ew={Grammar:tL(()=>R7(),"Grammar"),LanguageMetaData:tL(()=>Em,"LanguageMetaData"),parser:{}},EI={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},E_=class extends v${static{tL(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return(void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=EI[e.name];if(void 0===n)return;let i=n.exec(t);if(null!==i){if(void 0!==i[1])return i[1].trim().replace(/[\t ]{2,}/gm," ");if(void 0!==i[2])return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n")}}},EP=class extends E_{static{tL(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},EO=class extends vv{static{tL(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends EO{static{tL(this,"CommonTokenBuilder")}}),r.d(t,{Bg:()=>Eb,Bi:()=>ES,CZ:()=>EN,DD:()=>Rl,D_:()=>EE,F5:()=>RN,FZ:()=>E$,Jn:()=>Eg,K2:()=>tL,Tm:()=>EP,U4:()=>EC,WQ:()=>$5,XE:()=>Ex,Xr:()=>Ew,d$:()=>Ev,dg:()=>E_,dj:()=>Ek,mR:()=>EO,oI:()=>EA,p5:()=>ER,sr:()=>Eh,tG:()=>$9,uM:()=>$4,wV:()=>Ey,x0:()=>ET})},89221(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},a=class extends n.dg{static{(0,n.K2)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){if("ARCH_ICON"===e.name)return t.replace(/[()]/g,"").trim();if("ARCH_TEXT_ICON"===e.name)return t.replace(/["()]/g,"");if("ARCH_TITLE"===e.name){let e=t.replace(/^\[|]$/g,"").trim();return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=(e=e.slice(1,-1)).replace(/\\"/g,'"').replace(/\\'/g,"'")),e.trim()}}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.wV,s);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}(0,n.K2)(o,"createArchitectureServices"),r.d(t,{S:()=>o})},63486(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"CynefinTokenBuilder")}constructor(){super(["cynefin-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Jn,a);return t.ServiceRegistry.register(r),{shared:t,Cynefin:r}}(0,n.K2)(s,"createCynefinServices"),r.d(t,{t:()=>s})},97899(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bg,a);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}(0,n.K2)(s,"createRadarServices"),r.d(t,{f:()=>s})},14687(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},a=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,s=class extends n.dg{static{(0,n.K2)(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;let e=a.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function o(e){let t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){let e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}(0,n.K2)(o,"registerValidationChecks");var l=class{static{(0,n.K2)(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(let n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:void 0===n.indent?t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):void 0!==r&&r>=parseInt(n.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},u={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")},validation:{TreemapValidator:(0,n.K2)(()=>new l,"TreemapValidator")}};function c(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.XE,u);return t.ServiceRegistry.register(r),o(r),{shared:t,Treemap:r}}(0,n.K2)(c,"createTreemapServices"),r.d(t,{d:()=>c})},64640(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"RailroadEbnfTokenBuilder")}constructor(){super(["railroad-ebnf-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadEbnfValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){return"EBNF_STRING"===e.name?a(t):"EBNF_SPECIAL_SEQUENCE"===e.name?t.slice(1,-1).trim():void 0}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.U4,o);return t.ServiceRegistry.register(r),{shared:t,RailroadEbnf:r}}(0,n.K2)(l,"createRailroadEbnfServices"),r.d(t,{W:()=>l})},16019(e,t,r){var n=r(51400),i=class extends n.mR{static{(0,n.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},a=class extends n.dg{static{(0,n.K2)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.D_,s);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}(0,n.K2)(o,"createPieServices"),r.d(t,{f:()=>o})},78731(e,t,r){r(97899);var n=r(40805),i=r(64640),a=r(62551),s=r(51392);r(14687),r(88937),r(63486),r(71077),r(6491),r(39773),r(16019),r(92275),r(89221),r(76737);var o=r(51400),l={},u={info:(0,o.K2)(async()=>{let{createInfoServices:e}=await r.e(8620).then(r.bind(r,28391));l.info=e().Info.parser.LangiumParser},"info"),packet:(0,o.K2)(async()=>{let{createPacketServices:e}=await r.e(5480).then(r.bind(r,28491));l.packet=e().Packet.parser.LangiumParser},"packet"),pie:(0,o.K2)(async()=>{let{createPieServices:e}=await r.e(809).then(r.bind(r,38976));l.pie=e().Pie.parser.LangiumParser},"pie"),treeView:(0,o.K2)(async()=>{let{createTreeViewServices:e}=await r.e(3443).then(r.bind(r,20206));l.treeView=e().TreeView.parser.LangiumParser},"treeView"),architecture:(0,o.K2)(async()=>{let{createArchitectureServices:e}=await r.e(5889).then(r.bind(r,8488));l.architecture=e().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,o.K2)(async()=>{let{createGitGraphServices:e}=await r.e(9761).then(r.bind(r,46600));l.gitGraph=e().GitGraph.parser.LangiumParser},"gitGraph"),eventmodeling:(0,o.K2)(async()=>{let{createEventModelingServices:e}=await r.e(4794).then(r.bind(r,95041));l.eventmodeling=e().EventModel.parser.LangiumParser},"eventmodeling"),radar:(0,o.K2)(async()=>{let{createRadarServices:e}=await r.e(4359).then(r.bind(r,17210));l.radar=e().Radar.parser.LangiumParser},"radar"),railroad:(0,o.K2)(async()=>{let{createRailroadServices:e}=await r.e(1605).then(r.bind(r,10388));l.railroad=e().Railroad.parser.LangiumParser},"railroad"),railroadEbnf:(0,o.K2)(async()=>{let{createRailroadEbnfServices:e}=await r.e(6522).then(r.bind(r,93809));l.railroadEbnf=e().RailroadEbnf.parser.LangiumParser},"railroadEbnf"),railroadAbnf:(0,o.K2)(async()=>{let{createRailroadAbnfServices:e}=await r.e(9976).then(r.bind(r,24603));l.railroadAbnf=e().RailroadAbnf.parser.LangiumParser},"railroadAbnf"),railroadPeg:(0,o.K2)(async()=>{let{createRailroadPegServices:e}=await r.e(397).then(r.bind(r,69308));l.railroadPeg=e().RailroadPeg.parser.LangiumParser},"railroadPeg"),treemap:(0,o.K2)(async()=>{let{createTreemapServices:e}=await r.e(1916).then(r.bind(r,47671));l.treemap=e().Treemap.parser.LangiumParser},"treemap"),wardley:(0,o.K2)(async()=>{let{createWardleyServices:e}=await r.e(4515).then(r.bind(r,48478));l.wardley=e().Wardley.parser.LangiumParser},"wardley"),cynefin:(0,o.K2)(async()=>{let{createCynefinServices:e}=await r.e(2246).then(r.bind(r,64229));l.cynefin=e().Cynefin.parser.LangiumParser},"cynefin")};async function c(e,t){let r=u[e];if(!r)throw Error(`Unknown diagram type: ${e}`);l[e]||await r();let n=l[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new p(n);return n.value}(0,o.K2)(c,"parse");var p=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>{let t=void 0===e.line||isNaN(e.line)?"?":e.line,r=void 0===e.column||isNaN(e.column)?"?":e.column;return`Lexer error on line ${t}, column ${r}: ${e.message}`}).join("\n"),r=e.parserErrors.map(e=>{let t=void 0===e.token.startLine||isNaN(e.token.startLine)?"?":e.token.startLine,r=void 0===e.token.startColumn||isNaN(e.token.startColumn)?"?":e.token.startColumn;return`Parse error on line ${t}, column ${r}: ${e.message}`}).join("\n");super(`Parsing failed: ${t} ${r}`),this.result=e}static{(0,o.K2)(this,"MermaidParseError")}};r.d(t,{F5:()=>o.F5,Pz:()=>s.P,WG:()=>i.W,lz:()=>n.l,qg:()=>c,sB:()=>a.s,zg:()=>p})}};
82
+ ${t}`),this.inline)?`{${n}}`:n}};function $W(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){let n=t.indexOf(" "),i=t;if(n>0){let e=$P(t,n);i=t.substring(e),t=t.substring(0,n)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(i=`\`${i}\``),r.renderLink?.(t,i)??$V(t,i)}}function $V(e,t){try{return vM.parse(e,!0),`[${t}](${e})`}catch{return e}}tL($W,"renderInlineTag"),tL($V,"renderLinkDefault");var $H=class{static{tL(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];t+=n.toMarkdown(e),i&&i.range.start.line>n.range.start.line&&(t+="\n")}return t}},$Y=class{static{tL(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function $Q(e){return e.endsWith("\n")?"\n":"\n\n"}tL($Q,"fillNewlines");var $Z=class{static{tL(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&$C(t))return $A(t).toMarkdown({renderLink:tL((t,r)=>this.documentationLinkRenderer(e,t,r),"renderLink"),renderTag:tL(t=>this.documentationTagRenderer(e,t),"renderTag")})}documentationLinkRenderer(e,t,r){let n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){let e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,i=n.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${i.toString()})`}}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let r=rV(e).localSymbols;if(!r)return;let n=e;do{let e=r.getStream(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}},$X=class{static{tL(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return v5(e)?e.$comment:iH(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},$J=class{static{tL(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},$0=class{static{tL(this,"AbstractThreadedAsyncParser")}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 t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let r,n=await this.acquireParserWorker(t),i=new vw,a=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(e=>{let t=this.hydrator.hydrate(e);i.resolve(t)}).catch(e=>{i.reject(e)}).finally(()=>{a.dispose(),clearTimeout(r)}),i.promise}terminateWorker(e){e.terminate();let t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){for(let e of(this.initializeWorkers(),this.workerPool))if(e.ready)return e.lock(),e;let t=new vw;return e.onCancellationRequested(()=>{let e=this.queue.indexOf(t);e>=0&&this.queue.splice(e,1),t.reject(vk)}),this.queue.push(t),t.promise}},$1=class{static{tL(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new $c.Emitter,this.deferred=new vw,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),r(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(vk),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw Error("Parser worker is busy");return this._parsing=!0,this.deferred=new vw,this.sendMessage(e),this.deferred.promise}},$2=class{static{tL(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new vR.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=vC();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=vR.CancellationToken.None){let n=new vw;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){vx(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},$3=class{static{tL(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new vH,this.tokenTypeIdMap=new vH,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>({...e,message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of rX(e))t.set(r,{});if(e.$cstNode)for(let t of iF(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rk(a)?e.push(this.dehydrateAstNode(a,t)):rx(a)?e.push(this.dehydrateReference(a,t)):e.push(a)}else rk(i)?r[n]=this.dehydrateAstNode(i,t):rx(i)?r[n]=this.dehydrateReference(i,t):void 0!==i&&(r[n]=i);return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return rD(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),rP(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):rO(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t,r=new Map,n=new Map;for(let t of rX(e))r.set(t,{});if(e.$cstNode)for(let r of iF(e.$cstNode)){let e;"fullText"in r?t=e=new TQ(r.fullText):"content"in r?e=new TH:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rk(a)?e.push(this.setParent(this.hydrateAstNode(a,t),r)):rx(a)?e.push(this.hydrateReference(a,r,n,t)):e.push(a)}else rk(i)?r[n]=this.setParent(this.hydrateAstNode(i,t),r):rx(i)?r[n]=this.hydrateReference(i,r,n,t):void 0!==i&&(r[n]=i);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),rP(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType);return new TV(e.offset,e.length,{start:{line:e.startLine,character:e.startColumn},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of rX(this.grammar))r6(t)&&this.grammarElementIdMap.set(t,e++)}};function $4(e){return{documentation:{CommentProvider:tL(e=>new $X(e),"CommentProvider"),DocumentationProvider:tL(e=>new $Z(e),"DocumentationProvider")},parser:{AsyncParser:tL(e=>new $J(e),"AsyncParser"),GrammarConfig:tL(e=>a8(e),"GrammarConfig"),LangiumParser:tL(e=>vg(e),"LangiumParser"),CompletionParser:tL(e=>vy(e),"CompletionParser"),ValueConverter:tL(()=>new v$,"ValueConverter"),TokenBuilder:tL(()=>new vv,"TokenBuilder"),Lexer:tL(e=>new $$(e),"Lexer"),ParserErrorMessageProvider:tL(()=>new T3,"ParserErrorMessageProvider"),LexerErrorMessageProvider:tL(()=>new $T,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:tL(()=>new $u,"AstNodeLocator"),AstNodeDescriptionProvider:tL(e=>new $o(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:tL(e=>new $l(e),"ReferenceDescriptionProvider")},references:{Linker:tL(e=>new vq(e),"Linker"),NameProvider:tL(()=>new vB,"NameProvider"),ScopeProvider:tL(e=>new v9(e),"ScopeProvider"),ScopeComputation:tL(e=>new vY(e),"ScopeComputation"),References:tL(e=>new vW(e),"References")},serializer:{Hydrator:tL(e=>new $3(e),"Hydrator"),JsonSerializer:tL(e=>new v7(e),"JsonSerializer")},validation:{DocumentValidator:tL(e=>new $n(e),"DocumentValidator"),ValidationRegistry:tL(e=>new $t(e),"ValidationRegistry")},shared:tL(()=>e.shared,"shared")}}function $9(e){return{ServiceRegistry:tL(e=>new v8(e),"ServiceRegistry"),workspace:{LangiumDocuments:tL(e=>new vz(e),"LangiumDocuments"),LangiumDocumentFactory:tL(e=>new vG(e),"LangiumDocumentFactory"),DocumentBuilder:tL(e=>new $h(e),"DocumentBuilder"),IndexManager:tL(e=>new $y(e),"IndexManager"),WorkspaceManager:tL(e=>new $g(e),"WorkspaceManager"),FileSystemProvider:tL(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:tL(()=>new $2,"WorkspaceLock"),ConfigurationProvider:tL(e=>new $p(e),"ConfigurationProvider")},profilers:{}}}function $5(e,t,r,n,i,a,s,o,l){return $8([e,t,r,n,i,a,s,o,l].reduce(Rr,{}))}tL($4,"createDefaultCoreModule"),tL($9,"createDefaultSharedCoreModule"),(e6||(e6={})).merge=(e,t)=>Rr(Rr({},e),t),tL($5,"inject");var $6=Symbol("isProxy");function $7(e){if(e&&e[$6])for(let t of Object.values(e))$7(t);return e}function $8(e,t){let r=new Proxy({},{deleteProperty:tL(()=>!1,"deleteProperty"),set:tL(()=>{throw Error("Cannot set property on injected service container")},"set"),get:tL((n,i)=>i===$6||Rt(n,i,e,t||r),"get"),getOwnPropertyDescriptor:tL((n,i)=>(Rt(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:tL((t,r)=>r in e,"has"),ownKeys:tL(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}tL($7,"eagerLoad"),tL($8,"_inject");var Re=Symbol();function Rt(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===Re)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=Re;try{e[t]="function"==typeof i?i(n):$8(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function Rr(e,t){if(t){for(let[r,n]of Object.entries(t))if(null!=n)if("object"==typeof n){let t=e[r];"object"==typeof t&&null!==t?e[r]=Rr(t,n):e[r]=Rr({},n)}else e[r]=n}return e}tL(Rt,"_resolve"),tL(Rr,"_merge");var Rn={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(h=e7||(e7={})).REGULAR="indentation-sensitive",h.IGNORE_INDENTATION="ignore-indentation";var Ri=class extends vv{static{tL(this,"IndentationAwareTokenBuilder")}constructor(e=Rn){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Rn,...e},this.indentTokenType=fH({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=fH({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let r,n,i,a=super.buildTokens(e,t);if(!$R(a))throw Error("Invalid tokens built by default builder");let{indentTokenName:s,dedentTokenName:o,whitespaceTokenName:l,ignoreIndentationDelimiters:u}=this.options,c=[];for(let e of a){for(let[t,r]of u)e.name===t?e.PUSH_MODE=e7.IGNORE_INDENTATION:e.name===r&&(e.POP_MODE=!0);e.name===o?r=e:e.name===s?n=e:e.name===l?i=e:c.push(e)}if(!r||!n||!i)throw Error("Some indentation/whitespace tokens not found!");return u.length>0?{modes:{[e7.REGULAR]:[r,n,...c,i],[e7.IGNORE_INDENTATION]:[...c,i]},defaultMode:e7.REGULAR}:[r,n,i,...c]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return 0===t||"\r\n".includes(e[t-1])}matchWhitespace(e,t,r,n){this.whitespaceRegExp.lastIndex=t;let i=this.whitespaceRegExp.exec(e);return{currIndentLevel:i?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:i}}createIndentationTokenInstance(e,t,r,n){let i=this.getLineNumber(t,n);return fZ(e,r,n,n+r.length,i,i,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);return i<=a?null:(this.indentationStack.push(i),s)}dedentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);if(i>=a)return null;let o=this.indentationStack.lastIndexOf(i);if(-1===o)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${i} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:s?.[0]?.length??0,line:this.getLineNumber(e,t),column:1}),null;let l=this.indentationStack.length-o-1,u=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let n=0;n<l;n++){let n=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(u-1));r.push(n),this.indentationStack.pop()}return null}buildTerminalToken(e){let t=super.buildTerminalToken(e),{indentTokenName:r,dedentTokenName:n,whitespaceTokenName:i}=this.options;return t.name===r?this.indentTokenType:t.name===n?this.dedentTokenType:t.name===i?fH({name:i,pattern:this.whitespaceRegExp,group:fM.SKIPPED}):t}flushRemainingDedents(e){let t=[];for(;this.indentationStack.length>1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Ra=class extends $${static{tL(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ri)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=$v){let r=super.tokenize(e),n=r.report;t?.mode==="full"&&r.tokens.push(...n.remainingDedents),n.remainingDedents=[];let{indentTokenType:i,dedentTokenType:a}=this.indentationTokenBuilder,s=i.tokenTypeIdx,o=a.tokenTypeIdx,l=[],u=r.tokens.length-1;for(let e=0;e<u;e++){let t=r.tokens[e],n=r.tokens[e+1];if(t.tokenTypeIdx===s&&n.tokenTypeIdx===o){e++;continue}l.push(t)}return u>=0&&l.push(r.tokens[u]),r.tokens=l,r}},Rs={};tj(Rs,{AstUtils:()=>rq,BiMap:()=>vH,Cancellation:()=>vR,ContextCache:()=>v2,CstUtils:()=>rS,DONE_RESULT:()=>rG,Deferred:()=>vw,Disposable:()=>e5,DisposableCache:()=>v0,DocumentCache:()=>v3,EMPTY_STREAM:()=>rF,ErrorWithLocation:()=>i5,GrammarUtils:()=>i9,MultiMap:()=>vV,OperationCancelled:()=>vk,Reduction:()=>eV,RegExpUtils:()=>i8,SimpleCache:()=>v1,StreamImpl:()=>rL,TreeStreamImpl:()=>rK,URI:()=>vM,UriTrie:()=>vF,UriUtils:()=>e2,WorkspaceCache:()=>v4,assertCondition:()=>i7,assertUnreachable:()=>i6,delayNextTick:()=>vE,interruptAndCheck:()=>vN,isOperationCancelled:()=>vx,loadGrammarFromJson:()=>Rf,setInterruptionPeriod:()=>vS,startCancelableOperation:()=>vC,stream:()=>rz}),tG(Rs,$c);var Ro=class{static{tL(this,"EmptyFileSystemProvider")}stat(e){throw Error("No file system is available.")}statSync(e){throw Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw Error("No file system is available.")}readBinarySync(){throw Error("No file system is available.")}readFile(){throw Error("No file system is available.")}readFileSync(){throw Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},Rl={fileSystemProvider:tL(()=>new Ro,"fileSystemProvider")},Ru={Grammar:tL(()=>void 0,"Grammar"),LanguageMetaData:tL(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Rc={AstReflection:tL(()=>new iL,"AstReflection")};function Rp(){let e=$5($9(Rl),Rc),t=$5($4({shared:e}),Ru);return e.ServiceRegistry.register(t),t}function Rf(e){let t=Rp(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,vM.parse(`memory:/${r.name??"grammar"}.langium`)),r}tL(Rp,"createMinimalGrammarServices"),tL(Rf,"loadGrammarFromJson"),tG(rC,Rs);var Rd=class{static{tL(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new vV}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(e=>this.activeCategories.add(e)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(e=>this.activeCategories.delete(e)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${t}'.`),new Rm(t=>this.records.add(e,this.dumpRecord(e,t)),t)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at ${t.date.toISOString()}`);let r=[];for(let e of t.entries.keys()){let n=t.entries.get(e),i=n.reduce((e,t)=>e+t);r.push({name:`${t.identifier}.${e}`,count:n.length,duration:i})}let n=t.duration-r.map(e=>e.duration).reduce((e,t)=>e+t,0);function i(e){return Math.round(100*e)/100}return r.push({name:t.identifier,count:1,duration:n}),r.sort((e,t)=>t.duration-e.duration),tL(i,"Round"),console.table(r.map(e=>({Element:e.name,Count:e.count,"Self %":i(100*e.duration/t.duration),"Time (ms)":i(e.duration)}))),t}getRecords(...e){return 0===e.length?this.records.values():this.records.entries().filter(t=>e.some(e=>e===t[0])).flatMap(e=>e[1])}},Rm=class{static{tL(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new vV,this.addRecord=e,this.identifier=t}start(){if(void 0!==this.startTime)throw Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(void 0===this.startTime)throw Error(`Task "${this.identifier}" was not started.`);if(0!==this.stack.length)throw Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(e=>e.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let t=this.stack.pop();if(!t)throw Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw Error(`Sub-Task "${t.id}" is not already stopped.`);let r=performance.now()-t.start;void 0!==this.stack.at(-1)&&(this.stack[this.stack.length-1].content+=r);let n=r-t.content;this.entries.add(e,n)}};(e8||(e8={})).Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[^\[\]\r\n]+)\]/},(te||(te={})).Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(tt||(tt={})).Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/},(tr||(tr={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/},(tn||(tn={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ti||(ti={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ta||(ta={})).Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ts||(ts={})).Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(to||(to={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/},(tl||(tl={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/},(tu||(tu={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//},(tc||(tc={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/},(tp||(tp={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/},(tf||(tf={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/},(td||(td={})).Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},e8.Terminals,te.Terminals,tt.Terminals,tr.Terminals,tn.Terminals,ti.Terminals,ta.Terminals,ts.Terminals,to.Terminals,tl.Terminals,tu.Terminals,tc.Terminals,tf.Terminals,tp.Terminals,td.Terminals;var Rh="AbnfPrimary",Ry="Architecture";tL(function(e){return RH.isInstance(e,Ry)},"isArchitecture");var Rg="Axis",RT="Branch";tL(function(e){return RH.isInstance(e,RT)},"isBranch");var Rv="Commit";tL(function(e){return RH.isInstance(e,Rv)},"isCommit");var R$="Cynefin";tL(function(e){return RH.isInstance(e,R$)},"isCynefin");var RR="DomainBlock";tL(function(e){return RH.isInstance(e,RR)},"isDomainBlock");var RE="DomainItem";tL(function(e){return RH.isInstance(e,RE)},"isDomainItem");var Rb="EbnfPostfix",RA="EbnfPrimary",RC="EmDataEntity",RS="EmFrame",Rk="EmModelEntity";tL(function(e){return"rmo"===e||"readmodel"===e||"ui"===e||"cmd"===e||"command"===e||"evt"===e||"event"===e||"pcr"===e||"processor"===e},"isEmModelEntityType");var Rx="EmResetFrame";function RN(e){return RH.isInstance(e,Rx)}tL(RN,"isEmResetFrame");var Rw="GitGraph";tL(function(e){return RH.isInstance(e,Rw)},"isGitGraph");var RI="Info";tL(function(e){return RH.isInstance(e,RI)},"isInfo");var R_="Item",RP="Merge";tL(function(e){return RH.isInstance(e,RP)},"isMerge");var RO="Packet";tL(function(e){return RH.isInstance(e,RO)},"isPacket");var RD="PacketBlock";tL(function(e){return RH.isInstance(e,RD)},"isPacketBlock");var RL="PegPrimary";tL(function(e){return RH.isInstance(e,"Pie")},"isPie");var RM="PieSection";tL(function(e){return RH.isInstance(e,RM)},"isPieSection");var Rj="Railroad";tL(function(e){return RH.isInstance(e,Rj)},"isRailroad");var RF="RailroadAbnf";tL(function(e){return RH.isInstance(e,RF)},"isRailroadAbnf");var RG="RailroadEbnf";tL(function(e){return RH.isInstance(e,RG)},"isRailroadEbnf");var Rz="RailroadExpression",RK="RailroadPeg";tL(function(e){return RH.isInstance(e,RK)},"isRailroadPeg");var Rq="Statement",RU="Transition";tL(function(e){return RH.isInstance(e,RU)},"isTransition");var RB="Treemap";tL(function(e){return RH.isInstance(e,RB)},"isTreemap");var RW="Wardley";tL(function(e){return RH.isInstance(e,RW)},"isWardley");var RV=class extends r_{constructor(){super(...arguments),this.types={AbnfAlternation:{name:"AbnfAlternation",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:"AbnfConcatenation",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},AbnfElement:{name:"AbnfElement",properties:{primary:{name:"primary"},repeat:{name:"repeat"}},superTypes:[]},AbnfGroup:{name:"AbnfGroup",properties:{element:{name:"element"}},superTypes:[Rh]},AbnfNumVal:{name:"AbnfNumVal",properties:{value:{name:"value"}},superTypes:[Rh]},AbnfOptionalGroup:{name:"AbnfOptionalGroup",properties:{element:{name:"element"}},superTypes:[Rh]},AbnfPrimary:{name:Rh,properties:{},superTypes:[]},AbnfRule:{name:"AbnfRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},AbnfRuleName:{name:"AbnfRuleName",properties:{name:{name:"name"}},superTypes:[Rh]},AbnfStringLiteral:{name:"AbnfStringLiteral",properties:{value:{name:"value"}},superTypes:[Rh]},Accelerator:{name:"Accelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Alignment:{name:"Alignment",properties:{direction:{name:"direction"},members:{name:"members",defaultValue:[]}},superTypes:[]},Anchor:{name:"Anchor",properties:{evolution:{name:"evolution"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Annotation:{name:"Annotation",properties:{number:{name:"number"},text:{name:"text"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Annotations:{name:"Annotations",properties:{x:{name:"x"},y:{name:"y"}},superTypes:[]},Architecture:{name:Ry,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},alignments:{name:"alignments",defaultValue:[]},edges:{name:"edges",defaultValue:[]},groups:{name:"groups",defaultValue:[]},junctions:{name:"junctions",defaultValue:[]},services:{name:"services",defaultValue:[]},title:{name:"title"}},superTypes:[]},Axis:{name:Rg,properties:{label:{name:"label"},name:{name:"name"}},superTypes:[]},Branch:{name:RT,properties:{name:{name:"name"},order:{name:"order"}},superTypes:[Rq]},Checkout:{name:"Checkout",properties:{branch:{name:"branch"}},superTypes:[Rq]},CherryPicking:{name:"CherryPicking",properties:{id:{name:"id"},parent:{name:"parent"},tags:{name:"tags",defaultValue:[]}},superTypes:[Rq]},ClassDefStatement:{name:"ClassDefStatement",properties:{className:{name:"className"},styleText:{name:"styleText"}},superTypes:[]},Commit:{name:Rv,properties:{id:{name:"id"},message:{name:"message"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[Rq]},Common:{name:"Common",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Component:{name:"Component",properties:{decorator:{name:"decorator"},evolution:{name:"evolution"},inertia:{name:"inertia",defaultValue:!1},label:{name:"label"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Curve:{name:"Curve",properties:{entries:{name:"entries",defaultValue:[]},label:{name:"label"},name:{name:"name"}},superTypes:[]},Cynefin:{name:R$,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},domains:{name:"domains",defaultValue:[]},title:{name:"title"},transitions:{name:"transitions",defaultValue:[]}},superTypes:[]},Deaccelerator:{name:"Deaccelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Decorator:{name:"Decorator",properties:{strategy:{name:"strategy"}},superTypes:[]},Direction:{name:"Direction",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dir:{name:"dir"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[Rw]},DomainBlock:{name:RR,properties:{domain:{name:"domain"},items:{name:"items",defaultValue:[]}},superTypes:[]},DomainItem:{name:RE,properties:{label:{name:"label"}},superTypes:[]},EbnfChoice:{name:"EbnfChoice",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:"EbnfExceptionPostfix",properties:{except:{name:"except"}},superTypes:[Rb]},EbnfGroup:{name:"EbnfGroup",properties:{element:{name:"element"}},superTypes:[RA]},EbnfNonTerminal:{name:"EbnfNonTerminal",properties:{name:{name:"name"}},superTypes:[RA]},EbnfOneOrMorePostfix:{name:"EbnfOneOrMorePostfix",properties:{operator:{name:"operator"}},superTypes:[Rb]},EbnfOptional:{name:"EbnfOptional",properties:{element:{name:"element"}},superTypes:[RA]},EbnfOptionalPostfix:{name:"EbnfOptionalPostfix",properties:{operator:{name:"operator"}},superTypes:[Rb]},EbnfPostfix:{name:Rb,properties:{},superTypes:[]},EbnfPrimary:{name:RA,properties:{},superTypes:[]},EbnfRepetition:{name:"EbnfRepetition",properties:{element:{name:"element"}},superTypes:[RA]},EbnfRule:{name:"EbnfRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},EbnfSequence:{name:"EbnfSequence",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:"EbnfSpecial",properties:{text:{name:"text"}},superTypes:[RA]},EbnfTerm:{name:"EbnfTerm",properties:{base:{name:"base"},postfixes:{name:"postfixes",defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:"EbnfTerminal",properties:{value:{name:"value"}},superTypes:[RA]},EbnfZeroOrMorePostfix:{name:"EbnfZeroOrMorePostfix",properties:{operator:{name:"operator"}},superTypes:[Rb]},Edge:{name:"Edge",properties:{lhsDir:{name:"lhsDir"},lhsGroup:{name:"lhsGroup",defaultValue:!1},lhsId:{name:"lhsId"},lhsInto:{name:"lhsInto",defaultValue:!1},rhsDir:{name:"rhsDir"},rhsGroup:{name:"rhsGroup",defaultValue:!1},rhsId:{name:"rhsId"},rhsInto:{name:"rhsInto",defaultValue:!1},title:{name:"title"}},superTypes:[]},EmDataEntity:{name:RC,properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},name:{name:"name"}},superTypes:[]},EmFrame:{name:RS,properties:{},superTypes:[]},EmGwt:{name:"EmGwt",properties:{givenStatements:{name:"givenStatements",defaultValue:[]},sourceFrame:{name:"sourceFrame",referenceType:RS},thenStatements:{name:"thenStatements",defaultValue:[]},whenStatements:{name:"whenStatements",defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:"EmGwtStatement",properties:{entityIdentifier:{name:"entityIdentifier",referenceType:Rk}},superTypes:[]},EmModelEntity:{name:Rk,properties:{name:{name:"name"}},superTypes:[]},EmNoteEntity:{name:"EmNoteEntity",properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},sourceFrame:{name:"sourceFrame",referenceType:RS}},superTypes:[]},EmResetFrame:{name:Rx,properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:RC},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:RS}},superTypes:[RS]},EmTimeFrame:{name:"EmTimeFrame",properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:RC},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:RS}},superTypes:[RS]},Entry:{name:"Entry",properties:{axis:{name:"axis",referenceType:Rg},value:{name:"value"}},superTypes:[]},EventModel:{name:"EventModel",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dataEntities:{name:"dataEntities",defaultValue:[]},frames:{name:"frames",defaultValue:[]},gwtEntities:{name:"gwtEntities",defaultValue:[]},modelEntities:{name:"modelEntities",defaultValue:[]},noteEntities:{name:"noteEntities",defaultValue:[]},title:{name:"title"}},superTypes:[]},Evolution:{name:"Evolution",properties:{stages:{name:"stages",defaultValue:[]}},superTypes:[]},EvolutionStage:{name:"EvolutionStage",properties:{boundary:{name:"boundary"},name:{name:"name"},secondName:{name:"secondName"}},superTypes:[]},Evolve:{name:"Evolve",properties:{component:{name:"component"},target:{name:"target"}},superTypes:[]},GitGraph:{name:Rw,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[]},Group:{name:"Group",properties:{icon:{name:"icon"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Info:{name:RI,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Item:{name:R_,properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[]},Junction:{name:"Junction",properties:{id:{name:"id"},in:{name:"in"}},superTypes:[]},Label:{name:"Label",properties:{negX:{name:"negX",defaultValue:!1},negY:{name:"negY",defaultValue:!1},offsetX:{name:"offsetX"},offsetY:{name:"offsetY"}},superTypes:[]},Leaf:{name:"Leaf",properties:{classSelector:{name:"classSelector"},name:{name:"name"},value:{name:"value"}},superTypes:[R_]},Link:{name:"Link",properties:{arrow:{name:"arrow"},from:{name:"from"},fromPort:{name:"fromPort"},linkLabel:{name:"linkLabel"},to:{name:"to"},toPort:{name:"toPort"}},superTypes:[]},Merge:{name:RP,properties:{branch:{name:"branch"},id:{name:"id"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[Rq]},Note:{name:"Note",properties:{evolution:{name:"evolution"},text:{name:"text"},visibility:{name:"visibility"}},superTypes:[]},Option:{name:"Option",properties:{name:{name:"name"},value:{name:"value",defaultValue:!1}},superTypes:[]},Packet:{name:RO,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},blocks:{name:"blocks",defaultValue:[]},title:{name:"title"}},superTypes:[]},PacketBlock:{name:RD,properties:{bits:{name:"bits"},end:{name:"end"},label:{name:"label"},start:{name:"start"}},superTypes:[]},PegAny:{name:"PegAny",properties:{dot:{name:"dot"}},superTypes:[RL]},PegGroup:{name:"PegGroup",properties:{element:{name:"element"}},superTypes:[RL]},PegIdentifier:{name:"PegIdentifier",properties:{name:{name:"name"}},superTypes:[RL]},PegLiteral:{name:"PegLiteral",properties:{value:{name:"value"}},superTypes:[RL]},PegOrderedChoice:{name:"PegOrderedChoice",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},PegPrefix:{name:"PegPrefix",properties:{operator:{name:"operator"},suffix:{name:"suffix"}},superTypes:[]},PegPrimary:{name:RL,properties:{},superTypes:[]},PegRule:{name:"PegRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},PegSequence:{name:"PegSequence",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},PegSuffix:{name:"PegSuffix",properties:{operator:{name:"operator"},primary:{name:"primary"}},superTypes:[]},Pie:{name:"Pie",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},sections:{name:"sections",defaultValue:[]},showData:{name:"showData",defaultValue:!1},title:{name:"title"}},superTypes:[]},PieSection:{name:RM,properties:{label:{name:"label"},value:{name:"value"}},superTypes:[]},Pipeline:{name:"Pipeline",properties:{components:{name:"components",defaultValue:[]},parent:{name:"parent"}},superTypes:[]},PipelineComponent:{name:"PipelineComponent",properties:{evolution:{name:"evolution"},label:{name:"label"},name:{name:"name"}},superTypes:[]},Radar:{name:"Radar",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},axes:{name:"axes",defaultValue:[]},curves:{name:"curves",defaultValue:[]},options:{name:"options",defaultValue:[]},title:{name:"title"}},superTypes:[]},Railroad:{name:Rj,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadAbnf:{name:RF,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadChoiceExpr:{name:"RailroadChoiceExpr",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[Rz]},RailroadEbnf:{name:RG,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadExpression:{name:Rz,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:"RailroadNonTerminalExpr",properties:{name:{name:"name"}},superTypes:[Rz]},RailroadOneOrMoreExpr:{name:"RailroadOneOrMoreExpr",properties:{element:{name:"element"}},superTypes:[Rz]},RailroadOptionalExpr:{name:"RailroadOptionalExpr",properties:{element:{name:"element"}},superTypes:[Rz]},RailroadPeg:{name:RK,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadRule:{name:"RailroadRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},RailroadSequenceExpr:{name:"RailroadSequenceExpr",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[Rz]},RailroadSpecialExpr:{name:"RailroadSpecialExpr",properties:{text:{name:"text"}},superTypes:[Rz]},RailroadTerminalExpr:{name:"RailroadTerminalExpr",properties:{value:{name:"value"}},superTypes:[Rz]},RailroadZeroOrMoreExpr:{name:"RailroadZeroOrMoreExpr",properties:{element:{name:"element"}},superTypes:[Rz]},Section:{name:"Section",properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[R_]},Service:{name:"Service",properties:{icon:{name:"icon"},iconText:{name:"iconText"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Size:{name:"Size",properties:{height:{name:"height"},width:{name:"width"}},superTypes:[]},Statement:{name:Rq,properties:{},superTypes:[]},Transition:{name:RU,properties:{from:{name:"from"},label:{name:"label"},to:{name:"to"}},superTypes:[]},TreeNode:{name:"TreeNode",properties:{classAnnotation:{name:"classAnnotation"},descAnnotation:{name:"descAnnotation"},iconAnnotation:{name:"iconAnnotation"},indent:{name:"indent"},name:{name:"name"}},superTypes:[]},TreeView:{name:"TreeView",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},nodes:{name:"nodes",defaultValue:[]},title:{name:"title"}},superTypes:[]},Treemap:{name:RB,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"},TreemapRows:{name:"TreemapRows",defaultValue:[]}},superTypes:[]},TreemapRow:{name:"TreemapRow",properties:{indent:{name:"indent"},item:{name:"item"}},superTypes:[]},Wardley:{name:RW,properties:{accDescr:{name:"accDescr"},accelerators:{name:"accelerators",defaultValue:[]},accTitle:{name:"accTitle"},anchors:{name:"anchors",defaultValue:[]},annotation:{name:"annotation",defaultValue:[]},annotations:{name:"annotations",defaultValue:[]},components:{name:"components",defaultValue:[]},deaccelerators:{name:"deaccelerators",defaultValue:[]},evolution:{name:"evolution"},evolves:{name:"evolves",defaultValue:[]},links:{name:"links",defaultValue:[]},notes:{name:"notes",defaultValue:[]},pipelines:{name:"pipelines",defaultValue:[]},size:{name:"size"},title:{name:"title"}},superTypes:[]}}}static{tL(this,"MermaidAstReflection")}},RH=new RV,RY=tL(()=>tm??(tm=Rf('{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'|[^\\\\[\\\\]\\\\r\\\\n]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"ArchitectureGrammarGrammar"),RQ=tL(()=>th??(th=Rf('{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"--\x3e"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"CynefinGrammarGrammar"),RZ=tL(()=>ty??(ty=Rf('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),RX=tL(()=>tg??(tg=Rf('{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"GitGraphGrammarGrammar"),RJ=tL(()=>tT??(tT=Rf('{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"InfoGrammarGrammar"),R0=tL(()=>tv??(tv=Rf('{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PacketGrammarGrammar"),R1=tL(()=>t$??(t$=Rf('{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PieGrammarGrammar"),R2=tL(()=>tR??(tR=Rf('{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}')),"RadarGrammarGrammar"),R3=tL(()=>tE??(tE=Rf('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadAbnfGrammarGrammar"),R4=tL(()=>tb??(tb=Rf('{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadEbnfGrammarGrammar"),R9=tL(()=>tA??(tA=Rf('{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadGrammarGrammar"),R5=tL(()=>tC??(tC=Rf('{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadPegGrammarGrammar"),R6=tL(()=>tS??(tS=Rf('{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}')),"TreemapGrammarGrammar"),R7=tL(()=>tk??(tk=Rf('{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"\'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}')),"TreeViewGrammarGrammar"),R8=tL(()=>tx??(tx=Rf('{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"--\x3e"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"WardleyGrammarGrammar"),Ee={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Et={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Er={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},En={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ei={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ea={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Es={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eo={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},El={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eu={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ec={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ep={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ef={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ed={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Em={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eh={AstReflection:tL(()=>new RV,"AstReflection")},Ey={Grammar:tL(()=>RY(),"Grammar"),LanguageMetaData:tL(()=>Ee,"LanguageMetaData"),parser:{}},Eg={Grammar:tL(()=>RQ(),"Grammar"),LanguageMetaData:tL(()=>Et,"LanguageMetaData"),parser:{}},ET={Grammar:tL(()=>RZ(),"Grammar"),LanguageMetaData:tL(()=>Er,"LanguageMetaData"),parser:{}},Ev={Grammar:tL(()=>RX(),"Grammar"),LanguageMetaData:tL(()=>En,"LanguageMetaData"),parser:{}},E$={Grammar:tL(()=>RJ(),"Grammar"),LanguageMetaData:tL(()=>Ei,"LanguageMetaData"),parser:{}},ER={Grammar:tL(()=>R0(),"Grammar"),LanguageMetaData:tL(()=>Ea,"LanguageMetaData"),parser:{}},EE={Grammar:tL(()=>R1(),"Grammar"),LanguageMetaData:tL(()=>Es,"LanguageMetaData"),parser:{}},Eb={Grammar:tL(()=>R2(),"Grammar"),LanguageMetaData:tL(()=>Eo,"LanguageMetaData"),parser:{}},EA={Grammar:tL(()=>R3(),"Grammar"),LanguageMetaData:tL(()=>El,"LanguageMetaData"),parser:{}},EC={Grammar:tL(()=>R4(),"Grammar"),LanguageMetaData:tL(()=>Eu,"LanguageMetaData"),parser:{}},ES={Grammar:tL(()=>R9(),"Grammar"),LanguageMetaData:tL(()=>Ec,"LanguageMetaData"),parser:{}},Ek={Grammar:tL(()=>R5(),"Grammar"),LanguageMetaData:tL(()=>Ep,"LanguageMetaData"),parser:{}},Ex={Grammar:tL(()=>R6(),"Grammar"),LanguageMetaData:tL(()=>Ef,"LanguageMetaData"),parser:{}},EN={Grammar:tL(()=>R7(),"Grammar"),LanguageMetaData:tL(()=>Ed,"LanguageMetaData"),parser:{}},Ew={Grammar:tL(()=>R8(),"Grammar"),LanguageMetaData:tL(()=>Em,"LanguageMetaData"),parser:{}},EI={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},E_=class extends v${static{tL(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return(void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=EI[e.name];if(void 0===n)return;let i=n.exec(t);if(null!==i){if(void 0!==i[1])return i[1].trim().replace(/[\t ]{2,}/gm," ");if(void 0!==i[2])return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n")}}},EP=class extends E_{static{tL(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},EO=class extends vv{static{tL(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends EO{static{tL(this,"CommonTokenBuilder")}}),r.d(t,{Bg:()=>Eb,Bi:()=>ES,CZ:()=>EN,DD:()=>Rl,D_:()=>EE,F5:()=>RN,FZ:()=>E$,Jn:()=>Eg,K2:()=>tL,Tm:()=>EP,U4:()=>EC,WQ:()=>$5,XE:()=>Ex,Xr:()=>Ew,d$:()=>Ev,dg:()=>E_,dj:()=>Ek,mR:()=>EO,oI:()=>EA,p5:()=>ER,sr:()=>Eh,tG:()=>$4,uM:()=>$9,wV:()=>Ey,x0:()=>ET})},25552(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bg,a);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}(0,n.K2)(s,"createRadarServices"),r.d(t,{f:()=>s})},9427(e,t,r){var n=r(4954),i=class extends n.dg{static{(0,n.K2)(this,"WardleyValueConverter")}runCustomConverter(e,t,r){return"LINK_LABEL"===e.name.toUpperCase()?t.substring(1).trim():void 0}},a={parser:{ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Xr,a);return t.ServiceRegistry.register(r),{shared:t,Wardley:r}}(0,n.K2)(s,"createWardleyServices"),r.d(t,{J:()=>s})},30145(e,t,r){var n=r(4954),i=class extends n.dg{static{(0,n.K2)(this,"TreeViewValueConverter")}runCustomConverter(e,t,r){if("INDENTATION"===e.name)return t?.length||0;if("QUOTED_NAME"===e.name)return t.substring(1,t.length-1);if("BARE_NAME"===e.name)return t.replace(/[\t ]+$/,"");if("CLASS_ANNOTATION"===e.name)return t.trim().substring(3).trim();if("ICON_ANNOTATION"===e.name){let e=t.trim();return e.substring(5,e.length-1)}if("DESC_ANNOTATION"===e.name)return t.trim().substring(2).trim()}},a=class extends n.mR{static{(0,n.K2)(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},s={parser:{TokenBuilder:(0,n.K2)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.CZ,s);return t.ServiceRegistry.register(r),{shared:t,TreeView:r}}(0,n.K2)(o,"createTreeViewServices"),r.d(t,{I:()=>o})},1721(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.d$,a);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}(0,n.K2)(s,"createGitGraphServices"),r.d(t,{b:()=>s})},38426(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadTokenBuilder")}constructor(){super(["railroad-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){if("RR_STRING"===e.name)return a(t)}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bi,o);return t.ServiceRegistry.register(r),{shared:t,Railroad:r}}(0,n.K2)(l,"createRailroadServices"),r.d(t,{l:()=>l})},73263(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.p5,a);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}(0,n.K2)(s,"createPacketServices"),r.d(t,{$:()=>s})},89096(e,t,r){var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadAbnfTokenBuilder")}constructor(){super(["railroad-abnf-beta"])}},a=class extends n.dg{static{(0,n.K2)(this,"RailroadAbnfValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return e.slice(1,-1)}return n}runCustomConverter(e,t,r){if("ABNF_STRING"===e.name)return t.slice(1,-1)}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.oI,s);return t.ServiceRegistry.register(r),{shared:t,RailroadAbnf:r}}(0,n.K2)(o,"createRailroadAbnfServices"),r.d(t,{s:()=>o})},78731(e,t,r){r(25552);var n=r(38426),i=r(14916),a=r(89096),s=r(43245);r(16527),r(9427),r(93279),r(1721),r(54614),r(73263),r(26041),r(30145),r(45796),r(82688);var o=r(4954),l={},u={info:(0,o.K2)(async()=>{let{createInfoServices:e}=await r.e(190).then(r.bind(r,6445));l.info=e().Info.parser.LangiumParser},"info"),packet:(0,o.K2)(async()=>{let{createPacketServices:e}=await r.e(612).then(r.bind(r,13327));l.packet=e().Packet.parser.LangiumParser},"packet"),pie:(0,o.K2)(async()=>{let{createPieServices:e}=await r.e(2395).then(r.bind(r,59590));l.pie=e().Pie.parser.LangiumParser},"pie"),treeView:(0,o.K2)(async()=>{let{createTreeViewServices:e}=await r.e(6771).then(r.bind(r,74142));l.treeView=e().TreeView.parser.LangiumParser},"treeView"),architecture:(0,o.K2)(async()=>{let{createArchitectureServices:e}=await r.e(6762).then(r.bind(r,37089));l.architecture=e().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,o.K2)(async()=>{let{createGitGraphServices:e}=await r.e(9010).then(r.bind(r,69945));l.gitGraph=e().GitGraph.parser.LangiumParser},"gitGraph"),eventmodeling:(0,o.K2)(async()=>{let{createEventModelingServices:e}=await r.e(3312).then(r.bind(r,52355));l.eventmodeling=e().EventModel.parser.LangiumParser},"eventmodeling"),radar:(0,o.K2)(async()=>{let{createRadarServices:e}=await r.e(718).then(r.bind(r,98365));l.radar=e().Radar.parser.LangiumParser},"radar"),railroad:(0,o.K2)(async()=>{let{createRailroadServices:e}=await r.e(5428).then(r.bind(r,2223));l.railroad=e().Railroad.parser.LangiumParser},"railroad"),railroadEbnf:(0,o.K2)(async()=>{let{createRailroadEbnfServices:e}=await r.e(6520).then(r.bind(r,49035));l.railroadEbnf=e().RailroadEbnf.parser.LangiumParser},"railroadEbnf"),railroadAbnf:(0,o.K2)(async()=>{let{createRailroadAbnfServices:e}=await r.e(8665).then(r.bind(r,6480));l.railroadAbnf=e().RailroadAbnf.parser.LangiumParser},"railroadAbnf"),railroadPeg:(0,o.K2)(async()=>{let{createRailroadPegServices:e}=await r.e(3009).then(r.bind(r,55784));l.railroadPeg=e().RailroadPeg.parser.LangiumParser},"railroadPeg"),treemap:(0,o.K2)(async()=>{let{createTreemapServices:e}=await r.e(2853).then(r.bind(r,90884));l.treemap=e().Treemap.parser.LangiumParser},"treemap"),wardley:(0,o.K2)(async()=>{let{createWardleyServices:e}=await r.e(3017).then(r.bind(r,37632));l.wardley=e().Wardley.parser.LangiumParser},"wardley"),cynefin:(0,o.K2)(async()=>{let{createCynefinServices:e}=await r.e(5493).then(r.bind(r,57636));l.cynefin=e().Cynefin.parser.LangiumParser},"cynefin")};async function c(e,t){let r=u[e];if(!r)throw Error(`Unknown diagram type: ${e}`);l[e]||await r();let n=l[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new p(n);return n.value}(0,o.K2)(c,"parse");var p=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>{let t=void 0===e.line||isNaN(e.line)?"?":e.line,r=void 0===e.column||isNaN(e.column)?"?":e.column;return`Lexer error on line ${t}, column ${r}: ${e.message}`}).join("\n"),r=e.parserErrors.map(e=>{let t=void 0===e.token.startLine||isNaN(e.token.startLine)?"?":e.token.startLine,r=void 0===e.token.startColumn||isNaN(e.token.startColumn)?"?":e.token.startColumn;return`Parse error on line ${t}, column ${r}: ${e.message}`}).join("\n");super(`Parsing failed: ${t} ${r}`),this.result=e}static{(0,o.K2)(this,"MermaidParseError")}};r.d(t,{F5:()=>o.F5,Pz:()=>s.P,WG:()=>i.W,lz:()=>n.l,qg:()=>c,sB:()=>a.s,zg:()=>p})}};