@ashwin_droid/notion-stream 1.0.0 → 1.0.2

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 (154) hide show
  1. package/dist/{_baseUniq-DSwfPiGC.js → _baseUniq-D32sgNIc.js} +1 -1
  2. package/dist/{_baseUniq-CT-tc-CG.mjs → _baseUniq-DCnQIx8G.mjs} +51 -51
  3. package/dist/{arc-BBnIBs2j.js → arc-B0uBm0sN.js} +1 -1
  4. package/dist/{arc-DmoYXidQ.mjs → arc-OrNNmmBm.mjs} +1 -1
  5. package/dist/{architecture-U656AL7Q-C0ZB2O9M.js → architecture-U656AL7Q-CLYqYgyv.js} +1 -1
  6. package/dist/{architecture-U656AL7Q-CMPtJMZ-.mjs → architecture-U656AL7Q-seCMyeyz.mjs} +1 -1
  7. package/dist/architectureDiagram-VXUJARFQ-BGsDPmi_.js +36 -0
  8. package/dist/{architectureDiagram-VXUJARFQ-BYzpbF40.mjs → architectureDiagram-VXUJARFQ-BmPLNLcs.mjs} +1846 -1850
  9. package/dist/{blockDiagram-VD42YOAC-DPVTCHn5.mjs → blockDiagram-VD42YOAC-CXKvT-9-.mjs} +913 -922
  10. package/dist/blockDiagram-VD42YOAC-NQhzFvsO.js +122 -0
  11. package/dist/c4Diagram-YG6GDRKO-CMXx6pyB.js +10 -0
  12. package/dist/{c4Diagram-YG6GDRKO-C2Y4q08p.mjs → c4Diagram-YG6GDRKO-DAGMHESb.mjs} +169 -170
  13. package/dist/{channel-DVpqhnow.mjs → channel-BXGyzQA6.mjs} +1 -1
  14. package/dist/channel-Dw8BXC8D.js +1 -0
  15. package/dist/chunk-4BX2VUAB-MnK73C0-.js +1 -0
  16. package/dist/chunk-4BX2VUAB-ZaWvd3Xe.mjs +8 -0
  17. package/dist/{chunk-55IACEB6-P_FVKIbW.js → chunk-55IACEB6-B1EpdpVW.js} +1 -1
  18. package/dist/{chunk-55IACEB6-Du1Simcj.mjs → chunk-55IACEB6-iKbZBHA5.mjs} +1 -1
  19. package/dist/chunk-B4BG7PRW-Bo_sfBKL.js +165 -0
  20. package/dist/{chunk-B4BG7PRW-BUKsa2yH.mjs → chunk-B4BG7PRW-DgqSow4f.mjs} +251 -252
  21. package/dist/{chunk-DI55MBZ5-C9h0qLVI.mjs → chunk-DI55MBZ5-BAHL-2VJ.mjs} +444 -456
  22. package/dist/chunk-DI55MBZ5-BuuMLI1S.js +220 -0
  23. package/dist/{chunk-FMBD7UC4-C08-zA06.mjs → chunk-FMBD7UC4-BE8MbNLe.mjs} +1 -1
  24. package/dist/{chunk-FMBD7UC4-48-zdz-1.js → chunk-FMBD7UC4-Cs1BNv23.js} +1 -1
  25. package/dist/chunk-QN33PNHL-MX1ZMWu-.js +1 -0
  26. package/dist/chunk-QN33PNHL-ZaWv5vaA.mjs +19 -0
  27. package/dist/{chunk-QZHKN3VN-DbO6TJSK.mjs → chunk-QZHKN3VN-D2X7PBDi.mjs} +1 -1
  28. package/dist/{chunk-QZHKN3VN-Dy2264ui.js → chunk-QZHKN3VN-Db6mVb9M.js} +1 -1
  29. package/dist/{chunk-TZMSLE5B-BPmI9i6R.mjs → chunk-TZMSLE5B-AMFXF6mq.mjs} +20 -20
  30. package/dist/{chunk-TZMSLE5B-COENnLAZ.js → chunk-TZMSLE5B-CzjtACDr.js} +1 -1
  31. package/dist/{classDiagram-v2-WZHVMYZB-mzvV1Ifg.mjs → classDiagram-2ON5EDUG-CPwvtUDj.mjs} +2 -2
  32. package/dist/{classDiagram-2ON5EDUG-CFFwYK87.js → classDiagram-2ON5EDUG-UNrH9bQo.js} +1 -1
  33. package/dist/{classDiagram-2ON5EDUG-mzvV1Ifg.mjs → classDiagram-v2-WZHVMYZB-CPwvtUDj.mjs} +2 -2
  34. package/dist/{classDiagram-v2-WZHVMYZB-CFFwYK87.js → classDiagram-v2-WZHVMYZB-UNrH9bQo.js} +1 -1
  35. package/dist/{clone-KtLCwiKH.mjs → clone-CV4F8CSW.mjs} +1 -1
  36. package/dist/clone-HVsPHeK3.js +1 -0
  37. package/dist/{code-block-37QAKDTI-sxlq94xm.js → code-block-37QAKDTI-38K5Mxo2.js} +1 -1
  38. package/dist/{code-block-37QAKDTI-CmykMxjQ.mjs → code-block-37QAKDTI-Q-OOsw6q.mjs} +1 -1
  39. package/dist/cose-bilkent-S5V4N54A-1B77PywG.js +1 -0
  40. package/dist/{cose-bilkent-S5V4N54A-BXcldnso.mjs → cose-bilkent-S5V4N54A-greBbyuM.mjs} +592 -589
  41. package/dist/cytoscape.esm-CNUX3VTg.js +321 -0
  42. package/dist/{cytoscape.esm-ZmItrg9y.mjs → cytoscape.esm-Cvf3sx9F.mjs} +56 -83
  43. package/dist/dagre-6UL2VRFP-DEQXyXKh.js +4 -0
  44. package/dist/dagre-6UL2VRFP-DN5Inkgr.mjs +443 -0
  45. package/dist/diagram-PSM6KHXK-C7tjFZpr.js +24 -0
  46. package/dist/{diagram-PSM6KHXK-DIV3jw9d.mjs → diagram-PSM6KHXK-D-GS1fTc.mjs} +45 -48
  47. package/dist/{diagram-QEK2KX5R-Q0M2_YtR.mjs → diagram-QEK2KX5R-DJXBxeH4.mjs} +10 -14
  48. package/dist/diagram-QEK2KX5R-Doa8ooC_.js +43 -0
  49. package/dist/diagram-S2PKOQOG-BN04h93a.js +24 -0
  50. package/dist/{diagram-S2PKOQOG-_WGA6s2-.mjs → diagram-S2PKOQOG-BuPevKqw.mjs} +22 -23
  51. package/dist/erDiagram-Q2GNP2WA-AS2vnQKc.js +60 -0
  52. package/dist/{erDiagram-Q2GNP2WA-CW0D_QGb.mjs → erDiagram-Q2GNP2WA-DxOmvmqL.mjs} +77 -78
  53. package/dist/flowDiagram-NV44I4VS-BChiRwcp.js +162 -0
  54. package/dist/{flowDiagram-NV44I4VS-DVQ8Ntc4.mjs → flowDiagram-NV44I4VS-Cs_jC87H.mjs} +442 -449
  55. package/dist/{ganttDiagram-JELNMOA3-Bk-dX6qT.mjs → ganttDiagram-JELNMOA3-02b_-xyZ.mjs} +1049 -1041
  56. package/dist/ganttDiagram-JELNMOA3-BGy1b6TD.js +267 -0
  57. package/dist/{gitGraph-F6HP7TQM-CsdwxYUE.mjs → gitGraph-F6HP7TQM-BWm0SBV4.mjs} +1 -1
  58. package/dist/{gitGraph-F6HP7TQM-DvIgo2TM.js → gitGraph-F6HP7TQM-DVfckSNX.js} +1 -1
  59. package/dist/gitGraphDiagram-NY62KEGX-CfzoE07P.mjs +699 -0
  60. package/dist/gitGraphDiagram-NY62KEGX-Cm9ywQoW.js +65 -0
  61. package/dist/{graph-C_T4ZBuC.mjs → graph-DEu7-ZhH.mjs} +8 -8
  62. package/dist/{graph-BNpx6ebg.js → graph-Dw_87ii6.js} +1 -1
  63. package/dist/index-BwYOYPeK.js +670 -0
  64. package/dist/{index-oe4HpmeG.mjs → index-DH3CVXwD.mjs} +22541 -22646
  65. package/dist/index.d.ts +1 -0
  66. package/dist/index.js +1 -1
  67. package/dist/index.mjs +3 -3
  68. package/dist/{info-NVLQJR56-BwFQRguW.js → info-NVLQJR56-BpKxONZx.js} +1 -1
  69. package/dist/info-NVLQJR56-MmJP3L6S.mjs +5 -0
  70. package/dist/{infoDiagram-WHAUD3N6-C-gzsm95.mjs → infoDiagram-WHAUD3N6-Bfsucvti.mjs} +2 -2
  71. package/dist/{infoDiagram-WHAUD3N6-CCb5k_S7.js → infoDiagram-WHAUD3N6-q-yX3_By.js} +1 -1
  72. package/dist/journeyDiagram-XKPGCS4Q-BqtyHvQF.js +139 -0
  73. package/dist/{journeyDiagram-XKPGCS4Q-DzkUL_YG.mjs → journeyDiagram-XKPGCS4Q-dFRLmnr-.mjs} +24 -26
  74. package/dist/kanban-definition-3W4ZIXB7-DeOl9Eme.mjs +719 -0
  75. package/dist/kanban-definition-3W4ZIXB7-DraMxv75.js +89 -0
  76. package/dist/{layout-CuWQnP5Y.js → layout-BKTUO8WZ.js} +1 -1
  77. package/dist/{layout-Cd98WJ7r.mjs → layout-CpL-hYTa.mjs} +22 -22
  78. package/dist/{linear-SU4e8MRt.mjs → linear-CLwIU3di.mjs} +20 -20
  79. package/dist/{linear-DFDw13y6.js → linear-DvM229Di.js} +1 -1
  80. package/dist/mermaid-4DMBBIKO-BpqXz0_U.mjs +4 -0
  81. package/dist/{mermaid-4DMBBIKO-BihEtyib.js → mermaid-4DMBBIKO-Cd15t2pT.js} +1 -1
  82. package/dist/mermaid-parser.core-BVlc9Lqd.js +128 -0
  83. package/dist/{mermaid-parser.core-C8Sxzqul.mjs → mermaid-parser.core-CLAapB2-.mjs} +3404 -3369
  84. package/dist/{min-C2k771MZ.mjs → min--ML-ONY_.mjs} +2 -2
  85. package/dist/{min-CppMRDFn.js → min-BQ4NUvNf.js} +1 -1
  86. package/dist/{mindmap-definition-VGOIOE7T-BUd354uH.mjs → mindmap-definition-VGOIOE7T-78K_EDCb.mjs} +170 -172
  87. package/dist/mindmap-definition-VGOIOE7T-ZHY70ZzV.js +68 -0
  88. package/dist/notion-stream.css +1 -0
  89. package/dist/{ordinal-C0oynhte.mjs → ordinal-B-KqvkJf.mjs} +1 -1
  90. package/dist/{packet-BFZMPI3H-Cz_A86d3.mjs → packet-BFZMPI3H-B34lFb6T.mjs} +1 -1
  91. package/dist/{packet-BFZMPI3H-CFx3kSkL.js → packet-BFZMPI3H-C9xcJQVN.js} +1 -1
  92. package/dist/{pie-7BOR55EZ-_1MqisBd.js → pie-7BOR55EZ-Bz_jfTd_.js} +1 -1
  93. package/dist/pie-7BOR55EZ-DW2Zgje5.mjs +5 -0
  94. package/dist/{pieDiagram-ADFJNKIX-Bg0_gu43.js → pieDiagram-ADFJNKIX-CKzchAXU.js} +2 -2
  95. package/dist/{pieDiagram-ADFJNKIX-lRs_rpwI.mjs → pieDiagram-ADFJNKIX-Ctp6QR7f.mjs} +21 -21
  96. package/dist/quadrantDiagram-AYHSOK5B-D2Rt32D2.js +7 -0
  97. package/dist/{quadrantDiagram-AYHSOK5B-D9kypJt6.mjs → quadrantDiagram-AYHSOK5B-D3U_Qicu.mjs} +230 -232
  98. package/dist/{radar-NHE76QYJ-B-PvZD0K.mjs → radar-NHE76QYJ-CO5ECFHq.mjs} +1 -1
  99. package/dist/{radar-NHE76QYJ-CdtC4C8F.js → radar-NHE76QYJ-DI4PJJjm.js} +1 -1
  100. package/dist/requirementDiagram-UZGBJVZJ-CSgb6U9N.js +64 -0
  101. package/dist/{requirementDiagram-UZGBJVZJ-B5ulaHjE.mjs → requirementDiagram-UZGBJVZJ-Da_yWSD1.mjs} +190 -192
  102. package/dist/sankeyDiagram-TZEHDZUN-C8jpBnM0.js +10 -0
  103. package/dist/{sankeyDiagram-TZEHDZUN-DprIPFbe.mjs → sankeyDiagram-TZEHDZUN-Dp3Eyl8Q.mjs} +189 -189
  104. package/dist/sequenceDiagram-WL72ISMW-BZJ7d_X4.js +145 -0
  105. package/dist/{sequenceDiagram-WL72ISMW-B4m4oag0.mjs → sequenceDiagram-WL72ISMW-yJKe02sV.mjs} +222 -229
  106. package/dist/{stateDiagram-FKZM4ZOC-BD4tnS-V.js → stateDiagram-FKZM4ZOC-Cfuygt_P.js} +1 -1
  107. package/dist/{stateDiagram-FKZM4ZOC-DjkdDbQ2.mjs → stateDiagram-FKZM4ZOC-z0IX85WL.mjs} +4 -4
  108. package/dist/{stateDiagram-v2-4FDKWEC3-AK86F3i6.mjs → stateDiagram-v2-4FDKWEC3-BDMFqSat.mjs} +2 -2
  109. package/dist/{stateDiagram-v2-4FDKWEC3-sybMoxOk.js → stateDiagram-v2-4FDKWEC3-BiriAQkj.js} +1 -1
  110. package/dist/{timeline-definition-IT6M3QCI-BFuQEeZP.mjs → timeline-definition-IT6M3QCI-BmEq-RM3.mjs} +217 -223
  111. package/dist/timeline-definition-IT6M3QCI-CBmpRgUM.js +61 -0
  112. package/dist/{treemap-KMMF4GRG-gtrnY16v.mjs → treemap-KMMF4GRG-IaHP18r_.mjs} +1 -1
  113. package/dist/{treemap-KMMF4GRG-DTnRa789.js → treemap-KMMF4GRG-qP0VzKwW.js} +1 -1
  114. package/dist/{xychartDiagram-PRI3JC2R-CjXiy6m0.mjs → xychartDiagram-PRI3JC2R-BSaI76KX.mjs} +7 -7
  115. package/dist/xychartDiagram-PRI3JC2R-CQgij0Fy.js +7 -0
  116. package/package.json +5 -5
  117. package/dist/architectureDiagram-VXUJARFQ-BPQoZmaM.js +0 -36
  118. package/dist/blockDiagram-VD42YOAC-Z3Fc3Bew.js +0 -122
  119. package/dist/c4Diagram-YG6GDRKO-LzDuCZ2V.js +0 -10
  120. package/dist/channel-6dUO0MQi.js +0 -1
  121. package/dist/chunk-4BX2VUAB-BwubFldI.js +0 -1
  122. package/dist/chunk-4BX2VUAB-DldMXCTt.mjs +0 -9
  123. package/dist/chunk-B4BG7PRW-CKX0VJ-S.js +0 -165
  124. package/dist/chunk-DI55MBZ5-CMq-O8k2.js +0 -220
  125. package/dist/chunk-QN33PNHL-B0sO38bZ.js +0 -1
  126. package/dist/chunk-QN33PNHL-B_PGnTkk.mjs +0 -20
  127. package/dist/clone-B0UaPT2Z.js +0 -1
  128. package/dist/cose-bilkent-S5V4N54A-BCaAPmuF.js +0 -1
  129. package/dist/cytoscape.esm-DkGgpG6d.js +0 -331
  130. package/dist/dagre-6UL2VRFP-By42zbLA.mjs +0 -446
  131. package/dist/dagre-6UL2VRFP-DCwfkcWi.js +0 -4
  132. package/dist/diagram-PSM6KHXK-hjXN9n1N.js +0 -24
  133. package/dist/diagram-QEK2KX5R-B04ODMim.js +0 -43
  134. package/dist/diagram-S2PKOQOG-BmCs4MZE.js +0 -24
  135. package/dist/erDiagram-Q2GNP2WA-4KtQUUuI.js +0 -60
  136. package/dist/flowDiagram-NV44I4VS-BwpfJE0U.js +0 -162
  137. package/dist/ganttDiagram-JELNMOA3-D7rI7u8B.js +0 -267
  138. package/dist/gitGraphDiagram-NY62KEGX-BDTsbSkO.mjs +0 -712
  139. package/dist/gitGraphDiagram-NY62KEGX-IQ8KriUw.js +0 -65
  140. package/dist/index-CkYZRBYn.js +0 -676
  141. package/dist/info-NVLQJR56-B5gDnSIT.mjs +0 -5
  142. package/dist/journeyDiagram-XKPGCS4Q-POnSekz9.js +0 -139
  143. package/dist/kanban-definition-3W4ZIXB7-BPr0_7wG.mjs +0 -720
  144. package/dist/kanban-definition-3W4ZIXB7-Bm064qrf.js +0 -89
  145. package/dist/mermaid-4DMBBIKO-DDxvQcE9.mjs +0 -4
  146. package/dist/mermaid-parser.core-BHAgLMGa.js +0 -128
  147. package/dist/mindmap-definition-VGOIOE7T-CV7bD4HY.js +0 -68
  148. package/dist/pie-7BOR55EZ-B0-atE_o.mjs +0 -5
  149. package/dist/quadrantDiagram-AYHSOK5B-B4gVakRV.js +0 -7
  150. package/dist/requirementDiagram-UZGBJVZJ-0zMPj-SD.js +0 -64
  151. package/dist/sankeyDiagram-TZEHDZUN-Cl8-L83T.js +0 -10
  152. package/dist/sequenceDiagram-WL72ISMW-DRQn7Fe4.js +0 -145
  153. package/dist/timeline-definition-IT6M3QCI-2X4dfyLj.js +0 -61
  154. package/dist/xychartDiagram-PRI3JC2R-BaFd1In8.js +0 -7
@@ -0,0 +1,128 @@
1
+ "use strict";const Fe=require("./min-BQ4NUvNf.js"),ot=require("./_baseUniq-D32sgNIc.js"),Cp=require("./index-BwYOYPeK.js");function _p(t,e){return ot.baseFlatten(Fe.map(t,e))}function kp(t,e){return t&&t.length?ot.baseUniq(t,ot.baseIteratee(e)):[]}function ue(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function Ve(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Np(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Ci(t){return typeof t=="object"&&t!==null&&ue(t.container)&&Ve(t.reference)&&typeof t.message=="string"}class Of{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,n){return ue(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,n);return r[n]=s,s}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Pr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Lf(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Pf(t){return Pr(t)&&typeof t.fullText=="string"}class re{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new re(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return Ae})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=bp(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new re(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Ae:{done:!1,value:e(i)}})}filter(e){return new re(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Ae})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new re(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(Hi(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Ae})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new re(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(Hi(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Ae})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new re(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new re(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Ae:this.nextFn(n.state)))}distinct(e){return new re(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return Ae})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function bp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Hi(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Op=new re(()=>{},()=>Ae),Ae=Object.freeze({done:!0,value:void 0});function ie(...t){if(t.length===1){const e=t[0];if(e instanceof re)return e;if(Hi(e))return new re(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new re(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Ae)}return t.length>1?new re(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];Hi(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Ae}):Op}class _o extends re{constructor(e,n,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return Ae})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ma;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Ma||(Ma={}));function Da(t){return new _o(t,e=>Pr(e)?e.content:[],{includeRoot:!0})}function Lp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Fa(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Wi(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var at;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(at||(at={}));function Pp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return at.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return at.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?at.Inside:n?at.OverlapBack:r?at.OverlapFront:at.Outside}function Mp(t,e){return Pp(t,e)>at.After}const Dp=/^[\w\p{L}]$/u;function Fp(t,e){if(t){const n=Gp(t,!0);if(n&&Il(n,e))return n;if(Pf(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(Il(s,e))return s}}}}function Il(t,e){return Lf(t)&&e.includes(t.tokenType.name)}function Gp(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class Mf extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function Hr(t){throw new Error("Error! The input value was not handled.")}const ii="AbstractRule",si="AbstractType",na="Condition",wl="TypeDefinition",ra="ValueLiteral",Xn="AbstractElement";function Up(t){return F.isInstance(t,Xn)}const ai="ArrayLiteral",oi="ArrayType",Jn="BooleanLiteral";function Bp(t){return F.isInstance(t,Jn)}const Zn="Conjunction";function jp(t){return F.isInstance(t,Zn)}const Qn="Disjunction";function Kp(t){return F.isInstance(t,Qn)}const li="Grammar",ia="GrammarImport",er="InferredType";function Df(t){return F.isInstance(t,er)}const tr="Interface";function Ff(t){return F.isInstance(t,tr)}const sa="NamedArgument",nr="Negation";function Hp(t){return F.isInstance(t,nr)}const ui="NumberLiteral",ci="Parameter",rr="ParameterReference";function Wp(t){return F.isInstance(t,rr)}const ir="ParserRule";function Ne(t){return F.isInstance(t,ir)}const fi="ReferenceType",_i="ReturnType";function zp(t){return F.isInstance(t,_i)}const sr="SimpleType";function Vp(t){return F.isInstance(t,sr)}const di="StringLiteral",fn="TerminalRule";function Zt(t){return F.isInstance(t,fn)}const ar="Type";function Gf(t){return F.isInstance(t,ar)}const aa="TypeAttribute",hi="UnionType",or="Action";function vs(t){return F.isInstance(t,or)}const lr="Alternatives";function Uf(t){return F.isInstance(t,lr)}const ur="Assignment";function Ht(t){return F.isInstance(t,ur)}const cr="CharacterRange";function qp(t){return F.isInstance(t,cr)}const fr="CrossReference";function ko(t){return F.isInstance(t,fr)}const dr="EndOfFile";function Yp(t){return F.isInstance(t,dr)}const hr="Group";function No(t){return F.isInstance(t,hr)}const pr="Keyword";function Wt(t){return F.isInstance(t,pr)}const mr="NegatedToken";function Xp(t){return F.isInstance(t,mr)}const gr="RegexToken";function Jp(t){return F.isInstance(t,gr)}const yr="RuleCall";function zt(t){return F.isInstance(t,yr)}const Tr="TerminalAlternatives";function Zp(t){return F.isInstance(t,Tr)}const vr="TerminalGroup";function Qp(t){return F.isInstance(t,vr)}const $r="TerminalRuleCall";function em(t){return F.isInstance(t,$r)}const Rr="UnorderedGroup";function Bf(t){return F.isInstance(t,Rr)}const Ar="UntilToken";function tm(t){return F.isInstance(t,Ar)}const Er="Wildcard";function nm(t){return F.isInstance(t,Er)}class jf extends Of{getAllTypes(){return[Xn,ii,si,or,lr,ai,oi,ur,Jn,cr,na,Zn,fr,Qn,dr,li,ia,hr,er,tr,pr,sa,mr,nr,ui,ci,rr,ir,fi,gr,_i,yr,sr,di,Tr,vr,fn,$r,ar,aa,wl,hi,Rr,Ar,ra,Er]}computeIsSubtype(e,n){switch(e){case or:case lr:case ur:case cr:case fr:case dr:case hr:case pr:case mr:case gr:case yr:case Tr:case vr:case $r:case Rr:case Ar:case Er:return this.isSubtype(Xn,n);case ai:case ui:case di:return this.isSubtype(ra,n);case oi:case fi:case sr:case hi:return this.isSubtype(wl,n);case Jn:return this.isSubtype(na,n)||this.isSubtype(ra,n);case Zn:case Qn:case nr:case rr:return this.isSubtype(na,n);case er:case tr:case ar:return this.isSubtype(si,n);case ir:return this.isSubtype(ii,n)||this.isSubtype(si,n);case fn:return this.isSubtype(ii,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return si;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return ii;case"Grammar:usedGrammars":return li;case"NamedArgument:parameter":case"ParameterReference:parameter":return ci;case"TerminalRuleCall:rule":return fn;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Xn:return{name:Xn,properties:[{name:"cardinality"},{name:"lookahead"}]};case ai:return{name:ai,properties:[{name:"elements",defaultValue:[]}]};case oi:return{name:oi,properties:[{name:"elementType"}]};case Jn:return{name:Jn,properties:[{name:"true",defaultValue:!1}]};case Zn:return{name:Zn,properties:[{name:"left"},{name:"right"}]};case Qn:return{name:Qn,properties:[{name:"left"},{name:"right"}]};case li:return{name:li,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case ia:return{name:ia,properties:[{name:"path"}]};case er:return{name:er,properties:[{name:"name"}]};case tr:return{name:tr,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case sa:return{name:sa,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case nr:return{name:nr,properties:[{name:"value"}]};case ui:return{name:ui,properties:[{name:"value"}]};case ci:return{name:ci,properties:[{name:"name"}]};case rr:return{name:rr,properties:[{name:"parameter"}]};case ir:return{name:ir,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case fi:return{name:fi,properties:[{name:"referenceType"}]};case _i:return{name:_i,properties:[{name:"name"}]};case sr:return{name:sr,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case di:return{name:di,properties:[{name:"value"}]};case fn:return{name:fn,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case ar:return{name:ar,properties:[{name:"name"},{name:"type"}]};case aa:return{name:aa,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case hi:return{name:hi,properties:[{name:"types",defaultValue:[]}]};case or:return{name:or,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case lr:return{name:lr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case ur:return{name:ur,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case cr:return{name:cr,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case fr:return{name:fr,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case dr:return{name:dr,properties:[{name:"cardinality"},{name:"lookahead"}]};case hr:return{name:hr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case pr:return{name:pr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case mr:return{name:mr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case gr:return{name:gr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case yr:return{name:yr,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Tr:return{name:Tr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case vr:return{name:vr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case $r:return{name:$r,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Rr:return{name:Rr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Ar:return{name:Ar,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Er:return{name:Er,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const F=new jf;function rm(t){for(const[e,n]of Object.entries(t))e.startsWith("$")||(Array.isArray(n)?n.forEach((r,i)=>{ue(r)&&(r.$container=t,r.$containerProperty=e,r.$containerIndex=i)}):ue(n)&&(n.$container=t,n.$containerProperty=e))}function $s(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function At(t){const n=Ga(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Ga(t){for(;t.$container;)t=t.$container;return t}function bo(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e?.range;return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(ue(s)){if(r.keyIndex++,Cl(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ue(o)&&Cl(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Ae})}function Wr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new _o(t,n=>bo(n,e))}function hn(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new _o(t,n=>bo(n,e),{includeRoot:!0})}function Cl(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)===null||n===void 0?void 0:n.range;return r?Mp(r,e):!1}function Kf(t){return new re(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(Ve(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ve(s))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ae})}function im(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of n.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Hf(i.defaultValue))}function Hf(t){return Array.isArray(t)?[...t.map(Hf)]:t}function _(t){return t.charCodeAt(0)}function oa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function Wn(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function cn(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function sm(){throw Error("Internal Error - Should never get here!")}function _l(t){return t.type==="Character"}const zi=[];for(let t=_("0");t<=_("9");t++)zi.push(t);const Vi=[_("_")].concat(zi);for(let t=_("a");t<=_("z");t++)Vi.push(t);for(let t=_("A");t<=_("Z");t++)Vi.push(t);const kl=[_(" "),_("\f"),_(`
2
+ `),_("\r"),_(" "),_("\v"),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_("\u2028"),_("\u2029"),_(" "),_(" "),_(" "),_("\uFEFF")],am=/[0-9a-fA-F]/,pi=/[0-9]/,om=/[1-9]/;class Wf{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 n=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":Wn(r,"global");break;case"i":Wn(r,"ignoreCase");break;case"m":Wn(r,"multiLine");break;case"u":Wn(r,"unicode");break;case"y":Wn(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}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"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break}cn(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return sm()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;cn(n);break}if(!(e===!0&&n===void 0)&&cn(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),cn(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[_(`
3
+ `),_("\r"),_("\u2028"),_("\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,n=!1;switch(this.popChar()){case"d":e=zi;break;case"D":e=zi,n=!0;break;case"s":e=kl;break;case"S":e=kl,n=!0;break;case"w":e=Vi;break;case"W":e=Vi,n=!0;break}if(cn(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=_("\f");break;case"n":e=_(`
4
+ `);break;case"r":e=_("\r");break;case"t":e=_(" ");break;case"v":e=_("\v");break}if(cn(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:_("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:_(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
5
+ `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:_(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,_l(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,_l(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else oa(r.value,e),e.push(_("-")),oa(i.value,e)}else oa(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
6
+ `: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:_("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(om.test(e)===!1)throw Error("Expecting a positive integer");for(;pi.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(pi.test(e)===!1)throw Error("Expecting an integer");for(;pi.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
7
+ `: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:_(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 pi.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
8
+ `: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)==="!");default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
9
+ `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(am.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,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(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class Rs{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const lm=/\r?\n/gm,um=new Wf;class cm extends Rs{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 n=String.fromCharCode(e.value);if(!this.multiline&&n===`
10
+ `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=As(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
11
+ `.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const la=new cm;function fm(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),la.reset(t),la.visit(um.pattern(t)),la.multiline}catch{return!1}}const dm=`\f
12
+ \r \v              \u2028\u2029   \uFEFF`.split("");function Ua(t){const e=typeof t=="string"?new RegExp(t):t;return dm.some(n=>e.test(n))}function As(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function hm(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:As(e)).join("")}function pm(t,e){const n=mm(t),r=e.match(n);return!!r&&r[0].length>0}function mm(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(u){s+=n.substr(r,u),r+=u}function l(u){s+="(?:"+n.substr(r,u)+"|$)",r+=u}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?n[r+2]==="{"?l(n.indexOf("}",r)-r+1):l(6):l(2);break;case"p":case"P":e.unicode?l(n.indexOf("}",r)-r+1):l(2);break;case"k":l(n.indexOf(">",r)-r+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],l(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[0].length):l(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=n.substr(a,r-a);break;case"<":switch(n[r+3]){case"=":case"!":a=r,r+=4,i(),s+=n.substr(a,r-a);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:l(1);break}return s}return new RegExp(i(),t.flags)}function gm(t){return t.rules.find(e=>Ne(e)&&e.entry)}function ym(t){return t.rules.filter(e=>Zt(e)&&e.hidden)}function zf(t,e){const n=new Set,r=gm(t);if(!r)return new Set(t.rules);const i=[r].concat(ym(t));for(const a of i)Vf(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||Zt(a)&&a.hidden)&&s.add(a);return s}function Vf(t,e,n){e.add(t.name),Wr(t).forEach(r=>{if(zt(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Vf(i,e,n)}})}function Tm(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Yf(t.type.ref);return e?.terminal}}function vm(t){return t.hidden&&!Ua(Mo(t))}function $m(t,e){return!t||!e?[]:Oo(t,e,t.astNode,!0)}function qf(t,e,n){if(!t||!e)return;const r=Oo(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function Oo(t,e,n,r){if(!r){const i=$s(t.grammarSource,Ht);if(i&&i.feature===e)return[t]}return Pr(t)&&t.astNode===n?t.content.flatMap(i=>Oo(i,e,n,!1)):[]}function Rm(t,e,n){if(!t)return;const r=Am(t,e,t?.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function Am(t,e,n){if(t.astNode!==n)return[];if(Wt(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Da(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?Wt(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Em(t){var e;const n=t.astNode;for(;n===((e=t.container)===null||e===void 0?void 0:e.astNode);){const r=$s(t.grammarSource,Ht);if(r)return r;t=t.container}}function Yf(t){let e=t;return Df(e)&&(vs(e.$container)?e=e.$container.$container:Ne(e.$container)?e=e.$container:Hr(e.$container)),Xf(t,e,new Map)}function Xf(t,e,n){var r;function i(s,a){let o;return $s(s,Ht)||(o=Xf(a,a,n)),n.set(t,o),o}if(n.has(t))return n.get(t);n.set(t,void 0);for(const s of Wr(e)){if(Ht(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(zt(s)&&Ne(s.rule.ref))return i(s,s.rule.ref);if(Vp(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function Jf(t){return Zf(t,new Set)}function Zf(t,e){if(e.has(t))return!0;e.add(t);for(const n of Wr(t))if(zt(n)){if(!n.rule.ref||Ne(n.rule.ref)&&!Zf(n.rule.ref,e))return!1}else{if(Ht(n))return!1;if(vs(n))return!1}return!!t.definition}function Lo(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e){if(Ne(e))return e.name;if(Ff(e)||Gf(e))return e.name}}}function Po(t){var e;if(Ne(t))return Jf(t)?t.name:(e=Lo(t))!==null&&e!==void 0?e:t.name;if(Ff(t)||Gf(t)||zp(t))return t.name;if(vs(t)){const n=Sm(t);if(n)return n}else if(Df(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Sm(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Po(t.type.ref)}function xm(t){var e,n,r;return Zt(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":(r=Lo(t))!==null&&r!==void 0?r:t.name}function Mo(t){const e={s:!1,i:!1,u:!1},n=Bn(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Do=/[\s\S]/.source;function Bn(t,e){if(Zp(t))return Im(t);if(Qp(t))return wm(t);if(qp(t))return km(t);if(em(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return ut(Bn(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(Xp(t))return _m(t);if(tm(t))return Cm(t);if(Jp(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ut(r,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(nm(t))return ut(Do,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function Im(t){return ut(t.elements.map(e=>Bn(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function wm(t){return ut(t.elements.map(e=>Bn(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function Cm(t){return ut(`${Do}*?${Bn(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function _m(t){return ut(`(?!${Bn(t.terminal)})${Do}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function km(t){return t.right?ut(`[${ua(t.left)}-${ua(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):ut(ua(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function ua(t){return As(t.value)}function ut(t,e){var n;return(e.wrap!==!1||e.lookahead)&&(t=`(${(n=e.lookahead)!==null&&n!==void 0?n:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function Nm(t){const e=[],n=t.Grammar;for(const r of n.rules)Zt(r)&&vm(r)&&fm(Mo(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Dp}}var Qf=typeof global=="object"&&global&&global.Object===Object&&global,bm=typeof self=="object"&&self&&self.Object===Object&&self,Xe=Qf||bm||Function("return this")(),be=Xe.Symbol,ed=Object.prototype,Om=ed.hasOwnProperty,Lm=ed.toString,zn=be?be.toStringTag:void 0;function Pm(t){var e=Om.call(t,zn),n=t[zn];try{t[zn]=void 0;var r=!0}catch{}var i=Lm.call(t);return r&&(e?t[zn]=n:delete t[zn]),i}var Mm=Object.prototype,Dm=Mm.toString;function Fm(t){return Dm.call(t)}var Gm="[object Null]",Um="[object Undefined]",Nl=be?be.toStringTag:void 0;function Nt(t){return t==null?t===void 0?Um:Gm:Nl&&Nl in Object(t)?Pm(t):Fm(t)}function Be(t){return t!=null&&typeof t=="object"}var Bm="[object Symbol]";function Es(t){return typeof t=="symbol"||Be(t)&&Nt(t)==Bm}function Ss(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var M=Array.isArray,bl=be?be.prototype:void 0,Ol=bl?bl.toString:void 0;function td(t){if(typeof t=="string")return t;if(M(t))return Ss(t,td)+"";if(Es(t))return Ol?Ol.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var jm=/\s/;function Km(t){for(var e=t.length;e--&&jm.test(t.charAt(e)););return e}var Hm=/^\s+/;function Wm(t){return t&&t.slice(0,Km(t)+1).replace(Hm,"")}function Oe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Ll=NaN,zm=/^[-+]0x[0-9a-f]+$/i,Vm=/^0b[01]+$/i,qm=/^0o[0-7]+$/i,Ym=parseInt;function Xm(t){if(typeof t=="number")return t;if(Es(t))return Ll;if(Oe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Oe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Wm(t);var n=Vm.test(t);return n||qm.test(t)?Ym(t.slice(2),n?2:8):zm.test(t)?Ll:+t}var Pl=1/0,Jm=17976931348623157e292;function Zm(t){if(!t)return t===0?t:0;if(t=Xm(t),t===Pl||t===-Pl){var e=t<0?-1:1;return e*Jm}return t===t?t:0}function xs(t){var e=Zm(t),n=e%1;return e===e?n?e-n:e:0}function On(t){return t}var Qm="[object AsyncFunction]",eg="[object Function]",tg="[object GeneratorFunction]",ng="[object Proxy]";function pt(t){if(!Oe(t))return!1;var e=Nt(t);return e==eg||e==tg||e==Qm||e==ng}var ca=Xe["__core-js_shared__"],Ml=(function(){var t=/[^.]+$/.exec(ca&&ca.keys&&ca.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function rg(t){return!!Ml&&Ml in t}var ig=Function.prototype,sg=ig.toString;function Qt(t){if(t!=null){try{return sg.call(t)}catch{}try{return t+""}catch{}}return""}var ag=/[\\^$.*+?()[\]{}|]/g,og=/^\[object .+?Constructor\]$/,lg=Function.prototype,ug=Object.prototype,cg=lg.toString,fg=ug.hasOwnProperty,dg=RegExp("^"+cg.call(fg).replace(ag,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function hg(t){if(!Oe(t)||rg(t))return!1;var e=pt(t)?dg:og;return e.test(Qt(t))}function pg(t,e){return t?.[e]}function en(t,e){var n=pg(t,e);return hg(n)?n:void 0}var Ba=en(Xe,"WeakMap"),Dl=Object.create,mg=(function(){function t(){}return function(e){if(!Oe(e))return{};if(Dl)return Dl(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}})();function gg(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function J(){}function yg(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var Tg=800,vg=16,$g=Date.now;function Rg(t){var e=0,n=0;return function(){var r=$g(),i=vg-(r-n);if(n=r,i>0){if(++e>=Tg)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Ag(t){return function(){return t}}var qi=(function(){try{var t=en(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Eg=qi?function(t,e){return qi(t,"toString",{configurable:!0,enumerable:!1,value:Ag(e),writable:!0})}:On,Sg=Rg(Eg);function nd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function rd(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function xg(t){return t!==t}function Ig(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Fo(t,e,n){return e===e?Ig(t,e,n):rd(t,xg,n)}function id(t,e){var n=t==null?0:t.length;return!!n&&Fo(t,e,0)>-1}var wg=9007199254740991,Cg=/^(?:0|[1-9]\d*)$/;function Is(t,e){var n=typeof t;return e=e??wg,!!e&&(n=="number"||n!="symbol"&&Cg.test(t))&&t>-1&&t%1==0&&t<e}function Go(t,e,n){e=="__proto__"&&qi?qi(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function zr(t,e){return t===e||t!==t&&e!==e}var _g=Object.prototype,kg=_g.hasOwnProperty;function ws(t,e,n){var r=t[e];(!(kg.call(t,e)&&zr(r,n))||n===void 0&&!(e in t))&&Go(t,e,n)}function Vr(t,e,n,r){var i=!n;n||(n={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?Go(n,o,l):ws(n,o,l)}return n}var Fl=Math.max;function Ng(t,e,n){return e=Fl(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=Fl(r.length-e,0),a=Array(s);++i<s;)a[i]=r[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=r[i];return o[e]=n(a),gg(t,this,o)}}function Uo(t,e){return Sg(Ng(t,e,On),t+"")}var bg=9007199254740991;function Bo(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=bg}function Je(t){return t!=null&&Bo(t.length)&&!pt(t)}function sd(t,e,n){if(!Oe(n))return!1;var r=typeof e;return(r=="number"?Je(n)&&Is(e,n.length):r=="string"&&e in n)?zr(n[e],t):!1}function Og(t){return Uo(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&sd(n[0],n[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var o=n[r];o&&t(e,o,r,s)}return e})}var Lg=Object.prototype;function qr(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||Lg;return t===n}function Pg(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var Mg="[object Arguments]";function Gl(t){return Be(t)&&Nt(t)==Mg}var ad=Object.prototype,Dg=ad.hasOwnProperty,Fg=ad.propertyIsEnumerable,Cs=Gl((function(){return arguments})())?Gl:function(t){return Be(t)&&Dg.call(t,"callee")&&!Fg.call(t,"callee")};function Gg(){return!1}var od=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ul=od&&typeof module=="object"&&module&&!module.nodeType&&module,Ug=Ul&&Ul.exports===od,Bl=Ug?Xe.Buffer:void 0,Bg=Bl?Bl.isBuffer:void 0,Mr=Bg||Gg,jg="[object Arguments]",Kg="[object Array]",Hg="[object Boolean]",Wg="[object Date]",zg="[object Error]",Vg="[object Function]",qg="[object Map]",Yg="[object Number]",Xg="[object Object]",Jg="[object RegExp]",Zg="[object Set]",Qg="[object String]",ey="[object WeakMap]",ty="[object ArrayBuffer]",ny="[object DataView]",ry="[object Float32Array]",iy="[object Float64Array]",sy="[object Int8Array]",ay="[object Int16Array]",oy="[object Int32Array]",ly="[object Uint8Array]",uy="[object Uint8ClampedArray]",cy="[object Uint16Array]",fy="[object Uint32Array]",B={};B[ry]=B[iy]=B[sy]=B[ay]=B[oy]=B[ly]=B[uy]=B[cy]=B[fy]=!0;B[jg]=B[Kg]=B[ty]=B[Hg]=B[ny]=B[Wg]=B[zg]=B[Vg]=B[qg]=B[Yg]=B[Xg]=B[Jg]=B[Zg]=B[Qg]=B[ey]=!1;function dy(t){return Be(t)&&Bo(t.length)&&!!B[Nt(t)]}function _s(t){return function(e){return t(e)}}var ld=typeof exports=="object"&&exports&&!exports.nodeType&&exports,br=ld&&typeof module=="object"&&module&&!module.nodeType&&module,hy=br&&br.exports===ld,fa=hy&&Qf.process,Et=(function(){try{var t=br&&br.require&&br.require("util").types;return t||fa&&fa.binding&&fa.binding("util")}catch{}})(),jl=Et&&Et.isTypedArray,jo=jl?_s(jl):dy,py=Object.prototype,my=py.hasOwnProperty;function ud(t,e){var n=M(t),r=!n&&Cs(t),i=!n&&!r&&Mr(t),s=!n&&!r&&!i&&jo(t),a=n||r||i||s,o=a?Pg(t.length,String):[],l=o.length;for(var u in t)(e||my.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Is(u,l)))&&o.push(u);return o}function cd(t,e){return function(n){return t(e(n))}}var gy=cd(Object.keys,Object),yy=Object.prototype,Ty=yy.hasOwnProperty;function fd(t){if(!qr(t))return gy(t);var e=[];for(var n in Object(t))Ty.call(t,n)&&n!="constructor"&&e.push(n);return e}function Le(t){return Je(t)?ud(t):fd(t)}var vy=Object.prototype,$y=vy.hasOwnProperty,ja=Og(function(t,e){if(qr(e)||Je(e)){Vr(e,Le(e),t);return}for(var n in e)$y.call(e,n)&&ws(t,n,e[n])});function Ry(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var Ay=Object.prototype,Ey=Ay.hasOwnProperty;function Sy(t){if(!Oe(t))return Ry(t);var e=qr(t),n=[];for(var r in t)r=="constructor"&&(e||!Ey.call(t,r))||n.push(r);return n}function Ko(t){return Je(t)?ud(t,!0):Sy(t)}var xy=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Iy=/^\w*$/;function Ho(t,e){if(M(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Es(t)?!0:Iy.test(t)||!xy.test(t)||e!=null&&t in Object(e)}var Dr=en(Object,"create");function wy(){this.__data__=Dr?Dr(null):{},this.size=0}function Cy(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var _y="__lodash_hash_undefined__",ky=Object.prototype,Ny=ky.hasOwnProperty;function by(t){var e=this.__data__;if(Dr){var n=e[t];return n===_y?void 0:n}return Ny.call(e,t)?e[t]:void 0}var Oy=Object.prototype,Ly=Oy.hasOwnProperty;function Py(t){var e=this.__data__;return Dr?e[t]!==void 0:Ly.call(e,t)}var My="__lodash_hash_undefined__";function Dy(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Dr&&e===void 0?My:e,this}function Vt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Vt.prototype.clear=wy;Vt.prototype.delete=Cy;Vt.prototype.get=by;Vt.prototype.has=Py;Vt.prototype.set=Dy;function Fy(){this.__data__=[],this.size=0}function ks(t,e){for(var n=t.length;n--;)if(zr(t[n][0],e))return n;return-1}var Gy=Array.prototype,Uy=Gy.splice;function By(t){var e=this.__data__,n=ks(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():Uy.call(e,n,1),--this.size,!0}function jy(t){var e=this.__data__,n=ks(e,t);return n<0?void 0:e[n][1]}function Ky(t){return ks(this.__data__,t)>-1}function Hy(t,e){var n=this.__data__,r=ks(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function mt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}mt.prototype.clear=Fy;mt.prototype.delete=By;mt.prototype.get=jy;mt.prototype.has=Ky;mt.prototype.set=Hy;var Fr=en(Xe,"Map");function Wy(){this.size=0,this.__data__={hash:new Vt,map:new(Fr||mt),string:new Vt}}function zy(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function Ns(t,e){var n=t.__data__;return zy(e)?n[typeof e=="string"?"string":"hash"]:n.map}function Vy(t){var e=Ns(this,t).delete(t);return this.size-=e?1:0,e}function qy(t){return Ns(this,t).get(t)}function Yy(t){return Ns(this,t).has(t)}function Xy(t,e){var n=Ns(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function gt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}gt.prototype.clear=Wy;gt.prototype.delete=Vy;gt.prototype.get=qy;gt.prototype.has=Yy;gt.prototype.set=Xy;var Jy="Expected a function";function Wo(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Jy);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var a=t.apply(this,r);return n.cache=s.set(i,a)||s,a};return n.cache=new(Wo.Cache||gt),n}Wo.Cache=gt;var Zy=500;function Qy(t){var e=Wo(t,function(r){return n.size===Zy&&n.clear(),r}),n=e.cache;return e}var eT=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tT=/\\(\\)?/g,nT=Qy(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(eT,function(n,r,i,s){e.push(i?s.replace(tT,"$1"):r||n)}),e});function rT(t){return t==null?"":td(t)}function bs(t,e){return M(t)?t:Ho(t,e)?[t]:nT(rT(t))}function Yr(t){if(typeof t=="string"||Es(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function zo(t,e){e=bs(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[Yr(e[n++])];return n&&n==r?t:void 0}function iT(t,e,n){var r=t==null?void 0:zo(t,e);return r===void 0?n:r}function Vo(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var Kl=be?be.isConcatSpreadable:void 0;function sT(t){return M(t)||Cs(t)||!!(Kl&&t&&t[Kl])}function qo(t,e,n,r,i){var s=-1,a=t.length;for(n||(n=sT),i||(i=[]);++s<a;){var o=t[s];n(o)?Vo(i,o):r||(i[i.length]=o)}return i}function Ue(t){var e=t==null?0:t.length;return e?qo(t):[]}var dd=cd(Object.getPrototypeOf,Object);function hd(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function aT(t,e,n,r){var i=-1,s=t==null?0:t.length;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}function oT(){this.__data__=new mt,this.size=0}function lT(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function uT(t){return this.__data__.get(t)}function cT(t){return this.__data__.has(t)}var fT=200;function dT(t,e){var n=this.__data__;if(n instanceof mt){var r=n.__data__;if(!Fr||r.length<fT-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new gt(r)}return n.set(t,e),this.size=n.size,this}function qe(t){var e=this.__data__=new mt(t);this.size=e.size}qe.prototype.clear=oT;qe.prototype.delete=lT;qe.prototype.get=uT;qe.prototype.has=cT;qe.prototype.set=dT;function hT(t,e){return t&&Vr(e,Le(e),t)}function pT(t,e){return t&&Vr(e,Ko(e),t)}var pd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Hl=pd&&typeof module=="object"&&module&&!module.nodeType&&module,mT=Hl&&Hl.exports===pd,Wl=mT?Xe.Buffer:void 0,zl=Wl?Wl.allocUnsafe:void 0;function gT(t,e){var n=t.length,r=zl?zl(n):new t.constructor(n);return t.copy(r),r}function Yo(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var a=t[n];e(a,n,t)&&(s[i++]=a)}return s}function md(){return[]}var yT=Object.prototype,TT=yT.propertyIsEnumerable,Vl=Object.getOwnPropertySymbols,Xo=Vl?function(t){return t==null?[]:(t=Object(t),Yo(Vl(t),function(e){return TT.call(t,e)}))}:md;function vT(t,e){return Vr(t,Xo(t),e)}var $T=Object.getOwnPropertySymbols,gd=$T?function(t){for(var e=[];t;)Vo(e,Xo(t)),t=dd(t);return e}:md;function RT(t,e){return Vr(t,gd(t),e)}function yd(t,e,n){var r=e(t);return M(t)?r:Vo(r,n(t))}function Ka(t){return yd(t,Le,Xo)}function AT(t){return yd(t,Ko,gd)}var Ha=en(Xe,"DataView"),Wa=en(Xe,"Promise"),pn=en(Xe,"Set"),ql="[object Map]",ET="[object Object]",Yl="[object Promise]",Xl="[object Set]",Jl="[object WeakMap]",Zl="[object DataView]",ST=Qt(Ha),xT=Qt(Fr),IT=Qt(Wa),wT=Qt(pn),CT=Qt(Ba),_e=Nt;(Ha&&_e(new Ha(new ArrayBuffer(1)))!=Zl||Fr&&_e(new Fr)!=ql||Wa&&_e(Wa.resolve())!=Yl||pn&&_e(new pn)!=Xl||Ba&&_e(new Ba)!=Jl)&&(_e=function(t){var e=Nt(t),n=e==ET?t.constructor:void 0,r=n?Qt(n):"";if(r)switch(r){case ST:return Zl;case xT:return ql;case IT:return Yl;case wT:return Xl;case CT:return Jl}return e});var _T=Object.prototype,kT=_T.hasOwnProperty;function NT(t){var e=t.length,n=new t.constructor(e);return e&&typeof t[0]=="string"&&kT.call(t,"index")&&(n.index=t.index,n.input=t.input),n}var Yi=Xe.Uint8Array;function bT(t){var e=new t.constructor(t.byteLength);return new Yi(e).set(new Yi(t)),e}function OT(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var LT=/\w*$/;function PT(t){var e=new t.constructor(t.source,LT.exec(t));return e.lastIndex=t.lastIndex,e}var Ql=be?be.prototype:void 0,eu=Ql?Ql.valueOf:void 0;function MT(t){return eu?Object(eu.call(t)):{}}function DT(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var FT="[object Boolean]",GT="[object Date]",UT="[object Map]",BT="[object Number]",jT="[object RegExp]",KT="[object Set]",HT="[object String]",WT="[object Symbol]",zT="[object ArrayBuffer]",VT="[object DataView]",qT="[object Float32Array]",YT="[object Float64Array]",XT="[object Int8Array]",JT="[object Int16Array]",ZT="[object Int32Array]",QT="[object Uint8Array]",ev="[object Uint8ClampedArray]",tv="[object Uint16Array]",nv="[object Uint32Array]";function rv(t,e,n){var r=t.constructor;switch(e){case zT:return bT(t);case FT:case GT:return new r(+t);case VT:return OT(t);case qT:case YT:case XT:case JT:case ZT:case QT:case ev:case tv:case nv:return DT(t);case UT:return new r;case BT:case HT:return new r(t);case jT:return PT(t);case KT:return new r;case WT:return MT(t)}}function iv(t){return typeof t.constructor=="function"&&!qr(t)?mg(dd(t)):{}}var sv="[object Map]";function av(t){return Be(t)&&_e(t)==sv}var tu=Et&&Et.isMap,ov=tu?_s(tu):av,lv="[object Set]";function uv(t){return Be(t)&&_e(t)==lv}var nu=Et&&Et.isSet,cv=nu?_s(nu):uv,fv=2,Td="[object Arguments]",dv="[object Array]",hv="[object Boolean]",pv="[object Date]",mv="[object Error]",vd="[object Function]",gv="[object GeneratorFunction]",yv="[object Map]",Tv="[object Number]",$d="[object Object]",vv="[object RegExp]",$v="[object Set]",Rv="[object String]",Av="[object Symbol]",Ev="[object WeakMap]",Sv="[object ArrayBuffer]",xv="[object DataView]",Iv="[object Float32Array]",wv="[object Float64Array]",Cv="[object Int8Array]",_v="[object Int16Array]",kv="[object Int32Array]",Nv="[object Uint8Array]",bv="[object Uint8ClampedArray]",Ov="[object Uint16Array]",Lv="[object Uint32Array]",G={};G[Td]=G[dv]=G[Sv]=G[xv]=G[hv]=G[pv]=G[Iv]=G[wv]=G[Cv]=G[_v]=G[kv]=G[yv]=G[Tv]=G[$d]=G[vv]=G[$v]=G[Rv]=G[Av]=G[Nv]=G[bv]=G[Ov]=G[Lv]=!0;G[mv]=G[vd]=G[Ev]=!1;function ki(t,e,n,r,i,s){var a,o=e&fv;if(a!==void 0)return a;if(!Oe(t))return t;var l=M(t);if(l)return a=NT(t),yg(t,a);var u=_e(t),c=u==vd||u==gv;if(Mr(t))return gT(t);if(u==$d||u==Td||c&&!i)return a=c?{}:iv(t),o?RT(t,pT(a,t)):vT(t,hT(a,t));if(!G[u])return i?t:{};a=rv(t,u),s||(s=new qe);var f=s.get(t);if(f)return f;s.set(t,a),cv(t)?t.forEach(function(m){a.add(ki(m,e,n,m,t,s))}):ov(t)&&t.forEach(function(m,g){a.set(g,ki(m,e,n,g,t,s))});var d=Ka,h=l?void 0:d(t);return nd(h||t,function(m,g){h&&(g=m,m=t[g]),ws(a,g,ki(m,e,n,g,t,s))}),a}var Pv=4;function ae(t){return ki(t,Pv)}function Xr(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}var Mv="__lodash_hash_undefined__";function Dv(t){return this.__data__.set(t,Mv),this}function Fv(t){return this.__data__.has(t)}function Ln(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new gt;++e<n;)this.add(t[e])}Ln.prototype.add=Ln.prototype.push=Dv;Ln.prototype.has=Fv;function Rd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function Jo(t,e){return t.has(e)}var Gv=1,Uv=2;function Ad(t,e,n,r,i,s){var a=n&Gv,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=n&Uv?new Ln:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(r)var v=a?r(g,m,f,e,t,s):r(m,g,f,t,e,s);if(v!==void 0){if(v)continue;d=!1;break}if(h){if(!Rd(e,function(y,R){if(!Jo(h,R)&&(m===y||i(m,y,n,r,s)))return h.push(R)})){d=!1;break}}else if(!(m===g||i(m,g,n,r,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function Bv(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function Zo(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var jv=1,Kv=2,Hv="[object Boolean]",Wv="[object Date]",zv="[object Error]",Vv="[object Map]",qv="[object Number]",Yv="[object RegExp]",Xv="[object Set]",Jv="[object String]",Zv="[object Symbol]",Qv="[object ArrayBuffer]",e$="[object DataView]",ru=be?be.prototype:void 0,da=ru?ru.valueOf:void 0;function t$(t,e,n,r,i,s,a){switch(n){case e$:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case Qv:return!(t.byteLength!=e.byteLength||!s(new Yi(t),new Yi(e)));case Hv:case Wv:case qv:return zr(+t,+e);case zv:return t.name==e.name&&t.message==e.message;case Yv:case Jv:return t==e+"";case Vv:var o=Bv;case Xv:var l=r&jv;if(o||(o=Zo),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=Kv,a.set(t,e);var c=Ad(o(t),o(e),r,i,s,a);return a.delete(t),c;case Zv:if(da)return da.call(t)==da.call(e)}return!1}var n$=1,r$=Object.prototype,i$=r$.hasOwnProperty;function s$(t,e,n,r,i,s){var a=n&n$,o=Ka(t),l=o.length,u=Ka(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:i$.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var v=a;++f<l;){d=o[f];var y=t[d],R=e[d];if(r)var $=a?r(R,y,d,e,t,s):r(y,R,d,t,e,s);if(!($===void 0?y===R||i(y,R,n,r,s):$)){g=!1;break}v||(v=d=="constructor")}if(g&&!v){var S=t.constructor,O=e.constructor;S!=O&&"constructor"in t&&"constructor"in e&&!(typeof S=="function"&&S instanceof S&&typeof O=="function"&&O instanceof O)&&(g=!1)}return s.delete(t),s.delete(e),g}var a$=1,iu="[object Arguments]",su="[object Array]",mi="[object Object]",o$=Object.prototype,au=o$.hasOwnProperty;function l$(t,e,n,r,i,s){var a=M(t),o=M(e),l=a?su:_e(t),u=o?su:_e(e);l=l==iu?mi:l,u=u==iu?mi:u;var c=l==mi,f=u==mi,d=l==u;if(d&&Mr(t)){if(!Mr(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new qe),a||jo(t)?Ad(t,e,n,r,i,s):t$(t,e,l,n,r,i,s);if(!(n&a$)){var h=c&&au.call(t,"__wrapped__"),m=f&&au.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,v=m?e.value():e;return s||(s=new qe),i(g,v,n,r,s)}}return d?(s||(s=new qe),s$(t,e,n,r,i,s)):!1}function Qo(t,e,n,r,i){return t===e?!0:t==null||e==null||!Be(t)&&!Be(e)?t!==t&&e!==e:l$(t,e,n,r,Qo,i)}var u$=1,c$=2;function f$(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=n[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=n[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new qe,f;if(!(f===void 0?Qo(u,l,u$|c$,r,c):f))return!1}}return!0}function Ed(t){return t===t&&!Oe(t)}function d$(t){for(var e=Le(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Ed(i)]}return e}function Sd(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function h$(t){var e=d$(t);return e.length==1&&e[0][2]?Sd(e[0][0],e[0][1]):function(n){return n===t||f$(n,t,e)}}function p$(t,e){return t!=null&&e in Object(t)}function xd(t,e,n){e=bs(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var a=Yr(e[r]);if(!(s=t!=null&&n(t,a)))break;t=t[a]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&Bo(i)&&Is(a,i)&&(M(t)||Cs(t)))}function m$(t,e){return t!=null&&xd(t,e,p$)}var g$=1,y$=2;function T$(t,e){return Ho(t)&&Ed(e)?Sd(Yr(t),e):function(n){var r=iT(n,t);return r===void 0&&r===e?m$(n,t):Qo(e,r,g$|y$)}}function v$(t){return function(e){return e?.[t]}}function $$(t){return function(e){return zo(e,t)}}function R$(t){return Ho(t)?v$(Yr(t)):$$(t)}function Ze(t){return typeof t=="function"?t:t==null?On:typeof t=="object"?M(t)?T$(t[0],t[1]):h$(t):R$(t)}function A$(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function E$(t){return function(e,n,r){for(var i=-1,s=Object(e),a=r(e),o=a.length;o--;){var l=a[++i];if(n(s[l],l,s)===!1)break}return e}}var S$=E$();function x$(t,e){return t&&S$(t,e,Le)}function I$(t,e){return function(n,r){if(n==null)return n;if(!Je(n))return t(n,r);for(var i=n.length,s=-1,a=Object(n);++s<i&&r(a[s],s,a)!==!1;);return n}}var tn=I$(x$);function w$(t,e,n,r){return tn(t,function(i,s,a){e(r,i,n(i),a)}),r}function C$(t,e){return function(n,r){var i=M(n)?A$:w$,s=e?e():{};return i(n,t,Ze(r),s)}}var Id=Object.prototype,_$=Id.hasOwnProperty,el=Uo(function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&sd(e[0],e[1],i)&&(r=1);++n<r;)for(var s=e[n],a=Ko(s),o=-1,l=a.length;++o<l;){var u=a[o],c=t[u];(c===void 0||zr(c,Id[u])&&!_$.call(t,u))&&(t[u]=s[u])}return t});function ou(t){return Be(t)&&Je(t)}var k$=200;function N$(t,e,n,r){var i=-1,s=id,a=!0,o=t.length,l=[],u=e.length;if(!o)return l;e.length>=k$&&(s=Jo,a=!1,e=new Ln(e));e:for(;++i<o;){var c=t[i],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=u;d--;)if(e[d]===f)continue e;l.push(c)}else s(e,f,r)||l.push(c)}return l}var Os=Uo(function(t,e){return ou(t)?N$(t,qo(e,1,ou,!0)):[]});function Pn(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function ne(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:xs(e),hd(t,e<0?0:e,r)):[]}function Gr(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:xs(e),e=r-e,hd(t,0,e<0?0:e)):[]}function b$(t){return typeof t=="function"?t:On}function k(t,e){var n=M(t)?nd:tn;return n(t,b$(e))}function O$(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function L$(t,e){var n=!0;return tn(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Ye(t,e,n){var r=M(t)?O$:L$;return r(t,Ze(e))}function wd(t,e){var n=[];return tn(t,function(r,i,s){e(r,i,s)&&n.push(r)}),n}function Pe(t,e){var n=M(t)?Yo:wd;return n(t,Ze(e))}function P$(t){return function(e,n,r){var i=Object(e);if(!Je(e)){var s=Ze(n);e=Le(e),n=function(o){return s(i[o],o,i)}}var a=t(e,n,r);return a>-1?i[s?e[a]:a]:void 0}}var M$=Math.max;function D$(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=n==null?0:xs(n);return i<0&&(i=M$(r+i,0)),rd(t,Ze(e),i)}var Mn=P$(D$);function je(t){return t&&t.length?t[0]:void 0}function F$(t,e){var n=-1,r=Je(t)?Array(t.length):[];return tn(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function w(t,e){var n=M(t)?Ss:F$;return n(t,Ze(e))}function ke(t,e){return qo(w(t,e))}var G$=Object.prototype,U$=G$.hasOwnProperty,B$=C$(function(t,e,n){U$.call(t,n)?t[n].push(e):Go(t,n,[e])}),j$=Object.prototype,K$=j$.hasOwnProperty;function H$(t,e){return t!=null&&K$.call(t,e)}function C(t,e){return t!=null&&xd(t,e,H$)}var W$="[object String]";function Ke(t){return typeof t=="string"||!M(t)&&Be(t)&&Nt(t)==W$}function z$(t,e){return Ss(e,function(n){return t[n]})}function Z(t){return t==null?[]:z$(t,Le(t))}var V$=Math.max;function ge(t,e,n,r){t=Je(t)?t:Z(t),n=n?xs(n):0;var i=t.length;return n<0&&(n=V$(i+n,0)),Ke(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Fo(t,e,n)>-1}function lu(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Fo(t,e,i)}var q$="[object Map]",Y$="[object Set]",X$=Object.prototype,J$=X$.hasOwnProperty;function U(t){if(t==null)return!0;if(Je(t)&&(M(t)||typeof t=="string"||typeof t.splice=="function"||Mr(t)||jo(t)||Cs(t)))return!t.length;var e=_e(t);if(e==q$||e==Y$)return!t.size;if(qr(t))return!fd(t).length;for(var n in t)if(J$.call(t,n))return!1;return!0}var Z$="[object RegExp]";function Q$(t){return Be(t)&&Nt(t)==Z$}var uu=Et&&Et.isRegExp,St=uu?_s(uu):Q$;function ft(t){return t===void 0}var eR="Expected a function";function tR(t){if(typeof t!="function")throw new TypeError(eR);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function nR(t,e,n,r){if(!Oe(t))return t;e=bs(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=Yr(e[i]),u=n;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=Oe(c)?c:Is(e[i+1])?[]:{})}ws(o,l,u),o=o[l]}return t}function rR(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=zo(t,a);n(o,a)&&nR(s,bs(a,t),o)}return s}function iR(t,e){if(t==null)return{};var n=Ss(AT(t),function(r){return[r]});return e=Ze(e),rR(t,n,function(r,i){return e(r,i[0])})}function sR(t,e,n,r,i){return i(t,function(s,a,o){n=r?(r=!1,s):e(n,s,a,o)}),n}function Se(t,e,n){var r=M(t)?aT:sR,i=arguments.length<3;return r(t,Ze(e),n,i,tn)}function Ls(t,e){var n=M(t)?Yo:wd;return n(t,tR(Ze(e)))}function aR(t,e){var n;return tn(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function oR(t,e,n){var r=M(t)?Rd:aR;return r(t,Ze(e))}var lR=1/0,uR=pn&&1/Zo(new pn([,-0]))[1]==lR?function(t){return new pn(t)}:J,cR=200;function fR(t,e,n){var r=-1,i=id,s=t.length,a=!0,o=[],l=o;if(s>=cR){var u=uR(t);if(u)return Zo(u);a=!1,i=Jo,l=new Ln}else l=o;e:for(;++r<s;){var c=t[r],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=l.length;d--;)if(l[d]===f)continue e;o.push(c)}else i(l,f,n)||(l!==o&&l.push(f),o.push(c))}return o}function tl(t){return t&&t.length?fR(t):[]}function za(t){console&&console.error&&console.error(`Error: ${t}`)}function Cd(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function _d(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function kd(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}var Nd=typeof global=="object"&&global&&global.Object===Object&&global,dR=typeof self=="object"&&self&&self.Object===Object&&self,yt=Nd||dR||Function("return this")(),xt=yt.Symbol,bd=Object.prototype,hR=bd.hasOwnProperty,pR=bd.toString,Vn=xt?xt.toStringTag:void 0;function mR(t){var e=hR.call(t,Vn),n=t[Vn];try{t[Vn]=void 0;var r=!0}catch{}var i=pR.call(t);return r&&(e?t[Vn]=n:delete t[Vn]),i}var gR=Object.prototype,yR=gR.toString;function TR(t){return yR.call(t)}var vR="[object Null]",$R="[object Undefined]",cu=xt?xt.toStringTag:void 0;function bt(t){return t==null?t===void 0?$R:vR:cu&&cu in Object(t)?mR(t):TR(t)}function It(t){return t!=null&&typeof t=="object"}var RR="[object Symbol]";function Ps(t){return typeof t=="symbol"||It(t)&&bt(t)==RR}function Ms(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var pe=Array.isArray,fu=xt?xt.prototype:void 0,du=fu?fu.toString:void 0;function Od(t){if(typeof t=="string")return t;if(pe(t))return Ms(t,Od)+"";if(Ps(t))return du?du.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var AR=/\s/;function ER(t){for(var e=t.length;e--&&AR.test(t.charAt(e)););return e}var SR=/^\s+/;function xR(t){return t&&t.slice(0,ER(t)+1).replace(SR,"")}function dt(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var hu=NaN,IR=/^[-+]0x[0-9a-f]+$/i,wR=/^0b[01]+$/i,CR=/^0o[0-7]+$/i,_R=parseInt;function kR(t){if(typeof t=="number")return t;if(Ps(t))return hu;if(dt(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=dt(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=xR(t);var n=wR.test(t);return n||CR.test(t)?_R(t.slice(2),n?2:8):IR.test(t)?hu:+t}var pu=1/0,NR=17976931348623157e292;function bR(t){if(!t)return t===0?t:0;if(t=kR(t),t===pu||t===-pu){var e=t<0?-1:1;return e*NR}return t===t?t:0}function OR(t){var e=bR(t),n=e%1;return e===e?n?e-n:e:0}function Ds(t){return t}var LR="[object AsyncFunction]",PR="[object Function]",MR="[object GeneratorFunction]",DR="[object Proxy]";function Ld(t){if(!dt(t))return!1;var e=bt(t);return e==PR||e==MR||e==LR||e==DR}var ha=yt["__core-js_shared__"],mu=(function(){var t=/[^.]+$/.exec(ha&&ha.keys&&ha.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function FR(t){return!!mu&&mu in t}var GR=Function.prototype,UR=GR.toString;function nn(t){if(t!=null){try{return UR.call(t)}catch{}try{return t+""}catch{}}return""}var BR=/[\\^$.*+?()[\]{}|]/g,jR=/^\[object .+?Constructor\]$/,KR=Function.prototype,HR=Object.prototype,WR=KR.toString,zR=HR.hasOwnProperty,VR=RegExp("^"+WR.call(zR).replace(BR,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function qR(t){if(!dt(t)||FR(t))return!1;var e=Ld(t)?VR:jR;return e.test(nn(t))}function YR(t,e){return t?.[e]}function rn(t,e){var n=YR(t,e);return qR(n)?n:void 0}var Va=rn(yt,"WeakMap");function XR(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var JR=800,ZR=16,QR=Date.now;function eA(t){var e=0,n=0;return function(){var r=QR(),i=ZR-(r-n);if(n=r,i>0){if(++e>=JR)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function tA(t){return function(){return t}}var Xi=(function(){try{var t=rn(Object,"defineProperty");return t({},"",{}),t}catch{}})(),nA=Xi?function(t,e){return Xi(t,"toString",{configurable:!0,enumerable:!1,value:tA(e),writable:!0})}:Ds,rA=eA(nA);function iA(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function sA(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function aA(t){return t!==t}function oA(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function lA(t,e,n){return e===e?oA(t,e,n):sA(t,aA,n)}var uA=9007199254740991,cA=/^(?:0|[1-9]\d*)$/;function Fs(t,e){var n=typeof t;return e=e??uA,!!e&&(n=="number"||n!="symbol"&&cA.test(t))&&t>-1&&t%1==0&&t<e}function Pd(t,e,n){e=="__proto__"&&Xi?Xi(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Gs(t,e){return t===e||t!==t&&e!==e}var fA=Object.prototype,dA=fA.hasOwnProperty;function nl(t,e,n){var r=t[e];(!(dA.call(t,e)&&Gs(r,n))||n===void 0&&!(e in t))&&Pd(t,e,n)}function hA(t,e,n,r){var i=!n;n||(n={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?Pd(n,o,l):nl(n,o,l)}return n}var gu=Math.max;function pA(t,e,n){return e=gu(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=gu(r.length-e,0),a=Array(s);++i<s;)a[i]=r[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=r[i];return o[e]=n(a),XR(t,this,o)}}function mA(t,e){return rA(pA(t,e,Ds),t+"")}var gA=9007199254740991;function rl(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=gA}function sn(t){return t!=null&&rl(t.length)&&!Ld(t)}function yA(t,e,n){if(!dt(n))return!1;var r=typeof e;return(r=="number"?sn(n)&&Fs(e,n.length):r=="string"&&e in n)?Gs(n[e],t):!1}function TA(t){return mA(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&yA(n[0],n[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var o=n[r];o&&t(e,o,r,s)}return e})}var vA=Object.prototype;function il(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||vA;return t===n}function $A(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var RA="[object Arguments]";function yu(t){return It(t)&&bt(t)==RA}var Md=Object.prototype,AA=Md.hasOwnProperty,EA=Md.propertyIsEnumerable,Dd=yu((function(){return arguments})())?yu:function(t){return It(t)&&AA.call(t,"callee")&&!EA.call(t,"callee")};function SA(){return!1}var Fd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Tu=Fd&&typeof module=="object"&&module&&!module.nodeType&&module,xA=Tu&&Tu.exports===Fd,vu=xA?yt.Buffer:void 0,IA=vu?vu.isBuffer:void 0,qa=IA||SA,wA="[object Arguments]",CA="[object Array]",_A="[object Boolean]",kA="[object Date]",NA="[object Error]",bA="[object Function]",OA="[object Map]",LA="[object Number]",PA="[object Object]",MA="[object RegExp]",DA="[object Set]",FA="[object String]",GA="[object WeakMap]",UA="[object ArrayBuffer]",BA="[object DataView]",jA="[object Float32Array]",KA="[object Float64Array]",HA="[object Int8Array]",WA="[object Int16Array]",zA="[object Int32Array]",VA="[object Uint8Array]",qA="[object Uint8ClampedArray]",YA="[object Uint16Array]",XA="[object Uint32Array]",j={};j[jA]=j[KA]=j[HA]=j[WA]=j[zA]=j[VA]=j[qA]=j[YA]=j[XA]=!0;j[wA]=j[CA]=j[UA]=j[_A]=j[BA]=j[kA]=j[NA]=j[bA]=j[OA]=j[LA]=j[PA]=j[MA]=j[DA]=j[FA]=j[GA]=!1;function JA(t){return It(t)&&rl(t.length)&&!!j[bt(t)]}function Gd(t){return function(e){return t(e)}}var Ud=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Or=Ud&&typeof module=="object"&&module&&!module.nodeType&&module,ZA=Or&&Or.exports===Ud,pa=ZA&&Nd.process,Ji=(function(){try{var t=Or&&Or.require&&Or.require("util").types;return t||pa&&pa.binding&&pa.binding("util")}catch{}})(),$u=Ji&&Ji.isTypedArray,Bd=$u?Gd($u):JA,QA=Object.prototype,eE=QA.hasOwnProperty;function jd(t,e){var n=pe(t),r=!n&&Dd(t),i=!n&&!r&&qa(t),s=!n&&!r&&!i&&Bd(t),a=n||r||i||s,o=a?$A(t.length,String):[],l=o.length;for(var u in t)(e||eE.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Fs(u,l)))&&o.push(u);return o}function Kd(t,e){return function(n){return t(e(n))}}var tE=Kd(Object.keys,Object),nE=Object.prototype,rE=nE.hasOwnProperty;function iE(t){if(!il(t))return tE(t);var e=[];for(var n in Object(t))rE.call(t,n)&&n!="constructor"&&e.push(n);return e}function Jr(t){return sn(t)?jd(t):iE(t)}var sE=Object.prototype,aE=sE.hasOwnProperty,Qe=TA(function(t,e){if(il(e)||sn(e)){hA(e,Jr(e),t);return}for(var n in e)aE.call(e,n)&&nl(t,n,e[n])});function oE(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var lE=Object.prototype,uE=lE.hasOwnProperty;function cE(t){if(!dt(t))return oE(t);var e=il(t),n=[];for(var r in t)r=="constructor"&&(e||!uE.call(t,r))||n.push(r);return n}function fE(t){return sn(t)?jd(t,!0):cE(t)}var dE=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hE=/^\w*$/;function sl(t,e){if(pe(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Ps(t)?!0:hE.test(t)||!dE.test(t)||e!=null&&t in Object(e)}var Ur=rn(Object,"create");function pE(){this.__data__=Ur?Ur(null):{},this.size=0}function mE(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var gE="__lodash_hash_undefined__",yE=Object.prototype,TE=yE.hasOwnProperty;function vE(t){var e=this.__data__;if(Ur){var n=e[t];return n===gE?void 0:n}return TE.call(e,t)?e[t]:void 0}var $E=Object.prototype,RE=$E.hasOwnProperty;function AE(t){var e=this.__data__;return Ur?e[t]!==void 0:RE.call(e,t)}var EE="__lodash_hash_undefined__";function SE(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Ur&&e===void 0?EE:e,this}function qt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}qt.prototype.clear=pE;qt.prototype.delete=mE;qt.prototype.get=vE;qt.prototype.has=AE;qt.prototype.set=SE;function xE(){this.__data__=[],this.size=0}function Us(t,e){for(var n=t.length;n--;)if(Gs(t[n][0],e))return n;return-1}var IE=Array.prototype,wE=IE.splice;function CE(t){var e=this.__data__,n=Us(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():wE.call(e,n,1),--this.size,!0}function _E(t){var e=this.__data__,n=Us(e,t);return n<0?void 0:e[n][1]}function kE(t){return Us(this.__data__,t)>-1}function NE(t,e){var n=this.__data__,r=Us(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function Tt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Tt.prototype.clear=xE;Tt.prototype.delete=CE;Tt.prototype.get=_E;Tt.prototype.has=kE;Tt.prototype.set=NE;var Br=rn(yt,"Map");function bE(){this.size=0,this.__data__={hash:new qt,map:new(Br||Tt),string:new qt}}function OE(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function Bs(t,e){var n=t.__data__;return OE(e)?n[typeof e=="string"?"string":"hash"]:n.map}function LE(t){var e=Bs(this,t).delete(t);return this.size-=e?1:0,e}function PE(t){return Bs(this,t).get(t)}function ME(t){return Bs(this,t).has(t)}function DE(t,e){var n=Bs(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function vt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}vt.prototype.clear=bE;vt.prototype.delete=LE;vt.prototype.get=PE;vt.prototype.has=ME;vt.prototype.set=DE;var FE="Expected a function";function al(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(FE);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var a=t.apply(this,r);return n.cache=s.set(i,a)||s,a};return n.cache=new(al.Cache||vt),n}al.Cache=vt;var GE=500;function UE(t){var e=al(t,function(r){return n.size===GE&&n.clear(),r}),n=e.cache;return e}var BE=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jE=/\\(\\)?/g,KE=UE(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(BE,function(n,r,i,s){e.push(i?s.replace(jE,"$1"):r||n)}),e});function HE(t){return t==null?"":Od(t)}function js(t,e){return pe(t)?t:sl(t,e)?[t]:KE(HE(t))}function Zr(t){if(typeof t=="string"||Ps(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function ol(t,e){e=js(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[Zr(e[n++])];return n&&n==r?t:void 0}function WE(t,e,n){var r=t==null?void 0:ol(t,e);return r===void 0?n:r}function Hd(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var zE=Kd(Object.getPrototypeOf,Object);function VE(){this.__data__=new Tt,this.size=0}function qE(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function YE(t){return this.__data__.get(t)}function XE(t){return this.__data__.has(t)}var JE=200;function ZE(t,e){var n=this.__data__;if(n instanceof Tt){var r=n.__data__;if(!Br||r.length<JE-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new vt(r)}return n.set(t,e),this.size=n.size,this}function ct(t){var e=this.__data__=new Tt(t);this.size=e.size}ct.prototype.clear=VE;ct.prototype.delete=qE;ct.prototype.get=YE;ct.prototype.has=XE;ct.prototype.set=ZE;function QE(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var a=t[n];e(a,n,t)&&(s[i++]=a)}return s}function Wd(){return[]}var eS=Object.prototype,tS=eS.propertyIsEnumerable,Ru=Object.getOwnPropertySymbols,zd=Ru?function(t){return t==null?[]:(t=Object(t),QE(Ru(t),function(e){return tS.call(t,e)}))}:Wd,nS=Object.getOwnPropertySymbols,rS=nS?function(t){for(var e=[];t;)Hd(e,zd(t)),t=zE(t);return e}:Wd;function Vd(t,e,n){var r=e(t);return pe(t)?r:Hd(r,n(t))}function Au(t){return Vd(t,Jr,zd)}function iS(t){return Vd(t,fE,rS)}var Ya=rn(yt,"DataView"),Xa=rn(yt,"Promise"),Ja=rn(yt,"Set"),Eu="[object Map]",sS="[object Object]",Su="[object Promise]",xu="[object Set]",Iu="[object WeakMap]",wu="[object DataView]",aS=nn(Ya),oS=nn(Br),lS=nn(Xa),uS=nn(Ja),cS=nn(Va),Rt=bt;(Ya&&Rt(new Ya(new ArrayBuffer(1)))!=wu||Br&&Rt(new Br)!=Eu||Xa&&Rt(Xa.resolve())!=Su||Ja&&Rt(new Ja)!=xu||Va&&Rt(new Va)!=Iu)&&(Rt=function(t){var e=bt(t),n=e==sS?t.constructor:void 0,r=n?nn(n):"";if(r)switch(r){case aS:return wu;case oS:return Eu;case lS:return Su;case uS:return xu;case cS:return Iu}return e});var Cu=yt.Uint8Array,fS="__lodash_hash_undefined__";function dS(t){return this.__data__.set(t,fS),this}function hS(t){return this.__data__.has(t)}function Zi(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new vt;++e<n;)this.add(t[e])}Zi.prototype.add=Zi.prototype.push=dS;Zi.prototype.has=hS;function qd(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function pS(t,e){return t.has(e)}var mS=1,gS=2;function Yd(t,e,n,r,i,s){var a=n&mS,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=n&gS?new Zi:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(r)var v=a?r(g,m,f,e,t,s):r(m,g,f,t,e,s);if(v!==void 0){if(v)continue;d=!1;break}if(h){if(!qd(e,function(y,R){if(!pS(h,R)&&(m===y||i(m,y,n,r,s)))return h.push(R)})){d=!1;break}}else if(!(m===g||i(m,g,n,r,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function yS(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function TS(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var vS=1,$S=2,RS="[object Boolean]",AS="[object Date]",ES="[object Error]",SS="[object Map]",xS="[object Number]",IS="[object RegExp]",wS="[object Set]",CS="[object String]",_S="[object Symbol]",kS="[object ArrayBuffer]",NS="[object DataView]",_u=xt?xt.prototype:void 0,ma=_u?_u.valueOf:void 0;function bS(t,e,n,r,i,s,a){switch(n){case NS:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case kS:return!(t.byteLength!=e.byteLength||!s(new Cu(t),new Cu(e)));case RS:case AS:case xS:return Gs(+t,+e);case ES:return t.name==e.name&&t.message==e.message;case IS:case CS:return t==e+"";case SS:var o=yS;case wS:var l=r&vS;if(o||(o=TS),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=$S,a.set(t,e);var c=Yd(o(t),o(e),r,i,s,a);return a.delete(t),c;case _S:if(ma)return ma.call(t)==ma.call(e)}return!1}var OS=1,LS=Object.prototype,PS=LS.hasOwnProperty;function MS(t,e,n,r,i,s){var a=n&OS,o=Au(t),l=o.length,u=Au(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:PS.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var v=a;++f<l;){d=o[f];var y=t[d],R=e[d];if(r)var $=a?r(R,y,d,e,t,s):r(y,R,d,t,e,s);if(!($===void 0?y===R||i(y,R,n,r,s):$)){g=!1;break}v||(v=d=="constructor")}if(g&&!v){var S=t.constructor,O=e.constructor;S!=O&&"constructor"in t&&"constructor"in e&&!(typeof S=="function"&&S instanceof S&&typeof O=="function"&&O instanceof O)&&(g=!1)}return s.delete(t),s.delete(e),g}var DS=1,ku="[object Arguments]",Nu="[object Array]",gi="[object Object]",FS=Object.prototype,bu=FS.hasOwnProperty;function GS(t,e,n,r,i,s){var a=pe(t),o=pe(e),l=a?Nu:Rt(t),u=o?Nu:Rt(e);l=l==ku?gi:l,u=u==ku?gi:u;var c=l==gi,f=u==gi,d=l==u;if(d&&qa(t)){if(!qa(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new ct),a||Bd(t)?Yd(t,e,n,r,i,s):bS(t,e,l,n,r,i,s);if(!(n&DS)){var h=c&&bu.call(t,"__wrapped__"),m=f&&bu.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,v=m?e.value():e;return s||(s=new ct),i(g,v,n,r,s)}}return d?(s||(s=new ct),MS(t,e,n,r,i,s)):!1}function ll(t,e,n,r,i){return t===e?!0:t==null||e==null||!It(t)&&!It(e)?t!==t&&e!==e:GS(t,e,n,r,ll,i)}var US=1,BS=2;function jS(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=n[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=n[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new ct,f;if(!(f===void 0?ll(u,l,US|BS,r,c):f))return!1}}return!0}function Xd(t){return t===t&&!dt(t)}function KS(t){for(var e=Jr(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Xd(i)]}return e}function Jd(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function HS(t){var e=KS(t);return e.length==1&&e[0][2]?Jd(e[0][0],e[0][1]):function(n){return n===t||jS(n,t,e)}}function WS(t,e){return t!=null&&e in Object(t)}function zS(t,e,n){e=js(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var a=Zr(e[r]);if(!(s=t!=null&&n(t,a)))break;t=t[a]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&rl(i)&&Fs(a,i)&&(pe(t)||Dd(t)))}function VS(t,e){return t!=null&&zS(t,e,WS)}var qS=1,YS=2;function XS(t,e){return sl(t)&&Xd(e)?Jd(Zr(t),e):function(n){var r=WE(n,t);return r===void 0&&r===e?VS(n,t):ll(e,r,qS|YS)}}function JS(t){return function(e){return e?.[t]}}function ZS(t){return function(e){return ol(e,t)}}function QS(t){return sl(t)?JS(Zr(t)):ZS(t)}function Ks(t){return typeof t=="function"?t:t==null?Ds:typeof t=="object"?pe(t)?XS(t[0],t[1]):HS(t):QS(t)}function ex(t){return function(e,n,r){for(var i=-1,s=Object(e),a=r(e),o=a.length;o--;){var l=a[++i];if(n(s[l],l,s)===!1)break}return e}}var tx=ex();function nx(t,e){return t&&tx(t,e,Jr)}function rx(t,e){return function(n,r){if(n==null)return n;if(!sn(n))return t(n,r);for(var i=n.length,s=-1,a=Object(n);++s<i&&r(a[s],s,a)!==!1;);return n}}var Hs=rx(nx);function ix(t){return typeof t=="function"?t:Ds}function sx(t,e){var n=pe(t)?iA:Hs;return n(t,ix(e))}function ax(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function ox(t,e){var n=!0;return Hs(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function lx(t,e,n){var r=pe(t)?ax:ox;return r(t,Ks(e))}function ux(t,e){var n=-1,r=sn(t)?Array(t.length):[];return Hs(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function Zd(t,e){var n=pe(t)?Ms:ux;return n(t,Ks(e))}var cx="[object String]";function Qi(t){return typeof t=="string"||!pe(t)&&It(t)&&bt(t)==cx}function fx(t,e){return Ms(e,function(n){return t[n]})}function dx(t){return t==null?[]:fx(t,Jr(t))}var hx=Math.max;function px(t,e,n,r){t=sn(t)?t:dx(t),n=n?OR(n):0;var i=t.length;return n<0&&(n=hx(i+n,0)),Qi(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&lA(t,e,n)>-1}var mx="[object RegExp]";function gx(t){return It(t)&&bt(t)==mx}var Ou=Ji&&Ji.isRegExp,yx=Ou?Gd(Ou):gx;function Tx(t,e,n,r){if(!dt(t))return t;e=js(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=Zr(e[i]),u=n;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=dt(c)?c:Fs(e[i+1])?[]:{})}nl(o,l,u),o=o[l]}return t}function vx(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=ol(t,a);n(o,a)&&Tx(s,js(a,t),o)}return s}function et(t,e){if(t==null)return{};var n=Ms(iS(t),function(r){return[r]});return e=Ks(e),vx(t,n,function(r,i){return e(r,i[0])})}function $x(t,e){var n;return Hs(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Rx(t,e,n){var r=pe(t)?qd:$x;return r(t,Ks(e))}function Ax(t){return Ex(t)?t.LABEL:t.name}function Ex(t){return Qi(t.LABEL)&&t.LABEL!==""}class tt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),sx(this.definition,n=>{n.accept(e)})}}class fe extends tt{constructor(e){super([]),this.idx=1,Qe(this,et(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class jn extends tt{constructor(e){super(e.definition),this.orgText="",Qe(this,et(e,n=>n!==void 0))}}class me extends tt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Qe(this,et(e,n=>n!==void 0))}}let se=class extends tt{constructor(e){super(e.definition),this.idx=1,Qe(this,et(e,n=>n!==void 0))}};class xe extends tt{constructor(e){super(e.definition),this.idx=1,Qe(this,et(e,n=>n!==void 0))}}class Ie extends tt{constructor(e){super(e.definition),this.idx=1,Qe(this,et(e,n=>n!==void 0))}}class q extends tt{constructor(e){super(e.definition),this.idx=1,Qe(this,et(e,n=>n!==void 0))}}class ye extends tt{constructor(e){super(e.definition),this.idx=1,Qe(this,et(e,n=>n!==void 0))}}class Te extends tt{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,Qe(this,et(e,n=>n!==void 0))}}class K{constructor(e){this.idx=1,Qe(this,et(e,n=>n!==void 0))}accept(e){e.visit(this)}}function Sx(t){return Zd(t,Ni)}function Ni(t){function e(n){return Zd(n,Ni)}if(t instanceof fe){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Qi(t.label)&&(n.label=t.label),n}else{if(t instanceof me)return{type:"Alternative",definition:e(t.definition)};if(t instanceof se)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Ie)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ni(new K({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ye)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ni(new K({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof q)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Te)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof K){const n={type:"Terminal",name:t.terminalType.name,label:Ax(t.terminalType),idx:t.idx};Qi(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=yx(r)?r.source:r),n}else{if(t instanceof jn)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Kn{visit(e){const n=e;switch(n.constructor){case fe:return this.visitNonTerminal(n);case me:return this.visitAlternative(n);case se:return this.visitOption(n);case xe:return this.visitRepetitionMandatory(n);case Ie:return this.visitRepetitionMandatoryWithSeparator(n);case ye:return this.visitRepetitionWithSeparator(n);case q:return this.visitRepetition(n);case Te:return this.visitAlternation(n);case K:return this.visitTerminal(n);case jn:return this.visitRule(n);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 xx(t){return t instanceof me||t instanceof se||t instanceof q||t instanceof xe||t instanceof Ie||t instanceof ye||t instanceof K||t instanceof jn}function es(t,e=[]){return t instanceof se||t instanceof q||t instanceof ye?!0:t instanceof Te?Rx(t.definition,r=>es(r,e)):t instanceof fe&&px(e,t)?!1:t instanceof tt?(t instanceof fe&&e.push(t),lx(t.definition,r=>es(r,e))):!1}function Ix(t){return t instanceof Te}function ze(t){if(t instanceof fe)return"SUBRULE";if(t instanceof se)return"OPTION";if(t instanceof Te)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof Ie)return"AT_LEAST_ONE_SEP";if(t instanceof ye)return"MANY_SEP";if(t instanceof q)return"MANY";if(t instanceof K)return"CONSUME";throw Error("non exhaustive match")}class Ws{walk(e,n=[]){k(e.definition,(r,i)=>{const s=ne(e.definition,i+1);if(r instanceof fe)this.walkProdRef(r,s,n);else if(r instanceof K)this.walkTerminal(r,s,n);else if(r instanceof me)this.walkFlat(r,s,n);else if(r instanceof se)this.walkOption(r,s,n);else if(r instanceof xe)this.walkAtLeastOne(r,s,n);else if(r instanceof Ie)this.walkAtLeastOneSep(r,s,n);else if(r instanceof ye)this.walkManySep(r,s,n);else if(r instanceof q)this.walkMany(r,s,n);else if(r instanceof Te)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new se({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=Lu(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new se({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=Lu(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);k(e.definition,s=>{const a=new me({definition:[s]});this.walk(a,i)})}}function Lu(t,e,n){return[new se({definition:[new K({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function Qr(t){if(t instanceof fe)return Qr(t.referencedRule);if(t instanceof K)return _x(t);if(xx(t))return wx(t);if(Ix(t))return Cx(t);throw Error("non exhaustive match")}function wx(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=es(s),e=e.concat(Qr(s)),r=r+1,i=n.length>r;return tl(e)}function Cx(t){const e=w(t.definition,n=>Qr(n));return tl(Ue(e))}function _x(t){return[t.terminalType]}const Qd="_~IN~_";class kx extends Ws{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=bx(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new me({definition:s}),o=Qr(a);this.follows[i]=o}}function Nx(t){const e={};return k(t,n=>{const r=new kx(n).startWalking();ja(e,r)}),e}function bx(t,e){return t.name+e+Qd}let bi={};const Ox=new Wf;function zs(t){const e=t.toString();if(bi.hasOwnProperty(e))return bi[e];{const n=Ox.pattern(e);return bi[e]=n,n}}function Lx(){bi={}}const eh="Complement Sets are not supported for first char optimization",ts=`Unable to use "first char" lexer optimizations:
13
+ `;function Px(t,e=!1){try{const n=zs(t);return Za(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===eh)e&&Cd(`${ts} Unable to optimize: < ${t.toString()} >
14
+ Complement Sets cannot be automatically optimized.
15
+ This will disable the lexer's first char optimizations.
16
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
17
+ This will disable the lexer's first char optimizations.
18
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),za(`${ts}
19
+ Failed parsing: < ${t.toString()} >
20
+ Using the @chevrotain/regexp-to-ast library
21
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function Za(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)Za(t.value[i],e,n);break;case"Alternative":const r=t.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":yi(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(eh);k(a.value,l=>{if(typeof l=="number")yi(l,e,n);else{const u=l;if(n===!0)for(let c=u.from;c<=u.to;c++)yi(c,e,n);else{for(let c=u.from;c<=u.to&&c<xr;c++)yi(c,e,n);if(u.to>=xr){const c=u.from>=xr?u.from:xr,f=u.to,d=wt(c),h=wt(f);for(let m=d;m<=h;m++)e[m]=m}}}});break;case"Group":Za(a.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&Qa(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Z(e)}function yi(t,e,n){const r=wt(t);e[r]=r,n===!0&&Mx(t,e)}function Mx(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=wt(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=wt(i.charCodeAt(0));e[s]=s}}}function Pu(t,e){return Mn(t.value,n=>{if(typeof n=="number")return ge(e,n);{const r=n;return Mn(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Qa(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?M(t.value)?Ye(t.value,Qa):Qa(t.value):!1}class Dx extends Rs{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){ge(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Pu(e,this.targetCharCodes)===void 0&&(this.found=!0):Pu(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function ul(t,e){if(e instanceof RegExp){const n=zs(e),r=new Dx(t);return r.visit(n),r.found}else return Mn(e,n=>ge(t,n.charCodeAt(0)))!==void 0}const Yt="PATTERN",Sr="defaultMode",Ti="modes";let th=typeof new RegExp("(?:)").sticky=="boolean";function Fx(t,e){e=el(e,{useSticky:th,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
+ `],tracer:(R,$)=>$()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{oI()});let r;n("Reject Lexer.NA",()=>{r=Ls(t,R=>R[Yt]===he.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=w(r,R=>{const $=R[Yt];if(St($)){const S=$.source;return S.length===1&&S!=="^"&&S!=="$"&&S!=="."&&!$.ignoreCase?S:S.length===2&&S[0]==="\\"&&!ge(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],S[1])?S[1]:e.useSticky?Du($):Mu($)}else{if(pt($))return i=!0,{exec:$};if(typeof $=="object")return i=!0,$;if(typeof $=="string"){if($.length===1)return $;{const S=$.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),O=new RegExp(S);return e.useSticky?Du(O):Mu(O)}}else throw Error("non exhaustive match")}})});let a,o,l,u,c;n("misc mapping",()=>{a=w(r,R=>R.tokenTypeIdx),o=w(r,R=>{const $=R.GROUP;if($!==he.SKIPPED){if(Ke($))return $;if(ft($))return!1;throw Error("non exhaustive match")}}),l=w(r,R=>{const $=R.LONGER_ALT;if($)return M($)?w($,O=>lu(r,O)):[lu(r,$)]}),u=w(r,R=>R.PUSH_MODE),c=w(r,R=>C(R,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const R=ih(e.lineTerminatorCharacters);f=w(r,$=>!1),e.positionTracking!=="onlyOffset"&&(f=w(r,$=>C($,"LINE_BREAKS")?!!$.LINE_BREAKS:rh($,R)===!1&&ul(R,$.PATTERN)))});let d,h,m,g;n("Misc Mapping #2",()=>{d=w(r,nh),h=w(s,iI),m=Se(r,(R,$)=>{const S=$.GROUP;return Ke(S)&&S!==he.SKIPPED&&(R[S]=[]),R},{}),g=w(s,(R,$)=>({pattern:s[$],longerAlt:l[$],canLineTerminator:f[$],isCustom:d[$],short:h[$],group:o[$],push:u[$],pop:c[$],tokenTypeIdx:a[$],tokenType:r[$]}))});let v=!0,y=[];return e.safeMode||n("First Char Optimization",()=>{y=Se(r,(R,$,S)=>{if(typeof $.PATTERN=="string"){const O=$.PATTERN.charCodeAt(0),oe=wt(O);ga(R,oe,g[S])}else if(M($.START_CHARS_HINT)){let O;k($.START_CHARS_HINT,oe=>{const Me=typeof oe=="string"?oe.charCodeAt(0):oe,ve=wt(Me);O!==ve&&(O=ve,ga(R,ve,g[S]))})}else if(St($.PATTERN))if($.PATTERN.unicode)v=!1,e.ensureOptimizations&&za(`${ts} Unable to analyze < ${$.PATTERN.toString()} > pattern.
23
+ The regexp unicode flag is not currently supported by the regexp-to-ast library.
24
+ This will disable the lexer's first char optimizations.
25
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const O=Px($.PATTERN,e.ensureOptimizations);U(O)&&(v=!1),k(O,oe=>{ga(R,oe,g[S])})}else e.ensureOptimizations&&za(`${ts} TokenType: <${$.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
26
+ This will disable the lexer's first char optimizations.
27
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return R},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:v}}function Gx(t,e){let n=[];const r=Bx(t);n=n.concat(r.errors);const i=jx(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Ux(s)),n=n.concat(Xx(s)),n=n.concat(Jx(s,e)),n=n.concat(Zx(s)),n}function Ux(t){let e=[];const n=Pe(t,r=>St(r[Yt]));return e=e.concat(Hx(n)),e=e.concat(Vx(n)),e=e.concat(qx(n)),e=e.concat(Yx(n)),e=e.concat(Wx(n)),e}function Bx(t){const e=Pe(t,i=>!C(i,Yt)),n=w(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Y.MISSING_PATTERN,tokenTypes:[i]})),r=Os(t,e);return{errors:n,valid:r}}function jx(t){const e=Pe(t,i=>{const s=i[Yt];return!St(s)&&!pt(s)&&!C(s,"exec")&&!Ke(s)}),n=w(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Y.INVALID_PATTERN,tokenTypes:[i]})),r=Os(t,e);return{errors:n,valid:r}}const Kx=/[^\\][$]/;function Hx(t){class e extends Rs{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=Pe(t,i=>{const s=i.PATTERN;try{const a=zs(s),o=new e;return o.visit(a),o.found}catch{return Kx.test(s.source)}});return w(n,i=>({message:`Unexpected RegExp Anchor Error:
28
+ Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
29
+ See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Wx(t){const e=Pe(t,r=>r.PATTERN.test(""));return w(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Y.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const zx=/[^\\[][\^]|^\^/;function Vx(t){class e extends Rs{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=Pe(t,i=>{const s=i.PATTERN;try{const a=zs(s),o=new e;return o.visit(a),o.found}catch{return zx.test(s.source)}});return w(n,i=>({message:`Unexpected RegExp Anchor Error:
30
+ Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
31
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Y.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function qx(t){const e=Pe(t,r=>{const i=r[Yt];return i instanceof RegExp&&(i.multiline||i.global)});return w(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Y.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function Yx(t){const e=[];let n=w(t,s=>Se(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!ge(e,o)&&o.PATTERN!==he.NA&&(e.push(o),a.push(o)),a),[]));n=Xr(n);const r=Pe(n,s=>s.length>1);return w(r,s=>{const a=w(s,l=>l.name);return{message:`The same RegExp pattern ->${je(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Y.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function Xx(t){const e=Pe(t,r=>{if(!C(r,"GROUP"))return!1;const i=r.GROUP;return i!==he.SKIPPED&&i!==he.NA&&!Ke(i)});return w(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Y.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function Jx(t,e){const n=Pe(t,i=>i.PUSH_MODE!==void 0&&!ge(e,i.PUSH_MODE));return w(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Y.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function Zx(t){const e=[],n=Se(t,(r,i,s)=>{const a=i.PATTERN;return a===he.NA||(Ke(a)?r.push({str:a,idx:s,tokenType:i}):St(a)&&eI(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return k(t,(r,i)=>{k(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&Qx(s,r.PATTERN)){const l=`Token: ->${o.name}<- can never be matched.
32
+ Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
33
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:Y.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function Qx(t,e){if(St(e)){const n=e.exec(t);return n!==null&&n.index===0}else{if(pt(e))return e(t,0,[],{});if(C(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function eI(t){return Mn([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function Mu(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Du(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function tI(t,e,n){const r=[];return C(t,Sr)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sr+`> property in its definition
34
+ `,type:Y.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),C(t,Ti)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ti+`> property in its definition
35
+ `,type:Y.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),C(t,Ti)&&C(t,Sr)&&!C(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Sr}: <${t.defaultMode}>which does not exist
36
+ `,type:Y.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),C(t,Ti)&&k(t.modes,(i,s)=>{k(i,(a,o)=>{if(ft(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
37
+ `,type:Y.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(C(a,"LONGER_ALT")){const l=M(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];k(l,u=>{!ft(u)&&!ge(i,u)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${a.name}> outside of mode <${s}>
38
+ `,type:Y.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function nI(t,e,n){const r=[];let i=!1;const s=Xr(Ue(Z(t.modes))),a=Ls(s,l=>l[Yt]===he.NA),o=ih(n);return e&&k(a,l=>{const u=rh(l,o);if(u!==!1){const f={message:aI(l,u),type:u.issue,tokenType:l};r.push(f)}else C(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):ul(o,l.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
39
+ This Lexer has been defined to track line and column information,
40
+ But none of the Token Types can be identified as matching a line terminator.
41
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
42
+ for details.`,type:Y.NO_LINE_BREAKS_FLAGS}),r}function rI(t){const e={},n=Le(t);return k(n,r=>{const i=t[r];if(M(i))e[r]=[];else throw Error("non exhaustive match")}),e}function nh(t){const e=t.PATTERN;if(St(e))return!1;if(pt(e))return!0;if(C(e,"exec"))return!0;if(Ke(e))return!1;throw Error("non exhaustive match")}function iI(t){return Ke(t)&&t.length===1?t.charCodeAt(0):!1}const sI={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function rh(t,e){if(C(t,"LINE_BREAKS"))return!1;if(St(t.PATTERN)){try{ul(e,t.PATTERN)}catch(n){return{issue:Y.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(Ke(t.PATTERN))return!1;if(nh(t))return{issue:Y.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function aI(t,e){if(e.issue===Y.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
43
+ The problem is in the <${t.name}> Token Type
44
+ Root cause: ${e.errMsg}.
45
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Y.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
46
+ The problem is in the <${t.name}> Token Type
47
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function ih(t){return w(t,n=>Ke(n)?n.charCodeAt(0):n)}function ga(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const xr=256;let Oi=[];function wt(t){return t<xr?t:Oi[t]}function oI(){if(U(Oi)){Oi=new Array(65536);for(let t=0;t<65536;t++)Oi[t]=t>255?255+~~(t/255):t}}function ei(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function ns(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let Fu=1;const sh={};function ti(t){const e=lI(t);uI(e),fI(e),cI(e),k(e,n=>{n.isParent=n.categoryMatches.length>0})}function lI(t){let e=ae(t),n=t,r=!0;for(;r;){n=Xr(Ue(w(n,s=>s.CATEGORIES)));const i=Os(n,e);e=e.concat(i),U(i)?r=!1:n=i}return e}function uI(t){k(t,e=>{oh(e)||(sh[Fu]=e,e.tokenTypeIdx=Fu++),Gu(e)&&!M(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Gu(e)||(e.CATEGORIES=[]),dI(e)||(e.categoryMatches=[]),hI(e)||(e.categoryMatchesMap={})})}function cI(t){k(t,e=>{e.categoryMatches=[],k(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(sh[r].tokenTypeIdx)})})}function fI(t){k(t,e=>{ah([],e)})}function ah(t,e){k(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),k(e.CATEGORIES,n=>{const r=t.concat(e);ge(r,n)||ah(r,n)})}function oh(t){return C(t,"tokenTypeIdx")}function Gu(t){return C(t,"CATEGORIES")}function dI(t){return C(t,"categoryMatches")}function hI(t){return C(t,"categoryMatchesMap")}function pI(t){return C(t,"tokenTypeIdx")}const eo={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var Y;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Y||(Y={}));const Ir={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:eo,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Ir);class he{constructor(e,n=Ir){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:l}=_d(s),u=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
49
+ a boolean 2nd argument is no longer supported`);this.config=ja({},Ir,n);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Ir.lineTerminatorsPattern)this.config.lineTerminatorsPattern=sI;else if(this.config.lineTerminatorCharacters===Ir.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
50
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.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),M(e)?i={modes:{defaultMode:ae(e)},defaultMode:Sr}:(s=!1,i=ae(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(tI(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(nI(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},k(i.modes,(o,l)=>{i.modes[l]=Ls(o,u=>ft(u))});const a=Le(i.modes);if(k(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Gx(o,a))}),U(this.lexerDefinitionErrors)){ti(o);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=Fx(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=u.charCodeToPatternIdxToConfig,this.emptyGroups=ja({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,!U(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=w(this.lexerDefinitionErrors,u=>u.message).join(`-----------------------
51
+ `);throw new Error(`Errors detected in definition of Lexer:
52
+ `+l)}k(this.lexerDefinitionWarning,o=>{Cd(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(th?(this.chopInput=On,this.match=this.matchWithTest):(this.updateLastIndex=J,this.match=this.matchWithExec),s&&(this.handleModes=J),this.trackStartLines===!1&&(this.computeNewColumn=On),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=J),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Se(this.canModeBeOptimized,(l,u,c)=>(u===!1&&l.push(c),l),[]);if(n.ensureOptimizations&&!U(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
53
+ Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
54
+ Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Lx()}),this.TRACE_INIT("toFastProperties",()=>{kd(this)})})}tokenize(e,n=this.defaultMode){if(!U(this.lexerDefinitionErrors)){const i=w(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
55
+ `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
56
+ `+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,l,u,c,f,d,h,m,g,v,y;const R=e,$=R.length;let S=0,O=0;const oe=this.hasCustom?0:Math.floor(e.length/10),Me=new Array(oe),ve=[];let We=this.trackStartLines?1:void 0,we=this.trackStartLines?1:void 0;const E=rI(this.emptyGroups),T=this.trackStartLines,I=this.config.lineTerminatorsPattern;let x=0,L=[],b=[];const N=[],$e=[];Object.freeze($e);let Q;function V(){return L}function Gt(le){const Ce=wt(le),un=b[Ce];return un===void 0?$e:un}const wp=le=>{if(N.length===1&&le.tokenType.PUSH_MODE===void 0){const Ce=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(le);ve.push({offset:le.startOffset,line:le.startLine,column:le.startColumn,length:le.image.length,message:Ce})}else{N.pop();const Ce=Pn(N);L=this.patternIdxToConfig[Ce],b=this.charCodeToPatternIdxToConfig[Ce],x=L.length;const un=this.canModeBeOptimized[Ce]&&this.config.safeMode===!1;b&&un?Q=Gt:Q=V}};function El(le){N.push(le),b=this.charCodeToPatternIdxToConfig[le],L=this.patternIdxToConfig[le],x=L.length,x=L.length;const Ce=this.canModeBeOptimized[le]&&this.config.safeMode===!1;b&&Ce?Q=Gt:Q=V}El.call(this,n);let De;const Sl=this.config.recoveryEnabled;for(;S<$;){l=null;const le=R.charCodeAt(S),Ce=Q(le),un=Ce.length;for(r=0;r<un;r++){De=Ce[r];const Re=De.pattern;u=null;const nt=De.short;if(nt!==!1?le===nt&&(l=Re):De.isCustom===!0?(y=Re.exec(R,S,Me,E),y!==null?(l=y[0],y.payload!==void 0&&(u=y.payload)):l=null):(this.updateLastIndex(Re,S),l=this.match(Re,e,S)),l!==null){if(o=De.longerAlt,o!==void 0){const $t=o.length;for(s=0;s<$t;s++){const rt=L[o[s]],Ut=rt.pattern;if(c=null,rt.isCustom===!0?(y=Ut.exec(R,S,Me,E),y!==null?(a=y[0],y.payload!==void 0&&(c=y.payload)):a=null):(this.updateLastIndex(Ut,S),a=this.match(Ut,e,S)),a&&a.length>l.length){l=a,u=c,De=rt;break}}}break}}if(l!==null){if(f=l.length,d=De.group,d!==void 0&&(h=De.tokenTypeIdx,m=this.createTokenInstance(l,S,h,De.tokenType,We,we,f),this.handlePayload(m,u),d===!1?O=this.addToken(Me,O,m):E[d].push(m)),e=this.chopInput(e,f),S=S+f,we=this.computeNewColumn(we,f),T===!0&&De.canLineTerminator===!0){let Re=0,nt,$t;I.lastIndex=0;do nt=I.test(l),nt===!0&&($t=I.lastIndex-1,Re++);while(nt===!0);Re!==0&&(We=We+Re,we=f-$t,this.updateTokenEndLineColumnLocation(m,d,$t,Re,We,we,f))}this.handleModes(De,wp,El,m)}else{const Re=S,nt=We,$t=we;let rt=Sl===!1;for(;rt===!1&&S<$;)for(e=this.chopInput(e,1),S++,i=0;i<x;i++){const Ut=L[i],ta=Ut.pattern,xl=Ut.short;if(xl!==!1?R.charCodeAt(S)===xl&&(rt=!0):Ut.isCustom===!0?rt=ta.exec(R,S,Me,E)!==null:(this.updateLastIndex(ta,S),rt=ta.exec(e)!==null),rt===!0)break}if(g=S-Re,we=this.computeNewColumn(we,g),v=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(R,Re,g,nt,$t),ve.push({offset:Re,line:nt,column:$t,length:g,message:v}),Sl===!1)break}}return this.hasCustom||(Me.length=O),{tokens:Me,groups:E,errors:ve}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let l,u;n!==void 0&&(l=r===o-1,u=l?-1:0,i===1&&l===!0||(e.endLine=s+u,e.endColumn=a-1+-u))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,a){return{image:e,startOffset:n,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:n+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}he.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";he.NA=/NOT_APPLICABLE/;function mn(t){return lh(t)?t.LABEL:t.name}function lh(t){return Ke(t.LABEL)&&t.LABEL!==""}const mI="parent",Uu="categories",Bu="label",ju="group",Ku="push_mode",Hu="pop_mode",Wu="longer_alt",zu="line_breaks",Vu="start_chars_hint";function uh(t){return gI(t)}function gI(t){const e=t.pattern,n={};if(n.name=t.name,ft(e)||(n.PATTERN=e),C(t,mI))throw`The parent property is no longer supported.
57
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return C(t,Uu)&&(n.CATEGORIES=t[Uu]),ti([n]),C(t,Bu)&&(n.LABEL=t[Bu]),C(t,ju)&&(n.GROUP=t[ju]),C(t,Hu)&&(n.POP_MODE=t[Hu]),C(t,Ku)&&(n.PUSH_MODE=t[Ku]),C(t,Wu)&&(n.LONGER_ALT=t[Wu]),C(t,zu)&&(n.LINE_BREAKS=t[zu]),C(t,Vu)&&(n.START_CHARS_HINT=t[Vu]),n}const Ct=uh({name:"EOF",pattern:he.NA});ti([Ct]);function cl(t,e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function ch(t,e){return ei(t,e)}const dn={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${lh(t)?`--> ${mn(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
58
+ but found: '`+je(e).image+"'";if(r)return s+r+o;{const l=Se(t,(d,h)=>d.concat(h),[]),u=w(l,d=>`[${w(d,h=>mn(h)).join(", ")}]`),f=`one of these possible Token sequences:
59
+ ${w(u,(d,h)=>` ${h+1}. ${d}`).join(`
60
+ `)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
61
+ but found: '`+je(e).image+"'";if(n)return i+n+a;{const l=`expecting at least one iteration which starts with one of these possible Token sequences::
62
+ <${w(t,u=>`[${w(u,c=>mn(c)).join(",")}]`).join(" ,")}>`;return i+l+a}}};Object.freeze(dn);const yI={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
+ inside top level rule: ->`+t.name+"<-"}},Kt={buildDuplicateFoundError(t,e){function n(c){return c instanceof K?c.terminalType.name:c instanceof fe?c.nonTerminalName:""}const r=t.name,i=je(e),s=i.idx,a=ze(i),o=n(i),l=s>0;let u=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""}
64
+ appears more than once (${e.length} times) in the top level rule: ->${r}<-.
65
+ For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
66
+ `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,`
67
+ `),u},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
68
+ The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
69
+ To resolve this make sure each Terminal and Non-Terminal names are unique
70
+ This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
71
+ and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=w(t.prefixPath,i=>mn(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
72
+ in <OR${n}> inside <${t.topLevelRule.name}> Rule,
73
+ <${e}> may appears as a prefix path in all these alternatives.
74
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
75
+ For Further details.`},buildAlternationAmbiguityError(t){const e=w(t.prefixPath,i=>mn(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,
76
+ <${e}> may appears as a prefix path in all these alternatives.
77
+ `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
78
+ For Further details.`,r},buildEmptyRepetitionError(t){let e=ze(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
79
+ This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
80
+ Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
81
+ <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
82
+ has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=w(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
83
+ rule: <${e}> can be invoked from itself (directly or indirectly)
84
+ without consuming any Tokens. The grammar path that causes this is:
85
+ ${r}
86
+ To fix this refactor your grammar to remove the left recursion.
87
+ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof jn?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function TI(t,e){const n=new vI(t,e);return n.resolveRefs(),n.errors}class vI extends Kn{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){k(Z(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:de.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class $I extends Ws{constructor(e,n){super(),this.topProd=e,this.path=n,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=ae(this.path.ruleStack).reverse(),this.occurrenceStack=ae(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){U(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class RI extends $I{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new me({definition:i});this.possibleTokTypes=Qr(s),this.found=!0}}}class Vs extends Ws{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class AI extends Vs{walkMany(e,n,r){if(e.idx===this.occurrence){const i=je(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class qu extends Vs{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=je(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class EI extends Vs{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=je(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class Yu extends Vs{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=je(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof K&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function to(t,e,n=[]){n=ae(n);let r=[],i=0;function s(o){return o.concat(ne(t,i+1))}function a(o){const l=to(s(o),e,n);return r.concat(l)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof me)return a(o.definition);if(o instanceof fe)return a(o.definition);if(o instanceof se)r=a(o.definition);else if(o instanceof xe){const l=o.definition.concat([new q({definition:o.definition})]);return a(l)}else if(o instanceof Ie){const l=[new me({definition:o.definition}),new q({definition:[new K({terminalType:o.separator})].concat(o.definition)})];return a(l)}else if(o instanceof ye){const l=o.definition.concat([new q({definition:[new K({terminalType:o.separator})].concat(o.definition)})]);r=a(l)}else if(o instanceof q){const l=o.definition.concat([new q({definition:o.definition})]);r=a(l)}else{if(o instanceof Te)return k(o.definition,l=>{U(l.definition)===!1&&(r=a(l.definition))}),r;if(o instanceof K)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:ne(t,i)}),r}function fh(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-r-1,c=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!U(f);){const d=f.pop();if(d===a){o&&Pn(f).idx<=u&&f.pop();continue}const h=d.def,m=d.idx,g=d.ruleStack,v=d.occurrenceStack;if(U(h))continue;const y=h[0];if(y===i){const R={idx:m,def:ne(h),ruleStack:Gr(g),occurrenceStack:Gr(v)};f.push(R)}else if(y instanceof K)if(m<l-1){const R=m+1,$=e[R];if(n($,y.terminalType)){const S={idx:R,def:ne(h),ruleStack:g,occurrenceStack:v};f.push(S)}}else if(m===l-1)c.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:g,occurrenceStack:v}),o=!0;else throw Error("non exhaustive match");else if(y instanceof fe){const R=ae(g);R.push(y.nonTerminalName);const $=ae(v);$.push(y.idx);const S={idx:m,def:y.definition.concat(s,ne(h)),ruleStack:R,occurrenceStack:$};f.push(S)}else if(y instanceof se){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:v};f.push(R),f.push(a);const $={idx:m,def:y.definition.concat(ne(h)),ruleStack:g,occurrenceStack:v};f.push($)}else if(y instanceof xe){const R=new q({definition:y.definition,idx:y.idx}),$=y.definition.concat([R],ne(h)),S={idx:m,def:$,ruleStack:g,occurrenceStack:v};f.push(S)}else if(y instanceof Ie){const R=new K({terminalType:y.separator}),$=new q({definition:[R].concat(y.definition),idx:y.idx}),S=y.definition.concat([$],ne(h)),O={idx:m,def:S,ruleStack:g,occurrenceStack:v};f.push(O)}else if(y instanceof ye){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:v};f.push(R),f.push(a);const $=new K({terminalType:y.separator}),S=new q({definition:[$].concat(y.definition),idx:y.idx}),O=y.definition.concat([S],ne(h)),oe={idx:m,def:O,ruleStack:g,occurrenceStack:v};f.push(oe)}else if(y instanceof q){const R={idx:m,def:ne(h),ruleStack:g,occurrenceStack:v};f.push(R),f.push(a);const $=new q({definition:y.definition,idx:y.idx}),S=y.definition.concat([$],ne(h)),O={idx:m,def:S,ruleStack:g,occurrenceStack:v};f.push(O)}else if(y instanceof Te)for(let R=y.definition.length-1;R>=0;R--){const $=y.definition[R],S={idx:m,def:$.definition.concat(ne(h)),ruleStack:g,occurrenceStack:v};f.push(S),f.push(a)}else if(y instanceof me)f.push({idx:m,def:y.definition.concat(ne(h)),ruleStack:g,occurrenceStack:v});else if(y instanceof jn)f.push(SI(y,m,g,v));else throw Error("non exhaustive match")}return c}function SI(t,e,n,r){const i=ae(n);i.push(t.name);const s=ae(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var W;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(W||(W={}));function fl(t){if(t instanceof se||t==="Option")return W.OPTION;if(t instanceof q||t==="Repetition")return W.REPETITION;if(t instanceof xe||t==="RepetitionMandatory")return W.REPETITION_MANDATORY;if(t instanceof Ie||t==="RepetitionMandatoryWithSeparator")return W.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ye||t==="RepetitionWithSeparator")return W.REPETITION_WITH_SEPARATOR;if(t instanceof Te||t==="Alternation")return W.ALTERNATION;throw Error("non exhaustive match")}function Xu(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=fl(r);return s===W.ALTERNATION?qs(e,n,i):Ys(e,n,s,i)}function xI(t,e,n,r,i,s){const a=qs(t,e,n),o=ph(a)?ns:ei;return s(a,r,o,i)}function II(t,e,n,r,i,s){const a=Ys(t,e,i,n),o=ph(a)?ns:ei;return s(a[0],o,r)}function wI(t,e,n,r){const i=t.length,s=Ye(t,a=>Ye(a,o=>o.length===1));if(e)return function(a){const o=w(a,l=>l.GATE);for(let l=0;l<i;l++){const u=t[l],c=u.length,f=o[l];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<c;d++){const h=u[d],m=h.length;for(let g=0;g<m;g++){const v=this.LA(g+1);if(n(v,h[g])===!1)continue e}return l}}};if(s&&!r){const a=w(t,l=>Ue(l)),o=Se(a,(l,u,c)=>(k(u,f=>{C(l,f.tokenTypeIdx)||(l[f.tokenTypeIdx]=c),k(f.categoryMatches,d=>{C(l,d)||(l[d]=c)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],l=o.length;e:for(let u=0;u<l;u++){const c=o[u],f=c.length;for(let d=0;d<f;d++){const h=this.LA(d+1);if(n(h,c[d])===!1)continue e}return a}}}}function CI(t,e,n){const r=Ye(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Ue(t);if(s.length===1&&U(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=Se(s,(o,l,u)=>(o[l.tokenTypeIdx]=!0,k(l.categoryMatches,c=>{o[c]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=t[s],o=a.length;for(let l=0;l<o;l++){const u=this.LA(l+1);if(e(u,a[l])===!1)continue e}return!0}return!1}}class _I extends Ws{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,W.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,W.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,W.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,W.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,W.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class dh extends Kn{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,W.OPTION)}visitRepetition(e){this.checkIsTarget(e,W.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,W.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,W.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,W.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,W.ALTERNATION)}}function Ju(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function ya(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+r.tokenTypeIdx);for(let o=0;o<r.categoryMatches.length;o++){const l="_"+r.categoryMatches[o];i.push(a+l)}}e=i}return e}function kI(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function hh(t,e){const n=w(t,a=>to([a],1)),r=Ju(n.length),i=w(n,a=>{const o={};return k(a,l=>{const u=ya(l.partialPath);k(u,c=>{o[c]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=Ju(o.length);for(let l=0;l<o.length;l++){const u=o[l];for(let c=0;c<u.length;c++){const f=u[c].partialPath,d=u[c].suffixDef,h=ya(f);if(kI(i,h,l)||U(d)||f.length===e){const g=r[l];if(no(g,f)===!1){g.push(f);for(let v=0;v<h.length;v++){const y=h[v];i[l][y]=!0}}}else{const g=to(d,a+1,f);s[l]=s[l].concat(g),k(g,v=>{const y=ya(v.partialPath);k(y,R=>{i[l][R]=!0})})}}}}return r}function qs(t,e,n,r){const i=new dh(t,W.ALTERNATION,r);return e.accept(i),hh(i.result,n)}function Ys(t,e,n,r){const i=new dh(t,n);e.accept(i);const s=i.result,o=new _I(e,t,n).startWalking(),l=new me({definition:s}),u=new me({definition:o});return hh([l,u],r)}function no(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],a=r[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function NI(t,e){return t.length<e.length&&Ye(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function ph(t){return Ye(t,e=>Ye(e,n=>Ye(n,r=>U(r.categoryMatches))))}function bI(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return w(e,n=>Object.assign({type:de.CUSTOM_LOOKAHEAD_VALIDATION},n))}function OI(t,e,n,r){const i=ke(t,l=>LI(l,n)),s=zI(t,e,n),a=ke(t,l=>jI(l,n)),o=ke(t,l=>DI(l,t,r,n));return i.concat(s,a,o)}function LI(t,e){const n=new MI;t.accept(n);const r=n.allProductions,i=B$(r,PI),s=iR(i,o=>o.length>1);return w(Z(s),o=>{const l=je(o),u=e.buildDuplicateFoundError(t,o),c=ze(l),f={message:u,type:de.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:c,occurrence:l.idx},d=mh(l);return d&&(f.parameter=d),f})}function PI(t){return`${ze(t)}_#_${t.idx}_#_${mh(t)}`}function mh(t){return t instanceof K?t.terminalType.name:t instanceof fe?t.nonTerminalName:""}class MI extends Kn{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 DI(t,e,n,r){const i=[];if(Se(e,(a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:de.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function FI(t,e,n){const r=[];let i;return ge(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:de.INVALID_RULE_OVERRIDE,ruleName:t})),r}function gh(t,e,n,r=[]){const i=[],s=Li(e.definition);if(U(s))return[];{const a=t.name;ge(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:de.LEFT_RECURSION,ruleName:a});const l=Os(s,r.concat([t])),u=ke(l,c=>{const f=ae(r);return f.push(c),gh(t,c,n,f)});return i.concat(u)}}function Li(t){let e=[];if(U(t))return e;const n=je(t);if(n instanceof fe)e.push(n.referencedRule);else if(n instanceof me||n instanceof se||n instanceof xe||n instanceof Ie||n instanceof ye||n instanceof q)e=e.concat(Li(n.definition));else if(n instanceof Te)e=Ue(w(n.definition,s=>Li(s.definition)));else if(!(n instanceof K))throw Error("non exhaustive match");const r=es(n),i=t.length>1;if(r&&i){const s=ne(t);return e.concat(Li(s))}else return e}class dl extends Kn{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function GI(t,e){const n=new dl;t.accept(n);const r=n.alternations;return ke(r,s=>{const a=Gr(s.definition);return ke(a,(o,l)=>{const u=fh([o],[],ei,1);return U(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:l}),type:de.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:l+1}]:[]})})}function UI(t,e,n){const r=new dl;t.accept(r);let i=r.alternations;return i=Ls(i,a=>a.ignoreAmbiguities===!0),ke(i,a=>{const o=a.idx,l=a.maxLookahead||e,u=qs(o,t,l,a),c=HI(u,a,t,n),f=WI(u,a,t,n);return c.concat(f)})}class BI extends Kn{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 jI(t,e){const n=new dl;t.accept(n);const r=n.alternations;return ke(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:de.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function KI(t,e,n){const r=[];return k(t,i=>{const s=new BI;i.accept(s);const a=s.allProductions;k(a,o=>{const l=fl(o),u=o.maxLookahead||e,c=o.idx,d=Ys(c,i,l,u)[0];if(U(Ue(d))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:h,type:de.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function HI(t,e,n,r){const i=[],s=Se(t,(o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||k(l,c=>{const f=[u];k(t,(d,h)=>{u!==h&&no(d,c)&&e.definition[h].ignoreAmbiguities!==!0&&f.push(h)}),f.length>1&&!no(i,c)&&(i.push(c),o.push({alts:f,path:c}))}),o),[]);return w(s,o=>{const l=w(o.alts,c=>c+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:de.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function WI(t,e,n,r){const i=Se(t,(a,o,l)=>{const u=w(o,c=>({idx:l,path:c}));return a.concat(u)},[]);return Xr(ke(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const l=a.idx,u=a.path,c=Pe(i,d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<l&&NI(d.path,u));return w(c,d=>{const h=[d.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:d.path}),type:de.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:m,alternatives:h}})}))}function zI(t,e,n){const r=[],i=w(e,s=>s.name);return k(t,s=>{const a=s.name;if(ge(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:de.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function VI(t){const e=el(t,{errMsgProvider:yI}),n={};return k(t.rules,r=>{n[r.name]=r}),TI(n,e.errMsgProvider)}function qI(t){return t=el(t,{errMsgProvider:Kt}),OI(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const yh="MismatchedTokenException",Th="NoViableAltException",vh="EarlyExitException",$h="NotAllInputParsedException",Rh=[yh,Th,vh,$h];Object.freeze(Rh);function rs(t){return ge(Rh,t.name)}class Xs extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Ah extends Xs{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=yh}}class YI extends Xs{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Th}}class XI extends Xs{constructor(e,n){super(e,n),this.name=$h}}class JI extends Xs{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=vh}}const Ta={},Eh="InRuleRecoveryException";class ZI extends Error{constructor(e){super(e),this.name=Eh}}class QI{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=C(e,"recoveryEnabled")?e.recoveryEnabled:ht.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=ew)}getTokenToInsert(e){const n=cl(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const u=this.LA(1);let c=this.LA(1);const f=()=>{const d=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:d,ruleName:this.getCurrRuleFullName()}),m=new Ah(h,u,this.LA(0));m.resyncedTokens=Gr(o),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(c,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(c,s)?l=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new ZI("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||U(n))return!1;const r=this.LA(1);return Mn(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return ge(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=Mn(e,s=>ch(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Ta;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return w(e,(r,i)=>i===0?Ta:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=w(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Ue(e)}getFollowSetFromFollowKey(e){if(e===Ta)return[Ct];const n=e.ruleName+e.idxInCallingRule+Qd+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,Ct)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return Gr(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=ae(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return w(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function ew(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(l===void 0){const d=this.getCurrRuleFullName(),h=this.getGAstProductions()[d];l=new s(h,i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence;const f=l.isEndOfRule;this.RULE_STACK.length===1&&f&&u===void 0&&(u=Ct,c=1),!(u===void 0||c===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,c,a)&&this.tryInRepetitionRecovery(t,e,n,u)}const tw=4,Ot=8,Sh=1<<Ot,xh=2<<Ot,ro=3<<Ot,io=4<<Ot,so=5<<Ot,Pi=6<<Ot;function va(t,e,n){return n|e|t}class hl{constructor(e){var n;this.maxLookahead=(n=e?.maxLookahead)!==null&&n!==void 0?n:ht.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(U(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return ke(e,n=>gh(n,n,Kt))}validateEmptyOrAlternatives(e){return ke(e,n=>GI(n,Kt))}validateAmbiguousAlternationAlternatives(e,n){return ke(e,r=>UI(r,n,Kt))}validateSomeNonEmptyLookaheadPath(e,n){return KI(e,n,Kt)}buildLookaheadForAlternation(e){return xI(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,wI)}buildLookaheadForOptional(e){return II(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,fl(e.prodType),CI)}}class nw{initLooksAhead(e){this.dynamicTokensEnabled=C(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:ht.dynamicTokensEnabled,this.maxLookahead=C(e,"maxLookahead")?e.maxLookahead:ht.maxLookahead,this.lookaheadStrategy=C(e,"lookaheadStrategy")?e.lookaheadStrategy:new hl({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){k(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=iw(n);k(r,u=>{const c=u.idx===0?"":u.idx;this.TRACE_INIT(`${ze(u)}${c}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:n,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=va(this.fullRuleNameToShort[n.name],Sh,u.idx);this.setLaFuncCache(d,f)})}),k(i,u=>{this.computeLookaheadFunc(n,u.idx,ro,"Repetition",u.maxLookahead,ze(u))}),k(s,u=>{this.computeLookaheadFunc(n,u.idx,xh,"Option",u.maxLookahead,ze(u))}),k(a,u=>{this.computeLookaheadFunc(n,u.idx,io,"RepetitionMandatory",u.maxLookahead,ze(u))}),k(o,u=>{this.computeLookaheadFunc(n,u.idx,Pi,"RepetitionMandatoryWithSeparator",u.maxLookahead,ze(u))}),k(l,u=>{this.computeLookaheadFunc(n,u.idx,so,"RepetitionWithSeparator",u.maxLookahead,ze(u))})})})}computeLookaheadFunc(e,n,r,i,s,a){this.TRACE_INIT(`${a}${n===0?"":n}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=va(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return va(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class rw extends Kn{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)}}const vi=new rw;function iw(t){vi.reset(),t.accept(vi);const e=vi.dslMethods;return vi.reset(),e}function Zu(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Qu(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function sw(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function aw(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const ow="name";function Ih(t,e){Object.defineProperty(t,ow,{enumerable:!1,configurable:!0,writable:!1,value:e})}function lw(t,e){const n=Le(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let l=0;l<o;l++){const u=a[l];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}function uw(t,e){const n=function(){};Ih(n,t+"BaseSemantics");const r={visit:function(i,s){if(M(i)&&(i=i[0]),!ft(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=fw(this,e);if(!U(i)){const s=w(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
88
+ ${s.join(`
89
+
90
+ `).replace(/\n/g,`
91
+ `)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function cw(t,e,n){const r=function(){};Ih(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return k(e,s=>{i[s]=lw}),r.prototype=i,r.prototype.constructor=r,r}var ao;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(ao||(ao={}));function fw(t,e){return dw(t,e)}function dw(t,e){const n=Pe(e,i=>pt(t[i])===!1),r=w(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:ao.MISSING_METHOD,methodName:i}));return Xr(r)}class hw{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=C(e,"nodeLocationTracking")?e.nodeLocationTracking:ht.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=J,this.cstFinallyStateUpdate=J,this.cstPostTerminal=J,this.cstPostNonTerminal=J,this.cstPostRule=J;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Qu,this.setNodeLocationFromNode=Qu,this.cstPostRule=J,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Zu,this.setNodeLocationFromNode=Zu,this.cstPostRule=J,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=J,this.setInitialNodeLocation=J;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];sw(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];aw(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(ft(this.baseCstVisitorConstructor)){const e=uw(this.className,Le(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(ft(this.baseCstVisitorWithDefaultsConstructor)){const e=cw(this.className,Le(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class pw{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):ss}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?ss:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class mw{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}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,n,r=as){if(ge(this.definedRulesNames,e)){const a={message:Kt.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:de.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=as){const i=FI(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(rs(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Sx(Z(this.gastProductionsCache))}}class gw{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ns,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},C(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
92
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
93
+ For Further details.`);if(M(e)){if(U(e))throw Error(`A Token Vocabulary cannot be empty.
94
+ Note that the first argument for the parser constructor
95
+ is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
96
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
97
+ For Further details.`)}if(M(e))this.tokensMap=Se(e,(s,a)=>(s[a.name]=a,s),{});else if(C(e,"modes")&&Ye(Ue(Z(e.modes)),pI)){const s=Ue(Z(e.modes)),a=tl(s);this.tokensMap=Se(a,(o,l)=>(o[l.name]=l,o),{})}else if(Oe(e))this.tokensMap=ae(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Ct;const r=C(e,"modes")?Ue(Z(e.modes)):Z(e),i=Ye(r,s=>U(s.categoryMatches));this.tokenMatcher=i?ns:ei,ti(Z(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
98
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=C(r,"resyncEnabled")?r.resyncEnabled:as.resyncEnabled,s=C(r,"recoveryValueFunc")?r.recoveryValueFunc:as.recoveryValueFunc,a=this.ruleShortNameIdx<<tw+Ot;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...c){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,c);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...c){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,c)}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(rs(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return r(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,a.partialCstResult=l}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(xh,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(io,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=n;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,W.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,io,e,EI)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Pi,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Yu],o,Pi,e,Yu)}else throw this.raiseEarlyExitException(e,W.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(ro,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else s=n;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,ro,e,AI,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(so,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,qu],o,so,e,qu)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,Pi,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(Sh,n),i=M(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new XI(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw rs(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Ah(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===Eh?r:s}}else throw r}saveRecogState(){const e=this.errors,n=ae(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Ct)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class yw{initErrorHandler(e){this._errors=[],this.errorMessageProvider=C(e,"errorMessageProvider")?e.errorMessageProvider:ht.errorMessageProvider}SAVE_ERROR(e){if(rs(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ae(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ae(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Ys(e,s,n,this.maxLookahead)[0],l=[];for(let c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));const u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new JI(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=qs(e,i,this.maxLookahead),a=[];for(let u=1;u<=this.maxLookahead;u++)a.push(this.LA(u));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new YI(l,this.LA(1),o))}}class Tw{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(ft(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return fh([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=je(e.ruleStack),i=this.getGAstProductions()[n];return new RI(i,e).startWalking()}}const Js={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Js);const ec=!0,tc=Math.pow(2,Ot)-1,wh=uh({name:"RECORDING_PHASE_TOKEN",pattern:he.NA});ti([wh]);const Ch=cl(wh,`This IToken indicates the Parser is in Recording Phase
99
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Ch);const vw={name:`This CSTNode indicates the Parser is in Recording Phase
100
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class $w{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 n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},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 n=0;n<10;n++){const r=n>0?n:"";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,n){return()=>!0}LA_RECORD(e){return ss}topLevelRuleRecord(e,n){try{const r=new jn({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
101
+ This error was thrown during the "grammar recording phase" For more info see:
102
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return qn.call(this,se,e,n)}atLeastOneInternalRecord(e,n){qn.call(this,xe,n,e)}atLeastOneSepFirstInternalRecord(e,n){qn.call(this,Ie,n,e,ec)}manyInternalRecord(e,n){qn.call(this,q,n,e)}manySepFirstInternalRecord(e,n){qn.call(this,ye,n,e,ec)}orInternalRecord(e,n){return Rw.call(this,e,n)}subruleInternalRecord(e,n,r){if(is(n),!e||C(e,"ruleName")===!1){const o=new Error(`<SUBRULE${nc(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
103
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=Pn(this.recordingProdStack),s=e.ruleName,a=new fe({idx:n,nonTerminalName:s,label:r?.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?vw:Js}consumeInternalRecord(e,n,r){if(is(n),!oh(e)){const a=new Error(`<CONSUME${nc(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
104
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=Pn(this.recordingProdStack),s=new K({idx:n,terminalType:e,label:r?.LABEL});return i.definition.push(s),Ch}}function qn(t,e,n,r=!1){is(n);const i=Pn(this.recordingProdStack),s=pt(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),C(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),Js}function Rw(t,e){is(e);const n=Pn(this.recordingProdStack),r=M(t)===!1,i=r===!1?t:t.DEF,s=new Te({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});C(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=oR(i,o=>pt(o.GATE));return s.hasPredicates=a,n.definition.push(s),k(i,o=>{const l=new me({definition:[]});s.definition.push(l),C(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:C(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),Js}function nc(t){return t===0?"":`${t}`}function is(t){if(t<0||t>tc){const e=new Error(`Invalid DSL Method idx value: <${t}>
105
+ Idx value must be a none negative value smaller than ${tc+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Aw{initPerformanceTracer(e){if(C(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=ht.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=_d(n),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function Ew(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const ss=cl(Ct,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(ss);const ht=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:dn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),as=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var de;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(de||(de={}));function rc(t=void 0){return function(){return t}}class ni{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const n=this.className;this.TRACE_INIT("toFastProps",()=>{kd(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),k(this.definedRulesNames,i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=VI({rules:Z(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(U(r)&&this.skipValidations===!1){const i=qI({rules:Z(this.gastProductionsCache),tokenTypes:Z(this.tokensMap),errMsgProvider:Kt,grammarName:n}),s=bI({lookaheadStrategy:this.lookaheadStrategy,rules:Z(this.gastProductionsCache),tokenTypes:Z(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),U(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Nx(Z(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:Z(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Z(this.gastProductionsCache))})),!ni.DEFER_DEFINITION_ERRORS_HANDLING&&!U(this.definitionErrors))throw e=w(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
106
+ ${e.join(`
107
+ -------------------------------
108
+ `)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),C(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
109
+ Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
110
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
111
+ For further details.`);this.skipValidations=C(n,"skipValidations")?n.skipValidations:ht.skipValidations}}ni.DEFER_DEFINITION_ERRORS_HANDLING=!1;Ew(ni,[QI,nw,hw,pw,gw,mw,yw,Tw,$w,Aw]);class Sw extends ni{constructor(e,n=ht){const r=ae(n);r.outputCst=!1,super(e,r)}}function Dn(t,e,n){return`${t.name}_${e}_${n}`}const _t=1,xw=2,_h=4,kh=5,ri=7,Iw=8,ww=9,Cw=10,_w=11,Nh=12;class pl{constructor(e){this.target=e}isEpsilon(){return!1}}class ml extends pl{constructor(e,n){super(e),this.tokenType=n}}class bh extends pl{constructor(e){super(e)}isEpsilon(){return!0}}class gl extends pl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function kw(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Nw(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=an(e,i,i);s!==void 0&&jw(e,i,s)}return e}function Nw(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=ee(t,i,void 0,{type:xw}),a=ee(t,i,void 0,{type:ri});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Oh(t,e,n){return n instanceof K?yl(t,e,n.terminalType,n):n instanceof fe?Bw(t,e,n):n instanceof Te?Mw(t,e,n):n instanceof se?Dw(t,e,n):n instanceof q?bw(t,e,n):n instanceof ye?Ow(t,e,n):n instanceof xe?Lw(t,e,n):n instanceof Ie?Pw(t,e,n):an(t,e,n)}function bw(t,e,n){const r=ee(t,e,n,{type:kh});Lt(t,r);const i=Hn(t,e,r,n,an(t,e,n));return Ph(t,e,n,i)}function Ow(t,e,n){const r=ee(t,e,n,{type:kh});Lt(t,r);const i=Hn(t,e,r,n,an(t,e,n)),s=yl(t,e,n.separator,n);return Ph(t,e,n,i,s)}function Lw(t,e,n){const r=ee(t,e,n,{type:_h});Lt(t,r);const i=Hn(t,e,r,n,an(t,e,n));return Lh(t,e,n,i)}function Pw(t,e,n){const r=ee(t,e,n,{type:_h});Lt(t,r);const i=Hn(t,e,r,n,an(t,e,n)),s=yl(t,e,n.separator,n);return Lh(t,e,n,i,s)}function Mw(t,e,n){const r=ee(t,e,n,{type:_t});Lt(t,r);const i=Fe.map(n.definition,a=>Oh(t,e,a));return Hn(t,e,r,n,...i)}function Dw(t,e,n){const r=ee(t,e,n,{type:_t});Lt(t,r);const i=Hn(t,e,r,n,an(t,e,n));return Fw(t,e,n,i)}function an(t,e,n){const r=ot.filter(Fe.map(n.definition,i=>Oh(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Uw(t,r)}function Lh(t,e,n,r,i){const s=r.left,a=r.right,o=ee(t,e,n,{type:_w});Lt(t,o);const l=ee(t,e,n,{type:Nh});return s.loopback=o,l.loopback=o,t.decisionMap[Dn(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,X(a,o),i===void 0?(X(o,s),X(o,l)):(X(o,l),X(o,i.left),X(i.right,s)),{left:s,right:l}}function Ph(t,e,n,r,i){const s=r.left,a=r.right,o=ee(t,e,n,{type:Cw});Lt(t,o);const l=ee(t,e,n,{type:Nh}),u=ee(t,e,n,{type:ww});return o.loopback=u,l.loopback=u,X(o,s),X(o,l),X(a,u),i!==void 0?(X(u,l),X(u,i.left),X(i.right,s)):X(u,o),t.decisionMap[Dn(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:l}}function Fw(t,e,n,r){const i=r.left,s=r.right;return X(i,s),t.decisionMap[Dn(e,"Option",n.idx)]=i,r}function Lt(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Hn(t,e,n,r,...i){const s=ee(t,e,r,{type:Iw,start:n});n.end=s;for(const o of i)o!==void 0?(X(n,o.left),X(o.right,s)):X(n,s);const a={left:n,right:s};return t.decisionMap[Dn(e,Gw(r),r.idx)]=n,a}function Gw(t){if(t instanceof Te)return"Alternation";if(t instanceof se)return"Option";if(t instanceof q)return"Repetition";if(t instanceof ye)return"RepetitionWithSeparator";if(t instanceof xe)return"RepetitionMandatory";if(t instanceof Ie)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Uw(t,e){const n=e.length;for(let s=0;s<n-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const l=o instanceof gl,u=o,c=e[s+1].left;a.left.type===_t&&a.right.type===_t&&o!==void 0&&(l&&u.followState===a.right||o.target===a.right)?(l?u.followState=c:o.target=c,Kw(t,a.right)):X(a.right,c)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function yl(t,e,n,r){const i=ee(t,e,r,{type:_t}),s=ee(t,e,r,{type:_t});return Tl(i,new ml(s,n)),{left:i,right:s}}function Bw(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=ee(t,e,n,{type:_t}),a=ee(t,e,n,{type:_t}),o=new gl(i,r,a);return Tl(s,o),{left:s,right:a}}function jw(t,e,n){const r=t.ruleToStartState.get(e);X(r,n.left);const i=t.ruleToStopState.get(e);return X(n.right,i),{left:r,right:i}}function X(t,e){const n=new bh(e);Tl(t,n)}function ee(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function Tl(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function Kw(t,e){t.states.splice(t.states.indexOf(e),1)}const os={};class oo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=Mh(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Fe.map(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function Mh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function Hw(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class Dh{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const ic=new Dh;class Ww extends hl{constructor(e){var n;super(),this.logging=(n=e?.logging)!==null&&n!==void 0?n:(r=>console.log(r))}initialize(e){this.atn=kw(e.rules),this.dfas=zw(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Dn(r,"Alternation",n),c=this.atn.decisionMap[l].decision,f=Fe.map(Xu({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),d=>Fe.map(d,h=>h[0]));if(sc(f,!1)&&!s){const d=ot.reduce(f,(h,m,g)=>(ot.forEach(m,v=>{v&&(h[v.tokenTypeIdx]=g,ot.forEach(v.categoryMatches,y=>{h[y]=g}))}),h),{});return i?function(h){var m;const g=this.LA(1),v=d[g.tokenTypeIdx];if(h!==void 0&&v!==void 0){const y=(m=h[v])===null||m===void 0?void 0:m.GATE;if(y!==void 0&&y.call(this)===!1)return}return v}:function(){const h=this.LA(1);return d[h.tokenTypeIdx]}}else return i?function(d){const h=new Dh,m=d===void 0?0:d.length;for(let v=0;v<m;v++){const y=d?.[v].GATE;h.set(v,y===void 0||y.call(this))}const g=$a.call(this,a,c,h,o);return typeof g=="number"?g:void 0}:function(){const d=$a.call(this,a,c,ic,o);return typeof d=="number"?d:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Dn(r,i,n),c=this.atn.decisionMap[l].decision,f=Fe.map(Xu({maxLookahead:1,occurrence:n,prodType:i,rule:r}),d=>Fe.map(d,h=>h[0]));if(sc(f)&&f[0][0]&&!s){const d=f[0],h=Fe.flatten(d);if(h.length===1&&Cp.isEmpty(h[0].categoryMatches)){const g=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===g}}else{const m=ot.reduce(h,(g,v)=>(v!==void 0&&(g[v.tokenTypeIdx]=!0,ot.forEach(v.categoryMatches,y=>{g[y]=!0})),g),{});return function(){const g=this.LA(1);return m[g.tokenTypeIdx]===!0}}}return function(){const d=$a.call(this,a,c,ic,o);return typeof d=="object"?!1:d===0}}}function sc(t,e=!0){const n=new Set;for(const r of t){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(n.has(o)){if(!i.has(o))return!1}else n.add(o),i.add(o)}}return!0}function zw(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=Hw(t.decisionStates[r],r);return n}function $a(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=rC(i.atnStartState);s=Gh(i,Fh(o)),i.start=s}return Vw.apply(this,[i,s,n,r])}function Vw(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=Qw(i,o);if(l===void 0&&(l=qw.apply(this,[t,i,o,s,n,r])),l===os)return Zw(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function qw(t,e,n,r,i,s){const a=eC(e.configs,n,i);if(a.size===0)return ac(t,e,n,os),os;let o=Fh(a);const l=nC(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(oC(a)){const u=Fe.min(a.alts);o.isAcceptState=!0,o.prediction=u,o.configs.uniqueAlt=u,Yw.apply(this,[t,r,a.alts,s])}return o=ac(t,e,n,o),o}function Yw(t,e,n,r){const i=[];for(let u=1;u<=e;u++)i.push(this.LA(u).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,l=Xw({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(l)}function Xw(t){const e=Fe.map(t.prefixPath,i=>mn(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Jw(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
112
+ <${e}> may appears as a prefix path in all these alternatives.
113
+ `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
114
+ For Further details.`,r}function Jw(t){if(t instanceof fe)return"SUBRULE";if(t instanceof se)return"OPTION";if(t instanceof Te)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof Ie)return"AT_LEAST_ONE_SEP";if(t instanceof ye)return"MANY_SEP";if(t instanceof q)return"MANY";if(t instanceof K)return"CONSUME";throw Error("non exhaustive match")}function Zw(t,e,n){const r=_p(e.configs.elements,s=>s.state.transitions),i=kp(r.filter(s=>s instanceof ml).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function Qw(t,e){return t.edges[e.tokenTypeIdx]}function eC(t,e,n){const r=new oo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===ri){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l<o;l++){const u=a.state.transitions[l],c=tC(u,e);c!==void 0&&r.add({state:c,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new oo;for(const a of r.elements)ls(a,s)}if(i.length>0&&!sC(s))for(const a of i)s.add(a);return s}function tC(t,e){if(t instanceof ml&&ch(e,t.tokenType))return t.target}function nC(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function Fh(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function ac(t,e,n,r){return r=Gh(t,r),e.edges[n.tokenTypeIdx]=r,r}function Gh(t,e){if(e===os)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function rC(t){const e=new oo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};ls(s,e)}return e}function ls(t,e){const n=t.state;if(n.type===ri){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};ls(a,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],a=iC(t,s);a!==void 0&&ls(a,e)}}function iC(t,e){if(e instanceof bh)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof gl){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function sC(t){for(const e of t.elements)if(e.state.type===ri)return!0;return!1}function aC(t){for(const e of t.elements)if(e.state.type!==ri)return!1;return!0}function oC(t){if(aC(t))return!0;const e=lC(t.elements);return uC(e)&&!cC(e)}function lC(t){const e=new Map;for(const n of t){const r=Mh(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function uC(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function cC(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var oc;(function(t){function e(n){return typeof n=="string"}t.is=e})(oc||(oc={}));var lo;(function(t){function e(n){return typeof n=="string"}t.is=e})(lo||(lo={}));var lc;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(lc||(lc={}));var us;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(us||(us={}));var D;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=us.MAX_VALUE),i===Number.MAX_VALUE&&(i=us.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}t.is=n})(D||(D={}));var P;(function(t){function e(r,i,s,a){if(p.uinteger(r)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:D.create(r,i),end:D.create(s,a)};if(D.is(r)&&D.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&D.is(i.start)&&D.is(i.end)}t.is=n})(P||(P={}));var cs;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&P.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}t.is=n})(cs||(cs={}));var uc;(function(t){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&P.is(i.targetRange)&&p.string(i.targetUri)&&P.is(i.targetSelectionRange)&&(P.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}t.is=n})(uc||(uc={}));var uo;(function(t){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.numberRange(i.red,0,1)&&p.numberRange(i.green,0,1)&&p.numberRange(i.blue,0,1)&&p.numberRange(i.alpha,0,1)}t.is=n})(uo||(uo={}));var cc;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&P.is(i.range)&&uo.is(i.color)}t.is=n})(cc||(cc={}));var fc;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||Gn.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,Gn.is))}t.is=n})(fc||(fc={}));var dc;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(dc||(dc={}));var hc;(function(t){function e(r,i,s,a,o,l){const u={startLine:r,endLine:i};return p.defined(s)&&(u.startCharacter=s),p.defined(a)&&(u.endCharacter=a),p.defined(o)&&(u.kind=o),p.defined(l)&&(u.collapsedText=l),u}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.uinteger(i.startLine)&&p.uinteger(i.startLine)&&(p.undefined(i.startCharacter)||p.uinteger(i.startCharacter))&&(p.undefined(i.endCharacter)||p.uinteger(i.endCharacter))&&(p.undefined(i.kind)||p.string(i.kind))}t.is=n})(hc||(hc={}));var co;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&cs.is(i.location)&&p.string(i.message)}t.is=n})(co||(co={}));var pc;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(pc||(pc={}));var mc;(function(t){t.Unnecessary=1,t.Deprecated=2})(mc||(mc={}));var gc;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&p.string(r.href)}t.is=e})(gc||(gc={}));var fs;(function(t){function e(r,i,s,a,o,l){let u={range:r,message:i};return p.defined(s)&&(u.severity=s),p.defined(a)&&(u.code=a),p.defined(o)&&(u.source=o),p.defined(l)&&(u.relatedInformation=l),u}t.create=e;function n(r){var i;let s=r;return p.defined(s)&&P.is(s.range)&&p.string(s.message)&&(p.number(s.severity)||p.undefined(s.severity))&&(p.integer(s.code)||p.string(s.code)||p.undefined(s.code))&&(p.undefined(s.codeDescription)||p.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(p.string(s.source)||p.undefined(s.source))&&(p.undefined(s.relatedInformation)||p.typedArray(s.relatedInformation,co.is))}t.is=n})(fs||(fs={}));var Fn;(function(t){function e(r,i,...s){let a={title:r,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}t.is=n})(Fn||(Fn={}));var Gn;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&P.is(a.range)}t.is=i})(Gn||(Gn={}));var fo;(function(t){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(p.string(i.description)||i.description===void 0)}t.is=n})(fo||(fo={}));var Un;(function(t){function e(n){const r=n;return p.string(r)}t.is=e})(Un||(Un={}));var yc;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function n(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=n;function r(s,a){return{range:s,newText:"",annotationId:a}}t.del=r;function i(s){const a=s;return Gn.is(a)&&(fo.is(a.annotationId)||Un.is(a.annotationId))}t.is=i})(yc||(yc={}));var ho;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&To.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(ho||(ho={}));var po;(function(t){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&p.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Un.is(i.annotationId))}t.is=n})(po||(po={}));var mo;(function(t){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&p.string(i.oldUri)&&p.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Un.is(i.annotationId))}t.is=n})(mo||(mo={}));var go;(function(t){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&p.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||p.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||p.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Un.is(i.annotationId))}t.is=n})(go||(go={}));var yo;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>p.string(i.kind)?po.is(i)||mo.is(i)||go.is(i):ho.is(i)))}t.is=e})(yo||(yo={}));var Tc;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)}t.is=n})(Tc||(Tc={}));var vc;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}t.is=n})(vc||(vc={}));var To;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}t.is=n})(To||(To={}));var $c;(function(t){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}t.is=n})($c||($c={}));var vo;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(vo||(vo={}));var jr;(function(t){function e(n){const r=n;return p.objectLiteral(n)&&vo.is(r.kind)&&p.string(r.value)}t.is=e})(jr||(jr={}));var Rc;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Rc||(Rc={}));var Ac;(function(t){t.PlainText=1,t.Snippet=2})(Ac||(Ac={}));var Ec;(function(t){t.Deprecated=1})(Ec||(Ec={}));var Sc;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&p.string(i.newText)&&P.is(i.insert)&&P.is(i.replace)}t.is=n})(Sc||(Sc={}));var xc;(function(t){t.asIs=1,t.adjustIndentation=2})(xc||(xc={}));var Ic;(function(t){function e(n){const r=n;return r&&(p.string(r.detail)||r.detail===void 0)&&(p.string(r.description)||r.description===void 0)}t.is=e})(Ic||(Ic={}));var wc;(function(t){function e(n){return{label:n}}t.create=e})(wc||(wc={}));var Cc;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(Cc||(Cc={}));var ds;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}t.is=n})(ds||(ds={}));var _c;(function(t){function e(n){let r=n;return!!r&&p.objectLiteral(r)&&(jr.is(r.contents)||ds.is(r.contents)||p.typedArray(r.contents,ds.is))&&(n.range===void 0||P.is(n.range))}t.is=e})(_c||(_c={}));var kc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(kc||(kc={}));var Nc;(function(t){function e(n,r,...i){let s={label:n};return p.defined(r)&&(s.documentation=r),p.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(Nc||(Nc={}));var bc;(function(t){t.Text=1,t.Read=2,t.Write=3})(bc||(bc={}));var Oc;(function(t){function e(n,r){let i={range:n};return p.number(r)&&(i.kind=r),i}t.create=e})(Oc||(Oc={}));var Lc;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Lc||(Lc={}));var Pc;(function(t){t.Deprecated=1})(Pc||(Pc={}));var Mc;(function(t){function e(n,r,i,s,a){let o={name:n,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(Mc||(Mc={}));var Dc;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(Dc||(Dc={}));var Fc;(function(t){function e(r,i,s,a,o,l){let u={name:r,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function n(r){let i=r;return i&&p.string(i.name)&&p.number(i.kind)&&P.is(i.range)&&P.is(i.selectionRange)&&(i.detail===void 0||p.string(i.detail))&&(i.deprecated===void 0||p.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(Fc||(Fc={}));var Gc;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Gc||(Gc={}));var hs;(function(t){t.Invoked=1,t.Automatic=2})(hs||(hs={}));var Uc;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return p.defined(i)&&p.typedArray(i.diagnostics,fs.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===hs.Invoked||i.triggerKind===hs.Automatic)}t.is=n})(Uc||(Uc={}));var Bc;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Fn.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function n(r){let i=r;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,fs.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Fn.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||yo.is(i.edit))}t.is=n})(Bc||(Bc={}));var jc;(function(t){function e(r,i){let s={range:r};return p.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return p.defined(i)&&P.is(i.range)&&(p.undefined(i.command)||Fn.is(i.command))}t.is=n})(jc||(jc={}));var Kc;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}t.is=n})(Kc||(Kc={}));var Hc;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return p.defined(i)&&P.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}t.is=n})(Hc||(Hc={}));var Wc;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&P.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(Wc||(Wc={}));var zc;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(zc||(zc={}));var Vc;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Vc||(Vc={}));var qc;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(qc||(qc={}));var Yc;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&P.is(i.range)&&p.string(i.text)}t.is=n})(Yc||(Yc={}));var Xc;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&P.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}t.is=n})(Xc||(Xc={}));var Jc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&P.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}t.is=n})(Jc||(Jc={}));var Zc;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return p.defined(i)&&P.is(r.stoppedLocation)}t.is=n})(Zc||(Zc={}));var $o;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})($o||($o={}));var Ro;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||jr.is(i.tooltip))&&(i.location===void 0||cs.is(i.location))&&(i.command===void 0||Fn.is(i.command))}t.is=n})(Ro||(Ro={}));var Qc;(function(t){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&D.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,Ro.is))&&(i.kind===void 0||$o.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,Gn.is)&&(i.tooltip===void 0||p.string(i.tooltip)||jr.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}t.is=n})(Qc||(Qc={}));var ef;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(ef||(ef={}));var tf;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(tf||(tf={}));var nf;(function(t){function e(n){return{items:n}}t.create=e})(nf||(nf={}));var rf;(function(t){t.Invoked=0,t.Automatic=1})(rf||(rf={}));var sf;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(sf||(sf={}));var af;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(af||(af={}));var of;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&lo.is(r.uri)&&p.string(r.name)}t.is=e})(of||(of={}));var lf;(function(t){function e(s,a,o,l){return new fC(s,a,o,l)}t.create=e;function n(s){let a=s;return!!(p.defined(a)&&p.string(a.uri)&&(p.undefined(a.languageId)||p.string(a.languageId))&&p.uinteger(a.lineCount)&&p.func(a.getText)&&p.func(a.positionAt)&&p.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),l=i(a,(c,f)=>{let d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d}),u=o.length;for(let c=l.length-1;c>=0;c--){let f=l[c],d=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=u)o=o.substring(0,d)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");u=d}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),u=s.slice(o);i(l,a),i(u,a);let c=0,f=0,d=0;for(;c<l.length&&f<u.length;)a(l[c],u[f])<=0?s[d++]=l[c++]:s[d++]=u[f++];for(;c<l.length;)s[d++]=l[c++];for(;f<u.length;)s[d++]=u[f++];return s}})(lf||(lf={}));let fC=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
115
+ `,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
116
+ `&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return D.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return D.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var p;(function(t){const e=Object.prototype.toString;function n(h){return typeof h<"u"}t.defined=n;function r(h){return typeof h>"u"}t.undefined=r;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function a(h){return e.call(h)==="[object Number]"}t.number=a;function o(h,m,g){return e.call(h)==="[object Number]"&&m<=h&&h<=g}t.numberRange=o;function l(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=l;function u(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=u;function c(h){return e.call(h)==="[object Function]"}t.func=c;function f(h){return h!==null&&typeof h=="object"}t.objectLiteral=f;function d(h,m){return Array.isArray(h)&&h.every(m)}t.typedArray=d})(p||(p={}));class dC{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new Bh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new vl;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Ao(e.startOffset,e.image.length,Fa(e),e.tokenType,!n);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}addHiddenNodes(e){const n=[];for(const s of e){const a=new Ao(s.startOffset,s.image.length,Fa(s),s.tokenType,!0);a.root=this.rootNode,n.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...n);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...n),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...n)}construct(e){const n=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}}class Uh{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,n;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(n=this.container)===null||n===void 0?void 0:n.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Ao extends Uh{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class vl extends Uh{constructor(){super(...arguments),this.content=new $l(this)}get children(){return this.content}get offset(){var e,n;return(n=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&n!==void 0?n:0}get length(){return this.end-this.offset}get end(){var e,n;return(n=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&n!==void 0?n:0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:D.create(0,0),end:D.create(0,0)}}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 n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class $l extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,$l.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class Bh extends vl{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Eo=Symbol("Datatype");function Ra(t){return t.$type===Eo}const uf="​",jh=t=>t.endsWith(uf)?t:t+uf;class Kh{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";this.wrapper=new yC(n,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}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()}}class hC extends Kh{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new dC,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(jh(e.name),this.startImplementation(r,n).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(Jf(e))return Eo;{const n=Lo(e);return n??e.name}}}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,n){return r=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===Eo&&(a.value="")}let s;try{s=n(r)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const n=this.lexerResult.hidden;if(!n.length)return[];const r=e.startOffset;for(let i=0;i<n.length;i++)if(n[i].startOffset>r)return n.splice(0,i);return n.splice(0,n.length)}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,isCrossRef:l}=this.getAssignment(r),u=this.current;if(o){const c=Wt(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,c,a,l)}else if(Ra(u)){let c=i.image;Wt(r)||(c=this.converter.convert(c,a).toString()),u.value+=c}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,n,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,n,r){const{assignment:i,isCrossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Ra(a))a.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(l)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return rm(e),this.nodeBuilder.construct(e),this.stack.pop(),Ra(e)?this.converter.convert(e.value,e.$cstNode):(im(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const n=$s(e,Ht);this.assignmentMap.set(e,{assignment:n,isCrossRef:n?ko(n.terminal):!1})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):o=r,e){case"=":{a[n]=o;break}case"?=":{a[n]=!0;break}case"+=":Array.isArray(a[n])||(a[n]=[]),a[n].push(o)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class pC{buildMismatchTokenMessage(e){return dn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return dn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return dn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return dn.buildEarlyExitMessage(e)}}class Hh extends pC{buildMismatchTokenMessage({expected:e,actual:n}){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 \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class mC extends Kh{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.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,n){const r=this.wrapper.DEFINE_RULE(jh(e.name),this.startImplementation(n).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 n=>{const r=this.keepStackSize();try{e(n)}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,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,n,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const gC={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Hh};class yC extends Sw{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,Object.assign(Object.assign(Object.assign({},gC),{lookaheadStrategy:r?new hl({maxLookahead:n.maxLookahead}):new Ww({logging:n.skipValidations?()=>{}:void 0})}),n))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n){return this.RULE(e,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}}function Wh(t,e,n){return TC({parser:e,tokens:n,ruleNames:new Map},t),e}function TC(t,e){const n=zf(e,!1),r=ie(e.rules).filter(Ne).filter(i=>n.has(i));for(const i of r){const s=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,Xt(s,i.definition))}}function Xt(t,e,n=!1){let r;if(Wt(e))r=xC(t,e);else if(vs(e))r=vC(t,e);else if(Ht(e))r=Xt(t,e.terminal);else if(ko(e))r=zh(t,e);else if(zt(e))r=$C(t,e);else if(Uf(e))r=AC(t,e);else if(Bf(e))r=EC(t,e);else if(No(e))r=SC(t,e);else if(Yp(e)){const i=t.consume++;r=()=>t.parser.consume(i,Ct,e)}else throw new Mf(e.$cstNode,`Unexpected element type: ${e.$type}`);return Vh(t,n?void 0:ps(e),r,e.cardinality)}function vC(t,e){const n=Po(e);return()=>t.parser.action(n,e)}function $C(t,e){const n=e.rule.ref;if(Ne(n)){const r=t.subrule++,i=n.fragment,s=e.arguments.length>0?RC(n,e.arguments):()=>({});return a=>t.parser.subrule(r,qh(t,n),i,e,s(a))}else if(Zt(n)){const r=t.consume++,i=So(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)Hr();else throw new Mf(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function RC(t,e){const n=e.map(r=>lt(r.value));return r=>{const i={};for(let s=0;s<n.length;s++){const a=t.parameters[s],o=n[s];i[a.name]=o(r)}return i}}function lt(t){if(Kp(t)){const e=lt(t.left),n=lt(t.right);return r=>e(r)||n(r)}else if(jp(t)){const e=lt(t.left),n=lt(t.right);return r=>e(r)&&n(r)}else if(Hp(t)){const e=lt(t.value);return n=>!e(n)}else if(Wp(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(Bp(t)){const e=!!t.true;return()=>e}Hr()}function AC(t,e){if(e.elements.length===1)return Xt(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Xt(t,i,!0)},a=ps(i);a&&(s.GATE=lt(a)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function EC(t,e){if(e.elements.length===1)return Xt(t,e.elements[0]);const n=[];for(const o of e.elements){const l={ALT:Xt(t,o,!0)},u=ps(o);u&&(l.GATE=lt(u)),n.push(l)}const r=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},s=o=>t.parser.alternatives(r,n.map((l,u)=>{const c={ALT:()=>!0},f=t.parser;c.ALT=()=>{if(l.ALT(o),!f.isRecording()){const h=i(r,f);f.unorderedGroups.get(h)||f.unorderedGroups.set(h,[]);const m=f.unorderedGroups.get(h);typeof m?.[u]>"u"&&(m[u]=!0)}};const d=l.GATE;return d?c.GATE=()=>d(o):c.GATE=()=>{const h=f.unorderedGroups.get(i(r,f));return!h?.[u]},c})),a=Vh(t,ps(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function SC(t,e){const n=e.elements.map(r=>Xt(t,r));return r=>n.forEach(i=>i(r))}function ps(t){if(No(t))return t.guardCondition}function zh(t,e,n=e.terminal){if(n)if(zt(n)&&Ne(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;return s=>t.parser.subrule(i,qh(t,r),!1,e,s)}else if(zt(n)&&Zt(n.rule.ref)){const r=t.consume++,i=So(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(Wt(n)){const r=t.consume++,i=So(t,n.value);return()=>t.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=Yf(e.type.ref),i=r?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Po(e.type.ref));return zh(t,e,i)}}function xC(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function Vh(t,e,n,r){const i=e&&lt(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:rc(),GATE:()=>!i(a)}])}else return n;if(r==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(o)}),GATE:()=>i(o)},{ALT:rc(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>n(a)})}else if(r==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else Hr()}function qh(t,e){const n=IC(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function IC(t,e){if(Ne(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Ne(r);)(No(r)||Uf(r)||Bf(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function So(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function wC(t){const e=t.Grammar,n=t.parser.Lexer,r=new mC(t);return Wh(e,r,n.definition),r.finalize(),r}function CC(t){const e=_C(t);return e.finalize(),e}function _C(t){const e=t.Grammar,n=t.parser.Lexer,r=new hC(t);return Wh(e,r,n.definition)}class Yh{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=ie(zf(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&Ua(o)?s.unshift(a):s.push(a)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Zt).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Mo(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Ua(n)?he.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(Ne).flatMap(i=>Wr(i).filter(Wt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!r?.caseInsensitive))}buildKeywordToken(e,n,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,n)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,n){return n?new RegExp(hm(e.value)):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i?.PATTERN;return s?.source&&pm("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Xh{convert(e,n){let r=n.grammarSource;if(ko(r)&&(r=Tm(r)),zt(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,n)}return e}runConverter(e,n,r){var i;switch(e.name.toUpperCase()){case"INT":return it.convertInt(n);case"STRING":return it.convertString(n);case"ID":return it.convertID(n)}switch((i=xm(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return it.convertNumber(n);case"boolean":return it.convertBoolean(n);case"bigint":return it.convertBigint(n);case"date":return it.convertDate(n);default:return n}}}var it;(function(t){function e(u){let c="";for(let f=1;f<u.length-1;f++){const d=u.charAt(f);if(d==="\\"){const h=u.charAt(++f);c+=n(h)}else c+=d}return c}t.convertString=e;function n(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
117
+ `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}function r(u){return u.charAt(0)==="^"?u.substring(1):u}t.convertID=r;function i(u){return parseInt(u)}t.convertInt=i;function s(u){return BigInt(u)}t.convertBigint=s;function a(u){return new Date(u)}t.convertDate=a;function o(u){return Number(u)}t.convertNumber=o;function l(u){return u.toLowerCase()==="true"}t.convertBoolean=l})(it||(it={}));var Bt={},$i={},cf;function Jh(){if(cf)return $i;cf=1,Object.defineProperty($i,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(n){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}n.install=r})(e||(e={})),$i.default=e,$i}var te={},ff;function kC(){if(ff)return te;ff=1,Object.defineProperty(te,"__esModule",{value:!0}),te.stringArray=te.array=te.func=te.error=te.number=te.string=te.boolean=void 0;function t(o){return o===!0||o===!1}te.boolean=t;function e(o){return typeof o=="string"||o instanceof String}te.string=e;function n(o){return typeof o=="number"||o instanceof Number}te.number=n;function r(o){return o instanceof Error}te.error=r;function i(o){return typeof o=="function"}te.func=i;function s(o){return Array.isArray(o)}te.array=s;function a(o){return s(o)&&o.every(l=>e(l))}return te.stringArray=a,te}var jt={},df;function Zh(){if(df)return jt;df=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.Emitter=jt.Event=void 0;const t=Jh();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(jt.Event=e={}));class n{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let l=0,u=this._callbacks.length;l<u;l++)if(this._callbacks[l]===s)if(this._contexts[l]===a){this._callbacks.splice(l,1),this._contexts.splice(l,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),l=this._contexts.slice(0);for(let u=0,c=o.length;u<c;u++)try{a.push(o[u].apply(l[u],s))}catch(f){(0,t.default)().console.error(f)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),l.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return jt.Emitter=r,r._noop=function(){},jt}var hf;function NC(){if(hf)return Bt;hf=1,Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.CancellationTokenSource=Bt.CancellationToken=void 0;const t=Jh(),e=kC(),n=Zh();var r;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function l(u){const c=u;return c&&(c===o.None||c===o.Cancelled||e.boolean(c.isCancellationRequested)&&!!c.onCancellationRequested)}o.is=l})(r||(Bt.CancellationToken=r={}));const i=Object.freeze(function(o,l){const u=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){u.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class a{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return Bt.CancellationTokenSource=a,Bt}var z=NC();function bC(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Mi=0,OC=10;function LC(){return Mi=performance.now(),new z.CancellationTokenSource}const ms=Symbol("OperationCancelled");function Zs(t){return t===ms}async function Ee(t){if(t===z.CancellationToken.None)return;const e=performance.now();if(e-Mi>=OC&&(Mi=e,await bC(),Mi=performance.now()),t.isCancellationRequested)throw ms}class Rl{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class Kr{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(const r of e)if(Kr.isIncremental(r)){const i=ep(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const c=pf(r.text,!1,s);if(l-o===c.length)for(let d=0,h=c.length;d<h;d++)u[d+o+1]=c[d];else c.length<1e4?u.splice(o+1,l-o,...c):this._lineOffsets=u=u.slice(0,o+1).concat(c,u.slice(l+1));const f=r.text.length-(a-s);if(f!==0)for(let d=o+1+c.length,h=u.length;d<h;d++)u[d]=u[d]+f}else if(Kr.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=pf(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const n=this.getLineOffsets();let r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,n[s]),{line:s,character:e-n[s]}}offsetAt(e){const n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;const r=n[e.line];if(e.character<=0)return r;const i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&Qh(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var xo;(function(t){function e(i,s,a,o){return new Kr(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Kr)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){const a=i.getText(),o=Io(s.map(PC),(c,f)=>{const d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d});let l=0;const u=[];for(const c of o){const f=i.offsetAt(c.range.start);if(f<l)throw new Error("Overlapping edit");f>l&&u.push(a.substring(l,f)),c.newText.length&&u.push(c.newText),l=i.offsetAt(c.range.end)}return u.push(a.substr(l)),u.join("")}t.applyEdits=r})(xo||(xo={}));function Io(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Io(r,e),Io(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function pf(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);Qh(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function Qh(t){return t===13||t===10}function ep(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function PC(t){const e=ep(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var tp;(()=>{var t={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,u){for(var c,f="",d=0,h=-1,m=0,g=0;g<=l.length;++g){if(g<l.length)c=l.charCodeAt(g);else{if(c===47)break;c=47}if(c===47){if(!(h===g-1||m===1))if(h!==g-1&&m===2){if(f.length<2||d!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){var v=f.lastIndexOf("/");if(v!==f.length-1){v===-1?(f="",d=0):d=(f=f.slice(0,v)).length-1-f.lastIndexOf("/"),h=g,m=0;continue}}else if(f.length===2||f.length===1){f="",d=0,h=g,m=0;continue}}u&&(f.length>0?f+="/..":f="..",d=2)}else f.length>0?f+="/"+l.slice(h+1,g):f=l.slice(h+1,g),d=g-h-1;h=g,m=0}else c===46&&m!==-1?++m:m=-1}return f}var o={resolve:function(){for(var l,u="",c=!1,f=arguments.length-1;f>=-1&&!c;f--){var d;f>=0?d=arguments[f]:(l===void 0&&(l=process.cwd()),d=l),s(d),d.length!==0&&(u=d+"/"+u,c=d.charCodeAt(0)===47)}return u=a(u,!c),c?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(l){if(s(l),l.length===0)return".";var u=l.charCodeAt(0)===47,c=l.charCodeAt(l.length-1)===47;return(l=a(l,!u)).length!==0||u||(l="."),l.length>0&&c&&(l+="/"),u?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,u=0;u<arguments.length;++u){var c=arguments[u];s(c),c.length>0&&(l===void 0?l=c:l+="/"+c)}return l===void 0?".":o.normalize(l)},relative:function(l,u){if(s(l),s(u),l===u||(l=o.resolve(l))===(u=o.resolve(u)))return"";for(var c=1;c<l.length&&l.charCodeAt(c)===47;++c);for(var f=l.length,d=f-c,h=1;h<u.length&&u.charCodeAt(h)===47;++h);for(var m=u.length-h,g=d<m?d:m,v=-1,y=0;y<=g;++y){if(y===g){if(m>g){if(u.charCodeAt(h+y)===47)return u.slice(h+y+1);if(y===0)return u.slice(h+y)}else d>g&&(l.charCodeAt(c+y)===47?v=y:y===0&&(v=0));break}var R=l.charCodeAt(c+y);if(R!==u.charCodeAt(h+y))break;R===47&&(v=y)}var $="";for(y=c+v+1;y<=f;++y)y!==f&&l.charCodeAt(y)!==47||($.length===0?$+="..":$+="/..");return $.length>0?$+u.slice(h+v):(h+=v,u.charCodeAt(h)===47&&++h,u.slice(h))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var u=l.charCodeAt(0),c=u===47,f=-1,d=!0,h=l.length-1;h>=1;--h)if((u=l.charCodeAt(h))===47){if(!d){f=h;break}}else d=!1;return f===-1?c?"/":".":c&&f===1?"//":l.slice(0,f)},basename:function(l,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(l);var c,f=0,d=-1,h=!0;if(u!==void 0&&u.length>0&&u.length<=l.length){if(u.length===l.length&&u===l)return"";var m=u.length-1,g=-1;for(c=l.length-1;c>=0;--c){var v=l.charCodeAt(c);if(v===47){if(!h){f=c+1;break}}else g===-1&&(h=!1,g=c+1),m>=0&&(v===u.charCodeAt(m)?--m==-1&&(d=c):(m=-1,d=g))}return f===d?d=g:d===-1&&(d=l.length),l.slice(f,d)}for(c=l.length-1;c>=0;--c)if(l.charCodeAt(c)===47){if(!h){f=c+1;break}}else d===-1&&(h=!1,d=c+1);return d===-1?"":l.slice(f,d)},extname:function(l){s(l);for(var u=-1,c=0,f=-1,d=!0,h=0,m=l.length-1;m>=0;--m){var g=l.charCodeAt(m);if(g!==47)f===-1&&(d=!1,f=m+1),g===46?u===-1?u=m:h!==1&&(h=1):u!==-1&&(h=-1);else if(!d){c=m+1;break}}return u===-1||f===-1||h===0||h===1&&u===f-1&&u===c+1?"":l.slice(u,f)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return(function(u,c){var f=c.dir||c.root,d=c.base||(c.name||"")+(c.ext||"");return f?f===c.root?f+d:f+"/"+d:d})(0,l)},parse:function(l){s(l);var u={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return u;var c,f=l.charCodeAt(0),d=f===47;d?(u.root="/",c=1):c=0;for(var h=-1,m=0,g=-1,v=!0,y=l.length-1,R=0;y>=c;--y)if((f=l.charCodeAt(y))!==47)g===-1&&(v=!1,g=y+1),f===46?h===-1?h=y:R!==1&&(R=1):h!==-1&&(R=-1);else if(!v){m=y+1;break}return h===-1||g===-1||R===0||R===1&&h===g-1&&h===m+1?g!==-1&&(u.base=u.name=m===0&&d?l.slice(1,g):l.slice(m,g)):(m===0&&d?(u.name=l.slice(1,h),u.base=l.slice(1,g)):(u.name=l.slice(m,h),u.base=l.slice(m,g)),u.ext=l.slice(h,g)),m>0?u.dir=l.slice(0,m-1):d&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,n),a.exports}n.d=(i,s)=>{for(var a in s)n.o(s,a)&&!n.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},n.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),n.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;n.r(r),n.d(r,{URI:()=>d,Utils:()=>we}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,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&&!s.test(E.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(E.path){if(E.authority){if(!a.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 ("//")')}}const u="",c="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{static isUri(T){return T instanceof d||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,I,x,L,b,N=!1){typeof T=="object"?(this.scheme=T.scheme||u,this.authority=T.authority||u,this.path=T.path||u,this.query=T.query||u,this.fragment=T.fragment||u):(this.scheme=(function($e,Q){return $e||Q?$e:"file"})(T,N),this.authority=I||u,this.path=(function($e,Q){switch($e){case"https":case"http":case"file":Q?Q[0]!==c&&(Q=c+Q):Q=c}return Q})(this.scheme,x||u),this.query=L||u,this.fragment=b||u,l(this,N))}get fsPath(){return R(this)}with(T){if(!T)return this;let{scheme:I,authority:x,path:L,query:b,fragment:N}=T;return I===void 0?I=this.scheme:I===null&&(I=u),x===void 0?x=this.authority:x===null&&(x=u),L===void 0?L=this.path:L===null&&(L=u),b===void 0?b=this.query:b===null&&(b=u),N===void 0?N=this.fragment:N===null&&(N=u),I===this.scheme&&x===this.authority&&L===this.path&&b===this.query&&N===this.fragment?this:new m(I,x,L,b,N)}static parse(T,I=!1){const x=f.exec(T);return x?new m(x[2]||u,oe(x[4]||u),oe(x[5]||u),oe(x[7]||u),oe(x[9]||u),I):new m(u,u,u,u,u)}static file(T){let I=u;if(i&&(T=T.replace(/\\/g,c)),T[0]===c&&T[1]===c){const x=T.indexOf(c,2);x===-1?(I=T.substring(2),T=c):(I=T.substring(2,x),T=T.substring(x)||c)}return new m("file",I,T,u,u)}static from(T){const I=new m(T.scheme,T.authority,T.path,T.query,T.fragment);return l(I,!0),I}toString(T=!1){return $(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof d)return T;{const I=new m(T);return I._formatted=T.external,I._fsPath=T._sep===h?T.fsPath:null,I}}return T}}const h=i?1:void 0;class m extends d{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=R(this)),this._fsPath}toString(T=!1){return T?$(this,!0):(this._formatted||(this._formatted=$(this,!1)),this._formatted)}toJSON(){const T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=h),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}const g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(E,T,I){let x,L=-1;for(let b=0;b<E.length;b++){const N=E.charCodeAt(b);if(N>=97&&N<=122||N>=65&&N<=90||N>=48&&N<=57||N===45||N===46||N===95||N===126||T&&N===47||I&&N===91||I&&N===93||I&&N===58)L!==-1&&(x+=encodeURIComponent(E.substring(L,b)),L=-1),x!==void 0&&(x+=E.charAt(b));else{x===void 0&&(x=E.substr(0,b));const $e=g[N];$e!==void 0?(L!==-1&&(x+=encodeURIComponent(E.substring(L,b)),L=-1),x+=$e):L===-1&&(L=b)}}return L!==-1&&(x+=encodeURIComponent(E.substring(L))),x!==void 0?x:E}function y(E){let T;for(let I=0;I<E.length;I++){const x=E.charCodeAt(I);x===35||x===63?(T===void 0&&(T=E.substr(0,I)),T+=g[x]):T!==void 0&&(T+=E[I])}return T!==void 0?T:E}function R(E,T){let I;return I=E.authority&&E.path.length>1&&E.scheme==="file"?`//${E.authority}${E.path}`:E.path.charCodeAt(0)===47&&(E.path.charCodeAt(1)>=65&&E.path.charCodeAt(1)<=90||E.path.charCodeAt(1)>=97&&E.path.charCodeAt(1)<=122)&&E.path.charCodeAt(2)===58?E.path[1].toLowerCase()+E.path.substr(2):E.path,i&&(I=I.replace(/\//g,"\\")),I}function $(E,T){const I=T?y:v;let x="",{scheme:L,authority:b,path:N,query:$e,fragment:Q}=E;if(L&&(x+=L,x+=":"),(b||L==="file")&&(x+=c,x+=c),b){let V=b.indexOf("@");if(V!==-1){const Gt=b.substr(0,V);b=b.substr(V+1),V=Gt.lastIndexOf(":"),V===-1?x+=I(Gt,!1,!1):(x+=I(Gt.substr(0,V),!1,!1),x+=":",x+=I(Gt.substr(V+1),!1,!0)),x+="@"}b=b.toLowerCase(),V=b.lastIndexOf(":"),V===-1?x+=I(b,!1,!0):(x+=I(b.substr(0,V),!1,!0),x+=b.substr(V))}if(N){if(N.length>=3&&N.charCodeAt(0)===47&&N.charCodeAt(2)===58){const V=N.charCodeAt(1);V>=65&&V<=90&&(N=`/${String.fromCharCode(V+32)}:${N.substr(3)}`)}else if(N.length>=2&&N.charCodeAt(1)===58){const V=N.charCodeAt(0);V>=65&&V<=90&&(N=`${String.fromCharCode(V+32)}:${N.substr(2)}`)}x+=I(N,!0,!1)}return $e&&(x+="?",x+=I($e,!1,!1)),Q&&(x+="#",x+=T?Q:v(Q,!1,!1)),x}function S(E){try{return decodeURIComponent(E)}catch{return E.length>3?E.substr(0,3)+S(E.substr(3)):E}}const O=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function oe(E){return E.match(O)?E.replace(O,(T=>S(T))):E}var Me=n(470);const ve=Me.posix||Me,We="/";var we;(function(E){E.joinPath=function(T,...I){return T.with({path:ve.join(T.path,...I)})},E.resolvePath=function(T,...I){let x=T.path,L=!1;x[0]!==We&&(x=We+x,L=!0);let b=ve.resolve(x,...I);return L&&b[0]===We&&!T.authority&&(b=b.substring(1)),T.with({path:b})},E.dirname=function(T){if(T.path.length===0||T.path===We)return T;let I=ve.dirname(T.path);return I.length===1&&I.charCodeAt(0)===46&&(I=""),T.with({path:I})},E.basename=function(T){return ve.basename(T.path)},E.extname=function(T){return ve.extname(T.path)}})(we||(we={}))})(),tp=r})();const{URI:Jt,Utils:Yn}=tp;var kt;(function(t){t.basename=Yn.basename,t.dirname=Yn.dirname,t.extname=Yn.extname,t.joinPath=Yn.joinPath,t.resolvePath=Yn.resolvePath;function e(i,s){return i?.toString()===s?.toString()}t.equals=e;function n(i,s){const a=typeof i=="string"?i:i.path,o=typeof s=="string"?s:s.path,l=a.split("/").filter(h=>h.length>0),u=o.split("/").filter(h=>h.length>0);let c=0;for(;c<l.length&&l[c]===u[c];c++);const f="../".repeat(l.length-c),d=u.slice(c).join("/");return f+d}t.relative=n;function r(i){return Jt.parse(i.toString()).toString()}t.normalize=r})(kt||(kt={}));var H;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(H||(H={}));class MC{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=z.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Jt.parse(e.uri),z.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return z.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:H.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:H.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){var r,i;const s=(r=e.parseResult.value.$cstNode)===null||r===void 0?void 0:r.root.fullText,a=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{const l=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:l})}return s!==o&&(e.parseResult=await this.parseAsync(e.uri,o,n),e.parseResult.value.$document=e),e.state=H.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=xo.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class DC{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return ie(this.documentMap.values())}addDocument(e){const n=e.uri.toString();if(this.documentMap.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentMap.set(n,e)}getDocument(e){const n=e.toString();return this.documentMap.get(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=H.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(r.state=H.Changed,this.documentMap.delete(n)),r}}const Aa=Symbol("ref_resolving");class FC{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,n=z.CancellationToken.None){for(const r of hn(e.parseResult.value))await Ee(n),Kf(r).forEach(i=>this.doLink(i,e))}doLink(e,n){var r;const i=e.reference;if(i._ref===void 0){i._ref=Aa;try{const s=this.getCandidate(e);if(Ci(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const a=this.loadAstNode(s);i._ref=a??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const a=(r=s.message)!==null&&r!==void 0?r:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${a}`})}n.references.push(i)}}unlink(e){for(const n of e.references)delete n._ref,delete n._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,get ref(){var o;if(ue(this._ref))return this._ref;if(Np(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Aa;const l=Ga(e).$document,u=s.getLinkedNode({reference:a,container:e,property:n});if(u.error&&l&&l.state<H.ComputedScopes)return this._ref=void 0;this._ref=(o=u.node)!==null&&o!==void 0?o:u.error,this._nodeDescription=u.descr,l?.references.push(this)}else if(this._ref===Aa)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${i}')`);return ue(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Ci(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var n;try{const r=this.getCandidate(e);if(Ci(r))return{error:r};const i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const i=(n=r.message)!==null&&n!==void 0?n:String(r);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Ga(e.container).$document;r&&r.state<H.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n})}}function GC(t){return typeof t.name=="string"}class UC{getName(e){if(GC(e))return e.name}getNameNode(e){return qf(e.$cstNode,"name")}}class BC{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const n=Em(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(Ve(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(Ve(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||Lp(e,i)))return r}}}findDeclarationNode(e){const n=this.findDeclaration(e);if(n?.$cstNode){const r=this.nameProvider.getNameNode(n);return r??n.$cstNode}}findReferences(e,n){const r=[];if(n.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>kt.equals(s.sourceUri,n.documentUri))),r.push(...i),ie(r)}getReferenceToSelf(e){const n=this.nameProvider.getNameNode(e);if(n){const r=At(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:Wi(n),local:!0}}}}class gs{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return Ma.sum(ie(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var n;return(n=this.map.get(e))!==null&&n!==void 0?n:[]}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ie(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return ie(this.map.keys())}values(){return ie(this.map.values()).flat()}entriesGroupedByKey(){return ie(this.map.entries())}}class mf{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class jC{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,n=z.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,n)}async computeExportsForNode(e,n,r=bo,i=z.CancellationToken.None){const s=[];this.exportNode(e,s,n);for(const a of r(e))await Ee(i),this.exportNode(a,s,n);return s}exportNode(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,n=z.CancellationToken.None){const r=e.parseResult.value,i=new gs;for(const s of Wr(r))await Ee(n),this.processNode(s,e,i);return i}processNode(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class gf{constructor(e,n,r){var i;this.elements=e,this.outerScope=n,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}}class KC{constructor(e,n,r){var i;this.elements=new Map,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=ie(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class np{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")}}class HC extends np{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class WC extends np{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class zC extends HC{constructor(e,n){super(),n?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(n,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class VC{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 zC(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=At(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&n.push(ie(o).filter(l=>this.reflection.isSubtype(l.type,r))),a=a.$container}while(a)}let s=this.getGlobalScope(r,e);for(let a=n.length-1;a>=0;a--)s=this.createScope(n[a],s);return s}createScope(e,n,r){return new gf(ie(e),n,r)}createScopeForNodes(e,n,r){const i=ie(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new gf(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new KC(this.indexManager.allElements(e)))}}function qC(t){return typeof t.$comment=="string"}function yf(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class YC{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,n){const r=n??{},i=n?.replacer,s=(o,l)=>this.replacer(o,l,r),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=At(e),JSON.stringify(e,a,n?.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,u,c,f;if(!this.ignoreProperties.has(e))if(Ve(n)){const d=n.ref,h=r?n.$refText:void 0;if(d){const m=At(d);let g="";this.currentDocument&&this.currentDocument!==m&&(o?g=o(m.uri,n):g=m.uri.toString());const v=this.astNodeLocator.getAstNodePath(d);return{$ref:`${g}#${v}`,$refText:h}}else return{$error:(u=(l=n.error)===null||l===void 0?void 0:l.message)!==null&&u!==void 0?u:"Could not resolve reference",$refText:h}}else if(ue(n)){let d;if(s&&(d=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},n)),(!e||n.$document)&&d?.$textRegion&&(d.$textRegion.documentURI=(c=this.currentDocument)===null||c===void 0?void 0:c.uri.toString())),i&&!e&&(d??(d=Object.assign({},n)),d.$sourceText=(f=n.$cstNode)===null||f===void 0?void 0:f.text),a){d??(d=Object.assign({},n));const h=this.commentProvider.getComment(n);h&&(d.$comment=h.replace(/\r/g,""))}return d??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=$m(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let c=0;c<u.length;c++){const f=u[c];yf(f)?u[c]=this.reviveReference(e,l,n,f,r):ue(f)&&this.linkNode(f,n,r,e,l,c)}else yf(u)?e[l]=this.reviveReference(e,l,n,u,r):ue(u)&&this.linkNode(u,n,r,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,n,r,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(ue(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}if(o){const l={$refText:a??""};return l.error={container:e,property:n,message:o,reference:l},l}else return}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const l=this.astNodeLocator.getAstNode(e,n.substring(1));return l||"Could not resolve path: "+n}if(i<0){const l=r?r(n):Jt.parse(n),u=this.langiumDocuments.getDocument(l);return u?u.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):Jt.parse(n.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+n;if(i===n.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,n.substring(i+1));return o||"Could not resolve URI: "+n}catch(i){return String(i)}}}class XC{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(n.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var n,r;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(r=(n=this.textDocuments)===null||n===void 0?void 0:n.get(e))===null||r===void 0?void 0:r.languageId;if(i!==void 0){const o=this.languageIdMap.get(i);if(o)return o}const s=kt.extname(e),a=this.fileExtensionMap.get(s);if(!a)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function wr(t){return{code:t}}var ys;(function(t){t.all=["fast","slow","built-in"]})(ys||(ys={}));class JC{constructor(e){this.entries=new gs,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const l={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else Hr()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if(Zs(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{node:i})}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=ie(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,n=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",n))}registerAfterDocument(e,n=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",n))}wrapPreparationException(e,n,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class ZC{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,n={},r=z.CancellationToken.None){const i=e.parseResult,s=[];if(await Ee(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ge.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ge.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Ge.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(Zs(a))throw a;console.error("An error occurred during validation:",a)}return await Ee(r),s}processLexingErrors(e,n,r){var i,s,a;const o=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const l of o){const u=(a=l.severity)!==null&&a!==void 0?a:"error",c={severity:Ea(u),range:{start:{line:l.line-1,character:l.column-1},end:{line:l.line-1,character:l.column+l.length-1}},message:l.message,data:e_(u),source:this.getSource()};n.push(c)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=Fa(i.token);if(s){const a={severity:Ea("error"),range:s,message:i.message,data:wr(Ge.ParsingError),source:this.getSource()};n.push(a)}}}processLinkingErrors(e,n,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Ge.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};n.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,n,r=z.CancellationToken.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=z.CancellationToken.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await Ee(i),await o(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,n,r,i=z.CancellationToken.None){await Promise.all(hn(e).map(async s=>{await Ee(i);const a=this.validationRegistry.getChecks(s.$type,n.categories);for(const o of a)await o(s,r,i)}))}async validateAstAfter(e,n,r,i=z.CancellationToken.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await Ee(i),await o(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,n,r){return{message:n,range:QC(r),severity:Ea(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 QC(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=qf(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Rm(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Ea(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function e_(t){switch(t){case"error":return wr(Ge.LexingError);case"warning":return wr(Ge.LexingWarning);case"info":return wr(Ge.LexingInfo);case"hint":return wr(Ge.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Ge;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ge||(Ge={}));class t_{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??At(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=Wi((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:n,get nameSegment(){return o()},selectionSegment:Wi(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class n_{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=z.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of hn(i))await Ee(n),Kf(s).filter(a=>!Ci(a)).forEach(a=>{const o=this.createDescription(a);o&&r.push(o)});return r}createDescription(e){const n=e.reference.$nodeDescription,r=e.reference.$refNode;if(!n||!r)return;const i=At(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:n.documentUri,targetPath:n.path,segment:Wi(r),local:kt.equals(n.documentUri,i)}}}class r_{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),l=parseInt(s.substring(a+1)),u=i[o];return u?.[l]}return i[s]},e)}}var i_=Zh();class s_{constructor(e){this._ready=new Rl,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new i_.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var n,r;this.workspaceConfig=(r=(n=e.capabilities.workspace)===null||n===void 0?void 0:n.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(n=>{const r=e.settings[n];this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Lr;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(Lr||(Lr={}));class a_{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new gs,this.documentPhaseListeners=new gs,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=H.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=z.CancellationToken.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===H.Validated){if(typeof n.validation=="boolean"&&n.validation)a.state=H.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof n.validation=="object"){const l=this.buildState.get(o),u=(i=l?.result)===null||i===void 0?void 0:i.validationChecks;if(u){const f=((s=n.validation.categories)!==null&&s!==void 0?s:ys.all).filter(d=>!u.includes(d));f.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},n.validation),{categories:f})},result:l.result}),a.state=H.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=H.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=z.CancellationToken.None){this.currentState=H.Changed;for(const a of n)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);l.state=H.Changed,this.langiumDocuments.addDocument(l)}this.buildState.delete(a.toString())}const i=ie(e).concat(n).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,H.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,n),await Ee(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<H.Linked||!(!((o=this.buildState.get(a.uri.toString()))===null||o===void 0)&&o.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){var n;return!!(!((n=this.textDocuments)===null||n===void 0)&&n.get(e.uri))}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),Lr.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,H.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,H.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,H.ComputedScopes,r,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,r)}),await this.runCancelable(e,H.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,H.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,H.Validated,r,s=>this.validate(s,r));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,n){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:n,result:s?.result})}}async runCancelable(e,n,r,i){const s=e.filter(o=>o.state<n);for(const o of s)await Ee(r),await i(o),o.state=n,await this.notifyDocumentPhase(o,n,r);const a=e.filter(o=>o.state===n);await this.notifyBuildPhase(a,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),Lr.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),Lr.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;if(n&&"path"in n?i=n:r=n,r??(r=z.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(ms):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const u=this.langiumDocuments.getDocument(i);s(u?.uri)}else s(void 0)}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(ms)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await a(e,r)}catch(o){if(!Zs(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await Ee(r),await a(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,n);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const u=this.buildState.get(e.uri.toString());if(u){(r=u.result)!==null&&r!==void 0||(u.result={});const c=(i=o?.categories)!==null&&i!==void 0?i:ys.all;u.result.validationChecks?u.result.validationChecks.push(...c):u.result.validationChecks=[...c]}}getBuildOptions(e){var n,r;return(r=(n=this.buildState.get(e.uri.toString()))===null||n===void 0?void 0:n.options)!==null&&r!==void 0?r:{}}}class o_{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new WC,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=At(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{kt.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),ie(i)}allElements(e,n){let r=ie(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){var r;return n?this.symbolByTypeIndex.get(e,n,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(o=>this.astReflection.isSubtype(o.type,n))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n),this.referenceIndex.delete(n)}async updateContent(e,n=z.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=z.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class l_{constructor(e){this.initialBuildOptions={},this._ready=new Rl,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){var n;this.folders=(n=e.workspaceFolders)!==null&&n!==void 0?n:void 0}initialized(e){return this.mutex.write(n=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],n)})}async initializeWorkspace(e,n=z.CancellationToken.None){const r=await this.performStartup(e);await Ee(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,n,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return Jt.parse(e.uri)}async traverseFolder(e,n,r,i){const s=await this.fileSystemProvider.readDirectory(n);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,r)){if(a.isDirectory)await this.traverseFolder(e,a.uri,r,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,n,r){const i=kt.basename(n.uri);if(i.startsWith("."))return!1;if(n.isDirectory)return i!=="node_modules"&&i!=="out";if(n.isFile){const s=kt.extname(n.uri);return r.includes(s)}return!1}}class u_{buildUnexpectedCharactersMessage(e,n,r,i,s){return eo.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return eo.buildUnableToPopLexerModeMessage(e)}}const c_={mode:"full"};class f_{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=Tf(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new he(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=c_){var r,i,s;const a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:(r=a.groups.hidden)!==null&&r!==void 0?r:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(Tf(e))return e;const n=rp(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function d_(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function rp(t){return t&&"modes"in t&&"defaultMode"in t}function Tf(t){return!d_(t)&&!rp(t)}function h_(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=D.create(0,0));const s=ip(t),a=Al(r),o=g_({lines:s,position:i,options:a});return R_({index:0,tokens:o,position:i})}function p_(t,e){const n=Al(e),r=ip(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!a?.exec(i)&&!!o?.exec(s)}function ip(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(lm)}const vf=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,m_=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function g_(t){var e,n,r;const i=[];let s=t.position.line,a=t.position.character;for(let o=0;o<t.lines.length;o++){const l=o===0,u=o===t.lines.length-1;let c=t.lines[o],f=0;if(l&&t.options.start){const h=(e=t.options.start)===null||e===void 0?void 0:e.exec(c);h&&(f=h.index+h[0].length)}else{const h=(n=t.options.line)===null||n===void 0?void 0:n.exec(c);h&&(f=h.index+h[0].length)}if(u){const h=(r=t.options.end)===null||r===void 0?void 0:r.exec(c);h&&(c=c.substring(0,h.index))}if(c=c.substring(0,$_(c)),wo(c,f)>=c.length){if(i.length>0){const h=D.create(s,a);i.push({type:"break",content:"",range:P.create(h,h)})}}else{vf.lastIndex=f;const h=vf.exec(c);if(h){const m=h[0],g=h[1],v=D.create(s,a+f),y=D.create(s,a+f+m.length);i.push({type:"tag",content:g,range:P.create(v,y)}),f+=m.length,f=wo(c,f)}if(f<c.length){const m=c.substring(f),g=Array.from(m.matchAll(m_));i.push(...y_(g,m,s,a+f))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function y_(t,e,n,r){const i=[];if(t.length===0){const s=D.create(n,r),a=D.create(n,r+e.length);i.push({type:"text",content:e,range:P.create(s,a)})}else{let s=0;for(const o of t){const l=o.index,u=e.substring(s,l);u.length>0&&i.push({type:"text",content:e.substring(s,l),range:P.create(D.create(n,s+r),D.create(n,l+r))});let c=u.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:P.create(D.create(n,s+c+r),D.create(n,s+c+f.length+r))}),c+=f.length,o.length===4){c+=o[2].length;const d=o[3];i.push({type:"text",content:d,range:P.create(D.create(n,s+c+r),D.create(n,s+c+d.length+r))})}else i.push({type:"text",content:"",range:P.create(D.create(n,s+c+r),D.create(n,s+c+r))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:P.create(D.create(n,s+r),D.create(n,s+r+a.length))})}return i}const T_=/\S/,v_=/\s*$/;function wo(t,e){const n=t.substring(e).match(T_);return n?e+n.index:t.length}function $_(t){const e=t.match(v_);if(e&&typeof e.index=="number")return e.index}function R_(t){var e,n,r,i;const s=D.create(t.position.line,t.position.character);if(t.tokens.length===0)return new $f([],P.create(s,s));const a=[];for(;t.index<t.tokens.length;){const u=A_(t,a[a.length-1]);u&&a.push(u)}const o=(n=(e=a[0])===null||e===void 0?void 0:e.range.start)!==null&&n!==void 0?n:s,l=(i=(r=a[a.length-1])===null||r===void 0?void 0:r.range.end)!==null&&i!==void 0?i:s;return new $f(a,P.create(o,l))}function A_(t,e){const n=t.tokens[t.index];if(n.type==="tag")return ap(t,!1);if(n.type==="text"||n.type==="inline-tag")return sp(t);E_(n,e),t.index++}function E_(t,e){if(e){const n=new lp("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function sp(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(S_(t)),r=e,e=t.tokens[t.index];return new Co(i,P.create(n.range.start,r.range.end))}function S_(t){return t.tokens[t.index].type==="inline-tag"?ap(t,!0):op(t)}function ap(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if(i?.type==="text")if(e){const s=op(t);return new xa(r,new Co([s],s.range),e,P.create(n.range.start,s.range.end))}else{const s=sp(t);return new xa(r,s,e,P.create(n.range.start,s.range.end))}else{const s=n.range;return new xa(r,new Co([],s),e,s)}}function op(t){const e=t.tokens[t.index++];return new lp(e.content,e.range)}function Al(t){if(!t)return Al({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:Sa(e,!0),end:Sa(n,!1),line:Sa(r,!0)}}function Sa(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?As(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class $f{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=Rf(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=Rf(n)+i}return n.trim()}}class xa{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
118
+ ${n}`),this.inline?`{${e}}`:e}toMarkdown(e){var n,r;return(r=(n=e?.renderTag)===null||n===void 0?void 0:n.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=x_(this.name,n,e??{});if(typeof s=="string")return s}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${n}`:this.content.inlines.length>1&&(i=`${i}
119
+ ${n}`),this.inline?`{${i}}`:i}}function x_(t,e,n){var r,i;if(t==="linkplain"||t==="linkcode"||t==="link"){const s=e.indexOf(" ");let a=e;if(s>0){const l=wo(e,s);a=e.substring(l),e=e.substring(0,s)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(a=`\`${a}\``),(i=(r=n.renderLink)===null||r===void 0?void 0:r.call(n,e,a))!==null&&i!==void 0?i:I_(e,a)}}function I_(t,e){try{return Jt.parse(t,!0),`[${e}](${t})`}catch{return t}}class Co{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
120
+ `)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
121
+ `)}return n}}class lp{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Rf(t){return t.endsWith(`
122
+ `)?`
123
+ `:`
124
+
125
+ `}class w_{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&p_(n))return h_(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,n))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,n);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1,l=s.documentUri.with({fragment:`L${a},${o}`});return`[${r}](${l.toString()})`}else return}documentationTagRenderer(e,n){}findNameInPrecomputedScopes(e,n){const i=At(e).precomputedScopes;if(!i)return;let s=e;do{const o=i.get(s).find(l=>l.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class C_{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return qC(e)?e.$comment:(n=Fp(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||n===void 0?void 0:n.text}}class __{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class k_{constructor(){this.previousTokenSource=new z.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=LC();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=z.CancellationToken.None){const i=new Rl,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){Zs(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class N_{constructor(e){this.grammarElementIdMap=new mf,this.tokenTypeIdMap=new mf,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(n=>Object.assign(Object.assign({},n),{message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of hn(e))n.set(i,{});if(e.$cstNode)for(const i of Da(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,n));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ue(o)?a.push(this.dehydrateAstNode(o,n)):Ve(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else ue(s)?r[i]=this.dehydrateAstNode(s,n):Ve(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return Pf(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Pr(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Lf(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of hn(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Da(e.$cstNode)){let a;"fullText"in s?(a=new Bh(s.fullText),i=a):"content"in s?a=new vl:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ue(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):Ve(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else ue(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):Ve(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),Pr(i))for(const s of e.content){const a=this.hydrateCstNode(s,n,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new Ao(r,i,{start:{line:s,character:a},end:{line:o,character:l}},n,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const n of hn(this.grammar))Up(n)&&this.grammarElementIdMap.set(n,e++)}}function Pt(t){return{documentation:{CommentProvider:e=>new C_(e),DocumentationProvider:e=>new w_(e)},parser:{AsyncParser:e=>new __(e),GrammarConfig:e=>Nm(e),LangiumParser:e=>CC(e),CompletionParser:e=>wC(e),ValueConverter:()=>new Xh,TokenBuilder:()=>new Yh,Lexer:e=>new f_(e),ParserErrorMessageProvider:()=>new Hh,LexerErrorMessageProvider:()=>new u_},workspace:{AstNodeLocator:()=>new r_,AstNodeDescriptionProvider:e=>new t_(e),ReferenceDescriptionProvider:e=>new n_(e)},references:{Linker:e=>new FC(e),NameProvider:()=>new UC,ScopeProvider:e=>new VC(e),ScopeComputation:e=>new jC(e),References:e=>new BC(e)},serializer:{Hydrator:e=>new N_(e),JsonSerializer:e=>new YC(e)},validation:{DocumentValidator:e=>new ZC(e),ValidationRegistry:e=>new JC(e)},shared:()=>t.shared}}function Mt(t){return{ServiceRegistry:e=>new XC(e),workspace:{LangiumDocuments:e=>new DC(e),LangiumDocumentFactory:e=>new MC(e),DocumentBuilder:e=>new a_(e),IndexManager:e=>new o_(e),WorkspaceManager:e=>new l_(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new k_,ConfigurationProvider:e=>new s_(e)}}}var Af;(function(t){t.merge=(e,n)=>Ts(Ts({},e),n)})(Af||(Af={}));function ce(t,e,n,r,i,s,a,o,l){const u=[t,e,n,r,i,s,a,o,l].reduce(Ts,{});return up(u)}const b_=Symbol("isProxy");function up(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===b_?!0:Sf(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(Sf(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const Ef=Symbol();function Sf(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===Ef)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=Ef;try{t[e]=typeof i=="function"?i(r):up(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function Ts(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!==void 0){const i=t[n];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?t[n]=Ts(i,r):t[n]=r}}return t}class O_{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const Dt={fileSystemProvider:()=>new O_},L_={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},P_={AstReflection:()=>new jf};function M_(){const t=ce(Mt(Dt),P_),e=ce(Pt({shared:t}),L_);return t.ServiceRegistry.register(e),e}function on(t){var e;const n=M_(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Jt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var D_=Object.defineProperty,A=(t,e)=>D_(t,"name",{value:e,configurable:!0}),xf="Statement",Di="Architecture";function F_(t){return He.isInstance(t,Di)}A(F_,"isArchitecture");var Ri="Axis",Cr="Branch";function G_(t){return He.isInstance(t,Cr)}A(G_,"isBranch");var Ai="Checkout",Ei="CherryPicking",Ia="ClassDefStatement",_r="Commit";function U_(t){return He.isInstance(t,_r)}A(U_,"isCommit");var wa="Curve",Ca="Edge",_a="Entry",kr="GitGraph";function B_(t){return He.isInstance(t,kr)}A(B_,"isGitGraph");var ka="Group",Fi="Info";function j_(t){return He.isInstance(t,Fi)}A(j_,"isInfo");var Si="Item",Na="Junction",Nr="Merge";function K_(t){return He.isInstance(t,Nr)}A(K_,"isMerge");var ba="Option",Gi="Packet";function H_(t){return He.isInstance(t,Gi)}A(H_,"isPacket");var Ui="PacketBlock";function W_(t){return He.isInstance(t,Ui)}A(W_,"isPacketBlock");var Bi="Pie";function z_(t){return He.isInstance(t,Bi)}A(z_,"isPie");var ji="PieSection";function V_(t){return He.isInstance(t,ji)}A(V_,"isPieSection");var Oa="Radar",La="Service",Ki="Treemap";function q_(t){return He.isInstance(t,Ki)}A(q_,"isTreemap");var Pa="TreemapRow",xi="Direction",Ii="Leaf",wi="Section",gn,cp=(gn=class extends Of{getAllTypes(){return[Di,Ri,Cr,Ai,Ei,Ia,_r,wa,xi,Ca,_a,kr,ka,Fi,Si,Na,Ii,Nr,ba,Gi,Ui,Bi,ji,Oa,wi,La,xf,Ki,Pa]}computeIsSubtype(e,n){switch(e){case Cr:case Ai:case Ei:case _r:case Nr:return this.isSubtype(xf,n);case xi:return this.isSubtype(kr,n);case Ii:case wi:return this.isSubtype(Si,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;if(n==="Entry:axis")return Ri;throw new Error(`${n} is not a valid reference id.`)}getTypeMetaData(e){switch(e){case Di:return{name:Di,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Ri:return{name:Ri,properties:[{name:"label"},{name:"name"}]};case Cr:return{name:Cr,properties:[{name:"name"},{name:"order"}]};case Ai:return{name:Ai,properties:[{name:"branch"}]};case Ei:return{name:Ei,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case Ia:return{name:Ia,properties:[{name:"className"},{name:"styleText"}]};case _r:return{name:_r,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case wa:return{name:wa,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case Ca:return{name:Ca,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case _a:return{name:_a,properties:[{name:"axis"},{name:"value"}]};case kr:return{name:kr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case ka:return{name:ka,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Fi:return{name:Fi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case Si:return{name:Si,properties:[{name:"classSelector"},{name:"name"}]};case Na:return{name:Na,properties:[{name:"id"},{name:"in"}]};case Nr:return{name:Nr,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case ba:return{name:ba,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case Gi:return{name:Gi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Ui:return{name:Ui,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case Bi:return{name:Bi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case ji:return{name:ji,properties:[{name:"label"},{name:"value"}]};case Oa:return{name:Oa,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case La:return{name:La,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case Ki:return{name:Ki,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Pa:return{name:Pa,properties:[{name:"indent"},{name:"item"}]};case xi:return{name:xi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case Ii:return{name:Ii,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case wi:return{name:wi,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},A(gn,"MermaidAstReflection"),gn),He=new cp,If,Y_=A(()=>If??(If=on(`{"$type":"Grammar","isDeclared":true,"name":"Info","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":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),wf,X_=A(()=>wf??(wf=on(`{"$type":"Grammar","isDeclared":true,"name":"Packet","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),Cf,J_=A(()=>Cf??(Cf=on(`{"$type":"Grammar","isDeclared":true,"name":"Pie","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),_f,Z_=A(()=>_f??(_f=on(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),kf,Q_=A(()=>kf??(kf=on(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),Nf,ek=A(()=>Nf??(Nf=on(`{"$type":"Grammar","isDeclared":true,"name":"Radar","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),bf,tk=A(()=>bf??(bf=on(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"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@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"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]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"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@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":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$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 */"}`)),"TreemapGrammar"),nk={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},rk={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ik={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},sk={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ak={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ok={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},lk={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ln={AstReflection:A(()=>new cp,"AstReflection")},uk={Grammar:A(()=>Y_(),"Grammar"),LanguageMetaData:A(()=>nk,"LanguageMetaData"),parser:{}},ck={Grammar:A(()=>X_(),"Grammar"),LanguageMetaData:A(()=>rk,"LanguageMetaData"),parser:{}},fk={Grammar:A(()=>J_(),"Grammar"),LanguageMetaData:A(()=>ik,"LanguageMetaData"),parser:{}},dk={Grammar:A(()=>Z_(),"Grammar"),LanguageMetaData:A(()=>sk,"LanguageMetaData"),parser:{}},hk={Grammar:A(()=>Q_(),"Grammar"),LanguageMetaData:A(()=>ak,"LanguageMetaData"),parser:{}},pk={Grammar:A(()=>ek(),"Grammar"),LanguageMetaData:A(()=>ok,"LanguageMetaData"),parser:{}},mk={Grammar:A(()=>tk(),"Grammar"),LanguageMetaData:A(()=>lk,"LanguageMetaData"),parser:{}},gk=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,yk=/accTitle[\t ]*:([^\n\r]*)/,Tk=/title([\t ][^\n\r]*|)/,vk={ACC_DESCR:gk,ACC_TITLE:yk,TITLE:Tk},yn,Qs=(yn=class extends Xh{runConverter(e,n,r){let i=this.runCommonConverter(e,n,r);return i===void 0&&(i=this.runCustomConverter(e,n,r)),i===void 0?super.runConverter(e,n,r):i}runCommonConverter(e,n,r){const i=vk[e.name];if(i===void 0)return;const s=i.exec(n);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
126
+ `)}}},A(yn,"AbstractMermaidValueConverter"),yn),Tn,ea=(Tn=class extends Qs{runCustomConverter(e,n,r){}},A(Tn,"CommonValueConverter"),Tn),vn,Ft=(vn=class extends Yh{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,n,r){const i=super.buildKeywordTokens(e,n,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},A(vn,"AbstractMermaidTokenBuilder"),vn),$n;$n=class extends Ft{},A($n,"CommonTokenBuilder");var Rn,$k=(Rn=class extends Ft{constructor(){super(["gitGraph"])}},A(Rn,"GitGraphTokenBuilder"),Rn),fp={parser:{TokenBuilder:A(()=>new $k,"TokenBuilder"),ValueConverter:A(()=>new ea,"ValueConverter")}};function dp(t=Dt){const e=ce(Mt(t),ln),n=ce(Pt({shared:e}),hk,fp);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}A(dp,"createGitGraphServices");var An,Rk=(An=class extends Ft{constructor(){super(["info","showInfo"])}},A(An,"InfoTokenBuilder"),An),hp={parser:{TokenBuilder:A(()=>new Rk,"TokenBuilder"),ValueConverter:A(()=>new ea,"ValueConverter")}};function pp(t=Dt){const e=ce(Mt(t),ln),n=ce(Pt({shared:e}),uk,hp);return e.ServiceRegistry.register(n),{shared:e,Info:n}}A(pp,"createInfoServices");var En,Ak=(En=class extends Ft{constructor(){super(["packet"])}},A(En,"PacketTokenBuilder"),En),mp={parser:{TokenBuilder:A(()=>new Ak,"TokenBuilder"),ValueConverter:A(()=>new ea,"ValueConverter")}};function gp(t=Dt){const e=ce(Mt(t),ln),n=ce(Pt({shared:e}),ck,mp);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}A(gp,"createPacketServices");var Sn,Ek=(Sn=class extends Ft{constructor(){super(["pie","showData"])}},A(Sn,"PieTokenBuilder"),Sn),xn,Sk=(xn=class extends Qs{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},A(xn,"PieValueConverter"),xn),yp={parser:{TokenBuilder:A(()=>new Ek,"TokenBuilder"),ValueConverter:A(()=>new Sk,"ValueConverter")}};function Tp(t=Dt){const e=ce(Mt(t),ln),n=ce(Pt({shared:e}),fk,yp);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}A(Tp,"createPieServices");var In,xk=(In=class extends Ft{constructor(){super(["architecture"])}},A(In,"ArchitectureTokenBuilder"),In),wn,Ik=(wn=class extends Qs{runCustomConverter(e,n,r){if(e.name==="ARCH_ICON")return n.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return n.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return n.replace(/[[\]]/g,"").trim()}},A(wn,"ArchitectureValueConverter"),wn),vp={parser:{TokenBuilder:A(()=>new xk,"TokenBuilder"),ValueConverter:A(()=>new Ik,"ValueConverter")}};function $p(t=Dt){const e=ce(Mt(t),ln),n=ce(Pt({shared:e}),dk,vp);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}A($p,"createArchitectureServices");var Cn,wk=(Cn=class extends Ft{constructor(){super(["radar-beta"])}},A(Cn,"RadarTokenBuilder"),Cn),Rp={parser:{TokenBuilder:A(()=>new wk,"TokenBuilder"),ValueConverter:A(()=>new ea,"ValueConverter")}};function Ap(t=Dt){const e=ce(Mt(t),ln),n=ce(Pt({shared:e}),pk,Rp);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}A(Ap,"createRadarServices");var _n,Ck=(_n=class extends Ft{constructor(){super(["treemap"])}},A(_n,"TreemapTokenBuilder"),_n),_k=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,kn,kk=(kn=class extends Qs{runCustomConverter(e,n,r){if(e.name==="NUMBER2")return parseFloat(n.replace(/,/g,""));if(e.name==="SEPARATOR")return n.substring(1,n.length-1);if(e.name==="STRING2")return n.substring(1,n.length-1);if(e.name==="INDENTATION")return n.length;if(e.name==="ClassDef"){if(typeof n!="string")return n;const i=_k.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},A(kn,"TreemapValueConverter"),kn);function Ep(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}A(Ep,"registerValidationChecks");var Nn,Nk=(Nn=class{checkSingleRoot(e,n){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},A(Nn,"TreemapValidator"),Nn),Sp={parser:{TokenBuilder:A(()=>new Ck,"TokenBuilder"),ValueConverter:A(()=>new kk,"ValueConverter")},validation:{TreemapValidator:A(()=>new Nk,"TreemapValidator")}};function xp(t=Dt){const e=ce(Mt(t),ln),n=ce(Pt({shared:e}),mk,Sp);return e.ServiceRegistry.register(n),Ep(n),{shared:e,Treemap:n}}A(xp,"createTreemapServices");var st={},bk={info:A(async()=>{const{createInfoServices:t}=await Promise.resolve().then(()=>require("./info-NVLQJR56-BpKxONZx.js")),e=t().Info.parser.LangiumParser;st.info=e},"info"),packet:A(async()=>{const{createPacketServices:t}=await Promise.resolve().then(()=>require("./packet-BFZMPI3H-C9xcJQVN.js")),e=t().Packet.parser.LangiumParser;st.packet=e},"packet"),pie:A(async()=>{const{createPieServices:t}=await Promise.resolve().then(()=>require("./pie-7BOR55EZ-Bz_jfTd_.js")),e=t().Pie.parser.LangiumParser;st.pie=e},"pie"),architecture:A(async()=>{const{createArchitectureServices:t}=await Promise.resolve().then(()=>require("./architecture-U656AL7Q-CLYqYgyv.js")),e=t().Architecture.parser.LangiumParser;st.architecture=e},"architecture"),gitGraph:A(async()=>{const{createGitGraphServices:t}=await Promise.resolve().then(()=>require("./gitGraph-F6HP7TQM-DVfckSNX.js")),e=t().GitGraph.parser.LangiumParser;st.gitGraph=e},"gitGraph"),radar:A(async()=>{const{createRadarServices:t}=await Promise.resolve().then(()=>require("./radar-NHE76QYJ-DI4PJJjm.js")),e=t().Radar.parser.LangiumParser;st.radar=e},"radar"),treemap:A(async()=>{const{createTreemapServices:t}=await Promise.resolve().then(()=>require("./treemap-KMMF4GRG-qP0VzKwW.js")),e=t().Treemap.parser.LangiumParser;st.treemap=e},"treemap")};async function Ip(t,e){const n=bk[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);st[t]||await n();const i=st[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new Ok(i);return i.value}A(Ip,"parse");var bn,Ok=(bn=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
127
+ `),r=e.parserErrors.map(i=>i.message).join(`
128
+ `);super(`Parsing failed: ${n} ${r}`),this.result=e}},A(bn,"MermaidParseError"),bn);exports.ArchitectureModule=vp;exports.GitGraphModule=fp;exports.InfoModule=hp;exports.PacketModule=mp;exports.PieModule=yp;exports.RadarModule=Rp;exports.TreemapModule=Sp;exports.createArchitectureServices=$p;exports.createGitGraphServices=dp;exports.createInfoServices=pp;exports.createPacketServices=gp;exports.createPieServices=Tp;exports.createRadarServices=Ap;exports.createTreemapServices=xp;exports.parse=Ip;