@epic-web/workshop-app 5.22.4 → 5.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/build/client/assets/{_-CHaVBRQw.js → _-BaHOmd8F.js} +2 -2
  2. package/build/client/assets/{_-CHaVBRQw.js.map → _-BaHOmd8F.js.map} +1 -1
  3. package/build/client/assets/_basePickBy-B3Ji82Lk.js +2 -0
  4. package/build/client/assets/_basePickBy-B3Ji82Lk.js.map +1 -0
  5. package/build/client/assets/_baseUniq-BoGoqSUm.js +2 -0
  6. package/build/client/assets/_baseUniq-BoGoqSUm.js.map +1 -0
  7. package/build/client/assets/{_exerciseNumber-3uq8PYSd.js → _exerciseNumber-DtILU6SM.js} +2 -2
  8. package/build/client/assets/{_exerciseNumber-3uq8PYSd.js.map → _exerciseNumber-DtILU6SM.js.map} +1 -1
  9. package/build/client/assets/{_exerciseNumber_._stepNumber-D5VDI7vZ.js → _exerciseNumber_._stepNumber-DoOFEk-P.js} +2 -2
  10. package/build/client/assets/{_exerciseNumber_._stepNumber-D5VDI7vZ.js.map → _exerciseNumber_._stepNumber-DoOFEk-P.js.map} +1 -1
  11. package/build/client/assets/{_exerciseNumber_.finished-3Iv9ikNq.js → _exerciseNumber_.finished-CEK9anWX.js} +2 -2
  12. package/build/client/assets/{_exerciseNumber_.finished-3Iv9ikNq.js.map → _exerciseNumber_.finished-CEK9anWX.js.map} +1 -1
  13. package/build/client/assets/{_layout-DV29dlKr.js → _layout-B_BIIcpM.js} +2 -2
  14. package/build/client/assets/{_layout-DV29dlKr.js.map → _layout-B_BIIcpM.js.map} +1 -1
  15. package/build/client/assets/_layout-D1r_62oj.js +6 -0
  16. package/build/client/assets/_layout-D1r_62oj.js.map +1 -0
  17. package/build/client/assets/{_layout-CwTidn3v.js → _layout-D7_F6t3x.js} +2 -2
  18. package/build/client/assets/{_layout-CwTidn3v.js.map → _layout-D7_F6t3x.js.map} +1 -1
  19. package/build/client/assets/_layout-DzlTTMQ0.js +2 -0
  20. package/build/client/assets/_layout-DzlTTMQ0.js.map +1 -0
  21. package/build/client/assets/accordion-CpiLc1m2.js +2 -0
  22. package/build/client/assets/accordion-CpiLc1m2.js.map +1 -0
  23. package/build/client/assets/{account-CN4B8rm4.js → account-CbFDiVNd.js} +2 -2
  24. package/build/client/assets/{account-CN4B8rm4.js.map → account-CbFDiVNd.js.map} +1 -1
  25. package/build/client/assets/app-CQvK51s0.js +2 -0
  26. package/build/client/assets/{app-lUkT_xku.js.map → app-CQvK51s0.js.map} +1 -1
  27. package/build/client/assets/{app-DGPT3Jy6.css → app-DSmkkXO5.css} +1 -1
  28. package/build/client/assets/arc-rF8TbXNV.js +2 -0
  29. package/build/client/assets/arc-rF8TbXNV.js.map +1 -0
  30. package/build/client/assets/architectureDiagram-IEHRJDOE-D7gCCmY9.js +37 -0
  31. package/build/client/assets/architectureDiagram-IEHRJDOE-D7gCCmY9.js.map +1 -0
  32. package/build/client/assets/blockDiagram-JOT3LUYC-yGQOzhkw.js +122 -0
  33. package/build/client/assets/blockDiagram-JOT3LUYC-yGQOzhkw.js.map +1 -0
  34. package/build/client/assets/{button-ChOzbirS.js → button-Dt4EcDfR.js} +2 -2
  35. package/build/client/assets/{button-ChOzbirS.js.map → button-Dt4EcDfR.js.map} +1 -1
  36. package/build/client/assets/c4Diagram-VJAJSXHY-CTFjYF37.js +11 -0
  37. package/build/client/assets/c4Diagram-VJAJSXHY-CTFjYF37.js.map +1 -0
  38. package/build/client/assets/channel-5s71-OE9.js +2 -0
  39. package/build/client/assets/channel-5s71-OE9.js.map +1 -0
  40. package/build/client/assets/chunk-4BMEZGHF-BIe0IUDz.js +2 -0
  41. package/build/client/assets/chunk-4BMEZGHF-BIe0IUDz.js.map +1 -0
  42. package/build/client/assets/chunk-A2AXSNBT-B-nCbUBj.js +165 -0
  43. package/build/client/assets/chunk-A2AXSNBT-B-nCbUBj.js.map +1 -0
  44. package/build/client/assets/chunk-AEK57VVT-B-cCHPs2.js +221 -0
  45. package/build/client/assets/chunk-AEK57VVT-B-cCHPs2.js.map +1 -0
  46. package/build/client/assets/chunk-D6G4REZN-EQ3R8OZx.js +2 -0
  47. package/build/client/assets/chunk-D6G4REZN-EQ3R8OZx.js.map +1 -0
  48. package/build/client/assets/chunk-RZ5BOZE2-h6svq8Xk.js +2 -0
  49. package/build/client/assets/chunk-RZ5BOZE2-h6svq8Xk.js.map +1 -0
  50. package/build/client/assets/chunk-XZIHB7SX-74-HFRcU.js +2 -0
  51. package/build/client/assets/chunk-XZIHB7SX-74-HFRcU.js.map +1 -0
  52. package/build/client/assets/classDiagram-GIVACNV2-CWogZCzR.js +2 -0
  53. package/build/client/assets/classDiagram-GIVACNV2-CWogZCzR.js.map +1 -0
  54. package/build/client/assets/classDiagram-v2-COTLJTTW-CWogZCzR.js +2 -0
  55. package/build/client/assets/classDiagram-v2-COTLJTTW-CWogZCzR.js.map +1 -0
  56. package/build/client/assets/clone-nHZ14b_E.js +2 -0
  57. package/build/client/assets/clone-nHZ14b_E.js.map +1 -0
  58. package/build/client/assets/{components-DrvY4pal.js → components-5arJTWsS.js} +5 -5
  59. package/build/client/assets/{components-DrvY4pal.js.map → components-5arJTWsS.js.map} +1 -1
  60. package/build/client/assets/cytoscape.esm-BY7v1xhs.js +332 -0
  61. package/build/client/assets/cytoscape.esm-BY7v1xhs.js.map +1 -0
  62. package/build/client/assets/dagre-OKDRZEBW-Bq-HgVN8.js +5 -0
  63. package/build/client/assets/dagre-OKDRZEBW-Bq-HgVN8.js.map +1 -0
  64. package/build/client/assets/diagram-SSKATNLV-Cls675Lh.js +44 -0
  65. package/build/client/assets/diagram-SSKATNLV-Cls675Lh.js.map +1 -0
  66. package/build/client/assets/diagram-VNBRO52H-CJDqBhLa.js +25 -0
  67. package/build/client/assets/diagram-VNBRO52H-CJDqBhLa.js.map +1 -0
  68. package/build/client/assets/diff-8N5KyD7o.js +2 -0
  69. package/build/client/assets/{diff-CVrsnWqw.js.map → diff-8N5KyD7o.js.map} +1 -1
  70. package/build/client/assets/{diff-CTHVtVGQ.js → diff-Bu4t2NGL.js} +2 -2
  71. package/build/client/assets/{diff-CTHVtVGQ.js.map → diff-Bu4t2NGL.js.map} +1 -1
  72. package/build/client/assets/{discord-gROK6Zn6.js → discord-BU7RzE6-.js} +2 -2
  73. package/build/client/assets/{discord-gROK6Zn6.js.map → discord-BU7RzE6-.js.map} +1 -1
  74. package/build/client/assets/discord-ut4t-aMQ.js +2 -0
  75. package/build/client/assets/discord-ut4t-aMQ.js.map +1 -0
  76. package/build/client/assets/entry.client-BLUlgPHE.js +44 -0
  77. package/build/client/assets/{entry.client-CQusg5Iz.js.map → entry.client-BLUlgPHE.js.map} +1 -1
  78. package/build/client/assets/epic-video-DN9DRRHf.js +3206 -0
  79. package/build/client/assets/epic-video-DN9DRRHf.js.map +1 -0
  80. package/build/client/assets/erDiagram-Q7BY3M3F-DdKn4jVQ.js +61 -0
  81. package/build/client/assets/erDiagram-Q7BY3M3F-DdKn4jVQ.js.map +1 -0
  82. package/build/client/assets/{error-boundary-CAu3AmhN.js → error-boundary-B07cWiEy.js} +2 -2
  83. package/build/client/assets/{error-boundary-CAu3AmhN.js.map → error-boundary-B07cWiEy.js.map} +1 -1
  84. package/build/client/assets/{finished-9PhQncNF.js → finished-B3G1RUDO.js} +2 -2
  85. package/build/client/assets/{finished-9PhQncNF.js.map → finished-B3G1RUDO.js.map} +1 -1
  86. package/build/client/assets/flowDiagram-4HSFHLVR-5Mg796nh.js +162 -0
  87. package/build/client/assets/flowDiagram-4HSFHLVR-5Mg796nh.js.map +1 -0
  88. package/build/client/assets/ganttDiagram-APWFNJXF-YO2fxWzG.js +258 -0
  89. package/build/client/assets/ganttDiagram-APWFNJXF-YO2fxWzG.js.map +1 -0
  90. package/build/client/assets/gitGraphDiagram-7IBYFJ6S-DQCZvhP_.js +66 -0
  91. package/build/client/assets/gitGraphDiagram-7IBYFJ6S-DQCZvhP_.js.map +1 -0
  92. package/build/client/assets/graph-BFAO9Sgp.js +2 -0
  93. package/build/client/assets/graph-BFAO9Sgp.js.map +1 -0
  94. package/build/client/assets/{index-egcHQOpF.js → index-B8yUFowV.js} +2 -2
  95. package/build/client/assets/{index-egcHQOpF.js.map → index-B8yUFowV.js.map} +1 -1
  96. package/build/client/assets/{index-qo6WmPUa.js → index-BfCSiT_X.js} +2 -2
  97. package/build/client/assets/{index-qo6WmPUa.js.map → index-BfCSiT_X.js.map} +1 -1
  98. package/build/client/assets/index-BmMpCvYx.js +2 -0
  99. package/build/client/assets/index-BmMpCvYx.js.map +1 -0
  100. package/build/client/assets/index-CEP3Xxa0.js +36 -0
  101. package/build/client/assets/index-CEP3Xxa0.js.map +1 -0
  102. package/build/client/assets/index-Dkt2MSig.js +2 -0
  103. package/build/client/assets/index-Dkt2MSig.js.map +1 -0
  104. package/build/client/assets/index-Do-KWT0a.js +42 -0
  105. package/build/client/assets/index-Do-KWT0a.js.map +1 -0
  106. package/build/client/assets/index-Dsusf_Av.js +38 -0
  107. package/build/client/assets/{index-CGzylDPY.js.map → index-Dsusf_Av.js.map} +1 -1
  108. package/build/client/assets/index-DvQyydjU.js +3 -0
  109. package/build/client/assets/index-DvQyydjU.js.map +1 -0
  110. package/build/client/assets/{index-CYZfnGWa.js → index-Fw2eA3AF.js} +2 -2
  111. package/build/client/assets/{index-CYZfnGWa.js.map → index-Fw2eA3AF.js.map} +1 -1
  112. package/build/client/assets/infoDiagram-PH2N3AL5-x87RxSs8.js +3 -0
  113. package/build/client/assets/infoDiagram-PH2N3AL5-x87RxSs8.js.map +1 -0
  114. package/build/client/assets/init-Gi6I4Gst.js +2 -0
  115. package/build/client/assets/init-Gi6I4Gst.js.map +1 -0
  116. package/build/client/assets/journeyDiagram-U35MCT3I-D5yGbOLJ.js +139 -0
  117. package/build/client/assets/journeyDiagram-U35MCT3I-D5yGbOLJ.js.map +1 -0
  118. package/build/client/assets/kanban-definition-NDS4AKOZ-BM6KyRww.js +89 -0
  119. package/build/client/assets/kanban-definition-NDS4AKOZ-BM6KyRww.js.map +1 -0
  120. package/build/client/assets/katex-ChWnQ-fc.js +262 -0
  121. package/build/client/assets/katex-ChWnQ-fc.js.map +1 -0
  122. package/build/client/assets/layout-qCiM2Jgn.js +2 -0
  123. package/build/client/assets/layout-qCiM2Jgn.js.map +1 -0
  124. package/build/client/assets/linear-B3zp51yW.js +2 -0
  125. package/build/client/assets/linear-B3zp51yW.js.map +1 -0
  126. package/build/client/assets/{loading-CPEkK5hO.js → loading-BPTYJOXN.js} +2 -2
  127. package/build/client/assets/{loading-CPEkK5hO.js.map → loading-BPTYJOXN.js.map} +1 -1
  128. package/build/client/assets/login-CfyUfm-m.js +2 -0
  129. package/build/client/assets/{login-C9JmYc0v.js.map → login-CfyUfm-m.js.map} +1 -1
  130. package/build/client/assets/{manifest-4acdd3e2.js → manifest-fe4b7228.js} +1 -1
  131. package/build/client/assets/mdx-Dfsh6Vjk.js +3 -0
  132. package/build/client/assets/mdx-Dfsh6Vjk.js.map +1 -0
  133. package/build/client/assets/mermaid.core-ZaxoMXOj.js +214 -0
  134. package/build/client/assets/mermaid.core-ZaxoMXOj.js.map +1 -0
  135. package/build/client/assets/mindmap-definition-ALO5MXBD-CF3siXp6.js +96 -0
  136. package/build/client/assets/mindmap-definition-ALO5MXBD-CF3siXp6.js.map +1 -0
  137. package/build/client/assets/misc-2sBiisF5.js +2 -0
  138. package/build/client/assets/misc-2sBiisF5.js.map +1 -0
  139. package/build/client/assets/{nav-chevrons-DCuva9-Q.js → nav-chevrons-CV-dpXNR.js} +2 -2
  140. package/build/client/assets/{nav-chevrons-DCuva9-Q.js.map → nav-chevrons-CV-dpXNR.js.map} +1 -1
  141. package/build/client/assets/{onboarding-DzfDHJg_.js → onboarding-5LC4kIVW.js} +2 -2
  142. package/build/client/assets/{onboarding-DzfDHJg_.js.map → onboarding-5LC4kIVW.js.map} +1 -1
  143. package/build/client/assets/{online-BsTX44az.js → online-IWqRB9zP.js} +2 -2
  144. package/build/client/assets/{online-BsTX44az.js.map → online-IWqRB9zP.js.map} +1 -1
  145. package/build/client/assets/ordinal-Cboi1Yqb.js +2 -0
  146. package/build/client/assets/ordinal-Cboi1Yqb.js.map +1 -0
  147. package/build/client/assets/{pe-DXT2FOp1.js → pe-BShc2dvc.js} +2 -2
  148. package/build/client/assets/{pe-DXT2FOp1.js.map → pe-BShc2dvc.js.map} +1 -1
  149. package/build/client/assets/pieDiagram-IB7DONF6-B-gWQIHI.js +31 -0
  150. package/build/client/assets/pieDiagram-IB7DONF6-B-gWQIHI.js.map +1 -0
  151. package/build/client/assets/{preferences-BYBJKp8k.js → preferences-BkWQyRCq.js} +2 -2
  152. package/build/client/assets/{preferences-BYBJKp8k.js.map → preferences-BkWQyRCq.js.map} +1 -1
  153. package/build/client/assets/presence-BAL3jDku.js +28 -0
  154. package/build/client/assets/presence-BAL3jDku.js.map +1 -0
  155. package/build/client/assets/preview-D4amucCL.js +2 -0
  156. package/build/client/assets/{preview-DaTpH6lj.js.map → preview-D4amucCL.js.map} +1 -1
  157. package/build/client/assets/{product-BKhLQKd7.js → product-Cyum2biy.js} +2 -2
  158. package/build/client/assets/{product-BKhLQKd7.js.map → product-Cyum2biy.js.map} +1 -1
  159. package/build/client/assets/progress-BJ4ADF-s.js +2 -0
  160. package/build/client/assets/progress-BJ4ADF-s.js.map +1 -0
  161. package/build/client/assets/{progress-bar-ZCHf2Y4W.js → progress-bar-DgnkQxQw.js} +2 -2
  162. package/build/client/assets/{progress-bar-ZCHf2Y4W.js.map → progress-bar-DgnkQxQw.js.map} +1 -1
  163. package/build/client/assets/quadrantDiagram-7GDLP6J5-BQzo7p61.js +8 -0
  164. package/build/client/assets/quadrantDiagram-7GDLP6J5-BQzo7p61.js.map +1 -0
  165. package/build/client/assets/radar-MK3ICKWK-CM-Iz9PA.js +129 -0
  166. package/build/client/assets/radar-MK3ICKWK-CM-Iz9PA.js.map +1 -0
  167. package/build/client/assets/requirementDiagram-KVF5MWMF-DzaHc66R.js +65 -0
  168. package/build/client/assets/requirementDiagram-KVF5MWMF-DzaHc66R.js.map +1 -0
  169. package/build/client/assets/revalidation-ws-ho-umDqd.js +2 -0
  170. package/build/client/assets/{revalidation-ws-BoJZTvOQ.js.map → revalidation-ws-ho-umDqd.js.map} +1 -1
  171. package/build/client/assets/{root-4MvCzrFd.js → root-tJmOmO9T.js} +3 -3
  172. package/build/client/assets/{root-4MvCzrFd.js.map → root-tJmOmO9T.js.map} +1 -1
  173. package/build/client/assets/sankeyDiagram-QLVOVGJD-DfAVeZCk.js +11 -0
  174. package/build/client/assets/sankeyDiagram-QLVOVGJD-DfAVeZCk.js.map +1 -0
  175. package/build/client/assets/sequenceDiagram-X6HHIX6F-CljZRLoS.js +123 -0
  176. package/build/client/assets/sequenceDiagram-X6HHIX6F-CljZRLoS.js.map +1 -0
  177. package/build/client/assets/{set-playground-IUJCGVu2.js → set-playground-DW2Ys-rV.js} +2 -2
  178. package/build/client/assets/{set-playground-IUJCGVu2.js.map → set-playground-DW2Ys-rV.js.map} +1 -1
  179. package/build/client/assets/stateDiagram-DGXRK772-BzVfGv3W.js +2 -0
  180. package/build/client/assets/stateDiagram-DGXRK772-BzVfGv3W.js.map +1 -0
  181. package/build/client/assets/stateDiagram-v2-YXO3MK2T-8oX001yq.js +2 -0
  182. package/build/client/assets/stateDiagram-v2-YXO3MK2T-8oX001yq.js.map +1 -0
  183. package/build/client/assets/{support-CW3-Iilk.js → support-Bg0iSyle.js} +2 -2
  184. package/build/client/assets/{support-CW3-Iilk.js.map → support-Bg0iSyle.js.map} +1 -1
  185. package/build/client/assets/tailwind-DtnE_2an.css +1 -0
  186. package/build/client/assets/test-C14D-N72.js +2 -0
  187. package/build/client/assets/{test-B8jDo0X4.js.map → test-C14D-N72.js.map} +1 -1
  188. package/build/client/assets/tests-6__AtHpI.js +4 -0
  189. package/build/client/assets/{tests-y-atkhWB.js.map → tests-6__AtHpI.js.map} +1 -1
  190. package/build/client/assets/timeline-definition-BDJGKUSR-2TO9MtLY.js +62 -0
  191. package/build/client/assets/timeline-definition-BDJGKUSR-2TO9MtLY.js.map +1 -0
  192. package/build/client/assets/tooltip-Bzd6O8vq.js +2 -0
  193. package/build/client/assets/tooltip-Bzd6O8vq.js.map +1 -0
  194. package/build/client/assets/{use-event-source-AZJtQsFX.js → use-event-source-Dar8h_B8.js} +2 -2
  195. package/build/client/assets/{use-event-source-AZJtQsFX.js.map → use-event-source-Dar8h_B8.js.map} +1 -1
  196. package/build/client/assets/{user-C0j04V55.js → user-DNSnhqGn.js} +2 -2
  197. package/build/client/assets/{user-C0j04V55.js.map → user-DNSnhqGn.js.map} +1 -1
  198. package/build/client/assets/{version-D61Qvt0X.js → version-DriSvNMy.js} +2 -2
  199. package/build/client/assets/{version-D61Qvt0X.js.map → version-DriSvNMy.js.map} +1 -1
  200. package/build/client/assets/{workshop-config-oL_FWDKq.js → workshop-config-DchzGYJM.js} +2 -2
  201. package/build/client/assets/{workshop-config-oL_FWDKq.js.map → workshop-config-DchzGYJM.js.map} +1 -1
  202. package/build/client/assets/xychartDiagram-VJFVF3MP-Dh4nsbBT.js +8 -0
  203. package/build/client/assets/xychartDiagram-VJFVF3MP-Dh4nsbBT.js.map +1 -0
  204. package/build/server/index.js +50 -58
  205. package/build/server/index.js.map +1 -1
  206. package/dist/server/index.js +6 -0
  207. package/package.json +6 -5
  208. package/build/client/assets/_layout-Brb3LPqZ.js +0 -5
  209. package/build/client/assets/_layout-Brb3LPqZ.js.map +0 -1
  210. package/build/client/assets/_layout-CkabS-6c.js +0 -9
  211. package/build/client/assets/_layout-CkabS-6c.js.map +0 -1
  212. package/build/client/assets/accordion-BjQ-5Z44.js +0 -2
  213. package/build/client/assets/accordion-BjQ-5Z44.js.map +0 -1
  214. package/build/client/assets/app-lUkT_xku.js +0 -2
  215. package/build/client/assets/diff-CVrsnWqw.js +0 -2
  216. package/build/client/assets/discord-Cl4hiMqz.js +0 -2
  217. package/build/client/assets/discord-Cl4hiMqz.js.map +0 -1
  218. package/build/client/assets/entry.client-CQusg5Iz.js +0 -44
  219. package/build/client/assets/epic-video-BQtjG_Y0.js +0 -3053
  220. package/build/client/assets/epic-video-BQtjG_Y0.js.map +0 -1
  221. package/build/client/assets/index-BncqUVfr.js +0 -39
  222. package/build/client/assets/index-BncqUVfr.js.map +0 -1
  223. package/build/client/assets/index-CB8bjE90.js +0 -3
  224. package/build/client/assets/index-CB8bjE90.js.map +0 -1
  225. package/build/client/assets/index-CGzylDPY.js +0 -38
  226. package/build/client/assets/index-CMYl882D.js +0 -36
  227. package/build/client/assets/index-CMYl882D.js.map +0 -1
  228. package/build/client/assets/index-CSGHuBiw.js +0 -5
  229. package/build/client/assets/index-CSGHuBiw.js.map +0 -1
  230. package/build/client/assets/index-mZJ8sz9i.js +0 -2
  231. package/build/client/assets/index-mZJ8sz9i.js.map +0 -1
  232. package/build/client/assets/login-C9JmYc0v.js +0 -2
  233. package/build/client/assets/mdx-CnaWQCDw.js +0 -2
  234. package/build/client/assets/mdx-CnaWQCDw.js.map +0 -1
  235. package/build/client/assets/misc-CQmANiHr.js +0 -2
  236. package/build/client/assets/misc-CQmANiHr.js.map +0 -1
  237. package/build/client/assets/presence-D5UF-NOM.js +0 -28
  238. package/build/client/assets/presence-D5UF-NOM.js.map +0 -1
  239. package/build/client/assets/preview-DaTpH6lj.js +0 -2
  240. package/build/client/assets/progress-DwE8EkAa.js +0 -2
  241. package/build/client/assets/progress-DwE8EkAa.js.map +0 -1
  242. package/build/client/assets/revalidation-ws-BoJZTvOQ.js +0 -2
  243. package/build/client/assets/tailwind-O9k3JIDs.css +0 -1
  244. package/build/client/assets/test-B8jDo0X4.js +0 -2
  245. package/build/client/assets/tests-y-atkhWB.js +0 -4
  246. package/build/client/assets/tooltip-Cd0yJoQb.js +0 -2
  247. package/build/client/assets/tooltip-Cd0yJoQb.js.map +0 -1
  248. /package/build/client/assets/{epic-video-DUnRvy1A.css → epic-video-D2Xftn6t.css} +0 -0
@@ -0,0 +1,129 @@
1
+ var Su=Object.defineProperty;var xu=(n,e,t)=>e in n?Su(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Qe=(n,e,t)=>xu(n,typeof e!="symbol"?e+"":e,t);import{_ as St}from"./mdx-Dfsh6Vjk.js";import{bw as Iu,bx as $u,aN as Al,bg as Cu,aR as Nu,aO as ee,aq as wu,ar as ma,b6 as _u,b9 as El,ba as kl,b7 as Lu,bl as ga,at as gt,au as D,aP as ya,aJ as Ou}from"./mermaid.core-ZaxoMXOj.js";import{k as jt,j as Ds,g as Qt,S as bu,w as Pu,x as Mu,c as Sl,v as z,y as xl,l as Du,z as Fu,A as Gu,B as Uu,C as Bu,a as Il,d as C,i as qe,r as oe,f as Se,D as Y}from"./_baseUniq-BoGoqSUm.js";import{j as Fs,m as x,d as Vu,f as Ne,g as Kt,h as N,i as Gs,l as Ht,e as Wu}from"./_basePickBy-B3Ji82Lk.js";import{c as ne}from"./clone-nHZ14b_E.js";var ju=Object.prototype,Ku=ju.hasOwnProperty,ke=Iu(function(n,e){if($u(e)||Al(e)){Cu(e,jt(e),n);return}for(var t in e)Ku.call(e,t)&&Nu(n,t,e[t])});function $l(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=n[r+e];return s}function Jn(n){for(var e=-1,t=n==null?0:n.length,r=0,i=[];++e<t;){var s=n[e];s&&(i[r++]=s)}return i}function Hu(n,e,t,r){for(var i=-1,s=n==null?0:n.length;++i<s;){var a=n[i];e(r,a,t(a),n)}return r}function zu(n,e,t,r){return Ds(n,function(i,s,a){e(r,i,t(i),a)}),r}function qu(n,e){return function(t,r){var i=ee(t)?Hu:zu,s=e?e():{};return i(t,n,Qt(r),s)}}var Yu=200;function Xu(n,e,t,r){var i=-1,s=Pu,a=!0,o=n.length,l=[],c=e.length;if(!o)return l;e.length>=Yu&&(s=Mu,a=!1,e=new bu(e));e:for(;++i<o;){var u=n[i],d=u;if(u=u!==0?u:0,a&&d===d){for(var h=c;h--;)if(e[h]===d)continue e;l.push(u)}else s(e,d,r)||l.push(u)}return l}var li=wu(function(n,e){return ma(n)?Xu(n,Sl(e,1,ma,!0)):[]});function J(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Fs(e),$l(n,e<0?0:e,r)):[]}function Hn(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Fs(e),e=r-e,$l(n,0,e<0?0:e)):[]}function Ju(n,e){for(var t=-1,r=n==null?0:n.length;++t<r;)if(!e(n[t],t,n))return!1;return!0}function Qu(n,e){var t=!0;return Ds(n,function(r,i,s){return t=!!e(r,i,s),t}),t}function be(n,e,t){var r=ee(n)?Ju:Qu;return r(n,Qt(e))}function Pe(n){return n&&n.length?n[0]:void 0}function Ee(n,e){return Sl(x(n,e))}var Zu=Object.prototype,ed=Zu.hasOwnProperty,td=qu(function(n,e,t){ed.call(n,t)?n[t].push(e):_u(n,t,[e])}),nd="[object String]";function fe(n){return typeof n=="string"||!ee(n)&&El(n)&&kl(n)==nd}var rd=Math.max;function ue(n,e,t,r){n=Al(n)?n:z(n),t=t?Fs(t):0;var i=n.length;return t<0&&(t=rd(i+t,0)),fe(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&xl(n,e,t)>-1}function Ta(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return xl(n,e,i)}var id="[object RegExp]";function sd(n){return El(n)&&kl(n)==id}var va=ga&&ga.isRegExp,Ye=va?Lu(va):sd,ad="Expected a function";function od(n){if(typeof n!="function")throw new TypeError(ad);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Me(n,e){if(n==null)return{};var t=Du(Fu(n),function(r){return[r]});return e=Qt(e),Vu(n,t,function(r,i){return e(r,i[0])})}function ci(n,e){var t=ee(n)?Gu:Uu;return t(n,od(Qt(e)))}function ld(n,e){var t;return Ds(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function Cl(n,e,t){var r=ee(n)?Bu:ld;return r(n,Qt(e))}function Us(n){return n&&n.length?Il(n):[]}function cd(n,e){return n&&n.length?Il(n,Qt(e)):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ue(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function ud(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function kr(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ue(n.reference)&&typeof n.message=="string"}class Nl{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function zn(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function wl(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function _l(n){return zn(n)&&typeof n.fullText=="string"}class Q{constructor(e,t){this.startFn=e,this.nextFn=t}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 t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Q(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let r;if(!t.firstDone){do if(r=this.nextFn(t.first),!r.done)return r;while(!r.done);t.firstDone=!0}do if(r=t.iterator.next(),!r.done)return r;while(!r.done);return Re})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=dd(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new Q(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?Re:{done:!1,value:e(i)}})}filter(e){return new Q(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return Re})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new Q(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if(Fr(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return Re})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new Q(()=>({this:t.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}=t.nextFn(r.this);if(!i)if(Fr(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Re})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new Q(()=>{const t=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(t).done)return t;return t},this.nextFn)}limit(e){return new Q(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?Re:this.nextFn(t.state)))}distinct(e){return new Q(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(r=this.nextFn(t.internalState),!r.done){const i=e?e(r.value):r.value;if(!t.set.has(i))return t.set.add(i),r}while(!r.done);return Re})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function dd(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function Fr(n){return!!n&&typeof n[Symbol.iterator]=="function"}const fd=new Q(()=>{},()=>Re),Re=Object.freeze({done:!0,value:void 0});function Z(...n){if(n.length===1){const e=n[0];if(e instanceof Q)return e;if(Fr(e))return new Q(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new Q(()=>({index:0}),t=>t.index<e.length?{done:!1,value:e[t.index++]}:Re)}return n.length>1?new Q(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;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<n.length){const t=n[e.collIndex++];Fr(t)?e.iterator=t[Symbol.iterator]():t&&typeof t.length=="number"&&(e.array=t)}}while(e.iterator||e.array||e.collIndex<n.length);return Re}):fd}class Bs extends Q{constructor(e,t,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[t(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(t(a.value)[Symbol.iterator]()),a}return Re})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Qi;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(Qi||(Qi={}));function Zi(n){return new Bs(n,e=>zn(e)?e.content:[],{includeRoot:!0})}function hd(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function es(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function Gr(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var Ke;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside"})(Ke||(Ke={}));function pd(n,e){if(n.end.line<e.start.line||n.end.line===e.start.line&&n.end.character<=e.start.character)return Ke.Before;if(n.start.line>e.end.line||n.start.line===e.end.line&&n.start.character>=e.end.character)return Ke.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.line<e.end.line||n.end.line===e.end.line&&n.end.character<=e.end.character;return t&&r?Ke.Inside:t?Ke.OverlapBack:r?Ke.OverlapFront:Ke.Outside}function md(n,e){return pd(n,e)>Ke.After}const gd=/^[\w\p{L}]$/u;function yd(n,e){if(n){const t=Td(n,!0);if(t&&Ra(t,e))return t;if(_l(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(Ra(s,e))return s}}}}function Ra(n,e){return wl(n)&&e.includes(n.tokenType.name)}function Td(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class Ll extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function Qn(n){throw new Error("Error! The input value was not handled.")}const sr="AbstractRule",ar="AbstractType",Ii="Condition",Aa="TypeDefinition",$i="ValueLiteral",cn="AbstractElement";function vd(n){return M.isInstance(n,cn)}const or="ArrayLiteral",lr="ArrayType",un="BooleanLiteral";function Rd(n){return M.isInstance(n,un)}const dn="Conjunction";function Ad(n){return M.isInstance(n,dn)}const fn="Disjunction";function Ed(n){return M.isInstance(n,fn)}const cr="Grammar",Ci="GrammarImport",hn="InferredType";function Ol(n){return M.isInstance(n,hn)}const pn="Interface";function bl(n){return M.isInstance(n,pn)}const Ni="NamedArgument",mn="Negation";function kd(n){return M.isInstance(n,mn)}const ur="NumberLiteral",dr="Parameter",gn="ParameterReference";function Sd(n){return M.isInstance(n,gn)}const yn="ParserRule";function we(n){return M.isInstance(n,yn)}const fr="ReferenceType",Sr="ReturnType";function xd(n){return M.isInstance(n,Sr)}const Tn="SimpleType";function Id(n){return M.isInstance(n,Tn)}const hr="StringLiteral",It="TerminalRule";function yt(n){return M.isInstance(n,It)}const vn="Type";function Pl(n){return M.isInstance(n,vn)}const wi="TypeAttribute",pr="UnionType",Rn="Action";function ui(n){return M.isInstance(n,Rn)}const An="Alternatives";function Ml(n){return M.isInstance(n,An)}const En="Assignment";function ut(n){return M.isInstance(n,En)}const kn="CharacterRange";function $d(n){return M.isInstance(n,kn)}const Sn="CrossReference";function Vs(n){return M.isInstance(n,Sn)}const xn="EndOfFile";function Cd(n){return M.isInstance(n,xn)}const In="Group";function Ws(n){return M.isInstance(n,In)}const $n="Keyword";function dt(n){return M.isInstance(n,$n)}const Cn="NegatedToken";function Nd(n){return M.isInstance(n,Cn)}const Nn="RegexToken";function wd(n){return M.isInstance(n,Nn)}const wn="RuleCall";function ft(n){return M.isInstance(n,wn)}const _n="TerminalAlternatives";function _d(n){return M.isInstance(n,_n)}const Ln="TerminalGroup";function Ld(n){return M.isInstance(n,Ln)}const On="TerminalRuleCall";function Od(n){return M.isInstance(n,On)}const bn="UnorderedGroup";function Dl(n){return M.isInstance(n,bn)}const Pn="UntilToken";function bd(n){return M.isInstance(n,Pn)}const Mn="Wildcard";function Pd(n){return M.isInstance(n,Mn)}class Fl extends Nl{getAllTypes(){return[cn,sr,ar,Rn,An,or,lr,En,un,kn,Ii,dn,Sn,fn,xn,cr,Ci,In,hn,pn,$n,Ni,Cn,mn,ur,dr,gn,yn,fr,Nn,Sr,wn,Tn,hr,_n,Ln,It,On,vn,wi,Aa,pr,bn,Pn,$i,Mn]}computeIsSubtype(e,t){switch(e){case Rn:case An:case En:case kn:case Sn:case xn:case In:case $n:case Cn:case Nn:case wn:case _n:case Ln:case On:case bn:case Pn:case Mn:return this.isSubtype(cn,t);case or:case ur:case hr:return this.isSubtype($i,t);case lr:case fr:case Tn:case pr:return this.isSubtype(Aa,t);case un:return this.isSubtype(Ii,t)||this.isSubtype($i,t);case dn:case fn:case mn:case gn:return this.isSubtype(Ii,t);case hn:case pn:case vn:return this.isSubtype(ar,t);case yn:return this.isSubtype(sr,t)||this.isSubtype(ar,t);case It:return this.isSubtype(sr,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return ar;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return sr;case"Grammar:usedGrammars":return cr;case"NamedArgument:parameter":case"ParameterReference:parameter":return dr;case"TerminalRuleCall:rule":return It;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case cn:return{name:cn,properties:[{name:"cardinality"},{name:"lookahead"}]};case or:return{name:or,properties:[{name:"elements",defaultValue:[]}]};case lr:return{name:lr,properties:[{name:"elementType"}]};case un:return{name:un,properties:[{name:"true",defaultValue:!1}]};case dn:return{name:dn,properties:[{name:"left"},{name:"right"}]};case fn:return{name:fn,properties:[{name:"left"},{name:"right"}]};case cr:return{name:cr,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 Ci:return{name:Ci,properties:[{name:"path"}]};case hn:return{name:hn,properties:[{name:"name"}]};case pn:return{name:pn,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Ni:return{name:Ni,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case mn:return{name:mn,properties:[{name:"value"}]};case ur:return{name:ur,properties:[{name:"value"}]};case dr:return{name:dr,properties:[{name:"name"}]};case gn:return{name:gn,properties:[{name:"parameter"}]};case yn:return{name:yn,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 fr:return{name:fr,properties:[{name:"referenceType"}]};case Sr:return{name:Sr,properties:[{name:"name"}]};case Tn:return{name:Tn,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case hr:return{name:hr,properties:[{name:"value"}]};case It:return{name:It,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case vn:return{name:vn,properties:[{name:"name"},{name:"type"}]};case wi:return{name:wi,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case pr:return{name:pr,properties:[{name:"types",defaultValue:[]}]};case Rn:return{name:Rn,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case An:return{name:An,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case En:return{name:En,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case kn:return{name:kn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case Sn:return{name:Sn,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case xn:return{name:xn,properties:[{name:"cardinality"},{name:"lookahead"}]};case In:return{name:In,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case $n:return{name:$n,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Cn:return{name:Cn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Nn:return{name:Nn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case wn:return{name:wn,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case _n:return{name:_n,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Ln:return{name:Ln,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case On:return{name:On,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case bn:return{name:bn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Pn:return{name:Pn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Mn:return{name:Mn,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new Fl;function Md(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ae(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ae(t)&&(t.$container=n,t.$containerProperty=e))}function di(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function et(n){const t=ts(n).$document;if(!t)throw new Error("AST node has no document.");return t}function ts(n){for(;n.$container;)n=n.$container;return n}function js(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e==null?void 0:e.range;return new Q(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=n[i];if(ae(s)){if(r.keyIndex++,Ea(s,t))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ae(o)&&Ea(o,t))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Re})}function Zn(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Bs(n,t=>js(t,e))}function Ct(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Bs(n,t=>js(t,e),{includeRoot:!0})}function Ea(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?md(r,e):!1}function Gl(n){return new Q(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const t=e.keys[e.keyIndex];if(!t.startsWith("$")){const r=n[t];if(Ue(r))return e.keyIndex++,{done:!1,value:{reference:r,container:n,property:t}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ue(s))return{done:!1,value:{reference:s,container:n,property:t,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Re})}function Dd(n,e){const t=n.getTypeMetaData(e.$type),r=e;for(const i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Ul(i.defaultValue))}function Ul(n){return Array.isArray(n)?[...n.map(Ul)]:n}function w(n){return n.charCodeAt(0)}function _i(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}function an(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}function xt(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}function Fd(){throw Error("Internal Error - Should never get here!")}function ka(n){return n.type==="Character"}const Ur=[];for(let n=w("0");n<=w("9");n++)Ur.push(n);const Br=[w("_")].concat(Ur);for(let n=w("a");n<=w("z");n++)Br.push(n);for(let n=w("A");n<=w("Z");n++)Br.push(n);const Sa=[w(" "),w("\f"),w(`
2
+ `),w("\r"),w(" "),w("\v"),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w("\u2028"),w("\u2029"),w(" "),w(" "),w(" "),w("\uFEFF")],Gd=/[0-9a-fA-F]/,mr=/[0-9]/,Ud=/[1-9]/;class Bl{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const t=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":an(r,"global");break;case"i":an(r,"ignoreCase");break;case"m":an(r,"multiLine");break;case"u":an(r,"unicode");break;case"y":an(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){const e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){const e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break}xt(t);const r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return Fd()}quantifier(e=!1){let t;const r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),t={atLeast:i,atMost:s}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;xt(t);break}if(!(e===!0&&t===void 0)&&xt(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e;const t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),xt(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[w(`
3
+ `),w("\r"),w("\u2028"),w("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Ur;break;case"D":e=Ur,t=!0;break;case"s":e=Sa;break;case"S":e=Sa,t=!0;break;case"w":e=Br;break;case"W":e=Br,t=!0;break}if(xt(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=w("\f");break;case"n":e=w(`
4
+ `);break;case"r":e=w("\r");break;case"t":e=w(" ");break;case"v":e=w("\v");break}if(xt(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:w("\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:w(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:w(e)}}}characterClass(){const e=[];let t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,ka(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,ka(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else _i(r.value,e),e.push(w("-")),_i(i.value,e)}else _i(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,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:w("\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;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const t=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(Ud.test(e)===!1)throw Error("Expecting a positive integer");for(;mr.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(mr.test(e)===!1)throw Error("Expecting an integer");for(;mr.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:w(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 mr.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 t="";for(let i=0;i<e;i++){const s=this.popChar();if(Gd.test(s)===!1)throw Error("Expecting a HexDecimal digits");t+=s}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(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 fi{visitChildren(e){for(const t in e){const r=e[t];e.hasOwnProperty(t)&&(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 Bd=/\r?\n/gm,Vd=new Bl;class Wd extends fi{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const t=String.fromCharCode(e.value);if(!this.multiline&&t===`
10
+ `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=hi(t);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const t=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(t);this.multiline=!!`
11
+ `.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const Li=new Wd;function jd(n){try{return typeof n=="string"&&(n=new RegExp(n)),n=n.toString(),Li.reset(n),Li.visit(Vd.pattern(n)),Li.multiline}catch{return!1}}const Kd=`\f
12
+ \r \v              \u2028\u2029   \uFEFF`.split("");function ns(n){const e=typeof n=="string"?new RegExp(n):n;return Kd.some(t=>e.test(t))}function hi(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Hd(n){return Array.prototype.map.call(n,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:hi(e)).join("")}function zd(n,e){const t=qd(n),r=e.match(t);return!!r&&r[0].length>0}function qd(n){typeof n=="string"&&(n=new RegExp(n));const e=n,t=n.source;let r=0;function i(){let s="",a;function o(c){s+=t.substr(r,c),r+=c}function l(c){s+="(?:"+t.substr(r,c)+"|$)",r+=c}for(;r<t.length;)switch(t[r]){case"\\":switch(t[r+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?t[r+2]==="{"?l(t.indexOf("}",r)-r+1):l(6):l(2);break;case"p":case"P":e.unicode?l(t.indexOf("}",r)-r+1):l(2);break;case"k":l(t.indexOf(">",r)-r+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(t)||[],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(t),a?o(a[0].length):l(1);break;case"(":if(t[r+1]==="?")switch(t[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=t.substr(a,r-a);break;case"<":switch(t[r+3]){case"=":case"!":a=r,r+=4,i(),s+=t.substr(a,r-a);break;default:o(t.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(),n.flags)}function Yd(n){return n.rules.find(e=>we(e)&&e.entry)}function Xd(n){return n.rules.filter(e=>yt(e)&&e.hidden)}function Vl(n,e){const t=new Set,r=Yd(n);if(!r)return new Set(n.rules);const i=[r].concat(Xd(n));for(const a of i)Wl(a,t,e);const s=new Set;for(const a of n.rules)(t.has(a.name)||yt(a)&&a.hidden)&&s.add(a);return s}function Wl(n,e,t){e.add(n.name),Zn(n).forEach(r=>{if(ft(r)||t){const i=r.rule.ref;i&&!e.has(i.name)&&Wl(i,e,t)}})}function Jd(n){if(n.terminal)return n.terminal;if(n.type.ref){const e=Kl(n.type.ref);return e==null?void 0:e.terminal}}function Qd(n){return n.hidden&&!ns(qs(n))}function Zd(n,e){return!n||!e?[]:Ks(n,e,n.astNode,!0)}function jl(n,e,t){if(!n||!e)return;const r=Ks(n,e,n.astNode,!0);if(r.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,r.length-1)):t=0,r[t]}function Ks(n,e,t,r){if(!r){const i=di(n.grammarSource,ut);if(i&&i.feature===e)return[n]}return zn(n)&&n.astNode===t?n.content.flatMap(i=>Ks(i,e,t,!1)):[]}function ef(n,e,t){if(!n)return;const r=tf(n,e,n==null?void 0:n.astNode);if(r.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,r.length-1)):t=0,r[t]}function tf(n,e,t){if(n.astNode!==t)return[];if(dt(n.grammarSource)&&n.grammarSource.value===e)return[n];const r=Zi(n).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===t?dt(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function nf(n){var e;const t=n.astNode;for(;t===((e=n.container)===null||e===void 0?void 0:e.astNode);){const r=di(n.grammarSource,ut);if(r)return r;n=n.container}}function Kl(n){let e=n;return Ol(e)&&(ui(e.$container)?e=e.$container.$container:we(e.$container)?e=e.$container:Qn(e.$container)),Hl(n,e,new Map)}function Hl(n,e,t){var r;function i(s,a){let o;return di(s,ut)||(o=Hl(a,a,t)),t.set(n,o),o}if(t.has(n))return t.get(n);t.set(n,void 0);for(const s of Zn(e)){if(ut(s)&&s.feature.toLowerCase()==="name")return t.set(n,s),s;if(ft(s)&&we(s.rule.ref))return i(s,s.rule.ref);if(Id(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function zl(n){return ql(n,new Set)}function ql(n,e){if(e.has(n))return!0;e.add(n);for(const t of Zn(n))if(ft(t)){if(!t.rule.ref||we(t.rule.ref)&&!ql(t.rule.ref,e))return!1}else{if(ut(t))return!1;if(ui(t))return!1}return!!n.definition}function Hs(n){if(n.inferredType)return n.inferredType.name;if(n.dataType)return n.dataType;if(n.returnType){const e=n.returnType.ref;if(e){if(we(e))return e.name;if(bl(e)||Pl(e))return e.name}}}function zs(n){var e;if(we(n))return zl(n)?n.name:(e=Hs(n))!==null&&e!==void 0?e:n.name;if(bl(n)||Pl(n)||xd(n))return n.name;if(ui(n)){const t=rf(n);if(t)return t}else if(Ol(n))return n.name;throw new Error("Cannot get name of Unknown Type")}function rf(n){var e;if(n.inferredType)return n.inferredType.name;if(!((e=n.type)===null||e===void 0)&&e.ref)return zs(n.type.ref)}function sf(n){var e,t,r;return yt(n)?(t=(e=n.type)===null||e===void 0?void 0:e.name)!==null&&t!==void 0?t:"string":(r=Hs(n))!==null&&r!==void 0?r:n.name}function qs(n){const e={s:!1,i:!1,u:!1},t=Zt(n.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(t,r)}const Ys=/[\s\S]/.source;function Zt(n,e){if(_d(n))return af(n);if(Ld(n))return of(n);if($d(n))return uf(n);if(Od(n)){const t=n.rule.ref;if(!t)throw new Error("Missing rule reference.");return ze(Zt(t.definition),{cardinality:n.cardinality,lookahead:n.lookahead})}else{if(Nd(n))return cf(n);if(bd(n))return lf(n);if(wd(n)){const t=n.regex.lastIndexOf("/"),r=n.regex.substring(1,t),i=n.regex.substring(t+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ze(r,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}else{if(Pd(n))return ze(Ys,{cardinality:n.cardinality,lookahead:n.lookahead});throw new Error(`Invalid terminal element: ${n==null?void 0:n.$type}`)}}}function af(n){return ze(n.elements.map(e=>Zt(e)).join("|"),{cardinality:n.cardinality,lookahead:n.lookahead})}function of(n){return ze(n.elements.map(e=>Zt(e)).join(""),{cardinality:n.cardinality,lookahead:n.lookahead})}function lf(n){return ze(`${Ys}*?${Zt(n.terminal)}`,{cardinality:n.cardinality,lookahead:n.lookahead})}function cf(n){return ze(`(?!${Zt(n.terminal)})${Ys}*?`,{cardinality:n.cardinality,lookahead:n.lookahead})}function uf(n){return n.right?ze(`[${Oi(n.left)}-${Oi(n.right)}]`,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1}):ze(Oi(n.left),{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}function Oi(n){return hi(n.value)}function ze(n,e){var t;return(e.wrap!==!1||e.lookahead)&&(n=`(${(t=e.lookahead)!==null&&t!==void 0?t:""}${n})`),e.cardinality?`${n}${e.cardinality}`:n}function df(n){const e=[],t=n.Grammar;for(const r of t.rules)yt(r)&&Qd(r)&&jd(qs(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:gd}}function rs(n){console&&console.error&&console.error(`Error: ${n}`)}function Yl(n){console&&console.warn&&console.warn(`Warning: ${n}`)}function Xl(n){const e=new Date().getTime(),t=n();return{time:new Date().getTime()-e,value:t}}function Jl(n){function e(){}e.prototype=n;const t=new e;function r(){return typeof t.bar}return r(),r(),n}function ff(n){return hf(n)?n.LABEL:n.name}function hf(n){return fe(n.LABEL)&&n.LABEL!==""}class Be{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),C(this.definition,t=>{t.accept(e)})}}class le extends Be{constructor(e){super([]),this.idx=1,ke(this,Me(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class en extends Be{constructor(e){super(e.definition),this.orgText="",ke(this,Me(e,t=>t!==void 0))}}class he extends Be{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ke(this,Me(e,t=>t!==void 0))}}let te=class extends Be{constructor(e){super(e.definition),this.idx=1,ke(this,Me(e,t=>t!==void 0))}};class xe extends Be{constructor(e){super(e.definition),this.idx=1,ke(this,Me(e,t=>t!==void 0))}}class Ie extends Be{constructor(e){super(e.definition),this.idx=1,ke(this,Me(e,t=>t!==void 0))}}class j extends Be{constructor(e){super(e.definition),this.idx=1,ke(this,Me(e,t=>t!==void 0))}}class me extends Be{constructor(e){super(e.definition),this.idx=1,ke(this,Me(e,t=>t!==void 0))}}class ge extends Be{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,ke(this,Me(e,t=>t!==void 0))}}class G{constructor(e){this.idx=1,ke(this,Me(e,t=>t!==void 0))}accept(e){e.visit(this)}}function pf(n){return x(n,xr)}function xr(n){function e(t){return x(t,xr)}if(n instanceof le){const t={type:"NonTerminal",name:n.nonTerminalName,idx:n.idx};return fe(n.label)&&(t.label=n.label),t}else{if(n instanceof he)return{type:"Alternative",definition:e(n.definition)};if(n instanceof te)return{type:"Option",idx:n.idx,definition:e(n.definition)};if(n instanceof xe)return{type:"RepetitionMandatory",idx:n.idx,definition:e(n.definition)};if(n instanceof Ie)return{type:"RepetitionMandatoryWithSeparator",idx:n.idx,separator:xr(new G({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof me)return{type:"RepetitionWithSeparator",idx:n.idx,separator:xr(new G({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof j)return{type:"Repetition",idx:n.idx,definition:e(n.definition)};if(n instanceof ge)return{type:"Alternation",idx:n.idx,definition:e(n.definition)};if(n instanceof G){const t={type:"Terminal",name:n.terminalType.name,label:ff(n.terminalType),idx:n.idx};fe(n.label)&&(t.terminalLabel=n.label);const r=n.terminalType.PATTERN;return n.terminalType.PATTERN&&(t.pattern=Ye(r)?r.source:r),t}else{if(n instanceof en)return{type:"Rule",name:n.name,orgText:n.orgText,definition:e(n.definition)};throw Error("non exhaustive match")}}}class tn{visit(e){const t=e;switch(t.constructor){case le:return this.visitNonTerminal(t);case he:return this.visitAlternative(t);case te:return this.visitOption(t);case xe:return this.visitRepetitionMandatory(t);case Ie:return this.visitRepetitionMandatoryWithSeparator(t);case me:return this.visitRepetitionWithSeparator(t);case j:return this.visitRepetition(t);case ge:return this.visitAlternation(t);case G:return this.visitTerminal(t);case en:return this.visitRule(t);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function mf(n){return n instanceof he||n instanceof te||n instanceof j||n instanceof xe||n instanceof Ie||n instanceof me||n instanceof G||n instanceof en}function Vr(n,e=[]){return n instanceof te||n instanceof j||n instanceof me?!0:n instanceof ge?Cl(n.definition,r=>Vr(r,e)):n instanceof le&&ue(e,n)?!1:n instanceof Be?(n instanceof le&&e.push(n),be(n.definition,r=>Vr(r,e))):!1}function gf(n){return n instanceof ge}function Ge(n){if(n instanceof le)return"SUBRULE";if(n instanceof te)return"OPTION";if(n instanceof ge)return"OR";if(n instanceof xe)return"AT_LEAST_ONE";if(n instanceof Ie)return"AT_LEAST_ONE_SEP";if(n instanceof me)return"MANY_SEP";if(n instanceof j)return"MANY";if(n instanceof G)return"CONSUME";throw Error("non exhaustive match")}class pi{walk(e,t=[]){C(e.definition,(r,i)=>{const s=J(e.definition,i+1);if(r instanceof le)this.walkProdRef(r,s,t);else if(r instanceof G)this.walkTerminal(r,s,t);else if(r instanceof he)this.walkFlat(r,s,t);else if(r instanceof te)this.walkOption(r,s,t);else if(r instanceof xe)this.walkAtLeastOne(r,s,t);else if(r instanceof Ie)this.walkAtLeastOneSep(r,s,t);else if(r instanceof me)this.walkManySep(r,s,t);else if(r instanceof j)this.walkMany(r,s,t);else if(r instanceof ge)this.walkOr(r,s,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){const i=t.concat(r);this.walk(e,i)}walkOption(e,t,r){const i=t.concat(r);this.walk(e,i)}walkAtLeastOne(e,t,r){const i=[new te({definition:e.definition})].concat(t,r);this.walk(e,i)}walkAtLeastOneSep(e,t,r){const i=xa(e,t,r);this.walk(e,i)}walkMany(e,t,r){const i=[new te({definition:e.definition})].concat(t,r);this.walk(e,i)}walkManySep(e,t,r){const i=xa(e,t,r);this.walk(e,i)}walkOr(e,t,r){const i=t.concat(r);C(e.definition,s=>{const a=new he({definition:[s]});this.walk(a,i)})}}function xa(n,e,t){return[new te({definition:[new G({terminalType:n.separator})].concat(n.definition)})].concat(e,t)}function er(n){if(n instanceof le)return er(n.referencedRule);if(n instanceof G)return vf(n);if(mf(n))return yf(n);if(gf(n))return Tf(n);throw Error("non exhaustive match")}function yf(n){let e=[];const t=n.definition;let r=0,i=t.length>r,s,a=!0;for(;i&&a;)s=t[r],a=Vr(s),e=e.concat(er(s)),r=r+1,i=t.length>r;return Us(e)}function Tf(n){const e=x(n.definition,t=>er(t));return Us(Ne(e))}function vf(n){return[n.terminalType]}const Ql="_~IN~_";class Rf extends pi{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){const i=Ef(e.referencedRule,e.idx)+this.topProd.name,s=t.concat(r),a=new he({definition:s}),o=er(a);this.follows[i]=o}}function Af(n){const e={};return C(n,t=>{const r=new Rf(t).startWalking();ke(e,r)}),e}function Ef(n,e){return n.name+e+Ql}let Ir={};const kf=new Bl;function mi(n){const e=n.toString();if(Ir.hasOwnProperty(e))return Ir[e];{const t=kf.pattern(e);return Ir[e]=t,t}}function Sf(){Ir={}}const Zl="Complement Sets are not supported for first char optimization",Wr=`Unable to use "first char" lexer optimizations:
13
+ `;function xf(n,e=!1){try{const t=mi(n);return is(t.value,{},t.flags.ignoreCase)}catch(t){if(t.message===Zl)e&&Yl(`${Wr} Unable to optimize: < ${n.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.`),rs(`${Wr}
19
+ Failed parsing: < ${n.toString()} >
20
+ Using the @chevrotain/regexp-to-ast library
21
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function is(n,e,t){switch(n.type){case"Disjunction":for(let i=0;i<n.value.length;i++)is(n.value[i],e,t);break;case"Alternative":const r=n.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":gr(a.value,e,t);break;case"Set":if(a.complement===!0)throw Error(Zl);C(a.value,l=>{if(typeof l=="number")gr(l,e,t);else{const c=l;if(t===!0)for(let u=c.from;u<=c.to;u++)gr(u,e,t);else{for(let u=c.from;u<=c.to&&u<Fn;u++)gr(u,e,t);if(c.to>=Fn){const u=c.from>=Fn?c.from:Fn,d=c.to,h=tt(u),f=tt(d);for(let m=h;m<=f;m++)e[m]=m}}}});break;case"Group":is(a.value,e,t);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&ss(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return z(e)}function gr(n,e,t){const r=tt(n);e[r]=r,t===!0&&If(n,e)}function If(n,e){const t=String.fromCharCode(n),r=t.toUpperCase();if(r!==t){const i=tt(r.charCodeAt(0));e[i]=i}else{const i=t.toLowerCase();if(i!==t){const s=tt(i.charCodeAt(0));e[s]=s}}}function Ia(n,e){return Kt(n.value,t=>{if(typeof t=="number")return ue(e,t);{const r=t;return Kt(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function ss(n){const e=n.quantifier;return e&&e.atLeast===0?!0:n.value?ee(n.value)?be(n.value,ss):ss(n.value):!1}class $f extends fi{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){ue(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Ia(e,this.targetCharCodes)===void 0&&(this.found=!0):Ia(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function Xs(n,e){if(e instanceof RegExp){const t=mi(e),r=new $f(n);return r.visit(t),r.found}else return Kt(e,t=>ue(n,t.charCodeAt(0)))!==void 0}const ht="PATTERN",Dn="defaultMode",yr="modes";let ec=typeof new RegExp("(?:)").sticky=="boolean";function Cf(n,e){e=Gs(e,{useSticky:ec,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
+ `],tracer:(A,v)=>v()});const t=e.tracer;t("initCharCodeToOptimizedIndexMap",()=>{Jf()});let r;t("Reject Lexer.NA",()=>{r=ci(n,A=>A[ht]===de.NA)});let i=!1,s;t("Transform Patterns",()=>{i=!1,s=x(r,A=>{const v=A[ht];if(Ye(v)){const $=v.source;return $.length===1&&$!=="^"&&$!=="$"&&$!=="."&&!v.ignoreCase?$:$.length===2&&$[0]==="\\"&&!ue(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],$[1])?$[1]:e.useSticky?Ca(v):$a(v)}else{if(gt(v))return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{const $=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),F=new RegExp($);return e.useSticky?Ca(F):$a(F)}}else throw Error("non exhaustive match")}})});let a,o,l,c,u;t("misc mapping",()=>{a=x(r,A=>A.tokenTypeIdx),o=x(r,A=>{const v=A.GROUP;if(v!==de.SKIPPED){if(fe(v))return v;if(qe(v))return!1;throw Error("non exhaustive match")}}),l=x(r,A=>{const v=A.LONGER_ALT;if(v)return ee(v)?x(v,F=>Ta(r,F)):[Ta(r,v)]}),c=x(r,A=>A.PUSH_MODE),u=x(r,A=>N(A,"POP_MODE"))});let d;t("Line Terminator Handling",()=>{const A=rc(e.lineTerminatorCharacters);d=x(r,v=>!1),e.positionTracking!=="onlyOffset"&&(d=x(r,v=>N(v,"LINE_BREAKS")?!!v.LINE_BREAKS:nc(v,A)===!1&&Xs(A,v.PATTERN)))});let h,f,m,g;t("Misc Mapping #2",()=>{h=x(r,tc),f=x(s,qf),m=oe(r,(A,v)=>{const $=v.GROUP;return fe($)&&$!==de.SKIPPED&&(A[$]=[]),A},{}),g=x(s,(A,v)=>({pattern:s[v],longerAlt:l[v],canLineTerminator:d[v],isCustom:h[v],short:f[v],group:o[v],push:c[v],pop:u[v],tokenTypeIdx:a[v],tokenType:r[v]}))});let R=!0,y=[];return e.safeMode||t("First Char Optimization",()=>{y=oe(r,(A,v,$)=>{if(typeof v.PATTERN=="string"){const F=v.PATTERN.charCodeAt(0),re=tt(F);bi(A,re,g[$])}else if(ee(v.START_CHARS_HINT)){let F;C(v.START_CHARS_HINT,re=>{const _e=typeof re=="string"?re.charCodeAt(0):re,ye=tt(_e);F!==ye&&(F=ye,bi(A,ye,g[$]))})}else if(Ye(v.PATTERN))if(v.PATTERN.unicode)R=!1,e.ensureOptimizations&&rs(`${Wr} Unable to analyze < ${v.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 F=xf(v.PATTERN,e.ensureOptimizations);D(F)&&(R=!1),C(F,re=>{bi(A,re,g[$])})}else e.ensureOptimizations&&rs(`${Wr} TokenType: <${v.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`),R=!1;return A},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:R}}function Nf(n,e){let t=[];const r=_f(n);t=t.concat(r.errors);const i=Lf(r.valid),s=i.valid;return t=t.concat(i.errors),t=t.concat(wf(s)),t=t.concat(Uf(s)),t=t.concat(Bf(s,e)),t=t.concat(Vf(s)),t}function wf(n){let e=[];const t=Se(n,r=>Ye(r[ht]));return e=e.concat(bf(t)),e=e.concat(Df(t)),e=e.concat(Ff(t)),e=e.concat(Gf(t)),e=e.concat(Pf(t)),e}function _f(n){const e=Se(n,i=>!N(i,ht)),t=x(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:K.MISSING_PATTERN,tokenTypes:[i]})),r=li(n,e);return{errors:t,valid:r}}function Lf(n){const e=Se(n,i=>{const s=i[ht];return!Ye(s)&&!gt(s)&&!N(s,"exec")&&!fe(s)}),t=x(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:K.INVALID_PATTERN,tokenTypes:[i]})),r=li(n,e);return{errors:t,valid:r}}const Of=/[^\\][$]/;function bf(n){class e extends fi{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const t=Se(n,i=>{const s=i.PATTERN;try{const a=mi(s),o=new e;return o.visit(a),o.found}catch{return Of.test(s.source)}});return x(t,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:K.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Pf(n){const e=Se(n,r=>r.PATTERN.test(""));return x(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:K.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const Mf=/[^\\[][\^]|^\^/;function Df(n){class e extends fi{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const t=Se(n,i=>{const s=i.PATTERN;try{const a=mi(s),o=new e;return o.visit(a),o.found}catch{return Mf.test(s.source)}});return x(t,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:K.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Ff(n){const e=Se(n,r=>{const i=r[ht];return i instanceof RegExp&&(i.multiline||i.global)});return x(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:K.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function Gf(n){const e=[];let t=x(n,s=>oe(n,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!ue(e,o)&&o.PATTERN!==de.NA&&(e.push(o),a.push(o)),a),[]));t=Jn(t);const r=Se(t,s=>s.length>1);return x(r,s=>{const a=x(s,l=>l.name);return{message:`The same RegExp pattern ->${Pe(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:K.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function Uf(n){const e=Se(n,r=>{if(!N(r,"GROUP"))return!1;const i=r.GROUP;return i!==de.SKIPPED&&i!==de.NA&&!fe(i)});return x(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:K.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function Bf(n,e){const t=Se(n,i=>i.PUSH_MODE!==void 0&&!ue(e,i.PUSH_MODE));return x(t,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:K.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function Vf(n){const e=[],t=oe(n,(r,i,s)=>{const a=i.PATTERN;return a===de.NA||(fe(a)?r.push({str:a,idx:s,tokenType:i}):Ye(a)&&jf(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return C(n,(r,i)=>{C(t,({str:s,idx:a,tokenType:o})=>{if(i<a&&Wf(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:K.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function Wf(n,e){if(Ye(e)){const t=e.exec(n);return t!==null&&t.index===0}else{if(gt(e))return e(n,0,[],{});if(N(e,"exec"))return e.exec(n,0,[],{});if(typeof e=="string")return e===n;throw Error("non exhaustive match")}}function jf(n){return Kt([".","\\","[","]","|","^","$","(",")","?","*","+","{"],t=>n.source.indexOf(t)!==-1)===void 0}function $a(n){const e=n.ignoreCase?"i":"";return new RegExp(`^(?:${n.source})`,e)}function Ca(n){const e=n.ignoreCase?"iy":"y";return new RegExp(`${n.source}`,e)}function Kf(n,e,t){const r=[];return N(n,Dn)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Dn+`> property in its definition
34
+ `,type:K.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),N(n,yr)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+yr+`> property in its definition
35
+ `,type:K.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),N(n,yr)&&N(n,Dn)&&!N(n.modes,n.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Dn}: <${n.defaultMode}>which does not exist
36
+ `,type:K.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),N(n,yr)&&C(n.modes,(i,s)=>{C(i,(a,o)=>{if(qe(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
37
+ `,type:K.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(N(a,"LONGER_ALT")){const l=ee(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];C(l,c=>{!qe(c)&&!ue(i,c)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${a.name}> outside of mode <${s}>
38
+ `,type:K.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function Hf(n,e,t){const r=[];let i=!1;const s=Jn(Ne(z(n.modes))),a=ci(s,l=>l[ht]===de.NA),o=rc(t);return e&&C(a,l=>{const c=nc(l,o);if(c!==!1){const d={message:Xf(l,c),type:c.issue,tokenType:l};r.push(d)}else N(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):Xs(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:K.NO_LINE_BREAKS_FLAGS}),r}function zf(n){const e={},t=jt(n);return C(t,r=>{const i=n[r];if(ee(i))e[r]=[];else throw Error("non exhaustive match")}),e}function tc(n){const e=n.PATTERN;if(Ye(e))return!1;if(gt(e))return!0;if(N(e,"exec"))return!0;if(fe(e))return!1;throw Error("non exhaustive match")}function qf(n){return fe(n)&&n.length===1?n.charCodeAt(0):!1}const Yf={test:function(n){const e=n.length;for(let t=this.lastIndex;t<e;t++){const r=n.charCodeAt(t);if(r===10)return this.lastIndex=t+1,!0;if(r===13)return n.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},lastIndex:0};function nc(n,e){if(N(n,"LINE_BREAKS"))return!1;if(Ye(n.PATTERN)){try{Xs(e,n.PATTERN)}catch(t){return{issue:K.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}else{if(fe(n.PATTERN))return!1;if(tc(n))return{issue:K.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function Xf(n,e){if(e.issue===K.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
43
+ The problem is in the <${n.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===K.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
46
+ The problem is in the <${n.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 rc(n){return x(n,t=>fe(t)?t.charCodeAt(0):t)}function bi(n,e,t){n[e]===void 0?n[e]=[t]:n[e].push(t)}const Fn=256;let $r=[];function tt(n){return n<Fn?n:$r[n]}function Jf(){if(D($r)){$r=new Array(65536);for(let n=0;n<65536;n++)$r[n]=n>255?255+~~(n/255):n}}function tr(n,e){const t=n.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}function jr(n,e){return n.tokenTypeIdx===e.tokenTypeIdx}let Na=1;const ic={};function nr(n){const e=Qf(n);Zf(e),th(e),eh(e),C(e,t=>{t.isParent=t.categoryMatches.length>0})}function Qf(n){let e=ne(n),t=n,r=!0;for(;r;){t=Jn(Ne(x(t,s=>s.CATEGORIES)));const i=li(t,e);e=e.concat(i),D(i)?r=!1:t=i}return e}function Zf(n){C(n,e=>{ac(e)||(ic[Na]=e,e.tokenTypeIdx=Na++),wa(e)&&!ee(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),wa(e)||(e.CATEGORIES=[]),nh(e)||(e.categoryMatches=[]),rh(e)||(e.categoryMatchesMap={})})}function eh(n){C(n,e=>{e.categoryMatches=[],C(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(ic[r].tokenTypeIdx)})})}function th(n){C(n,e=>{sc([],e)})}function sc(n,e){C(n,t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0}),C(e.CATEGORIES,t=>{const r=n.concat(e);ue(r,t)||sc(r,t)})}function ac(n){return N(n,"tokenTypeIdx")}function wa(n){return N(n,"CATEGORIES")}function nh(n){return N(n,"categoryMatches")}function rh(n){return N(n,"categoryMatchesMap")}function ih(n){return N(n,"tokenTypeIdx")}const as={buildUnableToPopLexerModeMessage(n){return`Unable to pop Lexer Mode after encountering Token ->${n.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(n,e,t,r,i){return`unexpected character: ->${n.charAt(e)}<- at offset: ${e}, skipped ${t} characters.`}};var K;(function(n){n[n.MISSING_PATTERN=0]="MISSING_PATTERN",n[n.INVALID_PATTERN=1]="INVALID_PATTERN",n[n.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",n[n.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",n[n.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",n[n.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",n[n.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",n[n.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",n[n.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",n[n.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",n[n.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",n[n.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",n[n.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",n[n.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",n[n.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",n[n.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",n[n.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",n[n.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(K||(K={}));const Gn={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:as,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Gn);class de{constructor(e,t=Gn){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}=Xl(s),c=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return s()},typeof t=="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=ke({},Gn,t);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===Gn.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Yf;else if(this.config.lineTerminatorCharacters===Gn.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(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),ee(e)?i={modes:{defaultMode:ne(e)},defaultMode:Dn}:(s=!1,i=ne(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kf(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Hf(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},C(i.modes,(o,l)=>{i.modes[l]=ci(o,c=>qe(c))});const a=jt(i.modes);if(C(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(Nf(o,a))}),D(this.lexerDefinitionErrors)){nr(o);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Cf(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=c.charCodeToPatternIdxToConfig,this.emptyGroups=ke({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!D(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=x(this.lexerDefinitionErrors,c=>c.message).join(`-----------------------
51
+ `);throw new Error(`Errors detected in definition of Lexer:
52
+ `+l)}C(this.lexerDefinitionWarning,o=>{Yl(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(ec?(this.chopInput=ya,this.match=this.matchWithTest):(this.updateLastIndex=Y,this.match=this.matchWithExec),s&&(this.handleModes=Y),this.trackStartLines===!1&&(this.computeNewColumn=ya),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Y),/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=oe(this.canModeBeOptimized,(l,c,u)=>(c===!1&&l.push(u),l),[]);if(t.ensureOptimizations&&!D(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",()=>{Sf()}),this.TRACE_INIT("toFastProperties",()=>{Jl(this)})})}tokenize(e,t=this.defaultMode){if(!D(this.lexerDefinitionErrors)){const i=x(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,t)}tokenizeInternal(e,t){let r,i,s,a,o,l,c,u,d,h,f,m,g,R,y;const A=e,v=A.length;let $=0,F=0;const re=this.hasCustom?0:Math.floor(e.length/10),_e=new Array(re),ye=[];let Fe=this.trackStartLines?1:void 0,$e=this.trackStartLines?1:void 0;const S=zf(this.emptyGroups),T=this.trackStartLines,E=this.config.lineTerminatorsPattern;let I=0,O=[],L=[];const _=[],Te=[];Object.freeze(Te);let q;function W(){return O}function ot(ie){const Ce=tt(ie),kt=L[Ce];return kt===void 0?Te:kt}const ku=ie=>{if(_.length===1&&ie.tokenType.PUSH_MODE===void 0){const Ce=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ie);ye.push({offset:ie.startOffset,line:ie.startLine,column:ie.startColumn,length:ie.image.length,message:Ce})}else{_.pop();const Ce=Ht(_);O=this.patternIdxToConfig[Ce],L=this.charCodeToPatternIdxToConfig[Ce],I=O.length;const kt=this.canModeBeOptimized[Ce]&&this.config.safeMode===!1;L&&kt?q=ot:q=W}};function fa(ie){_.push(ie),L=this.charCodeToPatternIdxToConfig[ie],O=this.patternIdxToConfig[ie],I=O.length,I=O.length;const Ce=this.canModeBeOptimized[ie]&&this.config.safeMode===!1;L&&Ce?q=ot:q=W}fa.call(this,t);let Le;const ha=this.config.recoveryEnabled;for(;$<v;){l=null;const ie=A.charCodeAt($),Ce=q(ie),kt=Ce.length;for(r=0;r<kt;r++){Le=Ce[r];const ve=Le.pattern;c=null;const Ve=Le.short;if(Ve!==!1?ie===Ve&&(l=ve):Le.isCustom===!0?(y=ve.exec(A,$,_e,S),y!==null?(l=y[0],y.payload!==void 0&&(c=y.payload)):l=null):(this.updateLastIndex(ve,$),l=this.match(ve,e,$)),l!==null){if(o=Le.longerAlt,o!==void 0){const Je=o.length;for(s=0;s<Je;s++){const We=O[o[s]],lt=We.pattern;if(u=null,We.isCustom===!0?(y=lt.exec(A,$,_e,S),y!==null?(a=y[0],y.payload!==void 0&&(u=y.payload)):a=null):(this.updateLastIndex(lt,$),a=this.match(lt,e,$)),a&&a.length>l.length){l=a,c=u,Le=We;break}}}break}}if(l!==null){if(d=l.length,h=Le.group,h!==void 0&&(f=Le.tokenTypeIdx,m=this.createTokenInstance(l,$,f,Le.tokenType,Fe,$e,d),this.handlePayload(m,c),h===!1?F=this.addToken(_e,F,m):S[h].push(m)),e=this.chopInput(e,d),$=$+d,$e=this.computeNewColumn($e,d),T===!0&&Le.canLineTerminator===!0){let ve=0,Ve,Je;E.lastIndex=0;do Ve=E.test(l),Ve===!0&&(Je=E.lastIndex-1,ve++);while(Ve===!0);ve!==0&&(Fe=Fe+ve,$e=d-Je,this.updateTokenEndLineColumnLocation(m,h,Je,ve,Fe,$e,d))}this.handleModes(Le,ku,fa,m)}else{const ve=$,Ve=Fe,Je=$e;let We=ha===!1;for(;We===!1&&$<v;)for(e=this.chopInput(e,1),$++,i=0;i<I;i++){const lt=O[i],xi=lt.pattern,pa=lt.short;if(pa!==!1?A.charCodeAt($)===pa&&(We=!0):lt.isCustom===!0?We=xi.exec(A,$,_e,S)!==null:(this.updateLastIndex(xi,$),We=xi.exec(e)!==null),We===!0)break}if(g=$-ve,$e=this.computeNewColumn($e,g),R=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(A,ve,g,Ve,Je),ye.push({offset:ve,line:Ve,column:Je,length:g,message:R}),ha===!1)break}}return this.hasCustom||(_e.length=F),{tokens:_e,groups:S,errors:ye}}handleModes(e,t,r,i){if(e.pop===!0){const s=e.push;t(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,r,i,s,a,o){let l,c;t!==void 0&&(l=r===o-1,c=l?-1:0,i===1&&l===!0||(e.endLine=s+c,e.endColumn=a-1+-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,i){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,t,r,i,s,a){return{image:e,startOffset:t,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,t,r,i,s,a,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,t++,t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}matchWithTest(e,t,r){return e.test(t)===!0?t.substring(r,e.lastIndex):null}matchWithExec(e,t){const r=e.exec(t);return r!==null?r[0]:null}}de.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.";de.NA=/NOT_APPLICABLE/;function Nt(n){return oc(n)?n.LABEL:n.name}function oc(n){return fe(n.LABEL)&&n.LABEL!==""}const sh="parent",_a="categories",La="label",Oa="group",ba="push_mode",Pa="pop_mode",Ma="longer_alt",Da="line_breaks",Fa="start_chars_hint";function lc(n){return ah(n)}function ah(n){const e=n.pattern,t={};if(t.name=n.name,qe(e)||(t.PATTERN=e),N(n,sh))throw`The parent property is no longer supported.
57
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return N(n,_a)&&(t.CATEGORIES=n[_a]),nr([t]),N(n,La)&&(t.LABEL=n[La]),N(n,Oa)&&(t.GROUP=n[Oa]),N(n,Pa)&&(t.POP_MODE=n[Pa]),N(n,ba)&&(t.PUSH_MODE=n[ba]),N(n,Ma)&&(t.LONGER_ALT=n[Ma]),N(n,Da)&&(t.LINE_BREAKS=n[Da]),N(n,Fa)&&(t.START_CHARS_HINT=n[Fa]),t}const nt=lc({name:"EOF",pattern:de.NA});nr([nt]);function Js(n,e,t,r,i,s,a,o){return{image:e,startOffset:t,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:n.tokenTypeIdx,tokenType:n}}function cc(n,e){return tr(n,e)}const $t={buildMismatchTokenMessage({expected:n,actual:e,previous:t,ruleName:r}){return`Expecting ${oc(n)?`--> ${Nt(n)} <--`:`token of type --> ${n.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:n,ruleName:e}){return"Redundant input, expecting EOF but found: "+n.image},buildNoViableAltMessage({expectedPathsPerAlt:n,actual:e,previous:t,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
58
+ but found: '`+Pe(e).image+"'";if(r)return s+r+o;{const l=oe(n,(h,f)=>h.concat(f),[]),c=x(l,h=>`[${x(h,f=>Nt(f)).join(", ")}]`),d=`one of these possible Token sequences:
59
+ ${x(c,(h,f)=>` ${f+1}. ${h}`).join(`
60
+ `)}`;return s+d+o}},buildEarlyExitMessage({expectedIterationPaths:n,actual:e,customUserDescription:t,ruleName:r}){const i="Expecting: ",a=`
61
+ but found: '`+Pe(e).image+"'";if(t)return i+t+a;{const l=`expecting at least one iteration which starts with one of these possible Token sequences::
62
+ <${x(n,c=>`[${x(c,u=>Nt(u)).join(",")}]`).join(" ,")}>`;return i+l+a}}};Object.freeze($t);const oh={buildRuleNotFoundError(n,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
+ inside top level rule: ->`+n.name+"<-"}},ct={buildDuplicateFoundError(n,e){function t(u){return u instanceof G?u.terminalType.name:u instanceof le?u.nonTerminalName:""}const r=n.name,i=Pe(e),s=i.idx,a=Ge(i),o=t(i),l=s>0;let c=`->${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 c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,`
67
+ `),c},buildNamespaceConflictError(n){return`Namespace conflict found in grammar.
68
+ The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${n.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(n){const e=x(n.prefixPath,i=>Nt(i)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;return`Ambiguous alternatives: <${n.ambiguityIndices.join(" ,")}> due to common lookahead prefix
72
+ in <OR${t}> inside <${n.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(n){const e=x(n.prefixPath,i=>Nt(i)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;let r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${n.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(n){let e=Ge(n.repetition);return n.repetition.idx!==0&&(e+=n.repetition.idx),`The repetition <${e}> within Rule <${n.topLevelRule.name}> can never consume any tokens.
79
+ This could lead to an infinite loop.`},buildTokenNameError(n){return"deprecated"},buildEmptyAlternationError(n){return`Ambiguous empty alternative: <${n.emptyChoiceIdx+1}> in <OR${n.alternation.idx}> inside <${n.topLevelRule.name}> Rule.
80
+ Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(n){return`An Alternation cannot have more than 256 alternatives:
81
+ <OR${n.alternation.idx}> inside <${n.topLevelRule.name}> Rule.
82
+ has ${n.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(n){const e=n.topLevelRule.name,t=x(n.leftRecursionPath,s=>s.name),r=`${e} --> ${t.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(n){return"deprecated"},buildDuplicateRuleNameError(n){let e;return n.topLevelRule instanceof en?e=n.topLevelRule.name:e=n.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${n.grammarName}<-`}};function lh(n,e){const t=new ch(n,e);return t.resolveRefs(),t.errors}class ch extends tn{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){C(z(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:ce.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class uh extends pi{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=ne(this.path.ruleStack).reverse(),this.occurrenceStack=ne(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){D(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class dh extends uh{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=t.concat(r),s=new he({definition:i});this.possibleTokTypes=er(s),this.found=!0}}}class gi extends pi{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class fh extends gi{walkMany(e,t,r){if(e.idx===this.occurrence){const i=Pe(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof G&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,t,r)}}class Ga extends gi{walkManySep(e,t,r){if(e.idx===this.occurrence){const i=Pe(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof G&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,t,r)}}class hh extends gi{walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){const i=Pe(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof G&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,t,r)}}class Ua extends gi{walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){const i=Pe(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof G&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,t,r)}}function os(n,e,t=[]){t=ne(t);let r=[],i=0;function s(o){return o.concat(J(n,i+1))}function a(o){const l=os(s(o),e,t);return r.concat(l)}for(;t.length<e&&i<n.length;){const o=n[i];if(o instanceof he)return a(o.definition);if(o instanceof le)return a(o.definition);if(o instanceof te)r=a(o.definition);else if(o instanceof xe){const l=o.definition.concat([new j({definition:o.definition})]);return a(l)}else if(o instanceof Ie){const l=[new he({definition:o.definition}),new j({definition:[new G({terminalType:o.separator})].concat(o.definition)})];return a(l)}else if(o instanceof me){const l=o.definition.concat([new j({definition:[new G({terminalType:o.separator})].concat(o.definition)})]);r=a(l)}else if(o instanceof j){const l=o.definition.concat([new j({definition:o.definition})]);r=a(l)}else{if(o instanceof ge)return C(o.definition,l=>{D(l.definition)===!1&&(r=a(l.definition))}),r;if(o instanceof G)t.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:t,suffixDef:J(n,i)}),r}function uc(n,e,t,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,c=l-r-1,u=[],d=[];for(d.push({idx:-1,def:n,ruleStack:[],occurrenceStack:[]});!D(d);){const h=d.pop();if(h===a){o&&Ht(d).idx<=c&&d.pop();continue}const f=h.def,m=h.idx,g=h.ruleStack,R=h.occurrenceStack;if(D(f))continue;const y=f[0];if(y===i){const A={idx:m,def:J(f),ruleStack:Hn(g),occurrenceStack:Hn(R)};d.push(A)}else if(y instanceof G)if(m<l-1){const A=m+1,v=e[A];if(t(v,y.terminalType)){const $={idx:A,def:J(f),ruleStack:g,occurrenceStack:R};d.push($)}}else if(m===l-1)u.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:g,occurrenceStack:R}),o=!0;else throw Error("non exhaustive match");else if(y instanceof le){const A=ne(g);A.push(y.nonTerminalName);const v=ne(R);v.push(y.idx);const $={idx:m,def:y.definition.concat(s,J(f)),ruleStack:A,occurrenceStack:v};d.push($)}else if(y instanceof te){const A={idx:m,def:J(f),ruleStack:g,occurrenceStack:R};d.push(A),d.push(a);const v={idx:m,def:y.definition.concat(J(f)),ruleStack:g,occurrenceStack:R};d.push(v)}else if(y instanceof xe){const A=new j({definition:y.definition,idx:y.idx}),v=y.definition.concat([A],J(f)),$={idx:m,def:v,ruleStack:g,occurrenceStack:R};d.push($)}else if(y instanceof Ie){const A=new G({terminalType:y.separator}),v=new j({definition:[A].concat(y.definition),idx:y.idx}),$=y.definition.concat([v],J(f)),F={idx:m,def:$,ruleStack:g,occurrenceStack:R};d.push(F)}else if(y instanceof me){const A={idx:m,def:J(f),ruleStack:g,occurrenceStack:R};d.push(A),d.push(a);const v=new G({terminalType:y.separator}),$=new j({definition:[v].concat(y.definition),idx:y.idx}),F=y.definition.concat([$],J(f)),re={idx:m,def:F,ruleStack:g,occurrenceStack:R};d.push(re)}else if(y instanceof j){const A={idx:m,def:J(f),ruleStack:g,occurrenceStack:R};d.push(A),d.push(a);const v=new j({definition:y.definition,idx:y.idx}),$=y.definition.concat([v],J(f)),F={idx:m,def:$,ruleStack:g,occurrenceStack:R};d.push(F)}else if(y instanceof ge)for(let A=y.definition.length-1;A>=0;A--){const v=y.definition[A],$={idx:m,def:v.definition.concat(J(f)),ruleStack:g,occurrenceStack:R};d.push($),d.push(a)}else if(y instanceof he)d.push({idx:m,def:y.definition.concat(J(f)),ruleStack:g,occurrenceStack:R});else if(y instanceof en)d.push(ph(y,m,g,R));else throw Error("non exhaustive match")}return u}function ph(n,e,t,r){const i=ne(t);i.push(n.name);const s=ne(r);return s.push(1),{idx:e,def:n.definition,ruleStack:i,occurrenceStack:s}}var B;(function(n){n[n.OPTION=0]="OPTION",n[n.REPETITION=1]="REPETITION",n[n.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",n[n.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",n[n.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",n[n.ALTERNATION=5]="ALTERNATION"})(B||(B={}));function Qs(n){if(n instanceof te||n==="Option")return B.OPTION;if(n instanceof j||n==="Repetition")return B.REPETITION;if(n instanceof xe||n==="RepetitionMandatory")return B.REPETITION_MANDATORY;if(n instanceof Ie||n==="RepetitionMandatoryWithSeparator")return B.REPETITION_MANDATORY_WITH_SEPARATOR;if(n instanceof me||n==="RepetitionWithSeparator")return B.REPETITION_WITH_SEPARATOR;if(n instanceof ge||n==="Alternation")return B.ALTERNATION;throw Error("non exhaustive match")}function Ba(n){const{occurrence:e,rule:t,prodType:r,maxLookahead:i}=n,s=Qs(r);return s===B.ALTERNATION?yi(e,t,i):Ti(e,t,s,i)}function mh(n,e,t,r,i,s){const a=yi(n,e,t),o=hc(a)?jr:tr;return s(a,r,o,i)}function gh(n,e,t,r,i,s){const a=Ti(n,e,i,t),o=hc(a)?jr:tr;return s(a[0],o,r)}function yh(n,e,t,r){const i=n.length,s=be(n,a=>be(a,o=>o.length===1));if(e)return function(a){const o=x(a,l=>l.GATE);for(let l=0;l<i;l++){const c=n[l],u=c.length,d=o[l];if(!(d!==void 0&&d.call(this)===!1))e:for(let h=0;h<u;h++){const f=c[h],m=f.length;for(let g=0;g<m;g++){const R=this.LA(g+1);if(t(R,f[g])===!1)continue e}return l}}};if(s&&!r){const a=x(n,l=>Ne(l)),o=oe(a,(l,c,u)=>(C(c,d=>{N(l,d.tokenTypeIdx)||(l[d.tokenTypeIdx]=u),C(d.categoryMatches,h=>{N(l,h)||(l[h]=u)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=n[a],l=o.length;e:for(let c=0;c<l;c++){const u=o[c],d=u.length;for(let h=0;h<d;h++){const f=this.LA(h+1);if(t(f,u[h])===!1)continue e}return a}}}}function Th(n,e,t){const r=be(n,s=>s.length===1),i=n.length;if(r&&!t){const s=Ne(n);if(s.length===1&&D(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=oe(s,(o,l,c)=>(o[l.tokenTypeIdx]=!0,C(l.categoryMatches,u=>{o[u]=!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=n[s],o=a.length;for(let l=0;l<o;l++){const c=this.LA(l+1);if(e(c,a[l])===!1)continue e}return!0}return!1}}class vh extends pi{constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===t?(this.restDef=r.concat(i),!0):!1}walkOption(e,t,r){this.checkIsTarget(e,B.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,B.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,B.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,B.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,B.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}}class dc extends tn{constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,B.OPTION)}visitRepetition(e){this.checkIsTarget(e,B.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,B.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,B.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,B.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,B.ALTERNATION)}}function Va(n){const e=new Array(n);for(let t=0;t<n;t++)e[t]=[];return e}function Pi(n){let e=[""];for(let t=0;t<n.length;t++){const r=n[t],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 Rh(n,e,t){for(let r=0;r<n.length;r++){if(r===t)continue;const i=n[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function fc(n,e){const t=x(n,a=>os([a],1)),r=Va(t.length),i=x(t,a=>{const o={};return C(a,l=>{const c=Pi(l.partialPath);C(c,u=>{o[u]=!0})}),o});let s=t;for(let a=1;a<=e;a++){const o=s;s=Va(o.length);for(let l=0;l<o.length;l++){const c=o[l];for(let u=0;u<c.length;u++){const d=c[u].partialPath,h=c[u].suffixDef,f=Pi(d);if(Rh(i,f,l)||D(h)||d.length===e){const g=r[l];if(ls(g,d)===!1){g.push(d);for(let R=0;R<f.length;R++){const y=f[R];i[l][y]=!0}}}else{const g=os(h,a+1,d);s[l]=s[l].concat(g),C(g,R=>{const y=Pi(R.partialPath);C(y,A=>{i[l][A]=!0})})}}}}return r}function yi(n,e,t,r){const i=new dc(n,B.ALTERNATION,r);return e.accept(i),fc(i.result,t)}function Ti(n,e,t,r){const i=new dc(n,t);e.accept(i);const s=i.result,o=new vh(e,n,t).startWalking(),l=new he({definition:s}),c=new he({definition:o});return fc([l,c],r)}function ls(n,e){e:for(let t=0;t<n.length;t++){const r=n[t];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 Ah(n,e){return n.length<e.length&&be(n,(t,r)=>{const i=e[r];return t===i||i.categoryMatchesMap[t.tokenTypeIdx]})}function hc(n){return be(n,e=>be(e,t=>be(t,r=>D(r.categoryMatches))))}function Eh(n){const e=n.lookaheadStrategy.validate({rules:n.rules,tokenTypes:n.tokenTypes,grammarName:n.grammarName});return x(e,t=>Object.assign({type:ce.CUSTOM_LOOKAHEAD_VALIDATION},t))}function kh(n,e,t,r){const i=Ee(n,l=>Sh(l,t)),s=Mh(n,e,t),a=Ee(n,l=>Lh(l,t)),o=Ee(n,l=>$h(l,n,r,t));return i.concat(s,a,o)}function Sh(n,e){const t=new Ih;n.accept(t);const r=t.allProductions,i=td(r,xh),s=Me(i,o=>o.length>1);return x(z(s),o=>{const l=Pe(o),c=e.buildDuplicateFoundError(n,o),u=Ge(l),d={message:c,type:ce.DUPLICATE_PRODUCTIONS,ruleName:n.name,dslName:u,occurrence:l.idx},h=pc(l);return h&&(d.parameter=h),d})}function xh(n){return`${Ge(n)}_#_${n.idx}_#_${pc(n)}`}function pc(n){return n instanceof G?n.terminalType.name:n instanceof le?n.nonTerminalName:""}class Ih extends tn{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 $h(n,e,t,r){const i=[];if(oe(e,(a,o)=>o.name===n.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:n,grammarName:t});i.push({message:a,type:ce.DUPLICATE_RULE_NAME,ruleName:n.name})}return i}function Ch(n,e,t){const r=[];let i;return ue(e,n)||(i=`Invalid rule override, rule: ->${n}<- cannot be overridden in the grammar: ->${t}<-as it is not defined in any of the super grammars `,r.push({message:i,type:ce.INVALID_RULE_OVERRIDE,ruleName:n})),r}function mc(n,e,t,r=[]){const i=[],s=Cr(e.definition);if(D(s))return[];{const a=n.name;ue(s,n)&&i.push({message:t.buildLeftRecursionError({topLevelRule:n,leftRecursionPath:r}),type:ce.LEFT_RECURSION,ruleName:a});const l=li(s,r.concat([n])),c=Ee(l,u=>{const d=ne(r);return d.push(u),mc(n,u,t,d)});return i.concat(c)}}function Cr(n){let e=[];if(D(n))return e;const t=Pe(n);if(t instanceof le)e.push(t.referencedRule);else if(t instanceof he||t instanceof te||t instanceof xe||t instanceof Ie||t instanceof me||t instanceof j)e=e.concat(Cr(t.definition));else if(t instanceof ge)e=Ne(x(t.definition,s=>Cr(s.definition)));else if(!(t instanceof G))throw Error("non exhaustive match");const r=Vr(t),i=n.length>1;if(r&&i){const s=J(n);return e.concat(Cr(s))}else return e}class Zs extends tn{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Nh(n,e){const t=new Zs;n.accept(t);const r=t.alternations;return Ee(r,s=>{const a=Hn(s.definition);return Ee(a,(o,l)=>{const c=uc([o],[],tr,1);return D(c)?[{message:e.buildEmptyAlternationError({topLevelRule:n,alternation:s,emptyChoiceIdx:l}),type:ce.NONE_LAST_EMPTY_ALT,ruleName:n.name,occurrence:s.idx,alternative:l+1}]:[]})})}function wh(n,e,t){const r=new Zs;n.accept(r);let i=r.alternations;return i=ci(i,a=>a.ignoreAmbiguities===!0),Ee(i,a=>{const o=a.idx,l=a.maxLookahead||e,c=yi(o,n,l,a),u=bh(c,a,n,t),d=Ph(c,a,n,t);return u.concat(d)})}class _h extends tn{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 Lh(n,e){const t=new Zs;n.accept(t);const r=t.alternations;return Ee(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:n,alternation:s}),type:ce.TOO_MANY_ALTS,ruleName:n.name,occurrence:s.idx}]:[])}function Oh(n,e,t){const r=[];return C(n,i=>{const s=new _h;i.accept(s);const a=s.allProductions;C(a,o=>{const l=Qs(o),c=o.maxLookahead||e,u=o.idx,h=Ti(u,i,l,c)[0];if(D(Ne(h))){const f=t.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:f,type:ce.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function bh(n,e,t,r){const i=[],s=oe(n,(o,l,c)=>(e.definition[c].ignoreAmbiguities===!0||C(l,u=>{const d=[c];C(n,(h,f)=>{c!==f&&ls(h,u)&&e.definition[f].ignoreAmbiguities!==!0&&d.push(f)}),d.length>1&&!ls(i,u)&&(i.push(u),o.push({alts:d,path:u}))}),o),[]);return x(s,o=>{const l=x(o.alts,u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:ce.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:o.alts}})}function Ph(n,e,t,r){const i=oe(n,(a,o,l)=>{const c=x(o,u=>({idx:l,path:u}));return a.concat(c)},[]);return Jn(Ee(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const l=a.idx,c=a.path,u=Se(i,h=>e.definition[h.idx].ignoreAmbiguities!==!0&&h.idx<l&&Ah(h.path,c));return x(u,h=>{const f=[h.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:f,prefixPath:h.path}),type:ce.AMBIGUOUS_PREFIX_ALTS,ruleName:t.name,occurrence:m,alternatives:f}})}))}function Mh(n,e,t){const r=[],i=x(e,s=>s.name);return C(n,s=>{const a=s.name;if(ue(i,a)){const o=t.buildNamespaceConflictError(s);r.push({message:o,type:ce.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function Dh(n){const e=Gs(n,{errMsgProvider:oh}),t={};return C(n.rules,r=>{t[r.name]=r}),lh(t,e.errMsgProvider)}function Fh(n){return n=Gs(n,{errMsgProvider:ct}),kh(n.rules,n.tokenTypes,n.errMsgProvider,n.grammarName)}const gc="MismatchedTokenException",yc="NoViableAltException",Tc="EarlyExitException",vc="NotAllInputParsedException",Rc=[gc,yc,Tc,vc];Object.freeze(Rc);function Kr(n){return ue(Rc,n.name)}class vi extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Ac extends vi{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=gc}}class Gh extends vi{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=yc}}class Uh extends vi{constructor(e,t){super(e,t),this.name=vc}}class Bh extends vi{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Tc}}const Mi={},Ec="InRuleRecoveryException";class Vh extends Error{constructor(e){super(e),this.name=Ec}}class Wh{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=N(e,"recoveryEnabled")?e.recoveryEnabled:Xe.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=jh)}getTokenToInsert(e){const t=Js(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const c=this.LA(1);let u=this.LA(1);const d=()=>{const h=this.LA(0),f=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:h,ruleName:this.getCurrRuleFullName()}),m=new Ac(f,c,this.LA(0));m.resyncedTokens=Hn(o),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(u,i)){d();return}else if(r.call(this)){d(),e.apply(this,t);return}else this.tokenMatcher(u,s)?l=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){const r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new Vh("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||D(t))return!1;const r=this.LA(1);return Kt(t,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const t=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(t);return ue(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let t=this.LA(1),r=2;for(;;){const i=Kt(e,s=>cc(t,s));if(i!==void 0)return i;t=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Mi;const e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return x(e,(r,i)=>i===0?Mi:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=x(this.buildFullFollowKeyStack(),t=>this.getFollowSetFromFollowKey(t));return Ne(e)}getFollowSetFromFollowKey(e){if(e===Mi)return[nt];const t=e.ruleName+e.idxInCallingRule+Ql+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,nt)||t.push(e),t}reSyncTo(e){const t=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return Hn(t)}attemptInRepetitionRecovery(e,t,r,i,s,a,o){}getCurrentGrammarPath(e,t){const r=this.getHumanReadableRuleStack(),i=ne(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return x(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function jh(n,e,t,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(l===void 0){const h=this.getCurrRuleFullName(),f=this.getGAstProductions()[h];l=new s(f,i).startWalking(),this.firstAfterRepMap[o]=l}let c=l.token,u=l.occurrence;const d=l.isEndOfRule;this.RULE_STACK.length===1&&d&&c===void 0&&(c=nt,u=1),!(c===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,u,a)&&this.tryInRepetitionRecovery(n,e,t,c)}const Kh=4,st=8,kc=1<<st,Sc=2<<st,cs=3<<st,us=4<<st,ds=5<<st,Nr=6<<st;function Di(n,e,t){return t|e|n}class ea{constructor(e){var t;this.maxLookahead=(t=e==null?void 0:e.maxLookahead)!==null&&t!==void 0?t:Xe.maxLookahead}validate(e){const t=this.validateNoLeftRecursion(e.rules);if(D(t)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...r,...i,...s]}return t}validateNoLeftRecursion(e){return Ee(e,t=>mc(t,t,ct))}validateEmptyOrAlternatives(e){return Ee(e,t=>Nh(t,ct))}validateAmbiguousAlternationAlternatives(e,t){return Ee(e,r=>wh(r,t,ct))}validateSomeNonEmptyLookaheadPath(e,t){return Oh(e,t,ct)}buildLookaheadForAlternation(e){return mh(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,yh)}buildLookaheadForOptional(e){return gh(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Qs(e.prodType),Th)}}class Hh{initLooksAhead(e){this.dynamicTokensEnabled=N(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Xe.dynamicTokensEnabled,this.maxLookahead=N(e,"maxLookahead")?e.maxLookahead:Xe.maxLookahead,this.lookaheadStrategy=N(e,"lookaheadStrategy")?e.lookaheadStrategy:new ea({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){C(e,t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=qh(t);C(r,c=>{const u=c.idx===0?"":c.idx;this.TRACE_INIT(`${Ge(c)}${u}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:t,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),h=Di(this.fullRuleNameToShort[t.name],kc,c.idx);this.setLaFuncCache(h,d)})}),C(i,c=>{this.computeLookaheadFunc(t,c.idx,cs,"Repetition",c.maxLookahead,Ge(c))}),C(s,c=>{this.computeLookaheadFunc(t,c.idx,Sc,"Option",c.maxLookahead,Ge(c))}),C(a,c=>{this.computeLookaheadFunc(t,c.idx,us,"RepetitionMandatory",c.maxLookahead,Ge(c))}),C(o,c=>{this.computeLookaheadFunc(t,c.idx,Nr,"RepetitionMandatoryWithSeparator",c.maxLookahead,Ge(c))}),C(l,c=>{this.computeLookaheadFunc(t,c.idx,ds,"RepetitionWithSeparator",c.maxLookahead,Ge(c))})})})}computeLookaheadFunc(e,t,r,i,s,a){this.TRACE_INIT(`${a}${t===0?"":t}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=Di(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,t){const r=this.getLastExplicitRuleShortName();return Di(r,e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}}class zh extends tn{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 Tr=new zh;function qh(n){Tr.reset(),n.accept(Tr);const e=Tr.dslMethods;return Tr.reset(),e}function Wa(n,e){isNaN(n.startOffset)===!0?(n.startOffset=e.startOffset,n.endOffset=e.endOffset):n.endOffset<e.endOffset&&(n.endOffset=e.endOffset)}function ja(n,e){isNaN(n.startOffset)===!0?(n.startOffset=e.startOffset,n.startColumn=e.startColumn,n.startLine=e.startLine,n.endOffset=e.endOffset,n.endColumn=e.endColumn,n.endLine=e.endLine):n.endOffset<e.endOffset&&(n.endOffset=e.endOffset,n.endColumn=e.endColumn,n.endLine=e.endLine)}function Yh(n,e,t){n.children[t]===void 0?n.children[t]=[e]:n.children[t].push(e)}function Xh(n,e,t){n.children[e]===void 0?n.children[e]=[t]:n.children[e].push(t)}const Jh="name";function xc(n,e){Object.defineProperty(n,Jh,{enumerable:!1,configurable:!0,writable:!1,value:e})}function Qh(n,e){const t=jt(n),r=t.length;for(let i=0;i<r;i++){const s=t[i],a=n[s],o=a.length;for(let l=0;l<o;l++){const c=a[l];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}}function Zh(n,e){const t=function(){};xc(t,n+"BaseSemantics");const r={visit:function(i,s){if(ee(i)&&(i=i[0]),!qe(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=tp(this,e);if(!D(i)){const s=x(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
88
+ ${s.join(`
89
+
90
+ `).replace(/\n/g,`
91
+ `)}`)}}};return t.prototype=r,t.prototype.constructor=t,t._RULE_NAMES=e,t}function ep(n,e,t){const r=function(){};xc(r,n+"BaseSemanticsWithDefaults");const i=Object.create(t.prototype);return C(e,s=>{i[s]=Qh}),r.prototype=i,r.prototype.constructor=r,r}var fs;(function(n){n[n.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",n[n.MISSING_METHOD=1]="MISSING_METHOD"})(fs||(fs={}));function tp(n,e){return np(n,e)}function np(n,e){const t=Se(e,i=>gt(n[i])===!1),r=x(t,i=>({msg:`Missing visitor method: <${i}> on ${n.constructor.name} CST Visitor.`,type:fs.MISSING_METHOD,methodName:i}));return Jn(r)}class rp{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=N(e,"nodeLocationTracking")?e.nodeLocationTracking:Xe.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Y,this.cstFinallyStateUpdate=Y,this.cstPostTerminal=Y,this.cstPostNonTerminal=Y,this.cstPostRule=Y;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=ja,this.setNodeLocationFromNode=ja,this.cstPostRule=Y,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Y,this.setNodeLocationFromNode=Y,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Wa,this.setNodeLocationFromNode=Wa,this.cstPostRule=Y,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Y,this.setNodeLocationFromNode=Y,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Y,this.setNodeLocationFromNode=Y,this.cstPostRule=Y,this.setInitialNodeLocation=Y;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 t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];Yh(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];Xh(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(qe(this.baseCstVisitorConstructor)){const e=Zh(this.className,jt(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(qe(this.baseCstVisitorWithDefaultsConstructor)){const e=ep(this.className,jt(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 ip{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)):zr}LA(e){const t=this.currIdx+e;return t<0||this.tokVectorLength<=t?zr:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class sp{ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=qr){if(ue(this.definedRulesNames,e)){const a={message:ct.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ce.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,t,r);return this[e]=i,i}OVERRIDE_RULE(e,t,r=qr){const i=Ch(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,t,r);return this[e]=s,s}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,t),!0}catch(i){if(Kr(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return pf(z(this.gastProductionsCache))}}class ap{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=jr,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},N(t,"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(ee(e)){if(D(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(ee(e))this.tokensMap=oe(e,(s,a)=>(s[a.name]=a,s),{});else if(N(e,"modes")&&be(Ne(z(e.modes)),ih)){const s=Ne(z(e.modes)),a=Us(s);this.tokensMap=oe(a,(o,l)=>(o[l.name]=l,o),{})}else if(Ou(e))this.tokensMap=ne(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=nt;const r=N(e,"modes")?Ne(z(e.modes)):z(e),i=be(r,s=>D(s.categoryMatches));this.tokenMatcher=i?jr:tr,nr(z(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
98
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=N(r,"resyncEnabled")?r.resyncEnabled:qr.resyncEnabled,s=N(r,"recoveryValueFunc")?r.recoveryValueFunc:qr.recoveryValueFunc,a=this.ruleShortNameIdx<<Kh+st;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...u){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,u);const d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...u){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,u)}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){const i=this.RULE_STACK.length===1,s=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Kr(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,t){const r=this.getKeyForAutomaticLookahead(Sc,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,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,t){const r=this.getKeyForAutomaticLookahead(us,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),s;if(typeof t!="function"){s=t.DEF;const a=t.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=t;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,B.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,us,e,hh)}atLeastOneSepFirstInternal(e,t){const r=this.getKeyForAutomaticLookahead(Nr,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){const i=t.DEF,s=t.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,Ua],o,Nr,e,Ua)}else throw this.raiseEarlyExitException(e,B.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){const r=this.getKeyForAutomaticLookahead(cs,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),s;if(typeof t!="function"){s=t.DEF;const o=t.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else s=t;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,cs,e,fh,a)}manySepFirstInternal(e,t){const r=this.getKeyForAutomaticLookahead(ds,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){const i=t.DEF,s=t.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,Ga],o,ds,e,Ga)}}repetitionSepSecondInternal(e,t,r,i,s){for(;r();)this.CONSUME(t),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,i,s],r,Nr,e,s)}doSingleRepetition(e){const t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){const r=this.getKeyForAutomaticLookahead(kc,t),i=ee(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(t,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),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Uh(t,e))}}subruleInternal(e,t,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=t,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,t,r){throw Kr(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,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,t,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,t,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:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Ac(i,t,s))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===Ec?r:s}}else throw r}saveRecogState(){const e=this.errors,t=ne(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 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),nt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class op{initErrorHandler(e){this._errors=[],this.errorMessageProvider=N(e,"errorMessageProvider")?e.errorMessageProvider:Xe.errorMessageProvider}SAVE_ERROR(e){if(Kr(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ne(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ne(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Ti(e,s,t,this.maxLookahead)[0],l=[];for(let u=1;u<=this.maxLookahead;u++)l.push(this.LA(u));const c=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new Bh(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=yi(e,i,this.maxLookahead),a=[];for(let c=1;c<=this.maxLookahead;c++)a.push(this.LA(c));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Gh(l,this.LA(1),o))}}class lp{initContentAssist(){}computeContentAssist(e,t){const r=this.gastProductionsCache[e];if(qe(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return uc([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const t=Pe(e.ruleStack),i=this.getGAstProductions()[t];return new dh(i,e).startWalking()}}const Ri={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Ri);const Ka=!0,Ha=Math.pow(2,st)-1,Ic=lc({name:"RECORDING_PHASE_TOKEN",pattern:de.NA});nr([Ic]);const $c=Js(Ic,`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($c);const cp={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 up{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const t=e>0?e:"";this[`CONSUME${t}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${t}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${t}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${t}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${t}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${t}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${t}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${t}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let t=0;t<10;t++){const r=t>0?t:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return zr}topLevelRuleRecord(e,t){try{const r=new en({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.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,t){return on.call(this,te,e,t)}atLeastOneInternalRecord(e,t){on.call(this,xe,t,e)}atLeastOneSepFirstInternalRecord(e,t){on.call(this,Ie,t,e,Ka)}manyInternalRecord(e,t){on.call(this,j,t,e)}manySepFirstInternalRecord(e,t){on.call(this,me,t,e,Ka)}orInternalRecord(e,t){return dp.call(this,e,t)}subruleInternalRecord(e,t,r){if(Hr(t),!e||N(e,"ruleName")===!1){const o=new Error(`<SUBRULE${za(t)}> 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=Ht(this.recordingProdStack),s=e.ruleName,a=new le({idx:t,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?cp:Ri}consumeInternalRecord(e,t,r){if(Hr(t),!ac(e)){const a=new Error(`<CONSUME${za(t)}> 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=Ht(this.recordingProdStack),s=new G({idx:t,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),$c}}function on(n,e,t,r=!1){Hr(t);const i=Ht(this.recordingProdStack),s=gt(e)?e:e.DEF,a=new n({definition:[],idx:t});return r&&(a.separator=e.SEP),N(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),Ri}function dp(n,e){Hr(e);const t=Ht(this.recordingProdStack),r=ee(n)===!1,i=r===!1?n:n.DEF,s=new ge({definition:[],idx:e,ignoreAmbiguities:r&&n.IGNORE_AMBIGUITIES===!0});N(n,"MAX_LOOKAHEAD")&&(s.maxLookahead=n.MAX_LOOKAHEAD);const a=Cl(i,o=>gt(o.GATE));return s.hasPredicates=a,t.definition.push(s),C(i,o=>{const l=new he({definition:[]});s.definition.push(l),N(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:N(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),Ri}function za(n){return n===0?"":`${n}`}function Hr(n){if(n<0||n>Ha){const e=new Error(`Invalid DSL Method idx value: <${n}>
105
+ Idx value must be a none negative value smaller than ${Ha+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class fp{initPerformanceTracer(e){if(N(e,"traceInitPerf")){const t=e.traceInitPerf,r=typeof t=="number";this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Xe.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){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}=Xl(t),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return t()}}function hp(n,e){e.forEach(t=>{const r=t.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(n.prototype,i,s):n.prototype[i]=t.prototype[i]})})}const zr=Js(nt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(zr);const Xe=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:$t,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),qr=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ce;(function(n){n[n.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",n[n.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",n[n.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",n[n.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",n[n.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",n[n.LEFT_RECURSION=5]="LEFT_RECURSION",n[n.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",n[n.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",n[n.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",n[n.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",n[n.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",n[n.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",n[n.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",n[n.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ce||(ce={}));function qa(n=void 0){return function(){return n}}class rr{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 t=this.className;this.TRACE_INIT("toFastProps",()=>{Jl(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),C(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=Dh({rules:z(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(D(r)&&this.skipValidations===!1){const i=Fh({rules:z(this.gastProductionsCache),tokenTypes:z(this.tokensMap),errMsgProvider:ct,grammarName:t}),s=Eh({lookaheadStrategy:this.lookaheadStrategy,rules:z(this.gastProductionsCache),tokenTypes:z(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(i,s)}}),D(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Af(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))})),!rr.DEFER_DEFINITION_ERRORS_HANDLING&&!D(this.definitionErrors))throw e=x(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
106
+ ${e.join(`
107
+ -------------------------------
108
+ `)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(t),r.initLexerAdapter(),r.initLooksAhead(t),r.initRecognizerEngine(e,t),r.initRecoverable(t),r.initTreeBuilder(t),r.initContentAssist(),r.initGastRecorder(t),r.initPerformanceTracer(t),N(t,"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=N(t,"skipValidations")?t.skipValidations:Xe.skipValidations}}rr.DEFER_DEFINITION_ERRORS_HANDLING=!1;hp(rr,[Wh,Hh,rp,ip,ap,sp,op,lp,up,fp]);class pp extends rr{constructor(e,t=Xe){const r=ne(t);r.outputCst=!1,super(e,r)}}function zt(n,e,t){return`${n.name}_${e}_${t}`}const rt=1,mp=2,Cc=4,Nc=5,ir=7,gp=8,yp=9,Tp=10,vp=11,wc=12;class ta{constructor(e){this.target=e}isEpsilon(){return!1}}class na extends ta{constructor(e,t){super(e),this.tokenType=t}}class _c extends ta{constructor(e){super(e)}isEpsilon(){return!0}}class ra extends ta{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function Rp(n){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Ap(e,n);const t=n.length;for(let r=0;r<t;r++){const i=n[r],s=Tt(e,i,i);s!==void 0&&Lp(e,i,s)}return e}function Ap(n,e){const t=e.length;for(let r=0;r<t;r++){const i=e[r],s=X(n,i,void 0,{type:mp}),a=X(n,i,void 0,{type:ir});s.stop=a,n.ruleToStartState.set(i,s),n.ruleToStopState.set(i,a)}}function Lc(n,e,t){return t instanceof G?ia(n,e,t.terminalType,t):t instanceof le?_p(n,e,t):t instanceof ge?Ip(n,e,t):t instanceof te?$p(n,e,t):t instanceof j?Ep(n,e,t):t instanceof me?kp(n,e,t):t instanceof xe?Sp(n,e,t):t instanceof Ie?xp(n,e,t):Tt(n,e,t)}function Ep(n,e,t){const r=X(n,e,t,{type:Nc});at(n,r);const i=nn(n,e,r,t,Tt(n,e,t));return bc(n,e,t,i)}function kp(n,e,t){const r=X(n,e,t,{type:Nc});at(n,r);const i=nn(n,e,r,t,Tt(n,e,t)),s=ia(n,e,t.separator,t);return bc(n,e,t,i,s)}function Sp(n,e,t){const r=X(n,e,t,{type:Cc});at(n,r);const i=nn(n,e,r,t,Tt(n,e,t));return Oc(n,e,t,i)}function xp(n,e,t){const r=X(n,e,t,{type:Cc});at(n,r);const i=nn(n,e,r,t,Tt(n,e,t)),s=ia(n,e,t.separator,t);return Oc(n,e,t,i,s)}function Ip(n,e,t){const r=X(n,e,t,{type:rt});at(n,r);const i=x(t.definition,a=>Lc(n,e,a));return nn(n,e,r,t,...i)}function $p(n,e,t){const r=X(n,e,t,{type:rt});at(n,r);const i=nn(n,e,r,t,Tt(n,e,t));return Cp(n,e,t,i)}function Tt(n,e,t){const r=Se(x(t.definition,i=>Lc(n,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:wp(n,r)}function Oc(n,e,t,r,i){const s=r.left,a=r.right,o=X(n,e,t,{type:vp});at(n,o);const l=X(n,e,t,{type:wc});return s.loopback=o,l.loopback=o,n.decisionMap[zt(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",t.idx)]=o,H(a,o),i===void 0?(H(o,s),H(o,l)):(H(o,l),H(o,i.left),H(i.right,s)),{left:s,right:l}}function bc(n,e,t,r,i){const s=r.left,a=r.right,o=X(n,e,t,{type:Tp});at(n,o);const l=X(n,e,t,{type:wc}),c=X(n,e,t,{type:yp});return o.loopback=c,l.loopback=c,H(o,s),H(o,l),H(a,c),i!==void 0?(H(c,l),H(c,i.left),H(i.right,s)):H(c,o),n.decisionMap[zt(e,i?"RepetitionWithSeparator":"Repetition",t.idx)]=o,{left:o,right:l}}function Cp(n,e,t,r){const i=r.left,s=r.right;return H(i,s),n.decisionMap[zt(e,"Option",t.idx)]=i,r}function at(n,e){return n.decisionStates.push(e),e.decision=n.decisionStates.length-1,e.decision}function nn(n,e,t,r,...i){const s=X(n,e,r,{type:gp,start:t});t.end=s;for(const o of i)o!==void 0?(H(t,o.left),H(o.right,s)):H(t,s);const a={left:t,right:s};return n.decisionMap[zt(e,Np(r),r.idx)]=t,a}function Np(n){if(n instanceof ge)return"Alternation";if(n instanceof te)return"Option";if(n instanceof j)return"Repetition";if(n instanceof me)return"RepetitionWithSeparator";if(n instanceof xe)return"RepetitionMandatory";if(n instanceof Ie)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function wp(n,e){const t=e.length;for(let s=0;s<t-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const l=o instanceof ra,c=o,u=e[s+1].left;a.left.type===rt&&a.right.type===rt&&o!==void 0&&(l&&c.followState===a.right||o.target===a.right)?(l?c.followState=u:o.target=u,Op(n,a.right)):H(a.right,u)}const r=e[0],i=e[t-1];return{left:r.left,right:i.right}}function ia(n,e,t,r){const i=X(n,e,r,{type:rt}),s=X(n,e,r,{type:rt});return sa(i,new na(s,t)),{left:i,right:s}}function _p(n,e,t){const r=t.referencedRule,i=n.ruleToStartState.get(r),s=X(n,e,t,{type:rt}),a=X(n,e,t,{type:rt}),o=new ra(i,r,a);return sa(s,o),{left:s,right:a}}function Lp(n,e,t){const r=n.ruleToStartState.get(e);H(r,t.left);const i=n.ruleToStopState.get(e);return H(t.right,i),{left:r,right:i}}function H(n,e){const t=new _c(e);sa(n,t)}function X(n,e,t,r){const i=Object.assign({atn:n,production:t,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:n.states.length},r);return n.states.push(i),i}function sa(n,e){n.transitions.length===0&&(n.epsilonOnlyTransitions=e.isEpsilon()),n.transitions.push(e)}function Op(n,e){n.states.splice(n.states.indexOf(e),1)}const Yr={};class hs{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const t=Pc(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return x(this.configs,e=>e.alt)}get key(){let e="";for(const t in this.map)e+=t+":";return e}}function Pc(n,e=!0){return`${e?`a${n.alt}`:""}s${n.state.stateNumber}:${n.stack.map(t=>t.stateNumber.toString()).join("_")}`}function bp(n,e){const t={};return r=>{const i=r.toString();let s=t[i];return s!==void 0||(s={atnStartState:n,decision:e,states:{}},t[i]=s),s}}class Mc{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="";const t=this.predicates.length;for(let r=0;r<t;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const Ya=new Mc;class Pp extends ea{constructor(e){var t;super(),this.logging=(t=e==null?void 0:e.logging)!==null&&t!==void 0?t:r=>console.log(r)}initialize(e){this.atn=Rp(e.rules),this.dfas=Mp(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:t,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=zt(r,"Alternation",t),u=this.atn.decisionMap[l].decision,d=x(Ba({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),h=>x(h,f=>f[0]));if(Xa(d,!1)&&!s){const h=oe(d,(f,m,g)=>(C(m,R=>{R&&(f[R.tokenTypeIdx]=g,C(R.categoryMatches,y=>{f[y]=g}))}),f),{});return i?function(f){var m;const g=this.LA(1),R=h[g.tokenTypeIdx];if(f!==void 0&&R!==void 0){const y=(m=f[R])===null||m===void 0?void 0:m.GATE;if(y!==void 0&&y.call(this)===!1)return}return R}:function(){const f=this.LA(1);return h[f.tokenTypeIdx]}}else return i?function(h){const f=new Mc,m=h===void 0?0:h.length;for(let R=0;R<m;R++){const y=h==null?void 0:h[R].GATE;f.set(R,y===void 0||y.call(this))}const g=Fi.call(this,a,u,f,o);return typeof g=="number"?g:void 0}:function(){const h=Fi.call(this,a,u,Ya,o);return typeof h=="number"?h:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:t,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=zt(r,i,t),u=this.atn.decisionMap[l].decision,d=x(Ba({maxLookahead:1,occurrence:t,prodType:i,rule:r}),h=>x(h,f=>f[0]));if(Xa(d)&&d[0][0]&&!s){const h=d[0],f=Ne(h);if(f.length===1&&D(f[0].categoryMatches)){const g=f[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===g}}else{const m=oe(f,(g,R)=>(R!==void 0&&(g[R.tokenTypeIdx]=!0,C(R.categoryMatches,y=>{g[y]=!0})),g),{});return function(){const g=this.LA(1);return m[g.tokenTypeIdx]===!0}}}return function(){const h=Fi.call(this,a,u,Ya,o);return typeof h=="object"?!1:h===0}}}function Xa(n,e=!0){const t=new Set;for(const r of n){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(t.has(o)){if(!i.has(o))return!1}else t.add(o),i.add(o)}}return!0}function Mp(n){const e=n.decisionStates.length,t=Array(e);for(let r=0;r<e;r++)t[r]=bp(n.decisionStates[r],r);return t}function Fi(n,e,t,r){const i=n[e](t);let s=i.start;if(s===void 0){const o=zp(i.atnStartState);s=Fc(i,Dc(o)),i.start=s}return Dp.apply(this,[i,s,t,r])}function Dp(n,e,t,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=Wp(i,o);if(l===void 0&&(l=Fp.apply(this,[n,i,o,s,t,r])),l===Yr)return Vp(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function Fp(n,e,t,r,i,s){const a=jp(e.configs,t,i);if(a.size===0)return Ja(n,e,t,Yr),Yr;let o=Dc(a);const l=Hp(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(Jp(a)){const c=Wu(a.alts);o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c,Gp.apply(this,[n,r,a.alts,s])}return o=Ja(n,e,t,o),o}function Gp(n,e,t,r){const i=[];for(let c=1;c<=e;c++)i.push(this.LA(c).tokenType);const s=n.atnStartState,a=s.rule,o=s.production,l=Up({topLevelRule:a,ambiguityIndices:t,production:o,prefixPath:i});r(l)}function Up(n){const e=x(n.prefixPath,i=>Nt(i)).join(", "),t=n.production.idx===0?"":n.production.idx;let r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(", ")}> in <${Bp(n.production)}${t}> inside <${n.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 Bp(n){if(n instanceof le)return"SUBRULE";if(n instanceof te)return"OPTION";if(n instanceof ge)return"OR";if(n instanceof xe)return"AT_LEAST_ONE";if(n instanceof Ie)return"AT_LEAST_ONE_SEP";if(n instanceof me)return"MANY_SEP";if(n instanceof j)return"MANY";if(n instanceof G)return"CONSUME";throw Error("non exhaustive match")}function Vp(n,e,t){const r=Ee(e.configs.elements,s=>s.state.transitions),i=cd(r.filter(s=>s instanceof na).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:t,possibleTokenTypes:i,tokenPath:n}}function Wp(n,e){return n.edges[e.tokenTypeIdx]}function jp(n,e,t){const r=new hs,i=[];for(const a of n.elements){if(t.is(a.alt)===!1)continue;if(a.state.type===ir){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l<o;l++){const c=a.state.transitions[l],u=Kp(c,e);u!==void 0&&r.add({state:u,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new hs;for(const a of r.elements)Xr(a,s)}if(i.length>0&&!Yp(s))for(const a of i)s.add(a);return s}function Kp(n,e){if(n instanceof na&&cc(e,n.tokenType))return n.target}function Hp(n,e){let t;for(const r of n.elements)if(e.is(r.alt)===!0){if(t===void 0)t=r.alt;else if(t!==r.alt)return}return t}function Dc(n){return{configs:n,edges:{},isAcceptState:!1,prediction:-1}}function Ja(n,e,t,r){return r=Fc(n,r),e.edges[t.tokenTypeIdx]=r,r}function Fc(n,e){if(e===Yr)return e;const t=e.configs.key,r=n.states[t];return r!==void 0?r:(e.configs.finalize(),n.states[t]=e,e)}function zp(n){const e=new hs,t=n.transitions.length;for(let r=0;r<t;r++){const s={state:n.transitions[r].target,alt:r,stack:[]};Xr(s,e)}return e}function Xr(n,e){const t=n.state;if(t.type===ir){if(n.stack.length>0){const i=[...n.stack],a={state:i.pop(),alt:n.alt,stack:i};Xr(a,e)}else e.add(n);return}t.epsilonOnlyTransitions||e.add(n);const r=t.transitions.length;for(let i=0;i<r;i++){const s=t.transitions[i],a=qp(n,s);a!==void 0&&Xr(a,e)}}function qp(n,e){if(e instanceof _c)return{state:e.target,alt:n.alt,stack:n.stack};if(e instanceof ra){const t=[...n.stack,e.followState];return{state:e.target,alt:n.alt,stack:t}}}function Yp(n){for(const e of n.elements)if(e.state.type===ir)return!0;return!1}function Xp(n){for(const e of n.elements)if(e.state.type!==ir)return!1;return!0}function Jp(n){if(Xp(n))return!0;const e=Qp(n.elements);return Zp(e)&&!em(e)}function Qp(n){const e=new Map;for(const t of n){const r=Pc(t,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[t.alt]=!0}return e}function Zp(n){for(const e of Array.from(n.values()))if(Object.keys(e).length>1)return!0;return!1}function em(n){for(const e of Array.from(n.values()))if(Object.keys(e).length===1)return!0;return!1}var Qa;(function(n){function e(t){return typeof t=="string"}n.is=e})(Qa||(Qa={}));var ps;(function(n){function e(t){return typeof t=="string"}n.is=e})(ps||(ps={}));var Za;(function(n){n.MIN_VALUE=-2147483648,n.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}n.is=e})(Za||(Za={}));var Jr;(function(n){n.MIN_VALUE=0,n.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}n.is=e})(Jr||(Jr={}));var P;(function(n){function e(r,i){return r===Number.MAX_VALUE&&(r=Jr.MAX_VALUE),i===Number.MAX_VALUE&&(i=Jr.MAX_VALUE),{line:r,character:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}n.is=t})(P||(P={}));var b;(function(n){function e(r,i,s,a){if(p.uinteger(r)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:P.create(r,i),end:P.create(s,a)};if(P.is(r)&&P.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&P.is(i.start)&&P.is(i.end)}n.is=t})(b||(b={}));var Qr;(function(n){function e(r,i){return{uri:r,range:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&b.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}n.is=t})(Qr||(Qr={}));var eo;(function(n){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&b.is(i.targetRange)&&p.string(i.targetUri)&&b.is(i.targetSelectionRange)&&(b.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}n.is=t})(eo||(eo={}));var ms;(function(n){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}n.create=e;function t(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)}n.is=t})(ms||(ms={}));var to;(function(n){function e(r,i){return{range:r,color:i}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&b.is(i.range)&&ms.is(i.color)}n.is=t})(to||(to={}));var no;(function(n){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||Yt.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,Yt.is))}n.is=t})(no||(no={}));var ro;(function(n){n.Comment="comment",n.Imports="imports",n.Region="region"})(ro||(ro={}));var io;(function(n){function e(r,i,s,a,o,l){const c={startLine:r,endLine:i};return p.defined(s)&&(c.startCharacter=s),p.defined(a)&&(c.endCharacter=a),p.defined(o)&&(c.kind=o),p.defined(l)&&(c.collapsedText=l),c}n.create=e;function t(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))}n.is=t})(io||(io={}));var gs;(function(n){function e(r,i){return{location:r,message:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&Qr.is(i.location)&&p.string(i.message)}n.is=t})(gs||(gs={}));var so;(function(n){n.Error=1,n.Warning=2,n.Information=3,n.Hint=4})(so||(so={}));var ao;(function(n){n.Unnecessary=1,n.Deprecated=2})(ao||(ao={}));var oo;(function(n){function e(t){const r=t;return p.objectLiteral(r)&&p.string(r.href)}n.is=e})(oo||(oo={}));var Zr;(function(n){function e(r,i,s,a,o,l){let c={range:r,message:i};return p.defined(s)&&(c.severity=s),p.defined(a)&&(c.code=a),p.defined(o)&&(c.source=o),p.defined(l)&&(c.relatedInformation=l),c}n.create=e;function t(r){var i;let s=r;return p.defined(s)&&b.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,gs.is))}n.is=t})(Zr||(Zr={}));var qt;(function(n){function e(r,i,...s){let a={title:r,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}n.is=t})(qt||(qt={}));var Yt;(function(n){function e(s,a){return{range:s,newText:a}}n.replace=e;function t(s,a){return{range:{start:s,end:s},newText:a}}n.insert=t;function r(s){return{range:s,newText:""}}n.del=r;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&b.is(a.range)}n.is=i})(Yt||(Yt={}));var ys;(function(n){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}n.create=e;function t(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)}n.is=t})(ys||(ys={}));var Xt;(function(n){function e(t){const r=t;return p.string(r)}n.is=e})(Xt||(Xt={}));var lo;(function(n){function e(s,a,o){return{range:s,newText:a,annotationId:o}}n.replace=e;function t(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}n.insert=t;function r(s,a){return{range:s,newText:"",annotationId:a}}n.del=r;function i(s){const a=s;return Yt.is(a)&&(ys.is(a.annotationId)||Xt.is(a.annotationId))}n.is=i})(lo||(lo={}));var Ts;(function(n){function e(r,i){return{textDocument:r,edits:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&ks.is(i.textDocument)&&Array.isArray(i.edits)}n.is=t})(Ts||(Ts={}));var vs;(function(n){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}n.create=e;function t(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||Xt.is(i.annotationId))}n.is=t})(vs||(vs={}));var Rs;(function(n){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}n.create=e;function t(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||Xt.is(i.annotationId))}n.is=t})(Rs||(Rs={}));var As;(function(n){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}n.create=e;function t(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||Xt.is(i.annotationId))}n.is=t})(As||(As={}));var Es;(function(n){function e(t){let r=t;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>p.string(i.kind)?vs.is(i)||Rs.is(i)||As.is(i):Ts.is(i)))}n.is=e})(Es||(Es={}));var co;(function(n){function e(r){return{uri:r}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)}n.is=t})(co||(co={}));var uo;(function(n){function e(r,i){return{uri:r,version:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}n.is=t})(uo||(uo={}));var ks;(function(n){function e(r,i){return{uri:r,version:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}n.is=t})(ks||(ks={}));var fo;(function(n){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}n.is=t})(fo||(fo={}));var Ss;(function(n){n.PlainText="plaintext",n.Markdown="markdown";function e(t){const r=t;return r===n.PlainText||r===n.Markdown}n.is=e})(Ss||(Ss={}));var qn;(function(n){function e(t){const r=t;return p.objectLiteral(t)&&Ss.is(r.kind)&&p.string(r.value)}n.is=e})(qn||(qn={}));var ho;(function(n){n.Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25})(ho||(ho={}));var po;(function(n){n.PlainText=1,n.Snippet=2})(po||(po={}));var mo;(function(n){n.Deprecated=1})(mo||(mo={}));var go;(function(n){function e(r,i,s){return{newText:r,insert:i,replace:s}}n.create=e;function t(r){const i=r;return i&&p.string(i.newText)&&b.is(i.insert)&&b.is(i.replace)}n.is=t})(go||(go={}));var yo;(function(n){n.asIs=1,n.adjustIndentation=2})(yo||(yo={}));var To;(function(n){function e(t){const r=t;return r&&(p.string(r.detail)||r.detail===void 0)&&(p.string(r.description)||r.description===void 0)}n.is=e})(To||(To={}));var vo;(function(n){function e(t){return{label:t}}n.create=e})(vo||(vo={}));var Ro;(function(n){function e(t,r){return{items:t||[],isIncomplete:!!r}}n.create=e})(Ro||(Ro={}));var ei;(function(n){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}n.fromPlainText=e;function t(r){const i=r;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}n.is=t})(ei||(ei={}));var Ao;(function(n){function e(t){let r=t;return!!r&&p.objectLiteral(r)&&(qn.is(r.contents)||ei.is(r.contents)||p.typedArray(r.contents,ei.is))&&(t.range===void 0||b.is(t.range))}n.is=e})(Ao||(Ao={}));var Eo;(function(n){function e(t,r){return r?{label:t,documentation:r}:{label:t}}n.create=e})(Eo||(Eo={}));var ko;(function(n){function e(t,r,...i){let s={label:t};return p.defined(r)&&(s.documentation=r),p.defined(i)?s.parameters=i:s.parameters=[],s}n.create=e})(ko||(ko={}));var So;(function(n){n.Text=1,n.Read=2,n.Write=3})(So||(So={}));var xo;(function(n){function e(t,r){let i={range:t};return p.number(r)&&(i.kind=r),i}n.create=e})(xo||(xo={}));var Io;(function(n){n.File=1,n.Module=2,n.Namespace=3,n.Package=4,n.Class=5,n.Method=6,n.Property=7,n.Field=8,n.Constructor=9,n.Enum=10,n.Interface=11,n.Function=12,n.Variable=13,n.Constant=14,n.String=15,n.Number=16,n.Boolean=17,n.Array=18,n.Object=19,n.Key=20,n.Null=21,n.EnumMember=22,n.Struct=23,n.Event=24,n.Operator=25,n.TypeParameter=26})(Io||(Io={}));var $o;(function(n){n.Deprecated=1})($o||($o={}));var Co;(function(n){function e(t,r,i,s,a){let o={name:t,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}n.create=e})(Co||(Co={}));var No;(function(n){function e(t,r,i,s){return s!==void 0?{name:t,kind:r,location:{uri:i,range:s}}:{name:t,kind:r,location:{uri:i}}}n.create=e})(No||(No={}));var wo;(function(n){function e(r,i,s,a,o,l){let c={name:r,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(c.children=l),c}n.create=e;function t(r){let i=r;return i&&p.string(i.name)&&p.number(i.kind)&&b.is(i.range)&&b.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))}n.is=t})(wo||(wo={}));var _o;(function(n){n.Empty="",n.QuickFix="quickfix",n.Refactor="refactor",n.RefactorExtract="refactor.extract",n.RefactorInline="refactor.inline",n.RefactorRewrite="refactor.rewrite",n.Source="source",n.SourceOrganizeImports="source.organizeImports",n.SourceFixAll="source.fixAll"})(_o||(_o={}));var ti;(function(n){n.Invoked=1,n.Automatic=2})(ti||(ti={}));var Lo;(function(n){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}n.create=e;function t(r){let i=r;return p.defined(i)&&p.typedArray(i.diagnostics,Zr.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===ti.Invoked||i.triggerKind===ti.Automatic)}n.is=t})(Lo||(Lo={}));var Oo;(function(n){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):qt.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}n.create=e;function t(r){let i=r;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,Zr.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||qt.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||Es.is(i.edit))}n.is=t})(Oo||(Oo={}));var bo;(function(n){function e(r,i){let s={range:r};return p.defined(i)&&(s.data=i),s}n.create=e;function t(r){let i=r;return p.defined(i)&&b.is(i.range)&&(p.undefined(i.command)||qt.is(i.command))}n.is=t})(bo||(bo={}));var Po;(function(n){function e(r,i){return{tabSize:r,insertSpaces:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}n.is=t})(Po||(Po={}));var Mo;(function(n){function e(r,i,s){return{range:r,target:i,data:s}}n.create=e;function t(r){let i=r;return p.defined(i)&&b.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}n.is=t})(Mo||(Mo={}));var Do;(function(n){function e(r,i){return{range:r,parent:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&b.is(i.range)&&(i.parent===void 0||n.is(i.parent))}n.is=t})(Do||(Do={}));var Fo;(function(n){n.namespace="namespace",n.type="type",n.class="class",n.enum="enum",n.interface="interface",n.struct="struct",n.typeParameter="typeParameter",n.parameter="parameter",n.variable="variable",n.property="property",n.enumMember="enumMember",n.event="event",n.function="function",n.method="method",n.macro="macro",n.keyword="keyword",n.modifier="modifier",n.comment="comment",n.string="string",n.number="number",n.regexp="regexp",n.operator="operator",n.decorator="decorator"})(Fo||(Fo={}));var Go;(function(n){n.declaration="declaration",n.definition="definition",n.readonly="readonly",n.static="static",n.deprecated="deprecated",n.abstract="abstract",n.async="async",n.modification="modification",n.documentation="documentation",n.defaultLibrary="defaultLibrary"})(Go||(Go={}));var Uo;(function(n){function e(t){const r=t;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")}n.is=e})(Uo||(Uo={}));var Bo;(function(n){function e(r,i){return{range:r,text:i}}n.create=e;function t(r){const i=r;return i!=null&&b.is(i.range)&&p.string(i.text)}n.is=t})(Bo||(Bo={}));var Vo;(function(n){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}n.create=e;function t(r){const i=r;return i!=null&&b.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}n.is=t})(Vo||(Vo={}));var Wo;(function(n){function e(r,i){return{range:r,expression:i}}n.create=e;function t(r){const i=r;return i!=null&&b.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}n.is=t})(Wo||(Wo={}));var jo;(function(n){function e(r,i){return{frameId:r,stoppedLocation:i}}n.create=e;function t(r){const i=r;return p.defined(i)&&b.is(r.stoppedLocation)}n.is=t})(jo||(jo={}));var xs;(function(n){n.Type=1,n.Parameter=2;function e(t){return t===1||t===2}n.is=e})(xs||(xs={}));var Is;(function(n){function e(r){return{value:r}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||qn.is(i.tooltip))&&(i.location===void 0||Qr.is(i.location))&&(i.command===void 0||qt.is(i.command))}n.is=t})(Is||(Is={}));var Ko;(function(n){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&P.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,Is.is))&&(i.kind===void 0||xs.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,Yt.is)&&(i.tooltip===void 0||p.string(i.tooltip)||qn.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}n.is=t})(Ko||(Ko={}));var Ho;(function(n){function e(t){return{kind:"snippet",value:t}}n.createSnippet=e})(Ho||(Ho={}));var zo;(function(n){function e(t,r,i,s){return{insertText:t,filterText:r,range:i,command:s}}n.create=e})(zo||(zo={}));var qo;(function(n){function e(t){return{items:t}}n.create=e})(qo||(qo={}));var Yo;(function(n){n.Invoked=0,n.Automatic=1})(Yo||(Yo={}));var Xo;(function(n){function e(t,r){return{range:t,text:r}}n.create=e})(Xo||(Xo={}));var Jo;(function(n){function e(t,r){return{triggerKind:t,selectedCompletionInfo:r}}n.create=e})(Jo||(Jo={}));var Qo;(function(n){function e(t){const r=t;return p.objectLiteral(r)&&ps.is(r.uri)&&p.string(r.name)}n.is=e})(Qo||(Qo={}));var Zo;(function(n){function e(s,a,o,l){return new tm(s,a,o,l)}n.create=e;function t(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))}n.is=t;function r(s,a){let o=s.getText(),l=i(a,(u,d)=>{let h=u.range.start.line-d.range.start.line;return h===0?u.range.start.character-d.range.start.character:h}),c=o.length;for(let u=l.length-1;u>=0;u--){let d=l[u],h=s.offsetAt(d.range.start),f=s.offsetAt(d.range.end);if(f<=c)o=o.substring(0,h)+d.newText+o.substring(f,o.length);else throw new Error("Overlapping edit");c=h}return o}n.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),c=s.slice(o);i(l,a),i(c,a);let u=0,d=0,h=0;for(;u<l.length&&d<c.length;)a(l[u],c[d])<=0?s[h++]=l[u++]:s[h++]=c[d++];for(;u<l.length;)s[h++]=l[u++];for(;d<c.length;)s[h++]=c[d++];return s}})(Zo||(Zo={}));let tm=class{constructor(e,t,r,i){this._uri=e,this._languageId=t,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 t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,r=!0;for(let i=0;i<t.length;i++){r&&(e.push(i),r=!1);let s=t.charAt(i);r=s==="\r"||s===`
115
+ `,s==="\r"&&i+1<t.length&&t.charAt(i+1)===`
116
+ `&&i++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,i=t.length;if(i===0)return P.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);t[a]>e?i=a:r=a+1}let s=r-1;return P.create(s,e-t[s])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],i=e.line+1<t.length?t[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(n){const e=Object.prototype.toString;function t(f){return typeof f<"u"}n.defined=t;function r(f){return typeof f>"u"}n.undefined=r;function i(f){return f===!0||f===!1}n.boolean=i;function s(f){return e.call(f)==="[object String]"}n.string=s;function a(f){return e.call(f)==="[object Number]"}n.number=a;function o(f,m,g){return e.call(f)==="[object Number]"&&m<=f&&f<=g}n.numberRange=o;function l(f){return e.call(f)==="[object Number]"&&-2147483648<=f&&f<=2147483647}n.integer=l;function c(f){return e.call(f)==="[object Number]"&&0<=f&&f<=2147483647}n.uinteger=c;function u(f){return e.call(f)==="[object Function]"}n.func=u;function d(f){return f!==null&&typeof f=="object"}n.objectLiteral=d;function h(f,m){return Array.isArray(f)&&f.every(m)}n.typedArray=h})(p||(p={}));class nm{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 Uc(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const t=new aa;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){const r=new $s(e.startOffset,e.image.length,es(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const t=e.container;if(t){const r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){const t=[];for(const s of e){const a=new $s(s.startOffset,s.image.length,es(s),s.tokenType,!0);a.root=this.rootNode,t.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...t);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...t),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...t)}construct(e){const t=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=t;const r=this.nodeStack.pop();(r==null?void 0:r.content.length)===0&&this.removeNode(r)}}class Gc{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(t=this.container)===null||t===void 0?void 0:t.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 $s extends Gc{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=t,this._range=r}}class aa extends Gc{constructor(){super(...arguments),this.content=new oa(this)}get children(){return this.content}get offset(){var e,t;return(t=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&t!==void 0?t:0}get length(){return this.end-this.offset}get end(){var e,t;return(t=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&t!==void 0?t:0}get range(){const e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=t;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:P.create(0,0),end:P.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 t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class oa extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,oa.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(const t of e)t.container=this.parent}}class Uc extends aa{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Cs=Symbol("Datatype");function Gi(n){return n.$type===Cs}const el="​",Bc=n=>n.endsWith(el)?n:n+el;class Vc{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const t=this.lexer.definition,r=e.LanguageMetaData.mode==="production";this.wrapper=new om(t,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class rm extends Vc{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new nm,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(Bc(e.name),this.startImplementation(r,t).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(zl(e))return Cs;{const t=Hs(e);return t??e.name}}}parse(e,t={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=t.rule?this.allRules.get(t.rule):this.mainRule;if(!i)throw new Error(t.rule?`No rule found with name '${t.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,t){return r=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===Cs&&(a.value="")}let s;try{s=t(r)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const t=this.lexerResult.hidden;if(!t.length)return[];const r=e.startOffset;for(let i=0;i<t.length;i++)if(t[i].startOffset>r)return t.splice(0,i);return t.splice(0,t.length)}consume(e,t,r){const i=this.wrapper.wrapConsume(e,t);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),c=this.current;if(o){const u=dt(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,l)}else if(Gi(c)){let u=i.image;dt(r)||(u=this.converter.convert(u,a).toString()),c.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,t,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,t,r){const{assignment:i,isCrossRef:s}=this.getAssignment(t);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Gi(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,t){if(!this.isRecording()){let r=this.current;if(t.feature&&t.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(t.operator,t.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return Md(e),this.nodeBuilder.construct(e),this.stack.pop(),Gi(e)?this.converter.convert(e.value,e.$cstNode):(Dd(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const t=di(e,ut);this.assignmentMap.set(e,{assignment:t,isCrossRef:t?Vs(t.terminal):!1})}return this.assignmentMap.get(e)}assign(e,t,r,i,s){const a=this.current;let o;switch(s&&typeof r=="string"?o=this.linker.buildReference(a,t,i,r):o=r,e){case"=":{a[t]=o;break}case"?=":{a[t]=!0;break}case"+=":Array.isArray(a[t])||(a[t]=[]),a[t].push(o)}}assignWithoutOverride(e,t){for(const[i,s]of Object.entries(t)){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 im{buildMismatchTokenMessage(e){return $t.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return $t.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return $t.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return $t.buildEarlyExitMessage(e)}}class Wc extends im{buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class sm extends Vc{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){const r=this.wrapper.DEFINE_RULE(Bc(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{const r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,t,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}const am={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Wc};class om extends pp{constructor(e,t){const r=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},am),{lookaheadStrategy:r?new ea({maxLookahead:t.maxLookahead}):new Pp({logging:t.skipValidations?()=>{}:void 0})}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}}function jc(n,e,t){return lm({parser:e,tokens:t,ruleNames:new Map},n),e}function lm(n,e){const t=Vl(e,!1),r=Z(e.rules).filter(we).filter(i=>t.has(i));for(const i of r){const s=Object.assign(Object.assign({},n),{consume:1,optional:1,subrule:1,many:1,or:1});n.parser.rule(i,pt(s,i.definition))}}function pt(n,e,t=!1){let r;if(dt(e))r=mm(n,e);else if(ui(e))r=cm(n,e);else if(ut(e))r=pt(n,e.terminal);else if(Vs(e))r=Kc(n,e);else if(ft(e))r=um(n,e);else if(Ml(e))r=fm(n,e);else if(Dl(e))r=hm(n,e);else if(Ws(e))r=pm(n,e);else if(Cd(e)){const i=n.consume++;r=()=>n.parser.consume(i,nt,e)}else throw new Ll(e.$cstNode,`Unexpected element type: ${e.$type}`);return Hc(n,t?void 0:ni(e),r,e.cardinality)}function cm(n,e){const t=zs(e);return()=>n.parser.action(t,e)}function um(n,e){const t=e.rule.ref;if(we(t)){const r=n.subrule++,i=t.fragment,s=e.arguments.length>0?dm(t,e.arguments):()=>({});return a=>n.parser.subrule(r,zc(n,t),i,e,s(a))}else if(yt(t)){const r=n.consume++,i=Ns(n,t.name);return()=>n.parser.consume(r,i,e)}else if(t)Qn();else throw new Ll(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function dm(n,e){const t=e.map(r=>He(r.value));return r=>{const i={};for(let s=0;s<t.length;s++){const a=n.parameters[s],o=t[s];i[a.name]=o(r)}return i}}function He(n){if(Ed(n)){const e=He(n.left),t=He(n.right);return r=>e(r)||t(r)}else if(Ad(n)){const e=He(n.left),t=He(n.right);return r=>e(r)&&t(r)}else if(kd(n)){const e=He(n.value);return t=>!e(t)}else if(Sd(n)){const e=n.parameter.ref.name;return t=>t!==void 0&&t[e]===!0}else if(Rd(n)){const e=!!n.true;return()=>e}Qn()}function fm(n,e){if(e.elements.length===1)return pt(n,e.elements[0]);{const t=[];for(const i of e.elements){const s={ALT:pt(n,i,!0)},a=ni(i);a&&(s.GATE=He(a)),t.push(s)}const r=n.or++;return i=>n.parser.alternatives(r,t.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function hm(n,e){if(e.elements.length===1)return pt(n,e.elements[0]);const t=[];for(const o of e.elements){const l={ALT:pt(n,o,!0)},c=ni(o);c&&(l.GATE=He(c)),t.push(l)}const r=n.or++,i=(o,l)=>{const c=l.getRuleStack().join("-");return`uGroup_${o}_${c}`},s=o=>n.parser.alternatives(r,t.map((l,c)=>{const u={ALT:()=>!0},d=n.parser;u.ALT=()=>{if(l.ALT(o),!d.isRecording()){const f=i(r,d);d.unorderedGroups.get(f)||d.unorderedGroups.set(f,[]);const m=d.unorderedGroups.get(f);typeof(m==null?void 0:m[c])>"u"&&(m[c]=!0)}};const h=l.GATE;return h?u.GATE=()=>h(o):u.GATE=()=>{const f=d.unorderedGroups.get(i(r,d));return!(f!=null&&f[c])},u})),a=Hc(n,ni(e),s,"*");return o=>{a(o),n.parser.isRecording()||n.parser.unorderedGroups.delete(i(r,n.parser))}}function pm(n,e){const t=e.elements.map(r=>pt(n,r));return r=>t.forEach(i=>i(r))}function ni(n){if(Ws(n))return n.guardCondition}function Kc(n,e,t=e.terminal){if(t)if(ft(t)&&we(t.rule.ref)){const r=t.rule.ref,i=n.subrule++;return s=>n.parser.subrule(i,zc(n,r),!1,e,s)}else if(ft(t)&&yt(t.rule.ref)){const r=n.consume++,i=Ns(n,t.rule.ref.name);return()=>n.parser.consume(r,i,e)}else if(dt(t)){const r=n.consume++,i=Ns(n,t.value);return()=>n.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=Kl(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+zs(e.type.ref));return Kc(n,e,i)}}function mm(n,e){const t=n.consume++,r=n.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>n.parser.consume(t,r,e)}function Hc(n,e,t,r){const i=e&&He(e);if(!r)if(i){const s=n.or++;return a=>n.parser.alternatives(s,[{ALT:()=>t(a),GATE:()=>i(a)},{ALT:qa(),GATE:()=>!i(a)}])}else return t;if(r==="*"){const s=n.many++;return a=>n.parser.many(s,{DEF:()=>t(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=n.many++;if(i){const a=n.or++;return o=>n.parser.alternatives(a,[{ALT:()=>n.parser.atLeastOne(s,{DEF:()=>t(o)}),GATE:()=>i(o)},{ALT:qa(),GATE:()=>!i(o)}])}else return a=>n.parser.atLeastOne(s,{DEF:()=>t(a)})}else if(r==="?"){const s=n.optional++;return a=>n.parser.optional(s,{DEF:()=>t(a),GATE:i?()=>i(a):void 0})}else Qn()}function zc(n,e){const t=gm(n,e),r=n.parser.getRule(t);if(!r)throw new Error(`Rule "${t}" not found."`);return r}function gm(n,e){if(we(e))return e.name;if(n.ruleNames.has(e))return n.ruleNames.get(e);{let t=e,r=t.$container,i=e.$type;for(;!we(r);)(Ws(r)||Ml(r)||Dl(r))&&(i=r.elements.indexOf(t).toString()+":"+i),t=r,r=r.$container;return i=r.name+":"+i,n.ruleNames.set(e,i),i}}function Ns(n,e){const t=n.tokens[e];if(!t)throw new Error(`Token "${e}" not found."`);return t}function ym(n){const e=n.Grammar,t=n.parser.Lexer,r=new sm(n);return jc(e,r,t.definition),r.finalize(),r}function Tm(n){const e=vm(n);return e.finalize(),e}function vm(n){const e=n.Grammar,t=n.parser.Lexer,r=new rm(n);return jc(e,r,t.definition)}class qc{constructor(){this.diagnostics=[]}buildTokens(e,t){const r=Z(Vl(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,t);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&ns(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(yt).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){const t=qs(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ns(t)?de.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const t=new RegExp(e,e.flags+"y");return(r,i)=>(t.lastIndex=i,t.exec(r))}buildKeywordTokens(e,t,r){return e.filter(we).flatMap(i=>Zn(i).filter(dt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,t,!!(r!=null&&r.caseInsensitive)))}buildKeywordToken(e,t,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,t)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,t){return t?new RegExp(Hd(e.value)):e.value}findLongerAlt(e,t){return t.reduce((r,i)=>{const s=i==null?void 0:i.PATTERN;return s!=null&&s.source&&zd("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Yc{convert(e,t){let r=t.grammarSource;if(Vs(r)&&(r=Jd(r)),ft(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,t)}return e}runConverter(e,t,r){var i;switch(e.name.toUpperCase()){case"INT":return je.convertInt(t);case"STRING":return je.convertString(t);case"ID":return je.convertID(t)}switch((i=sf(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return je.convertNumber(t);case"boolean":return je.convertBoolean(t);case"bigint":return je.convertBigint(t);case"date":return je.convertDate(t);default:return t}}}var je;(function(n){function e(c){let u="";for(let d=1;d<c.length-1;d++){const h=c.charAt(d);if(h==="\\"){const f=c.charAt(++d);u+=t(f)}else u+=h}return u}n.convertString=e;function t(c){switch(c){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 c}}function r(c){return c.charAt(0)==="^"?c.substring(1):c}n.convertID=r;function i(c){return parseInt(c)}n.convertInt=i;function s(c){return BigInt(c)}n.convertBigint=s;function a(c){return new Date(c)}n.convertDate=a;function o(c){return Number(c)}n.convertNumber=o;function l(c){return c.toLowerCase()==="true"}n.convertBoolean=l})(je||(je={}));var Yn={},Ai={};Object.defineProperty(Ai,"__esModule",{value:!0});let ws;function _s(){if(ws===void 0)throw new Error("No runtime abstraction layer installed");return ws}(function(n){function e(t){if(t===void 0)throw new Error("No runtime abstraction layer provided");ws=t}n.install=e})(_s||(_s={}));Ai.default=_s;var se={};Object.defineProperty(se,"__esModule",{value:!0});se.stringArray=se.array=se.func=se.error=se.number=se.string=se.boolean=void 0;function Rm(n){return n===!0||n===!1}se.boolean=Rm;function Xc(n){return typeof n=="string"||n instanceof String}se.string=Xc;function Am(n){return typeof n=="number"||n instanceof Number}se.number=Am;function Em(n){return n instanceof Error}se.error=Em;function km(n){return typeof n=="function"}se.func=km;function Jc(n){return Array.isArray(n)}se.array=Jc;function Sm(n){return Jc(n)&&n.every(e=>Xc(e))}se.stringArray=Sm;var Jt={};Object.defineProperty(Jt,"__esModule",{value:!0});var Qc=Jt.Emitter=Jt.Event=void 0;const xm=Ai;var tl;(function(n){const e={dispose(){}};n.None=function(){return e}})(tl||(Jt.Event=tl={}));class Im{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===t){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];const t=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,a=r.length;s<a;s++)try{t.push(r[s].apply(i[s],e))}catch(o){(0,xm.default)().console.error(o)}return t}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class Ei{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,r)=>{this._callbacks||(this._callbacks=new Im),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=Ei._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}Qc=Jt.Emitter=Ei;Ei._noop=function(){};var V;Object.defineProperty(Yn,"__esModule",{value:!0});var la=Yn.CancellationTokenSource=V=Yn.CancellationToken=void 0;const $m=Ai,Cm=se,Ls=Jt;var ri;(function(n){n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Ls.Event.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Ls.Event.None});function e(t){const r=t;return r&&(r===n.None||r===n.Cancelled||Cm.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}n.is=e})(ri||(V=Yn.CancellationToken=ri={}));const Nm=Object.freeze(function(n,e){const t=(0,$m.default)().timer.setTimeout(n.bind(e),0);return{dispose(){t.dispose()}}});class nl{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?Nm:(this._emitter||(this._emitter=new Ls.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class wm{get token(){return this._token||(this._token=new nl),this._token}cancel(){this._token?this._token.cancel():this._token=ri.Cancelled}dispose(){this._token?this._token instanceof nl&&this._token.dispose():this._token=ri.None}}la=Yn.CancellationTokenSource=wm;function _m(){return new Promise(n=>{typeof setImmediate>"u"?setTimeout(n,0):setImmediate(n)})}let wr=0,Lm=10;function Om(){return wr=performance.now(),new la}const ii=Symbol("OperationCancelled");function ki(n){return n===ii}async function Ae(n){if(n===V.None)return;const e=performance.now();if(e-wr>=Lm&&(wr=e,await _m(),wr=performance.now()),n.isCancellationRequested)throw ii}class ca{constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>(e(r),this),this.reject=r=>(t(r),this)})}}class Xn{constructor(e,t,r,i){this._uri=e,this._languageId=t,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 t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(const r of e)if(Xn.isIncremental(r)){const i=eu(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 c=this._lineOffsets;const u=rl(r.text,!1,s);if(l-o===u.length)for(let h=0,f=u.length;h<f;h++)c[h+o+1]=u[h];else u.length<1e4?c.splice(o+1,l-o,...u):this._lineOffsets=c=c.slice(0,o+1).concat(u,c.slice(l+1));const d=r.text.length-(a-s);if(d!==0)for(let h=o+1+u.length,f=c.length;h<f;h++)c[h]=c[h]+d}else if(Xn.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=rl(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const t=this.getLineOffsets();let r=0,i=t.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);t[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,t[s]),{line:s,character:e-t[s]}}offsetAt(e){const t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;const r=t[e.line];if(e.character<=0)return r;const i=e.line+1<t.length?t[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,t){for(;e>t&&Zc(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const t=e;return t!=null&&typeof t.text=="string"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength=="number")}static isFull(e){const t=e;return t!=null&&typeof t.text=="string"&&t.range===void 0&&t.rangeLength===void 0}}var Os;(function(n){function e(i,s,a,o){return new Xn(i,s,a,o)}n.create=e;function t(i,s,a){if(i instanceof Xn)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}n.update=t;function r(i,s){const a=i.getText(),o=bs(s.map(bm),(u,d)=>{const h=u.range.start.line-d.range.start.line;return h===0?u.range.start.character-d.range.start.character:h});let l=0;const c=[];for(const u of o){const d=i.offsetAt(u.range.start);if(d<l)throw new Error("Overlapping edit");d>l&&c.push(a.substring(l,d)),u.newText.length&&c.push(u.newText),l=i.offsetAt(u.range.end)}return c.push(a.substr(l)),c.join("")}n.applyEdits=r})(Os||(Os={}));function bs(n,e){if(n.length<=1)return n;const t=n.length/2|0,r=n.slice(0,t),i=n.slice(t);bs(r,e),bs(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?n[o++]=r[s++]:n[o++]=i[a++];for(;s<r.length;)n[o++]=r[s++];for(;a<i.length;)n[o++]=i[a++];return n}function rl(n,e,t=0){const r=e?[t]:[];for(let i=0;i<n.length;i++){const s=n.charCodeAt(i);Zc(s)&&(s===13&&i+1<n.length&&n.charCodeAt(i+1)===10&&i++,r.push(t+i+1))}return r}function Zc(n){return n===13||n===10}function eu(n){const e=n.start,t=n.end;return e.line>t.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:n}function bm(n){const e=eu(n.range);return e!==n.range?{newText:n.newText,range:e}:n}var tu;(()=>{var n={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,c){for(var u,d="",h=0,f=-1,m=0,g=0;g<=l.length;++g){if(g<l.length)u=l.charCodeAt(g);else{if(u===47)break;u=47}if(u===47){if(!(f===g-1||m===1))if(f!==g-1&&m===2){if(d.length<2||h!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){var R=d.lastIndexOf("/");if(R!==d.length-1){R===-1?(d="",h=0):h=(d=d.slice(0,R)).length-1-d.lastIndexOf("/"),f=g,m=0;continue}}else if(d.length===2||d.length===1){d="",h=0,f=g,m=0;continue}}c&&(d.length>0?d+="/..":d="..",h=2)}else d.length>0?d+="/"+l.slice(f+1,g):d=l.slice(f+1,g),h=g-f-1;f=g,m=0}else u===46&&m!==-1?++m:m=-1}return d}var o={resolve:function(){for(var l,c="",u=!1,d=arguments.length-1;d>=-1&&!u;d--){var h;d>=0?h=arguments[d]:(l===void 0&&(l=process.cwd()),h=l),s(h),h.length!==0&&(c=h+"/"+c,u=h.charCodeAt(0)===47)}return c=a(c,!u),u?c.length>0?"/"+c:"/":c.length>0?c:"."},normalize:function(l){if(s(l),l.length===0)return".";var c=l.charCodeAt(0)===47,u=l.charCodeAt(l.length-1)===47;return(l=a(l,!c)).length!==0||c||(l="."),l.length>0&&u&&(l+="/"),c?"/"+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,c=0;c<arguments.length;++c){var u=arguments[c];s(u),u.length>0&&(l===void 0?l=u:l+="/"+u)}return l===void 0?".":o.normalize(l)},relative:function(l,c){if(s(l),s(c),l===c||(l=o.resolve(l))===(c=o.resolve(c)))return"";for(var u=1;u<l.length&&l.charCodeAt(u)===47;++u);for(var d=l.length,h=d-u,f=1;f<c.length&&c.charCodeAt(f)===47;++f);for(var m=c.length-f,g=h<m?h:m,R=-1,y=0;y<=g;++y){if(y===g){if(m>g){if(c.charCodeAt(f+y)===47)return c.slice(f+y+1);if(y===0)return c.slice(f+y)}else h>g&&(l.charCodeAt(u+y)===47?R=y:y===0&&(R=0));break}var A=l.charCodeAt(u+y);if(A!==c.charCodeAt(f+y))break;A===47&&(R=y)}var v="";for(y=u+R+1;y<=d;++y)y!==d&&l.charCodeAt(y)!==47||(v.length===0?v+="..":v+="/..");return v.length>0?v+c.slice(f+R):(f+=R,c.charCodeAt(f)===47&&++f,c.slice(f))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var c=l.charCodeAt(0),u=c===47,d=-1,h=!0,f=l.length-1;f>=1;--f)if((c=l.charCodeAt(f))===47){if(!h){d=f;break}}else h=!1;return d===-1?u?"/":".":u&&d===1?"//":l.slice(0,d)},basename:function(l,c){if(c!==void 0&&typeof c!="string")throw new TypeError('"ext" argument must be a string');s(l);var u,d=0,h=-1,f=!0;if(c!==void 0&&c.length>0&&c.length<=l.length){if(c.length===l.length&&c===l)return"";var m=c.length-1,g=-1;for(u=l.length-1;u>=0;--u){var R=l.charCodeAt(u);if(R===47){if(!f){d=u+1;break}}else g===-1&&(f=!1,g=u+1),m>=0&&(R===c.charCodeAt(m)?--m==-1&&(h=u):(m=-1,h=g))}return d===h?h=g:h===-1&&(h=l.length),l.slice(d,h)}for(u=l.length-1;u>=0;--u)if(l.charCodeAt(u)===47){if(!f){d=u+1;break}}else h===-1&&(f=!1,h=u+1);return h===-1?"":l.slice(d,h)},extname:function(l){s(l);for(var c=-1,u=0,d=-1,h=!0,f=0,m=l.length-1;m>=0;--m){var g=l.charCodeAt(m);if(g!==47)d===-1&&(h=!1,d=m+1),g===46?c===-1?c=m:f!==1&&(f=1):c!==-1&&(f=-1);else if(!h){u=m+1;break}}return c===-1||d===-1||f===0||f===1&&c===d-1&&c===u+1?"":l.slice(c,d)},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(c,u){var d=u.dir||u.root,h=u.base||(u.name||"")+(u.ext||"");return d?d===u.root?d+h:d+"/"+h:h}(0,l)},parse:function(l){s(l);var c={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return c;var u,d=l.charCodeAt(0),h=d===47;h?(c.root="/",u=1):u=0;for(var f=-1,m=0,g=-1,R=!0,y=l.length-1,A=0;y>=u;--y)if((d=l.charCodeAt(y))!==47)g===-1&&(R=!1,g=y+1),d===46?f===-1?f=y:A!==1&&(A=1):f!==-1&&(A=-1);else if(!R){m=y+1;break}return f===-1||g===-1||A===0||A===1&&f===g-1&&f===m+1?g!==-1&&(c.base=c.name=m===0&&h?l.slice(1,g):l.slice(m,g)):(m===0&&h?(c.name=l.slice(1,f),c.base=l.slice(1,g)):(c.name=l.slice(m,f),c.base=l.slice(m,g)),c.ext=l.slice(f,g)),m>0?c.dir=l.slice(0,m-1):h&&(c.dir="/"),c},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function t(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return n[i](a,a.exports,t),a.exports}t.d=(i,s)=>{for(var a in s)t.o(s,a)&&!t.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},t.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),t.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;t.r(r),t.d(r,{URI:()=>h,Utils:()=>$e}),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(S,T){if(!S.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${S.authority}", path: "${S.path}", query: "${S.query}", fragment: "${S.fragment}"}`);if(S.scheme&&!s.test(S.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(S.path){if(S.authority){if(!a.test(S.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(S.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const c="",u="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{constructor(T,E,I,O,L,_=!1){Qe(this,"scheme");Qe(this,"authority");Qe(this,"path");Qe(this,"query");Qe(this,"fragment");typeof T=="object"?(this.scheme=T.scheme||c,this.authority=T.authority||c,this.path=T.path||c,this.query=T.query||c,this.fragment=T.fragment||c):(this.scheme=function(Te,q){return Te||q?Te:"file"}(T,_),this.authority=E||c,this.path=function(Te,q){switch(Te){case"https":case"http":case"file":q?q[0]!==u&&(q=u+q):q=u}return q}(this.scheme,I||c),this.query=O||c,this.fragment=L||c,l(this,_))}static isUri(T){return T instanceof h||!!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"}get fsPath(){return A(this)}with(T){if(!T)return this;let{scheme:E,authority:I,path:O,query:L,fragment:_}=T;return E===void 0?E=this.scheme:E===null&&(E=c),I===void 0?I=this.authority:I===null&&(I=c),O===void 0?O=this.path:O===null&&(O=c),L===void 0?L=this.query:L===null&&(L=c),_===void 0?_=this.fragment:_===null&&(_=c),E===this.scheme&&I===this.authority&&O===this.path&&L===this.query&&_===this.fragment?this:new m(E,I,O,L,_)}static parse(T,E=!1){const I=d.exec(T);return I?new m(I[2]||c,re(I[4]||c),re(I[5]||c),re(I[7]||c),re(I[9]||c),E):new m(c,c,c,c,c)}static file(T){let E=c;if(i&&(T=T.replace(/\\/g,u)),T[0]===u&&T[1]===u){const I=T.indexOf(u,2);I===-1?(E=T.substring(2),T=u):(E=T.substring(2,I),T=T.substring(I)||u)}return new m("file",E,T,c,c)}static from(T){const E=new m(T.scheme,T.authority,T.path,T.query,T.fragment);return l(E,!0),E}toString(T=!1){return v(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof h)return T;{const E=new m(T);return E._formatted=T.external,E._fsPath=T._sep===f?T.fsPath:null,E}}return T}}const f=i?1:void 0;class m extends h{constructor(){super(...arguments);Qe(this,"_formatted",null);Qe(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=A(this)),this._fsPath}toString(E=!1){return E?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){const E={$mid:1};return this._fsPath&&(E.fsPath=this._fsPath,E._sep=f),this._formatted&&(E.external=this._formatted),this.path&&(E.path=this.path),this.scheme&&(E.scheme=this.scheme),this.authority&&(E.authority=this.authority),this.query&&(E.query=this.query),this.fragment&&(E.fragment=this.fragment),E}}const 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 R(S,T,E){let I,O=-1;for(let L=0;L<S.length;L++){const _=S.charCodeAt(L);if(_>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===45||_===46||_===95||_===126||T&&_===47||E&&_===91||E&&_===93||E&&_===58)O!==-1&&(I+=encodeURIComponent(S.substring(O,L)),O=-1),I!==void 0&&(I+=S.charAt(L));else{I===void 0&&(I=S.substr(0,L));const Te=g[_];Te!==void 0?(O!==-1&&(I+=encodeURIComponent(S.substring(O,L)),O=-1),I+=Te):O===-1&&(O=L)}}return O!==-1&&(I+=encodeURIComponent(S.substring(O))),I!==void 0?I:S}function y(S){let T;for(let E=0;E<S.length;E++){const I=S.charCodeAt(E);I===35||I===63?(T===void 0&&(T=S.substr(0,E)),T+=g[I]):T!==void 0&&(T+=S[E])}return T!==void 0?T:S}function A(S,T){let E;return E=S.authority&&S.path.length>1&&S.scheme==="file"?`//${S.authority}${S.path}`:S.path.charCodeAt(0)===47&&(S.path.charCodeAt(1)>=65&&S.path.charCodeAt(1)<=90||S.path.charCodeAt(1)>=97&&S.path.charCodeAt(1)<=122)&&S.path.charCodeAt(2)===58?S.path[1].toLowerCase()+S.path.substr(2):S.path,i&&(E=E.replace(/\//g,"\\")),E}function v(S,T){const E=T?y:R;let I="",{scheme:O,authority:L,path:_,query:Te,fragment:q}=S;if(O&&(I+=O,I+=":"),(L||O==="file")&&(I+=u,I+=u),L){let W=L.indexOf("@");if(W!==-1){const ot=L.substr(0,W);L=L.substr(W+1),W=ot.lastIndexOf(":"),W===-1?I+=E(ot,!1,!1):(I+=E(ot.substr(0,W),!1,!1),I+=":",I+=E(ot.substr(W+1),!1,!0)),I+="@"}L=L.toLowerCase(),W=L.lastIndexOf(":"),W===-1?I+=E(L,!1,!0):(I+=E(L.substr(0,W),!1,!0),I+=L.substr(W))}if(_){if(_.length>=3&&_.charCodeAt(0)===47&&_.charCodeAt(2)===58){const W=_.charCodeAt(1);W>=65&&W<=90&&(_=`/${String.fromCharCode(W+32)}:${_.substr(3)}`)}else if(_.length>=2&&_.charCodeAt(1)===58){const W=_.charCodeAt(0);W>=65&&W<=90&&(_=`${String.fromCharCode(W+32)}:${_.substr(2)}`)}I+=E(_,!0,!1)}return Te&&(I+="?",I+=E(Te,!1,!1)),q&&(I+="#",I+=T?q:R(q,!1,!1)),I}function $(S){try{return decodeURIComponent(S)}catch{return S.length>3?S.substr(0,3)+$(S.substr(3)):S}}const F=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function re(S){return S.match(F)?S.replace(F,T=>$(T)):S}var _e=t(470);const ye=_e.posix||_e,Fe="/";var $e;(function(S){S.joinPath=function(T,...E){return T.with({path:ye.join(T.path,...E)})},S.resolvePath=function(T,...E){let I=T.path,O=!1;I[0]!==Fe&&(I=Fe+I,O=!0);let L=ye.resolve(I,...E);return O&&L[0]===Fe&&!T.authority&&(L=L.substring(1)),T.with({path:L})},S.dirname=function(T){if(T.path.length===0||T.path===Fe)return T;let E=ye.dirname(T.path);return E.length===1&&E.charCodeAt(0)===46&&(E=""),T.with({path:E})},S.basename=function(T){return ye.basename(T.path)},S.extname=function(T){return ye.extname(T.path)}})($e||($e={}))})(),tu=r})();const{URI:mt,Utils:ln}=tu;var it;(function(n){n.basename=ln.basename,n.dirname=ln.dirname,n.extname=ln.extname,n.joinPath=ln.joinPath,n.resolvePath=ln.resolvePath;function e(i,s){return(i==null?void 0:i.toString())===(s==null?void 0:s.toString())}n.equals=e;function t(i,s){const a=typeof i=="string"?i:i.path,o=typeof s=="string"?s:s.path,l=a.split("/").filter(f=>f.length>0),c=o.split("/").filter(f=>f.length>0);let u=0;for(;u<l.length&&l[u]===c[u];u++);const d="../".repeat(l.length-u),h=c.slice(u).join("/");return d+h}n.relative=t;function r(i){return mt.parse(i.toString()).toString()}n.normalize=r})(it||(it={}));var U;(function(n){n[n.Changed=0]="Changed",n[n.Parsed=1]="Parsed",n[n.IndexedContent=2]="IndexedContent",n[n.ComputedScopes=3]="ComputedScopes",n[n.Linked=4]="Linked",n[n.IndexedReferences=5]="IndexedReferences",n[n.Validated=6]="Validated"})(U||(U={}));class Pm{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=V.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=t??mt.parse(e.uri),V.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return V.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if(typeof t=="string"){const i=this.parse(e,t,r);return this.createLangiumDocument(i,e,void 0,t)}else if("$model"in t){const i={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,t.getText(),r);return this.createLangiumDocument(i,e,t)}}async createAsync(e,t,r){if(typeof t=="string"){const i=await this.parseAsync(e,t,r);return this.createLangiumDocument(i,e,void 0,t)}else{const i=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(i,e,t)}}createLangiumDocument(e,t,r,i){let s;if(r)s={parseResult:e,uri:t,state:U.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(t,i);s={parseResult:e,uri:t,state:U.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,t){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,t),e.parseResult.value.$document=e),e.state=U.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){const r=this.serviceRegistry;let i;return()=>i??(i=Os.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}}class Mm{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return Z(this.documentMap.values())}addDocument(e){const t=e.uri.toString();if(this.documentMap.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){const t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r),r)}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const t=e.toString(),r=this.documentMap.get(t);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=U.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=U.Changed,this.documentMap.delete(t)),r}}const Ui=Symbol("ref_resolving");class Dm{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,t=V.None){for(const r of Ct(e.parseResult.value))await Ae(t),Gl(r).forEach(i=>this.doLink(i,e))}doLink(e,t){var r;const i=e.reference;if(i._ref===void 0){i._ref=Ui;try{const s=this.getCandidate(e);if(kr(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}`})}t.references.push(i)}}unlink(e){for(const t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,t,r,i){const s=this,a={$refNode:r,$refText:i,get ref(){var o;if(ae(this._ref))return this._ref;if(ud(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=Ui;const l=ts(e).$document,c=s.getLinkedNode({reference:a,container:e,property:t});if(c.error&&l&&l.state<U.ComputedScopes)return this._ref=void 0;this._ref=(o=c.node)!==null&&o!==void 0?o:c.error,this._nodeDescription=c.descr,l==null||l.references.push(this)}else if(this._ref===Ui)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${i}')`);return ae(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return kr(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var t;try{const r=this.getCandidate(e);if(kr(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=(t=r.message)!==null&&t!==void 0?t: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 t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){const r=ts(e.container).$document;r&&r.state<U.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:t})}}function Fm(n){return typeof n.name=="string"}class Gm{getName(e){if(Fm(e))return e.name}getNameNode(e){return jl(e.$cstNode,"name")}}class Um{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const t=nf(e),r=e.astNode;if(t&&r){const i=r[t.feature];if(Ue(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(Ue(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||hd(e,i)))return r}}}findDeclarationNode(e){const t=this.findDeclaration(e);if(t!=null&&t.$cstNode){const r=this.nameProvider.getNameNode(t);return r??t.$cstNode}}findReferences(e,t){const r=[];if(t.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(i=i.filter(s=>it.equals(s.sourceUri,t.documentUri))),r.push(...i),Z(r)}getReferenceToSelf(e){const t=this.nameProvider.getNameNode(e);if(t){const r=et(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:Gr(t),local:!0}}}}class si{constructor(e){if(this.map=new Map,e)for(const[t,r]of e)this.add(t,r)}get size(){return Qi.sum(Z(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(t);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var t;return(t=this.map.get(e))!==null&&t!==void 0?t:[]}has(e,t){if(t===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(t)>=0:!1}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Z(this.map.entries()).flatMap(([e,t])=>t.map(r=>[e,r]))}keys(){return Z(this.map.keys())}values(){return Z(this.map.values()).flat()}entriesGroupedByKey(){return Z(this.map.entries())}}class il{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const t=this.map.get(e);return t!==void 0?(this.map.delete(e),this.inverse.delete(t),!0):!1}}class Bm{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=V.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=js,i=V.None){const s=[];this.exportNode(e,s,t);for(const a of r(e))await Ae(i),this.exportNode(a,s,t);return s}exportNode(e,t,r){const i=this.nameProvider.getName(e);i&&t.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,t=V.None){const r=e.parseResult.value,i=new si;for(const s of Zn(r))await Ae(t),this.processNode(s,e,i);return i}processNode(e,t,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,t))}}}class sl{constructor(e,t,r){var i;this.elements=e,this.outerScope=t,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const t=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(t)return t;if(this.outerScope)return this.outerScope.getElement(e)}}class Vm{constructor(e,t,r){var i;this.elements=new Map,this.caseInsensitive=(i=r==null?void 0: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=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Z(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class nu{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 Wm extends nu{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){const r=t();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class jm extends nu{constructor(e){super(),this.cache=new Map,this.converter=e??(t=>t)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(t))return i.get(t);if(r){const s=r();return i.set(t,s),s}else return}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){const t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){const t=this.converter(e);let r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}}class Km extends Wm{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{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 Hm{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 Km(e.shared)}getScope(e){const t=[],r=this.reflection.getReferenceType(e),i=et(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&t.push(Z(o).filter(l=>this.reflection.isSubtype(l.type,r))),a=a.$container}while(a)}let s=this.getGlobalScope(r,e);for(let a=t.length-1;a>=0;a--)s=this.createScope(t[a],s);return s}createScope(e,t,r){return new sl(Z(e),t,r)}createScopeForNodes(e,t,r){const i=Z(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new sl(i,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new Vm(this.indexManager.allElements(e)))}}function zm(n){return typeof n.$comment=="string"}function al(n){return typeof n=="object"&&!!n&&("$ref"in n||"$error"in n)}class qm{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){const r=t??{},i=t==null?void 0:t.replacer,s=(o,l)=>this.replacer(o,l,r),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=et(e),JSON.stringify(e,a,t==null?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t){const r=t??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,t,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,c,u,d;if(!this.ignoreProperties.has(e))if(Ue(t)){const h=t.ref,f=r?t.$refText:void 0;if(h){const m=et(h);let g="";this.currentDocument&&this.currentDocument!==m&&(o?g=o(m.uri,t):g=m.uri.toString());const R=this.astNodeLocator.getAstNodePath(h);return{$ref:`${g}#${R}`,$refText:f}}else return{$error:(c=(l=t.error)===null||l===void 0?void 0:l.message)!==null&&c!==void 0?c:"Could not resolve reference",$refText:f}}else if(ae(t)){let h;if(s&&(h=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&(h!=null&&h.$textRegion)&&(h.$textRegion.documentURI=(u=this.currentDocument)===null||u===void 0?void 0:u.uri.toString())),i&&!e&&(h??(h=Object.assign({},t)),h.$sourceText=(d=t.$cstNode)===null||d===void 0?void 0:d.text),a){h??(h=Object.assign({},t));const f=this.commentProvider.getComment(t);f&&(h.$comment=f.replace(/\r/g,""))}return h??t}else return t}addAstNodeRegionWithAssignmentsTo(e){const t=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=t(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=Zd(e.$cstNode,s).map(t);a.length!==0&&(i[s]=a)}),e}}linkNode(e,t,r,i,s,a){for(const[l,c]of Object.entries(e))if(Array.isArray(c))for(let u=0;u<c.length;u++){const d=c[u];al(d)?c[u]=this.reviveReference(e,l,t,d,r):ae(d)&&this.linkNode(d,t,r,e,l,u)}else al(c)?e[l]=this.reviveReference(e,l,t,c,r):ae(c)&&this.linkNode(c,t,r,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,t,r,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(ae(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:t,message:o,reference:l},l}else return}getRefNode(e,t,r){try{const i=t.indexOf("#");if(i===0){const l=this.astNodeLocator.getAstNode(e,t.substring(1));return l||"Could not resolve path: "+t}if(i<0){const l=r?r(t):mt.parse(t),c=this.langiumDocuments.getDocument(l);return c?c.parseResult.value:"Could not find document for URI: "+t}const s=r?r(t.substring(0,i)):mt.parse(t.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+t;if(i===t.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(i+1));return o||"Could not resolve URI: "+t}catch(i){return String(i)}}}class Ym{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e==null?void 0:e.workspace.TextDocuments}register(e){const t=e.LanguageMetaData;for(const r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(t.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var t,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=(t=this.textDocuments)===null||t===void 0?void 0:t.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=it.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 Un(n){return{code:n}}var ai;(function(n){n.all=["fast","slow","built-in"]})(ai||(ai={}));class Xm{constructor(e){this.entries=new si,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=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,t),category:r};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,t),category:r};this.addEntry(i,o)}else Qn()}}wrapValidationException(e,t){return async(r,i,s)=>{await this.handleException(()=>e.call(t,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,t,r,i){try{await e()}catch(s){if(ki(s))throw s;console.error(`${t}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${t}: ${a}`,{node:i})}}addEntry(e,t){if(e==="AstNode"){this.entries.add("AstNode",t);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=Z(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(i=>t.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),t,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class Jm{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=V.None){const i=e.parseResult,s=[];if(await Ae(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(i,s,t),t.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Oe.LexingError})||(this.processParsingErrors(i,s,t),t.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Oe.ParsingError}))||(this.processLinkingErrors(e,s,t),t.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Oe.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,t,r))}catch(a){if(ki(a))throw a;console.error("An error occurred during validation:",a)}return await Ae(r),s}processLexingErrors(e,t,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 c=(a=l.severity)!==null&&a!==void 0?a:"error",u={severity:Bi(c),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:Zm(c),source:this.getSource()};t.push(u)}}processParsingErrors(e,t,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=es(i.token);if(s){const a={severity:Bi("error"),range:s,message:i.message,data:Un(Oe.ParsingError),source:this.getSource()};t.push(a)}}}processLinkingErrors(e,t,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:Oe.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};t.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,t,r=V.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,t,s,r),await this.validateAstNodes(e,t,s,r),await this.validateAstAfter(e,t,s,r),i}async validateAstBefore(e,t,r,i=V.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await Ae(i),await o(e,r,(s=t.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,t,r,i=V.None){await Promise.all(Ct(e).map(async s=>{await Ae(i);const a=this.validationRegistry.getChecks(s.$type,t.categories);for(const o of a)await o(s,r,i)}))}async validateAstAfter(e,t,r,i=V.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await Ae(i),await o(e,r,(s=t.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,t,r){return{message:t,range:Qm(r),severity:Bi(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 Qm(n){if(n.range)return n.range;let e;return typeof n.property=="string"?e=jl(n.node.$cstNode,n.property,n.index):typeof n.keyword=="string"&&(e=ef(n.node.$cstNode,n.keyword,n.index)),e??(e=n.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Bi(n){switch(n){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+n)}}function Zm(n){switch(n){case"error":return Un(Oe.LexingError);case"warning":return Un(Oe.LexingWarning);case"info":return Un(Oe.LexingInfo);case"hint":return Un(Oe.LexingHint);default:throw new Error("Invalid diagnostic severity: "+n)}}var Oe;(function(n){n.LexingError="lexing-error",n.LexingWarning="lexing-warning",n.LexingInfo="lexing-info",n.LexingHint="lexing-hint",n.ParsingError="parsing-error",n.LinkingError="linking-error"})(Oe||(Oe={}));class eg{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){const i=r??et(e);t??(t=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=Gr((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:t,get nameSegment(){return o()},selectionSegment:Gr(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class tg{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=V.None){const r=[],i=e.parseResult.value;for(const s of Ct(i))await Ae(t),Gl(s).filter(a=>!kr(a)).forEach(a=>{const o=this.createDescription(a);o&&r.push(o)});return r}createDescription(e){const t=e.reference.$nodeDescription,r=e.reference.$refNode;if(!t||!r)return;const i=et(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:Gr(r),local:it.equals(t.documentUri,i)}}}class ng{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return t!==void 0?e+this.indexSeparator+t:e}getAstNode(e,t){return t.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)),c=i[o];return c==null?void 0:c[l]}return i[s]},e)}}class rg{constructor(e){this._ready=new ca,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new Qc,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,r;this.workspaceConfig=(r=(t=e.capabilities.workspace)===null||t===void 0?void 0:t.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const t=this.serviceRegistry.all;e.register({section:t.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const t=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{const r=e.settings[t];this.updateSectionConfiguration(t,r),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:r})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Kn;(function(n){function e(t){return{dispose:async()=>await t()}}n.create=e})(Kn||(Kn={}));class ig{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new si,this.documentPhaseListeners=new si,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=U.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,t={},r=V.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===U.Validated){if(typeof t.validation=="boolean"&&t.validation)a.state=U.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof t.validation=="object"){const l=this.buildState.get(o),c=(i=l==null?void 0:l.result)===null||i===void 0?void 0:i.validationChecks;if(c){const d=((s=t.validation.categories)!==null&&s!==void 0?s:ai.all).filter(h=>!c.includes(h));d.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:d})},result:l.result}),a.state=U.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=U.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=V.None){this.currentState=U.Changed;for(const a of t)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=U.Changed,this.langiumDocuments.addDocument(l)}this.buildState.delete(a.toString())}const i=Z(e).concat(t).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,U.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,t),await Ae(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<U.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,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){var t;return!!(!((t=this.textDocuments)===null||t===void 0)&&t.get(e.uri))}shouldRelink(e,t){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),Kn.create(()=>{const t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,U.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,U.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,U.ComputedScopes,r,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,r)}),await this.runCancelable(e,U.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,U.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,U.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,t){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:t,result:s==null?void 0:s.result})}}async runCancelable(e,t,r,i){const s=e.filter(o=>o.state<t);for(const o of s)await Ae(r),await i(o),o.state=t,await this.notifyDocumentPhase(o,t,r);const a=e.filter(o=>o.state===t);await this.notifyBuildPhase(a,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),Kn.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),Kn.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let i;if(t&&"path"in t?i=t:r=t,r??(r=V.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(ii):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const c=this.langiumDocuments.getDocument(i);s(c==null?void 0:c.uri)}else s(void 0)}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(ii)})})}async notifyDocumentPhase(e,t,r){const s=this.documentPhaseListeners.get(t).slice();for(const a of s)try{await a(e,r)}catch(o){if(!ki(o))throw o}}async notifyBuildPhase(e,t,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(t).slice();for(const a of s)await Ae(r),await a(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){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,t);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const c=this.buildState.get(e.uri.toString());if(c){(r=c.result)!==null&&r!==void 0||(c.result={});const u=(i=o==null?void 0:o.categories)!==null&&i!==void 0?i:ai.all;c.result.validationChecks?c.result.validationChecks.push(...u):c.result.validationChecks=[...u]}}getBuildOptions(e){var t,r;return(r=(t=this.buildState.get(e.uri.toString()))===null||t===void 0?void 0:t.options)!==null&&r!==void 0?r:{}}}class sg{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new jm,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const r=et(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{it.equals(a.targetUri,r)&&a.targetPath===t&&i.push(a)})}),Z(i)}allElements(e,t){let r=Z(this.symbolIndex.keys());return t&&(r=r.filter(i=>!t||t.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(o=>this.astReflection.isSubtype(o.type,t))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=V.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,t),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,t=V.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,t){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&t.has(i.targetUri.toString())):!1}}class ag{constructor(e){this.initialBuildOptions={},this._ready=new ca,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 t;this.folders=(t=e.workspaceFolders)!==null&&t!==void 0?t:void 0}initialized(e){return this.mutex.write(t=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],t)})}async initializeWorkspace(e,t=V.None){const r=await this.performStartup(e);await Ae(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){const t=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,t,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return mt.parse(e.uri)}async traverseFolder(e,t,r,i){const s=await this.fileSystemProvider.readDirectory(t);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,t,r){const i=it.basename(t.uri);if(i.startsWith("."))return!1;if(t.isDirectory)return i!=="node_modules"&&i!=="out";if(t.isFile){const s=it.extname(t.uri);return r.includes(s)}return!1}}class og{buildUnexpectedCharactersMessage(e,t,r,i,s){return as.buildUnexpectedCharactersMessage(e,t,r,i,s)}buildUnableToPopLexerModeMessage(e){return as.buildUnableToPopLexerModeMessage(e)}}const lg={mode:"full"};class cg{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);const r=ol(t)?Object.values(t):t,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new de(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=lg){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(ol(e))return e;const t=ru(e)?Object.values(e.modes).flat():e,r={};return t.forEach(i=>r[i.name]=i),r}}function ug(n){return Array.isArray(n)&&(n.length===0||"name"in n[0])}function ru(n){return n&&"modes"in n&&"defaultMode"in n}function ol(n){return!ug(n)&&!ru(n)}function dg(n,e,t){let r,i;typeof n=="string"?(i=e,r=t):(i=n.range.start,r=e),i||(i=P.create(0,0));const s=iu(n),a=ua(r),o=pg({lines:s,position:i,options:a});return vg({index:0,tokens:o,position:i})}function fg(n,e){const t=ua(e),r=iu(n);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=t.start,o=t.end;return!!(a!=null&&a.exec(i))&&!!(o!=null&&o.exec(s))}function iu(n){let e="";return typeof n=="string"?e=n:e=n.text,e.split(Bd)}const ll=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,hg=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function pg(n){var e,t,r;const i=[];let s=n.position.line,a=n.position.character;for(let o=0;o<n.lines.length;o++){const l=o===0,c=o===n.lines.length-1;let u=n.lines[o],d=0;if(l&&n.options.start){const f=(e=n.options.start)===null||e===void 0?void 0:e.exec(u);f&&(d=f.index+f[0].length)}else{const f=(t=n.options.line)===null||t===void 0?void 0:t.exec(u);f&&(d=f.index+f[0].length)}if(c){const f=(r=n.options.end)===null||r===void 0?void 0:r.exec(u);f&&(u=u.substring(0,f.index))}if(u=u.substring(0,Tg(u)),Ps(u,d)>=u.length){if(i.length>0){const f=P.create(s,a);i.push({type:"break",content:"",range:b.create(f,f)})}}else{ll.lastIndex=d;const f=ll.exec(u);if(f){const m=f[0],g=f[1],R=P.create(s,a+d),y=P.create(s,a+d+m.length);i.push({type:"tag",content:g,range:b.create(R,y)}),d+=m.length,d=Ps(u,d)}if(d<u.length){const m=u.substring(d),g=Array.from(m.matchAll(hg));i.push(...mg(g,m,s,a+d))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function mg(n,e,t,r){const i=[];if(n.length===0){const s=P.create(t,r),a=P.create(t,r+e.length);i.push({type:"text",content:e,range:b.create(s,a)})}else{let s=0;for(const o of n){const l=o.index,c=e.substring(s,l);c.length>0&&i.push({type:"text",content:e.substring(s,l),range:b.create(P.create(t,s+r),P.create(t,l+r))});let u=c.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:b.create(P.create(t,s+u+r),P.create(t,s+u+d.length+r))}),u+=d.length,o.length===4){u+=o[2].length;const h=o[3];i.push({type:"text",content:h,range:b.create(P.create(t,s+u+r),P.create(t,s+u+h.length+r))})}else i.push({type:"text",content:"",range:b.create(P.create(t,s+u+r),P.create(t,s+u+r))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:b.create(P.create(t,s+r),P.create(t,s+r+a.length))})}return i}const gg=/\S/,yg=/\s*$/;function Ps(n,e){const t=n.substring(e).match(gg);return t?e+t.index:n.length}function Tg(n){const e=n.match(yg);if(e&&typeof e.index=="number")return e.index}function vg(n){var e,t,r,i;const s=P.create(n.position.line,n.position.character);if(n.tokens.length===0)return new cl([],b.create(s,s));const a=[];for(;n.index<n.tokens.length;){const c=Rg(n,a[a.length-1]);c&&a.push(c)}const o=(t=(e=a[0])===null||e===void 0?void 0:e.range.start)!==null&&t!==void 0?t: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 cl(a,b.create(o,l))}function Rg(n,e){const t=n.tokens[n.index];if(t.type==="tag")return au(n,!1);if(t.type==="text"||t.type==="inline-tag")return su(n);Ag(t,e),n.index++}function Ag(n,e){if(e){const t=new lu("",n.range);"inlines"in e?e.inlines.push(t):e.content.inlines.push(t)}}function su(n){let e=n.tokens[n.index];const t=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(Eg(n)),r=e,e=n.tokens[n.index];return new Ms(i,b.create(t.range.start,r.range.end))}function Eg(n){return n.tokens[n.index].type==="inline-tag"?au(n,!0):ou(n)}function au(n,e){const t=n.tokens[n.index++],r=t.content.substring(1),i=n.tokens[n.index];if((i==null?void 0:i.type)==="text")if(e){const s=ou(n);return new Wi(r,new Ms([s],s.range),e,b.create(t.range.start,s.range.end))}else{const s=su(n);return new Wi(r,s,e,b.create(t.range.start,s.range.end))}else{const s=t.range;return new Wi(r,new Ms([],s),e,s)}}function ou(n){const e=n.tokens[n.index++];return new lu(e.content,e.range)}function ua(n){if(!n)return ua({start:"/**",end:"*/",line:"*"});const{start:e,end:t,line:r}=n;return{start:Vi(e,!0),end:Vi(t,!1),line:Vi(r,!0)}}function Vi(n,e){if(typeof n=="string"||typeof n=="object"){const t=typeof n=="string"?hi(n):n.source;return e?new RegExp(`^\\s*${t}`):new RegExp(`\\s*${t}\\s*$`)}else return n}class cl{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const t of this.elements)if(e.length===0)e=t.toString();else{const r=t.toString();e+=ul(e)+r}return e.trim()}toMarkdown(e){let t="";for(const r of this.elements)if(t.length===0)t=r.toMarkdown(e);else{const i=r.toMarkdown(e);t+=ul(t)+i}return t.trim()}}class Wi{constructor(e,t,r,i){this.name=e,this.content=t,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}
118
+ ${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t,r;return(r=(t=e==null?void 0:e.renderTag)===null||t===void 0?void 0:t.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const t=this.content.toMarkdown(e);if(this.inline){const s=kg(this.name,t,e??{});if(typeof s=="string")return s}let r="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?r="*":(e==null?void 0:e.tag)==="bold"?r="**":(e==null?void 0:e.tag)==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${t}`:this.content.inlines.length>1&&(i=`${i}
119
+ ${t}`),this.inline?`{${i}}`:i}}function kg(n,e,t){var r,i;if(n==="linkplain"||n==="linkcode"||n==="link"){const s=e.indexOf(" ");let a=e;if(s>0){const l=Ps(e,s);a=e.substring(l),e=e.substring(0,s)}return(n==="linkcode"||n==="link"&&t.link==="code")&&(a=`\`${a}\``),(i=(r=t.renderLink)===null||r===void 0?void 0:r.call(t,e,a))!==null&&i!==void 0?i:Sg(e,a)}}function Sg(n,e){try{return mt.parse(n,!0),`[${e}](${n})`}catch{return n}}class Ms{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){const r=this.inlines[t],i=this.inlines[t+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
120
+ `)}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];t+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(t+=`
121
+ `)}return t}}class lu{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function ul(n){return n.endsWith(`
122
+ `)?`
123
+ `:`
124
+
125
+ `}class xg{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const t=this.commentProvider.getComment(e);if(t&&fg(t))return dg(t).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,t,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,t))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,t);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,t){}findNameInPrecomputedScopes(e,t){const i=et(e).precomputedScopes;if(!i)return;let s=e;do{const o=i.get(s).find(l=>l.name===t);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(i=>i.name===t)}}class Ig{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return zm(e)?e.$comment:(t=yd(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||t===void 0?void 0:t.text}}class $g{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}}class Cg{constructor(){this.previousTokenSource=new la,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const t=Om();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=V.None){const i=new ca,s={action:t,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:t,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>t(i));r.resolve(s)}catch(s){ki(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class Ng{constructor(e){this.grammarElementIdMap=new il,this.tokenTypeIdMap=new il,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(t=>Object.assign(Object.assign({},t),{message:t.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const t=new Map,r=new Map;for(const i of Ct(e))t.set(i,{});if(e.$cstNode)for(const i of Zi(e.$cstNode))r.set(i,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t));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)ae(o)?a.push(this.dehydrateAstNode(o,t)):Ue(o)?a.push(this.dehydrateReference(o,t)):a.push(o)}else ae(s)?r[i]=this.dehydrateAstNode(s,t):Ue(s)?r[i]=this.dehydrateReference(s,t):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,t){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){const r=t.cstNodes.get(e);return _l(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),zn(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,t)):wl(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 t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){const t=new Map,r=new Map;for(const s of Ct(e))t.set(s,{});let i;if(e.$cstNode)for(const s of Zi(e.$cstNode)){let a;"fullText"in s?(a=new Uc(s.fullText),i=a):"content"in s?a=new aa:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:t,cstNodes:r}}hydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.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)ae(o)?a.push(this.setParent(this.hydrateAstNode(o,t),r)):Ue(o)?a.push(this.hydrateReference(o,r,i,t)):a.push(o)}else ae(s)?r[i]=this.setParent(this.hydrateAstNode(s,t),r):Ue(s)?r[i]=this.hydrateReference(s,r,i,t):s!==void 0&&(r[i]=s);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,i){return this.linker.buildReference(t,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){const i=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=t.astNodes.get(e.astNode),zn(i))for(const s of e.content){const a=this.hydrateCstNode(s,t,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const t=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,c=e.hidden;return new $s(r,i,{start:{line:s,character:a},end:{line:o,character:l}},t,c)}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 t of Ct(this.grammar))vd(t)&&this.grammarElementIdMap.set(t,e++)}}function vt(n){return{documentation:{CommentProvider:e=>new Ig(e),DocumentationProvider:e=>new xg(e)},parser:{AsyncParser:e=>new $g(e),GrammarConfig:e=>df(e),LangiumParser:e=>Tm(e),CompletionParser:e=>ym(e),ValueConverter:()=>new Yc,TokenBuilder:()=>new qc,Lexer:e=>new cg(e),ParserErrorMessageProvider:()=>new Wc,LexerErrorMessageProvider:()=>new og},workspace:{AstNodeLocator:()=>new ng,AstNodeDescriptionProvider:e=>new eg(e),ReferenceDescriptionProvider:e=>new tg(e)},references:{Linker:e=>new Dm(e),NameProvider:()=>new Gm,ScopeProvider:e=>new Hm(e),ScopeComputation:e=>new Bm(e),References:e=>new Um(e)},serializer:{Hydrator:e=>new Ng(e),JsonSerializer:e=>new qm(e)},validation:{DocumentValidator:e=>new Jm(e),ValidationRegistry:e=>new Xm(e)},shared:()=>n.shared}}function Rt(n){return{ServiceRegistry:e=>new Ym(e),workspace:{LangiumDocuments:e=>new Mm(e),LangiumDocumentFactory:e=>new Pm(e),DocumentBuilder:e=>new ig(e),IndexManager:e=>new sg(e),WorkspaceManager:e=>new ag(e),FileSystemProvider:e=>n.fileSystemProvider(e),WorkspaceLock:()=>new Cg,ConfigurationProvider:e=>new rg(e)}}}var dl;(function(n){n.merge=(e,t)=>oi(oi({},e),t)})(dl||(dl={}));function pe(n,e,t,r,i,s,a,o,l){const c=[n,e,t,r,i,s,a,o,l].reduce(oi,{});return cu(c)}const wg=Symbol("isProxy");function cu(n,e){const t=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===wg?!0:hl(r,i,n,e||t),getOwnPropertyDescriptor:(r,i)=>(hl(r,i,n,e||t),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in n,ownKeys:()=>[...Object.getOwnPropertyNames(n)]});return t}const fl=Symbol();function hl(n,e,t,r){if(e in n){if(n[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:n[e]});if(n[e]===fl)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return n[e]}else if(e in t){const i=t[e];n[e]=fl;try{n[e]=typeof i=="function"?i(r):cu(i,r)}catch(s){throw n[e]=s instanceof Error?s:void 0,s}return n[e]}else return}function oi(n,e){if(e){for(const[t,r]of Object.entries(e))if(r!==void 0){const i=n[t];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?n[t]=oi(i,r):n[t]=r}}return n}class _g{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const At={fileSystemProvider:()=>new _g},Lg={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},Og={AstReflection:()=>new Fl};function bg(){const n=pe(Rt(At),Og),e=pe(vt({shared:n}),Lg);return n.ServiceRegistry.register(e),e}function rn(n){var e;const t=bg(),r=t.serializer.JsonSerializer.deserialize(n);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,mt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var Pg=Object.defineProperty,k=(n,e)=>Pg(n,"name",{value:e,configurable:!0}),pl="Statement",_r="Architecture";function Mg(n){return De.isInstance(n,_r)}k(Mg,"isArchitecture");var vr="Axis",Bn="Branch";function Dg(n){return De.isInstance(n,Bn)}k(Dg,"isBranch");var Rr="Checkout",Ar="CherryPicking",Vn="Commit";function Fg(n){return De.isInstance(n,Vn)}k(Fg,"isCommit");var Lr="Common";function Gg(n){return De.isInstance(n,Lr)}k(Gg,"isCommon");var ji="Curve",Ki="Edge",Hi="Entry",Wn="GitGraph";function Ug(n){return De.isInstance(n,Wn)}k(Ug,"isGitGraph");var zi="Group",Or="Info";function Bg(n){return De.isInstance(n,Or)}k(Bg,"isInfo");var qi="Junction",jn="Merge";function Vg(n){return De.isInstance(n,jn)}k(Vg,"isMerge");var Yi="Option",br="Packet";function Wg(n){return De.isInstance(n,br)}k(Wg,"isPacket");var Pr="PacketBlock";function jg(n){return De.isInstance(n,Pr)}k(jg,"isPacketBlock");var Mr="Pie";function Kg(n){return De.isInstance(n,Mr)}k(Kg,"isPie");var Dr="PieSection";function Hg(n){return De.isInstance(n,Dr)}k(Hg,"isPieSection");var Xi="Radar",Ji="Service",Er="Direction",wt,uu=(wt=class extends Nl{getAllTypes(){return[_r,vr,Bn,Rr,Ar,Vn,Lr,ji,Er,Ki,Hi,Wn,zi,Or,qi,jn,Yi,br,Pr,Mr,Dr,Xi,Ji,pl]}computeIsSubtype(e,t){switch(e){case Bn:case Rr:case Ar:case Vn:case jn:return this.isSubtype(pl,t);case Er:return this.isSubtype(Wn,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Entry:axis":return vr;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case _r:return{name:_r,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case vr:return{name:vr,properties:[{name:"label"},{name:"name"}]};case Bn:return{name:Bn,properties:[{name:"name"},{name:"order"}]};case Rr:return{name:Rr,properties:[{name:"branch"}]};case Ar:return{name:Ar,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case Vn:return{name:Vn,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Lr:return{name:Lr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case ji:return{name:ji,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case Ki:return{name:Ki,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 Hi:return{name:Hi,properties:[{name:"axis"},{name:"value"}]};case Wn:return{name:Wn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case zi:return{name:zi,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Or:return{name:Or,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case qi:return{name:qi,properties:[{name:"id"},{name:"in"}]};case jn:return{name:jn,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Yi:return{name:Yi,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case br:return{name:br,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Pr:return{name:Pr,properties:[{name:"end"},{name:"label"},{name:"start"}]};case Mr:return{name:Mr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case Dr:return{name:Dr,properties:[{name:"label"},{name:"value"}]};case Xi:return{name:Xi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case Ji:return{name:Ji,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case Er:return{name:Er,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:e,properties:[]}}}},k(wt,"MermaidAstReflection"),wt),De=new uu,ml,zg=k(()=>ml??(ml=rn('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":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@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"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","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":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"InfoGrammar"),gl,qg=k(()=>gl??(gl=rn(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":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":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":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@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"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","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":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),yl,Yg=k(()=>yl??(yl=rn('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"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@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":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@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"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","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":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"PieGrammar"),Tl,Xg=k(()=>Tl??(Tl=rn('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"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@15"},"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@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"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@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"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@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"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@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"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@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"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":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":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},{"$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":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"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","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":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"ArchitectureGrammar"),vl,Jg=k(()=>vl??(vl=rn(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"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","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":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"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@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"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@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"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@1"},"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@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"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@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"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@1"},"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@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"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@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"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":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),Rl,Qg=k(()=>Rl??(Rl=rn(`{"$type":"Grammar","isDeclared":true,"name":"Radar","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@12"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"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","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":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"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@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"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@22"},"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@21"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"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@21"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"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@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@12"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"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@19"},"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@18"},"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@18"},"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@18"},"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@20"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":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":"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":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9\\\\-_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),Zg={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ey={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ty={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ny={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ry={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},iy={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},sn={AstReflection:k(()=>new uu,"AstReflection")},sy={Grammar:k(()=>zg(),"Grammar"),LanguageMetaData:k(()=>Zg,"LanguageMetaData"),parser:{}},ay={Grammar:k(()=>qg(),"Grammar"),LanguageMetaData:k(()=>ey,"LanguageMetaData"),parser:{}},oy={Grammar:k(()=>Yg(),"Grammar"),LanguageMetaData:k(()=>ty,"LanguageMetaData"),parser:{}},ly={Grammar:k(()=>Xg(),"Grammar"),LanguageMetaData:k(()=>ny,"LanguageMetaData"),parser:{}},cy={Grammar:k(()=>Jg(),"Grammar"),LanguageMetaData:k(()=>ry,"LanguageMetaData"),parser:{}},uy={Grammar:k(()=>Qg(),"Grammar"),LanguageMetaData:k(()=>iy,"LanguageMetaData"),parser:{}},dy=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,fy=/accTitle[\t ]*:([^\n\r]*)/,hy=/title([\t ][^\n\r]*|)/,py={ACC_DESCR:dy,ACC_TITLE:fy,TITLE:hy},_t,da=(_t=class extends Yc{runConverter(e,t,r){let i=this.runCommonConverter(e,t,r);return i===void 0&&(i=this.runCustomConverter(e,t,r)),i===void 0?super.runConverter(e,t,r):i}runCommonConverter(e,t,r){const i=py[e.name];if(i===void 0)return;const s=i.exec(t);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
+ `)}}},k(_t,"AbstractMermaidValueConverter"),_t),Lt,Si=(Lt=class extends da{runCustomConverter(e,t,r){}},k(Lt,"CommonValueConverter"),Lt),Ot,Et=(Ot=class extends qc{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){const i=super.buildKeywordTokens(e,t,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},k(Ot,"AbstractMermaidTokenBuilder"),Ot),bt;bt=class extends Et{},k(bt,"CommonTokenBuilder");var Pt,my=(Pt=class extends Et{constructor(){super(["gitGraph"])}},k(Pt,"GitGraphTokenBuilder"),Pt),du={parser:{TokenBuilder:k(()=>new my,"TokenBuilder"),ValueConverter:k(()=>new Si,"ValueConverter")}};function fu(n=At){const e=pe(Rt(n),sn),t=pe(vt({shared:e}),cy,du);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}k(fu,"createGitGraphServices");var Mt,gy=(Mt=class extends Et{constructor(){super(["info","showInfo"])}},k(Mt,"InfoTokenBuilder"),Mt),hu={parser:{TokenBuilder:k(()=>new gy,"TokenBuilder"),ValueConverter:k(()=>new Si,"ValueConverter")}};function pu(n=At){const e=pe(Rt(n),sn),t=pe(vt({shared:e}),sy,hu);return e.ServiceRegistry.register(t),{shared:e,Info:t}}k(pu,"createInfoServices");var Dt,yy=(Dt=class extends Et{constructor(){super(["packet-beta"])}},k(Dt,"PacketTokenBuilder"),Dt),mu={parser:{TokenBuilder:k(()=>new yy,"TokenBuilder"),ValueConverter:k(()=>new Si,"ValueConverter")}};function gu(n=At){const e=pe(Rt(n),sn),t=pe(vt({shared:e}),ay,mu);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}k(gu,"createPacketServices");var Ft,Ty=(Ft=class extends Et{constructor(){super(["pie","showData"])}},k(Ft,"PieTokenBuilder"),Ft),Gt,vy=(Gt=class extends da{runCustomConverter(e,t,r){if(e.name==="PIE_SECTION_LABEL")return t.replace(/"/g,"").trim()}},k(Gt,"PieValueConverter"),Gt),yu={parser:{TokenBuilder:k(()=>new Ty,"TokenBuilder"),ValueConverter:k(()=>new vy,"ValueConverter")}};function Tu(n=At){const e=pe(Rt(n),sn),t=pe(vt({shared:e}),oy,yu);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}k(Tu,"createPieServices");var Ut,Ry=(Ut=class extends Et{constructor(){super(["architecture"])}},k(Ut,"ArchitectureTokenBuilder"),Ut),Bt,Ay=(Bt=class extends da{runCustomConverter(e,t,r){if(e.name==="ARCH_ICON")return t.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return t.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return t.replace(/[[\]]/g,"").trim()}},k(Bt,"ArchitectureValueConverter"),Bt),vu={parser:{TokenBuilder:k(()=>new Ry,"TokenBuilder"),ValueConverter:k(()=>new Ay,"ValueConverter")}};function Ru(n=At){const e=pe(Rt(n),sn),t=pe(vt({shared:e}),ly,vu);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}k(Ru,"createArchitectureServices");var Vt,Ey=(Vt=class extends Et{constructor(){super(["radar-beta"])}},k(Vt,"RadarTokenBuilder"),Vt),Au={parser:{TokenBuilder:k(()=>new Ey,"TokenBuilder"),ValueConverter:k(()=>new Si,"ValueConverter")}};function Eu(n=At){const e=pe(Rt(n),sn),t=pe(vt({shared:e}),uy,Au);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}k(Eu,"createRadarServices");var Ze={},ky={info:k(async()=>{const{createInfoServices:n}=await St(async()=>{const{createInfoServices:t}=await Promise.resolve().then(()=>Iy);return{createInfoServices:t}},void 0),e=n().Info.parser.LangiumParser;Ze.info=e},"info"),packet:k(async()=>{const{createPacketServices:n}=await St(async()=>{const{createPacketServices:t}=await Promise.resolve().then(()=>$y);return{createPacketServices:t}},void 0),e=n().Packet.parser.LangiumParser;Ze.packet=e},"packet"),pie:k(async()=>{const{createPieServices:n}=await St(async()=>{const{createPieServices:t}=await Promise.resolve().then(()=>Cy);return{createPieServices:t}},void 0),e=n().Pie.parser.LangiumParser;Ze.pie=e},"pie"),architecture:k(async()=>{const{createArchitectureServices:n}=await St(async()=>{const{createArchitectureServices:t}=await Promise.resolve().then(()=>Ny);return{createArchitectureServices:t}},void 0),e=n().Architecture.parser.LangiumParser;Ze.architecture=e},"architecture"),gitGraph:k(async()=>{const{createGitGraphServices:n}=await St(async()=>{const{createGitGraphServices:t}=await Promise.resolve().then(()=>wy);return{createGitGraphServices:t}},void 0),e=n().GitGraph.parser.LangiumParser;Ze.gitGraph=e},"gitGraph"),radar:k(async()=>{const{createRadarServices:n}=await St(async()=>{const{createRadarServices:t}=await Promise.resolve().then(()=>_y);return{createRadarServices:t}},void 0),e=n().Radar.parser.LangiumParser;Ze.radar=e},"radar")};async function Sy(n,e){const t=ky[n];if(!t)throw new Error(`Unknown diagram type: ${n}`);Ze[n]||await t();const i=Ze[n].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new xy(i);return i.value}k(Sy,"parse");var Wt,xy=(Wt=class extends Error{constructor(e){const t=e.lexerErrors.map(i=>i.message).join(`
127
+ `),r=e.parserErrors.map(i=>i.message).join(`
128
+ `);super(`Parsing failed: ${t} ${r}`),this.result=e}},k(Wt,"MermaidParseError"),Wt);const Iy=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:hu,createInfoServices:pu},Symbol.toStringTag,{value:"Module"})),$y=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:mu,createPacketServices:gu},Symbol.toStringTag,{value:"Module"})),Cy=Object.freeze(Object.defineProperty({__proto__:null,PieModule:yu,createPieServices:Tu},Symbol.toStringTag,{value:"Module"})),Ny=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:vu,createArchitectureServices:Ru},Symbol.toStringTag,{value:"Module"})),wy=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:du,createGitGraphServices:fu},Symbol.toStringTag,{value:"Module"})),_y=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Au,createRadarServices:Eu},Symbol.toStringTag,{value:"Module"}));export{Sy as p};
129
+ //# sourceMappingURL=radar-MK3ICKWK-CM-Iz9PA.js.map