@lancc/cmark 1.2.0 → 1.2.1

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 (127) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +21 -21
  3. package/README.md +47 -107
  4. package/assets/abnfDiagram-WEYOIA3C-CKV_7Upb.js +1 -0
  5. package/assets/architectureDiagram-ZHVYKT53-BvLudDvk.js +1 -0
  6. package/assets/blockDiagram-RJAE7QA3--gzkMGi2.js +1 -0
  7. package/assets/c4Diagram-XDPPPE54-ByfRiJGR.js +1 -0
  8. package/assets/chunk-2E7WHVMD-TfbC_dmh.js +1 -0
  9. package/assets/chunk-2Q5K7J3B-0YJgChVo.js +1 -0
  10. package/assets/chunk-4EMNKR2T-DHoYW7g5.js +1 -0
  11. package/assets/chunk-55XCU76K-Cq25Yw_G.js +1 -0
  12. package/assets/chunk-5VM5RSS4-CJaRXFHK.js +1 -0
  13. package/assets/chunk-JWPE2WC7-BP2iXBhe.js +1 -0
  14. package/assets/chunk-VQ5W62QI-B95zur4F.js +1 -0
  15. package/assets/chunk-XXDRQBXY-Ct0MhvQo.js +1 -0
  16. package/assets/chunk-ZCHMQSOR-C5VhW-wL.js +2 -0
  17. package/assets/classDiagram-v2-4MYWR3UA-C1G-Vkj0.js +1 -0
  18. package/assets/cose-bilkent-JH36ORCC-qIQoIBv0.js +1 -0
  19. package/assets/cynefin-EF2NZ3EQ-CR1E3YiZ.js +1 -0
  20. package/assets/cynefinDiagram-WF24UDRP-DaJFvZ3b.js +1 -0
  21. package/assets/cytoscape.esm-SjxgSg6I.js +9 -0
  22. package/assets/dagre-NK4GIZVX-BFRQhpii.js +1 -0
  23. package/assets/diagram-CBK3MWTC-DlueL6XZ.js +1 -0
  24. package/assets/diagram-I5XIIV2D-bITyafYX.js +1 -0
  25. package/assets/diagram-ODIL2UCW-Dlb4hg_-.js +1 -0
  26. package/assets/diagram-PFBEJUXE-CRfen0O7.js +1 -0
  27. package/assets/diagram-RJA3I4VV-CK-FlhGV.js +1 -0
  28. package/assets/diagram-TYUNFSNR-DmgVsxqa.js +1 -0
  29. package/assets/ebnfDiagram-V4P3TTPT-B9KGI9eQ.js +1 -0
  30. package/assets/echarts-CytsvCdp.js +25 -0
  31. package/assets/elk-QONTBCTQ-VgDftvsU.js +1 -0
  32. package/assets/erDiagram-KYQIGQAA-DkpP7sS4.js +1 -0
  33. package/assets/flowDiagram-IUGLLWBU-CRXa9Kxy.js +1 -0
  34. package/assets/ganttDiagram-R7GPNTJY-Cu2I55Wb.js +1 -0
  35. package/assets/gitGraphDiagram-PDYL7XHY-CwSo663I.js +1 -0
  36. package/assets/graph-Dz7AM1Q5.js +1 -0
  37. package/assets/index-BJ-NdQc4.js +100 -0
  38. package/assets/infoDiagram-MVDRKAX5-D3Qknzuo.js +1 -0
  39. package/assets/ishikawaDiagram-HPEHV2GE-9qYT75tk.js +1 -0
  40. package/assets/journeyDiagram-BOSHW7O7-DeSrJg9o.js +1 -0
  41. package/assets/kanban-definition-FNSA4HC5-DINkB6G7.js +1 -0
  42. package/assets/katex-DN8cTsI3.js +1 -0
  43. package/assets/markdown-S2mWvoE-.js +5 -0
  44. package/assets/mermaid-T_6Ze_cT.js +7 -0
  45. package/assets/mindmap-definition-6OY57UG3-DW5hqiAe.js +1 -0
  46. package/assets/pegDiagram-ECIUJNBX-BWy_tkzy.js +1 -0
  47. package/assets/pieDiagram-GNMPY74T-CniJbr6l.js +1 -0
  48. package/assets/quadrantDiagram-D57K4MC3-BVnDJkCv.js +1 -0
  49. package/assets/railroadDiagram-Y72NRBL7-BNKZpJJb.js +1 -0
  50. package/assets/requirementDiagram-EQYSW5RA-BETipHj0.js +1 -0
  51. package/assets/sankeyDiagram-SY24JHO5-ByEYqT7T.js +1 -0
  52. package/assets/sequenceDiagram-BLEHNHQU-BqCJ2tKG.js +1 -0
  53. package/assets/sizeCapture-INFHLROL-DlhrWFj-.js +1 -0
  54. package/assets/stateDiagram-v2-A6IESKWZ-DJUBWLTP.js +1 -0
  55. package/assets/swimlanes-B3ENRKFQ-D7k7tF5U.js +1 -0
  56. package/assets/swimlanesDiagram-AYQRV4AK-DoQBgB9o.js +1 -0
  57. package/assets/timeline-definition-JXYKGLGB-BCNhwnn6.js +1 -0
  58. package/assets/usecaseDiagram-WPOLBNNX-DRa_Rgl3.js +1 -0
  59. package/assets/vennDiagram-Q3Y3IDCW-Ba2eaO68.js +1 -0
  60. package/assets/wardleyDiagram-IVAIDKWA-W_i9vzY-.js +1 -0
  61. package/assets/xychartDiagram-4URNHDU4-ByfaGjvc.js +1 -0
  62. package/index.html +3 -3
  63. package/package.json +1 -1
  64. package/plugin.json +1 -1
  65. package/preload/git-panel.js +29 -5
  66. package/preload/git-service.js +48 -15
  67. package/preload/remote-setup.js +66 -33
  68. package/preload/remote-wizard.js +2 -0
  69. package/preload.js +30 -0
  70. package/assets/abnfDiagram-WEYOIA3C-BgXsTF7a.js +0 -1
  71. package/assets/architectureDiagram-ZHVYKT53-BsCWa_qC.js +0 -36
  72. package/assets/blockDiagram-RJAE7QA3-wbIxEiYN.js +0 -140
  73. package/assets/c4Diagram-XDPPPE54-5zdyxFvA.js +0 -38
  74. package/assets/chunk-2E7WHVMD-F85Lca-i.js +0 -88
  75. package/assets/chunk-2Q5K7J3B-CjpAZ0OI.js +0 -1
  76. package/assets/chunk-4EMNKR2T-C8Kbh83c.js +0 -1
  77. package/assets/chunk-55XCU76K-BINcFiLN.js +0 -1
  78. package/assets/chunk-5VM5RSS4-Diy5h2LS.js +0 -15
  79. package/assets/chunk-JWPE2WC7-BXnjDdh1.js +0 -1
  80. package/assets/chunk-VQ5W62QI-BM7ZZo1I.js +0 -1
  81. package/assets/chunk-XXDRQBXY-CW8CjB1w.js +0 -1
  82. package/assets/chunk-ZCHMQSOR-C7ATz1L1.js +0 -2
  83. package/assets/classDiagram-v2-4MYWR3UA-CMoqNk-b.js +0 -217
  84. package/assets/cose-bilkent-JH36ORCC-6rqR5iJk.js +0 -1
  85. package/assets/cynefin-EF2NZ3EQ-DypLIJxl.js +0 -141
  86. package/assets/cynefinDiagram-WF24UDRP-8b2CEBlR.js +0 -62
  87. package/assets/cytoscape.esm-CjX6Hyah.js +0 -331
  88. package/assets/dagre-NK4GIZVX-Dv6vuUbR.js +0 -4
  89. package/assets/diagram-CBK3MWTC-DJgMDeYd.js +0 -24
  90. package/assets/diagram-I5XIIV2D-BB9cMoRW.js +0 -24
  91. package/assets/diagram-ODIL2UCW-BVcRtsdy.js +0 -30
  92. package/assets/diagram-PFBEJUXE-BbGSOtJx.js +0 -3
  93. package/assets/diagram-RJA3I4VV-CzkY_8Fo.js +0 -41
  94. package/assets/diagram-TYUNFSNR-YTl5QdfL.js +0 -200
  95. package/assets/ebnfDiagram-V4P3TTPT-COVjPAjE.js +0 -1
  96. package/assets/echarts-BAPDkhe3.js +0 -61
  97. package/assets/elk-QONTBCTQ-DHsjY8Z_.js +0 -27
  98. package/assets/erDiagram-KYQIGQAA-CUAbTUl1.js +0 -99
  99. package/assets/flowDiagram-IUGLLWBU-CWsiqTQC.js +0 -213
  100. package/assets/ganttDiagram-R7GPNTJY-DetBW0Wm.js +0 -292
  101. package/assets/gitGraphDiagram-PDYL7XHY-ByrdgJmw.js +0 -106
  102. package/assets/graph-D8UmR1vK.js +0 -1
  103. package/assets/index-B17NCAw4.js +0 -758
  104. package/assets/infoDiagram-MVDRKAX5-BM48fjhU.js +0 -2
  105. package/assets/ishikawaDiagram-HPEHV2GE-DtHYywHZ.js +0 -70
  106. package/assets/journeyDiagram-BOSHW7O7-DJ1LiRh3.js +0 -139
  107. package/assets/kanban-definition-FNSA4HC5-DPPt8pwJ.js +0 -89
  108. package/assets/katex-CQL9J12G.js +0 -257
  109. package/assets/markdown-DVehI1Sg.js +0 -314
  110. package/assets/mermaid-C_q9pug0.js +0 -312
  111. package/assets/mindmap-definition-6OY57UG3-zbqYOEY6.js +0 -98
  112. package/assets/pegDiagram-ECIUJNBX-e7QG7TMq.js +0 -1
  113. package/assets/pieDiagram-GNMPY74T-Duf6YP0N.js +0 -39
  114. package/assets/quadrantDiagram-D57K4MC3-B2eYoUUy.js +0 -7
  115. package/assets/railroadDiagram-Y72NRBL7-BWCzPcI_.js +0 -1
  116. package/assets/requirementDiagram-EQYSW5RA-HhPMEqB1.js +0 -84
  117. package/assets/sankeyDiagram-SY24JHO5-CMUTwFBB.js +0 -40
  118. package/assets/sequenceDiagram-BLEHNHQU-C9wR2ll7.js +0 -169
  119. package/assets/sizeCapture-INFHLROL-DXfz37S6.js +0 -1
  120. package/assets/stateDiagram-v2-A6IESKWZ-D_gtonhE.js +0 -291
  121. package/assets/swimlanes-B3ENRKFQ-DdJOuuMV.js +0 -1
  122. package/assets/swimlanesDiagram-AYQRV4AK-BWt3HxHV.js +0 -8
  123. package/assets/timeline-definition-JXYKGLGB-DQsdwJe-.js +0 -120
  124. package/assets/usecaseDiagram-WPOLBNNX-DTRyFq7d.js +0 -370
  125. package/assets/vennDiagram-Q3Y3IDCW-dihYszm0.js +0 -34
  126. package/assets/wardleyDiagram-IVAIDKWA-BoPpgYfK.js +0 -78
  127. package/assets/xychartDiagram-4URNHDU4-DoLjYxeB.js +0 -7
@@ -0,0 +1 @@
1
+ import{aD as e}from"./mermaid-T_6Ze_cT.js";var t,r,n,a,i,s,o,l,u,c,p,d,f,m,h,y,g,T,v,R,$,E,C,b,A,S,_,x,k,w,N,I,O,P,D,L,M,j,F,G,z,K,q,U,V,B,W,H,Y,X,Z,J,Q,ee,te,re,ne,ae,ie,se,oe,le,ue,ce,pe,de,fe,me,he,ye,ge,Te,ve,Re,$e,Ee,Ce,be,Ae,Se,_e,xe,ke,we,Ne,Ie,Oe,Pe,De,Le=Object.create,Me=Object.defineProperty,je=Object.getOwnPropertyDescriptor,Fe=Object.getOwnPropertyNames,Ge=Object.getPrototypeOf,ze=Object.prototype.hasOwnProperty,Ke=(e,t)=>Me(e,"name",{value:t,configurable:!0}),qe=(e,t)=>function(){return t||(0,e[Fe(e)[0]])((t={exports:{}}).exports,t),t.exports},Ue=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of Fe(t))ze.call(e,a)||a===r||Me(e,a,{get:()=>t[a],enumerable:!(n=je(t,a))||n.enumerable});return e},Ve=(e,t,r)=>(r=null!=e?Le(Ge(e)):{},Ue(Me(r,"default",{value:e,enumerable:!0}),e)),Be=e=>Ue(Me({},"__esModule",{value:!0}),e),We=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/is.js"(e){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 a(e){return e instanceof Error}function i(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.boolean=t,e.string=r,e.number=n,e.error=a,e.func=i,e.array=s,e.stringArray=o,Ke(t,"boolean"),Ke(r,"string"),Ke(n,"number"),Ke(a,"error"),Ke(i,"func"),Ke(s,"array"),Ke(o,"stringArray")}}),He=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e&&e.__importStar||function(){var e=Ke(function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(t)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var a={};if(null!=n)for(var i=e(n),s=0;s<i.length;s++)"default"!==i[s]&&t(a,n,i[s]);return r(a,n),a}}();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 a,i,s=n(We());(i=a||(e.ErrorCodes=a={})).ParseError=-32700,i.InvalidRequest=-32600,i.MethodNotFound=-32601,i.InvalidParams=-32602,i.InternalError=-32603,i.jsonrpcReservedErrorRangeStart=-32099,i.serverErrorStart=-32099,i.MessageWriteError=-32099,i.MessageReadError=-32098,i.PendingResponseRejected=-32097,i.ConnectionInactive=-32096,i.ServerNotInitialized=-32002,i.UnknownErrorCode=-32001,i.jsonrpcReservedErrorRangeEnd=-32e3,i.serverErrorEnd=-32e3;var o=class e extends Error{static{Ke(this,"ResponseError")}code;data;constructor(t,r,n){super(r),this.code=s.number(t)?t:a.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,e.prototype)}toJson(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}};e.ResponseError=o;var l=class e{static{Ke(this,"ParameterStructures")}kind;static auto=new e("auto");static byPosition=new e("byPosition");static byName=new e("byName");constructor(e){this.kind=e}static is(t){return t===e.auto||t===e.byName||t===e.byPosition}toString(){return this.kind}};e.ParameterStructures=l;var u=class{static{Ke(this,"AbstractMessageSignature")}method;numberOfParams;constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return l.auto}};e.AbstractMessageSignature=u;var c=class extends u{static{Ke(this,"RequestType0")}_;constructor(e){super(e,0)}};e.RequestType0=c;var p=class extends u{static{Ke(this,"RequestType")}_parameterStructures;_;constructor(e,t=l.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.RequestType=p;var d=class extends u{static{Ke(this,"RequestType1")}_parameterStructures;_;constructor(e,t=l.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.RequestType1=d;var f=class extends u{static{Ke(this,"RequestType2")}_;constructor(e){super(e,2)}};e.RequestType2=f;var m=class extends u{static{Ke(this,"RequestType3")}_;constructor(e){super(e,3)}};e.RequestType3=m;var h=class extends u{static{Ke(this,"RequestType4")}_;constructor(e){super(e,4)}};e.RequestType4=h;var y=class extends u{static{Ke(this,"RequestType5")}_;constructor(e){super(e,5)}};e.RequestType5=y;var g=class extends u{static{Ke(this,"RequestType6")}_;constructor(e){super(e,6)}};e.RequestType6=g;var T=class extends u{static{Ke(this,"RequestType7")}_;constructor(e){super(e,7)}};e.RequestType7=T;var v=class extends u{static{Ke(this,"RequestType8")}_;constructor(e){super(e,8)}};e.RequestType8=v;var R=class extends u{static{Ke(this,"RequestType9")}_;constructor(e){super(e,9)}};e.RequestType9=R;var $=class extends u{static{Ke(this,"NotificationType")}_parameterStructures;_;constructor(e,t=l.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.NotificationType=$;var E=class extends u{static{Ke(this,"NotificationType0")}_;constructor(e){super(e,0)}};e.NotificationType0=E;var C=class extends u{static{Ke(this,"NotificationType1")}_parameterStructures;_;constructor(e,t=l.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.NotificationType1=C;var b=class extends u{static{Ke(this,"NotificationType2")}_;constructor(e){super(e,2)}};e.NotificationType2=b;var A=class extends u{static{Ke(this,"NotificationType3")}_;constructor(e){super(e,3)}};e.NotificationType3=A;var S=class extends u{static{Ke(this,"NotificationType4")}_;constructor(e){super(e,4)}};e.NotificationType4=S;var _=class extends u{static{Ke(this,"NotificationType5")}_;constructor(e){super(e,5)}};e.NotificationType5=_;var x=class extends u{static{Ke(this,"NotificationType6")}_;constructor(e){super(e,6)}};e.NotificationType6=x;var k=class extends u{static{Ke(this,"NotificationType7")}_;constructor(e){super(e,7)}};e.NotificationType7=k;var w=class extends u{static{Ke(this,"NotificationType8")}_;constructor(e){super(e,8)}};e.NotificationType8=w;var N,I=class extends u{static{Ke(this,"NotificationType9")}_;constructor(e){super(e,9)}};e.NotificationType9=I,function(e){function t(e){const t=e;return t&&s.string(t.method)&&(s.string(t.id)||s.number(t.id))}function r(e){const t=e;return t&&s.string(t.method)&&void 0===e.id}function n(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(s.string(t.id)||s.number(t.id)||null===t.id)}Ke(t,"isRequest"),e.isRequest=t,Ke(r,"isNotification"),e.isNotification=r,Ke(n,"isResponse"),e.isResponse=n}(N||(e.Message=N={}))}}),Ye=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){var t,r;Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,(r=t||(e.Touch=t={})).None=0,r.First=1,r.AsOld=r.First,r.Last=2,r.AsNew=r.Last;var n=class{static{Ke(this,"LinkedMap")}[Symbol.toStringTag]="LinkedMap";_map;_head;_tail;_size;_state;constructor(){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}before(e){const t=this._map.get(e);return t?t.previous?.value:void 0}after(e){const t=this._map.get(e);return t?t.next?.value:void 0}has(e){return this._map.has(e)}get(e,r=t.None){const n=this._map.get(e);if(n)return r!==t.None&&this.touch(n,r),n.value}set(e,r,n=t.None){let a=this._map.get(e);if(a)a.value=r,n!==t.None&&this.touch(a,n);else{switch(a={key:e,value:r,next:void 0,previous:void 0},n){case t.None:this.addItemLast(a);break;case t.First:this.addItemFirst(a);break;case t.Last:default:this.addItemLast(a)}this._map.set(e,a),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const 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 new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const r=this._state;let 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 new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){const e=this._state;let t=this._head;const r={[Symbol.iterator]:()=>r,next:Ke(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.key,done:!1};return t=t.next,e}return{value:void 0,done:!0}},"next")};return r}values(){const e=this._state;let t=this._head;const r={[Symbol.iterator]:()=>r,next:Ke(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.value,done:!1};return t=t.next,e}return{value:void 0,done:!0}},"next")};return r}entries(){const e=this._state;let t=this._head;const r={[Symbol.iterator]:()=>r,next:Ke(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:[t.key,t.value],done:!1};return t=t.next,e}return{value:void 0,done:!0}},"next")};return r}[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)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}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 new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(r===t.First||r===t.Last)if(r===t.First){if(e===this._head)return;const 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(r===t.Last){if(e===this._tail)return;const 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(){const e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(const[t,r]of e)this.set(t,r)}};e.LinkedMap=n;var a=class extends n{static{Ke(this,"LRUCache")}_limit;_ratio;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,r=t.AsNew){return super.get(e,r)}peek(e){return super.get(e,t.None)}set(e,r){return super.set(e,r,t.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};e.LRUCache=a}}),Xe=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0,function(e){function t(e){return{dispose:e}}Ke(t,"create"),e.create=t}(t||(e.Disposable=t={}))}}),Ze=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){var t;function r(){if(void 0===t)throw new Error("No runtime abstraction layer installed");return t}Object.defineProperty(e,"__esModule",{value:!0}),Ke(r,"RAL"),function(e){function r(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");t=e}Ke(r,"install"),e.install=r}(r||(r={})),e.default=r}}),Je=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/events.js"(e){var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var r,n=t(Ze());!function(e){const t={dispose(){}};e.None=function(){return t}}(r||(e.Event=r={}));var a=class{static{Ke(this,"CallbackList")}_callbacks;_contexts;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:Ke(()=>this.remove(e,t),"dispose")})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,a=this._callbacks.length;n<a;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t)return this._callbacks.splice(n,1),void this._contexts.splice(n,1);r=!0}if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];const t=[],r=this._callbacks.slice(0),a=this._contexts.slice(0);for(let s=0,o=r.length;s<o;s++)try{t.push(r[s].apply(a[s],e))}catch(i){(0,n.default)().console.error(i)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},i=class e{static{Ke(this,"Emitter")}_options;static _noop=Ke(function(){},"_noop");_event;_callbacks;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);const i={dispose:Ke(()=>{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=i}}),Qe=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e&&e.__importStar||function(){var e=Ke(function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(t)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var a={};if(null!=n)for(var i=e(n),s=0;s<i.length;s++)"default"!==i[s]&&t(a,n,i[s]);return r(a,n),a}}(),a=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var i,s=a(Ze()),o=n(We()),l=Je();!function(e){function t(t){const r=t;return r&&(r===e.None||r===e.Cancelled||o.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:l.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:l.Event.None}),Ke(t,"is"),e.is=t}(i||(e.CancellationToken=i={}));var u=Object.freeze(function(e,t){const r=(0,s.default)().timer.setTimeout(e.bind(t),0);return{dispose(){r.dispose()}}}),c=class{static{Ke(this,"MutableToken")}_isCancelled=!1;_emitter;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?u:(this._emitter||(this._emitter=new l.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},p=class{static{Ke(this,"CancellationTokenSource")}_token;get token(){return this._token||(this._token=new c),this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof c&&this._token.dispose():this._token=i.None}};e.CancellationTokenSource=p}}),et=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t,r,n=Qe();(r=t||(t={})).Continue=0,r.Cancelled=1;var a=class{static{Ke(this,"SharedArraySenderStrategy")}buffers;constructor(){this.buffers=new Map}enableCancellation(e){if(null===e.id)return;const r=new SharedArrayBuffer(4);new Int32Array(r,0,1)[0]=t.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){const n=this.buffers.get(r);if(void 0===n)return;const a=new Int32Array(n,0,1);Atomics.store(a,0,t.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};e.SharedArraySenderStrategy=a;var i=class{static{Ke(this,"SharedArrayBufferCancellationToken")}data;constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===t.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},s=class{static{Ke(this,"SharedArrayBufferCancellationTokenSource")}token;constructor(e){this.token=new i(e)}cancel(){}dispose(){}},o=class{static{Ke(this,"SharedArrayReceiverStrategy")}kind="request";createCancellationTokenSource(e){const t=e.$cancellationData;return void 0===t?new n.CancellationTokenSource:new s(t)}};e.SharedArrayReceiverStrategy=o}}),tt=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var r=t(Ze()),n=class{static{Ke(this,"Semaphore")}_capacity;_active;_waiting;constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((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,r.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("Too many thunks active");try{const 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()}}};e.Semaphore=n}}),rt=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e&&e.__importStar||function(){var e=Ke(function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(t)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var a={};if(null!=n)for(var i=e(n),s=0;s<i.length;s++)"default"!==i[s]&&t(a,n,i[s]);return r(a,n),a}}(),a=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var i,s=a(Ze()),o=n(We()),l=Je(),u=tt();!function(e){function t(e){const t=e;return t&&o.func(t.listen)&&o.func(t.dispose)&&o.func(t.onError)&&o.func(t.onClose)&&o.func(t.onPartialMessage)}Ke(t,"is"),e.is=t}(i||(e.MessageReader=i={}));var c,p=class{static{Ke(this,"AbstractMessageReader")}errorEmitter;closeEmitter;partialMessageEmitter;constructor(){this.errorEmitter=new l.Emitter,this.closeEmitter=new l.Emitter,this.partialMessageEmitter=new l.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose(),this.partialMessageEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${o.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageReader=p,function(e){function t(e){let t,r;const n=new Map;let a;const i=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,n.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)n.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(a=e.contentTypeDecoder,i.set(a.name,a)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)i.set(t.name,t)}return void 0===a&&(a=(0,s.default)().applicationJson.decoder,i.set(a.name,a)),{charset:t,contentDecoder:r,contentDecoders:n,contentTypeDecoder:a,contentTypeDecoders:i}}Ke(t,"fromOptions"),e.fromOptions=t}(c||(c={}));var d=class extends p{static{Ke(this,"ReadableStreamMessageReader")}readable;options;callback;nextMessageLength;messageToken;buffer;partialMessageTimer;_partialMessageTimeout;readSemaphore;constructor(e,t){super(),this.readable=e,this.options=c.fromOptions(t),this.buffer=(0,s.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new u.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;const 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){const e=this.buffer.tryReadHeaders(!0);if(!e)return;const t=e.get("content-length");if(!t)return void this.fireError(new Error(`Header must provide a Content-Length property.\n${JSON.stringify(Object.fromEntries(e))}`));const r=parseInt(t);if(isNaN(r))return void this.fireError(new Error(`Content-Length value must be a number. Got ${t}`));this.nextMessageLength=r}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const 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(t){this.fireError(t)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,s.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))}};e.ReadableStreamMessageReader=d}}),nt=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e&&e.__importStar||function(){var e=Ke(function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(t)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var a={};if(null!=n)for(var i=e(n),s=0;s<i.length;s++)"default"!==i[s]&&t(a,n,i[s]);return r(a,n),a}}(),a=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var i,s=a(Ze()),o=n(We()),l=tt(),u=Je();!function(e){function t(e){const t=e;return t&&o.func(t.dispose)&&o.func(t.onClose)&&o.func(t.onError)&&o.func(t.write)}Ke(t,"is"),e.is=t}(i||(e.MessageWriter=i={}));var c,p=class{static{Ke(this,"AbstractMessageWriter")}errorEmitter;closeEmitter;constructor(){this.errorEmitter=new u.Emitter,this.closeEmitter=new u.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:new Error(`Writer received error. Reason: ${o.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageWriter=p,function(e){function t(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,s.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,s.default)().applicationJson.encoder}}Ke(t,"fromOptions"),e.fromOptions=t}(c||(c={}));var d=class extends p{static{Ke(this,"WriteableStreamMessageWriter")}writable;options;errorCount;writeSemaphore;constructor(e,t){super(),this.writable=e,this.options=c.fromOptions(t),this.errorCount=0,this.writeSemaphore=new l.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=>{const 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(n){return this.handleError(n,e),Promise.reject(n)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}};e.WriteableStreamMessageWriter=d}}),at=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0;var t=class{static{Ke(this,"AbstractMessageBuffer")}_encoding;_chunks;_totalLength;constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const 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,a=0;e:for(;r<this._chunks.length;){const 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++}a+=e.byteLength,r++}if(4!==t)return;const i=this._read(a+n),s=new Map,o=this.toString(i,"ascii").split("\r\n");if(o.length<2)return s;for(let l=0;l<o.length-2;l++){const t=o[l],r=t.indexOf(":");if(-1===r)throw new Error(`Message header must separate key and value using ':'\n${t}`);const n=t.substr(0,r),a=t.substr(r+1).trim();s.set(e?n.toLowerCase():n,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 new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],r=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,r}const t=this.allocNative(e);let r=0;for(;e>0;){const n=this._chunks[0];if(n.byteLength>e){const a=n.slice(0,e);t.set(a,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}};e.AbstractMessageBuffer=t}}),it=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e&&e.__importStar||function(){var e=Ke(function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(t)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var a={};if(null!=n)for(var i=e(n),s=0;s<i.length;s++)"default"!==i[s]&&t(a,n,i[s]);return r(a,n),a}}(),a=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),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.TraceValue=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0,e.createMessageConnection=M;var i,s,o,l=a(Ze()),u=n(We()),c=He(),p=Ye(),d=Je(),f=Qe();(i||(i={})).type=new c.NotificationType("$/cancelRequest"),function(e){function t(e){return"string"==typeof e||"number"==typeof e}Ke(t,"is"),e.is=t}(s||(e.ProgressToken=s={})),(o||(o={})).type=new c.NotificationType("$/progress");var m,h,y,g,T,v,R,$,E,C,b,A=class{static{Ke(this,"ProgressType")}__;_pr;constructor(){}};e.ProgressType=A,function(e){function t(e){return u.func(e)}Ke(t,"is"),e.is=t}(m||(m={})),e.NullLogger=Object.freeze({error:Ke(()=>{},"error"),warn:Ke(()=>{},"warn"),info:Ke(()=>{},"info"),log:Ke(()=>{},"log")}),(y=h||(e.Trace=h={}))[y.Off=0]="Off",y[y.Messages=1]="Messages",y[y.Compact=2]="Compact",y[y.Verbose=3]="Verbose",(T=g||(e.TraceValue=g={})).Off="off",T.Messages="messages",T.Compact="compact",T.Verbose="verbose",e.TraceValues=g,function(e){function t(t){if(!u.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":default:return e.Off;case"messages":return e.Messages;case"compact":return e.Compact;case"verbose":return e.Verbose}}function r(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Compact:return"compact";case e.Verbose:return"verbose";default:return"off"}}Ke(t,"fromString"),e.fromString=t,Ke(r,"toString"),e.toString=r}(h||(e.Trace=h={})),(R=v||(e.TraceFormat=v={})).Text="text",R.JSON="json",function(e){function t(t){return u.string(t)&&"json"===(t=t.toLowerCase())?e.JSON:e.Text}Ke(t,"fromString"),e.fromString=t}(v||(e.TraceFormat=v={})),($||(e.SetTraceNotification=$={})).type=new c.NotificationType("$/setTrace"),(E||(e.LogTraceNotification=E={})).type=new c.NotificationType("$/logTrace"),(b=C||(e.ConnectionErrors=C={}))[b.Closed=1]="Closed",b[b.Disposed=2]="Disposed",b[b.AlreadyListening=3]="AlreadyListening";var S,_,x,k,w,N,I,O,P,D,L=class e extends Error{static{Ke(this,"ConnectionError")}code;constructor(t,r){super(r),this.code=t,Object.setPrototypeOf(this,e.prototype)}};function M(t,r,n,a){const y=void 0!==n?n:e.NullLogger;let g=0,T=0,R=0;const b="2.0",A=a?.maxParallelism??-1;let S,x=0;const k=new Map;let w;const O=new Map,D=new Map;let M,j,F=new p.LinkedMap,G=new Map,z=new Set,K=new Map,q=h.Off,U=v.Text,V=P.New;const B=new d.Emitter,W=new d.Emitter,H=new d.Emitter,Y=new d.Emitter,X=new d.Emitter,Z=a&&a.cancellationStrategy?a.cancellationStrategy:N.Message;function J(e){}function Q(){return V===P.Listening}function ee(){return V===P.Closed}function te(){return V===P.Disposed}function re(){V!==P.New&&V!==P.Listening||(V=P.Closed,W.fire(void 0))}function ne(e){B.fire([e,void 0,void 0])}function ae(e){B.fire(e)}function ie(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function se(e){return null===e?"res-unknown-"+(++R).toString():"res-"+e.toString()}function oe(){return"not-"+(++T).toString()}function le(e,t){c.Message.isRequest(t)?e.set(ie(t.id),t):c.Message.isResponse(t)?-1===A?e.set(se(t.id),t):fe(t):e.set(oe(),t)}function ue(){M||0===F.size||-1!==A&&x>=A||(M=(0,l.default)().timer.setImmediate(async()=>{if(M=void 0,0===F.size)return;if(-1!==A&&x>=A)return;const e=F.shift();let t;try{x++;const r=a?.messageStrategy;t=I.is(r)?r.handleMessage(e,ce):ce(e)}catch(r){y.error(`Processing message queue failed: ${r.toString()}`)}finally{t instanceof Promise?t.then(()=>{x--,ue()}).catch(e=>{y.error(`Processing message queue failed: ${e.toString()}`)}):x--,ue()}}))}async function ce(e){return c.Message.isRequest(e)?de(e):c.Message.isNotification(e)?me(e):c.Message.isResponse(e)?fe(e):he(e)}Ke(J,"cancelUndispatched"),Ke(Q,"isListening"),Ke(ee,"isClosed"),Ke(te,"isDisposed"),Ke(re,"closeHandler"),Ke(ne,"readErrorHandler"),Ke(ae,"writeErrorHandler"),t.onClose(re),t.onError(ne),r.onClose(re),r.onError(ae),Ke(ie,"createRequestQueueKey"),Ke(se,"createResponseQueueKey"),Ke(oe,"createNotificationQueueKey"),Ke(le,"addMessageToQueue"),Ke(ue,"triggerMessageQueue"),Ke(ce,"handleMessage");const pe=Ke(e=>{try{if(c.Message.isNotification(e)&&e.method===i.type.method){const t=e.params.id,n=ie(t),i=F.get(n);if(c.Message.isRequest(i)){const s=a?.connectionStrategy,o=s&&s.cancelUndispatched?s.cancelUndispatched(i,J):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return F.delete(n),K.delete(t),o.id=i.id,ve(o,e.method,Date.now()),void r.write(o).catch(()=>y.error("Sending response for canceled message failed."))}const s=K.get(t);if(void 0!==s)return s.cancel(),void $e(e);z.add(t)}le(F,e)}finally{ue()}},"callback");async function de(e){if(te())return Promise.resolve();function t(t,n,a){const i={jsonrpc:b,id:e.id};return t instanceof c.ResponseError?i.error=t.toJson():i.result=void 0===t?null:t,ve(i,n,a),r.write(i)}function n(t,n,a){const i={jsonrpc:b,id:e.id,error:t.toJson()};return ve(i,n,a),r.write(i)}Ke(t,"reply"),Ke(n,"replyError"),Re(e);const a=k.get(e.method);let i,s;a&&(i=a.type,s=a.handler);const o=Date.now();if(s||S){const r=e.id??String(Date.now()),a=_.is(Z.receiver)?Z.receiver.createCancellationTokenSource(r):Z.receiver.createCancellationTokenSource(e);null!==e.id&&z.has(e.id)&&a.cancel(),null!==e.id&&K.set(r,a);try{let r;if(s)if(void 0===e.params){if(void 0!==i&&0!==i.numberOfParams)return n(new c.ResponseError(c.ErrorCodes.InvalidParams,`Request ${e.method} defines ${i.numberOfParams} params but received none.`),e.method,o);r=s(a.token)}else if(Array.isArray(e.params)){if(void 0!==i&&i.parameterStructures===c.ParameterStructures.byName)return n(new c.ResponseError(c.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,o);r=s(...e.params,a.token)}else{if(void 0!==i&&i.parameterStructures===c.ParameterStructures.byPosition)return n(new c.ResponseError(c.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,o);r=s(e.params,a.token)}else S&&(r=S(e.method,e.params,a.token));const l=await r;await t(l,e.method,o)}catch(l){l instanceof c.ResponseError?await t(l,e.method,o):l&&u.string(l.message)?await n(new c.ResponseError(c.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${l.message}`),e.method,o):await n(new c.ResponseError(c.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,o)}finally{K.delete(r)}}else await n(new c.ResponseError(c.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,o)}function fe(e){if(!te())if(null===e.id)e.error?y.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):y.error("Received response message without id. No further error information provided.");else{const r=e.id,n=G.get(r);if(Ee(e,n),void 0!==n){G.delete(r);try{if(e.error){const t=e.error;n.reject(new c.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(t){t.message?y.error(`Response handler '${n.method}' failed with message: ${t.message}`):y.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}async function me(e){if(te())return;let t,r;if(e.method===i.type.method){const t=e.params.id;return z.delete(t),void $e(e)}{const n=O.get(e.method);n&&(r=n.handler,t=n.type)}if(r||w)try{if($e(e),r)if(void 0===e.params)void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==c.ParameterStructures.byName&&y.error(`Notification ${e.method} defines ${t.numberOfParams} params but received none.`),await r();else if(Array.isArray(e.params)){const n=e.params;e.method===o.type.method&&2===n.length&&s.is(n[0])?await r({token:n[0],value:n[1]}):(void 0!==t&&(t.parameterStructures===c.ParameterStructures.byName&&y.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&y.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${n.length} arguments`)),await r(...n))}else void 0!==t&&t.parameterStructures===c.ParameterStructures.byPosition&&y.error(`Notification ${e.method} defines parameters by position but received parameters by name`),await r(e.params);else w&&await w(e.method,e.params)}catch(n){n.message?y.error(`Notification handler '${e.method}' failed with message: ${n.message}`):y.error(`Notification handler '${e.method}' failed unexpectedly.`)}else H.fire(e)}function he(e){if(!e)return void y.error("Received empty message.");y.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(u.string(t.id)||u.number(t.id)){const e=t.id,r=G.get(e);r&&r.reject(new Error("The received response has neither a result nor an error property."))}}function ye(e){if(null!=e)switch(q){case h.Verbose:return JSON.stringify(e,null,4);case h.Compact:return JSON.stringify(e);default:return}}function ge(e){if(q!==h.Off&&j)if(U===v.Text){let t;q!==h.Verbose&&q!==h.Compact||!e.params||(t=`Params: ${ye(e.params)}`),j.log(`Sending request '${e.method} - (${e.id})'.`,t)}else Ce("send-request",e)}function Te(e){if(q!==h.Off&&j)if(U===v.Text){let t;q!==h.Verbose&&q!==h.Compact||(t=e.params?`Params: ${ye(e.params)}`:"No parameters provided."),j.log(`Sending notification '${e.method}'.`,t)}else Ce("send-notification",e)}function ve(e,t,r){if(q!==h.Off&&j)if(U===v.Text){let n;q!==h.Verbose&&q!==h.Compact||(e.error&&e.error.data?n=`Error data: ${ye(e.error.data)}`:e.result?n=`Result: ${ye(e.result)}`:void 0===e.error&&(n="No result returned."));const a=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";j.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-r}ms.${a}`,n)}else Ce("send-response",e)}function Re(e){if(q!==h.Off&&j)if(U===v.Text){let t;q!==h.Verbose&&q!==h.Compact||!e.params||(t=`Params: ${ye(e.params)}`),j.log(`Received request '${e.method} - (${e.id})'.`,t)}else Ce("receive-request",e)}function $e(e){if(q!==h.Off&&j&&e.method!==E.type.method)if(U===v.Text){let t;q!==h.Verbose&&q!==h.Compact||(t=e.params?`Params: ${ye(e.params)}`:"No parameters provided."),j.log(`Received notification '${e.method}'.`,t)}else Ce("receive-notification",e)}function Ee(e,t){if(q!==h.Off&&j)if(U===v.Text){let r;if(q!==h.Verbose&&q!==h.Compact||(e.error&&e.error.data?r=`Error data: ${ye(e.error.data)}`:e.result?r=`Result: ${ye(e.result)}`:void 0===e.error&&(r="No result returned.")),t){const n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";j.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,r)}else j.log(`Received response ${e.id} without active response promise.`,r)}else Ce("receive-response",e)}function Ce(e,t){if(!j||q===h.Off)return;const r={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};j.log(r)}function be(){if(ee())throw new L(C.Closed,"Connection is closed.");if(te())throw new L(C.Disposed,"Connection is disposed.")}function Ae(){if(Q())throw new L(C.AlreadyListening,"Connection is already listening")}function Se(){if(!Q())throw new Error("Call listen() first.")}function _e(e){return void 0===e?null:e}function xe(e){return null===e?void 0:e}function ke(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function we(e,t){switch(e){case c.ParameterStructures.auto:return ke(t)?xe(t):[_e(t)];case c.ParameterStructures.byName:if(!ke(t))throw new Error("Received parameters by name but param is not an object literal.");return xe(t);case c.ParameterStructures.byPosition:return[_e(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function Ne(e,t){let r;const n=e.numberOfParams;switch(n){case 0:r=void 0;break;case 1:r=we(e.parameterStructures,t[0]);break;default:r=[];for(let e=0;e<t.length&&e<n;e++)r.push(_e(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)r.push(null)}return r}Ke(de,"handleRequest"),Ke(fe,"handleResponse"),Ke(me,"handleNotification"),Ke(he,"handleInvalidMessage"),Ke(ye,"stringifyTrace"),Ke(ge,"traceSendingRequest"),Ke(Te,"traceSendingNotification"),Ke(ve,"traceSendingResponse"),Ke(Re,"traceReceivedRequest"),Ke($e,"traceReceivedNotification"),Ke(Ee,"traceReceivedResponse"),Ke(Ce,"logLSPMessage"),Ke(be,"throwIfClosedOrDisposed"),Ke(Ae,"throwIfListening"),Ke(Se,"throwIfNotListening"),Ke(_e,"undefinedToNull"),Ke(xe,"nullToUndefined"),Ke(ke,"isNamedParam"),Ke(we,"computeSingleParam"),Ke(Ne,"computeMessageParams");const Ie={sendNotification:Ke((e,...t)=>{let n,a;if(be(),u.string(e)){n=e;const r=t[0];let i=0,s=c.ParameterStructures.auto;c.ParameterStructures.is(r)&&(i=1,s=r);const o=t.length,l=o-i;switch(l){case 0:a=void 0;break;case 1:a=we(s,t[i]);break;default:if(s===c.ParameterStructures.byName)throw new Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);a=t.slice(i,o).map(e=>_e(e))}}else{const r=t;n=e.method,a=Ne(e,r)}const i={jsonrpc:b,method:n,params:a};return Te(i),r.write(i).catch(e=>{throw y.error("Sending notification failed."),e})},"sendNotification"),onNotification:Ke((e,t)=>{let r;return be(),u.func(e)?w=e:t&&(u.string(e)?(r=e,O.set(e,{type:void 0,handler:t})):(r=e.method,O.set(e.method,{type:e,handler:t}))),{dispose:Ke(()=>{void 0!==r?O.get(r)?.handler===t&&O.delete(r):w===e&&(w=void 0)},"dispose")}},"onNotification"),onProgress:Ke((e,t,r)=>{if(D.has(t))throw new Error(`Progress handler for token ${t} already registered`);return D.set(t,r),{dispose:Ke(()=>{D.get(t)===r&&D.delete(t)},"dispose")}},"onProgress"),sendProgress:Ke((e,t,r)=>Ie.sendNotification(o.type,{token:t,value:r}),"sendProgress"),onUnhandledProgress:Y.event,sendRequest:Ke((e,...t)=>{function n(e,t){const r=Z.sender.sendCancellation(e,t);void 0===r?y.log(`Received no promise from cancellation strategy when cancelling id ${t}`):r.catch(()=>{y.log(`Sending cancellation messages for id ${t} failed.`)})}let a,i,s;if(be(),Se(),Ke(n,"sendCancellation"),u.string(e)){a=e;const r=t[0],n=t[t.length-1];let o=0,l=c.ParameterStructures.auto;c.ParameterStructures.is(r)&&(o=1,l=r);let u=t.length;f.CancellationToken.is(n)&&(u-=1,s=n);const p=u-o;switch(p){case 0:i=void 0;break;case 1:i=we(l,t[o]);break;default:if(l===c.ParameterStructures.byName)throw new Error(`Received ${p} parameters for 'by Name' request parameter structure.`);i=t.slice(o,u).map(e=>_e(e))}}else{const r=t;a=e.method,i=Ne(e,r);const n=e.numberOfParams;s=f.CancellationToken.is(r[n])?r[n]:void 0}const o=g++;let l,p=!1;void 0!==s&&(s.isCancellationRequested?p=!0:l=s.onCancellationRequested(()=>{n(Ie,o)}));const d={jsonrpc:b,id:o,method:a,params:i};return ge(d),"function"==typeof Z.sender.enableCancellation&&Z.sender.enableCancellation(d),new Promise(async(e,t)=>{const i=Ke(t=>{e(t),Z.sender.cleanup(o),l?.dispose()},"resolveWithCleanup"),s=Ke(e=>{t(e),Z.sender.cleanup(o),l?.dispose()},"rejectWithCleanup"),u={method:a,timerStart:Date.now(),resolve:i,reject:s};try{G.set(o,u),await r.write(d),p&&n(Ie,o)}catch(f){G.delete(o),u.reject(new c.ResponseError(c.ErrorCodes.MessageWriteError,f.message?f.message:"Unknown reason")),y.error("Sending request failed.")}})},"sendRequest"),onRequest:Ke((e,t)=>{be();let r=null;return m.is(e)?(r=void 0,S=e):u.string(e)?(r=null,void 0!==t&&(r=e,k.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,k.set(e.method,{type:e,handler:t})),{dispose:Ke(()=>{null!==r&&(void 0!==r?k.get(r)?.handler===t&&k.delete(r):S===e&&(S=void 0))},"dispose")}},"onRequest"),hasPendingResponse:Ke(()=>G.size>0,"hasPendingResponse"),trace:Ke(async(e,t,r)=>{let n=!1,a=v.Text;void 0!==r&&(u.boolean(r)?n=r:(n=r.sendNotification||!1,a=r.traceFormat||v.Text)),q=e,U=a,j=q===h.Off?void 0:t,!n||ee()||te()||await Ie.sendNotification($.type,{value:h.toString(e)})},"trace"),onError:B.event,onClose:W.event,onUnhandledNotification:H.event,onDispose:X.event,end:Ke(()=>{r.end()},"end"),dispose:Ke(()=>{if(te())return;V=P.Disposed,X.fire(void 0);const e=new c.ResponseError(c.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const t of G.values())t.reject(e);G=new Map,K=new Map,z=new Set,F=new p.LinkedMap,u.func(r.dispose)&&r.dispose(),u.func(t.dispose)&&t.dispose()},"dispose"),listen:Ke(()=>{be(),Ae(),V=P.Listening,t.listen(pe)},"listen"),inspect:Ke(()=>{(0,l.default)().console.log("inspect")},"inspect")};return Ie.onNotification(E.type,e=>{if(q===h.Off||!j)return;const t=q===h.Verbose||q===h.Compact;j.log(e.message,t?e.verbose:void 0)}),Ie.onNotification(o.type,async e=>{const t=D.get(e.token);t?await t(e.value):Y.fire(e)}),Ie}e.ConnectionError=L,function(e){function t(e){const t=e;return t&&u.func(t.cancelUndispatched)}Ke(t,"is"),e.is=t}(S||(e.ConnectionStrategy=S={})),function(e){function t(e){const t=e;return t&&(void 0===t.kind||"id"===t.kind)&&u.func(t.createCancellationTokenSource)&&(void 0===t.dispose||u.func(t.dispose))}Ke(t,"is"),e.is=t}(_||(e.IdCancellationReceiverStrategy=_={})),function(e){function t(e){const t=e;return t&&"request"===t.kind&&u.func(t.createCancellationTokenSource)&&(void 0===t.dispose||u.func(t.dispose))}Ke(t,"is"),e.is=t}(x||(e.RequestCancellationReceiverStrategy=x={})),function(e){function t(e){return _.is(e)||x.is(e)}e.Message=Object.freeze({createCancellationTokenSource:e=>new f.CancellationTokenSource}),Ke(t,"is"),e.is=t}(k||(e.CancellationReceiverStrategy=k={})),function(e){function t(e){const t=e;return t&&u.func(t.sendCancellation)&&u.func(t.cleanup)}e.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(i.type,{id:t}),cleanup(e){}}),Ke(t,"is"),e.is=t}(w||(e.CancellationSenderStrategy=w={})),function(e){function t(e){const t=e;return t&&k.is(t.receiver)&&w.is(t.sender)}e.Message=Object.freeze({receiver:k.Message,sender:w.Message}),Ke(t,"is"),e.is=t}(N||(e.CancellationStrategy=N={})),function(e){function t(e){const t=e;return t&&u.func(t.handleMessage)}Ke(t,"is"),e.is=t}(I||(e.MessageStrategy=I={})),function(e){function t(e){const t=e;return t&&(N.is(t.cancellationStrategy)||S.is(t.connectionStrategy)||I.is(t.messageStrategy)||u.number(t.maxParallelism))}Ke(t,"is"),e.is=t}(O||(e.ConnectionOptions=O={})),(D=P||(P={}))[D.New=1]="New",D[D.Listening=2]="Listening",D[D.Closed=3]="Closed",D[D.Disposed=4]="Disposed",Ke(M,"createMessageConnection")}}),st=qe({"../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/api.js"(e){var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};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.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.TraceValue=e.Trace=void 0;var r=He();Object.defineProperty(e,"Message",{enumerable:!0,get:Ke(function(){return r.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:Ke(function(){return r.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:Ke(function(){return r.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:Ke(function(){return r.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:Ke(function(){return r.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:Ke(function(){return r.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:Ke(function(){return r.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:Ke(function(){return r.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:Ke(function(){return r.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:Ke(function(){return r.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:Ke(function(){return r.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:Ke(function(){return r.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:Ke(function(){return r.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:Ke(function(){return r.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:Ke(function(){return r.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:Ke(function(){return r.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:Ke(function(){return r.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:Ke(function(){return r.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:Ke(function(){return r.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:Ke(function(){return r.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:Ke(function(){return r.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:Ke(function(){return r.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:Ke(function(){return r.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:Ke(function(){return r.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:Ke(function(){return r.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:Ke(function(){return r.ParameterStructures},"get")});var n=Ye();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:Ke(function(){return n.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:Ke(function(){return n.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:Ke(function(){return n.Touch},"get")});var a=Xe();Object.defineProperty(e,"Disposable",{enumerable:!0,get:Ke(function(){return a.Disposable},"get")});var i=Je();Object.defineProperty(e,"Event",{enumerable:!0,get:Ke(function(){return i.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:Ke(function(){return i.Emitter},"get")});var s=Qe();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:Ke(function(){return s.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:Ke(function(){return s.CancellationToken},"get")});var o=et();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:Ke(function(){return o.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:Ke(function(){return o.SharedArrayReceiverStrategy},"get")});var l=rt();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:Ke(function(){return l.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:Ke(function(){return l.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:Ke(function(){return l.ReadableStreamMessageReader},"get")});var u=nt();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:Ke(function(){return u.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:Ke(function(){return u.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:Ke(function(){return u.WriteableStreamMessageWriter},"get")});var c=at();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:Ke(function(){return c.AbstractMessageBuffer},"get")});var p=it();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:Ke(function(){return p.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:Ke(function(){return p.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:Ke(function(){return p.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:Ke(function(){return p.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:Ke(function(){return p.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:Ke(function(){return p.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:Ke(function(){return p.Trace},"get")}),Object.defineProperty(e,"TraceValue",{enumerable:!0,get:Ke(function(){return p.TraceValue},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:Ke(function(){return p.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:Ke(function(){return p.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:Ke(function(){return p.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:Ke(function(){return p.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:Ke(function(){return p.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:Ke(function(){return p.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"IdCancellationReceiverStrategy",{enumerable:!0,get:Ke(function(){return p.IdCancellationReceiverStrategy},"get")}),Object.defineProperty(e,"RequestCancellationReceiverStrategy",{enumerable:!0,get:Ke(function(){return p.RequestCancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:Ke(function(){return p.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:Ke(function(){return p.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:Ke(function(){return p.MessageStrategy},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:Ke(function(){return p.TraceValues},"get")});var d=t(Ze());e.RAL=d.default}}),ot={};((e,t)=>{for(var r in t)Me(e,r,{get:t[r],enumerable:!0})})(ot,{AnnotatedTextEdit:()=>C,ApplyKind:()=>V,ChangeAnnotation:()=>$,ChangeAnnotationIdentifier:()=>E,CodeAction:()=>ce,CodeActionContext:()=>le,CodeActionKind:()=>se,CodeActionTag:()=>ue,CodeActionTriggerKind:()=>oe,CodeDescription:()=>g,CodeLens:()=>pe,Color:()=>u,ColorInformation:()=>c,ColorPresentation:()=>p,Command:()=>v,CompletionItem:()=>W,CompletionItemKind:()=>G,CompletionItemLabelDetails:()=>B,CompletionItemTag:()=>K,CompletionList:()=>H,CreateFile:()=>A,DeleteFile:()=>_,Diagnostic:()=>T,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>h,DiagnosticTag:()=>y,DocumentHighlight:()=>ee,DocumentHighlightKind:()=>Q,DocumentLink:()=>fe,DocumentSymbol:()=>ie,DocumentUri:()=>t,EOL:()=>Ie,FoldingRange:()=>f,FoldingRangeKind:()=>d,FormattingOptions:()=>de,Hover:()=>X,InlayHint:()=>be,InlayHintKind:()=>Ee,InlayHintLabelPart:()=>Ce,InlineCompletionContext:()=>we,InlineCompletionItem:()=>Se,InlineCompletionList:()=>_e,InlineCompletionTriggerKind:()=>xe,InlineValueContext:()=>$e,InlineValueEvaluatableExpression:()=>Re,InlineValueText:()=>Te,InlineValueVariableLookup:()=>ve,InsertReplaceEdit:()=>q,InsertTextFormat:()=>z,InsertTextMode:()=>U,LanguageKind:()=>L,Location:()=>o,LocationLink:()=>l,MarkedString:()=>Y,MarkupContent:()=>F,MarkupKind:()=>j,OptionalVersionedTextDocumentIdentifier:()=>D,ParameterInformation:()=>Z,Position:()=>i,Range:()=>s,RenameFile:()=>S,SelectedCompletionInfo:()=>ke,SelectionRange:()=>me,SemanticTokenModifiers:()=>ye,SemanticTokenTypes:()=>he,SemanticTokens:()=>ge,SignatureInformation:()=>J,SnippetTextEdit:()=>w,StringValue:()=>Ae,SymbolInformation:()=>ne,SymbolKind:()=>te,SymbolTag:()=>re,TextDocument:()=>Oe,TextDocumentEdit:()=>b,TextDocumentIdentifier:()=>O,TextDocumentItem:()=>M,TextEdit:()=>R,URI:()=>r,VersionedTextDocumentIdentifier:()=>P,WorkspaceChange:()=>I,WorkspaceEdit:()=>x,WorkspaceFolder:()=>Ne,WorkspaceSymbol:()=>ae,integer:()=>n,uinteger:()=>a});var lt,ut,ct=(lt={"../../node_modules/.pnpm/vscode-languageserver-types@3.18.4/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var e,Le,Me,je,Fe,Ge,ze,qe,Ue,Ve,Be,We,He,Ye,Xe;!function(e){function t(e){return"string"==typeof e}Ke(t,"is"),e.is=t}(t||(t={})),function(e){function t(e){return"string"==typeof e}Ke(t,"is"),e.is=t}(r||(r={})),function(e){function t(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647,Ke(t,"is"),e.is=t}(n||(n={})),function(e){function t(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.MIN_VALUE=0,e.MAX_VALUE=2147483647,Ke(t,"is"),e.is=t}(a||(a={})),function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=a.MAX_VALUE),t===Number.MAX_VALUE&&(t=a.MAX_VALUE),{line:e,character:t}}function r(e){const t=e;return De.objectLiteral(t)&&De.uinteger(t.line)&&De.uinteger(t.character)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(i||(i={})),function(e){function t(e,t,r,n){if(De.uinteger(e)&&De.uinteger(t)&&De.uinteger(r)&&De.uinteger(n))return{start:i.create(e,t),end:i.create(r,n)};if(i.is(e)&&i.is(t))return{start:e,end:t};throw new Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)}function r(e){const t=e;return De.objectLiteral(t)&&i.is(t.start)&&i.is(t.end)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(s||(s={})),function(e){function t(e,t){return{uri:e,range:t}}function r(e){const t=e;return De.objectLiteral(t)&&s.is(t.range)&&(De.string(t.uri)||De.undefined(t.uri))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(o||(o={})),function(e){function t(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}}function r(e){const t=e;return De.objectLiteral(t)&&s.is(t.targetRange)&&De.string(t.targetUri)&&s.is(t.targetSelectionRange)&&(s.is(t.originSelectionRange)||De.undefined(t.originSelectionRange))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(l||(l={})),function(e){function t(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}}function r(e){const t=e;return De.objectLiteral(t)&&De.numberRange(t.red,0,1)&&De.numberRange(t.green,0,1)&&De.numberRange(t.blue,0,1)&&De.numberRange(t.alpha,0,1)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(u||(u={})),function(e){function t(e,t){return{range:e,color:t}}function r(e){const t=e;return De.objectLiteral(t)&&s.is(t.range)&&u.is(t.color)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(c||(c={})),function(e){function t(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}}function r(e){const t=e;return De.objectLiteral(t)&&De.string(t.label)&&(De.undefined(t.textEdit)||R.is(t))&&(De.undefined(t.additionalTextEdits)||De.typedArray(t.additionalTextEdits,R.is))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(p||(p={})),(e=d||(d={})).Comment="comment",e.Imports="imports",e.Region="region",function(e){function t(e,t,r,n,a,i){const s={startLine:e,endLine:t};return De.defined(r)&&(s.startCharacter=r),De.defined(n)&&(s.endCharacter=n),De.defined(a)&&(s.kind=a),De.defined(i)&&(s.collapsedText=i),s}function r(e){const t=e;return De.objectLiteral(t)&&De.uinteger(t.startLine)&&De.uinteger(t.startLine)&&(De.undefined(t.startCharacter)||De.uinteger(t.startCharacter))&&(De.undefined(t.endCharacter)||De.uinteger(t.endCharacter))&&(De.undefined(t.kind)||De.string(t.kind))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(f||(f={})),function(e){function t(e,t){return{location:e,message:t}}function r(e){const t=e;return De.defined(t)&&o.is(t.location)&&De.string(t.message)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(m||(m={})),(Le=h||(h={})).Error=1,Le.Warning=2,Le.Information=3,Le.Hint=4,(Me=y||(y={})).Unnecessary=1,Me.Deprecated=2,function(e){function t(e){const t=e;return De.objectLiteral(t)&&De.string(t.href)}Ke(t,"is"),e.is=t}(g||(g={})),function(e){function t(e,t,r,n,a,i){const s={range:e,message:t};return De.defined(r)&&(s.severity=r),De.defined(n)&&(s.code=n),De.defined(a)&&(s.source=a),De.defined(i)&&(s.relatedInformation=i),s}function r(e){var t;const r=e;return De.defined(r)&&s.is(r.range)&&(De.string(r.message)||F.is(r.message))&&(De.number(r.severity)||De.undefined(r.severity))&&(De.integer(r.code)||De.string(r.code)||De.undefined(r.code))&&(De.undefined(r.codeDescription)||De.string(null===(t=r.codeDescription)||void 0===t?void 0:t.href))&&(De.string(r.source)||De.undefined(r.source))&&(De.undefined(r.relatedInformation)||De.typedArray(r.relatedInformation,m.is))}function n(e){return De.string(e.message)}function a(e){if(De.string(e.message))return e.message;if(F.is(e.message))return e.message.value;throw new Error("Unknown message type "+typeof e.message)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r,Ke(n,"is3_17"),e.is3_17=n,Ke(a,"getMessageString"),e.getMessageString=a}(T||(T={})),function(e){function t(e,t,...r){const n={title:e,command:t};return De.defined(r)&&r.length>0&&(n.arguments=r),n}function r(e){const t=e;return De.defined(t)&&De.string(t.title)&&(void 0===t.tooltip||De.string(t.tooltip))&&De.string(t.command)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(v||(v={})),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 a(e){const t=e;return De.objectLiteral(t)&&De.string(t.newText)&&s.is(t.range)}Ke(t,"replace"),e.replace=t,Ke(r,"insert"),e.insert=r,Ke(n,"del"),e.del=n,Ke(a,"is"),e.is=a}(R||(R={})),function(e){function t(e,t,r){const n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n}function r(e){const t=e;return De.objectLiteral(t)&&De.string(t.label)&&(De.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(De.string(t.description)||void 0===t.description)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}($||($={})),function(e){function t(e){const t=e;return De.string(t)}Ke(t,"is"),e.is=t}(E||(E={})),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 a(e){const t=e;return R.is(t)&&($.is(t.annotationId)||E.is(t.annotationId))}Ke(t,"replace"),e.replace=t,Ke(r,"insert"),e.insert=r,Ke(n,"del"),e.del=n,Ke(a,"is"),e.is=a}(C||(C={})),function(e){function t(e,t){return{textDocument:e,edits:t}}function r(e){const t=e;return De.defined(t)&&D.is(t.textDocument)&&Array.isArray(t.edits)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(b||(b={})),function(e){function t(e,t,r){const 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 r(e){const t=e;return t&&"create"===t.kind&&De.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||De.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||De.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||E.is(t.annotationId))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(A||(A={})),function(e){function t(e,t,r,n){const a={kind:"rename",oldUri:e,newUri:t};return void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(a.options=r),void 0!==n&&(a.annotationId=n),a}function r(e){const t=e;return t&&"rename"===t.kind&&De.string(t.oldUri)&&De.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||De.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||De.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||E.is(t.annotationId))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(S||(S={})),function(e){function t(e,t,r){const 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 r(e){const t=e;return t&&"delete"===t.kind&&De.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||De.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||De.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||E.is(t.annotationId))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(_||(_={})),function(e){function t(e){const t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every(e=>De.string(e.kind)?A.is(e)||S.is(e)||_.is(e):b.is(e)))}Ke(t,"is"),e.is=t}(x||(x={})),k=class{static{Ke(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,a;if(void 0===r?n=R.insert(e,t):E.is(r)?(a=r,n=C.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),n=C.insert(e,t,a)),this.edits.push(n),void 0!==a)return a}replace(e,t,r){let n,a;if(void 0===r?n=R.replace(e,t):E.is(r)?(a=r,n=C.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),n=C.replace(e,t,a)),this.edits.push(n),void 0!==a)return a}delete(e,t){let r,n;if(void 0===t?r=R.del(e):E.is(t)?(n=t,r=C.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=C.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 new Error("Text edit change is not configured to manage change annotations.")}},function(e){function t(e){const t=e;return De.objectLiteral(t)&&s.is(t.range)&&Ae.isSnippet(t.snippet)&&(void 0===t.annotationId||$.is(t.annotationId)||E.is(t.annotationId))}Ke(t,"is"),e.is=t}(w||(w={})),N=class{static{Ke(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(E.is(e)?r=e:(r=this.nextId(),t=e),void 0!==this._annotations[r])throw new Error(`Id ${r} is already in use.`);if(void 0===t)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},I=class{static{Ke(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new N(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{if(b.is(e)){const t=new k(e.edits,this._changeAnnotations);this._textEditChanges[e.textDocument.uri]=t}})):e.changes&&Object.keys(e.changes).forEach(t=>{const r=new k(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(D.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");const t={uri:e.uri,version:e.version};let r=this._textEditChanges[t.uri];if(!r){const e=[],n={textDocument:t,edits:e};this._workspaceEdit.documentChanges.push(n),r=new k(e,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){const r=[];this._workspaceEdit.changes[e]=r,t=new k(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new N,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){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let n,a,i;if($.is(t)||E.is(t)?n=t:r=t,void 0===n?a=A.create(e,r):(i=E.is(n)?n:this._changeAnnotations.manage(n),a=A.create(e,r,i)),this._workspaceEdit.documentChanges.push(a),void 0!==i)return i}renameFile(e,t,r,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let a,i,s;if($.is(r)||E.is(r)?a=r:n=r,void 0===a?i=S.create(e,t,n):(s=E.is(a)?a:this._changeAnnotations.manage(a),i=S.create(e,t,n,s)),this._workspaceEdit.documentChanges.push(i),void 0!==s)return s}deleteFile(e,t,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let n,a,i;if($.is(t)||E.is(t)?n=t:r=t,void 0===n?a=_.create(e,r):(i=E.is(n)?n:this._changeAnnotations.manage(n),a=_.create(e,r,i)),this._workspaceEdit.documentChanges.push(a),void 0!==i)return i}},function(e){function t(e){return{uri:e}}function r(e){const t=e;return De.defined(t)&&De.string(t.uri)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(O||(O={})),function(e){function t(e,t){return{uri:e,version:t}}function r(e){const t=e;return De.defined(t)&&De.string(t.uri)&&De.integer(t.version)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(P||(P={})),function(e){function t(e,t){return{uri:e,version:t}}function r(e){const t=e;return De.defined(t)&&De.string(t.uri)&&(null===t.version||De.integer(t.version))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(D||(D={})),(je=L||(L={})).ABAP="abap",je.WindowsBat="bat",je.BibTeX="bibtex",je.Clojure="clojure",je.Coffeescript="coffeescript",je.C="c",je.CPP="cpp",je.CSharp="csharp",je.CSS="css",je.D="d",je.Delphi="pascal",je.Diff="diff",je.Dart="dart",je.Dockerfile="dockerfile",je.Elixir="elixir",je.Erlang="erlang",je.FSharp="fsharp",je.GitCommit="git-commit",je.GitRebase="git-rebase",je.Go="go",je.Groovy="groovy",je.Handlebars="handlebars",je.Haskell="haskell",je.HTML="html",je.Ini="ini",je.Java="java",je.JavaScript="javascript",je.JavaScriptReact="javascriptreact",je.JSON="json",je.LaTeX="latex",je.Less="less",je.Lua="lua",je.Makefile="makefile",je.Markdown="markdown",je.ObjectiveC="objective-c",je.ObjectiveCPP="objective-cpp",je.Pascal="pascal",je.Perl="perl",je.Perl6="perl6",je.PHP="php",je.Plaintext="plaintext",je.Powershell="powershell",je.Pug="jade",je.Python="python",je.R="r",je.Razor="razor",je.Ruby="ruby",je.Rust="rust",je.SCSS="scss",je.SASS="sass",je.Scala="scala",je.ShaderLab="shaderlab",je.ShellScript="shellscript",je.SQL="sql",je.Swift="swift",je.TypeScript="typescript",je.TypeScriptReact="typescriptreact",je.TeX="tex",je.VisualBasic="vb",je.XML="xml",je.XSL="xsl",je.YAML="yaml",function(e){function t(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}}function r(e){const t=e;return De.defined(t)&&De.string(t.uri)&&De.string(t.languageId)&&De.integer(t.version)&&De.string(t.text)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(M||(M={})),function(e){function t(t){const r=t;return r===e.PlainText||r===e.Markdown}e.PlainText="plaintext",e.Markdown="markdown",Ke(t,"is"),e.is=t}(j||(j={})),function(e){function t(e){const t=e;return De.objectLiteral(e)&&j.is(t.kind)&&De.string(t.value)}Ke(t,"is"),e.is=t}(F||(F={})),(Fe=G||(G={})).Text=1,Fe.Method=2,Fe.Function=3,Fe.Constructor=4,Fe.Field=5,Fe.Variable=6,Fe.Class=7,Fe.Interface=8,Fe.Module=9,Fe.Property=10,Fe.Unit=11,Fe.Value=12,Fe.Enum=13,Fe.Keyword=14,Fe.Snippet=15,Fe.Color=16,Fe.File=17,Fe.Reference=18,Fe.Folder=19,Fe.EnumMember=20,Fe.Constant=21,Fe.Struct=22,Fe.Event=23,Fe.Operator=24,Fe.TypeParameter=25,(Ge=z||(z={})).PlainText=1,Ge.Snippet=2,(K||(K={})).Deprecated=1,function(e){function t(e,t,r){return{newText:e,insert:t,replace:r}}function r(e){const t=e;return t&&De.string(t.newText)&&s.is(t.insert)&&s.is(t.replace)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(q||(q={})),(ze=U||(U={})).asIs=1,ze.adjustIndentation=2,(qe=V||(V={})).Replace=1,qe.Merge=2,function(e){function t(e){const t=e;return t&&(De.string(t.detail)||void 0===t.detail)&&(De.string(t.description)||void 0===t.description)}Ke(t,"is"),e.is=t}(B||(B={})),function(e){function t(e){return{label:e}}Ke(t,"create"),e.create=t}(W||(W={})),function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}Ke(t,"create"),e.create=t}(H||(H={})),function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function r(e){const t=e;return De.string(t)||De.objectLiteral(t)&&De.string(t.language)&&De.string(t.value)}Ke(t,"fromPlainText"),e.fromPlainText=t,Ke(r,"is"),e.is=r}(Y||(Y={})),function(e){function t(e){const t=e;return!!t&&De.objectLiteral(t)&&(F.is(t.contents)||Y.is(t.contents)||De.typedArray(t.contents,Y.is))&&(void 0===e.range||s.is(e.range))}Ke(t,"is"),e.is=t}(X||(X={})),function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}Ke(t,"create"),e.create=t}(Z||(Z={})),function(e){function t(e,t,...r){const n={label:e};return De.defined(t)&&(n.documentation=t),De.defined(r)?n.parameters=r:n.parameters=[],n}Ke(t,"create"),e.create=t}(J||(J={})),(Ue=Q||(Q={})).Text=1,Ue.Read=2,Ue.Write=3,function(e){function t(e,t){const r={range:e};return De.number(t)&&(r.kind=t),r}Ke(t,"create"),e.create=t}(ee||(ee={})),(Ve=te||(te={})).File=1,Ve.Module=2,Ve.Namespace=3,Ve.Package=4,Ve.Class=5,Ve.Method=6,Ve.Property=7,Ve.Field=8,Ve.Constructor=9,Ve.Enum=10,Ve.Interface=11,Ve.Function=12,Ve.Variable=13,Ve.Constant=14,Ve.String=15,Ve.Number=16,Ve.Boolean=17,Ve.Array=18,Ve.Object=19,Ve.Key=20,Ve.Null=21,Ve.EnumMember=22,Ve.Struct=23,Ve.Event=24,Ve.Operator=25,Ve.TypeParameter=26,(re||(re={})).Deprecated=1,function(e){function t(e,t,r,n,a){const i={name:e,kind:t,location:{uri:n,range:r}};return a&&(i.containerName=a),i}Ke(t,"create"),e.create=t}(ne||(ne={})),function(e){function t(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}}Ke(t,"create"),e.create=t}(ae||(ae={})),function(e){function t(e,t,r,n,a,i){const s={name:e,detail:t,kind:r,range:n,selectionRange:a};return void 0!==i&&(s.children=i),s}function r(e){const t=e;return t&&De.string(t.name)&&De.number(t.kind)&&s.is(t.range)&&s.is(t.selectionRange)&&(void 0===t.detail||De.string(t.detail))&&(void 0===t.deprecated||De.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(ie||(ie={})),(Be=se||(se={})).Empty="",Be.QuickFix="quickfix",Be.Refactor="refactor",Be.RefactorExtract="refactor.extract",Be.RefactorInline="refactor.inline",Be.RefactorMove="refactor.move",Be.RefactorRewrite="refactor.rewrite",Be.Source="source",Be.SourceOrganizeImports="source.organizeImports",Be.SourceFixAll="source.fixAll",Be.Notebook="notebook",(We=oe||(oe={})).Invoked=1,We.Automatic=2,function(e){function t(e,t,r){const n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n}function r(e){const t=e;return De.defined(t)&&De.typedArray(t.diagnostics,T.is)&&(void 0===t.only||De.typedArray(t.only,De.string))&&(void 0===t.triggerKind||t.triggerKind===oe.Invoked||t.triggerKind===oe.Automatic)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(le||(le={})),function(e){function t(t){return De.defined(t)&&t===e.LLMGenerated}e.LLMGenerated=1,Ke(t,"is"),e.is=t}(ue||(ue={})),function(e){function t(e,t,r){const n={title:e};let a=!0;return"string"==typeof t?(a=!1,n.kind=t):v.is(t)?n.command=t:n.edit=t,a&&void 0!==r&&(n.kind=r),n}function r(e){const t=e;return t&&De.string(t.title)&&(void 0===t.diagnostics||De.typedArray(t.diagnostics,T.is))&&(void 0===t.kind||De.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||v.is(t.command))&&(void 0===t.isPreferred||De.boolean(t.isPreferred))&&(void 0===t.edit||x.is(t.edit))&&(void 0===t.tags||De.typedArray(t.tags,ue.is))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(ce||(ce={})),function(e){function t(e,t){const r={range:e};return De.defined(t)&&(r.data=t),r}function r(e){const t=e;return De.defined(t)&&s.is(t.range)&&(De.undefined(t.command)||v.is(t.command))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(pe||(pe={})),function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}function r(e){const t=e;return De.defined(t)&&De.uinteger(t.tabSize)&&De.boolean(t.insertSpaces)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(de||(de={})),function(e){function t(e,t,r){return{range:e,target:t,data:r}}function r(e){const t=e;return De.defined(t)&&s.is(t.range)&&(De.undefined(t.target)||De.string(t.target))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(fe||(fe={})),function(e){function t(e,t){return{range:e,parent:t}}function r(t){const r=t;return De.objectLiteral(r)&&s.is(r.range)&&(void 0===r.parent||e.is(r.parent))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(me||(me={})),(He=he||(he={})).namespace="namespace",He.type="type",He.class="class",He.enum="enum",He.interface="interface",He.struct="struct",He.typeParameter="typeParameter",He.parameter="parameter",He.variable="variable",He.property="property",He.enumMember="enumMember",He.event="event",He.function="function",He.method="method",He.macro="macro",He.keyword="keyword",He.modifier="modifier",He.comment="comment",He.string="string",He.number="number",He.regexp="regexp",He.operator="operator",He.decorator="decorator",He.label="label",(Ye=ye||(ye={})).declaration="declaration",Ye.definition="definition",Ye.readonly="readonly",Ye.static="static",Ye.deprecated="deprecated",Ye.abstract="abstract",Ye.async="async",Ye.modification="modification",Ye.documentation="documentation",Ye.defaultLibrary="defaultLibrary",function(e){function t(e){const t=e;return De.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])}Ke(t,"is"),e.is=t}(ge||(ge={})),function(e){function t(e,t){return{range:e,text:t}}function r(e){const t=e;return null!=t&&s.is(t.range)&&De.string(t.text)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(Te||(Te={})),function(e){function t(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}}function r(e){const t=e;return null!=t&&s.is(t.range)&&De.boolean(t.caseSensitiveLookup)&&(De.string(t.variableName)||void 0===t.variableName)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(ve||(ve={})),function(e){function t(e,t){return{range:e,expression:t}}function r(e){const t=e;return null!=t&&s.is(t.range)&&(De.string(t.expression)||void 0===t.expression)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(Re||(Re={})),function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}function r(e){const t=e;return De.defined(t)&&s.is(e.stoppedLocation)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}($e||($e={})),function(e){function t(e){return 1===e||2===e}e.Type=1,e.Parameter=2,Ke(t,"is"),e.is=t}(Ee||(Ee={})),function(e){function t(e){return{value:e}}function r(e){const t=e;return De.objectLiteral(t)&&(void 0===t.tooltip||De.string(t.tooltip)||F.is(t.tooltip))&&(void 0===t.location||o.is(t.location))&&(void 0===t.command||v.is(t.command))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(Ce||(Ce={})),function(e){function t(e,t,r){const n={position:e,label:t};return void 0!==r&&(n.kind=r),n}function r(e){const t=e;return De.objectLiteral(t)&&i.is(t.position)&&(De.string(t.label)||De.typedArray(t.label,Ce.is))&&(void 0===t.kind||Ee.is(t.kind))&&void 0===t.textEdits||De.typedArray(t.textEdits,R.is)&&(void 0===t.tooltip||De.string(t.tooltip)||F.is(t.tooltip))&&(void 0===t.paddingLeft||De.boolean(t.paddingLeft))&&(void 0===t.paddingRight||De.boolean(t.paddingRight))}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(be||(be={})),function(e){function t(e){return{kind:"snippet",value:e}}function r(e){const t=e;return De.objectLiteral(t)&&"snippet"===t.kind&&De.string(t.value)}Ke(t,"createSnippet"),e.createSnippet=t,Ke(r,"isSnippet"),e.isSnippet=r}(Ae||(Ae={})),function(e){function t(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}}Ke(t,"create"),e.create=t}(Se||(Se={})),function(e){function t(e){return{items:e}}Ke(t,"create"),e.create=t}(_e||(_e={})),(Xe=xe||(xe={})).Invoked=1,Xe.Automatic=2,function(e){function t(e,t){return{range:e,text:t}}Ke(t,"create"),e.create=t}(ke||(ke={})),function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}Ke(t,"create"),e.create=t}(we||(we={})),function(e){function t(e){const t=e;return De.objectLiteral(t)&&r.is(t.uri)&&De.string(t.name)}Ke(t,"is"),e.is=t}(Ne||(Ne={})),Ie=["\n","\r\n","\r"],function(e){function t(e,t,r,n){return new Pe(e,t,r,n)}function r(e){const t=e;return!!(De.defined(t)&&De.string(t.uri)&&(De.undefined(t.languageId)||De.string(t.languageId))&&De.uinteger(t.lineCount)&&De.func(t.getText)&&De.func(t.positionAt)&&De.func(t.offsetAt))}function n(e,t){let r=e.getText();const n=a(t,(e,t)=>{const r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r});let i=r.length;for(let a=n.length-1;a>=0;a--){const t=n[a],s=e.offsetAt(t.range.start),o=e.offsetAt(t.range.end);if(!(o<=i))throw new Error("Overlapping edit");r=r.substring(0,s)+t.newText+r.substring(o,r.length),i=s}return r}function a(e,t){if(e.length<=1)return e;const r=e.length/2|0,n=e.slice(0,r),i=e.slice(r);a(n,t),a(i,t);let s=0,o=0,l=0;for(;s<n.length&&o<i.length;){const r=t(n[s],i[o]);e[l++]=r<=0?n[s++]:i[o++]}for(;s<n.length;)e[l++]=n[s++];for(;o<i.length;)e[l++]=i[o++];return e}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r,Ke(n,"applyEdits"),e.applyEdits=n,Ke(a,"mergeSort")}(Oe||(Oe={})),Pe=class{static{Ke(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){const 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){const e=[],t=this._content;let r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);const a=t.charAt(n);r="\r"===a||"\n"===a,"\r"===a&&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);const t=this.getLineOffsets();let r=0,n=t.length;if(0===n)return i.create(0,e);for(;r<n;){const a=Math.floor((r+n)/2);t[a]>e?n=a:r=a+1}const a=r-1;return i.create(a,e-t[a])}offsetAt(e){const t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;const 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){const t=Object.prototype.toString;function r(e){return void 0!==e}function n(e){return void 0===e}function a(e){return!0===e||!1===e}function i(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)&&-2147483648<=e&&e<=2147483647}function u(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647}function c(e){return"[object Function]"===t.call(e)}function p(e){return null!==e&&"object"==typeof e}function d(e,t){return Array.isArray(e)&&e.every(t)}Ke(r,"defined"),e.defined=r,Ke(n,"undefined"),e.undefined=n,Ke(a,"boolean"),e.boolean=a,Ke(i,"string"),e.string=i,Ke(s,"number"),e.number=s,Ke(o,"numberRange"),e.numberRange=o,Ke(l,"integer"),e.integer=l,Ke(u,"uinteger"),e.uinteger=u,Ke(c,"func"),e.func=c,Ke(p,"objectLiteral"),e.objectLiteral=p,Ke(d,"typedArray"),e.typedArray=d}(De||(De={}))}},function(){return lt&&(ut=(0,lt[Fe(lt)[0]])(lt=0)),ut}),pt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CM=e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t,r,n=st();(r=t||(e.MessageDirection=t={})).clientToServer="clientToServer",r.serverToClient="serverToClient",r.both="both";var a=class{static{Ke(this,"RegistrationType")}____;method;constructor(e){this.method=e}};e.RegistrationType=a;var i=class extends n.RequestType0{static{Ke(this,"ProtocolRequestType0")}__;___;____;_pr;constructor(e){super(e)}};e.ProtocolRequestType0=i;var s=class extends n.RequestType{static{Ke(this,"ProtocolRequestType")}__;___;____;_pr;constructor(e){super(e,n.ParameterStructures.byName)}};e.ProtocolRequestType=s;var o=class extends n.NotificationType0{static{Ke(this,"ProtocolNotificationType0")}___;____;constructor(e){super(e)}};e.ProtocolNotificationType0=o;var l,u=class extends n.NotificationType{static{Ke(this,"ProtocolNotificationType")}___;____;constructor(e){super(e,n.ParameterStructures.byName)}};e.ProtocolNotificationType=u,function(e){function t(e,t){return{client:e,server:t}}Ke(t,"create"),e.create=t}(l||(e.CM=l={}))}}),dt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){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 a(e){return e instanceof Error}function i(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.boolean=t,e.string=r,e.number=n,e.error=a,e.func=i,e.array=s,e.stringArray=o,e.typedArray=l,e.objectLiteral=u,Ke(t,"boolean"),Ke(r,"string"),Ke(n,"number"),Ke(a,"error"),Ke(i,"func"),Ke(s,"array"),Ke(o,"stringArray"),Ke(l,"typedArray"),Ke(u,"objectLiteral")}}),ft=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t,r,n=pt();(r=t||(e.ImplementationRequest=t={})).method="textDocument/implementation",r.messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.capabilities=n.CM.create("textDocument.implementation","implementationProvider")}}),mt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t,r,n=pt();(r=t||(e.TypeDefinitionRequest=t={})).method="textDocument/typeDefinition",r.messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.capabilities=n.CM.create("textDocument.typeDefinition","typeDefinitionProvider")}}),ht=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t,r,n,a,i=pt();(r=t||(e.WorkspaceFoldersRequest=t={})).method="workspace/workspaceFolders",r.messageDirection=i.MessageDirection.serverToClient,r.type=new i.ProtocolRequestType0(r.method),r.capabilities=i.CM.create("workspace.workspaceFolders","workspace.workspaceFolders"),(a=n||(e.DidChangeWorkspaceFoldersNotification=n={})).method="workspace/didChangeWorkspaceFolders",a.messageDirection=i.MessageDirection.clientToServer,a.type=new i.ProtocolNotificationType(a.method),a.capabilities=i.CM.create(void 0,"workspace.workspaceFolders.changeNotifications")}}),yt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t,r,n=pt();(r=t||(e.ConfigurationRequest=t={})).method="workspace/configuration",r.messageDirection=n.MessageDirection.serverToClient,r.type=new n.ProtocolRequestType(r.method),r.capabilities=n.CM.create("workspace.configuration",void 0)}}),gt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t,r,n,a,i=pt();(r=t||(e.DocumentColorRequest=t={})).method="textDocument/documentColor",r.messageDirection=i.MessageDirection.clientToServer,r.type=new i.ProtocolRequestType(r.method),r.capabilities=i.CM.create("textDocument.colorProvider","colorProvider"),(a=n||(e.ColorPresentationRequest=n={})).method="textDocument/colorPresentation",a.messageDirection=i.MessageDirection.clientToServer,a.type=new i.ProtocolRequestType(a.method),a.capabilities=i.CM.create("textDocument.colorProvider","colorProvider")}}),Tt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t,r,n,a,i=pt();(r=t||(e.FoldingRangeRequest=t={})).method="textDocument/foldingRange",r.messageDirection=i.MessageDirection.clientToServer,r.type=new i.ProtocolRequestType(r.method),r.capabilities=i.CM.create("textDocument.foldingRange","foldingRangeProvider"),(a=n||(e.FoldingRangeRefreshRequest=n={})).method="workspace/foldingRange/refresh",a.messageDirection=i.MessageDirection.serverToClient,a.type=new i.ProtocolRequestType0(a.method),a.capabilities=i.CM.create("workspace.foldingRange.refreshSupport",void 0)}}),vt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t,r,n=pt();(r=t||(e.DeclarationRequest=t={})).method="textDocument/declaration",r.messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.capabilities=n.CM.create("textDocument.declaration","declarationProvider")}}),Rt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t,r,n=pt();(r=t||(e.SelectionRangeRequest=t={})).method="textDocument/selectionRange",r.messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.capabilities=n.CM.create("textDocument.selectionRange","selectionRangeProvider")}}),$t=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t,r,n,a,i,s=st(),o=pt();!function(e){function t(t){return t===e.type}e.type=new s.ProgressType,Ke(t,"is"),e.is=t}(t||(e.WorkDoneProgress=t={})),(n=r||(e.WorkDoneProgressCreateRequest=r={})).method="window/workDoneProgress/create",n.messageDirection=o.MessageDirection.serverToClient,n.type=new o.ProtocolRequestType(n.method),n.capabilities=o.CM.create("window.workDoneProgress",void 0),(i=a||(e.WorkDoneProgressCancelNotification=a={})).method="window/workDoneProgress/cancel",i.messageDirection=o.MessageDirection.clientToServer,i.type=new o.ProtocolNotificationType(i.method)}}),Et=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t,r,n,a,i,s,o=pt();(r=t||(e.CallHierarchyPrepareRequest=t={})).method="textDocument/prepareCallHierarchy",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),r.capabilities=o.CM.create("textDocument.callHierarchy","callHierarchyProvider"),(a=n||(e.CallHierarchyIncomingCallsRequest=n={})).method="callHierarchy/incomingCalls",a.messageDirection=o.MessageDirection.clientToServer,a.type=new o.ProtocolRequestType(a.method),a.capabilities=o.CM.create("textDocument.callHierarchy","callHierarchyProvider"),(s=i||(e.CallHierarchyOutgoingCallsRequest=i={})).method="callHierarchy/outgoingCalls",s.messageDirection=o.MessageDirection.clientToServer,s.type=new o.ProtocolRequestType(s.method),s.capabilities=o.CM.create("textDocument.callHierarchy","callHierarchyProvider")}}),Ct=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t,r,n,a,i,s,o,l,u,c,p,d=pt();(t||(e.TokenFormat=t={})).Relative="relative",(n=r||(e.SemanticTokensRegistrationType=r={})).method="textDocument/semanticTokens",n.type=new d.RegistrationType(n.method),(i=a||(e.SemanticTokensRequest=a={})).method="textDocument/semanticTokens/full",i.messageDirection=d.MessageDirection.clientToServer,i.type=new d.ProtocolRequestType(i.method),i.registrationMethod=r.method,i.capabilities=d.CM.create("textDocument.semanticTokens","semanticTokensProvider"),(o=s||(e.SemanticTokensDeltaRequest=s={})).method="textDocument/semanticTokens/full/delta",o.messageDirection=d.MessageDirection.clientToServer,o.type=new d.ProtocolRequestType(o.method),o.registrationMethod=r.method,o.capabilities=d.CM.create("textDocument.semanticTokens.requests.full.delta","semanticTokensProvider.full.delta"),(u=l||(e.SemanticTokensRangeRequest=l={})).method="textDocument/semanticTokens/range",u.messageDirection=d.MessageDirection.clientToServer,u.type=new d.ProtocolRequestType(u.method),u.registrationMethod=r.method,u.capabilities=d.CM.create("textDocument.semanticTokens.requests.range","semanticTokensProvider.range"),(p=c||(e.SemanticTokensRefreshRequest=c={})).method="workspace/semanticTokens/refresh",p.messageDirection=d.MessageDirection.serverToClient,p.type=new d.ProtocolRequestType0(p.method),p.capabilities=d.CM.create("workspace.semanticTokens.refreshSupport",void 0)}}),bt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t,r,n=pt();(r=t||(e.ShowDocumentRequest=t={})).method="window/showDocument",r.messageDirection=n.MessageDirection.serverToClient,r.type=new n.ProtocolRequestType(r.method),r.capabilities=n.CM.create("window.showDocument.support",void 0)}}),At=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t,r,n=pt();(r=t||(e.LinkedEditingRangeRequest=t={})).method="textDocument/linkedEditingRange",r.messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.capabilities=n.CM.create("textDocument.linkedEditingRange","linkedEditingRangeProvider")}}),St=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){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,a,i,s,o,l,u,c,p,d,f,m,h=pt();(r=t||(e.FileOperationPatternKind=t={})).file="file",r.folder="folder",(a=n||(e.WillCreateFilesRequest=n={})).method="workspace/willCreateFiles",a.messageDirection=h.MessageDirection.clientToServer,a.type=new h.ProtocolRequestType(a.method),a.capabilities=h.CM.create("workspace.fileOperations.willCreate","workspace.fileOperations.willCreate"),(s=i||(e.DidCreateFilesNotification=i={})).method="workspace/didCreateFiles",s.messageDirection=h.MessageDirection.clientToServer,s.type=new h.ProtocolNotificationType(s.method),s.capabilities=h.CM.create("workspace.fileOperations.didCreate","workspace.fileOperations.didCreate"),(l=o||(e.WillRenameFilesRequest=o={})).method="workspace/willRenameFiles",l.messageDirection=h.MessageDirection.clientToServer,l.type=new h.ProtocolRequestType(l.method),l.capabilities=h.CM.create("workspace.fileOperations.willRename","workspace.fileOperations.willRename"),(c=u||(e.DidRenameFilesNotification=u={})).method="workspace/didRenameFiles",c.messageDirection=h.MessageDirection.clientToServer,c.type=new h.ProtocolNotificationType(c.method),c.capabilities=h.CM.create("workspace.fileOperations.didRename","workspace.fileOperations.didRename"),(d=p||(e.DidDeleteFilesNotification=p={})).method="workspace/didDeleteFiles",d.messageDirection=h.MessageDirection.clientToServer,d.type=new h.ProtocolNotificationType(d.method),d.capabilities=h.CM.create("workspace.fileOperations.didDelete","workspace.fileOperations.didDelete"),(m=f||(e.WillDeleteFilesRequest=f={})).method="workspace/willDeleteFiles",m.messageDirection=h.MessageDirection.clientToServer,m.type=new h.ProtocolRequestType(m.method),m.capabilities=h.CM.create("workspace.fileOperations.willDelete","workspace.fileOperations.willDelete")}}),_t=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t,r,n,a,i,s,o=pt();(r=t||(e.UniquenessLevel=t={})).document="document",r.project="project",r.group="group",r.scheme="scheme",r.global="global",(a=n||(e.MonikerKind=n={})).$import="import",a.$export="export",a.local="local",(s=i||(e.MonikerRequest=i={})).method="textDocument/moniker",s.messageDirection=o.MessageDirection.clientToServer,s.type=new o.ProtocolRequestType(s.method),s.capabilities=o.CM.create("textDocument.moniker","monikerProvider")}}),xt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,a,i,s,o=pt();(r=t||(e.TypeHierarchyPrepareRequest=t={})).method="textDocument/prepareTypeHierarchy",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),r.capabilities=o.CM.create("textDocument.typeHierarchy","typeHierarchyProvider"),(a=n||(e.TypeHierarchySupertypesRequest=n={})).method="typeHierarchy/supertypes",a.messageDirection=o.MessageDirection.clientToServer,a.type=new o.ProtocolRequestType(a.method),(s=i||(e.TypeHierarchySubtypesRequest=i={})).method="typeHierarchy/subtypes",s.messageDirection=o.MessageDirection.clientToServer,s.type=new o.ProtocolRequestType(s.method)}}),kt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t,r,n,a,i=pt();(r=t||(e.InlineValueRequest=t={})).method="textDocument/inlineValue",r.messageDirection=i.MessageDirection.clientToServer,r.type=new i.ProtocolRequestType(r.method),r.capabilities=i.CM.create("textDocument.inlineValue","inlineValueProvider"),(a=n||(e.InlineValueRefreshRequest=n={})).method="workspace/inlineValue/refresh",a.messageDirection=i.MessageDirection.serverToClient,a.type=new i.ProtocolRequestType0(a.method),a.capabilities=i.CM.create("workspace.inlineValue.refreshSupport",void 0)}}),wt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t,r,n,a,i,s,o=pt();(r=t||(e.InlayHintRequest=t={})).method="textDocument/inlayHint",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),r.capabilities=o.CM.create("textDocument.inlayHint","inlayHintProvider"),(a=n||(e.InlayHintResolveRequest=n={})).method="inlayHint/resolve",a.messageDirection=o.MessageDirection.clientToServer,a.type=new o.ProtocolRequestType(a.method),a.capabilities=o.CM.create("textDocument.inlayHint.resolveSupport","inlayHintProvider.resolveProvider"),(s=i||(e.InlayHintRefreshRequest=i={})).method="workspace/inlayHint/refresh",s.messageDirection=o.MessageDirection.serverToClient,s.type=new o.ProtocolRequestType0(s.method),s.capabilities=o.CM.create("workspace.inlayHint.refreshSupport",void 0)}}),Nt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e&&e.__importStar||function(){var e=Ke(function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(t)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var a={};if(null!=n)for(var i=e(n),s=0;s<i.length;s++)"default"!==i[s]&&t(a,n,i[s]);return r(a,n),a}}();Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var a,i,s,o,l,u,c,p,d,f=st(),m=n(dt()),h=pt();!function(e){function t(e){const t=e;return t&&m.boolean(t.retriggerRequest)}Ke(t,"is"),e.is=t}(a||(e.DiagnosticServerCancellationData=a={})),(s=i||(e.DocumentDiagnosticReportKind=i={})).Full="full",s.Unchanged="unchanged",(l=o||(e.DocumentDiagnosticRequest=o={})).method="textDocument/diagnostic",l.messageDirection=h.MessageDirection.clientToServer,l.type=new h.ProtocolRequestType(l.method),l.partialResult=new f.ProgressType,l.capabilities=h.CM.create("textDocument.diagnostic","diagnosticProvider"),(c=u||(e.WorkspaceDiagnosticRequest=u={})).method="workspace/diagnostic",c.messageDirection=h.MessageDirection.clientToServer,c.type=new h.ProtocolRequestType(c.method),c.partialResult=new f.ProgressType,c.capabilities=h.CM.create("workspace.diagnostics","diagnosticProvider.workspaceDiagnostics"),(d=p||(e.DiagnosticRefreshRequest=p={})).method="workspace/diagnostic/refresh",d.messageDirection=h.MessageDirection.serverToClient,d.type=new h.ProtocolRequestType0(d.method),d.capabilities=h.CM.create("workspace.diagnostics.refreshSupport",void 0)}}),It=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e&&e.__importStar||function(){var e=Ke(function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(t)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var a={};if(null!=n)for(var i=e(n),s=0;s<i.length;s++)"default"!==i[s]&&t(a,n,i[s]);return r(a,n),a}}();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 a,i,s,o,l,u,c,p,d,f,m,h,y,g,T,v=(ct(),Be(ot)),R=n(dt()),$=pt();!function(e){function t(e){return 1===e||2===e}e.Markup=1,e.Code=2,Ke(t,"is"),e.is=t}(a||(e.NotebookCellKind=a={})),function(e){function t(e,t){const r={executionOrder:e};return!0!==t&&!1!==t||(r.success=t),r}function r(e){const t=e;return R.objectLiteral(t)&&v.uinteger.is(t.executionOrder)&&(void 0===t.success||R.boolean(t.success))}function n(e,t){return e===t||null!=e&&null!=t&&(e.executionOrder===t.executionOrder&&e.success===t.success)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r,Ke(n,"equals"),e.equals=n}(i||(e.ExecutionSummary=i={})),function(e){function t(e,t){return{kind:e,document:t}}function r(e){const t=e;return R.objectLiteral(t)&&a.is(t.kind)&&v.DocumentUri.is(t.document)&&(void 0===t.metadata||R.objectLiteral(t.metadata))}function n(e,t){const 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||s(e.metadata,t.metadata)||r.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||i.equals(e.executionSummary,t.executionSummary)||r.add("executionSummary"),r}function s(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;const 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(!s(e[r],t[r]))return!1}if(R.objectLiteral(e)&&R.objectLiteral(t)){const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;if(r.sort(),n.sort(),!s(r,n))return!1;for(let a=0;a<r.length;a++){const n=r[a];if(!s(e[n],t[n]))return!1}}return!0}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r,Ke(n,"diff"),e.diff=n,Ke(s,"equalsMetadata")}(s||(e.NotebookCell=s={})),function(e){function t(e,t,r,n){return{uri:e,notebookType:t,version:r,cells:n}}function r(e){const t=e;return R.objectLiteral(t)&&R.string(t.uri)&&v.integer.is(t.version)&&R.typedArray(t.cells,s.is)}Ke(t,"create"),e.create=t,Ke(r,"is"),e.is=r}(o||(e.NotebookDocument=o={})),(u=l||(e.NotebookDocumentSyncRegistrationType=l={})).method="notebookDocument/sync",u.messageDirection=$.MessageDirection.clientToServer,u.type=new $.RegistrationType(u.method),(p=c||(e.DidOpenNotebookDocumentNotification=c={})).method="notebookDocument/didOpen",p.messageDirection=$.MessageDirection.clientToServer,p.type=new $.ProtocolNotificationType(p.method),p.registrationMethod=l.method,function(e){function t(e){const t=e;return R.objectLiteral(t)&&v.uinteger.is(t.start)&&v.uinteger.is(t.deleteCount)&&(void 0===t.cells||R.typedArray(t.cells,s.is))}function r(e,t,r){const n={start:e,deleteCount:t};return void 0!==r&&(n.cells=r),n}Ke(t,"is"),e.is=t,Ke(r,"create"),e.create=r}(d||(e.NotebookCellArrayChange=d={})),(m=f||(e.DidChangeNotebookDocumentNotification=f={})).method="notebookDocument/didChange",m.messageDirection=$.MessageDirection.clientToServer,m.type=new $.ProtocolNotificationType(m.method),m.registrationMethod=l.method,(y=h||(e.DidSaveNotebookDocumentNotification=h={})).method="notebookDocument/didSave",y.messageDirection=$.MessageDirection.clientToServer,y.type=new $.ProtocolNotificationType(y.method),y.registrationMethod=l.method,(T=g||(e.DidCloseNotebookDocumentNotification=g={})).method="notebookDocument/didClose",T.messageDirection=$.MessageDirection.clientToServer,T.type=new $.ProtocolNotificationType(T.method),T.registrationMethod=l.method}}),Ot=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionRequest=void 0;var t,r,n=pt();(r=t||(e.InlineCompletionRequest=t={})).method="textDocument/inlineCompletion",r.messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.capabilities=n.CM.create("textDocument.inlineCompletion","inlineCompletionProvider")}}),Pt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.textDocumentContent.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocumentContentRefreshRequest=e.TextDocumentContentRequest=void 0;var t,r,n,a,i=pt();(r=t||(e.TextDocumentContentRequest=t={})).method="workspace/textDocumentContent",r.messageDirection=i.MessageDirection.clientToServer,r.type=new i.ProtocolRequestType(r.method),r.capabilities=i.CM.create("workspace.textDocumentContent","workspace.textDocumentContent"),(a=n||(e.TextDocumentContentRefreshRequest=n={})).method="workspace/textDocumentContent/refresh",a.messageDirection=i.MessageDirection.serverToClient,a.type=new i.ProtocolRequestType(a.method)}}),Dt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e&&e.__importStar||function(){var e=Ke(function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(t)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var a={};if(null!=n)for(var i=e(n),s=0;s<i.length;s++)"default"!==i[s]&&t(a,n,i[s]);return r(a,n),a}}();Object.defineProperty(e,"__esModule",{value:!0}),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.GlobPattern=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.RegularExpressionEngineKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,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=e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=void 0,e.TextDocumentContentRefreshRequest=e.TextDocumentContentRequest=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=e.MonikerRequest=e.MonikerKind=void 0;var a=pt(),i=(ct(),Be(ot)),s=n(dt()),o=ft();Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:Ke(function(){return o.ImplementationRequest},"get")});var l=mt();Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:Ke(function(){return l.TypeDefinitionRequest},"get")});var u=ht();Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:Ke(function(){return u.WorkspaceFoldersRequest},"get")}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:Ke(function(){return u.DidChangeWorkspaceFoldersNotification},"get")});var c=yt();Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:Ke(function(){return c.ConfigurationRequest},"get")});var p=gt();Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:Ke(function(){return p.DocumentColorRequest},"get")}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:Ke(function(){return p.ColorPresentationRequest},"get")});var d=Tt();Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:Ke(function(){return d.FoldingRangeRequest},"get")}),Object.defineProperty(e,"FoldingRangeRefreshRequest",{enumerable:!0,get:Ke(function(){return d.FoldingRangeRefreshRequest},"get")});var f=vt();Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:Ke(function(){return f.DeclarationRequest},"get")});var m=Rt();Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:Ke(function(){return m.SelectionRangeRequest},"get")});var h=$t();Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:Ke(function(){return h.WorkDoneProgress},"get")}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:Ke(function(){return h.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:Ke(function(){return h.WorkDoneProgressCancelNotification},"get")});var y=Et();Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:Ke(function(){return y.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:Ke(function(){return y.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:Ke(function(){return y.CallHierarchyPrepareRequest},"get")});var g=Ct();Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:Ke(function(){return g.TokenFormat},"get")}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:Ke(function(){return g.SemanticTokensRequest},"get")}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:Ke(function(){return g.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:Ke(function(){return g.SemanticTokensRangeRequest},"get")}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:Ke(function(){return g.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:Ke(function(){return g.SemanticTokensRegistrationType},"get")});var T=bt();Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:Ke(function(){return T.ShowDocumentRequest},"get")});var v=At();Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:Ke(function(){return v.LinkedEditingRangeRequest},"get")});var R=St();Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:Ke(function(){return R.FileOperationPatternKind},"get")}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:Ke(function(){return R.DidCreateFilesNotification},"get")}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:Ke(function(){return R.WillCreateFilesRequest},"get")}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:Ke(function(){return R.DidRenameFilesNotification},"get")}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:Ke(function(){return R.WillRenameFilesRequest},"get")}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:Ke(function(){return R.DidDeleteFilesNotification},"get")}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:Ke(function(){return R.WillDeleteFilesRequest},"get")});var $=_t();Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:Ke(function(){return $.UniquenessLevel},"get")}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:Ke(function(){return $.MonikerKind},"get")}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:Ke(function(){return $.MonikerRequest},"get")});var E=xt();Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:Ke(function(){return E.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:Ke(function(){return E.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:Ke(function(){return E.TypeHierarchySupertypesRequest},"get")});var C=kt();Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:Ke(function(){return C.InlineValueRequest},"get")}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:Ke(function(){return C.InlineValueRefreshRequest},"get")});var b=wt();Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:Ke(function(){return b.InlayHintRequest},"get")}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:Ke(function(){return b.InlayHintResolveRequest},"get")}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:Ke(function(){return b.InlayHintRefreshRequest},"get")});var A=Nt();Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:Ke(function(){return A.DiagnosticServerCancellationData},"get")}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:Ke(function(){return A.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:Ke(function(){return A.DocumentDiagnosticRequest},"get")}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:Ke(function(){return A.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:Ke(function(){return A.DiagnosticRefreshRequest},"get")});var S=It();Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:Ke(function(){return S.NotebookCellKind},"get")}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:Ke(function(){return S.ExecutionSummary},"get")}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:Ke(function(){return S.NotebookCell},"get")}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:Ke(function(){return S.NotebookDocument},"get")}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:Ke(function(){return S.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:Ke(function(){return S.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:Ke(function(){return S.NotebookCellArrayChange},"get")}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:Ke(function(){return S.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:Ke(function(){return S.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:Ke(function(){return S.DidCloseNotebookDocumentNotification},"get")});var _=Ot();Object.defineProperty(e,"InlineCompletionRequest",{enumerable:!0,get:Ke(function(){return _.InlineCompletionRequest},"get")});var x,k,w,N,I,O,P,D,L,M,j,F,G,z,K,q,U,V,B,W,H,Y,X,Z,J,Q,ee,te,re,ne,ae,ie,se,oe,le,ue,ce,pe,de,fe,me,he,ye,ge,Te,ve,Re,$e,Ee,Ce,be,Ae,Se,_e,xe,ke,we,Ne,Ie,Oe,Pe,De,Le,Me,je,Fe,Ge,ze,qe,Ue,Ve,We,He,Ye,Xe,Ze,Je,Qe,et,tt,rt,nt,at,it,st,lt,ut,Dt,Lt,Mt,jt,Ft,Gt,zt,Kt,qt,Ut,Vt,Bt,Wt,Ht,Yt,Xt,Zt,Jt,Qt,er,tr,rr,nr,ar,ir,sr,or,lr,ur,cr,pr,dr,fr,mr,hr=Pt();Object.defineProperty(e,"TextDocumentContentRequest",{enumerable:!0,get:Ke(function(){return hr.TextDocumentContentRequest},"get")}),Object.defineProperty(e,"TextDocumentContentRefreshRequest",{enumerable:!0,get:Ke(function(){return hr.TextDocumentContentRefreshRequest},"get")}),function(e){function t(e){const t=e;return s.string(t)||s.string(t.language)||s.string(t.scheme)||De.is(t.pattern)}Ke(t,"is"),e.is=t}(x||(e.TextDocumentFilter=x={})),function(e){function t(e){const t=e;return s.objectLiteral(t)&&(s.string(t.notebookType)||s.string(t.scheme)||s.string(t.pattern))}Ke(t,"is"),e.is=t}(k||(e.NotebookDocumentFilter=k={})),function(e){function t(e){const t=e;return s.objectLiteral(t)&&(s.string(t.notebook)||k.is(t.notebook))&&(void 0===t.language||s.string(t.language))}Ke(t,"is"),e.is=t}(w||(e.NotebookCellTextDocumentFilter=w={})),function(e){function t(e){if(!Array.isArray(e))return!1;for(const t of e)if(!s.string(t)&&!x.is(t)&&!w.is(t))return!1;return!0}Ke(t,"is"),e.is=t}(N||(e.DocumentSelector=N={})),(O=I||(e.RegistrationRequest=I={})).method="client/registerCapability",O.messageDirection=a.MessageDirection.serverToClient,O.type=new a.ProtocolRequestType(O.method),(D=P||(e.UnregistrationRequest=P={})).method="client/unregisterCapability",D.messageDirection=a.MessageDirection.serverToClient,D.type=new a.ProtocolRequestType(D.method),(M=L||(e.ResourceOperationKind=L={})).Create="create",M.Rename="rename",M.Delete="delete",(F=j||(e.FailureHandlingKind=j={})).Abort="abort",F.Transactional="transactional",F.TextOnlyTransactional="textOnlyTransactional",F.Undo="undo",(G||(e.RegularExpressionEngineKind=G={})).ES2020="ES2020",(K=z||(e.PositionEncodingKind=z={})).UTF8="utf-8",K.UTF16="utf-16",K.UTF32="utf-32",function(e){function t(e){const t=e;return t&&s.string(t.id)&&t.id.length>0}Ke(t,"hasId"),e.hasId=t}(q||(e.StaticRegistrationOptions=q={})),function(e){function t(e){const t=e;return t&&(null===t.documentSelector||N.is(t.documentSelector))}Ke(t,"is"),e.is=t}(U||(e.TextDocumentRegistrationOptions=U={})),function(e){function t(e){const t=e;return s.objectLiteral(t)&&(void 0===t.workDoneProgress||s.boolean(t.workDoneProgress))}function r(e){const t=e;return t&&s.boolean(t.workDoneProgress)}Ke(t,"is"),e.is=t,Ke(r,"hasWorkDoneProgress"),e.hasWorkDoneProgress=r}(V||(e.WorkDoneProgressOptions=V={})),(W=B||(e.InitializeRequest=B={})).method="initialize",W.messageDirection=a.MessageDirection.clientToServer,W.type=new a.ProtocolRequestType(W.method),(H||(e.InitializeErrorCodes=H={})).unknownProtocolVersion=1,(X=Y||(e.InitializedNotification=Y={})).method="initialized",X.messageDirection=a.MessageDirection.clientToServer,X.type=new a.ProtocolNotificationType(X.method),(J=Z||(e.ShutdownRequest=Z={})).method="shutdown",J.messageDirection=a.MessageDirection.clientToServer,J.type=new a.ProtocolRequestType0(J.method),(ee=Q||(e.ExitNotification=Q={})).method="exit",ee.messageDirection=a.MessageDirection.clientToServer,ee.type=new a.ProtocolNotificationType0(ee.method),(re=te||(e.DidChangeConfigurationNotification=te={})).method="workspace/didChangeConfiguration",re.messageDirection=a.MessageDirection.clientToServer,re.type=new a.ProtocolNotificationType(re.method),re.capabilities=a.CM.create("workspace.didChangeConfiguration",void 0),(ae=ne||(e.MessageType=ne={})).Error=1,ae.Warning=2,ae.Info=3,ae.Log=4,ae.Debug=5,(se=ie||(e.ShowMessageNotification=ie={})).method="window/showMessage",se.messageDirection=a.MessageDirection.serverToClient,se.type=new a.ProtocolNotificationType(se.method),se.capabilities=a.CM.create("window.showMessage",void 0),(le=oe||(e.ShowMessageRequest=oe={})).method="window/showMessageRequest",le.messageDirection=a.MessageDirection.serverToClient,le.type=new a.ProtocolRequestType(le.method),le.capabilities=a.CM.create("window.showMessage",void 0),(ce=ue||(e.LogMessageNotification=ue={})).method="window/logMessage",ce.messageDirection=a.MessageDirection.serverToClient,ce.type=new a.ProtocolNotificationType(ce.method),(de=pe||(e.TelemetryEventNotification=pe={})).method="telemetry/event",de.messageDirection=a.MessageDirection.serverToClient,de.type=new a.ProtocolNotificationType(de.method),(me=fe||(e.TextDocumentSyncKind=fe={})).None=0,me.Full=1,me.Incremental=2,(ye=he||(e.DidOpenTextDocumentNotification=he={})).method="textDocument/didOpen",ye.messageDirection=a.MessageDirection.clientToServer,ye.type=new a.ProtocolNotificationType(ye.method),ye.capabilities=a.CM.create("textDocument.synchronization","textDocumentSync.openClose"),function(e){function t(e){const t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)}function r(e){const t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength}Ke(t,"isIncremental"),e.isIncremental=t,Ke(r,"isFull"),e.isFull=r}(ge||(e.TextDocumentContentChangeEvent=ge={})),(ve=Te||(e.DidChangeTextDocumentNotification=Te={})).method="textDocument/didChange",ve.messageDirection=a.MessageDirection.clientToServer,ve.type=new a.ProtocolNotificationType(ve.method),ve.capabilities=a.CM.create("textDocument.synchronization","textDocumentSync"),($e=Re||(e.DidCloseTextDocumentNotification=Re={})).method="textDocument/didClose",$e.messageDirection=a.MessageDirection.clientToServer,$e.type=new a.ProtocolNotificationType($e.method),$e.capabilities=a.CM.create("textDocument.synchronization","textDocumentSync.openClose"),(Ce=Ee||(e.DidSaveTextDocumentNotification=Ee={})).method="textDocument/didSave",Ce.messageDirection=a.MessageDirection.clientToServer,Ce.type=new a.ProtocolNotificationType(Ce.method),Ce.capabilities=a.CM.create("textDocument.synchronization.didSave","textDocumentSync.save"),(Ae=be||(e.TextDocumentSaveReason=be={})).Manual=1,Ae.AfterDelay=2,Ae.FocusOut=3,(_e=Se||(e.WillSaveTextDocumentNotification=Se={})).method="textDocument/willSave",_e.messageDirection=a.MessageDirection.clientToServer,_e.type=new a.ProtocolNotificationType(_e.method),_e.capabilities=a.CM.create("textDocument.synchronization.willSave","textDocumentSync.willSave"),(ke=xe||(e.WillSaveTextDocumentWaitUntilRequest=xe={})).method="textDocument/willSaveWaitUntil",ke.messageDirection=a.MessageDirection.clientToServer,ke.type=new a.ProtocolRequestType(ke.method),ke.capabilities=a.CM.create("textDocument.synchronization.willSaveWaitUntil","textDocumentSync.willSaveWaitUntil"),(Ne=we||(e.DidChangeWatchedFilesNotification=we={})).method="workspace/didChangeWatchedFiles",Ne.messageDirection=a.MessageDirection.clientToServer,Ne.type=new a.ProtocolNotificationType(Ne.method),Ne.capabilities=a.CM.create("workspace.didChangeWatchedFiles",void 0),(Oe=Ie||(e.FileChangeType=Ie={})).Created=1,Oe.Changed=2,Oe.Deleted=3,function(e){function t(e){const t=e;return s.objectLiteral(t)&&(i.URI.is(t.baseUri)||i.WorkspaceFolder.is(t.baseUri))&&s.string(t.pattern)}Ke(t,"is"),e.is=t}(Pe||(e.RelativePattern=Pe={})),function(e){function t(e){const t=e;return s.string(t)||Pe.is(t)}Ke(t,"is"),e.is=t}(De||(e.GlobPattern=De={})),(Me=Le||(e.WatchKind=Le={})).Create=1,Me.Change=2,Me.Delete=4,(Fe=je||(e.PublishDiagnosticsNotification=je={})).method="textDocument/publishDiagnostics",Fe.messageDirection=a.MessageDirection.serverToClient,Fe.type=new a.ProtocolNotificationType(Fe.method),Fe.capabilities=a.CM.create("textDocument.publishDiagnostics",void 0),(ze=Ge||(e.CompletionTriggerKind=Ge={})).Invoked=1,ze.TriggerCharacter=2,ze.TriggerForIncompleteCompletions=3,(Ue=qe||(e.CompletionRequest=qe={})).method="textDocument/completion",Ue.messageDirection=a.MessageDirection.clientToServer,Ue.type=new a.ProtocolRequestType(Ue.method),Ue.capabilities=a.CM.create("textDocument.completion","completionProvider"),(We=Ve||(e.CompletionResolveRequest=Ve={})).method="completionItem/resolve",We.messageDirection=a.MessageDirection.clientToServer,We.type=new a.ProtocolRequestType(We.method),We.capabilities=a.CM.create("textDocument.completion.completionItem.resolveSupport","completionProvider.resolveProvider"),(Ye=He||(e.HoverRequest=He={})).method="textDocument/hover",Ye.messageDirection=a.MessageDirection.clientToServer,Ye.type=new a.ProtocolRequestType(Ye.method),Ye.capabilities=a.CM.create("textDocument.hover","hoverProvider"),(Ze=Xe||(e.SignatureHelpTriggerKind=Xe={})).Invoked=1,Ze.TriggerCharacter=2,Ze.ContentChange=3,(Qe=Je||(e.SignatureHelpRequest=Je={})).method="textDocument/signatureHelp",Qe.messageDirection=a.MessageDirection.clientToServer,Qe.type=new a.ProtocolRequestType(Qe.method),Qe.capabilities=a.CM.create("textDocument.signatureHelp","signatureHelpProvider"),(tt=et||(e.DefinitionRequest=et={})).method="textDocument/definition",tt.messageDirection=a.MessageDirection.clientToServer,tt.type=new a.ProtocolRequestType(tt.method),tt.capabilities=a.CM.create("textDocument.definition","definitionProvider"),(nt=rt||(e.ReferencesRequest=rt={})).method="textDocument/references",nt.messageDirection=a.MessageDirection.clientToServer,nt.type=new a.ProtocolRequestType(nt.method),nt.capabilities=a.CM.create("textDocument.references","referencesProvider"),(it=at||(e.DocumentHighlightRequest=at={})).method="textDocument/documentHighlight",it.messageDirection=a.MessageDirection.clientToServer,it.type=new a.ProtocolRequestType(it.method),it.capabilities=a.CM.create("textDocument.documentHighlight","documentHighlightProvider"),(lt=st||(e.DocumentSymbolRequest=st={})).method="textDocument/documentSymbol",lt.messageDirection=a.MessageDirection.clientToServer,lt.type=new a.ProtocolRequestType(lt.method),lt.capabilities=a.CM.create("textDocument.documentSymbol","documentSymbolProvider"),(Dt=ut||(e.CodeActionRequest=ut={})).method="textDocument/codeAction",Dt.messageDirection=a.MessageDirection.clientToServer,Dt.type=new a.ProtocolRequestType(Dt.method),Dt.capabilities=a.CM.create("textDocument.codeAction","codeActionProvider"),(Mt=Lt||(e.CodeActionResolveRequest=Lt={})).method="codeAction/resolve",Mt.messageDirection=a.MessageDirection.clientToServer,Mt.type=new a.ProtocolRequestType(Mt.method),Mt.capabilities=a.CM.create("textDocument.codeAction.resolveSupport","codeActionProvider.resolveProvider"),(Ft=jt||(e.WorkspaceSymbolRequest=jt={})).method="workspace/symbol",Ft.messageDirection=a.MessageDirection.clientToServer,Ft.type=new a.ProtocolRequestType(Ft.method),Ft.capabilities=a.CM.create("workspace.symbol","workspaceSymbolProvider"),(zt=Gt||(e.WorkspaceSymbolResolveRequest=Gt={})).method="workspaceSymbol/resolve",zt.messageDirection=a.MessageDirection.clientToServer,zt.type=new a.ProtocolRequestType(zt.method),zt.capabilities=a.CM.create("workspace.symbol.resolveSupport","workspaceSymbolProvider.resolveProvider"),(qt=Kt||(e.CodeLensRequest=Kt={})).method="textDocument/codeLens",qt.messageDirection=a.MessageDirection.clientToServer,qt.type=new a.ProtocolRequestType(qt.method),qt.capabilities=a.CM.create("textDocument.codeLens","codeLensProvider"),(Vt=Ut||(e.CodeLensResolveRequest=Ut={})).method="codeLens/resolve",Vt.messageDirection=a.MessageDirection.clientToServer,Vt.type=new a.ProtocolRequestType(Vt.method),Vt.capabilities=a.CM.create("textDocument.codeLens.resolveSupport","codeLensProvider.resolveProvider"),(Wt=Bt||(e.CodeLensRefreshRequest=Bt={})).method="workspace/codeLens/refresh",Wt.messageDirection=a.MessageDirection.serverToClient,Wt.type=new a.ProtocolRequestType0(Wt.method),Wt.capabilities=a.CM.create("workspace.codeLens",void 0),(Yt=Ht||(e.DocumentLinkRequest=Ht={})).method="textDocument/documentLink",Yt.messageDirection=a.MessageDirection.clientToServer,Yt.type=new a.ProtocolRequestType(Yt.method),Yt.capabilities=a.CM.create("textDocument.documentLink","documentLinkProvider"),(Zt=Xt||(e.DocumentLinkResolveRequest=Xt={})).method="documentLink/resolve",Zt.messageDirection=a.MessageDirection.clientToServer,Zt.type=new a.ProtocolRequestType(Zt.method),Zt.capabilities=a.CM.create("textDocument.documentLink","documentLinkProvider.resolveProvider"),(Qt=Jt||(e.DocumentFormattingRequest=Jt={})).method="textDocument/formatting",Qt.messageDirection=a.MessageDirection.clientToServer,Qt.type=new a.ProtocolRequestType(Qt.method),Qt.capabilities=a.CM.create("textDocument.formatting","documentFormattingProvider"),(tr=er||(e.DocumentRangeFormattingRequest=er={})).method="textDocument/rangeFormatting",tr.messageDirection=a.MessageDirection.clientToServer,tr.type=new a.ProtocolRequestType(tr.method),tr.capabilities=a.CM.create("textDocument.rangeFormatting","documentRangeFormattingProvider"),(nr=rr||(e.DocumentRangesFormattingRequest=rr={})).method="textDocument/rangesFormatting",nr.messageDirection=a.MessageDirection.clientToServer,nr.type=new a.ProtocolRequestType(nr.method),nr.capabilities=a.CM.create("textDocument.rangeFormatting.rangesSupport","documentRangeFormattingProvider.rangesSupport"),(ir=ar||(e.DocumentOnTypeFormattingRequest=ar={})).method="textDocument/onTypeFormatting",ir.messageDirection=a.MessageDirection.clientToServer,ir.type=new a.ProtocolRequestType(ir.method),ir.capabilities=a.CM.create("textDocument.onTypeFormatting","documentOnTypeFormattingProvider"),(sr||(e.PrepareSupportDefaultBehavior=sr={})).Identifier=1,(lr=or||(e.RenameRequest=or={})).method="textDocument/rename",lr.messageDirection=a.MessageDirection.clientToServer,lr.type=new a.ProtocolRequestType(lr.method),lr.capabilities=a.CM.create("textDocument.rename","renameProvider"),(cr=ur||(e.PrepareRenameRequest=ur={})).method="textDocument/prepareRename",cr.messageDirection=a.MessageDirection.clientToServer,cr.type=new a.ProtocolRequestType(cr.method),cr.capabilities=a.CM.create("textDocument.rename.prepareSupport","renameProvider.prepareProvider"),(dr=pr||(e.ExecuteCommandRequest=pr={})).method="workspace/executeCommand",dr.messageDirection=a.MessageDirection.clientToServer,dr.type=new a.ProtocolRequestType(dr.method),dr.capabilities=a.CM.create("workspace.executeCommand","executeCommandProvider"),(mr=fr||(e.ApplyWorkspaceEditRequest=fr={})).method="workspace/applyEdit",mr.messageDirection=a.MessageDirection.serverToClient,mr.type=new a.ProtocolRequestType("workspace/applyEdit"),mr.capabilities=a.CM.create("workspace.applyEdit",void 0)}}),Lt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=r;var t=st();function r(e,r,n,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(e,r,n,a)}Ke(r,"createProtocolConnection")}}),Mt=qe({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:Ke(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}: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.LSPErrorCodes=e.createProtocolConnection=void 0,r(st(),e),r((ct(),Be(ot)),e),r(pt(),e),r(Dt(),e);var n,a,i=Lt();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:Ke(function(){return i.createProtocolConnection},"get")}),(a=n||(e.LSPErrorCodes=n={})).lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800}});function jt(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function Ft(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"ref"in e}function Gt(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"items"in e}function zt(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function Kt(e){return"object"==typeof e&&null!==e&&"object"==typeof e.info&&"string"==typeof e.message}Ke(jt,"isAstNode"),Ke(Ft,"isReference"),Ke(Gt,"isMultiReference"),Ke(zt,"isAstNodeDescription"),Ke(Kt,"isLinkingError");var qt=class{static{Ke(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const t=this.types[e.container.$type];if(!t)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=t.properties[e.property]?.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return jt(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const n=r[t];if(void 0!==n)return n;{const n=this.types[e],a=!!n&&n.superTypes.some(e=>this.isSubtype(e,t));return r[t]=a,a}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const t=this.getAllTypes(),r=[];for(const n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}isComplete(e){const t=this.getTypeMetaData(e.$type);for(const r of Object.keys(t.properties)){const n=t.properties[r];if(n.optional)continue;const a=e[n.name];if(null==a)return!1}return!0}};function Ut(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function Vt(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function Bt(e){return Ut(e)&&"string"==typeof e.fullText}Ke(Ut,"isCompositeCstNode"),Ke(Vt,"isLeafCstNode"),Ke(Bt,"isRootCstNode");var Wt=class e{static{Ke(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:Ke(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){const e=this.iterator();return Boolean(e.next().done)}count(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do{r=t.next(),void 0!==r.value&&e.push(r.value)}while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(r=>[e?e(r):r,t?t(r):r]);return new Map(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),!t.done)return t}while(!t.done);e.firstDone=!0}do{if(t=e.iterator.next(),!t.done)return t}while(!t.done);return Zt})}join(e=","){const t=this.iterator();let r,n="",a=!1;do{r=t.next(),r.done||(a&&(n+=e),n+=Ht(r.value)),a=!0}while(!r.done);return n}indexOf(e,t=0){const r=this.iterator();let n=0,a=r.next();for(;!a.done;){if(n>=t&&a.value===e)return n;a=r.next(),n++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(t){return new e(this.startFn,e=>{const{done:r,value:n}=this.nextFn(e);return r?Zt:{done:!1,value:t(n)}})}filter(t){return new e(this.startFn,e=>{let r;do{if(r=this.nextFn(e),!r.done&&t(r.value))return r}while(!r.done);return Zt})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){const r=this.iterator();let n=t,a=r.next();for(;!a.done;)n=void 0===n?a.value:e(n,a.value),a=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const n=e.next();if(n.done)return r;const a=this.recursiveReduce(e,t,r);return void 0===a?n.value:t(a,n.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return-1}includes(e){const t=this.iterator();let 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){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}const{done:r,value:n}=this.nextFn(e.this);if(!r){const r=t(n);if(!Yt(r))return{done:!1,value:r};e.iterator=r[Symbol.iterator]()}}while(e.iterator);return Zt})}flat(t){if(void 0===t&&(t=1),t<=0)return this;const r=t>1?this.flat(t-1):this;return new e(()=>({this:r.startFn()}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}const{done:t,value:n}=r.nextFn(e.this);if(!t){if(!Yt(n))return{done:!1,value:n};e.iterator=n[Symbol.iterator]()}}while(e.iterator);return Zt})}head(){const e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{const e=this.startFn();for(let r=0;r<t;r++){if(this.nextFn(e).done)return e}return e},this.nextFn)}limit(t){return new e(()=>({size:0,state:this.startFn()}),e=>(e.size++,e.size>t?Zt: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),!r.done){const n=t?t(r.value):r.value;if(!e.set.has(n))return e.set.add(n),r}}while(!r.done);return Zt})}exclude(e,t){const r=new Set;for(const n of e){const e=t?t(n):n;r.add(e)}return this.filter(e=>{const n=t?t(e):e;return!r.has(n)})}};function Ht(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function Yt(e){return!!e&&"function"==typeof e[Symbol.iterator]}Ke(Ht,"toString"),Ke(Yt,"isIterable");var Xt=new Wt(()=>{},()=>Zt),Zt=Object.freeze({done:!0,value:void 0});function Jt(...e){if(1===e.length){const t=e[0];if(t instanceof Wt)return t;if(Yt(t))return new Wt(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new Wt(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:Zt)}return e.length>1?new Wt(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){const 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){const r=e[t.collIndex++];Yt(r)?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length);return Zt}):Xt}Ke(Jt,"stream");var Qt,er=class extends Wt{static{Ke(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;){const 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 Zt})}iterator(){const e={state:this.startFn(),next:Ke(()=>this.nextFn(e.state),"next"),prune:Ke(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};function tr(e,t={}){for(const[r,n]of Object.entries(e))r.startsWith("$")||(Array.isArray(n)?n.forEach((n,a)=>{jt(n)&&(n.$container=e,n.$containerProperty=r,n.$containerIndex=a,t.deep&&tr(n,t))}):jt(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&tr(n,t)))}function rr(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function nr(e){const t=ar(e).$document;if(!t)throw new Error("AST node has no document.");return t}function ar(e){for(;e.$container;)e=e.$container;return e}function ir(e){return Ft(e)?e.ref?[e.ref]:[]:Gt(e)?e.items.map(e=>e.ref):[]}function sr(e,t){if(!e)throw new Error("Node must be an AstNode.");const r=t?.range;return new Wt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){const n=t.keys[t.keyIndex];if(!n.startsWith("$")){const a=e[n];if(jt(a)){if(t.keyIndex++,ur(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;t.arrayIndex<a.length;){const e=a[t.arrayIndex++];if(jt(e)&&ur(e,r))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return Zt})}function or(e,t){if(!e)throw new Error("Root node must be an AstNode.");return new er(e,e=>sr(e,t))}function lr(e,t){if(!e)throw new Error("Root node must be an AstNode.");return t?.range&&!ur(e,t.range)?new er(e,()=>[]):new er(e,e=>sr(e,t),{includeRoot:!0})}function ur(e,t){if(!t)return!0;const r=e.$cstNode?.range;return!!r&&Rs(r,t)}function cr(e){return new Wt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){const r=t.keys[t.keyIndex];if(!r.startsWith("$")){const n=e[r];if(Ft(n)||Gt(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){const a=t.arrayIndex++,i=n[a];if(Ft(i)||Gt(i))return{done:!1,value:{reference:i,container:e,property:r,index:a}}}t.arrayIndex=0}}t.keyIndex++}return Zt})}function pr(e,t){const r=e.getTypeMetaData(t.$type),n=t;for(const a of Object.values(r.properties))void 0!==a.defaultValue&&void 0===n[a.name]&&(n[a.name]=dr(a.defaultValue))}function dr(e){return Array.isArray(e)?[...e.map(dr)]: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 a(e){return e.reduce((e,t)=>Math.max(e,t))}Ke(t,"sum"),e.sum=t,Ke(r,"product"),e.product=r,Ke(n,"min"),e.min=n,Ke(a,"max"),e.max=a}(Qt||(Qt={})),Ke(tr,"linkContentToContainer"),Ke(rr,"getContainerOfType"),Ke(nr,"getDocument"),Ke(ar,"findRootNode"),Ke(ir,"getReferenceNodes"),Ke(sr,"streamContents"),Ke(or,"streamAllContents"),Ke(lr,"streamAst"),Ke(ur,"isAstNodeInRange"),Ke(cr,"streamReferences"),Ke(pr,"assignMandatoryProperties"),Ke(dr,"copyDefaultValue");var fr="AbstractElement",mr="cardinality";function hr(e){return fs.isInstance(e,fr)}Ke(hr,"isAbstractElement");var yr="AbstractParserRule";function gr(e){return fs.isInstance(e,yr)}Ke(gr,"isAbstractParserRule");var Tr="AbstractRule",vr="AbstractType",Rr="Action",$r="cardinality",Er="feature",Cr="inferredType",br="operator",Ar="type";function Sr(e){return fs.isInstance(e,Rr)}Ke(Sr,"isAction");var _r="Alternatives",xr="cardinality",kr="elements";function wr(e){return fs.isInstance(e,_r)}Ke(wr,"isAlternatives");var Nr="ArrayLiteral",Ir="elements",Or="ArrayType",Pr="elementType",Dr="Assignment",Lr="cardinality",Mr="feature",jr="operator",Fr="predicate",Gr="terminal";function zr(e){return fs.isInstance(e,Dr)}Ke(zr,"isAssignment");var Kr="BooleanLiteral",qr="true";function Ur(e){return fs.isInstance(e,Kr)}Ke(Ur,"isBooleanLiteral");var Vr="CharacterRange",Br="cardinality",Wr="left",Hr="lookahead",Yr="parenthesized",Xr="right";function Zr(e){return fs.isInstance(e,Vr)}Ke(Zr,"isCharacterRange");var Jr="Condition",Qr="Conjunction",en="left",tn="right";function rn(e){return fs.isInstance(e,Qr)}Ke(rn,"isConjunction");var nn="CrossReference",an="cardinality",sn="deprecatedSyntax",on="isMulti",ln="terminal",un="type";function cn(e){return fs.isInstance(e,nn)}Ke(cn,"isCrossReference");var pn="Disjunction",dn="left",fn="right";function mn(e){return fs.isInstance(e,pn)}Ke(mn,"isDisjunction");var hn="EndOfFile",yn="cardinality";function gn(e){return fs.isInstance(e,hn)}Ke(gn,"isEndOfFile");var Tn="Grammar",vn="imports",Rn="interfaces",$n="isDeclared",En="name",Cn="rules",bn="types",An="GrammarImport",Sn="path",_n="Group",xn="cardinality",kn="elements",wn="guardCondition",Nn="predicate";function In(e){return fs.isInstance(e,_n)}Ke(In,"isGroup");var On="InferredType",Pn="name";function Dn(e){return fs.isInstance(e,On)}Ke(Dn,"isInferredType");var Ln="InfixRule",Mn="call",jn="dataType",Fn="inferredType",Gn="name",zn="operators",Kn="parameters",qn="returnType";function Un(e){return fs.isInstance(e,Ln)}Ke(Un,"isInfixRule");var Vn="InfixRuleOperatorList",Bn="associativity",Wn="operators",Hn="InfixRuleOperators",Yn="precedences",Xn="Interface",Zn="attributes",Jn="name",Qn="superTypes";function ea(e){return fs.isInstance(e,Xn)}Ke(ea,"isInterface");var ta="Keyword",ra="cardinality",na="predicate",aa="value";function ia(e){return fs.isInstance(e,ta)}Ke(ia,"isKeyword");var sa="NamedArgument",oa="calledByName",la="parameter",ua="value",ca="NegatedToken",pa="cardinality",da="lookahead",fa="parenthesized",ma="terminal";function ha(e){return fs.isInstance(e,ca)}Ke(ha,"isNegatedToken");var ya="Negation",ga="value";function Ta(e){return fs.isInstance(e,ya)}Ke(Ta,"isNegation");var va="NumberLiteral",Ra="value",$a="Parameter",Ea="name",Ca="ParameterReference",ba="parameter";function Aa(e){return fs.isInstance(e,Ca)}Ke(Aa,"isParameterReference");var Sa="ParserRule",_a="dataType",xa="definition",ka="entry",wa="fragment",Na="inferredType",Ia="name",Oa="parameters",Pa="returnType";function Da(e){return fs.isInstance(e,Sa)}Ke(Da,"isParserRule");var La="ReferenceType",Ma="isMulti",ja="referenceType",Fa="RegexToken",Ga="cardinality",za="lookahead",Ka="parenthesized",qa="regex";function Ua(e){return fs.isInstance(e,Fa)}Ke(Ua,"isRegexToken");var Va="ReturnType",Ba="name";function Wa(e){return fs.isInstance(e,Va)}Ke(Wa,"isReturnType");var Ha="RuleCall",Ya="arguments",Xa="cardinality",Za="predicate",Ja="rule";function Qa(e){return fs.isInstance(e,Ha)}Ke(Qa,"isRuleCall");var ei="SimpleType",ti="primitiveType",ri="stringType",ni="typeRef";function ai(e){return fs.isInstance(e,ei)}Ke(ai,"isSimpleType");var ii="StringLiteral",si="value",oi="TerminalAlternatives",li="cardinality",ui="elements",ci="lookahead",pi="parenthesized";function di(e){return fs.isInstance(e,oi)}Ke(di,"isTerminalAlternatives");var fi="TerminalElement",mi="cardinality",hi="lookahead",yi="parenthesized",gi="TerminalGroup",Ti="cardinality",vi="elements",Ri="lookahead",$i="parenthesized";function Ei(e){return fs.isInstance(e,gi)}Ke(Ei,"isTerminalGroup");var Ci="TerminalRule",bi="definition",Ai="fragment",Si="hidden",_i="name",xi="type";function ki(e){return fs.isInstance(e,Ci)}Ke(ki,"isTerminalRule");var wi="TerminalRuleCall",Ni="cardinality",Ii="lookahead",Oi="parenthesized",Pi="rule";function Di(e){return fs.isInstance(e,wi)}Ke(Di,"isTerminalRuleCall");var Li="Type",Mi="name",ji="type";function Fi(e){return fs.isInstance(e,Li)}Ke(Fi,"isType");var Gi="TypeAttribute",zi="defaultValue",Ki="isOptional",qi="name",Ui="type",Vi="TypeDefinition",Bi="UnionType",Wi="types",Hi="UnorderedGroup",Yi="cardinality",Xi="elements";function Zi(e){return fs.isInstance(e,Hi)}Ke(Zi,"isUnorderedGroup");var Ji="UntilToken",Qi="cardinality",es="lookahead",ts="parenthesized",rs="terminal";function ns(e){return fs.isInstance(e,Ji)}Ke(ns,"isUntilToken");var as="ValueLiteral",is="Wildcard",ss="cardinality",os="lookahead",ls="parenthesized";function us(e){return fs.isInstance(e,is)}Ke(us,"isWildcard");var cs,ps,ds=class extends qt{static{Ke(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:fr,properties:{cardinality:{name:mr,optional:!0}},superTypes:[]},AbstractParserRule:{name:yr,properties:{},superTypes:[Tr,vr]},AbstractRule:{name:Tr,properties:{},superTypes:[]},AbstractType:{name:vr,properties:{},superTypes:[]},Action:{name:Rr,properties:{cardinality:{name:$r,optional:!0},feature:{name:Er,optional:!0},inferredType:{name:Cr,optional:!0},operator:{name:br,optional:!0},type:{name:Ar,referenceType:vr,optional:!0}},superTypes:[fr]},Alternatives:{name:_r,properties:{cardinality:{name:xr,optional:!0},elements:{name:kr,defaultValue:[]}},superTypes:[fr]},ArrayLiteral:{name:Nr,properties:{elements:{name:Ir,defaultValue:[]}},superTypes:[as]},ArrayType:{name:Or,properties:{elementType:{name:Pr}},superTypes:[Vi]},Assignment:{name:Dr,properties:{cardinality:{name:Lr,optional:!0},feature:{name:Mr},operator:{name:jr},predicate:{name:Fr,optional:!0},terminal:{name:Gr}},superTypes:[fr]},BooleanLiteral:{name:Kr,properties:{true:{name:qr,defaultValue:!1}},superTypes:[Jr,as]},CharacterRange:{name:Vr,properties:{cardinality:{name:Br,optional:!0},left:{name:Wr},lookahead:{name:Hr,optional:!0},parenthesized:{name:Yr,defaultValue:!1,optional:!0},right:{name:Xr,optional:!0}},superTypes:[fi]},Condition:{name:Jr,properties:{},superTypes:[]},Conjunction:{name:Qr,properties:{left:{name:en},right:{name:tn}},superTypes:[Jr]},CrossReference:{name:nn,properties:{cardinality:{name:an,optional:!0},deprecatedSyntax:{name:sn,defaultValue:!1},isMulti:{name:on,defaultValue:!1},terminal:{name:ln,optional:!0},type:{name:un,referenceType:vr}},superTypes:[fr]},Disjunction:{name:pn,properties:{left:{name:dn},right:{name:fn}},superTypes:[Jr]},EndOfFile:{name:hn,properties:{cardinality:{name:yn,optional:!0}},superTypes:[fr]},Grammar:{name:Tn,properties:{imports:{name:vn,defaultValue:[]},interfaces:{name:Rn,defaultValue:[]},isDeclared:{name:$n,defaultValue:!1},name:{name:En,optional:!0},rules:{name:Cn,defaultValue:[]},types:{name:bn,defaultValue:[]}},superTypes:[]},GrammarImport:{name:An,properties:{path:{name:Sn}},superTypes:[]},Group:{name:_n,properties:{cardinality:{name:xn,optional:!0},elements:{name:kn,defaultValue:[]},guardCondition:{name:wn,optional:!0},predicate:{name:Nn,optional:!0}},superTypes:[fr]},InferredType:{name:On,properties:{name:{name:Pn}},superTypes:[vr]},InfixRule:{name:Ln,properties:{call:{name:Mn},dataType:{name:jn,optional:!0},inferredType:{name:Fn,optional:!0},name:{name:Gn},operators:{name:zn},parameters:{name:Kn,defaultValue:[]},returnType:{name:qn,referenceType:vr,optional:!0}},superTypes:[yr]},InfixRuleOperatorList:{name:Vn,properties:{associativity:{name:Bn,optional:!0},operators:{name:Wn,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Hn,properties:{precedences:{name:Yn,defaultValue:[]}},superTypes:[]},Interface:{name:Xn,properties:{attributes:{name:Zn,defaultValue:[]},name:{name:Jn},superTypes:{name:Qn,defaultValue:[],referenceType:vr}},superTypes:[vr]},Keyword:{name:ta,properties:{cardinality:{name:ra,optional:!0},predicate:{name:na,optional:!0},value:{name:aa}},superTypes:[fr]},NamedArgument:{name:sa,properties:{calledByName:{name:oa,defaultValue:!1},parameter:{name:la,referenceType:$a,optional:!0},value:{name:ua}},superTypes:[]},NegatedToken:{name:ca,properties:{cardinality:{name:pa,optional:!0},lookahead:{name:da,optional:!0},parenthesized:{name:fa,defaultValue:!1,optional:!0},terminal:{name:ma}},superTypes:[fi]},Negation:{name:ya,properties:{value:{name:ga}},superTypes:[Jr]},NumberLiteral:{name:va,properties:{value:{name:Ra}},superTypes:[as]},Parameter:{name:$a,properties:{name:{name:Ea}},superTypes:[]},ParameterReference:{name:Ca,properties:{parameter:{name:ba,referenceType:$a}},superTypes:[Jr]},ParserRule:{name:Sa,properties:{dataType:{name:_a,optional:!0},definition:{name:xa},entry:{name:ka,defaultValue:!1},fragment:{name:wa,defaultValue:!1},inferredType:{name:Na,optional:!0},name:{name:Ia},parameters:{name:Oa,defaultValue:[]},returnType:{name:Pa,referenceType:vr,optional:!0}},superTypes:[yr]},ReferenceType:{name:La,properties:{isMulti:{name:Ma,defaultValue:!1},referenceType:{name:ja}},superTypes:[Vi]},RegexToken:{name:Fa,properties:{cardinality:{name:Ga,optional:!0},lookahead:{name:za,optional:!0},parenthesized:{name:Ka,defaultValue:!1,optional:!0},regex:{name:qa}},superTypes:[fi]},ReturnType:{name:Va,properties:{name:{name:Ba}},superTypes:[]},RuleCall:{name:Ha,properties:{arguments:{name:Ya,defaultValue:[]},cardinality:{name:Xa,optional:!0},predicate:{name:Za,optional:!0},rule:{name:Ja,referenceType:Tr}},superTypes:[fr]},SimpleType:{name:ei,properties:{primitiveType:{name:ti,optional:!0},stringType:{name:ri,optional:!0},typeRef:{name:ni,referenceType:vr,optional:!0}},superTypes:[Vi]},StringLiteral:{name:ii,properties:{value:{name:si}},superTypes:[as]},TerminalAlternatives:{name:oi,properties:{cardinality:{name:li,optional:!0},elements:{name:ui,defaultValue:[]},lookahead:{name:ci,optional:!0},parenthesized:{name:pi,defaultValue:!1,optional:!0}},superTypes:[fi]},TerminalElement:{name:fi,properties:{cardinality:{name:mi,optional:!0},lookahead:{name:hi,optional:!0},parenthesized:{name:yi,defaultValue:!1,optional:!0}},superTypes:[fr]},TerminalGroup:{name:gi,properties:{cardinality:{name:Ti,optional:!0},elements:{name:vi,defaultValue:[]},lookahead:{name:Ri,optional:!0},parenthesized:{name:$i,defaultValue:!1,optional:!0}},superTypes:[fi]},TerminalRule:{name:Ci,properties:{definition:{name:bi},fragment:{name:Ai,defaultValue:!1},hidden:{name:Si,defaultValue:!1},name:{name:_i},type:{name:xi,optional:!0}},superTypes:[Tr]},TerminalRuleCall:{name:wi,properties:{cardinality:{name:Ni,optional:!0},lookahead:{name:Ii,optional:!0},parenthesized:{name:Oi,defaultValue:!1,optional:!0},rule:{name:Pi,referenceType:Ci}},superTypes:[fi]},Type:{name:Li,properties:{name:{name:Mi},type:{name:ji}},superTypes:[vr]},TypeAttribute:{name:Gi,properties:{defaultValue:{name:zi,optional:!0},isOptional:{name:Ki,defaultValue:!1},name:{name:qi},type:{name:Ui}},superTypes:[]},TypeDefinition:{name:Vi,properties:{},superTypes:[]},UnionType:{name:Bi,properties:{types:{name:Wi,defaultValue:[]}},superTypes:[Vi]},UnorderedGroup:{name:Hi,properties:{cardinality:{name:Yi,optional:!0},elements:{name:Xi,defaultValue:[]}},superTypes:[fr]},UntilToken:{name:Ji,properties:{cardinality:{name:Qi,optional:!0},lookahead:{name:es,optional:!0},parenthesized:{name:ts,defaultValue:!1,optional:!0},terminal:{name:rs}},superTypes:[fi]},ValueLiteral:{name:as,properties:{},superTypes:[]},Wildcard:{name:is,properties:{cardinality:{name:ss,optional:!0},lookahead:{name:os,optional:!0},parenthesized:{name:ls,defaultValue:!1,optional:!0}},superTypes:[fi]}}}},fs=new ds;function ms(e){return new er(e,e=>Ut(e)?e.content:[],{includeRoot:!0})}function hs(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function ys(e){return{start:{line:e.startLine-1,character:e.startColumn-1},end:{line:e.endLine-1,character:e.endColumn}}}function gs(e){const{startOffset:t,endOffset:r}=e;return"number"==typeof t&&Number.isFinite(t)&&t>=0&&"number"==typeof r&&Number.isFinite(r)&&r>=t}function Ts(e){if(!e)return;const{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}function vs(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return cs.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return cs.After;const 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?cs.Inside:r?cs.OverlapBack:n?cs.OverlapFront:cs.Outside}function Rs(e,t){return vs(e,t)>cs.After}Ke(ms,"streamCst"),Ke(hs,"isChildNode"),Ke(ys,"tokenToRange"),Ke(gs,"isValidTokenRange"),Ke(Ts,"toDocumentSegment"),(ps=cs||(cs={}))[ps.Before=0]="Before",ps[ps.After=1]="After",ps[ps.OverlapFront=2]="OverlapFront",ps[ps.OverlapBack=3]="OverlapBack",ps[ps.Inside=4]="Inside",ps[ps.Outside=5]="Outside",Ke(vs,"compareRange"),Ke(Rs,"inRange");var $s=/^[\w\p{L}]$/u;function Es(e,t){if(e){const r=bs(e,!0);if(r&&Cs(r,t))return r;if(Bt(e)){for(let r=e.content.findIndex(e=>!e.hidden)-1;r>=0;r--){const n=e.content[r];if(Cs(n,t))return n}}}}function Cs(e,t){return Vt(e)&&t.includes(e.tokenType.name)}function bs(e,t=!0){for(;e.container;){const r=e.container;let n=r.content.indexOf(e);for(;n>0;){n--;const e=r.content[n];if(t||!e.hidden)return e}e=r}}Ke(Es,"findCommentNode"),Ke(Cs,"isCommentNode"),Ke(bs,"getPreviousNode");var As=class extends Error{static{Ke(this,"ErrorWithLocation")}constructor(e,t){const r="string"==typeof t?t:t();super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function Ss(e,t="Error: Got unexpected value."){throw new Error("string"==typeof t?t:t())}function _s(e){return e.charCodeAt(0)}function xs(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function ks(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function ws(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function Ns(){throw Error("Internal Error - Should never get here!")}function Is(e){return"Character"===e.type}Ke(Ss,"assertUnreachable"),Ke(_s,"cc"),Ke(xs,"insertToSet"),Ke(ks,"addFlag"),Ke(ws,"ASSERT_EXISTS"),Ke(Ns,"ASSERT_NEVER_REACH_HERE"),Ke(Is,"isCharacter");var Os=[];for(let jI=_s("0");jI<=_s("9");jI++)Os.push(jI);var Ps=[_s("_")].concat(Os);for(let jI=_s("a");jI<=_s("z");jI++)Ps.push(jI);for(let jI=_s("A");jI<=_s("Z");jI++)Ps.push(jI);var Ds=[_s(" "),_s("\f"),_s("\n"),_s("\r"),_s("\t"),_s("\v"),_s("\t"),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s(" "),_s("\u2028"),_s("\u2029"),_s(" "),_s(" "),_s(" "),_s("\ufeff")],Ls=/[0-9a-fA-F]/,Ms=/[0-9]/,js=/[1-9]/,Fs=class{static{Ke(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("/");const t=this.disjunction();this.consumeChar("/");const 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":ks(r,"global");break;case"i":ks(r,"ignoreCase");break;case"m":ks(r,"multiLine");break;case"u":ks(r,"unicode");break;case"y":ks(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(){const 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(){const 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(){const 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"}}ws(t);const r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return Ns()}quantifier(e=!1){let t;const 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"{":const r=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:r,atMost:r};break;case",":let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:r,atMost:e}):t={atLeast:r,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;ws(t)}if(!0!==e||void 0!==t)return ws(t)?("?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t):void 0}atom(){let e;const 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()}if(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),ws(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[_s("\n"),_s("\r"),_s("\u2028"),_s("\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=Os;break;case"D":e=Os,t=!0;break;case"s":e=Ds;break;case"S":e=Ds,t=!0;break;case"w":e=Ps;break;case"W":e=Ps,t=!0}if(ws(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=_s("\f");break;case"n":e=_s("\n");break;case"r":e=_s("\r");break;case"t":e=_s("\t");break;case"v":e=_s("\v")}if(ws(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const 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:_s("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:_s(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:_s(this.popChar())}}}characterClass(){const e=[];let t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){const t=this.classAtom();if(t.type,Is(t)&&this.isRangeDash()){this.consumeChar("-");const r=this.classAtom();if(r.type,Is(r)){if(r.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:r.value})}else xs(t.value,e),e.push(_s("-")),xs(r.value,e)}else xs(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:_s("\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;if(this.consumeChar("("),"?"===this.peekChar(0))this.consumeChar("?"),this.consumeChar(":"),e=!1;else this.groupIdx++;const t=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(!1===js.test(e))throw Error("Expecting a positive integer");for(;Ms.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===Ms.test(e))throw Error("Expecting an integer");for(;Ms.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const 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:_s(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 Ms.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(){const e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(t){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++){const e=this.popChar();if(!1===Ls.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(){const 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}}},Gs=class{static{Ke(this,"BaseRegExpVisitor")}visitChildren(e){for(const t in e){const 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){}},zs=/\r?\n/gm,Ks=new Fs,qs=new class extends Gs{static{Ke(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){const t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const e=Ws(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){const t=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(t);this.multiline=Boolean("\n".match(r))}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){if("Group"===e.type){if(e.quantifier)return}super.visitChildren(e)}};function Us(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),qs.reset(e),qs.visit(Ks.pattern(e)),qs.multiline}catch{return!1}}Ke(Us,"isMultilineComment");var Vs="\f\n\r\t\v              \u2028\u2029   \ufeff".split("");function Bs(e){const t="string"==typeof e?new RegExp(e):e;return Vs.some(e=>t.test(e))}function Ws(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Hs(e,t){const r=Ys(e),n=t.match(r);return!!n&&n[0].length>0}function Ys(e){"string"==typeof e&&(e=new RegExp(e));const t=e,r=e.source;let n=0;function a(){let e,i="";function s(e){i+=r.substr(n,e),n+=e}function o(e){i+="(?:"+r.substr(n,e)+"|$)",n+=e}for(Ke(s,"appendRaw"),Ke(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":t.unicode?"{"===r[n+2]?o(r.indexOf("}",n)-n+1):o(6):o(2);break;case"p":case"P":t.unicode?o(r.indexOf("}",n)-n+1):o(2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":e=/\[(?:\\.|.)*?\]/g,e.lastIndex=n,e=e.exec(r)||[],o(e[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":e=/\{\d+,?\d*\}/g,e.lastIndex=n,e=e.exec(r),e?s(e[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":i+="(?:",n+=3,i+=a()+"|$)";break;case"=":i+="(?=",n+=3,i+=a()+")";break;case"!":e=n,n+=3,a(),i+=r.substr(e,n-e);break;case"<":switch(r[n+3]){case"=":case"!":e=n,n+=4,a(),i+=r.substr(e,n-e);break;default:s(r.indexOf(">",n)-n+1),i+=a()+"|$)"}}else s(1),i+=a()+"|$)";break;case")":return++n,i;default:o(1)}return i}return Ke(a,"process"),new RegExp(a(),e.flags)}function Xs(e){return e.rules.find(e=>Da(e)&&e.entry)}function Zs(e){return e.rules.filter(e=>ki(e)&&e.hidden)}function Js(e,t){const r=new Set,n=Xs(e);if(!n)return new Set(e.rules);const a=[n].concat(Zs(e));for(const s of a)Qs(s,r,t);const i=new Set;for(const s of e.rules)(r.has(s.name)||ki(s)&&s.hidden)&&i.add(s);return i}function Qs(e,t,r){t.add(e.name),or(e).forEach(e=>{if(Qa(e)||r&&Di(e)){const n=e.rule.ref;n&&!t.has(n.name)&&Qs(n,t,r)}})}function eo(e){if(e.terminal)return e.terminal;if(e.type.ref){const t=lo(e.type.ref);return t?.terminal}}function to(e){return e.hidden&&!Bs(go(e))}function ro(e,t){return e&&t?ao(e,t,e.astNode,!0):[]}function no(e,t,r){if(!e||!t)return;const n=ao(e,t,e.astNode,!0);return 0!==n.length?n[r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0]:void 0}function ao(e,t,r,n){if(!n){const r=rr(e.grammarSource,zr);if(r&&r.feature===t)return[e]}return Ut(e)&&e.astNode===r?e.content.flatMap(e=>ao(e,t,r,!1)):[]}function io(e,t,r){if(!e)return;const n=so(e,t,e?.astNode);return 0!==n.length?n[r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0]:void 0}function so(e,t,r){if(e.astNode!==r)return[];if(ia(e.grammarSource)&&e.grammarSource.value===t)return[e];const n=ms(e).iterator();let a;const i=[];do{if(a=n.next(),!a.done){const e=a.value;e.astNode===r?ia(e.grammarSource)&&e.grammarSource.value===t&&i.push(e):n.prune()}}while(!a.done);return i}function oo(e){const t=e.astNode;for(;t===e.container?.astNode;){const t=rr(e.grammarSource,zr);if(t)return t;e=e.container}}function lo(e){let t=e;return Dn(t)&&(Sr(t.$container)?t=t.$container.$container:gr(t.$container)?t=t.$container:Ss(t.$container)),uo(e,t,new Map)}function uo(e,t,r){function n(t,n){let a;return rr(t,zr)||(a=uo(n,n,r)),r.set(e,a),a}if(Ke(n,"go"),r.has(e))return r.get(e);r.set(e,void 0);for(const a of or(t)){if(zr(a)&&"name"===a.feature.toLowerCase())return r.set(e,a),a;if(Qa(a)&&Da(a.rule.ref))return n(a,a.rule.ref);if(ai(a)&&a.typeRef?.ref)return n(a,a.typeRef.ref)}}function co(e){return po(e,new Set)}function po(e,t){if(t.has(e))return!0;t.add(e);for(const r of or(e))if(Qa(r)){if(!r.rule.ref)return!1;if(Da(r.rule.ref)&&!po(r.rule.ref,t))return!1;if(Un(r.rule.ref))return!1}else{if(zr(r))return!1;if(Sr(r))return!1}return Boolean(e.definition)}function fo(e){if(!ki(e)){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){const t=e.returnType.ref;if(t)return t.name}}}function mo(e){if(gr(e))return Da(e)&&co(e)?e.name:fo(e)??e.name;if(ea(e)||Fi(e)||Wa(e))return e.name;if(Sr(e)){const t=ho(e);if(t)return t}else if(Dn(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function ho(e){return e.inferredType?e.inferredType.name:e.type?.ref?mo(e.type.ref):void 0}function yo(e){return ki(e)?e.type?.name??"string":fo(e)??e.name}function go(e){const t={s:!1,i:!1,u:!1},r=vo(e.definition,t),n=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join("");return new RegExp(r,n)}Ke(Bs,"isWhitespace"),Ke(Ws,"escapeRegExp"),Ke(Hs,"partialMatches"),Ke(Ys,"partialRegExp"),Ke(Xs,"getEntryRule"),Ke(Zs,"getHiddenRules"),Ke(Js,"getAllReachableRules"),Ke(Qs,"ruleDfs"),Ke(eo,"getCrossReferenceTerminal"),Ke(to,"isCommentTerminal"),Ke(ro,"findNodesForProperty"),Ke(no,"findNodeForProperty"),Ke(ao,"findNodesForPropertyInternal"),Ke(io,"findNodeForKeyword"),Ke(so,"findNodesForKeywordInternal"),Ke(oo,"findAssignment"),Ke(lo,"findNameAssignment"),Ke(uo,"findNameAssignmentInternal"),Ke(co,"isDataTypeRule"),Ke(po,"isDataTypeRuleInternal"),Ke(fo,"getExplicitRuleType"),Ke(mo,"getTypeName"),Ke(ho,"getActionType"),Ke(yo,"getRuleType"),Ke(go,"terminalRegex");var To=/[\s\S]/.source;function vo(e,t){if(di(e))return Ro(e);if(Ei(e))return $o(e);if(Zr(e))return bo(e);if(Di(e)){const t=e.rule.ref;if(!t)throw new Error("Missing rule reference.");return So(vo(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}if(ha(e))return Co(e);if(ns(e))return Eo(e);if(Ua(e)){const r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),a=e.regex.substring(r+1);return t&&(t.i=a.includes("i"),t.s=a.includes("s"),t.u=a.includes("u")),So(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}if(us(e))return So(To,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});throw new Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}function Ro(e){return So(e.elements.map(e=>vo(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function $o(e){return So(e.elements.map(e=>vo(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function Eo(e){return So(`${To}*?${vo(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function Co(e){return So(`(?!${vo(e.terminal)})${To}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function bo(e){return e.right?So(`[${Ao(e.left)}-${Ao(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):So(Ao(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function Ao(e){return Ws(e.value)}function So(e,t){if(t.parenthesized||t.lookahead||!1!==t.wrap){e=`(${t.lookahead??(t.parenthesized?"":"?:")}${e})`}return t.cardinality?`${e}${t.cardinality}`:e}function _o(e){const t=[],r=e.Grammar;for(const n of r.rules)ki(n)&&to(n)&&Us(go(n))&&t.push(n.name);return{multilineCommentRules:t,nameRegexp:$s}}function xo(e){console&&console.error&&console.error(`Error: ${e}`)}function ko(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function wo(e){const t=(new Date).getTime(),r=e();return{time:(new Date).getTime()-t,value:r}}function No(e){function t(){}Ke(t,"FakeConstructor"),t.prototype=e;const r=new t;function n(){return typeof r.bar}return Ke(n,"fakeAccess"),n(),n(),e}function Io(e){return Oo(e)?e.LABEL:e.name}function Oo(e){return"string"==typeof e.LABEL&&""!==e.LABEL}Ke(vo,"abstractElementToRegex"),Ke(Ro,"terminalAlternativesToRegex"),Ke($o,"terminalGroupToRegex"),Ke(Eo,"untilTokenToRegex"),Ke(Co,"negateTokenToRegex"),Ke(bo,"characterRangeToRegex"),Ke(Ao,"keywordToRegex"),Ke(So,"withCardinality"),Ke(_o,"createGrammarConfig"),Ke(xo,"PRINT_ERROR"),Ke(ko,"PRINT_WARNING"),Ke(wo,"timer"),Ke(No,"toFastProperties"),Ke(Io,"tokenLabel"),Ke(Oo,"hasTokenLabel");var Po=class{static{Ke(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(t=>{t.accept(e)})}},Do=class extends Po{static{Ke(this,"NonTerminal")}constructor(e){super([]),this.idx=1,Object.assign(this,Wo(e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Lo=class extends Po{static{Ke(this,"Rule")}constructor(e){super(e.definition),this.orgText="",Object.assign(this,Wo(e))}},Mo=class extends Po{static{Ke(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,Wo(e))}},jo=class extends Po{static{Ke(this,"Option")}constructor(e){super(e.definition),this.idx=1,Object.assign(this,Wo(e))}},Fo=class extends Po{static{Ke(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,Object.assign(this,Wo(e))}},Go=class extends Po{static{Ke(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,Object.assign(this,Wo(e))}},zo=class extends Po{static{Ke(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,Object.assign(this,Wo(e))}},Ko=class extends Po{static{Ke(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,Object.assign(this,Wo(e))}},qo=class extends Po{static{Ke(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,Object.assign(this,Wo(e))}},Uo=class{static{Ke(this,"Terminal")}constructor(e){this.idx=1,Object.assign(this,Wo(e))}accept(e){e.visit(this)}};function Vo(e){return e.map(Bo)}function Bo(e){function t(e){return e.map(Bo)}if(Ke(t,"convertDefinition"),e instanceof Do){const t={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return"string"==typeof e.label&&(t.label=e.label),t}if(e instanceof Mo)return{type:"Alternative",definition:t(e.definition)};if(e instanceof jo)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof Fo)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof Go)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:Bo(new Uo({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof Ko)return{type:"RepetitionWithSeparator",idx:e.idx,separator:Bo(new Uo({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof zo)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof qo)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof Uo){const t={type:"Terminal",name:e.terminalType.name,label:Io(e.terminalType),idx:e.idx};"string"==typeof e.label&&(t.terminalLabel=e.label);const r=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=r instanceof RegExp?r.source:r),t}if(e instanceof Lo)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}function Wo(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}Ke(Vo,"serializeGrammar"),Ke(Bo,"serializeProduction"),Ke(Wo,"pickOnlyDefined");var Ho=class{static{Ke(this,"GAstVisitor")}visit(e){const t=e;switch(t.constructor){case Do:return this.visitNonTerminal(t);case Mo:return this.visitAlternative(t);case jo:return this.visitOption(t);case Fo:return this.visitRepetitionMandatory(t);case Go:return this.visitRepetitionMandatoryWithSeparator(t);case Ko:return this.visitRepetitionWithSeparator(t);case zo:return this.visitRepetition(t);case qo:return this.visitAlternation(t);case Uo:return this.visitTerminal(t);case Lo:return this.visitRule(t);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 Yo(e){return e instanceof Mo||e instanceof jo||e instanceof zo||e instanceof Fo||e instanceof Go||e instanceof Ko||e instanceof Uo||e instanceof Lo}function Xo(e,t=[]){return!!(e instanceof jo||e instanceof zo||e instanceof Ko)||(e instanceof qo?e.definition.some(e=>Xo(e,t)):!(e instanceof Do&&t.includes(e))&&(e instanceof Po&&(e instanceof Do&&t.push(e),e.definition.every(e=>Xo(e,t)))))}function Zo(e){return e instanceof qo}function Jo(e){if(e instanceof Do)return"SUBRULE";if(e instanceof jo)return"OPTION";if(e instanceof qo)return"OR";if(e instanceof Fo)return"AT_LEAST_ONE";if(e instanceof Go)return"AT_LEAST_ONE_SEP";if(e instanceof Ko)return"MANY_SEP";if(e instanceof zo)return"MANY";if(e instanceof Uo)return"CONSUME";throw Error("non exhaustive match")}Ke(Yo,"isSequenceProd"),Ke(Xo,"isOptionalProd"),Ke(Zo,"isBranchingProd"),Ke(Jo,"getProductionDslName");var Qo=class{static{Ke(this,"RestWalker")}walk(e,t=[]){e.definition.forEach((r,n)=>{const a=e.definition.slice(n+1);if(r instanceof Do)this.walkProdRef(r,a,t);else if(r instanceof Uo)this.walkTerminal(r,a,t);else if(r instanceof Mo)this.walkFlat(r,a,t);else if(r instanceof jo)this.walkOption(r,a,t);else if(r instanceof Fo)this.walkAtLeastOne(r,a,t);else if(r instanceof Go)this.walkAtLeastOneSep(r,a,t);else if(r instanceof Ko)this.walkManySep(r,a,t);else if(r instanceof zo)this.walkMany(r,a,t);else{if(!(r instanceof qo))throw Error("non exhaustive match");this.walkOr(r,a,t)}})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){const n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){const n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){const n=[new jo({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){const n=el(e,t,r);this.walk(e,n)}walkMany(e,t,r){const n=[new jo({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){const n=el(e,t,r);this.walk(e,n)}walkOr(e,t,r){const n=t.concat(r);e.definition.forEach(e=>{const t=new Mo({definition:[e]});this.walk(t,n)})}};function el(e,t,r){return[new jo({definition:[new Uo({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function tl(e){if(e instanceof Do)return tl(e.referencedRule);if(e instanceof Uo)return al(e);if(Yo(e))return rl(e);if(Zo(e))return nl(e);throw Error("non exhaustive match")}function rl(e){let t=[];const r=e.definition;let n,a=0,i=r.length>a,s=!0;for(;i&&s;)n=r[a],s=Xo(n),t=t.concat(tl(n)),a+=1,i=r.length>a;return[...new Set(t)]}function nl(e){const t=e.definition.map(e=>tl(e));return[...new Set(t.flat())]}function al(e){return[e.terminalType]}Ke(el,"restForRepetitionWithSeparator"),Ke(tl,"first"),Ke(rl,"firstForSequence"),Ke(nl,"firstForBranching"),Ke(al,"firstForTerminal");var il="_~IN~_",sl=class extends Qo{static{Ke(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){const n=ll(e.referencedRule,e.idx)+this.topProd.name,a=t.concat(r),i=tl(new Mo({definition:a}));this.follows[n]=i}};function ol(e){const t={};return e.forEach(e=>{const r=new sl(e).startWalking();Object.assign(t,r)}),t}function ll(e,t){return e.name+t+il}Ke(ol,"computeAllProdsFollows"),Ke(ll,"buildBetweenProdsFollowPrefix");var ul={},cl=new Fs;function pl(e){const t=e.toString();if(ul.hasOwnProperty(t))return ul[t];{const e=cl.pattern(t);return ul[t]=e,e}}function dl(){ul={}}Ke(pl,"getRegExpAst"),Ke(dl,"clearRegExpParserCache");var fl="Complement Sets are not supported for first char optimization",ml='Unable to use "first char" lexer optimizations:\n';function hl(e,t=!1){try{const t=pl(e);return yl(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===fl)t&&ko(`${ml}\tUnable to optimize: < ${e.toString()} >\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";t&&(r="\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),xo(`${ml}\n\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function yl(e,t,r){switch(e.type){case"Disjunction":for(let a=0;a<e.value.length;a++)yl(e.value[a],t,r);break;case"Alternative":const n=e.value;for(let e=0;e<n.length;e++){const a=n[e];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const i=a;switch(i.type){case"Character":gl(i.value,t,r);break;case"Set":if(!0===i.complement)throw Error(fl);i.value.forEach(e=>{if("number"==typeof e)gl(e,t,r);else{const n=e;if(!0===r)for(let e=n.from;e<=n.to;e++)gl(e,t,r);else{for(let e=n.from;e<=n.to&&e<tu;e++)gl(e,t,r);if(n.to>=tu){const e=n.from>=tu?n.from:tu,r=n.to,a=nu(e),i=nu(r);for(let n=a;n<=i;n++)t[n]=n}}}});break;case"Group":yl(i.value,t,r);break;default:throw Error("Non Exhaustive Match")}const s=void 0!==i.quantifier&&0===i.quantifier.atLeast;if("Group"===i.type&&!1===Rl(i)||"Group"!==i.type&&!1===s)break}break;default:throw Error("non exhaustive match!")}return Object.values(t)}function gl(e,t,r){const n=nu(e);t[n]=n,!0===r&&Tl(e,t)}function Tl(e,t){const r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){const e=nu(n.charCodeAt(0));t[e]=e}else{const e=r.toLowerCase();if(e!==r){const r=nu(e.charCodeAt(0));t[r]=r}}}function vl(e,t){return e.value.find(e=>{if("number"==typeof e)return t.includes(e);{const r=e;return void 0!==t.find(e=>r.from<=e&&e<=r.to)}})}function Rl(e){const t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&(Array.isArray(e.value)?e.value.every(Rl):Rl(e.value))}Ke(hl,"getOptimizedStartCodesIndices"),Ke(yl,"firstCharOptimizedIndices"),Ke(gl,"addOptimizedIdxToResult"),Ke(Tl,"handleIgnoreCase"),Ke(vl,"findCode"),Ke(Rl,"isWholeOptional");var $l=class extends Gs{static{Ke(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e);case"Lookbehind":return void this.visitLookbehind(e);case"NegativeLookbehind":return void this.visitNegativeLookbehind(e)}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===vl(e,this.targetCharCodes)&&(this.found=!0):void 0!==vl(e,this.targetCharCodes)&&(this.found=!0)}};function El(e,t){if(t instanceof RegExp){const r=pl(t),n=new $l(e);return n.visit(r),n.found}for(const r of t){const t=r.charCodeAt(0);if(e.includes(t))return!0}return!1}Ke(El,"canMatchCharCode");var Cl="PATTERN",bl="defaultMode",Al="modes";function Sl(e,t){const r=(t=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:Ke((e,t)=>t(),"tracer")},t)).tracer;let n;r("initCharCodeToOptimizedIndexMap",()=>{au()}),r("Reject Lexer.NA",()=>{n=e.filter(e=>e[Cl]!==bu.NA)});let a,i,s,o,l,u,c,p,d,f,m,h=!1;r("Transform Patterns",()=>{h=!1,a=n.map(e=>{const t=e[Cl];if(t instanceof RegExp){const e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(e[1])?Vl(t):e[1]:e}if("function"==typeof t)return h=!0,{exec:t};if("object"==typeof t)return h=!0,t;if("string"==typeof t){if(1===t.length)return t;{const e=t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&");return Vl(new RegExp(e))}}throw Error("non exhaustive match")})}),r("misc mapping",()=>{i=n.map(e=>e.tokenTypeIdx),s=n.map(e=>{const t=e.GROUP;if(t!==bu.SKIPPED){if("string"==typeof t)return t;if(void 0===t)return!1;throw Error("non exhaustive match")}}),o=n.map(e=>{const t=e.LONGER_ALT;if(t){return Array.isArray(t)?t.map(e=>n.indexOf(e)):[n.indexOf(t)]}}),l=n.map(e=>e.PUSH_MODE),u=n.map(e=>Object.hasOwn(e,"POP_MODE"))}),r("Line Terminator Handling",()=>{const e=Ql(t.lineTerminatorCharacters);c=n.map(e=>!1),"onlyOffset"!==t.positionTracking&&(c=n.map(t=>Object.hasOwn(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===Zl(t,e)&&El(e,t.PATTERN)))}),r("Misc Mapping #2",()=>{p=n.map(Hl),d=a.map(Yl),f=n.reduce((e,t)=>{const r=t.GROUP;return"string"==typeof r&&r!==bu.SKIPPED&&(e[r]=[]),e},{}),m=a.map((e,t)=>{const r=void 0===s[t]&&void 0===o[t]?_l(n[t].PATTERN):void 0;return{pattern:a[t],asciiClass:r,longerAlt:o[t],canLineTerminator:c[t],matchType:void 0!==r?3:!1!==d[t]?0:p[t]?1:2,short:d[t],group:s[t],push:l[t],pop:u[t],tokenTypeIdx:i[t],tokenType:n[t]}})});let y=!0,g=[];return t.safeMode||r("First Char Optimization",()=>{g=n.reduce((e,r,n)=>{if("string"==typeof r.PATTERN){const t=nu(r.PATTERN.charCodeAt(0));eu(e,t,m[n])}else if(Array.isArray(r.START_CHARS_HINT)){let t;r.START_CHARS_HINT.forEach(r=>{const a=nu("string"==typeof r?r.charCodeAt(0):r);t!==a&&(t=a,eu(e,a,m[n]))})}else if(r.PATTERN instanceof RegExp)if(r.PATTERN.unicode)y=!1,t.ensureOptimizations&&xo(`${ml}\tUnable to analyze < ${r.PATTERN.toString()} > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const a=hl(r.PATTERN,t.ensureOptimizations);0===a.length&&(y=!1),a.forEach(t=>{eu(e,t,m[n])})}else t.ensureOptimizations&&xo(`${ml}\tTokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return e},[])}),{emptyGroups:f,patternIdxToConfig:m,charCodeToPatternIdxToConfig:g,hasCustom:h,canBeOptimized:y}}function _l(e){var t,r;if(!(e instanceof RegExp)||""!==e.flags)return;let n;try{n=pl(e)}catch(o){return}if(1!==n.value.value.length||1!==n.value.value[0].value.length)return;let a,i=n.value.value[0].value[0];for(;"Group"===i.type;){if(i.capturing||void 0!==i.quantifier&&void 0!==a||1!==i.value.value.length||1!==i.value.value[0].value.length)return;a=null!==(t=i.quantifier)&&void 0!==t?t:a,i=i.value.value[0].value[0]}if("Set"!==i.type||i.complement||void 0!==i.quantifier&&void 0!==a)return;if(a=null!==(r=i.quantifier)&&void 0!==r?r:a,1!==(null==a?void 0:a.atLeast)||a.atMost!==1/0||!a.greedy)return;const s=new Uint8Array(128);for(const l of i.value){const e="number"==typeof l?l:l.from,t="number"==typeof l?l:l.to;if(e<0||t>=s.length)return;s.fill(1,e,t+1)}return s}function xl(e,t){let r=[];const n=wl(e);r=r.concat(n.errors);const a=Nl(n.valid),i=a.valid;return r=r.concat(a.errors),r=r.concat(kl(i)),r=r.concat(Fl(i)),r=r.concat(Gl(i,t)),r=r.concat(zl(i)),r}function kl(e){let t=[];const r=e.filter(e=>e[Cl]instanceof RegExp);return t=t.concat(Ol(r)),t=t.concat(Ll(r)),t=t.concat(Ml(r)),t=t.concat(jl(r)),t=t.concat(Pl(r)),t}function wl(e){const t=e.filter(e=>!Object.hasOwn(e,Cl));return{errors:t.map(e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:Ru.MISSING_PATTERN,tokenTypes:[e]})),valid:e.filter(e=>!t.includes(e))}}function Nl(e){const t=e.filter(e=>{const t=e[Cl];return!(t instanceof RegExp||"function"==typeof t||Object.hasOwn(t,"exec")||"string"==typeof t)});return{errors:t.map(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:Ru.INVALID_PATTERN,tokenTypes:[e]})),valid:e.filter(e=>!t.includes(e))}}Ke(Sl,"analyzeTokenTypes"),Ke(_l,"getAsciiClass"),Ke(xl,"validatePatterns"),Ke(kl,"validateRegExpPattern"),Ke(wl,"findMissingPatterns"),Ke(Nl,"findInvalidPatterns");var Il=/[^\\][$]/;function Ol(e){class t extends Gs{static{Ke(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return e.filter(e=>{const r=e.PATTERN;try{const e=pl(r),n=new t;return n.visit(e),n.found}catch(n){return Il.test(r.source)}}).map(e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:Ru.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function Pl(e){return e.filter(e=>e.PATTERN.test("")).map(e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:Ru.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}Ke(Ol,"findEndOfInputAnchor"),Ke(Pl,"findEmptyMatchRegExps");var Dl=/[^\\[][\^]|^\^/;function Ll(e){class t extends Gs{static{Ke(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return e.filter(e=>{const r=e.PATTERN;try{const e=pl(r),n=new t;return n.visit(e),n.found}catch(n){return Dl.test(r.source)}}).map(e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:Ru.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function Ml(e){return e.filter(e=>{const t=e[Cl];return t instanceof RegExp&&(t.multiline||t.global)}).map(e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ru.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function jl(e){const t=[];let r=e.map(r=>e.reduce((e,n)=>(r.PATTERN.source!==n.PATTERN.source||t.includes(n)||n.PATTERN===bu.NA||(t.push(n),e.push(n)),e),[]));r=r.filter(Boolean);return r.filter(e=>e.length>1).map(e=>{const t=e.map(e=>e.name);return{message:`The same RegExp pattern ->${e[0].PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:Ru.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function Fl(e){return e.filter(e=>{if(!Object.hasOwn(e,"GROUP"))return!1;const t=e.GROUP;return t!==bu.SKIPPED&&t!==bu.NA&&!("string"==typeof t)}).map(e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ru.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function Gl(e,t){return e.filter(e=>void 0!==e.PUSH_MODE&&!t.includes(e.PUSH_MODE)).map(e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:Ru.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function zl(e){const t=[],r=e.reduce((e,t,r)=>{const n=t.PATTERN;return n===bu.NA||("string"==typeof n?e.push({str:n,idx:r,tokenType:t}):n instanceof RegExp&&ql(n)&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return e.forEach((e,n)=>{r.forEach(({str:r,idx:a,tokenType:i})=>{if(n<a&&Kl(r,e.PATTERN)){const r=`Token: ->${i.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:r,type:Ru.UNREACHABLE_PATTERN,tokenTypes:[e,i]})}})}),t}function Kl(e,t){if(t instanceof RegExp){if(Ul(t))return!1;const r=t.exec(e);return null!==r&&0===r.index}if("function"==typeof t)return t(e,0,[],{});if(Object.hasOwn(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function ql(e){return void 0===[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(t=>-1!==e.source.indexOf(t))}function Ul(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}function Vl(e){const t=e.ignoreCase?"iy":"y";return new RegExp(`${e.source}`,t)}function Bl(e,t,r){const n=[];return Object.hasOwn(e,bl)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+bl+"> property in its definition\n",type:Ru.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(e,Al)||n.push({message:"A MultiMode Lexer cannot be initialized without a <modes> property in its definition\n",type:Ru.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(e,Al)&&Object.hasOwn(e,bl)&&!Object.hasOwn(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${bl}: <${e.defaultMode}>which does not exist\n`,type:Ru.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(e,Al)&&Object.keys(e.modes).forEach(t=>{const r=e.modes[t];r.forEach((e,a)=>{if(void 0===e)n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${a}>\n`,type:Ru.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Object.hasOwn(e,"LONGER_ALT")){(Array.isArray(e.LONGER_ALT)?e.LONGER_ALT:[e.LONGER_ALT]).forEach(a=>{void 0===a||r.includes(a)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${a.name}> on token <${e.name}> outside of mode <${t}>\n`,type:Ru.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function Wl(e,t,r){const n=[];let a=!1;const i=Object.values(e.modes||{}).flat().filter(Boolean).filter(e=>e[Cl]!==bu.NA),s=Ql(r);return t&&i.forEach(e=>{const t=Zl(e,s);if(!1!==t){const r={message:Jl(e,t),type:t.issue,tokenType:e};n.push(r)}else Object.hasOwn(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(a=!0):El(s,e.PATTERN)&&(a=!0)}),t&&!a&&n.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:Ru.NO_LINE_BREAKS_FLAGS}),n}function Hl(e){const t=e.PATTERN;if(t instanceof RegExp)return!1;if("function"==typeof t)return!0;if(Object.hasOwn(t,"exec"))return!0;if("string"==typeof t)return!1;throw Error("non exhaustive match")}function Yl(e){return"string"==typeof e&&1===e.length&&e.charCodeAt(0)}Ke(Ll,"findStartOfInputAnchor"),Ke(Ml,"findUnsupportedFlags"),Ke(jl,"findDuplicatePatterns"),Ke(Fl,"findInvalidGroupType"),Ke(Gl,"findModesThatDoNotExist"),Ke(zl,"findUnreachablePatterns"),Ke(Kl,"tryToMatchStrToPattern"),Ke(ql,"noMetaChar"),Ke(Ul,"usesLookAheadOrBehind"),Ke(Vl,"addStickyFlag"),Ke(Bl,"performRuntimeChecks"),Ke(Wl,"performWarningRuntimeChecks"),Ke(Hl,"isCustomPattern"),Ke(Yl,"isShortPattern");var Xl={test:Ke(function(e){const t=e.length;for(let r=this.lastIndex;r<t;r++){const 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 Zl(e,t){if(Object.hasOwn(e,"LINE_BREAKS"))return!1;if(e.PATTERN instanceof RegExp){try{El(t,e.PATTERN)}catch(r){return{issue:Ru.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}if("string"==typeof e.PATTERN)return!1;if(Hl(e))return{issue:Ru.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function Jl(e,t){if(t.issue===Ru.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===Ru.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n\tThe problem is in the <${e.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Ql(e){return e.map(e=>"string"==typeof e?e.charCodeAt(0):e)}function eu(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}Ke(Zl,"checkLineBreaksIssues"),Ke(Jl,"buildLineBreakIssueMessage"),Ke(Ql,"getCharCodes"),Ke(eu,"addToMapOfArrays");var tu=256,ru=[];function nu(e){return e<tu?e:ru[e]}function au(){if(0===ru.length){ru=new Array(65536);for(let e=0;e<65536;e++)ru[e]=e>255?255+~~(e/255):e}}function iu(e,t){const r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function su(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}Ke(nu,"charCodeToOptimizedIndex"),Ke(au,"initCharCodeToOptimizedIndexMap"),Ke(iu,"tokenStructuredMatcher"),Ke(su,"tokenStructuredMatcherNoCategories");var ou=1,lu={};function uu(e){const t=cu(e);pu(t),fu(t),du(t),t.forEach(e=>{e.isParent=e.categoryMatches.length>0})}function cu(e){let t=[...e],r=e,n=!0;for(;n;){r=r.map(e=>e.CATEGORIES).flat().filter(Boolean);const e=r.filter(e=>!t.includes(e));t=t.concat(e),0===e.length?n=!1:r=e}return t}function pu(e){e.forEach(e=>{hu(e)||(lu[ou]=e,e.tokenTypeIdx=ou++),yu(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),yu(e)||(e.CATEGORIES=[]),gu(e)||(e.categoryMatches=[]),Tu(e)||(e.categoryMatchesMap={})})}function du(e){e.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(t=>{e.categoryMatches.push(lu[t].tokenTypeIdx)})})}function fu(e){e.forEach(e=>{mu([],e)})}function mu(e,t){e.forEach(e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),t.CATEGORIES.forEach(r=>{const n=e.concat(t);n.includes(r)||mu(n,r)})}function hu(e){return Object.hasOwn(null!=e?e:{},"tokenTypeIdx")}function yu(e){return Object.hasOwn(null!=e?e:{},"CATEGORIES")}function gu(e){return Object.hasOwn(null!=e?e:{},"categoryMatches")}function Tu(e){return Object.hasOwn(null!=e?e:{},"categoryMatchesMap")}function vu(e){return Object.hasOwn(null!=e?e:{},"tokenTypeIdx")}Ke(uu,"augmentTokenTypes"),Ke(cu,"expandCategories"),Ke(pu,"assignTokenDefaultProps"),Ke(du,"assignCategoriesTokensProp"),Ke(fu,"assignCategoriesMapProp"),Ke(mu,"singleAssignCategoriesToksMap"),Ke(hu,"hasShortKeyProperty"),Ke(yu,"hasCategoriesProperty"),Ke(gu,"hasExtendingTokensTypesProperty"),Ke(Tu,"hasExtendingTokensTypesMapProperty"),Ke(vu,"isTokenType");var Ru,$u,Eu={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,a,i)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};($u=Ru||(Ru={}))[$u.MISSING_PATTERN=0]="MISSING_PATTERN",$u[$u.INVALID_PATTERN=1]="INVALID_PATTERN",$u[$u.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",$u[$u.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",$u[$u.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",$u[$u.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",$u[$u.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",$u[$u.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",$u[$u.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",$u[$u.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",$u[$u.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",$u[$u.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",$u[$u.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",$u[$u.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",$u[$u.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",$u[$u.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",$u[$u.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",$u[$u.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";var Cu={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Eu,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Cu);var bu=class{static{Ke(this,"Lexer")}constructor(e,t=Cu){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.cachedGroupKeys=[],this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0===this.traceInitPerf){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--\x3e <${e}>`);const{time:n,value:a}=wo(t),i=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&i(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,a}return t()},"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=Object.assign({},Cu,t);const 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===Cu.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Xl;else if(this.config.lineTerminatorCharacters===Cu.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor 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),Array.isArray(e)?r={modes:{defaultMode:[...e]},defaultMode:bl}:(n=!1,r=Object.assign({},e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Bl(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Wl(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes?r.modes:{},Object.entries(r.modes).forEach(([e,t])=>{r.modes[e]=t.filter(e=>void 0!==e)});const a=Object.keys(r.modes);if(Object.entries(r.modes).forEach(([e,r])=>{this.TRACE_INIT(`Mode: <${e}> processing`,()=>{if(this.modes.push(e),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(xl(r,a))}),0===this.lexerDefinitionErrors.length){let n;uu(r),this.TRACE_INIT("analyzeTokenTypes",()=>{n=Sl(r,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[e]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[e]=n.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[e]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,this.cachedGroupKeys=Object.keys(this.emptyGroups),this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const e=this.lexerDefinitionErrors.map(e=>e.message).join("-----------------------\n");throw new Error("Errors detected in definition of Lexer:\n"+e)}this.lexerDefinitionWarning.forEach(e=>{ko(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(n&&(this.handleModes=()=>{}),!1===this.trackStartLines&&(this.computeNewColumn=e=>e),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const e=Object.entries(this.canModeBeOptimized).reduce((e,[t,r])=>(!1===r&&e.push(t),e),[]);if(t.ensureOptimizations&&e.length>0)throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{dl()}),this.TRACE_INIT("toFastProperties",()=>{No(this)})})}tokenize(e,t=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const e=this.lexerDefinitionErrors.map(e=>e.message).join("-----------------------\n");throw new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+e)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,a,i,s,o,l,u,c,p,d,f,m,h,y;const g=e,T=g.length;let v=0,R=0;const $=this.hasCustom?0:Math.floor(e.length/10),E=new Array($),C=[];let b=this.trackStartLines?1:void 0,A=this.trackStartLines?1:void 0;const S={};for(let F=0;F<this.cachedGroupKeys.length;F++)S[this.cachedGroupKeys[F]]=[];const _=this.trackStartLines,x=this.config.lineTerminatorsPattern;let k=0,w=[],N=[];const I=[],O=[];Object.freeze(O);let P=!1;const D=Ke(e=>{if(1===I.length&&void 0===e.tokenType.PUSH_MODE){const t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);C.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{I.pop();const e=I.at(-1);w=this.patternIdxToConfig[e],N=this.charCodeToPatternIdxToConfig[e],k=w.length;const t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;P=!(!N||!t)}},"pop_mode");function L(e){I.push(e),N=this.charCodeToPatternIdxToConfig[e],w=this.patternIdxToConfig[e],k=w.length;const t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;P=!(!N||!t)}let M;Ke(L,"push_mode"),L.call(this,t);const j=this.config.recoveryEnabled;for(;v<T;){o=null,c=-1;const t=g.charCodeAt(v);let $;if(P){const e=nu(t),r=N[e];$=void 0!==r?r:O}else $=w;const F=$.length;for(r=0;r<F;r++){M=$[r];const n=M.pattern;switch(l=null,M.matchType){case 0:t===M.short&&(c=1,o=n);break;case 1:y=n.exec(g,v,E,S),null!==y?(o=y[0],c=o.length,void 0!==y.payload&&(l=y.payload)):o=null;break;case 3:{const e=M.asciiClass;if(1!==e[t]){n.lastIndex=0;break}let r=v+1;for(;1===e[g.charCodeAt(r)];)r++;c=r-v,n.lastIndex=r;break}case 2:n.lastIndex=v,c=this.matchLength(n,e,v)}if(-1!==c){if(s=M.longerAlt,void 0!==s){o=e.substring(v,v+c);const t=s.length;for(a=0;a<t;a++){const t=w[s[a]],r=t.pattern;if(u=null,1===t.matchType?(y=r.exec(g,v,E,S),null!==y?(i=y[0],void 0!==y.payload&&(u=y.payload)):i=null):(r.lastIndex=v,i=this.match(r,e,v)),i&&i.length>o.length){o=i,c=i.length,l=u,M=t;break}}}break}}if(-1!==c){if(p=M.group,void 0!==p&&(o=null!==o?o:e.substring(v,v+c),d=M.tokenTypeIdx,f=this.createTokenInstance(o,v,d,M.tokenType,b,A,c),this.handlePayload(f,l),!1===p?R=this.addToken(E,R,f):S[p].push(f)),!0===_&&!0===M.canLineTerminator){let t,r,n=0;x.lastIndex=0;do{o=null!==o?o:e.substring(v,v+c),t=x.test(o),!0===t&&(r=x.lastIndex-1,n++)}while(!0===t);0!==n?(b+=n,A=c-r,this.updateTokenEndLineColumnLocation(f,p,r,n,b,A,c)):A=this.computeNewColumn(A,c)}else A=this.computeNewColumn(A,c);v+=c,this.handleModes(M,D,L,f)}else{const t=v,r=b,a=A;let i=!1===j;for(;!1===i&&v<T;)for(v++,n=0;n<k;n++){const t=w[n],r=t.pattern;switch(t.matchType){case 0:g.charCodeAt(v)===t.short&&(i=!0);break;case 1:i=null!==r.exec(g,v,E,S);break;case 3:case 2:r.lastIndex=v,i=null!==r.exec(e)}if(!0===i)break}if(m=v-t,A=this.computeNewColumn(A,m),h=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(g,t,m,r,a,I.at(-1)),C.push({offset:t,line:r,column:a,length:m,message:h}),!1===j)break}}return this.hasCustom||(E.length=R),{tokens:E,groups:S,errors:C}}handleModes(e,t,r,n){if(!0===e.pop){const a=e.push;t(n),void 0!==a&&r.call(this,a)}else void 0!==e.push&&r.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,r,n,a,i,s){let o,l;void 0!==t&&(o=r===s-1,l=o?-1:0,1===n&&!0===o||(e.endLine=a+l,e.endColumn=i-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,a,i){return{image:e,startOffset:t,startLine:a,startColumn:i,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,a,i,s){return{image:e,startOffset:t,endOffset:t+s-1,startLine:a,endLine:a,startColumn:i,endColumn:i+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 Au(e){return Su(e)?e.LABEL:e.name}function Su(e){return"string"==typeof e.LABEL&&""!==e.LABEL}bu.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.",bu.NA=/NOT_APPLICABLE/,Ke(Au,"tokenLabel"),Ke(Su,"hasTokenLabel");var _u="categories",xu="label",ku="group",wu="push_mode",Nu="pop_mode",Iu="longer_alt",Ou="line_breaks",Pu="start_chars_hint";function Du(e){return Lu(e)}function Lu(e){const t=e.pattern,r={};if(r.name=e.name,void 0!==t&&(r.PATTERN=t),Object.hasOwn(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return Object.hasOwn(e,_u)&&(r.CATEGORIES=e[_u]),uu([r]),Object.hasOwn(e,xu)&&(r.LABEL=e[xu]),Object.hasOwn(e,ku)&&(r.GROUP=e[ku]),Object.hasOwn(e,Nu)&&(r.POP_MODE=e[Nu]),Object.hasOwn(e,wu)&&(r.PUSH_MODE=e[wu]),Object.hasOwn(e,Iu)&&(r.LONGER_ALT=e[Iu]),Object.hasOwn(e,Ou)&&(r.LINE_BREAKS=e[Ou]),Object.hasOwn(e,Pu)&&(r.START_CHARS_HINT=e[Pu]),r}Ke(Du,"createToken"),Ke(Lu,"createTokenInternal");var Mu=Du({name:"EOF",pattern:bu.NA});function ju(e,t,r,n,a,i,s,o){return{image:t,startOffset:r,endOffset:n,startLine:a,endLine:i,startColumn:s,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function Fu(e,t){return iu(e,t)}uu([Mu]),Ke(ju,"createTokenInstance"),Ke(Fu,"tokenMatcher");var Gu={buildMismatchTokenMessage:({expected:e,actual:t,previous:r,ruleName:n})=>`Expecting ${Su(e)?`--\x3e ${Au(e)} <--`:`token of type --\x3e ${e.name} <--`} but found --\x3e '${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:a}){const i="Expecting: ",s="\nbut found: '"+t[0].image+"'";if(n)return i+n+s;return i+`one of these possible Token sequences:\n${e.reduce((e,t)=>e.concat(t),[]).map(e=>`[${e.map(e=>Au(e)).join(", ")}]`).map((e,t)=>` ${t+1}. ${e}`).join("\n")}`+s},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){const a="Expecting: ",i="\nbut found: '"+t[0].image+"'";if(r)return a+r+i;return a+`expecting at least one iteration which starts with one of these possible Token sequences::\n <${e.map(e=>`[${e.map(e=>Au(e)).join(",")}]`).join(" ,")}>`+i}};Object.freeze(Gu);var zu={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},Ku={buildDuplicateFoundError(e,t){function r(e){return e instanceof Uo?e.terminalType.name:e instanceof Do?e.nonTerminalName:""}Ke(r,"getExtraProductionArgument");const n=e.name,a=t[0],i=a.idx,s=Jo(a),o=r(a);let l=`->${s}${i>0?i:""}<- ${o?`with argument: ->${o}<-`:""}\n appears more than once (${t.length} times) in the top level rule: ->${n}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,"\n"),l},buildNamespaceConflictError:e=>`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){const t=e.prefixPath.map(e=>Au(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix\nin <OR${r}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(e){const t=0===e.alternation.idx?"":e.alternation.idx,r=0===e.prefixPath.length;let n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${e.topLevelRule.name}> Rule,\n`;if(r)n+="These alternatives are all empty (match no tokens), making them indistinguishable.\nOnly the last alternative may be empty.\n";else{n+=`<${e.prefixPath.map(e=>Au(e)).join(", ")}> may appears as a prefix path in all these alternatives.\n`}return n+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",n},buildEmptyRepetitionError(e){let t=Jo(e.repetition);0!==e.repetition.idx&&(t+=e.repetition.idx);return`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives:\n<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\n has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){const t=e.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${t}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${`${t} --\x3e ${e.leftRecursionPath.map(e=>e.name).concat([t]).join(" --\x3e ")}`}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;t=e.topLevelRule instanceof Lo?e.topLevelRule.name:e.topLevelRule;return`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function qu(e,t){const r=new Bu(e,t);return r.resolveRefs(),r.errors}Ke(qu,"resolveGrammar");var Uu,Vu,Bu=class extends Ho{static{Ke(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{const t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:Gp.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},Wu=class extends Qo{static{Ke(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=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){0===this.ruleStack.length?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Hu=class extends Wu{static{Ke(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){const e=t.concat(r),n=new Mo({definition:e});this.possibleTokTypes=tl(n),this.found=!0}}},Yu=class extends Qo{static{Ke(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}},Xu=class extends Yu{static{Ke(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){const e=t.concat(r)[0];this.result.isEndOfRule=void 0===e,e instanceof Uo&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}},Zu=class extends Yu{static{Ke(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){const e=t.concat(r)[0];this.result.isEndOfRule=void 0===e,e instanceof Uo&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}},Ju=class extends Yu{static{Ke(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){const e=t.concat(r)[0];this.result.isEndOfRule=void 0===e,e instanceof Uo&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}},Qu=class extends Yu{static{Ke(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){const e=t.concat(r)[0];this.result.isEndOfRule=void 0===e,e instanceof Uo&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}};function ec(e,t,r=[]){r=[...r];let n=[],a=0;function i(t){return t.concat(e.slice(a+1))}function s(e){const a=ec(i(e),t,r);return n.concat(a)}for(Ke(i,"remainingPathWith"),Ke(s,"getAlternativesForProd");r.length<t&&a<e.length;){const t=e[a];if(t instanceof Mo)return s(t.definition);if(t instanceof Do)return s(t.definition);if(t instanceof jo)n=s(t.definition);else{if(t instanceof Fo){return s(t.definition.concat([new zo({definition:t.definition})]))}if(t instanceof Go){return s([new Mo({definition:t.definition}),new zo({definition:[new Uo({terminalType:t.separator})].concat(t.definition)})])}if(t instanceof Ko){const e=t.definition.concat([new zo({definition:[new Uo({terminalType:t.separator})].concat(t.definition)})]);n=s(e)}else if(t instanceof zo){const e=t.definition.concat([new zo({definition:t.definition})]);n=s(e)}else{if(t instanceof qo)return t.definition.forEach(e=>{0!==e.definition.length&&(n=s(e.definition))}),n;if(!(t instanceof Uo))throw Error("non exhaustive match");r.push(t.terminalType)}}a++}return n.push({partialPath:r,suffixDef:e.slice(a)}),n}function tc(e,t,r,n){const a="EXIT_NONE_TERMINAL",i=[a],s="EXIT_ALTERNATIVE";let o=!1;const l=t.length,u=l-n-1,c=[],p=[];for(p.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});0!==p.length;){const e=p.pop();if(e===s){o&&p.at(-1).idx<=u&&p.pop();continue}const n=e.def,d=e.idx,f=e.ruleStack,m=e.occurrenceStack;if(0===n.length)continue;const h=n[0];if(h===a){const e={idx:d,def:n.slice(1),ruleStack:f.slice(0,-1),occurrenceStack:m.slice(0,-1)};p.push(e)}else if(h instanceof Uo)if(d<l-1){const e=d+1;if(r(t[e],h.terminalType)){const t={idx:e,def:n.slice(1),ruleStack:f,occurrenceStack:m};p.push(t)}}else{if(d!==l-1)throw Error("non exhaustive match");c.push({nextTokenType:h.terminalType,nextTokenOccurrence:h.idx,ruleStack:f,occurrenceStack:m}),o=!0}else if(h instanceof Do){const e=[...f];e.push(h.nonTerminalName);const t=[...m];t.push(h.idx);const r={idx:d,def:h.definition.concat(i,n.slice(1)),ruleStack:e,occurrenceStack:t};p.push(r)}else if(h instanceof jo){const e={idx:d,def:n.slice(1),ruleStack:f,occurrenceStack:m};p.push(e),p.push(s);const t={idx:d,def:h.definition.concat(n.slice(1)),ruleStack:f,occurrenceStack:m};p.push(t)}else if(h instanceof Fo){const e=new zo({definition:h.definition,idx:h.idx}),t={idx:d,def:h.definition.concat([e],n.slice(1)),ruleStack:f,occurrenceStack:m};p.push(t)}else if(h instanceof Go){const e=new Uo({terminalType:h.separator}),t=new zo({definition:[e].concat(h.definition),idx:h.idx}),r={idx:d,def:h.definition.concat([t],n.slice(1)),ruleStack:f,occurrenceStack:m};p.push(r)}else if(h instanceof Ko){const e={idx:d,def:n.slice(1),ruleStack:f,occurrenceStack:m};p.push(e),p.push(s);const t=new Uo({terminalType:h.separator}),r=new zo({definition:[t].concat(h.definition),idx:h.idx}),a={idx:d,def:h.definition.concat([r],n.slice(1)),ruleStack:f,occurrenceStack:m};p.push(a)}else if(h instanceof zo){const e={idx:d,def:n.slice(1),ruleStack:f,occurrenceStack:m};p.push(e),p.push(s);const t=new zo({definition:h.definition,idx:h.idx}),r={idx:d,def:h.definition.concat([t],n.slice(1)),ruleStack:f,occurrenceStack:m};p.push(r)}else if(h instanceof qo)for(let t=h.definition.length-1;t>=0;t--){const e={idx:d,def:h.definition[t].definition.concat(n.slice(1)),ruleStack:f,occurrenceStack:m};p.push(e),p.push(s)}else if(h instanceof Mo)p.push({idx:d,def:h.definition.concat(n.slice(1)),ruleStack:f,occurrenceStack:m});else{if(!(h instanceof Lo))throw Error("non exhaustive match");p.push(rc(h,d,f,m))}}return c}function rc(e,t,r,n){const a=[...r];a.push(e.name);const i=[...n];return i.push(1),{idx:t,def:e.definition,ruleStack:a,occurrenceStack:i}}function nc(e){if(e instanceof jo||"Option"===e)return Uu.OPTION;if(e instanceof zo||"Repetition"===e)return Uu.REPETITION;if(e instanceof Fo||"RepetitionMandatory"===e)return Uu.REPETITION_MANDATORY;if(e instanceof Go||"RepetitionMandatoryWithSeparator"===e)return Uu.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof Ko||"RepetitionWithSeparator"===e)return Uu.REPETITION_WITH_SEPARATOR;if(e instanceof qo||"Alternation"===e)return Uu.ALTERNATION;throw Error("non exhaustive match")}function ac(e){const{occurrence:t,rule:r,prodType:n,maxLookahead:a}=e,i=nc(n);return i===Uu.ALTERNATION?hc(t,r,a):yc(t,r,i,a)}function ic(e,t,r,n,a,i){const s=hc(e,t,r);return i(s,n,vc(s)?su:iu,a)}function sc(e,t,r,n,a,i){const s=yc(e,t,a,r),o=vc(s)?su:iu;return i(s[0],o,n)}function oc(e,t,r,n){const a=e.length,i=e.every(e=>e.every(e=>1===e.length));if(t)return function(t){const n=t.map(e=>e.GATE);for(let i=0;i<a;i++){const t=e[i],a=t.length,s=n[i];if(void 0===s||!1!==s.call(this))e:for(let e=0;e<a;e++){const n=t[e],a=n.length;for(let e=0;e<a;e++){const t=this.LA_FAST(e+1);if(!1===r(t,n[e]))continue e}return i}}};if(i&&!n){const t=e.map(e=>e.flat()).reduce((e,t,r)=>(t.forEach(t=>{t.tokenTypeIdx in e||(e[t.tokenTypeIdx]=r),t.categoryMatches.forEach(t=>{Object.hasOwn(e,t)||(e[t]=r)})}),e),{});return function(){const e=this.LA_FAST(1);return t[e.tokenTypeIdx]}}return function(){for(let t=0;t<a;t++){const n=e[t],a=n.length;e:for(let e=0;e<a;e++){const a=n[e],i=a.length;for(let e=0;e<i;e++){const t=this.LA_FAST(e+1);if(!1===r(t,a[e]))continue e}return t}}}}function lc(e,t,r){const n=e.every(e=>1===e.length),a=e.length;if(n&&!r){const t=e.flat();if(1===t.length&&0===t[0].categoryMatches.length){const e=t[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===e}}{const e=t.reduce((e,t,r)=>(e[t.tokenTypeIdx]=!0,t.categoryMatches.forEach(t=>{e[t]=!0}),e),[]);return function(){const t=this.LA_FAST(1);return!0===e[t.tokenTypeIdx]}}}return function(){e:for(let r=0;r<a;r++){const n=e[r],a=n.length;for(let e=0;e<a;e++){const r=this.LA_FAST(e+1);if(!1===t(r,n[e]))continue e}return!0}return!1}}Ke(ec,"possiblePathsFrom"),Ke(tc,"nextPossibleTokensAfter"),Ke(rc,"expandTopLevelRule"),(Vu=Uu||(Uu={}))[Vu.OPTION=0]="OPTION",Vu[Vu.REPETITION=1]="REPETITION",Vu[Vu.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",Vu[Vu.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",Vu[Vu.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",Vu[Vu.ALTERNATION=5]="ALTERNATION",Ke(nc,"getProdType"),Ke(ac,"getLookaheadPaths"),Ke(ic,"buildLookaheadFuncForOr"),Ke(sc,"buildLookaheadFuncForOptionalProd"),Ke(oc,"buildAlternativesLookAheadFunc"),Ke(lc,"buildSingleAlternativeLookaheadFunction");var uc=class extends Qo{static{Ke(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,Uu.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,Uu.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,Uu.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,Uu.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,Uu.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},cc=class extends Ho{static{Ke(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,Uu.OPTION)}visitRepetition(e){this.checkIsTarget(e,Uu.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Uu.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Uu.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Uu.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Uu.ALTERNATION)}};function pc(e){const t=new Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function dc(e){let t=[""];for(let r=0;r<e.length;r++){const n=e[r],a=[];for(let e=0;e<t.length;e++){const r=t[e];a.push(r+"_"+n.tokenTypeIdx);for(let e=0;e<n.categoryMatches.length;e++){const t="_"+n.categoryMatches[e];a.push(r+t)}}t=a}return t}function fc(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;const a=e[n];for(let e=0;e<t.length;e++){if(!0===a[t[e]])return!1}}return!0}function mc(e,t){const r=e.map(e=>ec([e],1)),n=pc(r.length),a=r.map(e=>{const t={};return e.forEach(e=>{dc(e.partialPath).forEach(e=>{t[e]=!0})}),t});let i=r;for(let s=1;s<=t;s++){const e=i;i=pc(e.length);for(let r=0;r<e.length;r++){const o=e[r];for(let e=0;e<o.length;e++){const l=o[e].partialPath,u=o[e].suffixDef,c=dc(l);if(fc(a,c,r)||0===u.length||l.length===t){const e=n[r];if(!1===gc(e,l)){e.push(l);for(let e=0;e<c.length;e++){const t=c[e];a[r][t]=!0}}}else{const e=ec(u,s+1,l);i[r]=i[r].concat(e),e.forEach(e=>{dc(e.partialPath).forEach(e=>{a[r][e]=!0})})}}}}return n}function hc(e,t,r,n){const a=new cc(e,Uu.ALTERNATION,n);return t.accept(a),mc(a.result,r)}function yc(e,t,r,n){const a=new cc(e,r);t.accept(a);const i=a.result,s=new uc(t,e,r).startWalking();return mc([new Mo({definition:i}),new Mo({definition:s})],n)}function gc(e,t){e:for(let r=0;r<e.length;r++){const n=e[r];if(n.length===t.length){for(let e=0;e<n.length;e++){const r=t[e],a=n[e];if(!1===(r===a||void 0!==a.categoryMatchesMap[r.tokenTypeIdx]))continue e}return!0}}return!1}function Tc(e,t){return e.length<t.length&&e.every((e,r)=>{const n=t[r];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]})}function vc(e){return e.every(e=>e.every(e=>e.every(e=>0===e.categoryMatches.length)))}function Rc(e){return e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}).map(e=>Object.assign({type:Gp.CUSTOM_LOOKAHEAD_VALIDATION},e))}function $c(e,t,r,n){const a=e.flatMap(e=>Ec(e,r)),i=jc(e,t,r),s=e.flatMap(e=>Pc(e,r)),o=e.flatMap(t=>Sc(t,e,n,r));return a.concat(i,s,o)}function Ec(e,t){const r=new Ac;e.accept(r);const n=r.allProductions,a=Object.groupBy(n,Cc),i=Object.fromEntries(Object.entries(a).filter(([e,t])=>t.length>1));return Object.values(i).map(r=>{const n=r[0],a=t.buildDuplicateFoundError(e,r),i=Jo(n),s={message:a,type:Gp.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:i,occurrence:n.idx},o=bc(n);return o&&(s.parameter=o),s})}function Cc(e){return`${Jo(e)}_#_${e.idx}_#_${bc(e)}`}function bc(e){return e instanceof Uo?e.terminalType.name:e instanceof Do?e.nonTerminalName:""}Ke(pc,"initializeArrayOfArrays"),Ke(dc,"pathToHashKeys"),Ke(fc,"isUniquePrefixHash"),Ke(mc,"lookAheadSequenceFromAlternatives"),Ke(hc,"getLookaheadPathsForOr"),Ke(yc,"getLookaheadPathsForOptionalProd"),Ke(gc,"containsPath"),Ke(Tc,"isStrictPrefixOfPath"),Ke(vc,"areTokenCategoriesNotUsed"),Ke(Rc,"validateLookahead"),Ke($c,"validateGrammar"),Ke(Ec,"validateDuplicateProductions"),Ke(Cc,"identifyProductionForDuplicates"),Ke(bc,"getExtraProductionArgument");var Ac=class extends Ho{static{Ke(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 Sc(e,t,r,n){const a=[];if(t.reduce((t,r)=>r.name===e.name?t+1:t,0)>1){const t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});a.push({message:t,type:Gp.DUPLICATE_RULE_NAME,ruleName:e.name})}return a}function _c(e,t,r){const n=[];let a;return t.includes(e)||(a=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:a,type:Gp.INVALID_RULE_OVERRIDE,ruleName:e})),n}function xc(e,t,r,n=[]){const a=[],i=kc(t.definition);if(0===i.length)return[];{const t=e.name;i.includes(e)&&a.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:Gp.LEFT_RECURSION,ruleName:t});const s=n.concat([e]),o=i.filter(e=>!s.includes(e)).flatMap(t=>{const a=[...n];return a.push(t),xc(e,t,r,a)});return a.concat(o)}}function kc(e){let t=[];if(0===e.length)return t;const r=e[0];if(r instanceof Do)t.push(r.referencedRule);else if(r instanceof Mo||r instanceof jo||r instanceof Fo||r instanceof Go||r instanceof Ko||r instanceof zo)t=t.concat(kc(r.definition));else if(r instanceof qo)t=r.definition.map(e=>kc(e.definition)).flat();else if(!(r instanceof Uo))throw Error("non exhaustive match");const n=Xo(r),a=e.length>1;if(n&&a){const r=e.slice(1);return t.concat(kc(r))}return t}Ke(Sc,"validateRuleDoesNotAlreadyExist"),Ke(_c,"validateRuleIsOverridden"),Ke(xc,"validateNoLeftRecursion"),Ke(kc,"getFirstNoneTerminal");var wc=class extends Ho{static{Ke(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function Nc(e,t){const r=new wc;e.accept(r);return r.alternations.flatMap(r=>r.definition.slice(0,-1).flatMap((n,a)=>0===tc([n],[],iu,1).length?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:a}),type:Gp.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:a+1}]:[]))}function Ic(e,t,r){const n=new wc;e.accept(n);let a=n.alternations;a=a.filter(e=>!0!==e.ignoreAmbiguities);return a.flatMap(n=>{const a=n.idx,i=n.maxLookahead||t,s=hc(a,e,i,n),o=Lc(s,n,e,r),l=Mc(s,n,e,r);return o.concat(l)})}Ke(Nc,"validateEmptyOrAlternative"),Ke(Ic,"validateAmbiguousAlternationAlternatives");var Oc=class extends Ho{static{Ke(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 Pc(e,t){const r=new wc;e.accept(r);return r.alternations.flatMap(r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:Gp.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])}function Dc(e,t,r){const n=[];return e.forEach(e=>{const a=new Oc;e.accept(a);a.allProductions.forEach(a=>{const i=nc(a),s=a.maxLookahead||t;if(0===yc(a.idx,e,i,s)[0].flat().length){const t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:a});n.push({message:t,type:Gp.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}function Lc(e,t,r,n){const a=[];return e.reduce((r,n,i)=>(!0===t.definition[i].ignoreAmbiguities||n.forEach(n=>{const s=[i];e.forEach((e,r)=>{i!==r&&gc(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),s.length>1&&!gc(a,n)&&(a.push(n),r.push({alts:s,path:n}))}),r),[]).map(e=>{const a=e.alts.map(e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:a,prefixPath:e.path}),type:Gp.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}function Mc(e,t,r,n){const a=e.reduce((e,t,r)=>{const n=t.map(e=>({idx:r,path:e}));return e.concat(n)},[]);return a.flatMap(e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];const i=e.idx,s=e.path;return a.filter(e=>!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<i&&Tc(e.path,s)).map(e=>{const a=[e.idx+1,i+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:a,prefixPath:e.path}),type:Gp.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:a}})})}function jc(e,t,r){const n=[],a=t.map(e=>e.name);return e.forEach(e=>{const t=e.name;if(a.includes(t)){const a=r.buildNamespaceConflictError(e);n.push({message:a,type:Gp.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}function Fc(e){const t=Object.assign({errMsgProvider:zu},e),r={};return e.rules.forEach(e=>{r[e.name]=e}),qu(r,t.errMsgProvider)}function Gc(e){var t;const r=null!==(t=e.errMsgProvider)&&void 0!==t?t:Ku;return $c(e.rules,e.tokenTypes,r,e.grammarName)}Ke(Pc,"validateTooManyAlts"),Ke(Dc,"validateSomeNonEmptyLookaheadPath"),Ke(Lc,"checkAlternativesAmbiguities"),Ke(Mc,"checkPrefixAlternativesAmbiguities"),Ke(jc,"checkTerminalAndNoneTerminalsNameSpace"),Ke(Fc,"resolveGrammar"),Ke(Gc,"validateGrammar");var zc="MismatchedTokenException",Kc="NoViableAltException",qc="EarlyExitException",Uc="NotAllInputParsedException",Vc=[zc,Kc,qc,Uc];function Bc(e){return Vc.includes(e.name)}Object.freeze(Vc),Ke(Bc,"isRecognitionException");var Wc=class extends Error{static{Ke(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)}},Hc=class extends Wc{static{Ke(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=zc}},Yc=class extends Wc{static{Ke(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Kc}},Xc=class extends Wc{static{Ke(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=Uc}},Zc=class extends Wc{static{Ke(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=qc}},Jc={},Qc="InRuleRecoveryException",ep=class extends Error{static{Ke(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=Qc}},tp=class{static{Ke(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap=[],this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Kp.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=rp)}getTokenToInsert(e){const t=ju(e,"",-1,-1,-1,-1,-1,-1);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){const a=this.findReSyncTokenType(),i=this.exportLexerState(),s=[];let o=!1;const l=this.LA_FAST(1);let u=this.LA_FAST(1);const c=Ke(()=>{const e=this.LA(0),t=this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),r=new Hc(t,l,this.LA(0));r.resyncedTokens=s.slice(0,-1),this.SAVE_ERROR(r)},"generateErrorMessage");for(;!o;){if(this.tokenMatcher(u,n))return void c();if(r.call(this))return c(),void e.apply(this,t);this.tokenMatcher(u,a)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s))}this.importLexerState(i)}shouldInRepetitionRecoveryBeTried(e,t,r){return!1!==r&&(!this.tokenMatcher(this.LA_FAST(1),e)&&(!this.isBackTracking()&&!this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t))))}getNextPossibleTokenTypes(e){const t=e.ruleStack[0],r=this.getGAstProductions()[t];return new Hu(r,e).startWalking()}getFollowsForInRuleRecovery(e,t){const 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)){const e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new ep("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e))return!1;if(0===t.length)return!1;const r=this.LA_FAST(1);return void 0!==t.find(e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){if(!this.canTokenTypeBeDeletedInRecovery(e))return!1;return this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){const t=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(t).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let t=this.LA_FAST(1),r=2;for(;;){const n=e.find(e=>Fu(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(0===this.RULE_STACK_IDX)return Jc;const e=this.currRuleShortName,t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK,r=this.RULE_STACK_IDX+1,n=new Array(r);for(let a=0;a<r;a++)n[a]=0===a?Jc:{ruleName:this.shortRuleNameToFullName(e[a]),idxInCallingRule:t[a],inRule:this.shortRuleNameToFullName(e[a-1])};return n}flattenFollowSet(){return this.buildFullFollowKeyStack().map(e=>this.getFollowSetFromFollowKey(e)).flat()}getFollowSetFromFollowKey(e){if(e===Jc)return[Mu];const t=e.ruleName+e.idxInCallingRule+il+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,Mu)||t.push(e),t}reSyncTo(e){const t=[];let r=this.LA_FAST(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return t.slice(0,-1)}attemptInRepetitionRecovery(e,t,r,n,a,i,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,t=new Array(e);for(let r=0;r<e;r++)t[r]=this.shortRuleNameToFullName(this.RULE_STACK[r]);return t}};function rp(e,t,r,n,a,i,s){var o,l,u;const c=n|a,p=null!==(o=(l=this.firstAfterRepMap)[u=this.currRuleShortName])&&void 0!==o?o:l[u]=[];let d=p[c];if(void 0===d){const e=this.getCurrRuleFullName();d=new i(this.getGAstProductions()[e],a).startWalking(),p[c]=d}let f=d.token,m=d.occurrence;const h=d.isEndOfRule;0===this.RULE_STACK_IDX&&h&&void 0===f&&(f=Mu,m=1),void 0!==f&&void 0!==m&&this.shouldInRepetitionRecoveryBeTried(f,m,s)&&this.tryInRepetitionRecovery(e,t,r,f)}Ke(rp,"attemptInRepetitionRecovery");var np=1024,ap=1280,ip=1536,sp=class{static{Ke(this,"LLkLookaheadStrategy")}constructor(e){var t;this.maxLookahead=null!==(t=null==e?void 0:e.maxLookahead)&&void 0!==t?t:Kp.maxLookahead}validate(e){const t=this.validateNoLeftRecursion(e.rules);if(0===t.length){const r=this.validateEmptyOrAlternatives(e.rules),n=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...r,...n,...a]}return t}validateNoLeftRecursion(e){return e.flatMap(e=>xc(e,e,Ku))}validateEmptyOrAlternatives(e){return e.flatMap(e=>Nc(e,Ku))}validateAmbiguousAlternationAlternatives(e,t){return e.flatMap(e=>Ic(e,t,Ku))}validateSomeNonEmptyLookaheadPath(e,t){return Dc(e,t,Ku)}buildLookaheadForAlternation(e){return ic(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,oc)}buildLookaheadForOptional(e){return sc(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,nc(e.prodType),lc)}},op=class{static{Ke(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Kp.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Kp.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new sp({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=[],this.currRuleLookaheadFuncs=[]}preComputeLookaheadFunctions(e){e.forEach(e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{const{alternation:t,repetition:r,option:n,repetitionMandatory:a,repetitionMandatoryWithSeparator:i,repetitionWithSeparator:s}=up(e);t.forEach(t=>{const r=0===t.idx?"":t.idx;this.TRACE_INIT(`${Jo(t)}${r}`,()=>{const r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled});this.setLaFuncCache(this.fullRuleNameToShort[e.name],256|t.idx,r)})}),r.forEach(t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,Jo(t))}),n.forEach(t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,Jo(t))}),a.forEach(t=>{this.computeLookaheadFunc(e,t.idx,np,"RepetitionMandatory",t.maxLookahead,Jo(t))}),i.forEach(t=>{this.computeLookaheadFunc(e,t.idx,ip,"RepetitionMandatoryWithSeparator",t.maxLookahead,Jo(t))}),s.forEach(t=>{this.computeLookaheadFunc(e,t.idx,ap,"RepetitionWithSeparator",t.maxLookahead,Jo(t))})})})}computeLookaheadFunc(e,t,r,n,a,i){this.TRACE_INIT(`${i}${0===t?"":t}`,()=>{const i=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n});this.setLaFuncCache(this.fullRuleNameToShort[e.name],r|t,i)})}setLaFuncCache(e,t,r){let n=this.lookAheadFuncsCache[e];void 0===n&&(n=[],this.lookAheadFuncsCache[e]=n),n[t]=r}},lp=new class extends Ho{static{Ke(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 up(e){lp.reset(),e.accept(lp);const t=lp.dslMethods;return lp.reset(),t}function cp(e,t){-1===e.startOffset?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function pp(e,t){-1===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 dp(e,t,r){void 0===e.children[r]?e.children[r]=[t]:e.children[r].push(t)}function fp(e,t,r){void 0===e.children[t]?e.children[t]=[r]:e.children[t].push(r)}Ke(up,"collectMethods"),Ke(cp,"setNodeLocationOnlyOffset"),Ke(pp,"setNodeLocationFull"),Ke(dp,"addTerminalToCst"),Ke(fp,"addNoneTerminalToCst");var mp,hp;function yp(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function gp(e,t){const r=Object.keys(e),n=r.length;for(let a=0;a<n;a++){const n=e[r[a]],i=n.length;for(let e=0;e<i;e++){const r=n[e];void 0===r.tokenTypeIdx&&this[r.name](r.children,t)}}}function Tp(e,t){const r=Ke(function(){},"derivedConstructor");yp(r,e+"BaseSemantics");const n={visit:Ke(function(e,t){if(Array.isArray(e)&&(e=e[0]),void 0!==e)return this[e.name](e.children,t)},"visit"),validateVisitor:Ke(function(){const e=Rp(this,t);if(0!==e.length){const t=e.map(e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${t.join("\n\n").replace(/\n/g,"\n\t")}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=t,r}function vp(e,t,r){const n=Ke(function(){},"derivedConstructor");yp(n,e+"BaseSemanticsWithDefaults");const a=Object.create(r.prototype);return t.forEach(e=>{a[e]=gp}),n.prototype=a,n.prototype.constructor=n,n}function Rp(e,t){return $p(e,t)}function $p(e,t){return t.filter(t=>"function"==typeof e[t]==!1).map(t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:mp.MISSING_METHOD,methodName:t})).filter(Boolean)}Ke(yp,"defineNameProp"),Ke(gp,"defaultVisit"),Ke(Tp,"createBaseSemanticVisitorConstructor"),Ke(vp,"createBaseVisitorConstructorWithDefaults"),(hp=mp||(mp={}))[hp.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",hp[hp.MISSING_METHOD=1]="MISSING_METHOD",Ke(Rp,"validateVisitor"),Ke($p,"validateMissingCstMethods");var Ep=class{static{Ke(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Kp.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=pp,this.setNodeLocationFromNode=pp,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=cp,this.setNodeLocationFromNode=cp,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{}}else this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{}}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:-1,endOffset:-1}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:-1}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:-1,startLine:-1,startColumn:-1,endOffset:-1,endLine:-1,endColumn:-1}}setInitialNodeLocationFullRegular(e){const t=this.LA_FAST(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:-1,endLine:-1,endColumn:-1}}cstInvocationStateUpdate(e){const t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const t=this.LA(0),r=e.location;-1!==r.startOffset&&r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=-1,r.startLine=-1,r.startColumn=-1)}cstPostRuleOnlyOffset(e){const t=this.LA(0),r=e.location;-1!==r.startOffset&&r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=-1}cstPostTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];dp(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];fp(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}get currCSTNode(){return this.CST_STACK[this.CST_STACK.length-1]}getBaseCstVisitorConstructor(){if(void 0===this.baseCstVisitorConstructor){const e=Tp(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(void 0===this.baseCstVisitorWithDefaultsConstructor){const e=vp(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}},Cp=class{static{Ke(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.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Fp}LA_FAST(e){const t=this.currIdx+e;return this.tokVector[t]}LA(e){const t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Fp:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}},bp=class{static{Ke(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=qp){if(this.definedRulesNames.includes(e)){const t={message:Ku.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Gp.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);const n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=qp){const n=_c(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);const a=this.defineRule(e,t,r);return this[e]=a,a}BACKTRACK(e,t){var r;const n=null!==(r=e.coreRule)&&void 0!==r?r:e;return function(){this.isBackTrackingStack.push(1);const e=this.saveRecogState();try{return n.apply(this,t),!0}catch(r){if(Bc(r))return!1;throw r}finally{this.reloadRecogState(e),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Vo(Object.values(this.gastProductionsCache))}},Ap=class{static{Ke(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull=[],this.fullRuleNameToShort={},this.ruleShortNameIdx=0,this.tokenMatcher=su,this.subruleIdx=0,this.currRuleShortName=-1,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if(Array.isArray(e)){if(0===e.length)throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis 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\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if(Array.isArray(e))this.tokensMap=e.reduce((e,t)=>(e[t.name]=t,e),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(vu)){const t=Object.values(e.modes).flat(),r=[...new Set(t)];this.tokensMap=r.reduce((e,t)=>(e[t.name]=t,e),{})}else{if("object"!=typeof e||null===e)throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=Object.assign({},e)}this.tokensMap.EOF=Mu;const r=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(e=>{var t;return 0==(null===(t=e.categoryMatches)||void 0===t?void 0:t.length)});this.tokenMatcher=r?su:iu,uu(Object.values(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'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const n=Object.hasOwn(r,"resyncEnabled")?r.resyncEnabled:qp.resyncEnabled,a=Object.hasOwn(r,"recoveryValueFunc")?r.recoveryValueFunc:qp.recoveryValueFunc,i=this.ruleShortNameIdx++;let s;this.shortRuleNameToFull[i]=e,this.fullRuleNameToShort[e]=i,s=!0===this.outputCst?Ke(function(...r){try{this.ruleInvocationStateUpdate(i,e,this.subruleIdx),t.apply(this,r);const n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(s){return this.invokeRuleCatch(s,n,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):Ke(function(...r){try{return this.ruleInvocationStateUpdate(i,e,this.subruleIdx),t.apply(this,r)}catch(s){return this.invokeRuleCatch(s,n,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst");const o=Ke(function(...t){this.onBeforeParse(e);try{return s.apply(this,t)}finally{this.onAfterParse(e)}},"rootRule");return Object.assign(o,{ruleName:e,originalGrammarAction:t,coreRule:s})}invokeRuleCatch(e,t,r){const n=0===this.RULE_STACK_IDX,a=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Bc(e)){const t=e;if(a){const n=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(n)){if(t.resyncedTokens=this.reSyncTo(n),this.outputCst){const e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}return r(e)}if(this.outputCst){const e=this.CST_STACK[this.CST_STACK.length-1];e.recoveredNode=!0,t.partialCstResult=e}throw t}if(n)return this.moveToTerminatedState(),r(e);throw t}throw e}optionInternal(e,t){const r=512|t;return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,a=this.currRuleLookaheadFuncs[r];if("function"!=typeof e){n=e.DEF;const t=e.GATE;if(void 0!==t){const e=a;a=Ke(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else n=e;if(!0===a.call(this))return n.call(this)}atLeastOneInternal(e,t){const r=np|e;return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,a=this.currRuleLookaheadFuncs[r];if("function"!=typeof t){n=t.DEF;const e=t.GATE;if(void 0!==e){const t=a;a=Ke(()=>e.call(this)&&t.call(this),"lookAheadFunc")}}else n=t;if(!0!==a.call(this))throw this.raiseEarlyExitException(e,Uu.REPETITION_MANDATORY,t.ERR_MSG);{let e=this.doSingleRepetition(n);for(;!0===a.call(this)&&!0===e;)e=this.doSingleRepetition(n)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],a,np,e,Ju)}atLeastOneSepFirstInternal(e,t){const r=ip|e;this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){const n=t.DEF,a=t.SEP;if(!0!==this.currRuleLookaheadFuncs[r].call(this))throw this.raiseEarlyExitException(e,Uu.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);{n.call(this);const t=Ke(()=>this.tokenMatcher(this.LA_FAST(1),a),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA_FAST(1),a);)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,t,n,Qu],t,ip,e,Qu)}}manyInternal(e,t){const r=768|e;return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,a=this.currRuleLookaheadFuncs[r];if("function"!=typeof t){n=t.DEF;const e=t.GATE;if(void 0!==e){const t=a;a=Ke(()=>e.call(this)&&t.call(this),"lookaheadFunction")}}else n=t;let i=!0;for(;!0===a.call(this)&&!0===i;)i=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],a,768,e,Xu,i)}manySepFirstInternal(e,t){const r=ap|e;this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){const n=t.DEF,a=t.SEP;if(!0===this.currRuleLookaheadFuncs[r].call(this)){n.call(this);const t=Ke(()=>this.tokenMatcher(this.LA_FAST(1),a),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA_FAST(1),a);)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,t,n,Zu],t,ap,e,Zu)}}repetitionSepSecondInternal(e,t,r,n,a){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,a],r,ip,e,a)}doSingleRepetition(e){const t=this.getLexerPosition();e.call(this);return this.getLexerPosition()>t}orInternal(e,t){const r=256|t,n=Array.isArray(e)?e:e.DEF,a=this.currRuleLookaheadFuncs[r].call(this,n);if(void 0!==a){return n[a].ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX],this.currRuleLookaheadFuncs=this.lookAheadFuncsCache[this.currRuleShortName]),this.cstFinallyStateUpdate()}subruleInternal(e,t,r){let n;try{const a=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.coreRule.apply(this,a),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(a){throw this.subruleInternalError(a,r,e.ruleName)}}subruleInternalError(e,t,r){throw Bc(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{const t=this.LA_FAST(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(a){n=this.consumeInternalRecovery(e,t,a)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n;const a=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Hc(n,t,a))}consumeInternalRecovery(e,t,r){if(!this.recoveryEnabled||"MismatchedTokenException"!==r.name||this.isBackTracking())throw r;{const a=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,a)}catch(n){throw n.name===Qc?r:n}}}saveRecogState(){const e=this.errors,t=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const t=e.RULE_STACK;for(let r=0;r<t.length;r++)this.RULE_STACK[r]=t[r];this.RULE_STACK_IDX=t.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX],this.currRuleLookaheadFuncs=this.lookAheadFuncsCache[this.currRuleShortName])}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=r,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.currRuleLookaheadFuncs=this.lookAheadFuncsCache[e],this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Mu)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=-1,this.currRuleLookaheadFuncs=[],this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let t=0;t<this.maxLookahead+1;t++)this.tokVector.push(Fp)}onAfterParse(e){if(!1===this.isAtEndOfInput()){const e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Xc(t,e))}for(;this.tokVector.at(-1)===Fp;)this.tokVector.pop()}},Sp=class{static{Ke(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Kp.errorMessageProvider}SAVE_ERROR(e){if(Bc(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){const n=this.getCurrRuleFullName(),a=yc(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],i=[];for(let o=1;o<=this.maxLookahead;o++)i.push(this.LA(o));const s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:i,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new Zc(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){const r=this.getCurrRuleFullName(),n=hc(e,this.getGAstProductions()[r],this.maxLookahead),a=[];for(let o=1;o<=this.maxLookahead;o++)a.push(this.LA(o));const i=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:a,previous:i,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Yc(s,this.LA(1),i))}},_p={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(_p);var xp=!0,kp=Du({name:"RECORDING_PHASE_TOKEN",pattern:bu.NA});uu([kp]);var wp=ju(kp,"This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(wp);var Np={name:"This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}},Ip=class{static{Ke(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++){const 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",()=>{const e=this;for(let t=0;t<10;t++){const r=t>0?t:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Fp}topLevelRuleRecord(e,t){try{const r=new Lo({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(r){if(!0!==r.KNOWN_RECORDER_ERROR)try{r.message=r.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(n){throw r}throw r}}optionInternalRecord(e,t){return Op.call(this,jo,e,t)}atLeastOneInternalRecord(e,t){Op.call(this,Fo,t,e)}atLeastOneSepFirstInternalRecord(e,t){Op.call(this,Go,t,e,xp)}manyInternalRecord(e,t){Op.call(this,zo,t,e)}manySepFirstInternalRecord(e,t){Op.call(this,Ko,t,e,xp)}orInternalRecord(e,t){return Pp.call(this,e,t)}subruleInternalRecord(e,t,r){if(Lp(t),!e||!Object.hasOwn(e,"ruleName")){const r=new Error(`<SUBRULE${Dp(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}const n=this.recordingProdStack.at(-1),a=e.ruleName,i=new Do({idx:t,nonTerminalName:a,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?Np:_p}consumeInternalRecord(e,t,r){if(Lp(t),!hu(e)){const r=new Error(`<CONSUME${Dp(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}const n=this.recordingProdStack.at(-1),a=new Uo({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(a),wp}};function Op(e,t,r,n=!1){Lp(r);const a=this.recordingProdStack.at(-1),i="function"==typeof t?t:t.DEF,s=new e({definition:[],idx:r});return n&&(s.separator=t.SEP),Object.hasOwn(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(s),i.call(this),a.definition.push(s),this.recordingProdStack.pop(),_p}function Pp(e,t){Lp(t);const r=this.recordingProdStack.at(-1),n=!1===Array.isArray(e),a=!1===n?e:e.DEF,i=new qo({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});Object.hasOwn(e,"MAX_LOOKAHEAD")&&(i.maxLookahead=e.MAX_LOOKAHEAD);const s=a.some(e=>"function"==typeof e.GATE);return i.hasPredicates=s,r.definition.push(i),a.forEach(e=>{const t=new Mo({definition:[]});i.definition.push(t),Object.hasOwn(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:Object.hasOwn(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),_p}function Dp(e){return 0===e?"":`${e}`}function Lp(e){if(e<0||e>255){const t=new Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than 256`);throw t.KNOWN_RECORDER_ERROR=!0,t}}Ke(Op,"recordProd"),Ke(Pp,"recordOrProd"),Ke(Dp,"getIdxSuffix"),Ke(Lp,"assertMethodIdxIsValid");var Mp=class{static{Ke(this,"PerformanceTracer")}initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const 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=Kp.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0===this.traceInitPerf){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--\x3e <${e}>`);const{time:n,value:a}=wo(t),i=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&i(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,a}return t()}};function jp(e,t){t.forEach(t=>{const r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{if("constructor"===n)return;const a=Object.getOwnPropertyDescriptor(r,n);a&&(a.get||a.set)?Object.defineProperty(e.prototype,n,a):e.prototype[n]=t.prototype[n]})})}Ke(jp,"applyMixins");var Fp=ju(Mu,"",-1,-1,-1,-1,-1,-1);Object.freeze(Fp);var Gp,zp,Kp=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Gu,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),qp=Object.freeze({recoveryValueFunc:Ke(()=>{},"recoveryValueFunc"),resyncEnabled:!0});function Up(e=void 0){return function(){return e}}(zp=Gp||(Gp={}))[zp.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",zp[zp.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",zp[zp.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",zp[zp.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",zp[zp.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",zp[zp.LEFT_RECURSION=5]="LEFT_RECURSION",zp[zp.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",zp[zp.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",zp[zp.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",zp[zp.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",zp[zp.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",zp[zp.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",zp[zp.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",zp[zp.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",Ke(Up,"EMPTY_ALT");var Vp=class e{static{Ke(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let t;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{No(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(e=>{const t=this[e].originalGrammarAction;let r;this.TRACE_INIT(`${e} Rule`,()=>{r=this.topLevelRuleRecord(e,t)}),this.gastProductionsCache[e]=r})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Fc({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(0===n.length&&!1===this.skipValidations){const e=Gc({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Ku,grammarName:r}),t=Rc({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(e,t)}}),0===this.definitionErrors.length&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const e=ol(Object.values(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null===(t=(e=this.lookaheadStrategy).initialize)||void 0===t||t.call(e,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&0!==this.definitionErrors.length)throw t=this.definitionErrors.map(e=>e.message),new Error(`Parser Definition Errors detected:\n ${t.join("\n-------------------------------\n")}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(t),r.initLexerAdapter(),r.initLooksAhead(t),r.initRecognizerEngine(e,t),r.initRecoverable(t),r.initTreeBuilder(t),r.initGastRecorder(t),r.initPerformanceTracer(t),Object.hasOwn(t,"ignoredIssues"))throw new Error("The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.");this.skipValidations=Object.hasOwn(t,"skipValidations")?t.skipValidations:Kp.skipValidations}};Vp.DEFER_DEFINITION_ERRORS_HANDLING=!1,jp(Vp,[tp,op,Ep,Cp,Ap,bp,Sp,Ip,Mp]);var Bp=class extends Vp{static{Ke(this,"EmbeddedActionsParser")}constructor(e,t=Kp){const r=Object.assign({},t);r.outputCst=!1,super(e,r)}};function Wp(e,t){for(var r=-1,n=null==e?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}Ke(Wp,"arrayMap");var Hp=Wp;function Yp(){this.__data__=[],this.size=0}Ke(Yp,"listCacheClear");var Xp=Yp;function Zp(e,t){return e===t||e!=e&&t!=t}Ke(Zp,"eq");var Jp=Zp;function Qp(e,t){for(var r=e.length;r--;)if(Jp(e[r][0],t))return r;return-1}Ke(Qp,"assocIndexOf");var ed=Qp,td=Array.prototype.splice;function rd(e){var t=this.__data__,r=ed(t,e);return!(r<0)&&(r==t.length-1?t.pop():td.call(t,r,1),--this.size,!0)}Ke(rd,"listCacheDelete");var nd=rd;function ad(e){var t=this.__data__,r=ed(t,e);return r<0?void 0:t[r][1]}Ke(ad,"listCacheGet");var id=ad;function sd(e){return ed(this.__data__,e)>-1}Ke(sd,"listCacheHas");var od=sd;function ld(e,t){var r=this.__data__,n=ed(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}Ke(ld,"listCacheSet");var ud=ld;function cd(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])}}Ke(cd,"ListCache"),cd.prototype.clear=Xp,cd.prototype.delete=nd,cd.prototype.get=id,cd.prototype.has=od,cd.prototype.set=ud;var pd=cd;function dd(){this.__data__=new pd,this.size=0}Ke(dd,"stackClear");var fd=dd;function md(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}Ke(md,"stackDelete");var hd=md;function yd(e){return this.__data__.get(e)}Ke(yd,"stackGet");var gd=yd;function Td(e){return this.__data__.has(e)}Ke(Td,"stackHas");var vd=Td,Rd="object"==typeof global&&global&&global.Object===Object&&global,$d="object"==typeof self&&self&&self.Object===Object&&self,Ed=Rd||$d||Function("return this")(),Cd=Ed.Symbol,bd=Object.prototype,Ad=bd.hasOwnProperty,Sd=bd.toString,_d=Cd?Cd.toStringTag:void 0;function xd(e){var t=Ad.call(e,_d),r=e[_d];try{e[_d]=void 0;var n=!0}catch(i){}var a=Sd.call(e);return n&&(t?e[_d]=r:delete e[_d]),a}Ke(xd,"getRawTag");var kd=xd,wd=Object.prototype.toString;function Nd(e){return wd.call(e)}Ke(Nd,"objectToString");var Id=Nd,Od=Cd?Cd.toStringTag:void 0;function Pd(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Od&&Od in Object(e)?kd(e):Id(e)}Ke(Pd,"baseGetTag");var Dd=Pd;function Ld(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}Ke(Ld,"isObject");var Md=Ld;function jd(e){if(!Md(e))return!1;var t=Dd(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}Ke(jd,"isFunction");var Fd,Gd=jd,zd=Ed["__core-js_shared__"],Kd=(Fd=/[^.]+$/.exec(zd&&zd.keys&&zd.keys.IE_PROTO||""))?"Symbol(src)_1."+Fd:"";function qd(e){return!!Kd&&Kd in e}Ke(qd,"isMasked");var Ud=qd,Vd=Function.prototype.toString;function Bd(e){if(null!=e){try{return Vd.call(e)}catch(t){}try{return e+""}catch(t){}}return""}Ke(Bd,"toSource");var Wd=Bd,Hd=/^\[object .+?Constructor\]$/,Yd=Function.prototype,Xd=Object.prototype,Zd=Yd.toString,Jd=Xd.hasOwnProperty,Qd=RegExp("^"+Zd.call(Jd).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ef(e){return!(!Md(e)||Ud(e))&&(Gd(e)?Qd:Hd).test(Wd(e))}Ke(ef,"baseIsNative");var tf=ef;function rf(e,t){return null==e?void 0:e[t]}Ke(rf,"getValue");var nf=rf;function af(e,t){var r=nf(e,t);return tf(r)?r:void 0}Ke(af,"getNative");var sf=af,of=sf(Ed,"Map"),lf=sf(Object,"create");function uf(){this.__data__=lf?lf(null):{},this.size=0}Ke(uf,"hashClear");var cf=uf;function pf(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}Ke(pf,"hashDelete");var df=pf,ff=Object.prototype.hasOwnProperty;function mf(e){var t=this.__data__;if(lf){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return ff.call(t,e)?t[e]:void 0}Ke(mf,"hashGet");var hf=mf,yf=Object.prototype.hasOwnProperty;function gf(e){var t=this.__data__;return lf?void 0!==t[e]:yf.call(t,e)}Ke(gf,"hashHas");var Tf=gf;function vf(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=lf&&void 0===t?"__lodash_hash_undefined__":t,this}Ke(vf,"hashSet");var Rf=vf;function $f(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])}}Ke($f,"Hash"),$f.prototype.clear=cf,$f.prototype.delete=df,$f.prototype.get=hf,$f.prototype.has=Tf,$f.prototype.set=Rf;var Ef=$f;function Cf(){this.size=0,this.__data__={hash:new Ef,map:new(of||pd),string:new Ef}}Ke(Cf,"mapCacheClear");var bf=Cf;function Af(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}Ke(Af,"isKeyable");var Sf=Af;function _f(e,t){var r=e.__data__;return Sf(t)?r["string"==typeof t?"string":"hash"]:r.map}Ke(_f,"getMapData");var xf=_f;function kf(e){var t=xf(this,e).delete(e);return this.size-=t?1:0,t}Ke(kf,"mapCacheDelete");var wf=kf;function Nf(e){return xf(this,e).get(e)}Ke(Nf,"mapCacheGet");var If=Nf;function Of(e){return xf(this,e).has(e)}Ke(Of,"mapCacheHas");var Pf=Of;function Df(e,t){var r=xf(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}Ke(Df,"mapCacheSet");var Lf=Df;function Mf(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])}}Ke(Mf,"MapCache"),Mf.prototype.clear=bf,Mf.prototype.delete=wf,Mf.prototype.get=If,Mf.prototype.has=Pf,Mf.prototype.set=Lf;var jf=Mf;function Ff(e,t){var r=this.__data__;if(r instanceof pd){var n=r.__data__;if(!of||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new jf(n)}return r.set(e,t),this.size=r.size,this}Ke(Ff,"stackSet");var Gf=Ff;function zf(e){var t=this.__data__=new pd(e);this.size=t.size}Ke(zf,"Stack"),zf.prototype.clear=fd,zf.prototype.delete=hd,zf.prototype.get=gd,zf.prototype.has=vd,zf.prototype.set=Gf;var Kf=zf;function qf(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}Ke(qf,"setCacheAdd");var Uf=qf;function Vf(e){return this.__data__.has(e)}Ke(Vf,"setCacheHas");var Bf=Vf;function Wf(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new jf;++t<r;)this.add(e[t])}Ke(Wf,"SetCache"),Wf.prototype.add=Wf.prototype.push=Uf,Wf.prototype.has=Bf;var Hf=Wf;function Yf(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}Ke(Yf,"arraySome");var Xf=Yf;function Zf(e,t){return e.has(t)}Ke(Zf,"cacheHas");var Jf=Zf;function Qf(e,t,r,n,a,i){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=i.get(e),c=i.get(t);if(u&&c)return u==t&&c==e;var p=-1,d=!0,f=2&r?new Hf:void 0;for(i.set(e,t),i.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,i):n(m,h,p,e,t,i);if(void 0!==y){if(y)continue;d=!1;break}if(f){if(!Xf(t,function(e,t){if(!Jf(f,t)&&(m===e||a(m,e,r,n,i)))return f.push(t)})){d=!1;break}}else if(m!==h&&!a(m,h,r,n,i)){d=!1;break}}return i.delete(e),i.delete(t),d}Ke(Qf,"equalArrays");var em=Qf,tm=Ed.Uint8Array;function rm(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}Ke(rm,"mapToArray");var nm=rm;function am(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}Ke(am,"setToArray");var im=am,sm=Cd?Cd.prototype:void 0,om=sm?sm.valueOf:void 0;function lm(e,t,r,n,a,i,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!i(new tm(e),new tm(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Jp(+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=nm;case"[object Set]":var l=1&n;if(o||(o=im),e.size!=t.size&&!l)return!1;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=em(o(e),o(t),n,a,i,s);return s.delete(e),c;case"[object Symbol]":if(om)return om.call(e)==om.call(t)}return!1}Ke(lm,"equalByTag");var um=lm;function cm(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}Ke(cm,"arrayPush");var pm=cm,dm=Array.isArray;function fm(e,t,r){var n=t(e);return dm(e)?n:pm(n,r(e))}Ke(fm,"baseGetAllKeys");var mm=fm;function hm(e,t){for(var r=-1,n=null==e?0:e.length,a=0,i=[];++r<n;){var s=e[r];t(s,r,e)&&(i[a++]=s)}return i}Ke(hm,"arrayFilter");var ym=hm;function gm(){return[]}Ke(gm,"stubArray");var Tm=gm,vm=Object.prototype.propertyIsEnumerable,Rm=Object.getOwnPropertySymbols,$m=Rm?function(e){return null==e?[]:(e=Object(e),ym(Rm(e),function(t){return vm.call(e,t)}))}:Tm;function Em(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}Ke(Em,"baseTimes");var Cm=Em;function bm(e){return null!=e&&"object"==typeof e}Ke(bm,"isObjectLike");var Am=bm;function Sm(e){return Am(e)&&"[object Arguments]"==Dd(e)}Ke(Sm,"baseIsArguments");var _m=Sm,xm=Object.prototype,km=xm.hasOwnProperty,wm=xm.propertyIsEnumerable,Nm=_m(function(){return arguments}())?_m:function(e){return Am(e)&&km.call(e,"callee")&&!wm.call(e,"callee")};function Im(){return!1}Ke(Im,"stubFalse");var Om=Im,Pm="object"==typeof exports&&exports&&!exports.nodeType&&exports,Dm=Pm&&"object"==typeof module&&module&&!module.nodeType&&module,Lm=Dm&&Dm.exports===Pm?Ed.Buffer:void 0,Mm=(Lm?Lm.isBuffer:void 0)||Om,jm=/^(?:0|[1-9]\d*)$/;function Fm(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&jm.test(e))&&e>-1&&e%1==0&&e<t}Ke(Fm,"isIndex");var Gm=Fm;function zm(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}Ke(zm,"isLength");var Km=zm,qm={};function Um(e){return Am(e)&&Km(e.length)&&!!qm[Dd(e)]}qm["[object Float32Array]"]=qm["[object Float64Array]"]=qm["[object Int8Array]"]=qm["[object Int16Array]"]=qm["[object Int32Array]"]=qm["[object Uint8Array]"]=qm["[object Uint8ClampedArray]"]=qm["[object Uint16Array]"]=qm["[object Uint32Array]"]=!0,qm["[object Arguments]"]=qm["[object Array]"]=qm["[object ArrayBuffer]"]=qm["[object Boolean]"]=qm["[object DataView]"]=qm["[object Date]"]=qm["[object Error]"]=qm["[object Function]"]=qm["[object Map]"]=qm["[object Number]"]=qm["[object Object]"]=qm["[object RegExp]"]=qm["[object Set]"]=qm["[object String]"]=qm["[object WeakMap]"]=!1,Ke(Um,"baseIsTypedArray");var Vm=Um;function Bm(e){return function(t){return e(t)}}Ke(Bm,"baseUnary");var Wm=Bm,Hm="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ym=Hm&&"object"==typeof module&&module&&!module.nodeType&&module,Xm=Ym&&Ym.exports===Hm&&Rd.process,Zm=function(){try{var e=Ym&&Ym.require&&Ym.require("util").types;return e||Xm&&Xm.binding&&Xm.binding("util")}catch(t){}}(),Jm=Zm&&Zm.isTypedArray,Qm=Jm?Wm(Jm):Vm,eh=Object.prototype.hasOwnProperty;function th(e,t){var r=dm(e),n=!r&&Nm(e),a=!r&&!n&&Mm(e),i=!r&&!n&&!a&&Qm(e),s=r||n||a||i,o=s?Cm(e.length,String):[],l=o.length;for(var u in e)!t&&!eh.call(e,u)||s&&("length"==u||a&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||Gm(u,l))||o.push(u);return o}Ke(th,"arrayLikeKeys");var rh=th,nh=Object.prototype;function ah(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||nh)}Ke(ah,"isPrototype");var ih=ah;function sh(e,t){return function(r){return e(t(r))}}Ke(sh,"overArg");var oh=sh(Object.keys,Object),lh=Object.prototype.hasOwnProperty;function uh(e){if(!ih(e))return oh(e);var t=[];for(var r in Object(e))lh.call(e,r)&&"constructor"!=r&&t.push(r);return t}Ke(uh,"baseKeys");var ch=uh;function ph(e){return null!=e&&Km(e.length)&&!Gd(e)}Ke(ph,"isArrayLike");var dh=ph;function fh(e){return dh(e)?rh(e):ch(e)}Ke(fh,"keys");var mh=fh;function hh(e){return mm(e,mh,$m)}Ke(hh,"getAllKeys");var yh=hh,gh=Object.prototype.hasOwnProperty;function Th(e,t,r,n,a,i){var s=1&r,o=yh(e),l=o.length;if(l!=yh(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:gh.call(t,c)))return!1}var p=i.get(e),d=i.get(t);if(p&&d)return p==t&&d==e;var f=!0;i.set(e,t),i.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,i):n(h,y,c,e,t,i);if(!(void 0===g?h===y||a(h,y,r,n,i):g)){f=!1;break}m||(m="constructor"==c)}if(f&&!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||(f=!1)}return i.delete(e),i.delete(t),f}Ke(Th,"equalObjects");var vh=Th,Rh=sf(Ed,"DataView"),$h=sf(Ed,"Promise"),Eh=sf(Ed,"Set"),Ch=sf(Ed,"WeakMap"),bh="[object Map]",Ah="[object Promise]",Sh="[object Set]",_h="[object WeakMap]",xh="[object DataView]",kh=Wd(Rh),wh=Wd(of),Nh=Wd($h),Ih=Wd(Eh),Oh=Wd(Ch),Ph=Dd;(Rh&&Ph(new Rh(new ArrayBuffer(1)))!=xh||of&&Ph(new of)!=bh||$h&&Ph($h.resolve())!=Ah||Eh&&Ph(new Eh)!=Sh||Ch&&Ph(new Ch)!=_h)&&(Ph=Ke(function(e){var t=Dd(e),r="[object Object]"==t?e.constructor:void 0,n=r?Wd(r):"";if(n)switch(n){case kh:return xh;case wh:return bh;case Nh:return Ah;case Ih:return Sh;case Oh:return _h}return t},"getTag"));var Dh=Ph,Lh="[object Arguments]",Mh="[object Array]",jh="[object Object]",Fh=Object.prototype.hasOwnProperty;function Gh(e,t,r,n,a,i){var s=dm(e),o=dm(t),l=s?Mh:Dh(e),u=o?Mh:Dh(t),c=(l=l==Lh?jh:l)==jh,p=(u=u==Lh?jh:u)==jh,d=l==u;if(d&&Mm(e)){if(!Mm(t))return!1;s=!0,c=!1}if(d&&!c)return i||(i=new Kf),s||Qm(e)?em(e,t,r,n,a,i):um(e,t,l,r,n,a,i);if(!(1&r)){var f=c&&Fh.call(e,"__wrapped__"),m=p&&Fh.call(t,"__wrapped__");if(f||m){var h=f?e.value():e,y=m?t.value():t;return i||(i=new Kf),a(h,y,r,n,i)}}return!!d&&(i||(i=new Kf),vh(e,t,r,n,a,i))}Ke(Gh,"baseIsEqualDeep");var zh=Gh;function Kh(e,t,r,n,a){return e===t||(null==e||null==t||!Am(e)&&!Am(t)?e!=e&&t!=t:zh(e,t,r,n,Kh,a))}Ke(Kh,"baseIsEqual");var qh=Kh;function Uh(e,t,r,n){var a=r.length,i=a,s=!n;if(null==e)return!i;for(e=Object(e);a--;){var o=r[a];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++a<i;){var l=(o=r[a])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new Kf;if(n)var d=n(u,c,l,e,t,p);if(!(void 0===d?qh(c,u,3,n,p):d))return!1}}return!0}Ke(Uh,"baseIsMatch");var Vh=Uh;function Bh(e){return e==e&&!Md(e)}Ke(Bh,"isStrictComparable");var Wh=Bh;function Hh(e){for(var t=mh(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,Wh(a)]}return t}Ke(Hh,"getMatchData");var Yh=Hh;function Xh(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}Ke(Xh,"matchesStrictComparable");var Zh=Xh;function Jh(e){var t=Yh(e);return 1==t.length&&t[0][2]?Zh(t[0][0],t[0][1]):function(r){return r===e||Vh(r,e,t)}}Ke(Jh,"baseMatches");var Qh=Jh;function ey(e){return"symbol"==typeof e||Am(e)&&"[object Symbol]"==Dd(e)}Ke(ey,"isSymbol");var ty=ey,ry=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ny=/^\w*$/;function ay(e,t){if(dm(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!ty(e))||(ny.test(e)||!ry.test(e)||null!=t&&e in Object(t))}Ke(ay,"isKey");var iy=ay;function sy(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=Ke(function(){var n=arguments,a=t?t.apply(this,n):n[0],i=r.cache;if(i.has(a))return i.get(a);var s=e.apply(this,n);return r.cache=i.set(a,s)||i,s},"memoized");return r.cache=new(sy.Cache||jf),r}Ke(sy,"memoize"),sy.Cache=jf;var oy=sy;function ly(e){var t=oy(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}Ke(ly,"memoizeCapped");var uy=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,cy=/\\(\\)?/g,py=ly(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(uy,function(e,r,n,a){t.push(n?a.replace(cy,"$1"):r||e)}),t}),dy=Cd?Cd.prototype:void 0,fy=dy?dy.toString:void 0;function my(e){if("string"==typeof e)return e;if(dm(e))return Hp(e,my)+"";if(ty(e))return fy?fy.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}Ke(my,"baseToString");var hy=my;function yy(e){return null==e?"":hy(e)}Ke(yy,"toString");var gy=yy;function Ty(e,t){return dm(e)?e:iy(e,t)?[e]:py(gy(e))}Ke(Ty,"castPath");var vy=Ty;function Ry(e){if("string"==typeof e||ty(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}Ke(Ry,"toKey");var $y=Ry;function Ey(e,t){for(var r=0,n=(t=vy(t,e)).length;null!=e&&r<n;)e=e[$y(t[r++])];return r&&r==n?e:void 0}Ke(Ey,"baseGet");var Cy=Ey;function by(e,t,r){var n=null==e?void 0:Cy(e,t);return void 0===n?r:n}Ke(by,"get");var Ay=by;function Sy(e,t){return null!=e&&t in Object(e)}Ke(Sy,"baseHasIn");var _y=Sy;function xy(e,t,r){for(var n=-1,a=(t=vy(t,e)).length,i=!1;++n<a;){var s=$y(t[n]);if(!(i=null!=e&&r(e,s)))break;e=e[s]}return i||++n!=a?i:!!(a=null==e?0:e.length)&&Km(a)&&Gm(s,a)&&(dm(e)||Nm(e))}Ke(xy,"hasPath");var ky=xy;function wy(e,t){return null!=e&&ky(e,t,_y)}Ke(wy,"hasIn");var Ny=wy;function Iy(e,t){return iy(e)&&Wh(t)?Zh($y(e),t):function(r){var n=Ay(r,e);return void 0===n&&n===t?Ny(r,e):qh(t,n,3)}}Ke(Iy,"baseMatchesProperty");var Oy=Iy;function Py(e){return e}Ke(Py,"identity");var Dy=Py;function Ly(e){return function(t){return null==t?void 0:t[e]}}Ke(Ly,"baseProperty");var My=Ly;function jy(e){return function(t){return Cy(t,e)}}Ke(jy,"basePropertyDeep");var Fy=jy;function Gy(e){return iy(e)?My($y(e)):Fy(e)}Ke(Gy,"property");var zy=Gy;function Ky(e){return"function"==typeof e?e:null==e?Dy:"object"==typeof e?dm(e)?Oy(e[0],e[1]):Qh(e):zy(e)}Ke(Ky,"baseIteratee");var qy=Ky;function Uy(e){return function(t,r,n){for(var a=-1,i=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++a];if(!1===r(i[l],l,i))break}return t}}Ke(Uy,"createBaseFor");var Vy=Uy();function By(e,t){return e&&Vy(e,t,mh)}Ke(By,"baseForOwn");var Wy=By;function Hy(e,t){return function(r,n){if(null==r)return r;if(!dh(r))return e(r,n);for(var a=r.length,i=t?a:-1,s=Object(r);(t?i--:++i<a)&&!1!==n(s[i],i,s););return r}}Ke(Hy,"createBaseEach");var Yy=Hy(Wy);function Xy(e,t){var r=-1,n=dh(e)?Array(e.length):[];return Yy(e,function(e,a,i){n[++r]=t(e,a,i)}),n}Ke(Xy,"baseMap");var Zy=Xy;function Jy(e,t){return(dm(e)?Hp:Zy)(e,qy(t))}Ke(Jy,"map");var Qy=Jy;function eg(e,t){var r=[];return Yy(e,function(e,n,a){t(e,n,a)&&r.push(e)}),r}Ke(eg,"baseFilter");var tg=eg;function rg(e,t){return(dm(e)?ym:tg)(e,qy(t))}Ke(rg,"filter");var ng=rg;function ag(e,t,r){return`${e.name}_${t}_${r}`}Ke(ag,"buildATNKey");var ig=class{static{Ke(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},sg=class extends ig{static{Ke(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},og=class extends ig{static{Ke(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},lg=class extends ig{static{Ke(this,"RuleTransition")}constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}};function ug(e){const t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};cg(t,e);const r=e.length;for(let n=0;n<r;n++){const r=e[n],a=Tg(t,r,r);void 0!==a&&xg(t,r,a)}return t}function cg(e,t){const r=t.length;for(let n=0;n<r;n++){const r=t[n],a=wg(e,r,void 0,{type:2}),i=wg(e,r,void 0,{type:7});a.stop=i,e.ruleToStartState.set(r,a),e.ruleToStopState.set(r,i)}}function pg(e,t,r){return r instanceof Uo?Sg(e,t,r.terminalType,r):r instanceof Do?_g(e,t,r):r instanceof qo?yg(e,t,r):r instanceof jo?gg(e,t,r):r instanceof zo?dg(e,t,r):r instanceof Ko?fg(e,t,r):r instanceof Fo?mg(e,t,r):r instanceof Go?hg(e,t,r):Tg(e,t,r)}function dg(e,t,r){const n=wg(e,t,r,{type:5});Eg(e,n);return Rg(e,t,r,Cg(e,t,n,r,Tg(e,t,r)))}function fg(e,t,r){const n=wg(e,t,r,{type:5});Eg(e,n);return Rg(e,t,r,Cg(e,t,n,r,Tg(e,t,r)),Sg(e,t,r.separator,r))}function mg(e,t,r){const n=wg(e,t,r,{type:4});Eg(e,n);return vg(e,t,r,Cg(e,t,n,r,Tg(e,t,r)))}function hg(e,t,r){const n=wg(e,t,r,{type:4});Eg(e,n);return vg(e,t,r,Cg(e,t,n,r,Tg(e,t,r)),Sg(e,t,r.separator,r))}function yg(e,t,r){const n=wg(e,t,r,{type:1});Eg(e,n);const a=Qy(r.definition,r=>pg(e,t,r));return Cg(e,t,n,r,...a)}function gg(e,t,r){const n=wg(e,t,r,{type:1});Eg(e,n);return $g(e,t,r,Cg(e,t,n,r,Tg(e,t,r)))}function Tg(e,t,r){const n=ng(Qy(r.definition,r=>pg(e,t,r)),e=>void 0!==e);return 1===n.length?n[0]:0===n.length?void 0:Ag(e,n)}function vg(e,t,r,n,a){const i=n.left,s=n.right,o=wg(e,t,r,{type:11});Eg(e,o);const l=wg(e,t,r,{type:12});return i.loopback=o,l.loopback=o,e.decisionMap[ag(t,a?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,kg(s,o),void 0===a?(kg(o,i),kg(o,l)):(kg(o,l),kg(o,a.left),kg(a.right,i)),{left:i,right:l}}function Rg(e,t,r,n,a){const i=n.left,s=n.right,o=wg(e,t,r,{type:10});Eg(e,o);const l=wg(e,t,r,{type:12}),u=wg(e,t,r,{type:9});return o.loopback=u,l.loopback=u,kg(o,i),kg(o,l),kg(s,u),void 0!==a?(kg(u,l),kg(u,a.left),kg(a.right,i)):kg(u,o),e.decisionMap[ag(t,a?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function $g(e,t,r,n){const a=n.left;return kg(a,n.right),e.decisionMap[ag(t,"Option",r.idx)]=a,n}function Eg(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function Cg(e,t,r,n,...a){const i=wg(e,t,n,{type:8,start:r});r.end=i;for(const o of a)void 0!==o?(kg(r,o.left),kg(o.right,i)):kg(r,i);const s={left:r,right:i};return e.decisionMap[ag(t,bg(n),n.idx)]=r,s}function bg(e){if(e instanceof qo)return"Alternation";if(e instanceof jo)return"Option";if(e instanceof zo)return"Repetition";if(e instanceof Ko)return"RepetitionWithSeparator";if(e instanceof Fo)return"RepetitionMandatory";if(e instanceof Go)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Ag(e,t){const r=t.length;for(let i=0;i<r-1;i++){const r=t[i];let n;1===r.left.transitions.length&&(n=r.left.transitions[0]);const a=n instanceof lg,s=n,o=t[i+1].left;1===r.left.type&&1===r.right.type&&void 0!==n&&(a&&s.followState===r.right||n.target===r.right)?(a?s.followState=o:n.target=o,Ig(e,r.right)):kg(r.right,o)}const n=t[0],a=t[r-1];return{left:n.left,right:a.right}}function Sg(e,t,r,n){const a=wg(e,t,n,{type:1}),i=wg(e,t,n,{type:1});return Ng(a,new sg(i,r)),{left:a,right:i}}function _g(e,t,r){const n=r.referencedRule,a=e.ruleToStartState.get(n),i=wg(e,t,r,{type:1}),s=wg(e,t,r,{type:1});return Ng(i,new lg(a,n,s)),{left:i,right:s}}function xg(e,t,r){const n=e.ruleToStartState.get(t);kg(n,r.left);const a=e.ruleToStopState.get(t);kg(r.right,a);return{left:n,right:a}}function kg(e,t){Ng(e,new og(t))}function wg(e,t,r,n){const a=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(a),a}function Ng(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function Ig(e,t){e.states.splice(e.states.indexOf(t),1)}Ke(ug,"createATN"),Ke(cg,"createRuleStartAndStopATNStates"),Ke(pg,"atom"),Ke(dg,"repetition"),Ke(fg,"repetitionSep"),Ke(mg,"repetitionMandatory"),Ke(hg,"repetitionMandatorySep"),Ke(yg,"alternation"),Ke(gg,"option"),Ke(Tg,"block"),Ke(vg,"plus"),Ke(Rg,"star"),Ke($g,"optional"),Ke(Eg,"defineDecisionState"),Ke(Cg,"makeAlts"),Ke(bg,"getProdType"),Ke(Ag,"makeBlock"),Ke(Sg,"tokenRef"),Ke(_g,"ruleRef"),Ke(xg,"buildRuleHandle"),Ke(kg,"epsilon"),Ke(wg,"newState"),Ke(Ng,"addTransition"),Ke(Ig,"removeState");var Og={},Pg=class{static{Ke(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const t=Dg(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Qy(this.configs,e=>e.alt)}get key(){let e="";for(const t in this.map)e+=t+":";return e}};function Dg(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}function Lg(e,t,r){for(var n=-1,a=e.length;++n<a;){var i=e[n],s=t(i);if(null!=s&&(void 0===o?s==s&&!ty(s):r(s,o)))var o=s,l=i}return l}Ke(Dg,"getATNConfigKey"),Ke(Lg,"baseExtremum");var Mg=Lg;function jg(e,t){return e<t}Ke(jg,"baseLt");var Fg=jg;function Gg(e){return e&&e.length?Mg(e,Dy,Fg):void 0}Ke(Gg,"min");var zg=Gg,Kg=Cd?Cd.isConcatSpreadable:void 0;function qg(e){return dm(e)||Nm(e)||!!(Kg&&e&&e[Kg])}Ke(qg,"isFlattenable");var Ug=qg;function Vg(e,t,r,n,a){var i=-1,s=e.length;for(r||(r=Ug),a||(a=[]);++i<s;){var o=e[i];t>0&&r(o)?t>1?Vg(o,t-1,r,n,a):pm(a,o):n||(a[a.length]=o)}return a}Ke(Vg,"baseFlatten");var Bg=Vg;function Wg(e,t){return Bg(Qy(e,t),1)}Ke(Wg,"flatMap");var Hg=Wg;function Yg(e,t,r,n){for(var a=e.length,i=r+(n?1:-1);n?i--:++i<a;)if(t(e[i],i,e))return i;return-1}Ke(Yg,"baseFindIndex");var Xg=Yg;function Zg(e){return e!=e}Ke(Zg,"baseIsNaN");var Jg=Zg;function Qg(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}Ke(Qg,"strictIndexOf");var eT=Qg;function tT(e,t,r){return t==t?eT(e,t,r):Xg(e,Jg,r)}Ke(tT,"baseIndexOf");var rT=tT;function nT(e,t){return!!(null==e?0:e.length)&&rT(e,t,0)>-1}Ke(nT,"arrayIncludes");var aT=nT;function iT(e,t,r){for(var n=-1,a=null==e?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}Ke(iT,"arrayIncludesWith");var sT=iT;function oT(){}Ke(oT,"noop");var lT=oT,uT=Eh&&1/im(new Eh([,-0]))[1]==1/0?function(e){return new Eh(e)}:lT;function cT(e,t,r){var n=-1,a=aT,i=e.length,s=!0,o=[],l=o;if(r)s=!1,a=sT;else if(i>=200){var u=t?null:uT(e);if(u)return im(u);s=!1,a=Jf,l=new Hf}else l=t?[]:o;e:for(;++n<i;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var d=l.length;d--;)if(l[d]===p)continue e;t&&l.push(p),o.push(c)}else a(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}Ke(cT,"baseUniq");var pT=cT;function dT(e,t){return e&&e.length?pT(e,qy(t)):[]}Ke(dT,"uniqBy");var fT=dT;function mT(e){return(null==e?0:e.length)?Bg(e,1):[]}Ke(mT,"flatten");var hT=mT;function yT(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}Ke(yT,"arrayEach");var gT=yT;function TT(e){return"function"==typeof e?e:Dy}Ke(TT,"castFunction");var vT=TT;function RT(e,t){return(dm(e)?gT:Yy)(e,vT(t))}Ke(RT,"forEach");var $T=RT,ET=Object.prototype.hasOwnProperty;function CT(e){if(null==e)return!0;if(dh(e)&&(dm(e)||"string"==typeof e||"function"==typeof e.splice||Mm(e)||Qm(e)||Nm(e)))return!e.length;var t=Dh(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(ih(e))return!ch(e).length;for(var r in e)if(ET.call(e,r))return!1;return!0}Ke(CT,"isEmpty");var bT=CT;function AT(e,t,r,n){var a=-1,i=null==e?0:e.length;for(n&&i&&(r=e[++a]);++a<i;)r=t(r,e[a],a,e);return r}Ke(AT,"arrayReduce");var ST=AT;function _T(e,t,r,n,a){return a(e,function(e,a,i){r=n?(n=!1,e):t(r,e,a,i)}),r}Ke(_T,"baseReduce");var xT=_T;function kT(e,t,r){var n=dm(e)?ST:xT,a=arguments.length<3;return n(e,qy(t),r,a,Yy)}Ke(kT,"reduce");var wT=kT;function NT(e,t){const r={};return n=>{const a=n.toString();let i=r[a];return void 0!==i||(i={atnStartState:e,decision:t,states:{}},r[a]=i),i}}Ke(NT,"createDFACache");var IT=class{static{Ke(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="";const t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}},OT=new IT,PT=class extends sp{static{Ke(this,"LLStarLookaheadStrategy")}constructor(e){var t,r;super(),this.logging=null!==(t=null==e?void 0:e.logging)&&void 0!==t?t:e=>console.log(e),this.incomplete=null!==(r=null==e?void 0:e.incomplete)&&void 0!==r&&r}initialize(e){this.atn=ug(e.rules),this.dfas=FT(this.atn),this.callers=LT(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:a}=e,i=this.dfas,s=this.logging,o=this.incomplete,l=ag(r,"Alternation",t),u=this.atn.decisionMap[l].decision,c=Qy(ac({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>Qy(e,e=>e[0]));if(DT(c,!1)&&!a){const e=wT(c,(e,t,r)=>($T(t,t=>{t&&(e[t.tokenTypeIdx]=r,$T(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;const n=this.LA_FAST(1),a=e[n.tokenTypeIdx];if(void 0!==t&&void 0!==a){const e=null===(r=t[a])||void 0===r?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return a}:function(){const t=this.LA_FAST(1);return e[t.tokenTypeIdx]}}return n?function(e){const t=new IT,r=void 0===e?0:e.length;for(let a=0;a<r;a++){const r=null==e?void 0:e[a].GATE;t.set(a,void 0===r||r.call(this))}const n=GT.call(this,i,u,t,s,o);return"number"==typeof n?n:void 0}:function(){const e=GT.call(this,i,u,OT,s,o);return"number"==typeof e?e:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:a}=e,i=this.dfas,s=this.logging,o=this.incomplete,l=this.callers,u=ag(r,n,t),c=this.atn.decisionMap[u],p=c.decision,d=Qy(ac({maxLookahead:1,occurrence:t,prodType:n,rule:r}),e=>Qy(e,e=>e[0]));if(DT(d)&&d[0][0]&&!a&&!jT(c,n,l)){const e=d[0],t=hT(e);if(1===t.length&&bT(t[0].categoryMatches)){const e=t[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===e}}{const e=wT(t,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,$T(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){const t=this.LA_FAST(1);return!0===e[t.tokenTypeIdx]}}}return function(){const e=GT.call(this,i,p,OT,s,o);return"object"!=typeof e&&0===e}}};function DT(e,t=!0){const r=new Set;for(const n of e){const e=new Set;for(const a of n){if(void 0===a){if(t)break;return!1}const n=[a.tokenTypeIdx].concat(a.categoryMatches);for(const t of n)if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function LT(e){const t=new Map;for(const r of e.states)for(const e of r.transitions)if(e instanceof lg){let r=t.get(e.rule);void 0===r&&(r=[],t.set(e.rule,r)),r.push(e.followState)}return t}function MT(e,t){const r=new Set,n=new Set,a=[e];for(;a.length>0;){const e=a.shift();if(!n.has(e))if(n.add(e),7!==e.type)for(const t of e.transitions)if(t instanceof sg){r.add(t.tokenType.tokenTypeIdx);for(const e of t.tokenType.categoryMatches)r.add(e)}else a.push(t.target);else if(void 0!==t){const r=t.get(e.rule);void 0!==r&&a.push(...r)}}return r}function jT(e,t,r){const n="RepetitionMandatoryWithSeparator"===t,a=e.transitions[n?1:0],i=e.transitions[n?0:1];if(void 0===a||void 0===i)return!1;const s=MT(a.target),o=MT(i.target,r);for(const l of s)if(o.has(l))return!0;return!1}function FT(e){const t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=NT(e.decisionStates[n],n);return r}function GT(e,t,r,n,a){const i=e[t](r);let s=i.start;if(void 0===s){s=QT(i,ZT(ev(i.atnStartState))),i.start=s}return zT.apply(this,[i,s,r,n,a])}function zT(e,t,r,n,a){let i=t,s=1;const o=[];let l=this.LA_FAST(s++);for(;;){let t=WT(i,l);if(void 0===t&&(t=KT.apply(this,[e,i,l,s,r,n])),t===Og)return BT(o,i,l);if(!0===t.isAcceptState){if(!0===a&&Fu(l,Mu)){const e=uv(i,r);if(void 0!==e)return e}return t.prediction}i=t,o.push(l),l=this.LA(s++)}}function KT(e,t,r,n,a,i){const s=HT(t.configs,r,a);if(0===s.size)return JT(e,t,r,Og),Og;let o=ZT(s);const l=XT(s,a);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(iv(s)){const t=zg(s.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,qT.apply(this,[e,n,s.alts,i])}return o=JT(e,t,r,o),o}function qT(e,t,r,n){const a=[];for(let s=1;s<=t;s++)a.push(this.LA(s).tokenType);const i=e.atnStartState;n(UT({topLevelRule:i.rule,ambiguityIndices:r,production:i.production,prefixPath:a}))}function UT(e){const t=Qy(e.prefixPath,e=>Au(e)).join(", "),r=0===e.production.idx?"":e.production.idx;let n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${VT(e.production)}${r}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`;return n+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",n}function VT(e){if(e instanceof Do)return"SUBRULE";if(e instanceof jo)return"OPTION";if(e instanceof qo)return"OR";if(e instanceof Fo)return"AT_LEAST_ONE";if(e instanceof Go)return"AT_LEAST_ONE_SEP";if(e instanceof Ko)return"MANY_SEP";if(e instanceof zo)return"MANY";if(e instanceof Uo)return"CONSUME";throw Error("non exhaustive match")}function BT(e,t,r){const n=Hg(t.configs.elements,e=>e.state.transitions);return{actualToken:r,possibleTokenTypes:fT(n.filter(e=>e instanceof sg).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function WT(e,t){return e.edges[t.tokenTypeIdx]}function HT(e,t,r){const n=new Pg,a=[];for(const s of e.elements){if(!1===r.is(s.alt))continue;if(7===s.state.type){a.push(s);continue}const e=s.state.transitions.length;for(let r=0;r<e;r++){const e=YT(s.state.transitions[r],t);void 0!==e&&n.add({state:e,alt:s.alt,stack:s.stack})}}let i;if(0===a.length&&1===n.size&&(i=n),void 0===i){i=new Pg;for(const e of n.elements)tv(e,i)}if(a.length>0&&!nv(i))for(const s of a)i.add(s);return i}function YT(e,t){if(e instanceof sg&&Fu(t,e.tokenType))return e.target}function XT(e,t){let r;for(const 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 ZT(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function JT(e,t,r,n){return n=QT(e,n),t.edges[r.tokenTypeIdx]=n,n}function QT(e,t){if(t===Og)return t;const r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function ev(e){const t=new Pg,r=e.transitions.length;for(let n=0;n<r;n++){tv({state:e.transitions[n].target,alt:n,stack:[]},t)}return t}function tv(e,t){const r=e.state;if(7===r.type){if(e.stack.length>0){const r=[...e.stack];tv({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);const n=r.transitions.length;for(let a=0;a<n;a++){const n=rv(e,r.transitions[a]);void 0!==n&&tv(n,t)}}function rv(e,t){if(t instanceof og)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof lg){const r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}function nv(e){for(const t of e.elements)if(7===t.state.type)return!0;return!1}function av(e){for(const t of e.elements)if(7!==t.state.type)return!1;return!0}function iv(e){if(av(e))return!0;const t=sv(e.elements);return ov(t)&&!lv(t)}function sv(e){const t=new Map;for(const r of e){const e=Dg(r,!1);let n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}function ov(e){for(const t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}function lv(e){for(const t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}function uv(e,t){let r;for(const n of e.configs.elements)if(!1!==t.is(n.alt)&&7!==n.state.type)if(void 0===r)r=n.alt;else if(r!==n.alt)return;return r}Ke(DT,"isLL1Sequence"),Ke(LT,"buildCallers"),Ke(MT,"firstSet"),Ke(jT,"optionalHasFollowConflict"),Ke(FT,"initATNSimulator"),Ke(GT,"adaptivePredict"),Ke(zT,"performLookahead"),Ke(KT,"computeLookaheadTarget"),Ke(qT,"reportLookaheadAmbiguity"),Ke(UT,"buildAmbiguityError"),Ke(VT,"getProductionDslName"),Ke(BT,"buildAdaptivePredictError"),Ke(WT,"getExistingTargetState"),Ke(HT,"computeReachSet"),Ke(YT,"getReachableTarget"),Ke(XT,"getUniqueAlt"),Ke(ZT,"newDFAState"),Ke(JT,"addDFAEdge"),Ke(QT,"addDFAState"),Ke(ev,"computeStartState"),Ke(tv,"closure"),Ke(rv,"getEpsilonTarget"),Ke(nv,"hasConfigInRuleStopState"),Ke(av,"allConfigsInRuleStopStates"),Ke(iv,"hasConflictTerminatingPrediction"),Ke(sv,"getConflictingAltSets"),Ke(ov,"hasConflictingAltSet"),Ke(lv,"hasStateAssociatedWithOneAlt"),Ke(uv,"getBestGuess");var cv=class{static{Ke(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new hv(e),this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const t=new mv;return t.grammarSource=e,this.appendChild(this.current,t),this.nodeStack.push(t),t}buildLeafNode(e,t){const r=this.createLeafNode(e,!t);return t&&(r.grammarSource=t),this.appendChild(this.current,r),r}createLeafNode(e,t){return new dv(e.startOffset,e.image.length,e.startLine-1,e.startColumn-1,e.endLine-1,e.endColumn,e.tokenType,t)}appendChild(e,t){t.container=e,e.content.push(t)}appendChildren(e,t){for(const r of t)r.container=e;0===e.content.length?e.content=t.slice():e.content.push(...t)}insertChildren(e,t,r){for(const n of r)n.container=e;e.content.splice(t,0,...r)}removeNode(e){const t=e.container;if(t){const r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){const t=[];for(const a of e)t.push(this.createLeafNode(a,!0));let r=this.current,n=!1;if(r.content.length>0)this.appendChildren(r,t);else{for(;r.container;){const e=r.container.content.indexOf(r);if(e>0){this.insertChildren(r.container,e,t),n=!0;break}r=r.container}n||this.insertChildren(this.rootNode,0,t)}}construct(e){const t=this.current;e.$cstNode=t;const r=this.nodeStack.pop();r&&(0===r.content.length?this.removeNode(r):r.content=r.content.slice())}},pv=class{static{Ke(this,"AbstractCstNode")}constructor(){this.container=void 0,this.grammarSource=void 0}get root(){let e=this;for(;e.container;)e=e.container;return e}get text(){return this.root.fullText.substring(this.offset,this.end)}},dv=class extends pv{static{Ke(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 astNode(){const e=this.container;if(!e)throw new Error("This node has no associated AST element");return e.astNode}get range(){return{start:{line:this._startLine,character:this._startColumn},end:{line:this._endLine,character:this._endColumn}}}constructor(e,t,r,n,a,i,s,o=!1){super(),this._hidden=o,this._offset=fv(e),this._length=fv(t),this._startLine=fv(r),this._startColumn=fv(n),this._endLine=fv(a),this._endColumn=fv(i),this._tokenType=s}};function fv(e){return 0|e}Ke(fv,"toSmi");var mv=class extends pv{static{Ke(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=[],this._astNode=void 0,this._rangeCache=void 0}get astNode(){let e=this;for(;e;){if(e._astNode)return e._astNode;e=e.container}throw new Error("This node has no associated AST element")}set astNode(e){this._astNode=e}get hidden(){return!1}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._rangeCache;if(void 0===e){const t=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(!t||!r)return{start:{line:0,character:0},end:{line:0,character:0}};{const{range:n}=t,{range:a}=r;this._rangeCache=e={start:n.start,end:a.end.line<n.start.line?n.start:a.end}}}return e}get firstNonHiddenNode(){for(const 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--){const t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},hv=class extends mv{static{Ke(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??""}},yv=Symbol("Datatype");function gv(e){return e.$type===yv}Ke(gv,"isDataTypeNode");var Tv=Ke(e=>e.endsWith("​")?e:e+"​","withRuleSuffix"),vv=class{static{Ke(this,"AbstractLangiumParser")}constructor(e,t){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n="production"===e.LanguageMetaData.mode;e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Sv(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},t,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Av(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},t)}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()}},Rv=class extends vv{static{Ke(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new cv,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){const r=this.computeRuleType(e);let n;Un(e)&&(n=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(Tv(e.name),this.startImplementation(r,n,t).bind(this));return this.allRules.set(e.name,a),Da(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const t=e.name,r=new Map;for(let n=0;n<e.operators.precedences.length;n++){const t=e.operators.precedences[n];for(const e of t.operators)r.set(e.value,{precedence:n,rightAssoc:"right"===t.associativity})}this.operatorPrecedence.set(t,r)}computeRuleType(e){return Un(e)?mo(e):e.fragment?void 0:co(e)?yv:mo(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");const a=this.doParse(n);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,tr(a,{deep:!0}),{value:a,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 new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return this.linkCstNode(t),t}linkCstNode(e){jt(e)&&e.$cstNode&&(e.$cstNode.astNode=e)}startImplementation(e,t,r){return n=>{const a=!this.isRecording()&&void 0!==e;if(a){const r={$type:e};this.stack.push(r),e===yv?r.value="":void 0!==t&&(r.$infixName=t)}return r(n),a?this.construct():void 0}}extractHiddenTokens(e){const t=this.lexerResult.hidden;if(!t.length)return[];const r=e.startOffset;for(let n=0;n<t.length;n++){if(t[n].startOffset>r)return t.splice(0,n)}return t.splice(0,t.length)}consume(e,t,r){const n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){const e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);const t=this.nodeBuilder.buildLeafNode(n,r),{assignment:a,crossRef:i}=this.getAssignment(r),s=this.current;if(a){const e=ia(r)?n.image:this.converter.convert(n.image,t);this.assign(a.operator,a.feature,e,t,i)}else if(gv(s)){let e=n.image;ia(r)||(e=this.converter.convert(e,t).toString()),s.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&gs(e)}subrule(e,t,r,n,a){let i,s;this.isRecording()||r||(i=this.nodeBuilder.buildCompositeNode(n));try{s=this.wrapper.wrapSubrule(e,t,a)}finally{this.isRecording()||(void 0!==s||r||(s=this.construct()),void 0!==s&&i&&i.length>0&&this.performSubruleAssignment(s,n,i))}}performSubruleAssignment(e,t,r){const{assignment:n,crossRef:a}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,a);else if(!n){const t=this.current;if(gv(t))t.value+=e.toString();else if("object"==typeof e&&e){const r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;if(t.feature&&t.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode);const n=this.nodeBuilder.buildCompositeNode(t);this.nodeBuilder.appendChild(n,r.$cstNode);const a={$type:e};this.stack.push(a),this.assign(t.operator,t.feature,r,r.$cstNode)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):gv(e)?this.converter.convert(e.value,e.$cstNode):(pr(this.astReflection,e),e)}constructInfix(e,t){const r=e.parts;if(!Array.isArray(r)||0===r.length)return;const n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let a=0,i=-1;for(let m=0;m<n.length;m++){const e=n[m],r=t.get(e)??{precedence:1/0,rightAssoc:!1};r.precedence>i?(i=r.precedence,a=m):r.precedence===i&&(r.rightAssoc||(a=m))}const s=n.slice(0,a),o=n.slice(a+1),l=r.slice(0,a+1),u=r.slice(a+1),c={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:s},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},d=this.constructInfix(c,t),f=this.constructInfix(p,t);return{$type:e.$type,$cstNode:e.$cstNode,left:d,operator:n[a],right:f}}getAssignment(e){if(!this.assignmentMap.has(e)){const t=rr(e,zr);this.assignmentMap.set(e,{assignment:t,crossRef:t&&cn(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,a){const i=this.current;let s;switch(s="single"===a&&"string"==typeof r?this.linker.buildReference(i,t,n,r):"multi"===a&&"string"==typeof r?this.linker.buildMultiReference(i,t,n,r):r,this.linkCstNode(s),e){case"=":i[t]=s;break;case"?=":i[t]=!0;break;case"+=":Array.isArray(i[t])||(i[t]=[]),i[t].push(s)}}assignWithoutOverride(e,t){for(const[r,n]of Object.entries(t)){const t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}return e.$cstNode=void 0,e}get definitionErrors(){return this.wrapper.definitionErrors}},$v=class{static{Ke(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Gu.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Gu.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Gu.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Gu.buildEarlyExitMessage(e)}},Ev=class extends $v{static{Ke(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Cv=class extends vv{static{Ke(this,"LangiumCompletionParser")}constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const 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){const r=this.wrapper.DEFINE_RULE(Tv(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=>{const r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const 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,a){this.before(n),this.wrapper.wrapSubrule(e,t,a),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},bv={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Ev},Av=class extends Bp{static{Ke(this,"ChevrotainWrapper")}constructor(e,t,r){super(e,{...bv,lookaheadStrategy:t&&"maxLookahead"in t?new sp({maxLookahead:t.maxLookahead}):new PT({logging:t.skipValidations?()=>{}:void 0,incomplete:r}),...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,{})}},Sv=class extends Av{static{Ke(this,"ProfilerWrapper")}constructor(e,t,r,n){super(e,t,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function _v(e,t,r){return xv({parser:t,tokens:r,ruleNames:new Map},e),t}function xv(e,t){const r=Js(t,!1),n=Jt(t.rules).filter(Da).filter(e=>r.has(e));for(const i of n){const t={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(i,wv(t,i.definition))}const a=Jt(t.rules).filter(Un).filter(e=>r.has(e));for(const i of a)e.parser.rule(i,kv(e,i))}function kv(e,t){const r=t.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(ki(r))throw new Error("Cannot use terminal rule in infix expression");const n=t.operators.precedences.flatMap(e=>e.operators),a={$type:"Group",elements:[]},i={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},s={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(i,s);const o={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...i,$container:s};s.elements.push(o,l);const u=n.map(t=>e.tokens[t.value]).map((t,r)=>({ALT:Ke(()=>e.parser.consume(r,t,o),"ALT")}));let c;return t=>{c??(c=Kv(e,r)),e.parser.subrule(0,c,!1,i,t),e.parser.many(0,{DEF:Ke(()=>{e.parser.alternatives(0,u),e.parser.subrule(1,c,!1,l,t)},"DEF")})}}function wv(e,t,r=!1){let n;if(ia(t))n=Gv(e,t);else if(Sr(t))n=Nv(e,t);else if(zr(t))n=wv(e,t.terminal);else if(cn(t))n=Fv(e,t);else if(Qa(t))n=Iv(e,t);else if(wr(t))n=Dv(e,t);else if(Zi(t))n=Lv(e,t);else if(In(t))n=Mv(e,t);else{if(!gn(t))throw new As(t.$cstNode,`Unexpected element type: ${t.$type}`);{const r=e.consume++;n=Ke(()=>e.parser.consume(r,Mu,t),"method")}}return zv(e,r?void 0:jv(t),n,t.cardinality)}function Nv(e,t){const r=mo(t);return()=>e.parser.action(r,t)}function Iv(e,t){const r=t.rule.ref;if(gr(r)){const n=e.subrule++,a=Da(r)&&r.fragment,i=t.arguments.length>0?Ov(r,t.arguments):()=>({});let s;return o=>{s??(s=Kv(e,r)),e.parser.subrule(n,s,a,t,i(o))}}if(ki(r)){const n=e.consume++,a=Uv(e,r.name);return()=>e.parser.consume(n,a,t)}if(!r)throw new As(t.$cstNode,`Undefined rule: ${t.rule.$refText}`);Ss()}function Ov(e,t){if(t.some(e=>e.calledByName)){const e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:Pv(e.value)}));return t=>{const r={};for(const{parameterName:n,predicate:a}of e)n&&(r[n]=a(t));return r}}{const r=t.map(e=>Pv(e.value));return t=>{const n={};for(let a=0;a<r.length;a++)if(a<e.parameters.length){const i=e.parameters[a].name,s=r[a];n[i]=s(t)}return n}}}function Pv(e){if(mn(e)){const t=Pv(e.left),r=Pv(e.right);return e=>t(e)||r(e)}if(rn(e)){const t=Pv(e.left),r=Pv(e.right);return e=>t(e)&&r(e)}if(Ta(e)){const t=Pv(e.value);return e=>!t(e)}if(Aa(e)){const t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(Ur(e)){const t=Boolean(e.true);return()=>t}Ss()}function Dv(e,t){if(1===t.elements.length)return wv(e,t.elements[0]);{const r=[];for(const a of t.elements){const t={ALT:wv(e,a,!0)},n=jv(a);n&&(t.GATE=Pv(n)),r.push(t)}const n=e.or++;return t=>e.parser.alternatives(n,r.map(e=>{const r={ALT:Ke(()=>e.ALT(t),"ALT")},n=e.GATE;return n&&(r.GATE=()=>n(t)),r}))}}function Lv(e,t){if(1===t.elements.length)return wv(e,t.elements[0]);const r=[];for(const o of t.elements){const t={ALT:wv(e,o,!0)},n=jv(o);n&&(t.GATE=Pv(n)),r.push(t)}const n=e.or++,a=Ke((e,t)=>`uGroup_${e}_${t.getRuleStack().join("-")}`,"idFunc"),i=Ke(t=>e.parser.alternatives(n,r.map((r,i)=>{const s={ALT:Ke(()=>!0,"ALT")},o=e.parser;s.ALT=()=>{if(r.ALT(t),!o.isRecording()){const e=a(n,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);const t=o.unorderedGroups.get(e);void 0===t?.[i]&&(t[i]=!0)}};const l=r.GATE;return s.GATE=l?()=>l(t):()=>{const e=o.unorderedGroups.get(a(n,o));return!e?.[i]},s})),"alternatives"),s=zv(e,jv(t),i,"*");return t=>{s(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(a(n,e.parser))}}function Mv(e,t){const r=t.elements.map(t=>wv(e,t));return e=>r.forEach(t=>t(e))}function jv(e){if(In(e))return e.guardCondition}function Fv(e,t,r=t.terminal){if(r){if(Qa(r)&&Da(r.rule.ref)){const n=r.rule.ref,a=e.subrule++;let i;return r=>{i??(i=Kv(e,n)),e.parser.subrule(a,i,!1,t,r)}}if(Qa(r)&&ki(r.rule.ref)){const n=e.consume++,a=Uv(e,r.rule.ref.name);return()=>e.parser.consume(n,a,t)}if(ia(r)){const n=e.consume++,a=Uv(e,r.value);return()=>e.parser.consume(n,a,t)}throw new Error("Could not build cross reference parser")}{if(!t.type.ref)throw new Error("Could not resolve reference to type: "+t.type.$refText);const r=lo(t.type.ref),n=r?.terminal;if(!n)throw new Error("Could not find name assignment for type: "+mo(t.type.ref));return Fv(e,t,n)}}function Gv(e,t){const r=e.consume++,n=e.tokens[t.value];if(!n)throw new Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}function zv(e,t,r,n){const a=t&&Pv(t);if(!n){if(a){const t=e.or++;return n=>e.parser.alternatives(t,[{ALT:Ke(()=>r(n),"ALT"),GATE:Ke(()=>a(n),"GATE")},{ALT:Up(),GATE:Ke(()=>!a(n),"GATE")}])}return r}if("*"===n){const t=e.many++;return n=>e.parser.many(t,{DEF:Ke(()=>r(n),"DEF"),GATE:a?()=>a(n):void 0})}if("+"===n){const t=e.many++;if(a){const n=e.or++;return i=>e.parser.alternatives(n,[{ALT:Ke(()=>e.parser.atLeastOne(t,{DEF:Ke(()=>r(i),"DEF")}),"ALT"),GATE:Ke(()=>a(i),"GATE")},{ALT:Up(),GATE:Ke(()=>!a(i),"GATE")}])}return n=>e.parser.atLeastOne(t,{DEF:Ke(()=>r(n),"DEF")})}if("?"===n){const t=e.optional++;return n=>e.parser.optional(t,{DEF:Ke(()=>r(n),"DEF"),GATE:a?()=>a(n):void 0})}Ss()}function Kv(e,t){const r=qv(e,t),n=e.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function qv(e,t){if(gr(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,a=t.$type;for(;!Da(n);){if(In(n)||wr(n)||Zi(n)){a=n.elements.indexOf(r).toString()+":"+a}r=n,n=n.$container}return a=n.name+":"+a,e.ruleNames.set(t,a),a}}function Uv(e,t){const r=e.tokens[t];if(!r)throw new Error(`Token "${t}" not found."`);return r}function Vv(e){const t=e.Grammar,r=e.parser.Lexer,n=new Cv(e);return _v(t,n,r.definition),n.finalize(),n}function Bv(e){const t=Wv(e);return t.finalize(),t}function Wv(e){const t=e.Grammar,r=e.parser.Lexer;return _v(t,new Rv(e),r.definition)}Ke(_v,"createParser"),Ke(xv,"buildRules"),Ke(kv,"buildInfixRule"),Ke(wv,"buildElement"),Ke(Nv,"buildAction"),Ke(Iv,"buildRuleCall"),Ke(Ov,"buildRuleCallPredicate"),Ke(Pv,"buildPredicate"),Ke(Dv,"buildAlternatives"),Ke(Lv,"buildUnorderedGroup"),Ke(Mv,"buildGroup"),Ke(jv,"getGuardCondition"),Ke(Fv,"buildCrossReference"),Ke(Gv,"buildKeyword"),Ke(zv,"wrap"),Ke(Kv,"getRule"),Ke(qv,"getRuleName"),Ke(Uv,"getToken"),Ke(Vv,"createCompletionParser"),Ke(Bv,"createLangiumParser"),Ke(Wv,"prepareLangiumParser");var Hv,Yv=class{static{Ke(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){const r=Jt(Js(e,!1)),n=this.buildTerminalTokens(r),a=this.buildKeywordTokens(r,n,t);return a.push(...n),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ki).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){const t=go(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=Bs(t)?bu.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!(!e.flags.includes("u")&&!e.flags.includes("s"))}regexPatternFunction(e){const t=new RegExp(e,e.flags+"y");return(e,r)=>{t.lastIndex=r;return t.exec(e)}}buildKeywordTokens(e,t,r){return e.filter(gr).flatMap(e=>or(e).filter(ia)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,Boolean(r?.caseInsensitive)))}buildKeywordToken(e,t,r){const n=this.buildKeywordPattern(e,r),a={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,t){return t?new RegExp(Ws(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{const n=r?.PATTERN;return n?.source&&Hs("^"+n.source+"$",e.value)&&t.push(r),t},[])}},Xv=class{static{Ke(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(cn(r)&&(r=eo(r)),Qa(r)){const n=r.rule.ref;if(!n)throw new 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 Hv.convertInt(t);case"STRING":return Hv.convertString(t);case"ID":return Hv.convertID(t)}switch(yo(e)?.toLowerCase()){case"number":return Hv.convertNumber(t);case"boolean":return Hv.convertBoolean(t);case"bigint":return Hv.convertBigint(t);case"date":return Hv.convertDate(t);default:return t}}};!function(e){function t(e){let t="";for(let n=1;n<e.length-1;n++){const a=e.charAt(n);if("\\"===a){t+=r(e.charAt(++n))}else t+=a}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"\t";case"v":return"\v";case"0":return"\0";default:return e}}function n(e){return"^"===e.charAt(0)?e.substring(1):e}function a(e){return parseInt(e)}function i(e){return BigInt(e)}function s(e){return new Date(e)}function o(e){return Number(e)}function l(e){return"true"===e.toLowerCase()}Ke(t,"convertString"),e.convertString=t,Ke(r,"convertEscapeCharacter"),Ke(n,"convertID"),e.convertID=n,Ke(a,"convertInt"),e.convertInt=a,Ke(i,"convertBigint"),e.convertBigint=i,Ke(s,"convertDate"),e.convertDate=s,Ke(o,"convertNumber"),e.convertNumber=o,Ke(l,"convertBoolean"),e.convertBoolean=l}(Hv||(Hv={}));var Zv=Ve(Mt());function Jv(){return new Promise(e=>{"undefined"==typeof setImmediate?setTimeout(e,0):setImmediate(e)})}Ke(Jv,"delayNextTick");var Qv=0;function eR(){return Qv=performance.now(),new Zv.CancellationTokenSource}Ke(eR,"startCancelableOperation");var tR=Symbol("OperationCancelled");function rR(e){return e===tR}async function nR(e){if(e===Zv.CancellationToken.None)return;const t=performance.now();if(t-Qv>=10&&(Qv=t,await Jv(),Qv=performance.now()),e.isCancellationRequested)throw tR}Ke(rR,"isOperationCancelled"),Ke(nR,"interruptAndCheck");var aR,iR,sR=class{static{Ke(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},oR=class e{static{Ke(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){const t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(t,r){for(const n of t)if(e.isIncremental(n)){const e=pR(n.range),t=this.offsetAt(e.start),r=this.offsetAt(e.end);this._content=this._content.substring(0,t)+n.text+this._content.substring(r,this._content.length);const a=Math.max(e.start.line,0),i=Math.max(e.end.line,0);let s=this._lineOffsets;const o=uR(n.text,!1,t);if(i-a===o.length)for(let n=0,u=o.length;n<u;n++)s[n+a+1]=o[n];else o.length<1e4?s.splice(a+1,i-a,...o):this._lineOffsets=s=s.slice(0,a+1).concat(o,s.slice(i+1));const l=n.text.length-(r-t);if(0!==l)for(let n=a+1+o.length,u=s.length;n<u;n++)s[n]=s[n]+l}else{if(!e.isFull(n))throw new Error("Unknown change event received");this._content=n.text,this._lineOffsets=void 0}this._version=r}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=uR(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const t=this.getLineOffsets();let r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){const a=Math.floor((r+n)/2);t[a]>e?n=a:r=a+1}const a=r-1;return{line:a,character:(e=this.ensureBeforeEOL(e,t[a]))-t[a]}}offsetAt(e){const t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;const r=t[e.line];if(e.character<=0)return r;const n=e.line+1<t.length?t[e.line+1]:this._content.length,a=Math.min(r+e.character,n);return this.ensureBeforeEOL(a,r)}getLineRange(e){const t=this.getLineOffsets();if(e>=t.length){const e=t.length-1;return{start:{line:e,character:0},end:{line:e,character:this._content.length-t[e]}}}if(e<0)return{start:{line:0,character:0},end:{line:0,character:0}};const r=t[e],n=e+1<t.length?t[e+1]:this._content.length;return{start:{line:e,character:0},end:{line:e,character:this.ensureBeforeEOL(n,r)-r}}}getEOLCharacters(e){const t=this.getLineOffsets();if(e>=t.length)return"";if(e<0)return"";const r=e+1<t.length?t[e+1]:this._content.length,n=this.ensureBeforeEOL(r,t[e]);return this._content.substring(n,r)}ensureBeforeEOL(e,t){for(;e>t&&cR(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)}static isFull(e){const t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength}};function lR(e,t){if(e.length<=1)return e;const r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);lR(n,t),lR(a,t);let i=0,s=0,o=0;for(;i<n.length&&s<a.length;){const r=t(n[i],a[s]);e[o++]=r<=0?n[i++]:a[s++]}for(;i<n.length;)e[o++]=n[i++];for(;s<a.length;)e[o++]=a[s++];return e}function uR(e,t,r=0){const n=t?[r]:[];for(let a=0;a<e.length;a++){const t=e.charCodeAt(a);cR(t)&&(13===t&&a+1<e.length&&10===e.charCodeAt(a+1)&&a++,n.push(r+a+1))}return n}function cR(e){return 13===e||10===e}function pR(e){const 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 dR(e){const t=pR(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){function t(e,t,r,n){return new oR(e,t,r,n)}function r(e,t,r){if(e instanceof oR)return e.update(t,r),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")}function n(e,t){const r=e.getText(),n=lR(t.map(dR),(e,t)=>{const r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r});let a=0;const i=[];for(const s of n){const t=e.offsetAt(s.range.start);if(t<a)throw new Error("Overlapping edit");t>a&&i.push(r.substring(a,t)),s.newText.length&&i.push(s.newText),a=e.offsetAt(s.range.end)}return i.push(r.substr(a)),i.join("")}Ke(t,"create"),e.create=t,Ke(r,"update"),e.update=r,Ke(n,"applyEdits"),e.applyEdits=n}(aR||(aR={})),Ke(lR,"mergeSort"),Ke(uR,"computeLineOffsets"),Ke(cR,"isEOL"),Ke(pR,"getWellformedRange"),Ke(dR,"getWellformedEdit"),(()=>{var e={975:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",a=0,i=-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(i===o-1||1===s);else if(i!==o-1&&2===s){if(n.length<2||2!==a||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="",a=0):a=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),i=o,s=0;continue}}else if(2===n.length||1===n.length){n="",a=0,i=o,s=0;continue}t&&(n.length>0?n+="/..":n="..",a=2)}else n.length>0?n+="/"+e.slice(i+1,o):n=e.slice(i+1,o),a=o-i-1;i=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}Ke(t,"e"),Ke(r,"r");var n={resolve:Ke(function(){for(var e,n="",a=!1,i=arguments.length-1;i>=-1&&!a;i--){var s;i>=0?s=arguments[i]:(void 0===e&&(e=process.cwd()),s=e),t(s),0!==s.length&&(n=s+"/"+n,a=47===s.charCodeAt(0))}return n=r(n,!a),a?n.length>0?"/"+n:"/":n.length>0?n:"."},"resolve"),normalize:Ke(function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),a=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&a&&(e+="/"),n?"/"+e:e},"normalize"),isAbsolute:Ke(function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},"isAbsolute"),join:Ke(function(){if(0===arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var a=arguments[r];t(a),a.length>0&&(void 0===e?e=a:e+="/"+a)}return void 0===e?".":n.normalize(e)},"join"),relative:Ke(function(e,r){if(t(e),t(r),e===r)return"";if((e=n.resolve(e))===(r=n.resolve(r)))return"";for(var a=1;a<e.length&&47===e.charCodeAt(a);++a);for(var i=e.length,s=i-a,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(a+p)?c=p:0===p&&(c=0));break}var d=e.charCodeAt(a+p);if(d!==r.charCodeAt(o+p))break;47===d&&(c=p)}var f="";for(p=a+c+1;p<=i;++p)p!==i&&47!==e.charCodeAt(p)||(0===f.length?f+="..":f+="/..");return f.length>0?f+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},"relative"),_makeLong:Ke(function(e){return e},"_makeLong"),dirname:Ke(function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,a=-1,i=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!i){a=s;break}}else i=!1;return-1===a?n?"/":".":n&&1===a?"//":e.slice(0,a)},"dirname"),basename:Ke(function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');t(e);var n,a=0,i=-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){a=n+1;break}}else-1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=l))}return a===i?i=l:-1===i&&(i=e.length),e.slice(a,i)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){a=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(a,i)},"basename"),extname:Ke(function(e){t(e);for(var r=-1,n=0,a=-1,i=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===a&&(i=!1,a=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!i){n=o+1;break}}return-1===r||-1===a||0===s||1===s&&r===a-1&&r===n+1?"":e.slice(r,a)},"extname"),format:Ke(function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return r=(t=e).dir||t.root,n=t.base||(t.name||"")+(t.ext||""),r?r===t.root?r+n:r+"/"+n:n;var t,r,n},"format"),parse:Ke(function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,a=e.charCodeAt(0),i=47===a;i?(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!==(a=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===a?-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&&i?e.slice(1,l):e.slice(o,l)):(0===o&&i?(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):i&&(r.dir="/"),r},"parse"),sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}Ke(r,"r"),r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};let a;if(r.r(n),r.d(n,{URI:Ke(()=>d,"URI"),Utils:Ke(()=>S,"Utils")}),"object"==typeof process)a="win32"===process.platform;else if("object"==typeof navigator){let e=navigator.userAgent;a=e.indexOf("Windows")>=0}const i=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!i.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!s.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}Ke(l,"a");const u="",c="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{static{Ke(this,"l")}static isUri(e){return e instanceof d||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,a,i=!1){"object"==typeof e?(this.scheme=e.scheme||u,this.authority=e.authority||u,this.path=e.path||u,this.query=e.query||u,this.fragment=e.fragment||u):(this.scheme=function(e,t){return e||t?e:"file"}(e,i),this.authority=t||u,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==c&&(t=c+t):t=c}return t}(this.scheme,r||u),this.query=n||u,this.fragment=a||u,l(this,i))}get fsPath(){return T(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:a,fragment:i}=e;return void 0===t?t=this.scheme:null===t&&(t=u),void 0===r?r=this.authority:null===r&&(r=u),void 0===n?n=this.path:null===n&&(n=u),void 0===a?a=this.query:null===a&&(a=u),void 0===i?i=this.fragment:null===i&&(i=u),t===this.scheme&&r===this.authority&&n===this.path&&a===this.query&&i===this.fragment?this:new m(t,r,n,a,i)}static parse(e,t=!1){const r=p.exec(e);return r?new m(r[2]||u,E(r[4]||u),E(r[5]||u),E(r[7]||u),E(r[9]||u),t):new m(u,u,u,u,u)}static file(e){let t=u;if(a&&(e=e.replace(/\\/g,c)),e[0]===c&&e[1]===c){const r=e.indexOf(c,2);-1===r?(t=e.substring(2),e=c):(t=e.substring(2,r),e=e.substring(r)||c)}return new m("file",t,e,u,u)}static from(e){const t=new m(e.scheme,e.authority,e.path,e.query,e.fragment);return l(t,!0),t}toString(e=!1){return v(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof d)return e;{const t=new m(e);return t._formatted=e.external,t._fsPath=e._sep===f?e.fsPath:null,t}}return e}}const f=a?1:void 0;class m extends d{static{Ke(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(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=f),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const 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,a=-1;for(let i=0;i<e.length;i++){const s=e.charCodeAt(i);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!==a&&(n+=encodeURIComponent(e.substring(a,i)),a=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));const t=h[s];void 0!==t?(-1!==a&&(n+=encodeURIComponent(e.substring(a,i)),a=-1),n+=t):-1===a&&(a=i)}}return-1!==a&&(n+=encodeURIComponent(e.substring(a))),void 0!==n?n:e}function g(e){let t;for(let r=0;r<e.length;r++){const 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(e,t){let r;return r=e.authority&&e.path.length>1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,a&&(r=r.replace(/\//g,"\\")),r}function v(e,t){const r=t?g:y;let n="",{scheme:a,authority:i,path:s,query:o,fragment:l}=e;if(a&&(n+=a,n+=":"),(i||"file"===a)&&(n+=c,n+=c),i){let e=i.indexOf("@");if(-1!==e){const t=i.substr(0,e);i=i.substr(e+1),e=t.lastIndexOf(":"),-1===e?n+=r(t,!1,!1):(n+=r(t.substr(0,e),!1,!1),n+=":",n+=r(t.substr(e+1),!1,!0)),n+="@"}i=i.toLowerCase(),e=i.lastIndexOf(":"),-1===e?n+=r(i,!1,!0):(n+=r(i.substr(0,e),!1,!0),n+=i.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){const 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)){const 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 R(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+R(e.substr(3)):e}}Ke(y,"m"),Ke(g,"y"),Ke(T,"v"),Ke(v,"b"),Ke(R,"C");const $=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(e){return e.match($)?e.replace($,e=>R(e)):e}Ke(E,"w");var C=r(975);const b=C.posix||C,A="/";var S,_;(_=S||(S={})).joinPath=function(e,...t){return e.with({path:b.join(e.path,...t)})},_.resolvePath=function(e,...t){let r=e.path,n=!1;r[0]!==A&&(r=A+r,n=!0);let a=b.resolve(r,...t);return n&&a[0]===A&&!e.authority&&(a=a.substring(1)),e.with({path:a})},_.dirname=function(e){if(0===e.path.length||e.path===A)return e;let t=b.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},_.basename=function(e){return b.basename(e.path)},_.extname=function(e){return b.extname(e.path)},iR=n})();var fR,{URI:mR,Utils:hR}=iR;!function(e){e.basename=hR.basename,e.dirname=hR.dirname,e.extname=hR.extname,e.joinPath=hR.joinPath,e.resolvePath=hR.resolvePath;const t="object"==typeof process&&"win32"===process?.platform;function r(e,t){return e?.toString()===t?.toString()}function n(e,r){const n="string"==typeof e?mR.parse(e).path:e.path,a="string"==typeof r?mR.parse(r).path:r.path,i=n.split("/").filter(e=>e.length>0),s=a.split("/").filter(e=>e.length>0);if(t){const e=/^[A-Z]:$/;if(i[0]&&e.test(i[0])&&(i[0]=i[0].toLowerCase()),s[0]&&e.test(s[0])&&(s[0]=s[0].toLowerCase()),i[0]!==s[0])return a.substring(1)}let o=0;for(;o<i.length&&i[o]===s[o];o++);return"../".repeat(i.length-o)+s.slice(o).join("/")}function a(e){return mR.parse(e.toString()).toString()}function i(e,t){const r="string"==typeof e?mR.parse(e):e,n="string"==typeof t?mR.parse(t):t;if(r.scheme!==n.scheme)return!1;let a=r.path,i=n.path;return"/"===i.charAt(i.length-1)&&(i=i.slice(0,-1)),"/"===a.charAt(a.length-1)&&(a=a.slice(0,-1)),i===a||!(i.length<a.length)&&("/"===i.charAt(a.length)&&i.startsWith(a))}Ke(r,"equals"),e.equals=r,Ke(n,"relative"),e.relative=n,Ke(a,"normalize"),e.normalize=a,Ke(i,"contains"),e.contains=i}(fR||(fR={}));var yR,gR,TR=class{static{Ke(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return fR.normalize(e)}clear(){this.root.children.clear()}insert(e,t){this.getNode(this.normalizeUri(e),!0).element=t}delete(e){const t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.name)}has(e){return void 0!==this.getNode(this.normalizeUri(e),!1)?.element}hasNode(e){return void 0!==this.getNode(this.normalizeUri(e),!1)}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){const t=this.normalizeUri(e),r=this.getNode(t,!1);if(r)return{name:r.name,uri:fR.joinPath(mR.parse(t),r.name).toString(),element:r.element}}findChildren(e){const t=this.normalizeUri(e),r=this.getNode(t,!1);return r?Array.from(r.children.values()).map(e=>({name:e.name,uri:fR.joinPath(mR.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const t=this.getNode(this.normalizeUri(e),!1);return t?this.collectValues(t):[]}getNode(e,t){const r=e.split("/");"/"===e.charAt(e.length-1)&&r.pop();let n=this.root;for(const a of r){let e=n.children.get(a);if(!e){if(!t)return;e={name:a,children:new Map,parent:n},n.children.set(a,e)}n=e}return n}collectValues(e){const t=[];e.element&&t.push(e.element);for(const r of e.children.values())t.push(...this.collectValues(r));return t}};(gR=yR||(yR={}))[gR.Changed=0]="Changed",gR[gR.Parsed=1]="Parsed",gR[gR.IndexedContent=2]="IndexedContent",gR[gR.ComputedScopes=3]="ComputedScopes",gR[gR.Linked=4]="Linked",gR[gR.IndexedReferences=5]="IndexedReferences",gR[gR.Validated=6]="Validated";var vR=class{static{Ke(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=Zv.CancellationToken.None){const r=await this.getInitialText(e,t);return this.createAsync(e,r,t)}async getInitialText(e,t){return this.fileSystemProvider.readFile(e)}fromTextDocument(e,t,r){return t=t??mR.parse(e.uri),Zv.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return Zv.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){const n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){const r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{const n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){const n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{const n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let a;if(r)a={parseResult:e,uri:t,state:yR.Parsed,references:[],textDocument:r};else{const r=this.createTextDocumentGetter(t,n);a={parseResult:e,uri:t,state:yR.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=a,a}async update(e,t){const r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),a=await this.getUpdatedText(e,n,t);if(n)Object.defineProperty(e,"textDocument",{value:n});else{const t=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:t})}return r!==a&&(e.parseResult=await this.parseAsync(e.uri,a,t),e.parseResult.value.$document=e),e.state=yR.Parsed,e}async getUpdatedText(e,t,r){return t?t.getText():await this.fileSystemProvider.readFile(e.uri)}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){const r=this.serviceRegistry;let n;return()=>n??(n=aR.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}},RR=class{static{Ke(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new TR,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return Jt(this.documentTrie.all())}addDocument(e){const t=e.uri.toString();if(this.documentTrie.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){const t=e.toString();return this.documentTrie.find(t)}getDocuments(e){const 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));{const r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,yR.Changed),r}deleteDocument(e){const t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=yR.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){const t=e.toString(),r=this.documentTrie.findAll(t);for(const n of r)n.state=yR.Changed;return this.documentTrie.delete(t),r}},$R=Symbol("RefResolving"),ER=class{static{Ke(this,"DefaultReferenceImpl")}constructor(e,t,r,n,a){this.resolver=e,this.node=t,this.property=r,this._ref=void 0,this.$refNode=n,this.$refText=a}get ref(){return this.resolver.resolveReference(this,this.node,this.property)}get $nodeDescription(){return this._nodeDescription}get error(){return Kt(this._ref)?this._ref:void 0}},CR=class{static{Ke(this,"DefaultMultiReferenceImpl")}constructor(e,t,r,n,a){this.resolver=e,this.node=t,this.property=r,this._items=void 0,this.$refNode=n,this.$refText=a}get items(){return this.resolver.resolveMultiReference(this,this.node,this.property)}get error(){return this._linkingError}},bR=class{static{Ke(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,this.referenceResolver={resolveReference:this.resolveReference.bind(this),resolveMultiReference:this.resolveMultiReference.bind(this)}}async link(e,t=Zv.CancellationToken.None){if(this.profiler?.isActive("linking")){const r=this.profiler.createTask("linking",this.languageId);r.start();try{for(const n of lr(e.parseResult.value))await nR(t),cr(n).forEach(t=>{const a=`${n.$type}:${t.property}`;r.startSubTask(a);try{this.doLink(t,e)}finally{r.stopSubTask(a)}})}finally{r.stop()}}else for(const r of lr(e.parseResult.value))await nR(t),cr(r).forEach(t=>this.doLink(t,e))}doLink(e,t){const r=e.reference;if("_ref"in r&&void 0===r._ref){r._ref=$R;try{const t=this.getCandidate(e);if(Kt(t))r._ref=t;else{r._nodeDescription=t;const n=this.loadAstNode(t);r._ref=n??this.createLinkingError(e,t)}}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);const 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=$R;try{const t=this.getCandidates(e),n=[];if(Kt(t))r._linkingError=t;else for(const e of t){const t=this.loadAstNode(e);t&&n.push({ref:t,$nodeDescription:e})}r._items=n}catch(n){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${n}`},r._items=[]}t.references.push(r)}}unlink(e){for(const 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){const 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){return new ER(this.referenceResolver,e,t,r,n)}buildMultiReference(e,t,r,n){return new CR(this.referenceResolver,e,t,r,n)}resolveReference(e,t,r){if(jt(e._ref))return e._ref;if(zt(e._nodeDescription)){const n=this.loadAstNode(e._nodeDescription);e._ref=n??this.createLinkingError({reference:e,container:t,property:r},e._nodeDescription)}else if(void 0===e._ref){e._ref=$R;const n=ar(t).$document,a=this.getLinkedNode({reference:e,container:t,property:r});if(a.error&&n&&n.state<yR.ComputedScopes)return e._ref=void 0;e._ref=a.node??a.error,e._nodeDescription=a.descr,n?.references.push(e)}else e._ref===$R&&this.throwCyclicReferenceError(t,r,e.$refText);return jt(e._ref)?e._ref:void 0}resolveMultiReference(e,t,r){if(Array.isArray(e._items))return e._items;if(void 0===e._items){e._items=$R;const n=ar(t).$document,a=this.getCandidates({reference:e,container:t,property:r}),i=[];if(Kt(a))e._linkingError=a;else{for(const e of a){const t=this.loadAstNode(e);t&&i.push({ref:t,$nodeDescription:e})}0===i.length&&(e._linkingError=this.createLinkingError({reference:e,container:t,property:r}))}e._items=i,n?.references.push(e)}else e._items===$R&&this.throwCyclicReferenceError(t,r,e.$refText);return Array.isArray(e._items)?e._items:[]}throwCyclicReferenceError(e,t,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{const t=this.getCandidate(e);if(Kt(t))return{error:t};const r=this.loadAstNode(t);return r?{node:r,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(t){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,t);const r=t.message??String(t);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}loadAstNode(e){if(e.node)return e.node;const t=this.langiumDocuments().getDocument(e.documentUri);return t?this.astNodeLocator.getAstNode(t.parseResult.value,e.path):void 0}createLinkingError(e,t){const r=ar(e.container).$document;r&&r.state<yR.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);return{info:e,message:`Could not resolve reference to ${this.reflection.getReferenceType(e)} named '${e.reference.$refText}'.`,targetDescription:t}}};function AR(e){return"string"==typeof e.name}Ke(AR,"isNamed");var SR=class{static{Ke(this,"DefaultNameProvider")}getName(e){if(AR(e))return e.name}getNameNode(e){return no(e.$cstNode,"name")}},_R=class{static{Ke(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=lr(e.Grammar).some(e=>cn(e)&&e.isMulti)}findDeclarations(e){if(e){const t=oo(e),r=e.astNode;if(t&&r){const n=r[t.feature];if(Ft(n)||Gt(n))return ir(n);if(Array.isArray(n))for(const t of n)if((Ft(t)||Gt(t))&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return ir(t)}if(r){const t=this.nameProvider.getNameNode(r);if(t&&(t===e||hs(e,t)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r)for(const n of cr(r))if(Gt(n.reference)&&n.reference.items.some(t=>t.ref===e))return n.reference.items.map(e=>e.ref);return[e]}return[e]}getNodeFromReferenceDescription(e){if(!e)return;const t=this.documents.getDocument(e.sourceUri);return t?this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath):void 0}findDeclarationNodes(e){const t=this.findDeclarations(e),r=[];for(const n of t){const e=this.nameProvider.getNameNode(n)??n.$cstNode;e&&r.push(e)}return r}findReferences(e,t){const 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=>fR.equals(e.sourceUri,t.documentUri))),r.push(...n),Jt(r)}getSelfReferences(e){const t=this.getSelfNodes(e),r=[];for(const n of t){const e=this.nameProvider.getNameNode(n);if(e){const t=nr(n),a=this.nodeLocator.getAstNodePath(n);r.push({sourceUri:t.uri,sourcePath:a,targetUri:t.uri,targetPath:a,segment:Ts(e),local:!0})}}return r}},xR=class{static{Ke(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(const[t,r]of e)this.add(t,r)}get size(){return Qt.sum(Jt(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{const r=this.map.get(e);if(r){const 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){const t=this.map.get(e);return t?Jt(t):Xt}has(e,t){if(void 0===t)return this.map.has(e);{const 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 Jt(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return Jt(this.map.keys())}values(){return Jt(this.map.values()).flat()}entriesGroupedByKey(){return Jt(this.map.entries())}},kR=class{static{Ke(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[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){const t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}},wR=class{static{Ke(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=Zv.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=sr,n=Zv.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,t);for(const i of r(e))await nR(n),this.addExportedSymbol(i,a,t);return a}addExportedSymbol(e,t,r){const n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=Zv.CancellationToken.None){const r=e.parseResult.value,n=new xR;for(const a of or(r))await nR(t),this.addLocalSymbol(a,e,n);return n}addLocalSymbol(e,t,r){const n=e.$container;if(n){const a=this.nameProvider.getName(e);a&&r.add(n,this.descriptions.createDescription(e,a,t))}}},NR=class{static{Ke(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){const 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){const 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}},IR=class{static{Ke(this,"MultiMapScope")}constructor(e,t,r){this.elements=new xR,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(const n of e){const e=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.add(e,n)}this.outerScope=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||0===r.length)&&this.outerScope?Jt(r).concat(this.outerScope.getElements(e)):Jt(r)}getAllElements(){let e=Jt(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},OR=class{static{Ke(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 new Error("This cache has already been disposed")}},PR=class extends OR{static{Ke(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){const r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},DR=class extends OR{static{Ke(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();const n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){const 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){const t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){const t=this.converter(e);let r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},LR=class extends PR{static{Ke(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()}))}},MR=class{static{Ke(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 LR(e.shared)}getScope(e){const t=[],r=this.reflection.getReferenceType(e),n=nr(e.container).localSymbols;if(n){let a=e.container;do{n.has(a)&&t.push(n.getStream(a).filter(e=>this.reflection.isSubtype(e.type,r))),a=a.$container}while(a)}let a=this.getGlobalScope(r,e);for(let i=t.length-1;i>=0;i--)a=this.createScope(t[i],a);return a}createScope(e,t,r){return new NR(Jt(e),t,r)}createScopeForNodes(e,t,r){const n=Jt(e).map(e=>{const t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable();return new NR(n,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new IR(this.indexManager.allElements(e)))}};function jR(e){return"string"==typeof e.$comment}function FR(e){return"object"==typeof e&&!!e&&("$ref"in e||"$refs"in e||"$error"in e)}Ke(jR,"isAstNodeWithComment"),Ke(FR,"isIntermediateReference");var GR,zR,KR=class{static{Ke(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){const r=t??{},n=t?.replacer,a=Ke((e,t)=>this.replacer(e,t,r),"defaultReplacer"),i=n?(e,t)=>n(e,t,a):a;try{return this.currentDocument=nr(e),JSON.stringify(e,i,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){const r=t??{},n=JSON.parse(e);return this.linkNode(n,n,r),n}replacer(e,t,{refText:r,sourceText:n,textRegions:a,comments:i,uriConverter:s}){if(!this.ignoreProperties.has(e)){if(Ft(t)){const e=t.ref,n=r?t.$refText:void 0;if(e){const t=nr(e);let r="";this.currentDocument&&this.currentDocument!==t&&(r=s?s(t.uri,e):t.uri.toString());return{$ref:`${r}#${this.astNodeLocator.getAstNodePath(e)}`,$refText:n}}return{$error:t.error?.message??"Could not resolve reference",$refText:n}}if(Gt(t)){const e=r?t.$refText:void 0,n=[];for(const r of t.items){const e=r.ref,t=nr(r.ref);let a="";this.currentDocument&&this.currentDocument!==t&&(a=s?s(t.uri,e):t.uri.toString());const i=this.astNodeLocator.getAstNodePath(e);n.push(`${a}#${i}`)}return{$refs:n,$refText:e}}if(jt(t)){let r;if(a&&(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),i){r??(r={...t});const e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return r??t}return t}}addAstNodeRegionWithAssignmentsTo(e){const t=Ke(e=>({offset:e.offset,end:e.end,length:e.length,range:e.range}),"createDocumentSegment");if(e.$cstNode){const r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{const a=ro(e.$cstNode,n).map(t);0!==a.length&&(r[n]=a)}),e}}linkNode(e,t,r,n,a,i){for(const[o,l]of Object.entries(e))if(Array.isArray(l))for(let n=0;n<l.length;n++){const a=l[n];FR(a)?l[n]=this.reviveReference(e,o,t,a,r):jt(a)&&this.linkNode(a,t,r,e,o,n)}else FR(l)?e[o]=this.reviveReference(e,o,t,l,r):jt(l)&&this.linkNode(l,t,r,e,o);const s=e;s.$container=n,s.$containerProperty=a,s.$containerIndex=i}reviveReference(e,t,r,n,a){let i,s=n.$refText,o=n.$error;if(n.$ref){const e=this.getRefNode(r,n.$ref,a.uriConverter);if(jt(e))return s||(s=this.nameProvider.getName(e)),{$refText:s??"",ref:e};o=e}else if(n.$refs){const e=[];for(const t of n.$refs){const n=this.getRefNode(r,t,a.uriConverter);jt(n)&&e.push({ref:n})}if(0!==e.length)return{$refText:s??"",items:e};i={$refText:s??"",items:e},o??(o="Could not resolve multi-reference")}return o?(i??(i={$refText:s??"",ref:void 0}),i.error={info:{container:e,property:t,reference:i},message:o},i):void 0}getRefNode(e,t,r){try{const n=t.indexOf("#");if(0===n){const r=this.astNodeLocator.getAstNode(e,t.substring(1));return r||"Could not resolve path: "+t}if(n<0){const e=r?r(t):mR.parse(t),n=this.langiumDocuments.getDocument(e);return n?n.parseResult.value:"Could not find document for URI: "+t}const a=r?r(t.substring(0,n)):mR.parse(t.substring(0,n)),i=this.langiumDocuments.getDocument(a);if(!i)return"Could not find document for URI: "+t;if(n===t.length-1)return i.parseResult.value;const s=this.astNodeLocator.getAstNode(i.parseResult.value,t.substring(n+1));return s||"Could not resolve URI: "+t}catch(n){return String(n)}}},qR=class{static{Ke(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){const t=e.LanguageMetaData;for(const 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(const 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 new Error("The service registry is empty. Use `register` to register the services of a language.");const t=this.textDocuments?.get(e)?.languageId;if(void 0!==t){const e=this.languageIdMap.get(t);if(e)return e}const r=fR.extname(e),n=fR.basename(e),a=this.fileNameMap.get(n)??this.fileExtensionMap.get(r);if(!a)throw t?new Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`):new Error(`The service registry contains no services for the extension '${r}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function UR(e){return{code:e}}Ke(UR,"diagnosticData"),(zR=GR||(GR={})).defaults=["fast","slow","built-in"],zR.all=zR.defaults;var VR,BR,WR=class{static{Ke(this,"ValidationRegistry")}constructor(e){this.entries=new xR,this.knownCategories=new Set(GR.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(r);for(const[n,a]of Object.entries(e)){const e=a;if(Array.isArray(e))for(const a of e){const e={check:this.wrapValidationException(a,t),category:r};this.addEntry(n,e)}else if("function"==typeof e){const a={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,a)}else Ss()}}wrapValidationException(e,t){return async(r,n,a)=>{await this.handleException(()=>e.call(t,r,n,a),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(a){if(rR(a))throw a;console.error(`${t}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);r("error",`${t}: ${a instanceof Error?a.message:String(a)}`,{node:n})}}addEntry(e,t){if("AstNode"!==e)for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,t);else this.entries.add("AstNode",t)}getChecks(e,t){let r=Jt(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,a,i,s)=>{await this.handleException(()=>e.call(r,n,a,i,s),t,a,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},HR=Object.freeze({validateNode:!0,validateChildren:!0}),YR=class{static{Ke(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=Zv.CancellationToken.None){const n=e.parseResult,a=[];if(await nR(r),!t.categories||t.categories.includes("built-in")){if(this.processLexingErrors(n,a,t),t.stopAfterLexingErrors&&a.some(e=>e.data?.code===VR.LexingError))return a;if(this.processParsingErrors(n,a,t),t.stopAfterParsingErrors&&a.some(e=>e.data?.code===VR.ParsingError))return a;if(this.processLinkingErrors(e,a,t),t.stopAfterLinkingErrors&&a.some(e=>e.data?.code===VR.LinkingError))return a}try{a.push(...await this.validateAst(n.value,t,r))}catch(i){if(rR(i))throw i;console.error("An error occurred during validation:",i)}return await nR(r),a}processLexingErrors(e,t,r){const n=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of n){const e=a.severity??"error",r={severity:ZR(e),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:JR(e),source:this.getSource()};t.push(r)}}processParsingErrors(e,t,r){for(const n of e.parserErrors){let e;if(gs(n.token))e=ys(n.token);else if("previousToken"in n){const t=n.previousToken;if(gs(t)){const r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}else{const t={line:0,character:0};e={start:t,end:t}}}if(e){const r={severity:ZR("error"),range:e,message:n.message,data:UR(VR.ParsingError),source:this.getSource()};t.push(r)}}}processLinkingErrors(e,t,r){for(const n of e.references){const e=n.error;if(e){const r={node:e.info.container,range:n.$refNode?.range,property:e.info.property,index:e.info.index,data:{code:VR.LinkingError,containerType:e.info.container.$type,property:e.info.property,refText:e.info.reference.$refText}};t.push(this.toDiagnostic("error",e.message,r))}}}async validateAst(e,t,r=Zv.CancellationToken.None){const n=[],a=Ke((e,t,r)=>{n.push(this.toDiagnostic(e,t,r))},"acceptor");return await this.validateAstBefore(e,t,a,r),await this.validateAstNodes(e,t,a,r),await this.validateAstAfter(e,t,a,r),n}async validateAstBefore(e,t,r,n=Zv.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const i of a)await nR(n),await i(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=Zv.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const i=lr(e).iterator();for(const e of i){a.startSubTask(e.$type);const s=this.validateSingleNodeOptions(e,t);if(s.validateNode)try{const a=this.validationRegistry.getChecks(e.$type,t.categories);for(const t of a)await t(e,r,n)}finally{a.stopSubTask(e.$type)}s.validateChildren||i.prune()}}finally{a.stop()}}else{const a=lr(e).iterator();for(const e of a){await nR(n);const i=this.validateSingleNodeOptions(e,t);if(i.validateNode){const a=this.validationRegistry.getChecks(e.$type,t.categories);for(const t of a)await t(e,r,n)}i.validateChildren||a.prune()}}}validateSingleNodeOptions(e,t){return HR}async validateAstAfter(e,t,r,n=Zv.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const i of a)await nR(n),await i(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:XR(r),severity:ZR(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 XR(e){if(e.range)return e.range;let t;return"string"==typeof e.property?t=no(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=io(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 ZR(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+e)}}function JR(e){switch(e){case"error":return UR(VR.LexingError);case"warning":return UR(VR.LexingWarning);case"info":return UR(VR.LexingInfo);case"hint":return UR(VR.LexingHint);default:throw new Error("Invalid diagnostic severity: "+e)}}Ke(XR,"getDiagnosticRange"),Ke(ZR,"toDiagnosticSeverity"),Ke(JR,"toDiagnosticData"),(BR=VR||(VR={})).LexingError="lexing-error",BR.LexingWarning="lexing-warning",BR.LexingInfo="lexing-info",BR.LexingHint="lexing-hint",BR.ParsingError="parsing-error",BR.LinkingError="linking-error";var QR,e$=class{static{Ke(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){const n=r??nr(e);t??(t=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${a} has no name.`);let i;const s=Ke(()=>i??(i=Ts(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return s()},selectionSegment:Ts(e.$cstNode),type:e.$type,documentUri:n.uri,path:a}}},t$=class{static{Ke(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=Zv.CancellationToken.None){const r=[],n=e.parseResult.value;for(const a of lr(n))await nR(t),cr(a).forEach(e=>{e.reference.error||r.push(...this.createInfoDescriptions(e))});return r}createInfoDescriptions(e){const t=e.reference;if(t.error||!t.$refNode)return[];let r=[];Ft(t)&&t.$nodeDescription?r=[t.$nodeDescription]:Gt(t)&&(r=t.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));const n=nr(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),i=[],s=Ts(t.$refNode);for(const o of r)i.push({sourceUri:n,sourcePath:a,targetUri:o.documentUri,targetPath:o.path,segment:s,local:fR.equals(o.documentUri,n)});return i}},r$=class{static{Ke(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new 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;const r=t.indexOf(this.indexSeparator);if(r>0){const n=t.substring(0,r),a=parseInt(t.substring(r+1)),i=e[n];return i?.[a]}return e[t]},e)}},n$=Ve(Mt()),a$=class{static{Ke(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new sR,this.onConfigurationSectionUpdateEmitter=new n$.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){const t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const 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;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},i$=Ve(Mt());!function(e){function t(e){return{dispose:Ke(async()=>await e(),"dispose")}}Ke(t,"create"),e.create=t}(QR||(QR={}));var s$=class{static{Ke(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new xR,this.documentPhaseListeners=new xR,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=yR.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=Zv.CancellationToken.None){for(const n of e){const e=n.uri.toString();if(n.state===yR.Validated){if("boolean"==typeof t.validation&&t.validation)this.resetToState(n,yR.IndexedReferences);else if("object"==typeof t.validation){const r=this.findMissingValidationCategories(n,t);r.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:{categories:r}},result:this.buildState.get(e)?.result}),n.state=yR.IndexedReferences)}}else this.buildState.delete(e)}this.currentState=yR.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=Zv.CancellationToken.None){this.currentState=yR.Changed;const n=[];for(const o of t){const e=this.langiumDocuments.deleteDocuments(o);for(const t of e)n.push(t.uri),this.cleanUpDeleted(t)}const a=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(const o of a){let e=this.langiumDocuments.getDocument(o);void 0===e&&(e=this.langiumDocumentFactory.fromModel({$type:"INVALID"},o),e.state=yR.Changed,this.langiumDocuments.addDocument(e)),this.resetToState(e,yR.Changed)}const i=Jt(a).concat(n).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!i.has(e.uri.toString())&&this.shouldRelink(e,i)).forEach(e=>this.resetToState(e,yR.ComputedScopes)),await this.emitUpdate(a,n),await nR(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<yR.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){const r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set;return Jt(void 0===t||!0===t.validation?n:"object"==typeof t.validation?t.validation.categories??n:[]).filter(e=>!a.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const 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 Boolean(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),QR.create(()=>{const t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case yR.Changed:case yR.Parsed:this.indexManager.removeContent(e.uri);case yR.IndexedContent:e.localSymbols=void 0;case yR.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case yR.Linked:this.indexManager.removeReferences(e.uri);case yR.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case yR.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=yR.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,yR.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,yR.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,yR.ComputedScopes,r,async e=>{const t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.localSymbols=await t.collectLocalSymbols(e,r)});const n=e.filter(e=>this.shouldLink(e));await this.runCancelable(n,yR.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(n,yR.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));const a=e.filter(e=>!!this.shouldValidate(e)||(this.markAsCompleted(e),!1));await this.runCancelable(a,yR.Validated,r,async e=>{await this.validate(e,r),this.markAsCompleted(e)})}markAsCompleted(e){const t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(const r of e){const 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(const i of e)i.state<t&&(await nR(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r));const a=e.filter(e=>e.state===t);await this.notifyBuildPhase(a,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),QR.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),QR.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return t&&"path"in t?n=t:r=t,r??(r=Zv.CancellationToken.None),n?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){const n=this.langiumDocuments.getDocument(t);return n?n.state>=e?Promise.resolve(t):r.isCancellationRequested?Promise.reject(tR):this.currentState>=e&&e>n.state?Promise.reject(new i$.ResponseError(i$.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${yR[n.state]}, requiring ${yR[e]}, but workspace state is already ${yR[this.currentState]}. Returning undefined.`)):new Promise((n,a)=>{const i=this.onDocumentPhase(e,e=>{fR.equals(e.uri,t)&&(i.dispose(),s.dispose(),n(e.uri))}),s=r.onCancellationRequested(()=>{i.dispose(),s.dispose(),a(tR)})}):Promise.reject(new i$.ResponseError(i$.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(tR):new Promise((r,n)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),i.dispose(),r()}),i=t.onCancellationRequested(()=>{a.dispose(),i.dispose(),n(tR)})})}async notifyDocumentPhase(e,t,r){const n=this.documentPhaseListeners.get(t).slice();for(const i of n)try{await nR(r),await i(e,r)}catch(a){if(!rR(a))throw a}}async notifyBuildPhase(e,t,r){if(0===e.length)return;const n=this.buildPhaseListeners.get(t).slice();for(const a of n)await nR(r),await a(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return Boolean(this.getBuildOptions(e).validation)}async validate(e,t){const r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),a="object"==typeof n.validation?{...n.validation}:{};a.categories=this.findMissingValidationCategories(e,n);const i=await r.validateDocument(e,a,t);e.diagnostics?e.diagnostics.push(...i):e.diagnostics=i;const s=this.buildState.get(e.uri.toString());s&&(s.result??(s.result={}),s.result.validationChecks?s.result.validationChecks=Jt(s.result.validationChecks).concat(a.categories).distinct().toArray():s.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},o$=class{static{Ke(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new DR,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const r=nr(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{fR.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),Jt(n)}allElements(e,t){let r=Jt(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){if(!t)return this.symbolIndex.get(e)??[];return this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t)))}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){const t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=Zv.CancellationToken.None){const r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.collectExportedSymbols(e,t),a=e.uri.toString();this.symbolIndex.set(a,n),this.symbolByTypeIndex.clear(a)}async updateReferences(e,t=Zv.CancellationToken.None){const r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){const r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}},l$=class{static{Ke(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new sR,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=Zv.CancellationToken.None){const r=await this.performStartup(e);await nR(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){const t=[],r=Ke(e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)},"collector");await this.loadAdditionalDocuments(e,r);const n=[];await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,n)));const a=Jt(n).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e));return await this.loadWorkspaceDocuments(a,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{const r=await this.langiumDocuments.getOrCreateDocument(e);t(r)}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return mR.parse(e.uri)}async traverseFolder(e,t){try{const 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(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){const t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){const t=fR.basename(e.uri);return!t.startsWith(".")&&(e.isDirectory?"node_modules"!==t&&"out"!==t:!!e.isFile&&this.serviceRegistry.hasServices(e.uri))}},u$=class{static{Ke(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,a){return Eu.buildUnexpectedCharactersMessage(e,t,r,n,a)}buildUnableToPopLexerModeMessage(e){return Eu.buildUnableToPopLexerModeMessage(e)}},c$={mode:"full"},p$=class{static{Ke(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);const r=m$(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new bu(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=c$){const r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(m$(e))return e;const t=f$(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}};function d$(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}function f$(e){return e&&"modes"in e&&"defaultMode"in e}function m$(e){return!d$(e)&&!f$(e)}function h$(e,t,r){let n,a;"string"==typeof e?(a=t,n=r):(a=e.range.start,n=t),a||(a=i.create(0,0));return S$({index:0,tokens:R$({lines:g$(e),position:a,options:O$(n)}),position:a})}function y$(e,t){const r=O$(t),n=g$(e);if(0===n.length)return!1;const a=n[0],i=n[n.length-1],s=r.start,o=r.end;return Boolean(s?.exec(a))&&Boolean(o?.exec(i))}function g$(e){let t="";t="string"==typeof e?e:e.text;return t.split(zs)}Ke(d$,"isTokenTypeArray"),Ke(f$,"isIMultiModeLexerDefinition"),Ke(m$,"isTokenTypeDictionary"),ct(),Ke(h$,"parseJSDoc"),Ke(y$,"isJSDoc"),Ke(g$,"getLines");var T$=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,v$=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function R$(e){const t=[];let r=e.position.line,n=e.position.character;for(let a=0;a<e.lines.length;a++){const o=0===a,l=a===e.lines.length-1;let u=e.lines[a],c=0;if(o&&e.options.start){const t=e.options.start?.exec(u);t&&(c=t.index+t[0].length)}else{const t=e.options.line?.exec(u);t&&(c=t.index+t[0].length)}if(l){const t=e.options.end?.exec(u);t&&(u=u.substring(0,t.index))}u=u.substring(0,A$(u));if(b$(u,c)>=u.length){if(t.length>0){const e=i.create(r,n);t.push({type:"break",content:"",range:s.create(e,e)})}}else{T$.lastIndex=c;const e=T$.exec(u);if(e){const a=e[0],o=e[1],l=i.create(r,n+c),p=i.create(r,n+c+a.length);t.push({type:"tag",content:o,range:s.create(l,p)}),c+=a.length,c=b$(u,c)}if(c<u.length){const e=u.substring(c),a=Array.from(e.matchAll(v$));t.push(...$$(a,e,r,n+c))}}r++,n=0}return t.length>0&&"break"===t[t.length-1].type?t.slice(0,-1):t}function $$(e,t,r,n){const a=[];if(0===e.length){const e=i.create(r,n),o=i.create(r,n+t.length);a.push({type:"text",content:t,range:s.create(e,o)})}else{let o=0;for(const u of e){const e=u.index,l=t.substring(o,e);l.length>0&&a.push({type:"text",content:t.substring(o,e),range:s.create(i.create(r,o+n),i.create(r,e+n))});let c=l.length+1;const p=u[1];if(a.push({type:"inline-tag",content:p,range:s.create(i.create(r,o+c+n),i.create(r,o+c+p.length+n))}),c+=p.length,4===u.length){c+=u[2].length;const e=u[3];a.push({type:"text",content:e,range:s.create(i.create(r,o+c+n),i.create(r,o+c+e.length+n))})}else a.push({type:"text",content:"",range:s.create(i.create(r,o+c+n),i.create(r,o+c+n))});o=e+u[0].length}const l=t.substring(o);l.length>0&&a.push({type:"text",content:l,range:s.create(i.create(r,o+n),i.create(r,o+n+l.length))})}return a}Ke(R$,"tokenize"),Ke($$,"buildInlineTokens");var E$=/\S/,C$=/\s*$/;function b$(e,t){const r=e.substring(t).match(E$);return r?t+r.index:e.length}function A$(e){const t=e.match(C$);if(t&&"number"==typeof t.index)return t.index}function S$(e){const t=i.create(e.position.line,e.position.character);if(0===e.tokens.length)return new D$([],s.create(t,t));const r=[];for(;e.index<e.tokens.length;){const t=_$(e,r[r.length-1]);t&&r.push(t)}const n=r[0]?.range.start??t,a=r[r.length-1]?.range.end??t;return new D$(r,s.create(n,a))}function _$(e,t){const r=e.tokens[e.index];return"tag"===r.type?N$(e,!1):"text"===r.type||"inline-tag"===r.type?k$(e):(x$(r,t),void e.index++)}function x$(e,t){if(t){const r=new G$("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}function k$(e){let t=e.tokens[e.index];const r=t;let n=t;const a=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)a.push(w$(e)),n=t,t=e.tokens[e.index];return new F$(a,s.create(r.range.start,n.range.end))}function w$(e){return"inline-tag"===e.tokens[e.index].type?N$(e,!0):I$(e)}function N$(e,t){const r=e.tokens[e.index++],n=r.content.substring(1),a=e.tokens[e.index];if("text"===a?.type){if(t){const a=I$(e);return new L$(n,new F$([a],a.range),t,s.create(r.range.start,a.range.end))}{const a=k$(e);return new L$(n,a,t,s.create(r.range.start,a.range.end))}}{const e=r.range;return new L$(n,new F$([],e),t,e)}}function I$(e){const t=e.tokens[e.index++];return new G$(t.content,t.range)}function O$(e){if(!e)return O$({start:"/**",end:"*/",line:"*"});const{start:t,end:r,line:n}=e;return{start:P$(t,!0),end:P$(r,!1),line:P$(n,!0)}}function P$(e,t){if("string"==typeof e||"object"==typeof e){const r="string"==typeof e?Ws(e):e.source;return t?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}return e}Ke(b$,"skipWhitespace"),Ke(A$,"lastCharacter"),Ke(S$,"parseJSDocComment"),Ke(_$,"parseJSDocElement"),Ke(x$,"appendEmptyLine"),Ke(k$,"parseJSDocText"),Ke(w$,"parseJSDocInline"),Ke(N$,"parseJSDocTag"),Ke(I$,"parseJSDocLine"),Ke(O$,"normalizeOptions"),Ke(P$,"normalizeOption");var D$=class{static{Ke(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(const t of this.elements)if(0===e.length)e=t.toString();else{const r=t.toString();e+=z$(e)+r}return e.trim()}toMarkdown(e){let t="";for(const r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{const n=r.toMarkdown(e);t+=z$(t)+n}return t.trim()}},L$=class{static{Ke(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`;const t=this.content.toString();return 1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}\n${t}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const t=this.content.toMarkdown(e);if(this.inline){const r=M$(this.name,t,e??{});if("string"==typeof r)return r}let r="";"italic"===e?.tag||void 0===e?.tag?r="*":"bold"===e?.tag?r="**":"bold-italic"===e?.tag&&(r="***");let n=`${r}@${this.name}${r}`;return 1===this.content.inlines.length?n=`${n} — ${t}`:this.content.inlines.length>1&&(n=`${n}\n${t}`),this.inline?`{${n}}`:n}};function M$(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){const n=t.indexOf(" ");let a=t;if(n>0){const e=b$(t,n);a=t.substring(e),t=t.substring(0,n)}("linkcode"===e||"link"===e&&"code"===r.link)&&(a=`\`${a}\``);return r.renderLink?.(t,a)??j$(t,a)}}function j$(e,t){try{return mR.parse(e,!0),`[${t}](${e})`}catch{return e}}Ke(M$,"renderInlineTag"),Ke(j$,"renderLinkDefault");var F$=class{static{Ke(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){const 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++){const n=this.inlines[r],a=this.inlines[r+1];t+=n.toMarkdown(e),a&&a.range.start.line>n.range.start.line&&(t+="\n")}return t}},G$=class{static{Ke(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function z$(e){return e.endsWith("\n")?"\n":"\n\n"}Ke(z$,"fillNewlines");var K$,q$,U$=class{static{Ke(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const t=this.commentProvider.getComment(e);if(t&&y$(t)){return h$(t).toMarkdown({renderLink:Ke((t,r)=>this.documentationLinkRenderer(e,t,r),"renderLink"),renderTag:Ke(t=>this.documentationTagRenderer(e,t),"renderTag")})}}documentationLinkRenderer(e,t,r){const n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){const e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1;return`[${r}](${n.documentUri.with({fragment:`L${e},${t}`}).toString()})`}}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){const r=nr(e).localSymbols;if(!r)return;let n=e;do{const 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)}},V$=class{static{Ke(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return jR(e)?e.$comment:Es(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},B$=class{static{Ke(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}};(q$=K$||(K$={}))[q$.Normal=0]="Normal",q$[q$.Immediate=1]="Immediate";var W$,H$=class{static{Ke(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Zv.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.immediateReads=[],this.done=!0}write(e){this.cancelWrite();const t=eR();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e,t=K$.Normal){if(t===K$.Immediate){const t=Promise.resolve().then(()=>e());this.immediateReads.push(t);const r=Ke(()=>{this.immediateReads.splice(this.immediateReads.indexOf(t),1)},"remove");return t.then(r,r),t}return this.enqueue(this.readQueue,e)}enqueue(e,t,r=Zv.CancellationToken.None){const n=new sR,a={action:t,deferred:n,cancellationToken:r};return e.push(a),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)for(e.push(this.writeQueue.shift()),this.done=!1;this.immediateReads.length>0;)await Promise.allSettled(this.immediateReads.slice());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{const n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(n){rR(n)?t.resolve(void 0):t.reject(n)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},Y$=class{static{Ke(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new kR,this.tokenTypeIdMap=new kR,this.cstNodeBuilder=new cv,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){const t=new Map,r=new Map;for(const n of lr(e))t.set(n,{});if(e.$cstNode)for(const n of ms(e.$cstNode))r.set(n,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(const[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){const e=[];r[n]=e;for(const r of a)jt(r)?e.push(this.dehydrateAstNode(r,t)):Ft(r)?e.push(this.dehydrateReference(r,t)):e.push(r)}else jt(a)?r[n]=this.dehydrateAstNode(a,t):Ft(a)?r[n]=this.dehydrateReference(a,t):void 0!==a&&(r[n]=a);return r}dehydrateReference(e,t){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){const r=t.cstNodes.get(e);if(Bt(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,Ut(e))r.content=e.content.map(e=>this.dehydrateCstNode(e,t));else if(Vt(e)){r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length;const{start:t,end:n}=e.range;r.startLine=t.line,r.startColumn=t.character,r.endLine=n.line,r.endColumn=n.character}return r}hydrate(e){const 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){const t=new Map,r=new Map;for(const n of lr(e))t.set(n,{});if(e.$cstNode)for(const n of ms(e.$cstNode)){let e;"fullText"in n?e=new hv(n.fullText):"content"in n?e=new mv:"tokenType"in n&&(e=this.hydrateCstLeafNode(n)),e&&r.set(n,e)}return{astNodes:t,cstNodes:r,linkedCstNodes:new Set}}hydrateAstNode(e,t){const r=t.astNodes.get(e);if(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode){const n=t.cstNodes.get(e.$cstNode);r.$cstNode=n,n&&!t.linkedCstNodes.has(n)&&(t.linkedCstNodes.add(n),n.astNode=r)}for(const[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){const e=[];r[n]=e;for(const i of a)jt(i)?e.push(this.setParent(this.hydrateAstNode(i,t),r)):Ft(i)?e.push(this.hydrateReference(i,r,n,t)):e.push(i)}else jt(a)?r[n]=this.setParent(this.hydrateAstNode(a,t),r):Ft(a)?r[n]=this.hydrateReference(a,r,n,t):void 0!==a&&(r[n]=a);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){const n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),Ut(n)){const a=[];for(const n of e.content)a.push(this.hydrateCstNode(n,t,r++));this.cstNodeBuilder.appendChildren(n,a)}return n}hydrateCstLeafNode(e){const t=this.getTokenType(e.tokenType);return new dv(e.offset,e.length,e.startLine,e.startColumn,e.endLine,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){0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap();return this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const t of lr(this.grammar))hr(t)&&this.grammarElementIdMap.set(t,e++)}};function X$(e){return{documentation:{CommentProvider:Ke(e=>new V$(e),"CommentProvider"),DocumentationProvider:Ke(e=>new U$(e),"DocumentationProvider")},parser:{AsyncParser:Ke(e=>new B$(e),"AsyncParser"),GrammarConfig:Ke(e=>_o(e),"GrammarConfig"),LangiumParser:Ke(e=>Bv(e),"LangiumParser"),CompletionParser:Ke(e=>Vv(e),"CompletionParser"),ValueConverter:Ke(()=>new Xv,"ValueConverter"),TokenBuilder:Ke(()=>new Yv,"TokenBuilder"),Lexer:Ke(e=>new p$(e),"Lexer"),ParserErrorMessageProvider:Ke(()=>new Ev,"ParserErrorMessageProvider"),LexerErrorMessageProvider:Ke(()=>new u$,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:Ke(()=>new r$,"AstNodeLocator"),AstNodeDescriptionProvider:Ke(e=>new e$(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:Ke(e=>new t$(e),"ReferenceDescriptionProvider")},references:{Linker:Ke(e=>new bR(e),"Linker"),NameProvider:Ke(()=>new SR,"NameProvider"),ScopeProvider:Ke(e=>new MR(e),"ScopeProvider"),ScopeComputation:Ke(e=>new wR(e),"ScopeComputation"),References:Ke(e=>new _R(e),"References")},serializer:{Hydrator:Ke(e=>new Y$(e),"Hydrator"),JsonSerializer:Ke(e=>new KR(e),"JsonSerializer")},validation:{DocumentValidator:Ke(e=>new YR(e),"DocumentValidator"),ValidationRegistry:Ke(e=>new WR(e),"ValidationRegistry")},shared:Ke(()=>e.shared,"shared")}}function Z$(e){return{ServiceRegistry:Ke(e=>new qR(e),"ServiceRegistry"),workspace:{LangiumDocuments:Ke(e=>new RR(e),"LangiumDocuments"),LangiumDocumentFactory:Ke(e=>new vR(e),"LangiumDocumentFactory"),DocumentBuilder:Ke(e=>new s$(e),"DocumentBuilder"),IndexManager:Ke(e=>new o$(e),"IndexManager"),WorkspaceManager:Ke(e=>new l$(e),"WorkspaceManager"),FileSystemProvider:Ke(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:Ke(()=>new H$,"WorkspaceLock"),ConfigurationProvider:Ke(e=>new a$(e),"ConfigurationProvider")},profilers:{}}}function J$(e,t,r,n,a,i,s,o,l){return eE([e,t,r,n,a,i,s,o,l].reduce(nE,{}))}Ke(X$,"createDefaultCoreModule"),Ke(Z$,"createDefaultSharedCoreModule"),(W$||(W$={})).merge=(e,t)=>nE(nE({},e),t),Ke(J$,"inject");var Q$=Symbol("isProxy");function eE(e,t){const r=new Proxy({},{deleteProperty:Ke(()=>!1,"deleteProperty"),set:Ke(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:Ke((n,a)=>a===Q$||rE(n,a,e,t||r),"get"),getOwnPropertyDescriptor:Ke((n,a)=>(rE(n,a,e,t||r),Object.getOwnPropertyDescriptor(n,a)),"getOwnPropertyDescriptor"),has:Ke((t,r)=>r in e,"has"),ownKeys:Ke(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}Ke(eE,"_inject");var tE=Symbol();function rE(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===tE)throw new 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){const i=r[t];e[t]=tE;try{e[t]="function"==typeof i?i(n):eE(i,n)}catch(a){throw e[t]=a instanceof Error?a:void 0,a}return e[t]}}function nE(e,t){if(t)for(const[r,n]of Object.entries(t))if("__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&null!=n)if("object"==typeof n){const t=e[r];e[r]=nE("object"==typeof t&&null!==t?t:{},n)}else e[r]=n;return e}Ke(rE,"_resolve"),Ke(nE,"_merge");var aE,iE,sE,oE,lE,uE,cE,pE,dE,fE,mE,hE,yE,gE,TE,vE=class{static{Ke(this,"EmptyFileSystemProvider")}stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},RE={fileSystemProvider:Ke(()=>new vE,"fileSystemProvider")},$E={Grammar:Ke(()=>{},"Grammar"),LanguageMetaData:Ke(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},EE={AstReflection:Ke(()=>new ds,"AstReflection")};function CE(){const e=J$(Z$(RE),EE),t=J$(X$({shared:e}),$E);return e.ServiceRegistry.register(t),t}function bE(e){const t=CE(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,mR.parse(`memory:/${r.name??"grammar"}.langium`)),r}Ke(CE,"createMinimalGrammarServices"),Ke(bE,"loadGrammarFromJson"),(aE||(aE={})).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]+)\]/},(iE||(iE={})).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]*/},(sE||(sE={})).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]*/},(oE||(oE={})).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])?/},(lE||(lE={})).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]*/},(uE||(uE={})).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]*/},(cE||(cE={})).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]*/},(pE||(pE={})).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]*/},(dE||(dE={})).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]*/},(fE||(fE={})).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]*?\*\)/},(mE||(mE={})).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]*?\*\//},(hE||(hE={})).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]*/},(yE||(yE={})).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:/"[^"]*"|'[^']*'/},(gE||(gE={})).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])*/},(TE||(TE={})).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]*/},aE.Terminals,iE.Terminals,sE.Terminals,oE.Terminals,lE.Terminals,uE.Terminals,cE.Terminals,pE.Terminals,dE.Terminals,fE.Terminals,mE.Terminals,hE.Terminals,gE.Terminals,yE.Terminals,TE.Terminals;var AE="AbnfAlternation",SE="alternatives",_E="AbnfConcatenation",xE="elements",kE="AbnfElement",wE="primary",NE="repeat",IE="AbnfGroup",OE="element",PE="AbnfNumVal",DE="value",LE="AbnfOptionalGroup",ME="element",jE="AbnfPrimary",FE="AbnfRule",GE="definition",zE="name",KE="AbnfRuleName",qE="name",UE="AbnfStringLiteral",VE="value",BE="Accelerator",WE="name",HE="x",YE="y",XE="Alignment",ZE="direction",JE="members",QE="Anchor",eC="evolution",tC="name",rC="visibility",nC="Annotation",aC="number",iC="text",sC="x",oC="y",lC="Annotations",uC="x",cC="y",pC="Architecture",dC="accDescr",fC="accTitle",mC="alignments",hC="edges",yC="groups",gC="junctions",TC="services",vC="title";Ke(function(e){return uw.isInstance(e,pC)},"isArchitecture");var RC="Axis",$C="label",EC="name",CC="Branch",bC="name",AC="order";Ke(function(e){return uw.isInstance(e,CC)},"isBranch");var SC="Checkout",_C="branch",xC="CherryPicking",kC="id",wC="parent",NC="tags",IC="ClassDefStatement",OC="className",PC="styleText",DC="Commit",LC="id",MC="message",jC="tags",FC="type";Ke(function(e){return uw.isInstance(e,DC)},"isCommit");var GC="Common",zC="accDescr",KC="accTitle",qC="title",UC="Component",VC="decorator",BC="evolution",WC="inertia",HC="label",YC="name",XC="visibility",ZC="Curve",JC="entries",QC="label",eb="name",tb="Cynefin",rb="accDescr",nb="accTitle",ab="domains",ib="title",sb="transitions";Ke(function(e){return uw.isInstance(e,tb)},"isCynefin");var ob="Deaccelerator",lb="name",ub="x",cb="y",pb="Decorator",db="strategy",fb="Direction",mb="accDescr",hb="accTitle",yb="dir",gb="statements",Tb="title",vb="DomainBlock",Rb="domain",$b="items";Ke(function(e){return uw.isInstance(e,vb)},"isDomainBlock");var Eb="DomainItem",Cb="label";Ke(function(e){return uw.isInstance(e,Eb)},"isDomainItem");var bb="EbnfChoice",Ab="alternatives",Sb="EbnfExceptionPostfix",_b="except",xb="EbnfGroup",kb="element",wb="EbnfNonTerminal",Nb="name",Ib="EbnfOneOrMorePostfix",Ob="operator",Pb="EbnfOptional",Db="element",Lb="EbnfOptionalPostfix",Mb="operator",jb="EbnfPostfix",Fb="EbnfPrimary",Gb="EbnfRepetition",zb="element",Kb="EbnfRule",qb="definition",Ub="name",Vb="EbnfSequence",Bb="elements",Wb="EbnfSpecial",Hb="text",Yb="EbnfTerm",Xb="base",Zb="postfixes",Jb="EbnfTerminal",Qb="value",eA="EbnfZeroOrMorePostfix",tA="operator",rA="Edge",nA="lhsDir",aA="lhsGroup",iA="lhsId",sA="lhsInto",oA="rhsDir",lA="rhsGroup",uA="rhsId",cA="rhsInto",pA="title",dA="EmDataEntity",fA="dataBlockValue",mA="dataType",hA="name",yA="EmFrame",gA="EmGwt",TA="givenStatements",vA="sourceFrame",RA="thenStatements",$A="whenStatements",EA="EmGwtStatement",CA="entityIdentifier",bA="EmModelEntity",AA="name";Ke(function(e){return"rmo"===e||"readmodel"===e||"ui"===e||"cmd"===e||"command"===e||"evt"===e||"event"===e||"pcr"===e||"processor"===e},"isEmModelEntityType");var SA="EmNoteEntity",_A="dataBlockValue",xA="dataType",kA="sourceFrame",wA="EmResetFrame",NA="dataInlineValue",IA="dataReference",OA="dataType",PA="entityIdentifier",DA="modelEntityType",LA="name",MA="sourceFrames";function jA(e){return uw.isInstance(e,wA)}Ke(jA,"isEmResetFrame");var FA="EmTimeFrame",GA="dataInlineValue",zA="dataReference",KA="dataType",qA="entityIdentifier",UA="modelEntityType",VA="name",BA="sourceFrames",WA="Entry",HA="axis",YA="value",XA="EventModel",ZA="accDescr",JA="accTitle",QA="dataEntities",eS="frames",tS="gwtEntities",rS="modelEntities",nS="noteEntities",aS="title",iS="Evolution",sS="stages",oS="EvolutionStage",lS="boundary",uS="name",cS="secondName",pS="Evolve",dS="component",fS="target",mS="GitGraph",hS="accDescr",yS="accTitle",gS="statements",TS="title";Ke(function(e){return uw.isInstance(e,mS)},"isGitGraph");var vS="Group",RS="icon",$S="id",ES="in",CS="title",bS="Info",AS="accDescr",SS="accTitle",_S="title";Ke(function(e){return uw.isInstance(e,bS)},"isInfo");var xS="Item",kS="classSelector",wS="name",NS="Junction",IS="id",OS="in",PS="Label",DS="negX",LS="negY",MS="offsetX",jS="offsetY",FS="Leaf",GS="classSelector",zS="name",KS="value",qS="Link",US="arrow",VS="from",BS="fromPort",WS="linkLabel",HS="to",YS="toPort",XS="Merge",ZS="branch",JS="id",QS="tags",e_="type";Ke(function(e){return uw.isInstance(e,XS)},"isMerge");var t_="Note",r_="evolution",n_="text",a_="visibility",i_="Option",s_="name",o_="value",l_="Packet",u_="accDescr",c_="accTitle",p_="blocks",d_="title";Ke(function(e){return uw.isInstance(e,l_)},"isPacket");var f_="PacketBlock",m_="bits",h_="end",y_="label",g_="start";Ke(function(e){return uw.isInstance(e,f_)},"isPacketBlock");var T_="PegAny",v_="dot",R_="PegGroup",$_="element",E_="PegIdentifier",C_="name",b_="PegLiteral",A_="value",S_="PegOrderedChoice",__="alternatives",x_="PegPrefix",k_="operator",w_="suffix",N_="PegPrimary",I_="PegRule",O_="definition",P_="name",D_="PegSequence",L_="elements",M_="PegSuffix",j_="operator",F_="primary",G_="Pie",z_="accDescr",K_="accTitle",q_="sections",U_="showData",V_="title";Ke(function(e){return uw.isInstance(e,G_)},"isPie");var B_="PieSection",W_="label",H_="value";Ke(function(e){return uw.isInstance(e,B_)},"isPieSection");var Y_="Pipeline",X_="components",Z_="parent",J_="PipelineComponent",Q_="evolution",ex="label",tx="name",rx="Radar",nx="accDescr",ax="accTitle",ix="axes",sx="curves",ox="options",lx="title",ux="Railroad",cx="accDescr",px="accTitle",dx="rules",fx="title";Ke(function(e){return uw.isInstance(e,ux)},"isRailroad");var mx="RailroadAbnf",hx="accDescr",yx="accTitle",gx="rules",Tx="title";Ke(function(e){return uw.isInstance(e,mx)},"isRailroadAbnf");var vx="RailroadChoiceExpr",Rx="alternatives",$x="RailroadEbnf",Ex="accDescr",Cx="accTitle",bx="rules",Ax="title";Ke(function(e){return uw.isInstance(e,$x)},"isRailroadEbnf");var Sx="RailroadExpression",_x="RailroadNonTerminalExpr",xx="name",kx="RailroadOneOrMoreExpr",wx="element",Nx="RailroadOptionalExpr",Ix="element",Ox="RailroadPeg",Px="accDescr",Dx="accTitle",Lx="rules",Mx="title";Ke(function(e){return uw.isInstance(e,Ox)},"isRailroadPeg");var jx="RailroadRule",Fx="definition",Gx="name",zx="RailroadSequenceExpr",Kx="elements",qx="RailroadSpecialExpr",Ux="text",Vx="RailroadTerminalExpr",Bx="value",Wx="RailroadZeroOrMoreExpr",Hx="element",Yx="Section",Xx="classSelector",Zx="name",Jx="Service",Qx="icon",ek="iconText",tk="id",rk="in",nk="title",ak="Size",ik="height",sk="width",ok="Statement",lk="Transition",uk="from",ck="label",pk="to";Ke(function(e){return uw.isInstance(e,lk)},"isTransition");var dk="Treemap",fk="accDescr",mk="accTitle",hk="title",yk="TreemapRows";Ke(function(e){return uw.isInstance(e,dk)},"isTreemap");var gk="TreemapRow",Tk="indent",vk="item",Rk="TreeNode",$k="classAnnotation",Ek="descAnnotation",Ck="iconAnnotation",bk="indent",Ak="name",Sk="TreeView",_k="accDescr",xk="accTitle",kk="nodes",wk="title",Nk="Wardley",Ik="accDescr",Ok="accelerators",Pk="accTitle",Dk="anchors",Lk="annotation",Mk="annotations",jk="components",Fk="deaccelerators",Gk="evolution",zk="evolves",Kk="links",qk="notes",Uk="pipelines",Vk="size",Bk="title";Ke(function(e){return uw.isInstance(e,Nk)},"isWardley");var Wk,Hk,Yk,Xk,Zk,Jk,Qk,ew,tw,rw,nw,aw,iw,sw,ow,lw=class extends qt{constructor(){super(...arguments),this.types={AbnfAlternation:{name:AE,properties:{alternatives:{name:SE,defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:_E,properties:{elements:{name:xE,defaultValue:[]}},superTypes:[]},AbnfElement:{name:kE,properties:{primary:{name:wE},repeat:{name:NE,optional:!0}},superTypes:[]},AbnfGroup:{name:IE,properties:{element:{name:OE}},superTypes:[jE]},AbnfNumVal:{name:PE,properties:{value:{name:DE}},superTypes:[jE]},AbnfOptionalGroup:{name:LE,properties:{element:{name:ME}},superTypes:[jE]},AbnfPrimary:{name:jE,properties:{},superTypes:[]},AbnfRule:{name:FE,properties:{definition:{name:GE},name:{name:zE}},superTypes:[]},AbnfRuleName:{name:KE,properties:{name:{name:qE}},superTypes:[jE]},AbnfStringLiteral:{name:UE,properties:{value:{name:VE}},superTypes:[jE]},Accelerator:{name:BE,properties:{name:{name:WE},x:{name:HE},y:{name:YE}},superTypes:[]},Alignment:{name:XE,properties:{direction:{name:ZE},members:{name:JE,defaultValue:[]}},superTypes:[]},Anchor:{name:QE,properties:{evolution:{name:eC},name:{name:tC},visibility:{name:rC}},superTypes:[]},Annotation:{name:nC,properties:{number:{name:aC},text:{name:iC},x:{name:sC},y:{name:oC}},superTypes:[]},Annotations:{name:lC,properties:{x:{name:uC},y:{name:cC}},superTypes:[]},Architecture:{name:pC,properties:{accDescr:{name:dC,optional:!0},accTitle:{name:fC,optional:!0},alignments:{name:mC,defaultValue:[],optional:!0},edges:{name:hC,defaultValue:[],optional:!0},groups:{name:yC,defaultValue:[],optional:!0},junctions:{name:gC,defaultValue:[],optional:!0},services:{name:TC,defaultValue:[],optional:!0},title:{name:vC,optional:!0}},superTypes:[]},Axis:{name:RC,properties:{label:{name:$C,optional:!0},name:{name:EC}},superTypes:[]},Branch:{name:CC,properties:{name:{name:bC},order:{name:AC}},superTypes:[ok]},Checkout:{name:SC,properties:{branch:{name:_C}},superTypes:[ok]},CherryPicking:{name:xC,properties:{id:{name:kC},parent:{name:wC},tags:{name:NC,defaultValue:[]}},superTypes:[ok]},ClassDefStatement:{name:IC,properties:{className:{name:OC},styleText:{name:PC}},superTypes:[]},Commit:{name:DC,properties:{id:{name:LC},message:{name:MC},tags:{name:jC,defaultValue:[]},type:{name:FC}},superTypes:[ok]},Common:{name:GC,properties:{accDescr:{name:zC,optional:!0},accTitle:{name:KC,optional:!0},title:{name:qC,optional:!0}},superTypes:[]},Component:{name:UC,properties:{decorator:{name:VC,optional:!0},evolution:{name:BC},inertia:{name:WC,defaultValue:!1},label:{name:HC,optional:!0},name:{name:YC},visibility:{name:XC}},superTypes:[]},Curve:{name:ZC,properties:{entries:{name:JC,defaultValue:[]},label:{name:QC,optional:!0},name:{name:eb}},superTypes:[]},Cynefin:{name:tb,properties:{accDescr:{name:rb,optional:!0},accTitle:{name:nb,optional:!0},domains:{name:ab,defaultValue:[],optional:!0},title:{name:ib,optional:!0},transitions:{name:sb,defaultValue:[],optional:!0}},superTypes:[]},Deaccelerator:{name:ob,properties:{name:{name:lb},x:{name:ub},y:{name:cb}},superTypes:[]},Decorator:{name:pb,properties:{strategy:{name:db}},superTypes:[]},Direction:{name:fb,properties:{accDescr:{name:mb},accTitle:{name:hb},dir:{name:yb},statements:{name:gb,defaultValue:[]},title:{name:Tb}},superTypes:[mS]},DomainBlock:{name:vb,properties:{domain:{name:Rb},items:{name:$b,defaultValue:[],optional:!0}},superTypes:[]},DomainItem:{name:Eb,properties:{label:{name:Cb}},superTypes:[]},EbnfChoice:{name:bb,properties:{alternatives:{name:Ab,defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:Sb,properties:{except:{name:_b}},superTypes:[jb]},EbnfGroup:{name:xb,properties:{element:{name:kb}},superTypes:[Fb]},EbnfNonTerminal:{name:wb,properties:{name:{name:Nb}},superTypes:[Fb]},EbnfOneOrMorePostfix:{name:Ib,properties:{operator:{name:Ob}},superTypes:[jb]},EbnfOptional:{name:Pb,properties:{element:{name:Db}},superTypes:[Fb]},EbnfOptionalPostfix:{name:Lb,properties:{operator:{name:Mb}},superTypes:[jb]},EbnfPostfix:{name:jb,properties:{},superTypes:[]},EbnfPrimary:{name:Fb,properties:{},superTypes:[]},EbnfRepetition:{name:Gb,properties:{element:{name:zb}},superTypes:[Fb]},EbnfRule:{name:Kb,properties:{definition:{name:qb},name:{name:Ub}},superTypes:[]},EbnfSequence:{name:Vb,properties:{elements:{name:Bb,defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:Wb,properties:{text:{name:Hb}},superTypes:[Fb]},EbnfTerm:{name:Yb,properties:{base:{name:Xb},postfixes:{name:Zb,defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:Jb,properties:{value:{name:Qb}},superTypes:[Fb]},EbnfZeroOrMorePostfix:{name:eA,properties:{operator:{name:tA}},superTypes:[jb]},Edge:{name:rA,properties:{lhsDir:{name:nA},lhsGroup:{name:aA,defaultValue:!1,optional:!0},lhsId:{name:iA},lhsInto:{name:sA,defaultValue:!1,optional:!0},rhsDir:{name:oA},rhsGroup:{name:lA,defaultValue:!1,optional:!0},rhsId:{name:uA},rhsInto:{name:cA,defaultValue:!1,optional:!0},title:{name:pA,optional:!0}},superTypes:[]},EmDataEntity:{name:dA,properties:{dataBlockValue:{name:fA},dataType:{name:mA,optional:!0},name:{name:hA}},superTypes:[]},EmFrame:{name:yA,properties:{},superTypes:[]},EmGwt:{name:gA,properties:{givenStatements:{name:TA,defaultValue:[]},sourceFrame:{name:vA,referenceType:yA},thenStatements:{name:RA,defaultValue:[]},whenStatements:{name:$A,defaultValue:[],optional:!0}},superTypes:[]},EmGwtStatement:{name:EA,properties:{entityIdentifier:{name:CA,referenceType:bA}},superTypes:[]},EmModelEntity:{name:bA,properties:{name:{name:AA}},superTypes:[]},EmNoteEntity:{name:SA,properties:{dataBlockValue:{name:_A},dataType:{name:xA,optional:!0},sourceFrame:{name:kA,referenceType:yA}},superTypes:[]},EmResetFrame:{name:wA,properties:{dataInlineValue:{name:NA,optional:!0},dataReference:{name:IA,referenceType:dA,optional:!0},dataType:{name:OA,optional:!0},entityIdentifier:{name:PA},modelEntityType:{name:DA},name:{name:LA},sourceFrames:{name:MA,defaultValue:[],referenceType:yA,optional:!0}},superTypes:[yA]},EmTimeFrame:{name:FA,properties:{dataInlineValue:{name:GA,optional:!0},dataReference:{name:zA,referenceType:dA,optional:!0},dataType:{name:KA,optional:!0},entityIdentifier:{name:qA},modelEntityType:{name:UA},name:{name:VA},sourceFrames:{name:BA,defaultValue:[],referenceType:yA,optional:!0}},superTypes:[yA]},Entry:{name:WA,properties:{axis:{name:HA,referenceType:RC,optional:!0},value:{name:YA}},superTypes:[]},EventModel:{name:XA,properties:{accDescr:{name:ZA,optional:!0},accTitle:{name:JA,optional:!0},dataEntities:{name:QA,defaultValue:[],optional:!0},frames:{name:eS,defaultValue:[],optional:!0},gwtEntities:{name:tS,defaultValue:[],optional:!0},modelEntities:{name:rS,defaultValue:[],optional:!0},noteEntities:{name:nS,defaultValue:[],optional:!0},title:{name:aS,optional:!0}},superTypes:[]},Evolution:{name:iS,properties:{stages:{name:sS,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:oS,properties:{boundary:{name:lS,optional:!0},name:{name:uS},secondName:{name:cS,optional:!0}},superTypes:[]},Evolve:{name:pS,properties:{component:{name:dS},target:{name:fS}},superTypes:[]},GitGraph:{name:mS,properties:{accDescr:{name:hS},accTitle:{name:yS},statements:{name:gS,defaultValue:[]},title:{name:TS}},superTypes:[]},Group:{name:vS,properties:{icon:{name:RS,optional:!0},id:{name:$S},in:{name:ES},title:{name:CS,optional:!0}},superTypes:[]},Info:{name:bS,properties:{accDescr:{name:AS,optional:!0},accTitle:{name:SS,optional:!0},title:{name:_S,optional:!0}},superTypes:[]},Item:{name:xS,properties:{classSelector:{name:kS,optional:!0},name:{name:wS}},superTypes:[]},Junction:{name:NS,properties:{id:{name:IS},in:{name:OS}},superTypes:[]},Label:{name:PS,properties:{negX:{name:DS,defaultValue:!1,optional:!0},negY:{name:LS,defaultValue:!1,optional:!0},offsetX:{name:MS},offsetY:{name:jS}},superTypes:[]},Leaf:{name:FS,properties:{classSelector:{name:GS,optional:!0},name:{name:zS},value:{name:KS}},superTypes:[xS]},Link:{name:qS,properties:{arrow:{name:US,optional:!0},from:{name:VS},fromPort:{name:BS,optional:!0},linkLabel:{name:WS,optional:!0},to:{name:HS},toPort:{name:YS,optional:!0}},superTypes:[]},Merge:{name:XS,properties:{branch:{name:ZS},id:{name:JS},tags:{name:QS,defaultValue:[]},type:{name:e_}},superTypes:[ok]},Note:{name:t_,properties:{evolution:{name:r_},text:{name:n_},visibility:{name:a_}},superTypes:[]},Option:{name:i_,properties:{name:{name:s_},value:{name:o_,defaultValue:!1}},superTypes:[]},Packet:{name:l_,properties:{accDescr:{name:u_,optional:!0},accTitle:{name:c_,optional:!0},blocks:{name:p_,defaultValue:[],optional:!0},title:{name:d_,optional:!0}},superTypes:[]},PacketBlock:{name:f_,properties:{bits:{name:m_},end:{name:h_,optional:!0},label:{name:y_},start:{name:g_}},superTypes:[]},PegAny:{name:T_,properties:{dot:{name:v_}},superTypes:[N_]},PegGroup:{name:R_,properties:{element:{name:$_}},superTypes:[N_]},PegIdentifier:{name:E_,properties:{name:{name:C_}},superTypes:[N_]},PegLiteral:{name:b_,properties:{value:{name:A_}},superTypes:[N_]},PegOrderedChoice:{name:S_,properties:{alternatives:{name:__,defaultValue:[]}},superTypes:[]},PegPrefix:{name:x_,properties:{operator:{name:k_,optional:!0},suffix:{name:w_}},superTypes:[]},PegPrimary:{name:N_,properties:{},superTypes:[]},PegRule:{name:I_,properties:{definition:{name:O_},name:{name:P_}},superTypes:[]},PegSequence:{name:D_,properties:{elements:{name:L_,defaultValue:[]}},superTypes:[]},PegSuffix:{name:M_,properties:{operator:{name:j_,optional:!0},primary:{name:F_}},superTypes:[]},Pie:{name:G_,properties:{accDescr:{name:z_,optional:!0},accTitle:{name:K_,optional:!0},sections:{name:q_,defaultValue:[],optional:!0},showData:{name:U_,defaultValue:!1,optional:!0},title:{name:V_,optional:!0}},superTypes:[]},PieSection:{name:B_,properties:{label:{name:W_},value:{name:H_}},superTypes:[]},Pipeline:{name:Y_,properties:{components:{name:X_,defaultValue:[]},parent:{name:Z_}},superTypes:[]},PipelineComponent:{name:J_,properties:{evolution:{name:Q_},label:{name:ex,optional:!0},name:{name:tx}},superTypes:[]},Radar:{name:rx,properties:{accDescr:{name:nx,optional:!0},accTitle:{name:ax,optional:!0},axes:{name:ix,defaultValue:[],optional:!0},curves:{name:sx,defaultValue:[],optional:!0},options:{name:ox,defaultValue:[],optional:!0},title:{name:lx,optional:!0}},superTypes:[]},Railroad:{name:ux,properties:{accDescr:{name:cx,optional:!0},accTitle:{name:px,optional:!0},rules:{name:dx,defaultValue:[]},title:{name:fx,optional:!0}},superTypes:[]},RailroadAbnf:{name:mx,properties:{accDescr:{name:hx,optional:!0},accTitle:{name:yx,optional:!0},rules:{name:gx,defaultValue:[]},title:{name:Tx,optional:!0}},superTypes:[]},RailroadChoiceExpr:{name:vx,properties:{alternatives:{name:Rx,defaultValue:[]}},superTypes:[Sx]},RailroadEbnf:{name:$x,properties:{accDescr:{name:Ex,optional:!0},accTitle:{name:Cx,optional:!0},rules:{name:bx,defaultValue:[]},title:{name:Ax,optional:!0}},superTypes:[]},RailroadExpression:{name:Sx,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:_x,properties:{name:{name:xx}},superTypes:[Sx]},RailroadOneOrMoreExpr:{name:kx,properties:{element:{name:wx}},superTypes:[Sx]},RailroadOptionalExpr:{name:Nx,properties:{element:{name:Ix}},superTypes:[Sx]},RailroadPeg:{name:Ox,properties:{accDescr:{name:Px,optional:!0},accTitle:{name:Dx,optional:!0},rules:{name:Lx,defaultValue:[]},title:{name:Mx,optional:!0}},superTypes:[]},RailroadRule:{name:jx,properties:{definition:{name:Fx},name:{name:Gx}},superTypes:[]},RailroadSequenceExpr:{name:zx,properties:{elements:{name:Kx,defaultValue:[]}},superTypes:[Sx]},RailroadSpecialExpr:{name:qx,properties:{text:{name:Ux}},superTypes:[Sx]},RailroadTerminalExpr:{name:Vx,properties:{value:{name:Bx}},superTypes:[Sx]},RailroadZeroOrMoreExpr:{name:Wx,properties:{element:{name:Hx}},superTypes:[Sx]},Section:{name:Yx,properties:{classSelector:{name:Xx,optional:!0},name:{name:Zx}},superTypes:[xS]},Service:{name:Jx,properties:{icon:{name:Qx,optional:!0},iconText:{name:ek,optional:!0},id:{name:tk},in:{name:rk},title:{name:nk,optional:!0}},superTypes:[]},Size:{name:ak,properties:{height:{name:ik},width:{name:sk}},superTypes:[]},Statement:{name:ok,properties:{},superTypes:[]},Transition:{name:lk,properties:{from:{name:uk},label:{name:ck},to:{name:pk}},superTypes:[]},TreeNode:{name:Rk,properties:{classAnnotation:{name:$k,optional:!0},descAnnotation:{name:Ek,optional:!0},iconAnnotation:{name:Ck,optional:!0},indent:{name:bk,optional:!0},name:{name:Ak}},superTypes:[]},TreeView:{name:Sk,properties:{accDescr:{name:_k,optional:!0},accTitle:{name:xk,optional:!0},nodes:{name:kk,defaultValue:[]},title:{name:wk,optional:!0}},superTypes:[]},Treemap:{name:dk,properties:{accDescr:{name:fk,optional:!0},accTitle:{name:mk,optional:!0},title:{name:hk,optional:!0},TreemapRows:{name:yk,defaultValue:[]}},superTypes:[]},TreemapRow:{name:gk,properties:{indent:{name:Tk,optional:!0},item:{name:vk}},superTypes:[]},Wardley:{name:Nk,properties:{accDescr:{name:Ik,optional:!0},accelerators:{name:Ok,defaultValue:[],optional:!0},accTitle:{name:Pk,optional:!0},anchors:{name:Dk,defaultValue:[],optional:!0},annotation:{name:Lk,defaultValue:[],optional:!0},annotations:{name:Mk,defaultValue:[],optional:!0},components:{name:jk,defaultValue:[],optional:!0},deaccelerators:{name:Fk,defaultValue:[],optional:!0},evolution:{name:Gk,optional:!0},evolves:{name:zk,defaultValue:[],optional:!0},links:{name:Kk,defaultValue:[],optional:!0},notes:{name:qk,defaultValue:[],optional:!0},pipelines:{name:Uk,defaultValue:[],optional:!0},size:{name:Vk,optional:!0},title:{name:Bk,optional:!0}},superTypes:[]}}}static{Ke(this,"MermaidAstReflection")}},uw=new lw,cw=Ke(()=>Wk??(Wk=bE('{"$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"),pw=Ke(()=>Hk??(Hk=bE('{"$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"),dw=Ke(()=>Yk??(Yk=bE('{"$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"),fw=Ke(()=>Xk??(Xk=bE('{"$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"),mw=Ke(()=>Zk??(Zk=bE('{"$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"),hw=Ke(()=>Jk??(Jk=bE('{"$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"),yw=Ke(()=>Qk??(Qk=bE('{"$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"),gw=Ke(()=>ew??(ew=bE('{"$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"),Tw=Ke(()=>tw??(tw=bE('{"$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"),vw=Ke(()=>rw??(rw=bE('{"$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"),Rw=Ke(()=>nw??(nw=bE('{"$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"),$w=Ke(()=>aw??(aw=bE('{"$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"),Ew=Ke(()=>iw??(iw=bE('{"$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"),Cw=Ke(()=>sw??(sw=bE('{"$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"),bw=Ke(()=>ow??(ow=bE('{"$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"),Aw={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Sw={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},_w={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xw={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kw={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ww={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Nw={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Iw={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ow={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Pw={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Dw={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Lw={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Mw={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},jw={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Fw={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Gw={AstReflection:Ke(()=>new lw,"AstReflection")},zw={Grammar:Ke(()=>cw(),"Grammar"),LanguageMetaData:Ke(()=>Aw,"LanguageMetaData"),parser:{}},Kw={Grammar:Ke(()=>pw(),"Grammar"),LanguageMetaData:Ke(()=>Sw,"LanguageMetaData"),parser:{}},qw={Grammar:Ke(()=>dw(),"Grammar"),LanguageMetaData:Ke(()=>_w,"LanguageMetaData"),parser:{}},Uw={Grammar:Ke(()=>fw(),"Grammar"),LanguageMetaData:Ke(()=>xw,"LanguageMetaData"),parser:{}},Vw={Grammar:Ke(()=>mw(),"Grammar"),LanguageMetaData:Ke(()=>kw,"LanguageMetaData"),parser:{}},Bw={Grammar:Ke(()=>hw(),"Grammar"),LanguageMetaData:Ke(()=>ww,"LanguageMetaData"),parser:{}},Ww={Grammar:Ke(()=>yw(),"Grammar"),LanguageMetaData:Ke(()=>Nw,"LanguageMetaData"),parser:{}},Hw={Grammar:Ke(()=>gw(),"Grammar"),LanguageMetaData:Ke(()=>Iw,"LanguageMetaData"),parser:{}},Yw={Grammar:Ke(()=>Tw(),"Grammar"),LanguageMetaData:Ke(()=>Ow,"LanguageMetaData"),parser:{}},Xw={Grammar:Ke(()=>vw(),"Grammar"),LanguageMetaData:Ke(()=>Pw,"LanguageMetaData"),parser:{}},Zw={Grammar:Ke(()=>Rw(),"Grammar"),LanguageMetaData:Ke(()=>Dw,"LanguageMetaData"),parser:{}},Jw={Grammar:Ke(()=>$w(),"Grammar"),LanguageMetaData:Ke(()=>Lw,"LanguageMetaData"),parser:{}},Qw={Grammar:Ke(()=>Ew(),"Grammar"),LanguageMetaData:Ke(()=>Mw,"LanguageMetaData"),parser:{}},eN={Grammar:Ke(()=>Cw(),"Grammar"),LanguageMetaData:Ke(()=>jw,"LanguageMetaData"),parser:{}},tN={Grammar:Ke(()=>bw(),"Grammar"),LanguageMetaData:Ke(()=>Fw,"LanguageMetaData"),parser:{}},rN={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},nN=class extends Xv{static{Ke(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){const n=rN[e.name];if(void 0===n)return;const a=n.exec(t);return null!==a?void 0!==a[1]?a[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==a[2]?a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0:void 0}},aN=class extends nN{static{Ke(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},iN=class extends Yv{static{Ke(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){const n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends iN{static{Ke(this,"CommonTokenBuilder")}});var sN=class extends iN{static{Ke(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},oN={parser:{TokenBuilder:Ke(()=>new sN,"TokenBuilder"),ValueConverter:Ke(()=>new aN,"ValueConverter")}};function lN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Hw,oN);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}Ke(lN,"createRadarServices");var uN=class extends iN{static{Ke(this,"RailroadTokenBuilder")}constructor(){super(["railroad-beta"])}},cN=Ke(e=>{const t=e.slice(1,-1);let r="";for(let n=0;n<t.length;n++){const e=t[n];if("\\"===e&&n+1<t.length){n++;const e=t[n];switch(e){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;default:r+=e}continue}r+=e}return r},"decodeEscapedString"),pN=class extends nN{static{Ke(this,"RailroadValueConverter")}runConverter(e,t,r){const n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){const e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return cN(e)}return n}runCustomConverter(e,t,r){if("RR_STRING"===e.name)return cN(t)}},dN={parser:{TokenBuilder:Ke(()=>new uN,"TokenBuilder"),ValueConverter:Ke(()=>new pN,"ValueConverter")}};function fN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Zw,dN);return t.ServiceRegistry.register(r),{shared:t,Railroad:r}}Ke(fN,"createRailroadServices");var mN=class extends iN{static{Ke(this,"RailroadEbnfTokenBuilder")}constructor(){super(["railroad-ebnf-beta"])}},hN=Ke(e=>{const t=e.slice(1,-1);let r="";for(let n=0;n<t.length;n++){const e=t[n];if("\\"===e&&n+1<t.length){n++;const e=t[n];switch(e){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;default:r+=e}continue}r+=e}return r},"decodeEscapedString"),yN=class extends nN{static{Ke(this,"RailroadEbnfValueConverter")}runConverter(e,t,r){const n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){const e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return hN(e)}return n}runCustomConverter(e,t,r){return"EBNF_STRING"===e.name?hN(t):"EBNF_SPECIAL_SEQUENCE"===e.name?t.slice(1,-1).trim():void 0}},gN={parser:{TokenBuilder:Ke(()=>new mN,"TokenBuilder"),ValueConverter:Ke(()=>new yN,"ValueConverter")}};function TN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Xw,gN);return t.ServiceRegistry.register(r),{shared:t,RailroadEbnf:r}}Ke(TN,"createRailroadEbnfServices");var vN=class extends iN{static{Ke(this,"RailroadAbnfTokenBuilder")}constructor(){super(["railroad-abnf-beta"])}},RN=class extends nN{static{Ke(this,"RailroadAbnfValueConverter")}runConverter(e,t,r){const n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){const 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)}},$N={parser:{TokenBuilder:Ke(()=>new vN,"TokenBuilder"),ValueConverter:Ke(()=>new RN,"ValueConverter")}};function EN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Yw,$N);return t.ServiceRegistry.register(r),{shared:t,RailroadAbnf:r}}Ke(EN,"createRailroadAbnfServices");var CN=class extends iN{static{Ke(this,"RailroadPegTokenBuilder")}constructor(){super(["railroad-peg-beta"])}},bN=Ke(e=>{const t=e.slice(1,-1);let r="";for(let n=0;n<t.length;n++){const e=t[n];if("\\"===e&&n+1<t.length){n++;const e=t[n];switch(e){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;default:r+=e}continue}r+=e}return r},"decodeEscapedString"),AN=class extends nN{static{Ke(this,"RailroadPegValueConverter")}runConverter(e,t,r){const n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){const e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return bN(e)}return n}runCustomConverter(e,t,r){if("PEG_STRING"===e.name)return bN(t)}},SN={parser:{TokenBuilder:Ke(()=>new CN,"TokenBuilder"),ValueConverter:Ke(()=>new AN,"ValueConverter")}};function _N(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Jw,SN);return t.ServiceRegistry.register(r),{shared:t,RailroadPeg:r}}Ke(_N,"createRailroadPegServices");var xN=class extends iN{static{Ke(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},kN=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,wN=class extends nN{static{Ke(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;const e=kN.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function NN(e){const t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){const e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}Ke(NN,"registerValidationChecks");var IN=class{static{Ke(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(const n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:(void 0===n.indent||void 0!==r&&r>=parseInt(n.indent,10))&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},ON={parser:{TokenBuilder:Ke(()=>new xN,"TokenBuilder"),ValueConverter:Ke(()=>new wN,"ValueConverter")},validation:{TreemapValidator:Ke(()=>new IN,"TreemapValidator")}};function PN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Qw,ON);return t.ServiceRegistry.register(r),NN(r),{shared:t,Treemap:r}}Ke(PN,"createTreemapServices");var DN=class extends nN{static{Ke(this,"WardleyValueConverter")}runCustomConverter(e,t,r){if("LINK_LABEL"===e.name.toUpperCase())return t.substring(1).trim()}},LN={parser:{ValueConverter:Ke(()=>new DN,"ValueConverter")}};function MN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),tN,LN);return t.ServiceRegistry.register(r),{shared:t,Wardley:r}}Ke(MN,"createWardleyServices");var jN=class extends iN{static{Ke(this,"CynefinTokenBuilder")}constructor(){super(["cynefin-beta"])}},FN={parser:{TokenBuilder:Ke(()=>new jN,"TokenBuilder"),ValueConverter:Ke(()=>new aN,"ValueConverter")}};function GN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Kw,FN);return t.ServiceRegistry.register(r),{shared:t,Cynefin:r}}Ke(GN,"createCynefinServices");var zN=class extends iN{static{Ke(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},KN={parser:{TokenBuilder:Ke(()=>new zN,"TokenBuilder"),ValueConverter:Ke(()=>new aN,"ValueConverter")}};function qN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Uw,KN);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}Ke(qN,"createGitGraphServices");var UN=class extends iN{static{Ke(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},VN={parser:{TokenBuilder:Ke(()=>new UN,"TokenBuilder"),ValueConverter:Ke(()=>new aN,"ValueConverter")}};function BN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Vw,VN);return t.ServiceRegistry.register(r),{shared:t,Info:r}}Ke(BN,"createInfoServices");var WN=class extends iN{static{Ke(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},HN={parser:{TokenBuilder:Ke(()=>new WN,"TokenBuilder"),ValueConverter:Ke(()=>new aN,"ValueConverter")}};function YN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Bw,HN);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}Ke(YN,"createPacketServices");var XN=class extends iN{static{Ke(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},ZN=class extends nN{static{Ke(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},JN={parser:{TokenBuilder:Ke(()=>new XN,"TokenBuilder"),ValueConverter:Ke(()=>new ZN,"ValueConverter")}};function QN(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),Ww,JN);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}Ke(QN,"createPieServices");var eI=class extends nN{static{Ke(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){const e=t.trim();return e.substring(5,e.length-1)}if("DESC_ANNOTATION"===e.name){return t.trim().substring(2).trim()}}},tI=class extends iN{static{Ke(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},rI={parser:{TokenBuilder:Ke(()=>new tI,"TokenBuilder"),ValueConverter:Ke(()=>new eI,"ValueConverter")}};function nI(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),eN,rI);return t.ServiceRegistry.register(r),{shared:t,TreeView:r}}Ke(nI,"createTreeViewServices");var aI=class extends iN{static{Ke(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},iI=class extends nN{static{Ke(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.slice(1,-1),e=e.replace(/\\"/g,'"').replace(/\\'/g,"'")),e.trim()}}},sI={parser:{TokenBuilder:Ke(()=>new aI,"TokenBuilder"),ValueConverter:Ke(()=>new iI,"ValueConverter")}};function oI(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),zw,sI);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}Ke(oI,"createArchitectureServices");var lI=class extends iN{static{Ke(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},uI=new Set(["cmd","command"]),cI=new Set(["evt","event"]),pI=new Set(["rmo","readmodel"]),dI=new Set(["pcr","processor"]),fI=new Set(["ui"]);function mI(e){const t=e.validation.EventModelingValidator,r=e.validation.ValidationRegistry;if(r){const e={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};r.register(e,t)}}Ke(mI,"registerValidationChecks");var hI=class{static{Ke(this,"EventModelingValidator")}checkSourceFrameTypes(e,t){0!==e.sourceFrames.length&&(uI.has(e.modelEntityType)?this.validateSources(e,new Set([...fI,...dI]),"command","ui or processor",t):cI.has(e.modelEntityType)?this.validateSources(e,uI,"event","command",t):pI.has(e.modelEntityType)?this.validateSources(e,cI,"read model","event",t):dI.has(e.modelEntityType)?this.validateSources(e,pI,"processor","read model",t):fI.has(e.modelEntityType)&&this.validateSources(e,pI,"ui","read model",t))}validateSources(e,t,r,n,a){for(const i of e.sourceFrames){const s=i.ref;void 0===s||t.has(s.modelEntityType)||a("error",`A ${r} can only receive input from a ${n}, not from '${s.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},yI={parser:{TokenBuilder:Ke(()=>new lI,"TokenBuilder"),ValueConverter:Ke(()=>new aN,"ValueConverter")},validation:{EventModelingValidator:Ke(()=>new hI,"EventModelingValidator")}};function gI(e=RE){const t=J$(Z$(e),Gw),r=J$(X$({shared:t}),qw,yI);return t.ServiceRegistry.register(r),mI(r),{shared:t,EventModel:r}}Ke(gI,"createEventModelingServices");var TI={},vI={info:Ke(async()=>{const{createInfoServices:t}=await e(async()=>{const{createInfoServices:e}=await Promise.resolve().then(()=>CI);return{createInfoServices:e}},void 0,import.meta.url),r=t().Info.parser.LangiumParser;TI.info=r},"info"),packet:Ke(async()=>{const{createPacketServices:t}=await e(async()=>{const{createPacketServices:e}=await Promise.resolve().then(()=>bI);return{createPacketServices:e}},void 0,import.meta.url),r=t().Packet.parser.LangiumParser;TI.packet=r},"packet"),pie:Ke(async()=>{const{createPieServices:t}=await e(async()=>{const{createPieServices:e}=await Promise.resolve().then(()=>AI);return{createPieServices:e}},void 0,import.meta.url),r=t().Pie.parser.LangiumParser;TI.pie=r},"pie"),treeView:Ke(async()=>{const{createTreeViewServices:t}=await e(async()=>{const{createTreeViewServices:e}=await Promise.resolve().then(()=>SI);return{createTreeViewServices:e}},void 0,import.meta.url),r=t().TreeView.parser.LangiumParser;TI.treeView=r},"treeView"),architecture:Ke(async()=>{const{createArchitectureServices:t}=await e(async()=>{const{createArchitectureServices:e}=await Promise.resolve().then(()=>_I);return{createArchitectureServices:e}},void 0,import.meta.url),r=t().Architecture.parser.LangiumParser;TI.architecture=r},"architecture"),gitGraph:Ke(async()=>{const{createGitGraphServices:t}=await e(async()=>{const{createGitGraphServices:e}=await Promise.resolve().then(()=>xI);return{createGitGraphServices:e}},void 0,import.meta.url),r=t().GitGraph.parser.LangiumParser;TI.gitGraph=r},"gitGraph"),eventmodeling:Ke(async()=>{const{createEventModelingServices:t}=await e(async()=>{const{createEventModelingServices:e}=await Promise.resolve().then(()=>kI);return{createEventModelingServices:e}},void 0,import.meta.url),r=t().EventModel.parser.LangiumParser;TI.eventmodeling=r},"eventmodeling"),radar:Ke(async()=>{const{createRadarServices:t}=await e(async()=>{const{createRadarServices:e}=await Promise.resolve().then(()=>wI);return{createRadarServices:e}},void 0,import.meta.url),r=t().Radar.parser.LangiumParser;TI.radar=r},"radar"),railroad:Ke(async()=>{const{createRailroadServices:t}=await e(async()=>{const{createRailroadServices:e}=await Promise.resolve().then(()=>NI);return{createRailroadServices:e}},void 0,import.meta.url),r=t().Railroad.parser.LangiumParser;TI.railroad=r},"railroad"),railroadEbnf:Ke(async()=>{const{createRailroadEbnfServices:t}=await e(async()=>{const{createRailroadEbnfServices:e}=await Promise.resolve().then(()=>II);return{createRailroadEbnfServices:e}},void 0,import.meta.url),r=t().RailroadEbnf.parser.LangiumParser;TI.railroadEbnf=r},"railroadEbnf"),railroadAbnf:Ke(async()=>{const{createRailroadAbnfServices:t}=await e(async()=>{const{createRailroadAbnfServices:e}=await Promise.resolve().then(()=>OI);return{createRailroadAbnfServices:e}},void 0,import.meta.url),r=t().RailroadAbnf.parser.LangiumParser;TI.railroadAbnf=r},"railroadAbnf"),railroadPeg:Ke(async()=>{const{createRailroadPegServices:t}=await e(async()=>{const{createRailroadPegServices:e}=await Promise.resolve().then(()=>PI);return{createRailroadPegServices:e}},void 0,import.meta.url),r=t().RailroadPeg.parser.LangiumParser;TI.railroadPeg=r},"railroadPeg"),treemap:Ke(async()=>{const{createTreemapServices:t}=await e(async()=>{const{createTreemapServices:e}=await Promise.resolve().then(()=>DI);return{createTreemapServices:e}},void 0,import.meta.url),r=t().Treemap.parser.LangiumParser;TI.treemap=r},"treemap"),wardley:Ke(async()=>{const{createWardleyServices:t}=await e(async()=>{const{createWardleyServices:e}=await Promise.resolve().then(()=>LI);return{createWardleyServices:e}},void 0,import.meta.url),r=t().Wardley.parser.LangiumParser;TI.wardley=r},"wardley"),cynefin:Ke(async()=>{const{createCynefinServices:t}=await e(async()=>{const{createCynefinServices:e}=await Promise.resolve().then(()=>MI);return{createCynefinServices:e}},void 0,import.meta.url),r=t().Cynefin.parser.LangiumParser;TI.cynefin=r},"cynefin")};async function RI(e,t){const r=vI[e];if(!r)throw new Error(`Unknown diagram type: ${e}`);TI[e]||await r();const n=TI[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new EI(n);return n.value}Ke(RI,"parse");var $I=Ke(e=>void 0!==e&&e>=0?e:"?","formatLocation"),EI=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(e=>`Lexer error on line ${$I(e.line)}, column ${$I(e.column)}: ${e.message}`).join("\n")} ${e.parserErrors.map(e=>`Parse error on line ${$I(e.token.startLine)}, column ${$I(e.token.startColumn)}: ${e.message}`).join("\n")}`),this.result=e}static{Ke(this,"MermaidParseError")}};const CI=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:VN,createInfoServices:BN},Symbol.toStringTag,{value:"Module"})),bI=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:HN,createPacketServices:YN},Symbol.toStringTag,{value:"Module"})),AI=Object.freeze(Object.defineProperty({__proto__:null,PieModule:JN,createPieServices:QN},Symbol.toStringTag,{value:"Module"})),SI=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:rI,createTreeViewServices:nI},Symbol.toStringTag,{value:"Module"})),_I=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:sI,createArchitectureServices:oI},Symbol.toStringTag,{value:"Module"})),xI=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:KN,createGitGraphServices:qN},Symbol.toStringTag,{value:"Module"})),kI=Object.freeze(Object.defineProperty({__proto__:null,EventModelingModule:yI,createEventModelingServices:gI},Symbol.toStringTag,{value:"Module"})),wI=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:oN,createRadarServices:lN},Symbol.toStringTag,{value:"Module"})),NI=Object.freeze(Object.defineProperty({__proto__:null,RailroadModule:dN,createRailroadServices:fN},Symbol.toStringTag,{value:"Module"})),II=Object.freeze(Object.defineProperty({__proto__:null,RailroadEbnfModule:gN,createRailroadEbnfServices:TN},Symbol.toStringTag,{value:"Module"})),OI=Object.freeze(Object.defineProperty({__proto__:null,RailroadAbnfModule:$N,createRailroadAbnfServices:EN},Symbol.toStringTag,{value:"Module"})),PI=Object.freeze(Object.defineProperty({__proto__:null,RailroadPegModule:SN,createRailroadPegServices:_N},Symbol.toStringTag,{value:"Module"})),DI=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:ON,createTreemapServices:PN},Symbol.toStringTag,{value:"Module"})),LI=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:LN,createWardleyServices:MN},Symbol.toStringTag,{value:"Module"})),MI=Object.freeze(Object.defineProperty({__proto__:null,CynefinModule:FN,createCynefinServices:GN},Symbol.toStringTag,{value:"Module"}));export{EI as M,TN as a,EN as b,fN as c,_N as d,jA as i,RI as p};