@cagent/chat-embedding-core 0.0.12 → 0.0.14

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 (317) hide show
  1. package/.env +6 -0
  2. package/README.md +213 -213
  3. package/bun.lock +1548 -1548
  4. package/dist/abnfDiagram-VRR7QNED-3cfb3856.js +1 -0
  5. package/dist/abnfDiagram-VRR7QNED-686410b0.js +1 -0
  6. package/dist/abnfDiagram-VRR7QNED-fb22812d.js +1 -0
  7. package/dist/api/chatRoom.d.ts.map +1 -0
  8. package/dist/arc-24dd4755.js +1 -0
  9. package/dist/arc-5d6257cf.js +1 -0
  10. package/dist/arc-90e71e7e.js +1 -0
  11. package/dist/architecture-TIHT7OUA-a997f441.js +1 -0
  12. package/dist/architecture-TIHT7OUA-faa1f9b3.js +1 -0
  13. package/dist/architectureDiagram-ZJ3FMSHR-87443299.js +1 -0
  14. package/dist/architectureDiagram-ZJ3FMSHR-93988e41.js +1 -0
  15. package/dist/architectureDiagram-ZJ3FMSHR-bde2dd21.js +1 -0
  16. package/dist/blockDiagram-677ZJIJ3-25a94a47.js +1 -0
  17. package/dist/blockDiagram-677ZJIJ3-88bd543c.js +1 -0
  18. package/dist/blockDiagram-677ZJIJ3-c769a3c8.js +1 -0
  19. package/dist/c4Diagram-LMCZKHZV-763880d7.js +1 -0
  20. package/dist/c4Diagram-LMCZKHZV-d7fc839e.js +1 -0
  21. package/dist/c4Diagram-LMCZKHZV-da04a76e.js +1 -0
  22. package/dist/channel-11d3f4bc.js +1 -0
  23. package/dist/channel-534c2e17.js +1 -0
  24. package/dist/channel-c3cf6060.js +1 -0
  25. package/dist/chunk-2Q5K7J3B-2892df89.js +1 -0
  26. package/dist/chunk-2Q5K7J3B-7960ff8e.js +1 -0
  27. package/dist/chunk-2Q5K7J3B-9497bf31.js +1 -0
  28. package/dist/chunk-32BRIVSS-10123eba.js +1 -0
  29. package/dist/chunk-32BRIVSS-10ac68f7.js +1 -0
  30. package/dist/chunk-32BRIVSS-8a8507a2.js +1 -0
  31. package/dist/chunk-5VM5RSS4-36b32f6e.js +1 -0
  32. package/dist/chunk-5VM5RSS4-4b2efd20.js +1 -0
  33. package/dist/chunk-5VM5RSS4-5fc85a49.js +1 -0
  34. package/dist/chunk-EX3LRPZG-36494b87.js +1 -0
  35. package/dist/chunk-EX3LRPZG-6cd1f2fa.js +1 -0
  36. package/dist/chunk-EX3LRPZG-7ac6d0d7.js +1 -0
  37. package/dist/chunk-JWPE2WC7-15a55950.js +1 -0
  38. package/dist/chunk-JWPE2WC7-84faee3d.js +1 -0
  39. package/dist/chunk-JWPE2WC7-e2521b1e.js +1 -0
  40. package/dist/chunk-MOJQB5TN-47f0392f.js +1 -0
  41. package/dist/chunk-MOJQB5TN-5cc2e61b.js +1 -0
  42. package/dist/chunk-MOJQB5TN-ea88675c.js +1 -0
  43. package/dist/chunk-PUDLZKDR-057ec46a.js +1 -0
  44. package/dist/chunk-PUDLZKDR-53309be9.js +1 -0
  45. package/dist/chunk-PUDLZKDR-6de50ada.js +1 -0
  46. package/dist/chunk-RYQCIY6F-06b096c5.js +1 -0
  47. package/dist/chunk-RYQCIY6F-453400cd.js +1 -0
  48. package/dist/chunk-RYQCIY6F-8de649c8.js +1 -0
  49. package/dist/chunk-V7JOEXUC-4083766f.js +1 -0
  50. package/dist/chunk-V7JOEXUC-4e8d7729.js +1 -0
  51. package/dist/chunk-V7JOEXUC-bb2df9b0.js +1 -0
  52. package/dist/chunk-VR4S4FIN-5feb7571.js +1 -0
  53. package/dist/chunk-VR4S4FIN-9df47127.js +1 -0
  54. package/dist/chunk-VR4S4FIN-c4f2681d.js +1 -0
  55. package/dist/chunk-XXDRQBXY-3c9d8bf9.js +1 -0
  56. package/dist/chunk-XXDRQBXY-de00e988.js +1 -0
  57. package/dist/chunk-XXDRQBXY-f923ffed.js +1 -0
  58. package/dist/classDiagram-OUVF2IWQ-5cdf5fe6.js +1 -0
  59. package/dist/classDiagram-OUVF2IWQ-d51bd736.js +1 -0
  60. package/dist/classDiagram-OUVF2IWQ-fc2b54d6.js +1 -0
  61. package/dist/classDiagram-v2-EOCWNBFH-5cdf5fe6.js +1 -0
  62. package/dist/classDiagram-v2-EOCWNBFH-d51bd736.js +1 -0
  63. package/dist/classDiagram-v2-EOCWNBFH-fc2b54d6.js +1 -0
  64. package/dist/components/Badge.d.ts.map +1 -0
  65. package/dist/components/Bot.d.ts.map +1 -0
  66. package/dist/components/FeedbackContentDialog.d.ts.map +1 -0
  67. package/dist/components/RoomReconnectAlert.d.ts.map +1 -0
  68. package/dist/components/Toast.d.ts.map +1 -0
  69. package/dist/components/TypingBubble.d.ts.map +1 -0
  70. package/dist/components/avatars/Avatar.d.ts.map +1 -0
  71. package/dist/components/avatars/DefaultAvatar.d.ts.map +1 -0
  72. package/dist/components/bubbles/AgentReasoningBubble.d.ts.map +1 -0
  73. package/dist/components/bubbles/BotBubble.d.ts.map +1 -0
  74. package/dist/components/bubbles/ChartBubble.d.ts.map +1 -0
  75. package/dist/components/bubbles/ChartLoadingPlaceholder.d.ts.map +1 -0
  76. package/dist/components/bubbles/ChartPlaceholder.d.ts.map +1 -0
  77. package/dist/components/bubbles/ChartPopupModal.d.ts.map +1 -0
  78. package/dist/components/bubbles/FollowUpPromptBubble.d.ts.map +1 -0
  79. package/dist/components/bubbles/GuestBubble.d.ts.map +1 -0
  80. package/dist/components/bubbles/LeadCaptureBubble.d.ts.map +1 -0
  81. package/dist/components/bubbles/LoadingBubble.d.ts.map +1 -0
  82. package/dist/components/bubbles/SourceBubble.d.ts.map +1 -0
  83. package/dist/components/bubbles/StableChartWrapper.d.ts.map +1 -0
  84. package/dist/components/bubbles/StarterPromptBubble.d.ts.map +1 -0
  85. package/dist/components/buttons/AttachmentUploadButton.d.ts.map +1 -0
  86. package/dist/components/buttons/CancelButton.d.ts.map +1 -0
  87. package/dist/components/buttons/CopyMessageButton.d.ts.map +1 -0
  88. package/dist/components/buttons/EditMessageButton.d.ts.map +1 -0
  89. package/dist/components/buttons/FeedbackButtons.d.ts.map +1 -0
  90. package/dist/components/buttons/ImageUploadButton.d.ts.map +1 -0
  91. package/dist/components/buttons/LeadCaptureButtons.d.ts.map +1 -0
  92. package/dist/components/buttons/PopupToast.d.ts.map +1 -0
  93. package/dist/components/buttons/RecordAudioButton.d.ts.map +1 -0
  94. package/dist/components/buttons/SendButton.d.ts.map +1 -0
  95. package/dist/components/dialogs/EditMessageDialog.d.ts.map +1 -0
  96. package/dist/components/icons/AddImageIcon.d.ts.map +1 -0
  97. package/dist/components/icons/AttachmentIcon.d.ts.map +1 -0
  98. package/dist/components/icons/CheckIcon.d.ts.map +1 -0
  99. package/dist/components/icons/CircleDotIcon.d.ts.map +1 -0
  100. package/dist/components/icons/ClipboardIcon.d.ts.map +1 -0
  101. package/dist/components/icons/CopyIcon.d.ts.map +1 -0
  102. package/dist/components/icons/DeleteIcon.d.ts.map +1 -0
  103. package/dist/components/icons/EditIcon.d.ts.map +1 -0
  104. package/dist/components/icons/FullScreenIcon.d.ts.map +1 -0
  105. package/dist/components/icons/RecordIcon.d.ts.map +1 -0
  106. package/dist/components/icons/ResetZoomIcon.d.ts.map +1 -0
  107. package/dist/components/icons/SendIcon.d.ts.map +1 -0
  108. package/dist/components/icons/SparklesIcon.d.ts.map +1 -0
  109. package/dist/components/icons/StopIcon.d.ts.map +1 -0
  110. package/dist/components/icons/ThumbsDownIcon.d.ts.map +1 -0
  111. package/dist/components/icons/ThumbsUpIcon.d.ts.map +1 -0
  112. package/dist/components/icons/TickIcon.d.ts.map +1 -0
  113. package/dist/components/icons/TrashIcon.d.ts.map +1 -0
  114. package/dist/components/icons/XIcon.d.ts.map +1 -0
  115. package/dist/components/icons/ZoomInIcon.d.ts.map +1 -0
  116. package/dist/components/icons/ZoomOutIcon.d.ts.map +1 -0
  117. package/dist/components/icons/index.d.ts.map +1 -0
  118. package/dist/components/image/PreviewImage.d.ts.map +1 -0
  119. package/dist/components/index.d.ts.map +1 -0
  120. package/dist/components/inputs/textInput/components/FilePreview.d.ts.map +1 -0
  121. package/dist/components/inputs/textInput/components/ShortTextInput.d.ts.map +1 -0
  122. package/dist/components/inputs/textInput/components/TextInput.d.ts.map +1 -0
  123. package/dist/components/inputs/textInput/index.d.ts.map +1 -0
  124. package/dist/constants.d.ts.map +1 -0
  125. package/dist/cose-bilkent-JH36ORCC-ac4d2e28.js +1 -0
  126. package/dist/cose-bilkent-JH36ORCC-c3560feb.js +1 -0
  127. package/dist/cose-bilkent-JH36ORCC-f0ddc3e7.js +1 -0
  128. package/dist/cynefin-VYW2F7L2-2458ad91.js +1 -0
  129. package/dist/cynefin-VYW2F7L2-a8648cf6.js +1 -0
  130. package/dist/cynefinDiagram-TSTJHNR4-62a29383.js +1 -0
  131. package/dist/cynefinDiagram-TSTJHNR4-910b3dfd.js +1 -0
  132. package/dist/cynefinDiagram-TSTJHNR4-deb0bb2c.js +1 -0
  133. package/dist/cytoscape.esm-56d2239f.js +1 -0
  134. package/dist/cytoscape.esm-c9352dc8.js +1 -0
  135. package/dist/dagre-VKFMJZFB-1467d0af.js +1 -0
  136. package/dist/dagre-VKFMJZFB-35daad97.js +1 -0
  137. package/dist/dagre-VKFMJZFB-c5b9a4a0.js +1 -0
  138. package/dist/defaultLocale-b4977250.js +1 -0
  139. package/dist/defaultLocale-e35a4def.js +1 -0
  140. package/dist/diagram-FQU43EPY-41eed431.js +1 -0
  141. package/dist/diagram-FQU43EPY-613e9e4e.js +1 -0
  142. package/dist/diagram-FQU43EPY-d256050e.js +1 -0
  143. package/dist/diagram-G47NLZAW-813bbb70.js +1 -0
  144. package/dist/diagram-G47NLZAW-8ef917d1.js +1 -0
  145. package/dist/diagram-G47NLZAW-aa02607c.js +1 -0
  146. package/dist/diagram-NH7WQ7WH-0af7a921.js +1 -0
  147. package/dist/diagram-NH7WQ7WH-0e4f7f17.js +1 -0
  148. package/dist/diagram-NH7WQ7WH-6f91f6aa.js +1 -0
  149. package/dist/diagram-OA4YK3LP-0fba2475.js +1 -0
  150. package/dist/diagram-OA4YK3LP-587273f4.js +1 -0
  151. package/dist/diagram-OA4YK3LP-6cbfc7a5.js +1 -0
  152. package/dist/diagram-WEI45ONY-0241463f.js +1 -0
  153. package/dist/diagram-WEI45ONY-dd634033.js +1 -0
  154. package/dist/diagram-WEI45ONY-e002e844.js +1 -0
  155. package/dist/ebnfDiagram-CCIWWBDH-20ac4ba3.js +1 -0
  156. package/dist/ebnfDiagram-CCIWWBDH-e9974165.js +1 -0
  157. package/dist/ebnfDiagram-CCIWWBDH-ead44055.js +1 -0
  158. package/dist/erDiagram-Q63AITRT-1febb8fc.js +1 -0
  159. package/dist/erDiagram-Q63AITRT-4ea4b93d.js +1 -0
  160. package/dist/erDiagram-Q63AITRT-bcb00855.js +1 -0
  161. package/dist/eventmodeling-45OFAUF4-a82f1f18.js +1 -0
  162. package/dist/eventmodeling-45OFAUF4-dcf667fc.js +1 -0
  163. package/dist/features/bubble/components/Bubble.d.ts.map +1 -0
  164. package/dist/features/bubble/components/BubbleButton.d.ts.map +1 -0
  165. package/dist/features/bubble/components/Tooltip.d.ts.map +1 -0
  166. package/dist/features/bubble/components/index.d.ts.map +1 -0
  167. package/dist/features/bubble/index.d.ts.map +1 -0
  168. package/dist/features/bubble/types.d.ts.map +1 -0
  169. package/dist/features/full/components/Full.d.ts.map +1 -0
  170. package/dist/features/full/components/index.d.ts.map +1 -0
  171. package/dist/features/full/index.d.ts.map +1 -0
  172. package/dist/features/popup/components/DisclaimerPopup.d.ts.map +1 -0
  173. package/dist/features/popup/components/Popup.d.ts.map +1 -0
  174. package/dist/features/popup/components/index.d.ts.map +1 -0
  175. package/dist/features/popup/index.d.ts.map +1 -0
  176. package/dist/features/popup/types.d.ts.map +1 -0
  177. package/dist/flowDiagram-23GEKE2U-14ee2b3c.js +1 -0
  178. package/dist/flowDiagram-23GEKE2U-7ab9c2e4.js +1 -0
  179. package/dist/flowDiagram-23GEKE2U-f7309569.js +1 -0
  180. package/dist/ganttDiagram-NO4QXBWP-249a167d.js +1 -0
  181. package/dist/ganttDiagram-NO4QXBWP-bd530d12.js +1 -0
  182. package/dist/ganttDiagram-NO4QXBWP-e5e495d6.js +1 -0
  183. package/dist/gitGraph-TEB2WS4Q-72ba3362.js +1 -0
  184. package/dist/gitGraph-TEB2WS4Q-d07b15b3.js +1 -0
  185. package/dist/gitGraphDiagram-IHSO6WYX-2964ff91.js +1 -0
  186. package/dist/gitGraphDiagram-IHSO6WYX-4d9324ad.js +1 -0
  187. package/dist/gitGraphDiagram-IHSO6WYX-97bf868b.js +1 -0
  188. package/dist/graph-0df36b9d.js +1 -0
  189. package/dist/graph-c6801890.js +1 -0
  190. package/dist/index.d.ts.map +1 -0
  191. package/dist/info-DKCQHKI2-d8e8a901.js +1 -0
  192. package/dist/info-DKCQHKI2-dd69502c.js +1 -0
  193. package/dist/infoDiagram-FWYZ7A6U-1267309e.js +1 -0
  194. package/dist/infoDiagram-FWYZ7A6U-5b9d28af.js +1 -0
  195. package/dist/infoDiagram-FWYZ7A6U-cc33afe4.js +1 -0
  196. package/dist/init-b029a625.js +1 -0
  197. package/dist/init-cf76ae07.js +1 -0
  198. package/dist/ishikawaDiagram-FXEZZL3T-3f0977e8.js +1 -0
  199. package/dist/ishikawaDiagram-FXEZZL3T-89c1b2f4.js +1 -0
  200. package/dist/ishikawaDiagram-FXEZZL3T-9fef4653.js +1 -0
  201. package/dist/journeyDiagram-5HDEW3XC-563a68ff.js +1 -0
  202. package/dist/journeyDiagram-5HDEW3XC-c8c8d701.js +1 -0
  203. package/dist/journeyDiagram-5HDEW3XC-e6c5e84b.js +1 -0
  204. package/dist/kanban-definition-HUTT4EX6-3719e367.js +1 -0
  205. package/dist/kanban-definition-HUTT4EX6-7bc0cd1e.js +1 -0
  206. package/dist/kanban-definition-HUTT4EX6-d8b002e3.js +1 -0
  207. package/dist/katex-67456a45.js +1 -0
  208. package/dist/katex-b134d23c.js +1 -0
  209. package/dist/layout-e44354bf.js +1 -0
  210. package/dist/layout-ff5d33a1.js +1 -0
  211. package/dist/linear-7b1a23f3.js +1 -0
  212. package/dist/linear-d7ad6d25.js +1 -0
  213. package/dist/linear-e5c99c88.js +1 -0
  214. package/dist/map-05f0ff95.js +1 -0
  215. package/dist/map-d3292a5b.js +1 -0
  216. package/dist/mermaid-parser.core-6df0beec.js +1 -0
  217. package/dist/mermaid-parser.core-d8d1c2b9.js +1 -0
  218. package/dist/mermaid.core-2d237a1e.js +1 -0
  219. package/dist/mermaid.core-70d5aead.js +1 -0
  220. package/dist/mermaid.core-8797d6a9.js +1 -0
  221. package/dist/mindmap-definition-LN4V7U3C-04a12a88.js +1 -0
  222. package/dist/mindmap-definition-LN4V7U3C-86a890ce.js +1 -0
  223. package/dist/mindmap-definition-LN4V7U3C-f495948c.js +1 -0
  224. package/dist/ordinal-221e41d7.js +1 -0
  225. package/dist/ordinal-4a51e46c.js +1 -0
  226. package/dist/packet-7NZHBO7P-b4586e10.js +1 -0
  227. package/dist/packet-7NZHBO7P-f62750ff.js +1 -0
  228. package/dist/pegDiagram-2B236MQR-234fe6d1.js +1 -0
  229. package/dist/pegDiagram-2B236MQR-2826e278.js +1 -0
  230. package/dist/pegDiagram-2B236MQR-64eeb662.js +1 -0
  231. package/dist/pie-RZYD4A2V-106ba3d7.js +1 -0
  232. package/dist/pie-RZYD4A2V-752eda00.js +1 -0
  233. package/dist/pieDiagram-ENE6RG2P-0c3b09b8.js +1 -0
  234. package/dist/pieDiagram-ENE6RG2P-3fb5f734.js +1 -0
  235. package/dist/pieDiagram-ENE6RG2P-af928526.js +1 -0
  236. package/dist/quadrantDiagram-ABIIQ3AL-1a55c0f5.js +1 -0
  237. package/dist/quadrantDiagram-ABIIQ3AL-3d15c26d.js +1 -0
  238. package/dist/quadrantDiagram-ABIIQ3AL-9110fa9c.js +1 -0
  239. package/dist/queries/sendMessageQuery.d.ts.map +1 -0
  240. package/dist/radar-I7S5WNFK-53bde9ff.js +1 -0
  241. package/dist/radar-I7S5WNFK-87e8c5ba.js +1 -0
  242. package/dist/railroad-3IZDKUUU-99427b9f.js +1 -0
  243. package/dist/railroad-3IZDKUUU-9e29587d.js +1 -0
  244. package/dist/railroad-abnf-AHOZXSZD-1d11cb5b.js +1 -0
  245. package/dist/railroad-abnf-AHOZXSZD-c27db0bc.js +1 -0
  246. package/dist/railroad-ebnf-EBAXGLYW-38dff87c.js +1 -0
  247. package/dist/railroad-ebnf-EBAXGLYW-6bb5de0c.js +1 -0
  248. package/dist/railroad-peg-LSFZ7HO6-c9f0aa71.js +1 -0
  249. package/dist/railroad-peg-LSFZ7HO6-efcb0a43.js +1 -0
  250. package/dist/railroadDiagram-RFXS5EU6-14373a87.js +1 -0
  251. package/dist/railroadDiagram-RFXS5EU6-ec9e696e.js +1 -0
  252. package/dist/railroadDiagram-RFXS5EU6-effa5611.js +1 -0
  253. package/dist/register.d.ts.map +1 -0
  254. package/dist/requirementDiagram-TGXJPOKE-3d199581.js +1 -0
  255. package/dist/requirementDiagram-TGXJPOKE-5a337f1a.js +1 -0
  256. package/dist/requirementDiagram-TGXJPOKE-a7960859.js +1 -0
  257. package/dist/sankeyDiagram-HTMAVEWB-209eac30.js +1 -0
  258. package/dist/sankeyDiagram-HTMAVEWB-3c852fda.js +1 -0
  259. package/dist/sankeyDiagram-HTMAVEWB-46aa1eb1.js +1 -0
  260. package/dist/sequenceDiagram-DBY2YBRQ-4121f7c2.js +1 -0
  261. package/dist/sequenceDiagram-DBY2YBRQ-7bad18e4.js +1 -0
  262. package/dist/sequenceDiagram-DBY2YBRQ-af96f48e.js +1 -0
  263. package/dist/sizeCapture-X5ZJPWSS-13826306.js +1 -0
  264. package/dist/sizeCapture-X5ZJPWSS-32e2eec7.js +1 -0
  265. package/dist/sizeCapture-X5ZJPWSS-a078176f.js +1 -0
  266. package/dist/stateDiagram-2N3HPSRC-527374a2.js +1 -0
  267. package/dist/stateDiagram-2N3HPSRC-8047e124.js +1 -0
  268. package/dist/stateDiagram-2N3HPSRC-ba344b5d.js +1 -0
  269. package/dist/stateDiagram-v2-6OUMAXLB-7580bf69.js +1 -0
  270. package/dist/stateDiagram-v2-6OUMAXLB-d4c58fd3.js +1 -0
  271. package/dist/stateDiagram-v2-6OUMAXLB-e5921044.js +1 -0
  272. package/dist/store/constant.d.ts.map +1 -0
  273. package/dist/swimlanes-5IMT3BWC-5834b232.js +1 -0
  274. package/dist/swimlanes-5IMT3BWC-791a3547.js +1 -0
  275. package/dist/swimlanes-5IMT3BWC-db2c593a.js +1 -0
  276. package/dist/swimlanesDiagram-G3AALYLV-36c30eec.js +1 -0
  277. package/dist/swimlanesDiagram-G3AALYLV-89220ddd.js +1 -0
  278. package/dist/swimlanesDiagram-G3AALYLV-b621330d.js +1 -0
  279. package/dist/timeline-definition-FHXFAJF6-0482a67a.js +1 -0
  280. package/dist/timeline-definition-FHXFAJF6-1d165a67.js +1 -0
  281. package/dist/timeline-definition-FHXFAJF6-f9600b97.js +1 -0
  282. package/dist/treeView-QDETBFTQ-0ecf20cd.js +1 -0
  283. package/dist/treeView-QDETBFTQ-96ed8e2f.js +1 -0
  284. package/dist/treemap-6X3UGDF4-0a7f19ca.js +1 -0
  285. package/dist/treemap-6X3UGDF4-9f498e0c.js +1 -0
  286. package/dist/types/chart.d.ts.map +1 -0
  287. package/dist/types.d.ts +1 -0
  288. package/dist/types.d.ts.map +1 -0
  289. package/dist/utils/audioRecording.d.ts.map +1 -0
  290. package/dist/utils/chartInstanceManager.d.ts.map +1 -0
  291. package/dist/utils/chartTagParser.d.ts.map +1 -0
  292. package/dist/utils/chatInputHistory.d.ts.map +1 -0
  293. package/dist/utils/chatStreamHelper.d.ts.map +1 -0
  294. package/dist/utils/index.d.ts.map +1 -0
  295. package/dist/utils/isMobileSignal.d.ts.map +1 -0
  296. package/dist/utils/transcriptApi.d.ts.map +1 -0
  297. package/dist/utils/ultimateJsonParser.d.ts.map +1 -0
  298. package/dist/vennDiagram-L72KCM5P-05176193.js +1 -0
  299. package/dist/vennDiagram-L72KCM5P-25a48393.js +1 -0
  300. package/dist/vennDiagram-L72KCM5P-28cffef7.js +1 -0
  301. package/dist/wardley-OPB4EBWU-08c5f013.js +1 -0
  302. package/dist/wardley-OPB4EBWU-9803a1d9.js +1 -0
  303. package/dist/wardleyDiagram-EHGQE667-052e6de9.js +1 -0
  304. package/dist/wardleyDiagram-EHGQE667-6a614fd9.js +1 -0
  305. package/dist/wardleyDiagram-EHGQE667-d11fe904.js +1 -0
  306. package/dist/web-25bb78b9.js +1 -0
  307. package/dist/web-753300e1.js +1 -0
  308. package/dist/web-c3ed22c4.js +1 -0
  309. package/dist/web.d.ts.map +1 -0
  310. package/dist/web.js +1 -1
  311. package/dist/window.d.ts.map +1 -0
  312. package/dist/xychartDiagram-FW5EYKEG-43118b83.js +1 -0
  313. package/dist/xychartDiagram-FW5EYKEG-d77187fe.js +1 -0
  314. package/dist/xychartDiagram-FW5EYKEG-f2fac492.js +1 -0
  315. package/docs/chart-rendering-implementation-plan.md +565 -0
  316. package/package.json +86 -86
  317. package/server.js +477 -477
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));var r,n,a,i,s,o,l,u,c,p,d,f,m,h,y,g,v,T,R,$,E,A,b,C,S,k,x,w,N,I,_,P,O,L,D,M,j,F,G,z,K,q,U,B,V,W,H,Y,Z,X,J,Q,ee,te,re,ne,ae,ie,se,oe,le,ue,ce,pe,de,fe,me,he,ye,ge,ve,Te,Re,$e,Ee,Ae,be,Ce,Se,ke,xe,we,Ne,Ie,_e,Pe=Object.create,Oe=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,De=Object.getOwnPropertyNames,Me=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty,Fe=(e,t)=>Oe(e,"name",{value:t,configurable:!0}),Ge=(e,t)=>function(){return t||(0,e[De(e)[0]])((t={exports:{}}).exports,t),t.exports},ze=(e,t)=>{for(var r in t)Oe(e,r,{get:t[r],enumerable:!0})},Ke=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of De(t))je.call(e,a)||a===r||Oe(e,a,{get:()=>t[a],enumerable:!(n=Le(t,a))||n.enumerable});return e},qe=(e,t,r)=>(Ke(e,t,"default"),r&&Ke(r,t,"default")),Ue=(e,t,r)=>(r=null!=e?Pe(Me(e)):{},Ke(!t&&e&&e.__esModule?r:Oe(r,"default",{value:e,enumerable:!0}),e)),Be=e=>Ke(Oe({},"__esModule",{value:!0}),e),Ve={},We=(ze(Ve,{AnnotatedTextEdit:()=>b,ChangeAnnotation:()=>E,ChangeAnnotationIdentifier:()=>A,CodeAction:()=>oe,CodeActionContext:()=>se,CodeActionKind:()=>ae,CodeActionTriggerKind:()=>ie,CodeDescription:()=>v,CodeLens:()=>le,Color:()=>c,ColorInformation:()=>p,ColorPresentation:()=>d,Command:()=>R,CompletionItem:()=>B,CompletionItemKind:()=>F,CompletionItemLabelDetails:()=>U,CompletionItemTag:()=>z,CompletionList:()=>V,CreateFile:()=>S,DeleteFile:()=>x,Diagnostic:()=>T,DiagnosticRelatedInformation:()=>h,DiagnosticSeverity:()=>y,DiagnosticTag:()=>g,DocumentHighlight:()=>J,DocumentHighlightKind:()=>X,DocumentLink:()=>ce,DocumentSymbol:()=>ne,DocumentUri:()=>r,EOL:()=>we,FoldingRange:()=>m,FoldingRangeKind:()=>f,FormattingOptions:()=>ue,Hover:()=>H,InlayHint:()=>$e,InlayHintKind:()=>Te,InlayHintLabelPart:()=>Re,InlineCompletionContext:()=>ke,InlineCompletionItem:()=>Ae,InlineCompletionList:()=>be,InlineCompletionTriggerKind:()=>Ce,InlineValueContext:()=>ve,InlineValueEvaluatableExpression:()=>ge,InlineValueText:()=>he,InlineValueVariableLookup:()=>ye,InsertReplaceEdit:()=>K,InsertTextFormat:()=>G,InsertTextMode:()=>q,Location:()=>l,LocationLink:()=>u,MarkedString:()=>W,MarkupContent:()=>j,MarkupKind:()=>M,OptionalVersionedTextDocumentIdentifier:()=>L,ParameterInformation:()=>Y,Position:()=>s,Range:()=>o,RenameFile:()=>k,SelectedCompletionInfo:()=>Se,SelectionRange:()=>pe,SemanticTokenModifiers:()=>fe,SemanticTokenTypes:()=>de,SemanticTokens:()=>me,SignatureInformation:()=>Z,StringValue:()=>Ee,SymbolInformation:()=>te,SymbolKind:()=>Q,SymbolTag:()=>ee,TextDocument:()=>Ne,TextDocumentEdit:()=>C,TextDocumentIdentifier:()=>P,TextDocumentItem:()=>D,TextEdit:()=>$,URI:()=>n,VersionedTextDocumentIdentifier:()=>O,WorkspaceChange:()=>_,WorkspaceEdit:()=>w,WorkspaceFolder:()=>xe,WorkspaceSymbol:()=>re,integer:()=>a,uinteger:()=>i}),((e,t)=>function(){return t=e?(0,e[De(e)[0]])(e=0):t})({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){function e(e){return"string"==typeof e}var t,Pe,Oe,Le;function De(e){return"string"==typeof e}function Me(e){return"number"==typeof e&&t.MIN_VALUE<=e&&e<=t.MAX_VALUE}function je(e){return"number"==typeof e&&Pe.MIN_VALUE<=e&&e<=Pe.MAX_VALUE}function Ge(e,t){return{line:e=e===Number.MAX_VALUE?i.MAX_VALUE:e,character:t=t===Number.MAX_VALUE?i.MAX_VALUE:t}}function ze(e){return _e.objectLiteral(e)&&_e.uinteger(e.line)&&_e.uinteger(e.character)}function Ke(e,t,r,n){if(_e.uinteger(e)&&_e.uinteger(t)&&_e.uinteger(r)&&_e.uinteger(n))return{start:s.create(e,t),end:s.create(r,n)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)}function qe(e){return _e.objectLiteral(e)&&s.is(e.start)&&s.is(e.end)}function Ue(e,t){return{uri:e,range:t}}function Be(e){return _e.objectLiteral(e)&&o.is(e.range)&&(_e.string(e.uri)||_e.undefined(e.uri))}function Ve(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}}function We(e){return _e.objectLiteral(e)&&o.is(e.targetRange)&&_e.string(e.targetUri)&&o.is(e.targetSelectionRange)&&(o.is(e.originSelectionRange)||_e.undefined(e.originSelectionRange))}function He(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}}function Ye(e){return _e.objectLiteral(e)&&_e.numberRange(e.red,0,1)&&_e.numberRange(e.green,0,1)&&_e.numberRange(e.blue,0,1)&&_e.numberRange(e.alpha,0,1)}function Ze(e,t){return{range:e,color:t}}function Xe(e){return _e.objectLiteral(e)&&o.is(e.range)&&c.is(e.color)}function Je(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}}function Qe(e){return _e.objectLiteral(e)&&_e.string(e.label)&&(_e.undefined(e.textEdit)||$.is(e))&&(_e.undefined(e.additionalTextEdits)||_e.typedArray(e.additionalTextEdits,$.is))}function et(e,t,r,n,a,i){return e={startLine:e,endLine:t},_e.defined(r)&&(e.startCharacter=r),_e.defined(n)&&(e.endCharacter=n),_e.defined(a)&&(e.kind=a),_e.defined(i)&&(e.collapsedText=i),e}function tt(e){return _e.objectLiteral(e)&&_e.uinteger(e.startLine)&&_e.uinteger(e.startLine)&&(_e.undefined(e.startCharacter)||_e.uinteger(e.startCharacter))&&(_e.undefined(e.endCharacter)||_e.uinteger(e.endCharacter))&&(_e.undefined(e.kind)||_e.string(e.kind))}function rt(e,t){return{location:e,message:t}}function nt(e){return _e.defined(e)&&l.is(e.location)&&_e.string(e.message)}function at(e){return _e.objectLiteral(e)&&_e.string(e.href)}function it(e,t,r,n,a,i){return e={range:e,message:t},_e.defined(r)&&(e.severity=r),_e.defined(n)&&(e.code=n),_e.defined(a)&&(e.source=a),_e.defined(i)&&(e.relatedInformation=i),e}function st(e){var t;return _e.defined(e)&&o.is(e.range)&&_e.string(e.message)&&(_e.number(e.severity)||_e.undefined(e.severity))&&(_e.integer(e.code)||_e.string(e.code)||_e.undefined(e.code))&&(_e.undefined(e.codeDescription)||_e.string(null==(t=e.codeDescription)?void 0:t.href))&&(_e.string(e.source)||_e.undefined(e.source))&&(_e.undefined(e.relatedInformation)||_e.typedArray(e.relatedInformation,h.is))}function ot(e,t,...r){return e={title:e,command:t},_e.defined(r)&&0<r.length&&(e.arguments=r),e}function lt(e){return _e.defined(e)&&_e.string(e.title)&&_e.string(e.command)}function ut(e,t){return{range:e,newText:t}}function ct(e,t){return{range:{start:e,end:e},newText:t}}function pt(e){return{range:e,newText:""}}function dt(e){return _e.objectLiteral(e)&&_e.string(e.newText)&&o.is(e.range)}function ft(e,t,r){return e={label:e},void 0!==t&&(e.needsConfirmation=t),void 0!==r&&(e.description=r),e}function mt(e){return _e.objectLiteral(e)&&_e.string(e.label)&&(_e.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(_e.string(e.description)||void 0===e.description)}function ht(e){return _e.string(e)}function yt(e,t,r){return{range:e,newText:t,annotationId:r}}function gt(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}}function vt(e,t){return{range:e,newText:"",annotationId:t}}function Tt(e){return $.is(e)&&(E.is(e.annotationId)||A.is(e.annotationId))}function Rt(e,t){return{textDocument:e,edits:t}}function $t(e){return _e.defined(e)&&L.is(e.textDocument)&&Array.isArray(e.edits)}function Et(e,t,r){return e={kind:"create",uri:e},void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(e.options=t),void 0!==r&&(e.annotationId=r),e}function At(e){return e&&"create"===e.kind&&_e.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||_e.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||_e.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||A.is(e.annotationId))}function bt(e,t,r,n){return e={kind:"rename",oldUri:e,newUri:t},void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(e.options=r),void 0!==n&&(e.annotationId=n),e}function Ct(e){return e&&"rename"===e.kind&&_e.string(e.oldUri)&&_e.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||_e.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||_e.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||A.is(e.annotationId))}function St(e,t,r){return e={kind:"delete",uri:e},void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(e.options=t),void 0!==r&&(e.annotationId=r),e}function kt(e){return e&&"delete"===e.kind&&_e.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||_e.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||_e.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||A.is(e.annotationId))}function xt(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>_e.string(e.kind)?S.is(e)||k.is(e)||x.is(e):C.is(e)))}function wt(e){return{uri:e}}function Nt(e){return _e.defined(e)&&_e.string(e.uri)}function It(e,t){return{uri:e,version:t}}function _t(e){return _e.defined(e)&&_e.string(e.uri)&&_e.integer(e.version)}function Pt(e,t){return{uri:e,version:t}}function Ot(e){return _e.defined(e)&&_e.string(e.uri)&&(null===e.version||_e.integer(e.version))}function Lt(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}}function Dt(e){return _e.defined(e)&&_e.string(e.uri)&&_e.string(e.languageId)&&_e.integer(e.version)&&_e.string(e.text)}function Mt(e){return e===Oe.PlainText||e===Oe.Markdown}function jt(e){var t=e;return _e.objectLiteral(e)&&M.is(t.kind)&&_e.string(t.value)}function Ft(e,t,r){return{newText:e,insert:t,replace:r}}function Gt(e){return e&&_e.string(e.newText)&&o.is(e.insert)&&o.is(e.replace)}function zt(e){return e&&(_e.string(e.detail)||void 0===e.detail)&&(_e.string(e.description)||void 0===e.description)}function Kt(e){return{label:e}}function qt(e,t){return{items:e||[],isIncomplete:!!t}}function Ut(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function Bt(e){return _e.string(e)||_e.objectLiteral(e)&&_e.string(e.language)&&_e.string(e.value)}function Vt(e){var t=e;return!!t&&_e.objectLiteral(t)&&(j.is(t.contents)||W.is(t.contents)||_e.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}function Wt(e,t){return t?{label:e,documentation:t}:{label:e}}function Ht(e,t,...r){return e={label:e},_e.defined(t)&&(e.documentation=t),_e.defined(r)?e.parameters=r:e.parameters=[],e}function Yt(e,t){return e={range:e},_e.number(t)&&(e.kind=t),e}function Zt(e,t,r,n,a){return e={name:e,kind:t,location:{uri:n,range:r}},a&&(e.containerName=a),e}function Xt(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}}function Jt(e,t,r,n,a,i){return e={name:e,detail:t,kind:r,range:n,selectionRange:a},void 0!==i&&(e.children=i),e}function Qt(e){return e&&_e.string(e.name)&&_e.number(e.kind)&&o.is(e.range)&&o.is(e.selectionRange)&&(void 0===e.detail||_e.string(e.detail))&&(void 0===e.deprecated||_e.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}function er(e,t,r){return e={diagnostics:e},null!=t&&(e.only=t),null!=r&&(e.triggerKind=r),e}function tr(e){return _e.defined(e)&&_e.typedArray(e.diagnostics,T.is)&&(void 0===e.only||_e.typedArray(e.only,_e.string))&&(void 0===e.triggerKind||e.triggerKind===ie.Invoked||e.triggerKind===ie.Automatic)}function rr(e,t,r){e={title:e};let n=!0;return"string"==typeof t?(n=!1,e.kind=t):R.is(t)?e.command=t:e.edit=t,n&&void 0!==r&&(e.kind=r),e}function nr(e){return e&&_e.string(e.title)&&(void 0===e.diagnostics||_e.typedArray(e.diagnostics,T.is))&&(void 0===e.kind||_e.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||R.is(e.command))&&(void 0===e.isPreferred||_e.boolean(e.isPreferred))&&(void 0===e.edit||w.is(e.edit))}function ar(e,t){return e={range:e},_e.defined(t)&&(e.data=t),e}function ir(e){return _e.defined(e)&&o.is(e.range)&&(_e.undefined(e.command)||R.is(e.command))}function sr(e,t){return{tabSize:e,insertSpaces:t}}function or(e){return _e.defined(e)&&_e.uinteger(e.tabSize)&&_e.boolean(e.insertSpaces)}function lr(e,t,r){return{range:e,target:t,data:r}}function ur(e){return _e.defined(e)&&o.is(e.range)&&(_e.undefined(e.target)||_e.string(e.target))}function cr(e,t){return{range:e,parent:t}}function pr(e){return _e.objectLiteral(e)&&o.is(e.range)&&(void 0===e.parent||Le.is(e.parent))}function dr(e){return _e.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}function fr(e,t){return{range:e,text:t}}function mr(e){return null!=e&&o.is(e.range)&&_e.string(e.text)}function hr(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}}function yr(e){return null!=e&&o.is(e.range)&&_e.boolean(e.caseSensitiveLookup)&&(_e.string(e.variableName)||void 0===e.variableName)}function gr(e,t){return{range:e,expression:t}}function vr(e){return null!=e&&o.is(e.range)&&(_e.string(e.expression)||void 0===e.expression)}function Tr(e,t){return{frameId:e,stoppedLocation:t}}function Rr(e){return _e.defined(e)&&o.is(e.stoppedLocation)}function $r(e){return 1===e||2===e}function Er(e){return{value:e}}function Ar(e){return _e.objectLiteral(e)&&(void 0===e.tooltip||_e.string(e.tooltip)||j.is(e.tooltip))&&(void 0===e.location||l.is(e.location))&&(void 0===e.command||R.is(e.command))}function br(e,t,r){return e={position:e,label:t},void 0!==r&&(e.kind=r),e}function Cr(e){return _e.objectLiteral(e)&&s.is(e.position)&&(_e.string(e.label)||_e.typedArray(e.label,Re.is))&&(void 0===e.kind||Te.is(e.kind))&&void 0===e.textEdits||_e.typedArray(e.textEdits,$.is)&&(void 0===e.tooltip||_e.string(e.tooltip)||j.is(e.tooltip))&&(void 0===e.paddingLeft||_e.boolean(e.paddingLeft))&&(void 0===e.paddingRight||_e.boolean(e.paddingRight))}function Sr(e){return{kind:"snippet",value:e}}function kr(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}}function xr(e){return{items:e}}function wr(e,t){return{range:e,text:t}}function Nr(e,t){return{triggerKind:e,selectedCompletionInfo:t}}function Ir(e){return _e.objectLiteral(e)&&n.is(e.uri)&&_e.string(e.name)}function _r(e,t,r,n){return new Ie(e,t,r,n)}function Pr(e){return!!(_e.defined(e)&&_e.string(e.uri)&&(_e.undefined(e.languageId)||_e.string(e.languageId))&&_e.uinteger(e.lineCount)&&_e.func(e.getText)&&_e.func(e.positionAt)&&_e.func(e.offsetAt))}function Or(e,t){let r=e.getText();var n=Lr(t,(e,t)=>{var r=e.range.start.line-t.range.start.line;return 0==r?e.range.start.character-t.range.start.character:r});let a=r.length;for(let t=n.length-1;0<=t;t--){var i=n[t],s=e.offsetAt(i.range.start),o=e.offsetAt(i.range.end);if(!(o<=a))throw new Error("Overlapping edit");r=r.substring(0,s)+i.newText+r.substring(o,r.length),a=s}return r}function Lr(e,t){if(!(e.length<=1)){var r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);Lr(n,t),Lr(a,t);let s=0,o=0,l=0;for(;s<n.length&&o<a.length;){var i=t(n[s],a[o]);e[l++]=i<=0?n[s++]:a[o++]}for(;s<n.length;)e[l++]=n[s++];for(;o<a.length;)e[l++]=a[o++]}return e}Dr=r=r||{},Fe(e,"is"),Dr.is=e,Dr=n=n||{},Fe(De,"is"),Dr.is=De,(t=a=a||{}).MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647,Fe(Me,"is"),t.is=Me,(Pe=i=i||{}).MIN_VALUE=0,Pe.MAX_VALUE=2147483647,Fe(je,"is"),Pe.is=je,Dr=s=s||{},Fe(Ge,"create"),Dr.create=Ge,Fe(ze,"is"),Dr.is=ze,Dr=o=o||{},Fe(Ke,"create"),Dr.create=Ke,Fe(qe,"is"),Dr.is=qe,Dr=l=l||{},Fe(Ue,"create"),Dr.create=Ue,Fe(Be,"is"),Dr.is=Be,Dr=u=u||{},Fe(Ve,"create"),Dr.create=Ve,Fe(We,"is"),Dr.is=We,Dr=c=c||{},Fe(He,"create"),Dr.create=He,Fe(Ye,"is"),Dr.is=Ye,Dr=p=p||{},Fe(Ze,"create"),Dr.create=Ze,Fe(Xe,"is"),Dr.is=Xe,Dr=d=d||{},Fe(Je,"create"),Dr.create=Je,Fe(Qe,"is"),Dr.is=Qe,(Dr=f=f||{}).Comment="comment",Dr.Imports="imports",Dr.Region="region",Dr=m=m||{},Fe(et,"create"),Dr.create=et,Fe(tt,"is"),Dr.is=tt,Dr=h=h||{},Fe(rt,"create"),Dr.create=rt,Fe(nt,"is"),Dr.is=nt,(Dr=y=y||{}).Error=1,Dr.Warning=2,Dr.Information=3,Dr.Hint=4,(Dr=g=g||{}).Unnecessary=1,Dr.Deprecated=2,Dr=v=v||{},Fe(at,"is"),Dr.is=at,Dr=T=T||{},Fe(it,"create"),Dr.create=it,Fe(st,"is"),Dr.is=st,Dr=R=R||{},Fe(ot,"create"),Dr.create=ot,Fe(lt,"is"),Dr.is=lt,Dr=$=$||{},Fe(ut,"replace"),Dr.replace=ut,Fe(ct,"insert"),Dr.insert=ct,Fe(pt,"del"),Dr.del=pt,Fe(dt,"is"),Dr.is=dt,Dr=E=E||{},Fe(ft,"create"),Dr.create=ft,Fe(mt,"is"),Dr.is=mt,Dr=A=A||{},Fe(ht,"is"),Dr.is=ht,Dr=b=b||{},Fe(yt,"replace"),Dr.replace=yt,Fe(gt,"insert"),Dr.insert=gt,Fe(vt,"del"),Dr.del=vt,Fe(Tt,"is"),Dr.is=Tt,Dr=C=C||{},Fe(Rt,"create"),Dr.create=Rt,Fe($t,"is"),Dr.is=$t,Dr=S=S||{},Fe(Et,"create"),Dr.create=Et,Fe(At,"is"),Dr.is=At,Dr=k=k||{},Fe(bt,"create"),Dr.create=bt,Fe(Ct,"is"),Dr.is=Ct,Dr=x=x||{},Fe(St,"create"),Dr.create=St,Fe(kt,"is"),Dr.is=kt,Dr=w=w||{},Fe(xt,"is"),Dr.is=xt,N=class{static{Fe(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,a;if(n=void 0===r?$.insert(e,t):A.is(r)?(a=r,b.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),b.insert(e,t,a)),this.edits.push(n),void 0!==a)return a}replace(e,t,r){let n,a;if(n=void 0===r?$.replace(e,t):A.is(r)?(a=r,b.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),b.replace(e,t,a)),this.edits.push(n),void 0!==a)return a}delete(e,t){let r,n;if(r=void 0===t?$.del(e):A.is(t)?(n=t,b.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),b.del(e,n)),this.edits.push(r),void 0!==n)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")}},I=class{static{Fe(this,"ChangeAnnotations")}constructor(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let r;if(A.is(e)?r=e:(r=this.nextId(),t=e),void 0!==this._annotations[r])throw new Error(`Id ${r} is already in use.`);if(void 0===t)throw new Error("No annotation provided for id "+r);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},_=class{static{Fe(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e).documentChanges?(this._changeAnnotations=new I(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{var t;C.is(e)&&(t=new N(e.edits,this._changeAnnotations),this._textEditChanges[e.textDocument.uri]=t)})):e.changes&&Object.keys(e.changes).forEach(t=>{var r=new N(e.changes[t]);this._textEditChanges[t]=r}):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(L.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};let n=this._textEditChanges[t.uri];return n||(this._workspaceEdit.documentChanges.push({textDocument:t,edits:r=[]}),n=new N(r,this._changeAnnotations),this._textEditChanges[t.uri]=n),n}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];var r;return t||(this._workspaceEdit.changes[e]=r=[],t=new N(r),this._textEditChanges[e]=t),t}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new I,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let n,a,i;if(E.is(t)||A.is(t)?n=t:r=t,a=void 0===n?S.create(e,r):(i=A.is(n)?n:this._changeAnnotations.manage(n),S.create(e,r,i)),this._workspaceEdit.documentChanges.push(a),void 0!==i)return i}renameFile(e,t,r,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let a,i,s;if(E.is(r)||A.is(r)?a=r:n=r,i=void 0===a?k.create(e,t,n):(s=A.is(a)?a:this._changeAnnotations.manage(a),k.create(e,t,n,s)),this._workspaceEdit.documentChanges.push(i),void 0!==s)return s}deleteFile(e,t,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let n,a,i;if(E.is(t)||A.is(t)?n=t:r=t,a=void 0===n?x.create(e,r):(i=A.is(n)?n:this._changeAnnotations.manage(n),x.create(e,r,i)),this._workspaceEdit.documentChanges.push(a),void 0!==i)return i}},Dr=P=P||{},Fe(wt,"create"),Dr.create=wt,Fe(Nt,"is"),Dr.is=Nt,Dr=O=O||{},Fe(It,"create"),Dr.create=It,Fe(_t,"is"),Dr.is=_t,Dr=L=L||{},Fe(Pt,"create"),Dr.create=Pt,Fe(Ot,"is"),Dr.is=Ot,Dr=D=D||{},Fe(Lt,"create"),Dr.create=Lt,Fe(Dt,"is"),Dr.is=Dt,(Oe=M=M||{}).PlainText="plaintext",Oe.Markdown="markdown",Fe(Mt,"is"),Oe.is=Mt,Dr=j=j||{},Fe(jt,"is"),Dr.is=jt,(Dr=F=F||{}).Text=1,Dr.Method=2,Dr.Function=3,Dr.Constructor=4,Dr.Field=5,Dr.Variable=6,Dr.Class=7,Dr.Interface=8,Dr.Module=9,Dr.Property=10,Dr.Unit=11,Dr.Value=12,Dr.Enum=13,Dr.Keyword=14,Dr.Snippet=15,Dr.Color=16,Dr.File=17,Dr.Reference=18,Dr.Folder=19,Dr.EnumMember=20,Dr.Constant=21,Dr.Struct=22,Dr.Event=23,Dr.Operator=24,Dr.TypeParameter=25,(Dr=G=G||{}).PlainText=1,Dr.Snippet=2,(z=z||{}).Deprecated=1,Dr=K=K||{},Fe(Ft,"create"),Dr.create=Ft,Fe(Gt,"is"),Dr.is=Gt,(Dr=q=q||{}).asIs=1,Dr.adjustIndentation=2,Dr=U=U||{},Fe(zt,"is"),Dr.is=zt,Dr=B=B||{},Fe(Kt,"create"),Dr.create=Kt,Dr=V=V||{},Fe(qt,"create"),Dr.create=qt,Dr=W=W||{},Fe(Ut,"fromPlainText"),Dr.fromPlainText=Ut,Fe(Bt,"is"),Dr.is=Bt,Dr=H=H||{},Fe(Vt,"is"),Dr.is=Vt,Dr=Y=Y||{},Fe(Wt,"create"),Dr.create=Wt,Dr=Z=Z||{},Fe(Ht,"create"),Dr.create=Ht,(Dr=X=X||{}).Text=1,Dr.Read=2,Dr.Write=3,Dr=J=J||{},Fe(Yt,"create"),Dr.create=Yt,(Dr=Q=Q||{}).File=1,Dr.Module=2,Dr.Namespace=3,Dr.Package=4,Dr.Class=5,Dr.Method=6,Dr.Property=7,Dr.Field=8,Dr.Constructor=9,Dr.Enum=10,Dr.Interface=11,Dr.Function=12,Dr.Variable=13,Dr.Constant=14,Dr.String=15,Dr.Number=16,Dr.Boolean=17,Dr.Array=18,Dr.Object=19,Dr.Key=20,Dr.Null=21,Dr.EnumMember=22,Dr.Struct=23,Dr.Event=24,Dr.Operator=25,Dr.TypeParameter=26,(ee=ee||{}).Deprecated=1,Dr=te=te||{},Fe(Zt,"create"),Dr.create=Zt,Dr=re=re||{},Fe(Xt,"create"),Dr.create=Xt,Dr=ne=ne||{},Fe(Jt,"create"),Dr.create=Jt,Fe(Qt,"is"),Dr.is=Qt,(Dr=ae=ae||{}).Empty="",Dr.QuickFix="quickfix",Dr.Refactor="refactor",Dr.RefactorExtract="refactor.extract",Dr.RefactorInline="refactor.inline",Dr.RefactorRewrite="refactor.rewrite",Dr.Source="source",Dr.SourceOrganizeImports="source.organizeImports",Dr.SourceFixAll="source.fixAll",(Dr=ie=ie||{}).Invoked=1,Dr.Automatic=2,Dr=se=se||{},Fe(er,"create"),Dr.create=er,Fe(tr,"is"),Dr.is=tr,Dr=oe=oe||{},Fe(rr,"create"),Dr.create=rr,Fe(nr,"is"),Dr.is=nr,Dr=le=le||{},Fe(ar,"create"),Dr.create=ar,Fe(ir,"is"),Dr.is=ir,Dr=ue=ue||{},Fe(sr,"create"),Dr.create=sr,Fe(or,"is"),Dr.is=or,Dr=ce=ce||{},Fe(lr,"create"),Dr.create=lr,Fe(ur,"is"),Dr.is=ur,Le=pe=pe||{},Fe(cr,"create"),Le.create=cr,Fe(pr,"is"),Le.is=pr,(Dr=de=de||{}).namespace="namespace",Dr.type="type",Dr.class="class",Dr.enum="enum",Dr.interface="interface",Dr.struct="struct",Dr.typeParameter="typeParameter",Dr.parameter="parameter",Dr.variable="variable",Dr.property="property",Dr.enumMember="enumMember",Dr.event="event",Dr.function="function",Dr.method="method",Dr.macro="macro",Dr.keyword="keyword",Dr.modifier="modifier",Dr.comment="comment",Dr.string="string",Dr.number="number",Dr.regexp="regexp",Dr.operator="operator",Dr.decorator="decorator",(Dr=fe=fe||{}).declaration="declaration",Dr.definition="definition",Dr.readonly="readonly",Dr.static="static",Dr.deprecated="deprecated",Dr.abstract="abstract",Dr.async="async",Dr.modification="modification",Dr.documentation="documentation",Dr.defaultLibrary="defaultLibrary",Dr=me=me||{},Fe(dr,"is"),Dr.is=dr,Dr=he=he||{},Fe(fr,"create"),Dr.create=fr,Fe(mr,"is"),Dr.is=mr,Dr=ye=ye||{},Fe(hr,"create"),Dr.create=hr,Fe(yr,"is"),Dr.is=yr,Dr=ge=ge||{},Fe(gr,"create"),Dr.create=gr,Fe(vr,"is"),Dr.is=vr,Dr=ve=ve||{},Fe(Tr,"create"),Dr.create=Tr,Fe(Rr,"is"),Dr.is=Rr,(Dr=Te=Te||{}).Type=1,Dr.Parameter=2,Fe($r,"is"),Dr.is=$r,Dr=Re=Re||{},Fe(Er,"create"),Dr.create=Er,Fe(Ar,"is"),Dr.is=Ar,Dr=$e=$e||{},Fe(br,"create"),Dr.create=br,Fe(Cr,"is"),Dr.is=Cr,Dr=Ee=Ee||{},Fe(Sr,"createSnippet"),Dr.createSnippet=Sr,Dr=Ae=Ae||{},Fe(kr,"create"),Dr.create=kr,Dr=be=be||{},Fe(xr,"create"),Dr.create=xr,(Dr=Ce=Ce||{}).Invoked=0,Dr.Automatic=1,Dr=Se=Se||{},Fe(wr,"create"),Dr.create=wr,Dr=ke=ke||{},Fe(Nr,"create"),Dr.create=Nr,Dr=xe=xe||{},Fe(Ir,"is"),Dr.is=Ir,we=["\n","\r\n","\r"],Dr=Ne=Ne||{},Fe(_r,"create"),Dr.create=_r,Fe(Pr,"is"),Dr.is=Pr,Fe(Or,"applyEdits"),Dr.applyEdits=Or,Fe(Lr,"mergeSort"),Ie=class{static{Fe(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){var t;return e?(t=this.offsetAt(e.start),e=this.offsetAt(e.end),this._content.substring(t,e)):this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){var e=[],t=this._content;let n=!0;for(let a=0;a<t.length;a++){n&&(e.push(a),n=!1);var r=t.charAt(a);n="\r"===r||"\n"===r,"\r"===r&&a+1<t.length&&"\n"===t.charAt(a+1)&&a++}n&&0<t.length&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets();let r=0,n=t.length;if(0===n)return s.create(0,e);for(;r<n;){var a=Math.floor((r+n)/2);t[a]>e?n=a:r=a+1}var i=r-1;return s.create(i,e-t[i])}offsetAt(e){var t,r=this.getLineOffsets();return e.line>=r.length?this._content.length:e.line<0?0:(t=r[e.line],r=e.line+1<r.length?r[e.line+1]:this._content.length,Math.max(Math.min(t+e.character,r),t))}get lineCount(){return this.getLineOffsets().length}};{var Dr=_e=_e||{};let Mr=Object.prototype.toString;function jr(e){return void 0!==e}function Fr(e){return void 0===e}function Gr(e){return!0===e||!1===e}function zr(e){return"[object String]"===Mr.call(e)}function Kr(e){return"[object Number]"===Mr.call(e)}function qr(e,t,r){return"[object Number]"===Mr.call(e)&&t<=e&&e<=r}function Ur(e){return"[object Number]"===Mr.call(e)&&-2147483648<=e&&e<=2147483647}function Br(e){return"[object Number]"===Mr.call(e)&&0<=e&&e<=2147483647}function Vr(e){return"[object Function]"===Mr.call(e)}function Wr(e){return null!==e&&"object"==typeof e}function Hr(e,t){return Array.isArray(e)&&e.every(t)}Fe(jr,"defined"),Dr.defined=jr,Fe(Fr,"undefined"),Dr.undefined=Fr,Fe(Gr,"boolean"),Dr.boolean=Gr,Fe(zr,"string"),Dr.string=zr,Fe(Kr,"number"),Dr.number=Kr,Fe(qr,"numberRange"),Dr.numberRange=qr,Fe(Ur,"integer"),Dr.integer=Ur,Fe(Br,"uinteger"),Dr.uinteger=Br,Fe(Vr,"func"),Dr.func=Vr,Fe(Wr,"objectLiteral"),Dr.objectLiteral=Wr,Fe(Hr,"typedArray"),Dr.typedArray=Hr}}})),He=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){var t,r;function n(){if(void 0===t)throw new Error("No runtime abstraction layer installed");return t}function a(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");t=e}Object.defineProperty(e,"__esModule",{value:!0}),Fe(n,"RAL"),r=n=n||{},Fe(a,"install"),r.install=a,e.default=n}}),Ye=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(e){function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function a(e){return e instanceof Error}function i(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,Fe(t,"boolean"),e.boolean=t,Fe(r,"string"),e.string=r,Fe(n,"number"),e.number=n,Fe(a,"error"),e.error=a,Fe(i,"func"),e.func=i,Fe(s,"array"),e.array=s,Fe(o,"stringArray"),e.stringArray=o}}),Ze=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var t=He();{var r=e.Event={};let t={dispose(){}};r.None=function(){return t}}var n=class{static{Fe(this,"CallbackList")}add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:Fe(()=>this.remove(e,t),"dispose")})}remove(e,t=null){if(this._callbacks){let r=!1;for(let n=0,a=this._callbacks.length;n<a;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t)return this._callbacks.splice(n,1),void this._contexts.splice(n,1);r=!0}if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}}invoke(...e){if(!this._callbacks)return[];var r=[],n=this._callbacks.slice(0),a=this._contexts.slice(0);for(let i=0,s=n.length;i<s;i++)try{r.push(n[i].apply(a[i],e))}catch(e){(0,t.default)().console.error(e)}return r}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}};r=class e{static{Fe(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(t,r,a)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,r);let i={dispose:Fe(()=>{this._callbacks&&(this._callbacks.remove(t,r),i.dispose=e._noop,this._options)&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)},"dispose")};return Array.isArray(a)&&a.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};(e.Emitter=r)._noop=function(){}}}),Xe=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,r,n=He(),a=Ye(),i=Ze();function s(e){return e&&(e===r.None||e===r.Cancelled||a.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}(r=t||(e.CancellationToken=t={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),Fe(s,"is"),r.is=s;var o=Object.freeze(function(e,t){let r=(0,n.default)().timer.setTimeout(e.bind(t),0);return{dispose(){r.dispose()}}}),l=class{static{Fe(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},u=class{static{Fe(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=t.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=t.None}};e.CancellationTokenSource=u}}),Je=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t,r=Ye(),n=((n=t||(e.ErrorCodes=t={})).ParseError=-32700,n.InvalidRequest=-32600,n.MethodNotFound=-32601,n.InvalidParams=-32602,n.InternalError=-32603,n.jsonrpcReservedErrorRangeStart=-32099,n.serverErrorStart=-32099,n.MessageWriteError=-32099,n.MessageReadError=-32098,n.PendingResponseRejected=-32097,n.ConnectionInactive=-32096,n.ServerNotInitialized=-32002,n.UnknownErrorCode=-32001,n.jsonrpcReservedErrorRangeEnd=-32e3,n.serverErrorEnd=-32e3,class e extends Error{static{Fe(this,"ResponseError")}constructor(n,a,i){super(a),this.code=r.number(n)?n:t.UnknownErrorCode,this.data=i,Object.setPrototypeOf(this,e.prototype)}toJson(){var e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}}),a=(e.ResponseError=n,class e{static{Fe(this,"ParameterStructures")}constructor(e){this.kind=e}static is(t){return t===e.auto||t===e.byName||t===e.byPosition}toString(){return this.kind}}),i=(n=((e.ParameterStructures=a).auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName"),class{static{Fe(this,"AbstractMessageSignature")}constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return a.auto}}),e.AbstractMessageSignature=n,class extends n{static{Fe(this,"RequestType0")}constructor(e){super(e,0)}});e.RequestType0=i,i=class extends n{static{Fe(this,"RequestType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType=i,i=class extends n{static{Fe(this,"RequestType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType1=i,i=class extends n{static{Fe(this,"RequestType2")}constructor(e){super(e,2)}},e.RequestType2=i,i=class extends n{static{Fe(this,"RequestType3")}constructor(e){super(e,3)}},e.RequestType3=i,i=class extends n{static{Fe(this,"RequestType4")}constructor(e){super(e,4)}},e.RequestType4=i,i=class extends n{static{Fe(this,"RequestType5")}constructor(e){super(e,5)}},e.RequestType5=i,i=class extends n{static{Fe(this,"RequestType6")}constructor(e){super(e,6)}},e.RequestType6=i,i=class extends n{static{Fe(this,"RequestType7")}constructor(e){super(e,7)}},e.RequestType7=i,i=class extends n{static{Fe(this,"RequestType8")}constructor(e){super(e,8)}},e.RequestType8=i,i=class extends n{static{Fe(this,"RequestType9")}constructor(e){super(e,9)}},e.RequestType9=i,i=class extends n{static{Fe(this,"NotificationType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType=i,i=class extends n{static{Fe(this,"NotificationType0")}constructor(e){super(e,0)}},e.NotificationType0=i,i=class extends n{static{Fe(this,"NotificationType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType1=i,i=class extends n{static{Fe(this,"NotificationType2")}constructor(e){super(e,2)}},e.NotificationType2=i,i=class extends n{static{Fe(this,"NotificationType3")}constructor(e){super(e,3)}},e.NotificationType3=i,i=class extends n{static{Fe(this,"NotificationType4")}constructor(e){super(e,4)}},e.NotificationType4=i,i=class extends n{static{Fe(this,"NotificationType5")}constructor(e){super(e,5)}},e.NotificationType5=i,i=class extends n{static{Fe(this,"NotificationType6")}constructor(e){super(e,6)}},e.NotificationType6=i,i=class extends n{static{Fe(this,"NotificationType7")}constructor(e){super(e,7)}},e.NotificationType7=i,i=class extends n{static{Fe(this,"NotificationType8")}constructor(e){super(e,8)}},e.NotificationType8=i,i=class extends n{static{Fe(this,"NotificationType9")}constructor(e){super(e,9)}};function s(e){return e&&r.string(e.method)&&(r.string(e.id)||r.number(e.id))}function o(e){return e&&r.string(e.method)&&void 0===e.id}function l(e){return e&&(void 0!==e.result||!!e.error)&&(r.string(e.id)||r.number(e.id)||null===e.id)}e.NotificationType9=i,n=e.Message={},Fe(s,"isRequest"),n.isRequest=s,Fe(o,"isNotification"),n.isNotification=o,Fe(l,"isResponse"),n.isResponse=l}}),Qe=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,(n=r||(e.Touch=r={})).None=0,n.First=1,n.AsOld=n.First,n.Last=2,n.AsNew=n.Last;var t,r,n=class{static{Fe(this,"LinkedMap")}constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=r.None){if(e=this._map.get(e))return t!==r.None&&this.touch(e,t),e.value}set(e,t,n=r.None){let a=this._map.get(e);if(a)a.value=t,n!==r.None&&this.touch(a,n);else{switch(a={key:e,value:t,next:void 0,previous:void 0},n){case r.None:this.addItemLast(a);break;case r.First:this.addItemFirst(a);break;default:r.Last,this.addItemLast(a)}this._map.set(e,a),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){var t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(this._head||this._tail){var e;if(this._head&&this._tail)return e=this._head,this._map.delete(e.key),this.removeItem(e),this._size--,e.value;throw new Error("Invalid list")}}forEach(e,t){var r=this._state;let n=this._head;for(;n;){if((t?e.bind(t):e)(n.value,n.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:Fe(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");var r;return t?(r={value:t.key,done:!1},t=t.next,r):{value:void 0,done:!0}},"next")};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:Fe(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");var r;return t?(r={value:t.value,done:!1},t=t.next,r):{value:void 0,done:!0}},"next")};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:Fe(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");var r;return t?(r={value:[t.key,t.value],done:!1},t=t.next,r):{value:void 0,done:!0}},"next")};return r}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(!(e>=this.size))if(0===e)this.clear();else{let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{var t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");(t.previous=r).next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");var n,a;t!==r.First&&t!==r.Last||(t===r.First?e!==this._head&&(a=e.next,n=e.previous,e===this._tail?(n.next=void 0,this._tail=n):(a.previous=n).next=a,e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++):t===r.Last&&e!==this._tail&&(n=e.next,a=e.previous,e===this._head?(n.previous=void 0,this._head=n):(n.previous=a).next=n,e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++))}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){for(var[t,r]of(this.clear(),e))this.set(t,r)}};e.LinkedMap=n,n=class extends n{static{Fe(this,"LRUCache")}constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=r.AsNew){return super.get(e,t)}peek(e){return super.get(e,r.None)}set(e,t){return super.set(e,t,r.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};e.LRUCache=n}}),et=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){function t(e){return{dispose:e}}Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0,e=e.Disposable={},Fe(t,"create"),e.create=t}}),tt=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t,r=Xe(),n=((n=t=t||{}).Continue=0,n.Cancelled=1,class{static{Fe(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){var r;null!==e.id&&(r=new SharedArrayBuffer(4),new Int32Array(r,0,1)[0]=t.Continue,this.buffers.set(e.id,r),e.$cancellationData=r)}async sendCancellation(e,r){void 0!==(r=this.buffers.get(r))&&(r=new Int32Array(r,0,1),Atomics.store(r,0,t.Cancelled))}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}}),a=(e.SharedArraySenderStrategy=n,class{static{Fe(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===t.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}),i=class{static{Fe(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new a(e)}cancel(){}dispose(){}};n=class{static{Fe(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){return void 0===(e=e.$cancellationData)?new r.CancellationTokenSource:new i(e)}};e.SharedArrayReceiverStrategy=n}}),rt=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=He(),r=class{static{Fe(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0!==this._waiting.length&&this._active!==this._capacity){let t=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{var e=t.thunk();e instanceof Promise?e.then(e=>{this._active--,t.resolve(e),this.runNext()},e=>{this._active--,t.reject(e),this.runNext()}):(this._active--,t.resolve(e),this.runNext())}catch(e){this._active--,t.reject(e),this.runNext()}}}};e.Semaphore=r}}),nt=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t=He(),r=Ye(),n=Ze(),a=rt();function i(e){return e&&r.func(e.listen)&&r.func(e.dispose)&&r.func(e.onError)&&r.func(e.onClose)&&r.func(e.onPartialMessage)}o=e.MessageReader={},Fe(i,"is"),o.is=i;var s,o=class{static{Fe(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error("Reader received error. Reason: "+(r.string(e.message)?e.message:"unknown"))}};function l(e){let r,n;var a=new Map;let i;var s=new Map;if(void 0===e||"string"==typeof e)r=e??"utf-8";else{if(r=e.charset??"utf-8",void 0!==e.contentDecoder&&(n=e.contentDecoder,a.set(n.name,n)),void 0!==e.contentDecoders)for(var o of e.contentDecoders)a.set(o.name,o);if(void 0!==e.contentTypeDecoder&&(i=e.contentTypeDecoder,s.set(i.name,i)),void 0!==e.contentTypeDecoders)for(var l of e.contentTypeDecoders)s.set(l.name,l)}return void 0===i&&(i=(0,t.default)().applicationJson.decoder,s.set(i.name,i)),{charset:r,contentDecoder:n,contentDecoders:a,contentTypeDecoder:i,contentTypeDecoders:s}}e.AbstractMessageReader=o,u=s=s||{},Fe(l,"fromOptions"),u.fromOptions=l;var u=class extends o{static{Fe(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=s.fromOptions(r),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new a.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){return this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e,e=this.readable.onData(e=>{this.onData(e)}),this.readable.onError(e=>this.fireError(e)),this.readable.onClose(()=>this.fireClose()),e}onData(e){try{for(this.buffer.append(e);;){if(-1===this.nextMessageLength){var t=this.buffer.tryReadHeaders(!0);if(!t)return;var r=t.get("content-length");if(!r)return void this.fireError(new Error("Header must provide a Content-Length property.\n"+JSON.stringify(Object.fromEntries(t))));var n=parseInt(r);if(isNaN(n))return void this.fireError(new Error("Content-Length value must be a number. Got "+r));this.nextMessageLength=n}let e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{var t=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(e):e;t=await this.options.contentTypeDecoder.decode(t,this.options);this.callback(t)}).catch(e=>{this.fireError(e)})}}catch(e){this.fireError(e)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,t.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};e.ReadableStreamMessageReader=u}}),at=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t=He(),r=Ye(),n=rt(),a=Ze();function i(e){return e&&r.func(e.dispose)&&r.func(e.onClose)&&r.func(e.onError)&&r.func(e.write)}o=e.MessageWriter={},Fe(i,"is"),o.is=i;var s,o=class{static{Fe(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,r){this.errorEmitter.fire([this.asError(e),t,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error("Writer received error. Reason: "+(r.string(e.message)?e.message:"unknown"))}};function l(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}e.AbstractMessageWriter=o,u=s=s||{},Fe(l,"fromOptions"),u.fromOptions=l;var u=class extends o{static{Fe(this,"WriteableStreamMessageWriter")}constructor(e,t){super(),this.writable=e,this.options=s.fromOptions(t),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(e=>this.fireError(e)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e).then(t=>{var r=[];return r.push("Content-Length: ",t.byteLength.toString(),"\r\n"),r.push("\r\n"),this.doWrite(e,r,t)},e=>{throw this.fireError(e),e}))}async doWrite(e,t,r){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(r)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}};e.WriteableStreamMessageWriter=u}}),it=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0;var t=class{static{Fe(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){e="string"==typeof e?this.fromString(e,this._encoding):e,this._chunks.push(e),this._totalLength+=e.byteLength}tryReadHeaders(e=!1){if(0!==this._chunks.length){let l=0,u=0,c=0,p=0;e:for(;u<this._chunks.length;){var t=this._chunks[u];for(c=0;c<t.length;){switch(t[c]){case 13:switch(l){case 0:l=1;break;case 2:l=3;break;default:l=0}break;case 10:switch(l){case 1:l=2;break;case 3:l=4,c++;break e;default:l=0}break;default:l=0}c++}p+=t.byteLength,u++}if(4===l){var r=this._read(p+c),n=new Map,a=this.toString(r,"ascii").split("\r\n");if(!(a.length<2))for(let t=0;t<a.length-2;t++){var i=(o=a[t]).indexOf(":");if(-1===i)throw new Error("Message header must separate key and value using ':'\n"+o);var s=o.substr(0,i),o=o.substr(i+1).trim();n.set(e?s.toLowerCase():s,o)}return n}}}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(0===e)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");var t,r;if(this._chunks[0].byteLength===e)return t=this._chunks[0],this._chunks.shift(),this._totalLength-=e,this.asNative(t);if(this._chunks[0].byteLength>e)return t=this._chunks[0],r=this.asNative(t,e),this._chunks[0]=t.slice(e),this._totalLength-=e,r;var n=this.allocNative(e);let a=0;for(;0<e;){var i,s=this._chunks[0];s.byteLength>e?(i=s.slice(0,e),n.set(i,a),a+=e,this._chunks[0]=s.slice(e),this._totalLength-=e,e-=e):(n.set(s,a),a+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength)}return n}};e.AbstractMessageBuffer=t}}),st=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t,r,n,a=He(),i=Ye(),s=Je(),o=Qe(),l=Ze(),u=Xe();function c(e){return"string"==typeof e||"number"==typeof e}(t=t||{}).type=new s.NotificationType("$/cancelRequest"),T=r||(e.ProgressToken=r={}),Fe(c,"is"),T.is=c,(n=n||{}).type=new s.NotificationType("$/progress");var p,d,f,m,h,y,g,v,T=class{static{Fe(this,"ProgressType")}constructor(){}};function R(e){return i.func(e)}function $(e){if(!i.string(e))return f.Off;switch(e=e.toLowerCase()){case"off":default:return f.Off;case"messages":return f.Messages;case"compact":return f.Compact;case"verbose":return f.Verbose}}function E(e){switch(e){case f.Off:return"off";case f.Messages:return"messages";case f.Compact:return"compact";case f.Verbose:return"verbose";default:return"off"}}function A(e){return i.string(e)&&"json"===(e=e.toLowerCase())?h.JSON:h.Text}e.ProgressType=T,T=p=p||{},Fe(R,"is"),T.is=R,e.NullLogger=Object.freeze({error:Fe(()=>{},"error"),warn:Fe(()=>{},"warn"),info:Fe(()=>{},"info"),log:Fe(()=>{},"log")}),(T=d||(e.Trace=d={}))[T.Off=0]="Off",T[T.Messages=1]="Messages",T[T.Compact=2]="Compact",T[T.Verbose=3]="Verbose",e.TraceValues={Off:"off",Messages:"messages",Compact:"compact",Verbose:"verbose"},f=d||(e.Trace=d={}),Fe($,"fromString"),f.fromString=$,Fe(E,"toString"),f.toString=E,(T=m||(e.TraceFormat=m={})).Text="text",T.JSON="json",h=m||(e.TraceFormat=m={}),Fe(A,"fromString"),h.fromString=A,(y||(e.SetTraceNotification=y={})).type=new s.NotificationType("$/setTrace"),(g||(e.LogTraceNotification=g={})).type=new s.NotificationType("$/logTrace"),(T=v||(e.ConnectionErrors=v={}))[T.Closed=1]="Closed",T[T.Disposed=2]="Disposed",T[T.AlreadyListening=3]="AlreadyListening";var b,C,S,k,x,w,N,I,_=class e extends Error{static{Fe(this,"ConnectionError")}constructor(t,r){super(r),this.code=t,Object.setPrototypeOf(this,e.prototype)}};function P(e){return e&&i.func(e.cancelUndispatched)}function O(e){return e&&(void 0===e.kind||"id"===e.kind)&&i.func(e.createCancellationTokenSource)&&(void 0===e.dispose||i.func(e.dispose))}function L(e){return e&&"request"===e.kind&&i.func(e.createCancellationTokenSource)&&(void 0===e.dispose||i.func(e.dispose))}function D(e){return C.is(e)||S.is(e)}function M(e){return e&&i.func(e.sendCancellation)&&i.func(e.cleanup)}function j(e){return e&&k.is(e.receiver)&&x.is(e.sender)}function F(e){return e&&i.func(e.handleMessage)}function G(e){return e&&(w.is(e.cancellationStrategy)||b.is(e.connectionStrategy)||N.is(e.messageStrategy))}function z(c,f,h,T){let R,$,E,A,b=void 0!==h?h:e.NullLogger,S=0,k=0,x=0,P="2.0",O=new Map,L=new Map,D=new Map,M=new o.LinkedMap,j=new Map,F=new Set,G=new Map,z=d.Off,K=m.Text,q=I.New,U=new l.Emitter,B=new l.Emitter,V=new l.Emitter,W=new l.Emitter,H=new l.Emitter,Y=T&&T.cancellationStrategy?T.cancellationStrategy:w.Message;function Z(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function X(e){return null===e?"res-unknown-"+(++x).toString():"res-"+e.toString()}function J(){return"not-"+(++k).toString()}function Q(e,t){s.Message.isRequest(t)?e.set(Z(t.id),t):s.Message.isResponse(t)?e.set(X(t.id),t):e.set(J(),t)}function ee(e){}function te(){return q===I.Listening}function re(){return q===I.Closed}function ne(){return q===I.Disposed}function ae(){q!==I.New&&q!==I.Listening||(q=I.Closed,B.fire(void 0))}function ie(e){U.fire([e,void 0,void 0])}function se(e){U.fire(e)}function oe(){E||0===M.size||(E=(0,a.default)().timer.setImmediate(()=>{E=void 0,ue()}))}function le(e){(s.Message.isRequest(e)?pe:s.Message.isNotification(e)?fe:s.Message.isResponse(e)?de:me)(e)}function ue(){if(0!==M.size){var e=M.shift();try{var t=T?.messageStrategy;N.is(t)?t.handleMessage(e,le):le(e)}finally{oe()}}}Fe(Z,"createRequestQueueKey"),Fe(X,"createResponseQueueKey"),Fe(J,"createNotificationQueueKey"),Fe(Q,"addMessageToQueue"),Fe(ee,"cancelUndispatched"),Fe(te,"isListening"),Fe(re,"isClosed"),Fe(ne,"isDisposed"),Fe(ae,"closeHandler"),Fe(ie,"readErrorHandler"),Fe(se,"writeErrorHandler"),c.onClose(ae),c.onError(ie),f.onClose(ae),f.onError(se),Fe(oe,"triggerMessageQueue"),Fe(le,"handleMessage"),Fe(ue,"processMessageQueue");let ce=Fe(e=>{try{if(s.Message.isNotification(e)&&e.method===t.type.method){var r=e.params.id,n=Z(r),a=M.get(n);if(s.Message.isRequest(a)){var i=T?.connectionStrategy,o=i&&i.cancelUndispatched?i.cancelUndispatched(a,ee):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return M.delete(n),G.delete(r),o.id=a.id,ve(o,e.method,Date.now()),void f.write(o).catch(()=>b.error("Sending response for canceled message failed."))}var l=G.get(r);if(void 0!==l)return l.cancel(),void Re(e);F.add(r)}Q(M,e)}finally{oe()}},"callback");function pe(e){if(!ne()){Fe(l,"reply"),Fe(u,"replyError"),Fe(c,"replySuccess"),Te(e);var t=O.get(e.method);let n,a,o=(t&&(n=t.type,a=t.handler),Date.now());if(a||R){let p=e.id??String(Date.now());t=C.is(Y.receiver)?Y.receiver.createCancellationTokenSource(p):Y.receiver.createCancellationTokenSource(e),null!==e.id&&F.has(e.id)&&t.cancel(),null!==e.id&&G.set(p,t);try{let d;if(a)if(void 0===e.params){if(void 0!==n&&0!==n.numberOfParams)return void u(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${n.numberOfParams} params but received none.`),e.method,o);d=a(t.token)}else if(Array.isArray(e.params)){if(void 0!==n&&n.parameterStructures===s.ParameterStructures.byName)return void u(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,o);d=a(...e.params,t.token)}else{if(void 0!==n&&n.parameterStructures===s.ParameterStructures.byPosition)return void u(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,o);d=a(e.params,t.token)}else R&&(d=R(e.method,e.params,t.token));var r=d;d?r.then?r.then(t=>{G.delete(p),l(t,e.method,o)},t=>{G.delete(p),t instanceof s.ResponseError?u(t,e.method,o):t&&i.string(t.message)?u(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: `+t.message),e.method,o):u(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,o)}):(G.delete(p),l(d,e.method,o)):(G.delete(p),c(d,e.method,o))}catch(m){G.delete(p),m instanceof s.ResponseError?l(m,e.method,o):m&&i.string(m.message)?u(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: `+m.message),e.method,o):u(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,o)}}else u(new s.ResponseError(s.ErrorCodes.MethodNotFound,"Unhandled method "+e.method),e.method,o);function l(t,r,n){var a={jsonrpc:P,id:e.id};t instanceof s.ResponseError?a.error=t.toJson():a.result=void 0===t?null:t,ve(a,r,n),f.write(a).catch(()=>b.error("Sending response failed."))}function u(t,r,n){ve(t={jsonrpc:P,id:e.id,error:t.toJson()},r,n),f.write(t).catch(()=>b.error("Sending response failed."))}function c(t,r,n){void 0===t&&(t=null),ve(t={jsonrpc:P,id:e.id,result:t},r,n),f.write(t).catch(()=>b.error("Sending response failed."))}}}function de(e){if(!ne())if(null===e.id)e.error?b.error("Received response message without id: Error is: \n"+JSON.stringify(e.error,void 0,4)):b.error("Received response message without id. No further error information provided.");else{var t=e.id,r=j.get(t);if($e(e,r),void 0!==r){j.delete(t);try{if(e.error){var n=e.error;r.reject(new s.ResponseError(n.code,n.message,n.data))}else{if(void 0===e.result)throw new Error("Should never happen.");r.resolve(e.result)}}catch(e){e.message?b.error(`Response handler '${r.method}' failed with message: `+e.message):b.error(`Response handler '${r.method}' failed unexpectedly.`)}}}}function fe(e){if(!ne()){let o,l;var a,i;if(e.method===t.type.method)a=e.params.id,F.delete(a),Re(e);else if((a=L.get(e.method))&&(l=a.handler,o=a.type),l||$)try{Re(e),l?void 0===e.params?(void 0!==o&&0!==o.numberOfParams&&o.parameterStructures!==s.ParameterStructures.byName&&b.error(`Notification ${e.method} defines ${o.numberOfParams} params but received none.`),l()):Array.isArray(e.params)?(i=e.params,e.method===n.type.method&&2===i.length&&r.is(i[0])?l({token:i[0],value:i[1]}):(void 0!==o&&(o.parameterStructures===s.ParameterStructures.byName&&b.error(`Notification ${e.method} defines parameters by name but received parameters by position`),o.numberOfParams!==e.params.length)&&b.error(`Notification ${e.method} defines ${o.numberOfParams} params but received ${i.length} arguments`),l(...i))):(void 0!==o&&o.parameterStructures===s.ParameterStructures.byPosition&&b.error(`Notification ${e.method} defines parameters by position but received parameters by name`),l(e.params)):$&&$(e.method,e.params)}catch(t){t.message?b.error(`Notification handler '${e.method}' failed with message: `+t.message):b.error(`Notification handler '${e.method}' failed unexpectedly.`)}else V.fire(e)}}function me(e){e?(b.error("Received message which is neither a response nor a notification message:\n"+JSON.stringify(e,null,4)),(i.string(e.id)||i.number(e.id))&&(e=e.id,e=j.get(e))&&e.reject(new Error("The received response has neither a result nor an error property."))):b.error("Received empty message.")}function he(e){if(null!=e)switch(z){case d.Verbose:return JSON.stringify(e,null,4);case d.Compact:return JSON.stringify(e);default:return}}function ye(e){if(z!==d.Off&&A)if(K===m.Text){let t;z!==d.Verbose&&z!==d.Compact||!e.params||(t=`Params: ${he(e.params)}\n\n`),A.log(`Sending request '${e.method} - (${e.id})'.`,t)}else Ee("send-request",e)}function ge(e){if(z!==d.Off&&A)if(K===m.Text){let t;z!==d.Verbose&&z!==d.Compact||(t=e.params?`Params: ${he(e.params)}\n\n`:"No parameters provided.\n\n"),A.log(`Sending notification '${e.method}'.`,t)}else Ee("send-notification",e)}function ve(e,t,r){if(z!==d.Off&&A)if(K===m.Text){let n;z!==d.Verbose&&z!==d.Compact||(e.error&&e.error.data?n=`Error data: ${he(e.error.data)}\n\n`:e.result?n=`Result: ${he(e.result)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),A.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-r}ms`,n)}else Ee("send-response",e)}function Te(e){if(z!==d.Off&&A)if(K===m.Text){let t;z!==d.Verbose&&z!==d.Compact||!e.params||(t=`Params: ${he(e.params)}\n\n`),A.log(`Received request '${e.method} - (${e.id})'.`,t)}else Ee("receive-request",e)}function Re(e){if(z!==d.Off&&A&&e.method!==g.type.method)if(K===m.Text){let t;z!==d.Verbose&&z!==d.Compact||(t=e.params?`Params: ${he(e.params)}\n\n`:"No parameters provided.\n\n"),A.log(`Received notification '${e.method}'.`,t)}else Ee("receive-notification",e)}function $e(e,t){if(z!==d.Off&&A)if(K===m.Text){let n;var r;z!==d.Verbose&&z!==d.Compact||(e.error&&e.error.data?n=`Error data: ${he(e.error.data)}\n\n`:e.result?n=`Result: ${he(e.result)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t?(r=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"",A.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.`+r,n)):A.log(`Received response ${e.id} without active response promise.`,n)}else Ee("receive-response",e)}function Ee(e,t){A&&z!==d.Off&&(e={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()},A.log(e))}function Ae(){if(re())throw new _(v.Closed,"Connection is closed.");if(ne())throw new _(v.Disposed,"Connection is disposed.")}function be(){if(te())throw new _(v.AlreadyListening,"Connection is already listening")}function Ce(){if(!te())throw new Error("Call listen() first.")}function Se(e){return void 0===e?null:e}function ke(e){if(null!==e)return e}function xe(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function we(e,t){switch(e){case s.ParameterStructures.auto:return xe(t)?ke(t):[Se(t)];case s.ParameterStructures.byName:if(xe(t))return ke(t);throw new Error("Received parameters by name but param is not an object literal.");case s.ParameterStructures.byPosition:return[Se(t)];default:throw new Error("Unknown parameter structure "+e.toString())}}function Ne(e,t){let r;var n=e.numberOfParams;switch(n){case 0:r=void 0;break;case 1:r=we(e.parameterStructures,t[0]);break;default:r=[];for(let e=0;e<t.length&&e<n;e++)r.push(Se(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)r.push(null)}return r}Fe(pe,"handleRequest"),Fe(de,"handleResponse"),Fe(fe,"handleNotification"),Fe(me,"handleInvalidMessage"),Fe(he,"stringifyTrace"),Fe(ye,"traceSendingRequest"),Fe(ge,"traceSendingNotification"),Fe(ve,"traceSendingResponse"),Fe(Te,"traceReceivedRequest"),Fe(Re,"traceReceivedNotification"),Fe($e,"traceReceivedResponse"),Fe(Ee,"logLSPMessage"),Fe(Ae,"throwIfClosedOrDisposed"),Fe(be,"throwIfListening"),Fe(Ce,"throwIfNotListening"),Fe(Se,"undefinedToNull"),Fe(ke,"nullToUndefined"),Fe(xe,"isNamedParam"),Fe(we,"computeSingleParam"),Fe(Ne,"computeMessageParams");let Ie={sendNotification:Fe((e,...t)=>{let r,n;if(Ae(),i.string(e)){r=e;var a=t[0];let i=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(a)&&(i=1,u=a);var o=t.length,l=o-i;switch(l){case 0:n=void 0;break;case 1:n=we(u,t[i]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);n=t.slice(i,o).map(e=>Se(e))}}else r=e.method,n=Ne(e,t);return ge(a={jsonrpc:P,method:r,params:n}),f.write(a).catch(e=>{throw b.error("Sending notification failed."),e})},"sendNotification"),onNotification:Fe((e,t)=>{let r;return Ae(),i.func(e)?$=e:t&&(i.string(e)?(r=e,L.set(e,{type:void 0,handler:t})):(r=e.method,L.set(e.method,{type:e,handler:t}))),{dispose:Fe(()=>{void 0!==r?L.delete(r):$=void 0},"dispose")}},"onNotification"),onProgress:Fe((e,t,r)=>{if(D.has(t))throw new Error(`Progress handler for token ${t} already registered`);return D.set(t,r),{dispose:Fe(()=>{D.delete(t)},"dispose")}},"onProgress"),sendProgress:Fe((e,t,r)=>Ie.sendNotification(n.type,{token:t,value:r}),"sendProgress"),onUnhandledProgress:W.event,sendRequest:Fe((e,...t)=>{let r,n,a;if(Ae(),Ce(),i.string(e)){r=e;var o=t[0],l=t[t.length-1];let i=0,p=s.ParameterStructures.auto,d=(s.ParameterStructures.is(o)&&(i=1,p=o),t.length);u.CancellationToken.is(l)&&(d-=1,a=l);var c=d-i;switch(c){case 0:n=void 0;break;case 1:n=we(p,t[i]);break;default:if(p===s.ParameterStructures.byName)throw new Error(`Received ${c} parameters for 'by Name' request parameter structure.`);n=t.slice(i,d).map(e=>Se(e))}}else o=t,r=e.method,n=Ne(e,o),l=e.numberOfParams,a=u.CancellationToken.is(o[l])?o[l]:void 0;let p,d=S++,m=(a&&(p=a.onCancellationRequested(()=>{var e=Y.sender.sendCancellation(Ie,d);return void 0===e?(b.log("Received no promise from cancellation strategy when cancelling id "+d),Promise.resolve()):e.catch(()=>{b.log(`Sending cancellation messages for id ${d} failed`)})})),{jsonrpc:P,id:d,method:r,params:n});return ye(m),"function"==typeof Y.sender.enableCancellation&&Y.sender.enableCancellation(m),new Promise(async(e,t)=>{var n=Fe(t=>{e(t),Y.sender.cleanup(d),p?.dispose()},"resolveWithCleanup"),a=Fe(e=>{t(e),Y.sender.cleanup(d),p?.dispose()},"rejectWithCleanup");n={method:r,timerStart:Date.now(),resolve:n,reject:a};try{await f.write(m),j.set(d,n)}catch(a){throw b.error("Sending request failed."),n.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,a.message||"Unknown reason")),a}})},"sendRequest"),onRequest:Fe((e,t)=>{Ae();let r=null;return p.is(e)?(r=void 0,R=e):i.string(e)?(r=null,void 0!==t&&(r=e,O.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,O.set(e.method,{type:e,handler:t})),{dispose:Fe(()=>{null!==r&&(void 0!==r?O.delete(r):R=void 0)},"dispose")}},"onRequest"),hasPendingResponse:Fe(()=>0<j.size,"hasPendingResponse"),trace:Fe(async(e,t,r)=>{let n=!1,a=m.Text;void 0!==r&&(i.boolean(r)?n=r:(n=r.sendNotification||!1,a=r.traceFormat||m.Text)),z=e,K=a,A=z===d.Off?void 0:t,!n||re()||ne()||await Ie.sendNotification(y.type,{value:d.toString(e)})},"trace"),onError:U.event,onClose:B.event,onUnhandledNotification:V.event,onDispose:H.event,end:Fe(()=>{f.end()},"end"),dispose:Fe(()=>{if(!ne()){q=I.Disposed,H.fire(void 0);var e,t=new s.ResponseError(s.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(e of j.values())e.reject(t);j=new Map,G=new Map,F=new Set,M=new o.LinkedMap,i.func(f.dispose)&&f.dispose(),i.func(c.dispose)&&c.dispose()}},"dispose"),listen:Fe(()=>{Ae(),be(),q=I.Listening,c.listen(ce)},"listen"),inspect:Fe(()=>{(0,a.default)().console.log("inspect")},"inspect")};return Ie.onNotification(g.type,e=>{var t;z!==d.Off&&A&&(t=z===d.Verbose||z===d.Compact,A.log(e.message,t?e.verbose:void 0))}),Ie.onNotification(n.type,e=>{var t=D.get(e.token);t?t(e.value):W.fire(e)}),Ie}e.ConnectionError=_,T=b||(e.ConnectionStrategy=b={}),Fe(P,"is"),T.is=P,T=C||(e.IdCancellationReceiverStrategy=C={}),Fe(O,"is"),T.is=O,T=S||(e.RequestCancellationReceiverStrategy=S={}),Fe(L,"is"),T.is=L,(T=k||(e.CancellationReceiverStrategy=k={})).Message=Object.freeze({createCancellationTokenSource:e=>new u.CancellationTokenSource}),Fe(D,"is"),T.is=D,(T=x||(e.CancellationSenderStrategy=x={})).Message=Object.freeze({sendCancellation:(e,r)=>e.sendNotification(t.type,{id:r}),cleanup(e){}}),Fe(M,"is"),T.is=M,(T=w||(e.CancellationStrategy=w={})).Message=Object.freeze({receiver:k.Message,sender:x.Message}),Fe(j,"is"),T.is=j,T=N||(e.MessageStrategy=N={}),Fe(F,"is"),T.is=F,T=e.ConnectionOptions={},Fe(G,"is"),T.is=G,(T=I=I||{})[T.New=1]="New",T[T.Listening=2]="Listening",T[T.Closed=3]="Closed",T[T.Disposed=4]="Disposed",Fe(z,"createMessageConnection"),e.createMessageConnection=z}}),ot=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=Je(),r=(Object.defineProperty(e,"Message",{enumerable:!0,get:Fe(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:Fe(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:Fe(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:Fe(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:Fe(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:Fe(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:Fe(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:Fe(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:Fe(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:Fe(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:Fe(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:Fe(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:Fe(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:Fe(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:Fe(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:Fe(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:Fe(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:Fe(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:Fe(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:Fe(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:Fe(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:Fe(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:Fe(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:Fe(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:Fe(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:Fe(function(){return t.ParameterStructures},"get")}),Qe()),n=(Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:Fe(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:Fe(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:Fe(function(){return r.Touch},"get")}),et()),a=(Object.defineProperty(e,"Disposable",{enumerable:!0,get:Fe(function(){return n.Disposable},"get")}),Ze()),i=(Object.defineProperty(e,"Event",{enumerable:!0,get:Fe(function(){return a.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:Fe(function(){return a.Emitter},"get")}),Xe()),s=(Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:Fe(function(){return i.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:Fe(function(){return i.CancellationToken},"get")}),tt()),o=(Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:Fe(function(){return s.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:Fe(function(){return s.SharedArrayReceiverStrategy},"get")}),nt()),l=(Object.defineProperty(e,"MessageReader",{enumerable:!0,get:Fe(function(){return o.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:Fe(function(){return o.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:Fe(function(){return o.ReadableStreamMessageReader},"get")}),at()),u=(Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:Fe(function(){return l.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:Fe(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:Fe(function(){return l.WriteableStreamMessageWriter},"get")}),it()),c=(Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:Fe(function(){return u.AbstractMessageBuffer},"get")}),st()),p=(Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:Fe(function(){return c.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:Fe(function(){return c.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:Fe(function(){return c.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:Fe(function(){return c.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:Fe(function(){return c.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:Fe(function(){return c.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:Fe(function(){return c.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:Fe(function(){return c.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:Fe(function(){return c.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:Fe(function(){return c.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:Fe(function(){return c.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:Fe(function(){return c.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:Fe(function(){return c.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:Fe(function(){return c.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:Fe(function(){return c.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:Fe(function(){return c.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:Fe(function(){return c.MessageStrategy},"get")}),He());e.RAL=p.default}}),lt=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=ot(),n=class e extends r.AbstractMessageBuffer{static{Fe(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return("ascii"===t?this.asciiDecoder:new TextDecoder(t)).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}},a=(n.emptyBuffer=new Uint8Array(0),class{static{Fe(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new r.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then(e=>{this._onData.fire(new Uint8Array(e))},()=>{(0,r.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}}),i=class{static{Fe(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,t){if("string"==typeof e&&void 0!==t&&"utf-8"!==t)throw new Error("In a Browser environments only utf-8 text encoding is supported. But got encoding: "+t);return this.socket.send(e),Promise.resolve()}end(){this.socket.close()}},s=new TextEncoder,o=Object.freeze({messageBuffer:Object.freeze({create:Fe(e=>new n(e),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:Fe((e,t)=>{if("utf-8"!==t.charset)throw new Error("In a Browser environments only utf-8 text encoding is supported. But got encoding: "+t.charset);return Promise.resolve(s.encode(JSON.stringify(e,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:Fe((e,t)=>{if(e instanceof Uint8Array)return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)));throw new Error("In a Browser environments only Uint8Arrays are supported.")},"decode")})}),stream:Object.freeze({asReadableStream:Fe(e=>new a(e),"asReadableStream"),asWritableStream:Fe(e=>new i(e),"asWritableStream")}),console:console,timer:Object.freeze({setTimeout(e,t,...r){let n=setTimeout(e,t,...r);return{dispose:Fe(()=>clearTimeout(n),"dispose")}},setImmediate(e,...t){let r=setTimeout(e,0,...t);return{dispose:Fe(()=>clearTimeout(r),"dispose")}},setInterval(e,t,...r){let n=setInterval(e,t,...r);return{dispose:Fe(()=>clearInterval(n),"dispose")}}})});function l(){return o}function u(){r.RAL.install(o)}Fe(l,"RIL"),t=l=l||{},Fe(u,"install"),t.install=u,e.default=l}}),ut=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&("get"in a?t.__esModule:!a.writable&&!a.configurable)||(a={enumerable:!0,get:Fe(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){e[n=void 0===n?r:n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0,lt().default.install();var n=ot();r(ot(),e),r=class extends n.AbstractMessageReader{static{Fe(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new n.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",e=>this.fireError(e)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}},e.BrowserMessageReader=r,r=class extends n.AbstractMessageWriter{static{Fe(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",e=>this.fireError(e))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};function a(e,t,r,a){return void 0===r&&(r=n.NullLogger),n.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,n.createMessageConnection)(e,t,r,a)}e.BrowserMessageWriter=r,Fe(a,"createMessageConnection"),e.createMessageConnection=a}}),ct=Ge({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){t.exports=ut()}}),pt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t=ut(),r=(e.MessageDirection={clientToServer:"clientToServer",serverToClient:"serverToClient",both:"both"},class{static{Fe(this,"RegistrationType")}constructor(e){this.method=e}});e.RegistrationType=r,r=class extends t.RequestType0{static{Fe(this,"ProtocolRequestType0")}constructor(e){super(e)}},e.ProtocolRequestType0=r,r=class extends t.RequestType{static{Fe(this,"ProtocolRequestType")}constructor(e){super(e,t.ParameterStructures.byName)}},e.ProtocolRequestType=r,r=class extends t.NotificationType0{static{Fe(this,"ProtocolNotificationType0")}constructor(e){super(e)}},e.ProtocolNotificationType0=r,r=class extends t.NotificationType{static{Fe(this,"ProtocolNotificationType")}constructor(e){super(e,t.ParameterStructures.byName)}};e.ProtocolNotificationType=r}}),dt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function a(e){return e instanceof Error}function i(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}function l(e,t){return Array.isArray(e)&&e.every(t)}function u(e){return null!==e&&"object"==typeof e}Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,Fe(t,"boolean"),e.boolean=t,Fe(r,"string"),e.string=r,Fe(n,"number"),e.number=n,Fe(a,"error"),e.error=a,Fe(i,"func"),e.func=i,Fe(s,"array"),e.array=s,Fe(o,"stringArray"),e.stringArray=o,Fe(l,"typedArray"),e.typedArray=l,Fe(u,"objectLiteral"),e.objectLiteral=u}}),ft=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t=pt();(e=e.ImplementationRequest={method:"textDocument/implementation"}).messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)}}),mt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t=pt();(e=e.TypeDefinitionRequest={method:"textDocument/typeDefinition"}).messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)}}),ht=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t,r=pt();(t=e.WorkspaceFoldersRequest={method:"workspace/workspaceFolders"}).messageDirection=r.MessageDirection.serverToClient,t.type=new r.ProtocolRequestType0(t.method),(t=e.DidChangeWorkspaceFoldersNotification={method:"workspace/didChangeWorkspaceFolders"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolNotificationType(t.method)}}),yt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t=pt();(e=e.ConfigurationRequest={method:"workspace/configuration"}).messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType(e.method)}}),gt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t,r=pt();(t=e.DocumentColorRequest={method:"textDocument/documentColor"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.ColorPresentationRequest={method:"textDocument/colorPresentation"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method)}}),vt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t,r=pt();(t=e.FoldingRangeRequest={method:"textDocument/foldingRange"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.FoldingRangeRefreshRequest={method:"workspace/foldingRange/refresh"}).messageDirection=r.MessageDirection.serverToClient,t.type=new r.ProtocolRequestType0(t.method)}}),Tt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t=pt();(e=e.DeclarationRequest={method:"textDocument/declaration"}).messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)}}),Rt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t=pt();(e=e.SelectionRangeRequest={method:"textDocument/selectionRange"}).messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)}}),$t=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t,r=ut(),n=pt();function a(e){return e===t.type}(t=e.WorkDoneProgress={}).type=new r.ProgressType,Fe(a,"is"),t.is=a,(r=e.WorkDoneProgressCreateRequest={method:"window/workDoneProgress/create"}).messageDirection=n.MessageDirection.serverToClient,r.type=new n.ProtocolRequestType(r.method),(r=e.WorkDoneProgressCancelNotification={method:"window/workDoneProgress/cancel"}).messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolNotificationType(r.method)}}),Et=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t,r=pt();(t=e.CallHierarchyPrepareRequest={method:"textDocument/prepareCallHierarchy"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.CallHierarchyIncomingCallsRequest={method:"callHierarchy/incomingCalls"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.CallHierarchyOutgoingCallsRequest={method:"callHierarchy/outgoingCalls"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method)}}),At=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t,r,n=pt();(e.TokenFormat={}).Relative="relative",(r=t||(e.SemanticTokensRegistrationType=t={})).method="textDocument/semanticTokens",r.type=new n.RegistrationType(r.method),(r=e.SemanticTokensRequest={method:"textDocument/semanticTokens/full"}).messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.registrationMethod=t.method,(r=e.SemanticTokensDeltaRequest={method:"textDocument/semanticTokens/full/delta"}).messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.registrationMethod=t.method,(r=e.SemanticTokensRangeRequest={method:"textDocument/semanticTokens/range"}).messageDirection=n.MessageDirection.clientToServer,r.type=new n.ProtocolRequestType(r.method),r.registrationMethod=t.method,(r=e.SemanticTokensRefreshRequest={method:"workspace/semanticTokens/refresh"}).messageDirection=n.MessageDirection.serverToClient,r.type=new n.ProtocolRequestType0(r.method)}}),bt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t=pt();(e=e.ShowDocumentRequest={method:"window/showDocument"}).messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType(e.method)}}),Ct=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t=pt();(e=e.LinkedEditingRangeRequest={method:"textDocument/linkedEditingRange"}).messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)}}),St=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t,r=pt();e.FileOperationPatternKind={file:"file",folder:"folder"},(t=e.WillCreateFilesRequest={method:"workspace/willCreateFiles"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.DidCreateFilesNotification={method:"workspace/didCreateFiles"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolNotificationType(t.method),(t=e.WillRenameFilesRequest={method:"workspace/willRenameFiles"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.DidRenameFilesNotification={method:"workspace/didRenameFiles"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolNotificationType(t.method),(t=e.DidDeleteFilesNotification={method:"workspace/didDeleteFiles"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolNotificationType(t.method),(t=e.WillDeleteFilesRequest={method:"workspace/willDeleteFiles"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method)}}),kt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t=pt();e.UniquenessLevel={document:"document",project:"project",group:"group",scheme:"scheme",global:"global"},e.MonikerKind={$import:"import",$export:"export",local:"local"},(e=e.MonikerRequest={method:"textDocument/moniker"}).messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)}}),xt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r=pt();(t=e.TypeHierarchyPrepareRequest={method:"textDocument/prepareTypeHierarchy"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.TypeHierarchySupertypesRequest={method:"typeHierarchy/supertypes"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.TypeHierarchySubtypesRequest={method:"typeHierarchy/subtypes"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method)}}),wt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t,r=pt();(t=e.InlineValueRequest={method:"textDocument/inlineValue"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.InlineValueRefreshRequest={method:"workspace/inlineValue/refresh"}).messageDirection=r.MessageDirection.serverToClient,t.type=new r.ProtocolRequestType0(t.method)}}),Nt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t,r=pt();(t=e.InlayHintRequest={method:"textDocument/inlayHint"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.InlayHintResolveRequest={method:"inlayHint/resolve"}).messageDirection=r.MessageDirection.clientToServer,t.type=new r.ProtocolRequestType(t.method),(t=e.InlayHintRefreshRequest={method:"workspace/inlayHint/refresh"}).messageDirection=r.MessageDirection.serverToClient,t.type=new r.ProtocolRequestType0(t.method)}}),It=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t,r=ut(),n=dt(),a=pt();function i(e){return e&&n.boolean(e.retriggerRequest)}t=e.DiagnosticServerCancellationData={},Fe(i,"is"),t.is=i,e.DocumentDiagnosticReportKind={Full:"full",Unchanged:"unchanged"},(t=e.DocumentDiagnosticRequest={method:"textDocument/diagnostic"}).messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),t.partialResult=new r.ProgressType,(t=e.WorkspaceDiagnosticRequest={method:"workspace/diagnostic"}).messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),t.partialResult=new r.ProgressType,(t=e.DiagnosticRefreshRequest={method:"workspace/diagnostic/refresh"}).messageDirection=a.MessageDirection.serverToClient,t.type=new a.ProtocolRequestType0(t.method)}}),_t=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0,We();var t,r,n,a,i,s=Be(Ve),o=dt(),l=pt();function u(e){return 1===e||2===e}function c(e,t){return e={executionOrder:e},!0!==t&&!1!==t||(e.success=t),e}function p(e){return o.objectLiteral(e)&&s.uinteger.is(e.executionOrder)&&(void 0===e.success||o.boolean(e.success))}function d(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success}function f(e,t){return{kind:e,document:t}}function m(e){return o.objectLiteral(e)&&t.is(e.kind)&&s.DocumentUri.is(e.document)&&(void 0===e.metadata||o.objectLiteral(e.metadata))}function h(e,t){var n=new Set;return e.document!==t.document&&n.add("document"),e.kind!==t.kind&&n.add("kind"),e.executionSummary!==t.executionSummary&&n.add("executionSummary"),void 0===e.metadata&&void 0===t.metadata||y(e.metadata,t.metadata)||n.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||r.equals(e.executionSummary,t.executionSummary)||n.add("executionSummary"),n}function y(e,t){if(e!==t){if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;var r=Array.isArray(e),n=Array.isArray(t);if(r!==n)return!1;if(r&&n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!y(e[r],t[r]))return!1}if(o.objectLiteral(e)&&o.objectLiteral(t)){var a=Object.keys(e);r=Object.keys(t);if(a.length!==r.length)return!1;if(a.sort(),r.sort(),!y(a,r))return!1;for(let r=0;r<a.length;r++){var i=a[r];if(!y(e[i],t[i]))return!1}}}return!0}function g(e,t,r,n){return{uri:e,notebookType:t,version:r,cells:n}}function v(e){return o.objectLiteral(e)&&o.string(e.uri)&&s.integer.is(e.version)&&o.typedArray(e.cells,n.is)}function T(e){return o.objectLiteral(e)&&s.uinteger.is(e.start)&&s.uinteger.is(e.deleteCount)&&(void 0===e.cells||o.typedArray(e.cells,n.is))}function R(e,t,r){return e={start:e,deleteCount:t},void 0!==r&&(e.cells=r),e}(i=t||(e.NotebookCellKind=t={})).Markup=1,i.Code=2,Fe(u,"is"),i.is=u,i=r||(e.ExecutionSummary=r={}),Fe(c,"create"),i.create=c,Fe(p,"is"),i.is=p,Fe(d,"equals"),i.equals=d,i=n||(e.NotebookCell=n={}),Fe(f,"create"),i.create=f,Fe(m,"is"),i.is=m,Fe(h,"diff"),i.diff=h,Fe(y,"equalsMetadata"),i=e.NotebookDocument={},Fe(g,"create"),i.create=g,Fe(v,"is"),i.is=v,(i=a||(e.NotebookDocumentSyncRegistrationType=a={})).method="notebookDocument/sync",i.messageDirection=l.MessageDirection.clientToServer,i.type=new l.RegistrationType(i.method),(i=e.DidOpenNotebookDocumentNotification={method:"notebookDocument/didOpen"}).messageDirection=l.MessageDirection.clientToServer,i.type=new l.ProtocolNotificationType(i.method),i.registrationMethod=a.method,i=e.NotebookCellArrayChange={},Fe(T,"is"),i.is=T,Fe(R,"create"),i.create=R,(i=e.DidChangeNotebookDocumentNotification={method:"notebookDocument/didChange"}).messageDirection=l.MessageDirection.clientToServer,i.type=new l.ProtocolNotificationType(i.method),i.registrationMethod=a.method,(i=e.DidSaveNotebookDocumentNotification={method:"notebookDocument/didSave"}).messageDirection=l.MessageDirection.clientToServer,i.type=new l.ProtocolNotificationType(i.method),i.registrationMethod=a.method,(i=e.DidCloseNotebookDocumentNotification={method:"notebookDocument/didClose"}).messageDirection=l.MessageDirection.clientToServer,i.type=new l.ProtocolNotificationType(i.method),i.registrationMethod=a.method}}),Pt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionRequest=void 0;var t=pt();(e=e.InlineCompletionRequest={method:"textDocument/inlineCompletion"}).messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)}}),Ot=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangesFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.InlineCompletionRequest=e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,a,i,s=pt(),o=(We(),Be(Ve)),l=dt(),u=ft(),c=(Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:Fe(function(){return u.ImplementationRequest},"get")}),mt()),p=(Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:Fe(function(){return c.TypeDefinitionRequest},"get")}),ht()),d=(Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:Fe(function(){return p.WorkspaceFoldersRequest},"get")}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:Fe(function(){return p.DidChangeWorkspaceFoldersNotification},"get")}),yt()),f=(Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:Fe(function(){return d.ConfigurationRequest},"get")}),gt()),m=(Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:Fe(function(){return f.DocumentColorRequest},"get")}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:Fe(function(){return f.ColorPresentationRequest},"get")}),vt()),h=(Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:Fe(function(){return m.FoldingRangeRequest},"get")}),Object.defineProperty(e,"FoldingRangeRefreshRequest",{enumerable:!0,get:Fe(function(){return m.FoldingRangeRefreshRequest},"get")}),Tt()),y=(Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:Fe(function(){return h.DeclarationRequest},"get")}),Rt()),g=(Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:Fe(function(){return y.SelectionRangeRequest},"get")}),$t()),v=(Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:Fe(function(){return g.WorkDoneProgress},"get")}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:Fe(function(){return g.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:Fe(function(){return g.WorkDoneProgressCancelNotification},"get")}),Et()),T=(Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:Fe(function(){return v.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:Fe(function(){return v.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:Fe(function(){return v.CallHierarchyPrepareRequest},"get")}),At()),R=(Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:Fe(function(){return T.TokenFormat},"get")}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:Fe(function(){return T.SemanticTokensRequest},"get")}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:Fe(function(){return T.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:Fe(function(){return T.SemanticTokensRangeRequest},"get")}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:Fe(function(){return T.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:Fe(function(){return T.SemanticTokensRegistrationType},"get")}),bt()),$=(Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:Fe(function(){return R.ShowDocumentRequest},"get")}),Ct()),E=(Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:Fe(function(){return $.LinkedEditingRangeRequest},"get")}),St()),A=(Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:Fe(function(){return E.FileOperationPatternKind},"get")}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:Fe(function(){return E.DidCreateFilesNotification},"get")}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:Fe(function(){return E.WillCreateFilesRequest},"get")}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:Fe(function(){return E.DidRenameFilesNotification},"get")}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:Fe(function(){return E.WillRenameFilesRequest},"get")}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:Fe(function(){return E.DidDeleteFilesNotification},"get")}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:Fe(function(){return E.WillDeleteFilesRequest},"get")}),kt()),b=(Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:Fe(function(){return A.UniquenessLevel},"get")}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:Fe(function(){return A.MonikerKind},"get")}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:Fe(function(){return A.MonikerRequest},"get")}),xt()),C=(Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:Fe(function(){return b.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:Fe(function(){return b.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:Fe(function(){return b.TypeHierarchySupertypesRequest},"get")}),wt()),S=(Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:Fe(function(){return C.InlineValueRequest},"get")}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:Fe(function(){return C.InlineValueRefreshRequest},"get")}),Nt()),k=(Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:Fe(function(){return S.InlayHintRequest},"get")}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:Fe(function(){return S.InlayHintResolveRequest},"get")}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:Fe(function(){return S.InlayHintRefreshRequest},"get")}),It()),x=(Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:Fe(function(){return k.DiagnosticServerCancellationData},"get")}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:Fe(function(){return k.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:Fe(function(){return k.DocumentDiagnosticRequest},"get")}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:Fe(function(){return k.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:Fe(function(){return k.DiagnosticRefreshRequest},"get")}),_t()),w=(Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:Fe(function(){return x.NotebookCellKind},"get")}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:Fe(function(){return x.ExecutionSummary},"get")}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:Fe(function(){return x.NotebookCell},"get")}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:Fe(function(){return x.NotebookDocument},"get")}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:Fe(function(){return x.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:Fe(function(){return x.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:Fe(function(){return x.NotebookCellArrayChange},"get")}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:Fe(function(){return x.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:Fe(function(){return x.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:Fe(function(){return x.DidCloseNotebookDocumentNotification},"get")}),Pt());function N(e){return l.string(e)||l.string(e.language)||l.string(e.scheme)||l.string(e.pattern)}function I(e){return l.objectLiteral(e)&&(l.string(e.notebookType)||l.string(e.scheme)||l.string(e.pattern))}function _(e){return l.objectLiteral(e)&&(l.string(e.notebook)||r.is(e.notebook))&&(void 0===e.language||l.string(e.language))}function P(e){if(!Array.isArray(e))return!1;for(var r of e)if(!l.string(r)&&!t.is(r)&&!n.is(r))return!1;return!0}function O(e){return e&&l.string(e.id)&&0<e.id.length}function L(e){return e&&(null===e.documentSelector||a.is(e.documentSelector))}function D(e){return l.objectLiteral(e)&&(void 0===e.workDoneProgress||l.boolean(e.workDoneProgress))}function M(e){return e&&l.boolean(e.workDoneProgress)}function j(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}function F(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}function G(e){return l.objectLiteral(e)&&(o.URI.is(e.baseUri)||o.WorkspaceFolder.is(e.baseUri))&&l.string(e.pattern)}Object.defineProperty(e,"InlineCompletionRequest",{enumerable:!0,get:Fe(function(){return w.InlineCompletionRequest},"get")}),i=t||(e.TextDocumentFilter=t={}),Fe(N,"is"),i.is=N,i=r||(e.NotebookDocumentFilter=r={}),Fe(I,"is"),i.is=I,i=n||(e.NotebookCellTextDocumentFilter=n={}),Fe(_,"is"),i.is=_,i=a||(e.DocumentSelector=a={}),Fe(P,"is"),i.is=P,(i=e.RegistrationRequest={method:"client/registerCapability"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolRequestType(i.method),(i=e.UnregistrationRequest={method:"client/unregisterCapability"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolRequestType(i.method),e.ResourceOperationKind={Create:"create",Rename:"rename",Delete:"delete"},e.FailureHandlingKind={Abort:"abort",Transactional:"transactional",TextOnlyTransactional:"textOnlyTransactional",Undo:"undo"},e.PositionEncodingKind={UTF8:"utf-8",UTF16:"utf-16",UTF32:"utf-32"},i=e.StaticRegistrationOptions={},Fe(O,"hasId"),i.hasId=O,i=e.TextDocumentRegistrationOptions={},Fe(L,"is"),i.is=L,i=e.WorkDoneProgressOptions={},Fe(D,"is"),i.is=D,Fe(M,"hasWorkDoneProgress"),i.hasWorkDoneProgress=M,(i=e.InitializeRequest={method:"initialize"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(e.InitializeErrorCodes={}).unknownProtocolVersion=1,(i=e.InitializedNotification={method:"initialized"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType(i.method),(i=e.ShutdownRequest={method:"shutdown"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType0(i.method),(i=e.ExitNotification={method:"exit"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType0(i.method),(i=e.DidChangeConfigurationNotification={method:"workspace/didChangeConfiguration"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType(i.method),e.MessageType={Error:1,Warning:2,Info:3,Log:4,Debug:5},(i=e.ShowMessageNotification={method:"window/showMessage"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolNotificationType(i.method),(i=e.ShowMessageRequest={method:"window/showMessageRequest"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolRequestType(i.method),(i=e.LogMessageNotification={method:"window/logMessage"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolNotificationType(i.method),(i=e.TelemetryEventNotification={method:"telemetry/event"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolNotificationType(i.method),e.TextDocumentSyncKind={None:0,Full:1,Incremental:2},(i=e.DidOpenTextDocumentNotification={method:"textDocument/didOpen"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType(i.method),i=e.TextDocumentContentChangeEvent={},Fe(j,"isIncremental"),i.isIncremental=j,Fe(F,"isFull"),i.isFull=F,(i=e.DidChangeTextDocumentNotification={method:"textDocument/didChange"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType(i.method),(i=e.DidCloseTextDocumentNotification={method:"textDocument/didClose"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType(i.method),(i=e.DidSaveTextDocumentNotification={method:"textDocument/didSave"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType(i.method),e.TextDocumentSaveReason={Manual:1,AfterDelay:2,FocusOut:3},(i=e.WillSaveTextDocumentNotification={method:"textDocument/willSave"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType(i.method),(i=e.WillSaveTextDocumentWaitUntilRequest={method:"textDocument/willSaveWaitUntil"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DidChangeWatchedFilesNotification={method:"workspace/didChangeWatchedFiles"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolNotificationType(i.method),e.FileChangeType={Created:1,Changed:2,Deleted:3},i=e.RelativePattern={},Fe(G,"is"),i.is=G,e.WatchKind={Create:1,Change:2,Delete:4},(i=e.PublishDiagnosticsNotification={method:"textDocument/publishDiagnostics"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolNotificationType(i.method),e.CompletionTriggerKind={Invoked:1,TriggerCharacter:2,TriggerForIncompleteCompletions:3},(i=e.CompletionRequest={method:"textDocument/completion"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.CompletionResolveRequest={method:"completionItem/resolve"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.HoverRequest={method:"textDocument/hover"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),e.SignatureHelpTriggerKind={Invoked:1,TriggerCharacter:2,ContentChange:3},(i=e.SignatureHelpRequest={method:"textDocument/signatureHelp"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DefinitionRequest={method:"textDocument/definition"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.ReferencesRequest={method:"textDocument/references"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DocumentHighlightRequest={method:"textDocument/documentHighlight"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DocumentSymbolRequest={method:"textDocument/documentSymbol"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.CodeActionRequest={method:"textDocument/codeAction"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.CodeActionResolveRequest={method:"codeAction/resolve"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.WorkspaceSymbolRequest={method:"workspace/symbol"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.WorkspaceSymbolResolveRequest={method:"workspaceSymbol/resolve"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.CodeLensRequest={method:"textDocument/codeLens"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.CodeLensResolveRequest={method:"codeLens/resolve"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.CodeLensRefreshRequest={method:"workspace/codeLens/refresh"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolRequestType0(i.method),(i=e.DocumentLinkRequest={method:"textDocument/documentLink"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DocumentLinkResolveRequest={method:"documentLink/resolve"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DocumentFormattingRequest={method:"textDocument/formatting"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DocumentRangeFormattingRequest={method:"textDocument/rangeFormatting"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DocumentRangesFormattingRequest={method:"textDocument/rangesFormatting"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.DocumentOnTypeFormattingRequest={method:"textDocument/onTypeFormatting"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(e.PrepareSupportDefaultBehavior={}).Identifier=1,(i=e.RenameRequest={method:"textDocument/rename"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.PrepareRenameRequest={method:"textDocument/prepareRename"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.ExecuteCommandRequest={method:"workspace/executeCommand"}).messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method),(i=e.ApplyWorkspaceEditRequest={method:"workspace/applyEdit"}).messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolRequestType("workspace/applyEdit")}}),Lt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=ut();function r(e,r,n,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(e,r,n,a)}Fe(r,"createProtocolConnection"),e.createProtocolConnection=r}}),Dt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&("get"in a?t.__esModule:!a.writable&&!a.configurable)||(a={enumerable:!0,get:Fe(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){e[n=void 0===n?r:n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)},n=(Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,r(ut(),e),r((We(),Be(Ve)),e),r(pt(),e),r(Ot(),e),Lt());Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:Fe(function(){return n.createProtocolConnection},"get")}),e.LSPErrorCodes={lspReservedErrorRangeStart:-32899,RequestFailed:-32803,ServerCancelled:-32802,ContentModified:-32801,RequestCancelled:-32800,lspReservedErrorRangeEnd:-32800}}}),Mt=Ge({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&("get"in a?t.__esModule:!a.writable&&!a.configurable)||(a={enumerable:!0,get:Fe(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}:function(e,t,r,n){e[n=void 0===n?r:n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)},n=(Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0,ct());function a(e,t,r,a){return(0,n.createMessageConnection)(e,t,r,a)}r(ct(),e),r(Dt(),e),Fe(a,"createProtocolConnection"),e.createProtocolConnection=a}}),jt={},Ft=(ze(jt,{AbstractAstReflection:()=>Bt,AbstractCstNode:()=>vk,AbstractLangiumParser:()=>Sk,AbstractParserErrorMessageProvider:()=>xk,AbstractThreadedAsyncParser:()=>Qw,AstUtils:()=>nr,BiMap:()=>Lx,Cancellation:()=>ax,CompositeCstNodeImpl:()=>Rk,ContextCache:()=>qx,CstNodeBuilder:()=>gk,CstUtils:()=>Ft,DEFAULT_TOKENIZE_OPTIONS:()=>gw,DONE_RESULT:()=>Qt,DatatypeSymbol:()=>Ak,DefaultAstNodeDescriptionProvider:()=>ow,DefaultAstNodeLocator:()=>uw,DefaultAsyncParser:()=>Jw,DefaultCommentProvider:()=>Xw,DefaultConfigurationProvider:()=>pw,DefaultDocumentBuilder:()=>fw,DefaultDocumentValidator:()=>rw,DefaultHydrator:()=>rN,DefaultIndexManager:()=>mw,DefaultJsonSerializer:()=>Zx,DefaultLangiumDocumentFactory:()=>kx,DefaultLangiumDocuments:()=>xx,DefaultLangiumProfiler:()=>jN,DefaultLexer:()=>vw,DefaultLexerErrorMessageProvider:()=>yw,DefaultLinker:()=>Nx,DefaultNameProvider:()=>_x,DefaultReferenceDescriptionProvider:()=>lw,DefaultReferences:()=>Px,DefaultScopeComputation:()=>Dx,DefaultScopeProvider:()=>Vx,DefaultServiceRegistry:()=>Xx,DefaultTokenBuilder:()=>rx,DefaultValueConverter:()=>nx,DefaultWorkspaceLock:()=>tN,DefaultWorkspaceManager:()=>hw,Deferred:()=>hx,Disposable:()=>sw,DisposableCache:()=>zx,DocumentCache:()=>Ux,DocumentState:()=>Ax,DocumentValidator:()=>Qx,EMPTY_SCOPE:()=>Gx,EMPTY_STREAM:()=>Jt,EmptyFileSystem:()=>vN,EmptyFileSystemProvider:()=>gN,ErrorWithLocation:()=>Ga,GrammarAST:()=>vr,GrammarUtils:()=>Fa,IndentationAwareLexer:()=>hN,IndentationAwareTokenBuilder:()=>mN,JSDocDocumentationProvider:()=>Zw,LangiumCompletionParser:()=>Nk,LangiumParser:()=>kk,LangiumParserErrorMessageProvider:()=>wk,LeafCstNodeImpl:()=>Tk,LexingMode:()=>dN,MapScope:()=>jx,Module:()=>Yw,MultiMap:()=>Ox,MultiMapScope:()=>Fx,OperationCancelled:()=>cx,ParserWorker:()=>eN,ProfilingTask:()=>FN,Reduction:()=>tr,RefResolving:()=>wx,RegExpUtils:()=>qa,RootCstNodeImpl:()=>Ek,SimpleCache:()=>Kx,StreamImpl:()=>Yt,StreamScope:()=>Mx,TextDocument:()=>fx,TreeStreamImpl:()=>rr,URI:()=>bx,UriTrie:()=>Sx,UriUtils:()=>Ex,VALIDATE_EACH_NODE:()=>tw,ValidationCategory:()=>Yx,ValidationRegistry:()=>ew,ValueConverter:()=>tx,WorkspaceCache:()=>Bx,assertCondition:()=>Ka,assertUnreachable:()=>za,createCompletionParser:()=>Jk,createDefaultCoreModule:()=>nN,createDefaultSharedCoreModule:()=>aN,createGrammarConfig:()=>es,createLangiumParser:()=>Qk,createParser:()=>Ok,delayNextTick:()=>ix,diagnosticData:()=>Jx,eagerLoad:()=>oN,getDiagnosticRange:()=>nw,indentationBuilderDefaultOptions:()=>fN,inject:()=>iN,interruptAndCheck:()=>dx,isAstNode:()=>Gt,isAstNodeDescription:()=>qt,isAstNodeWithComment:()=>Wx,isCompositeCstNode:()=>Vt,isIMultiModeLexerDefinition:()=>Rw,isJSDoc:()=>Aw,isLeafCstNode:()=>Wt,isLinkingError:()=>Ut,isMultiReference:()=>Kt,isNamed:()=>Ix,isOperationCancelled:()=>px,isReference:()=>zt,isRootCstNode:()=>Ht,isTokenTypeArray:()=>Tw,isTokenTypeDictionary:()=>$w,loadGrammarFromJson:()=>EN,parseJSDoc:()=>Ew,prepareLangiumParser:()=>ex,setInterruptionPeriod:()=>ux,startCancelableOperation:()=>lx,stream:()=>er,toDiagnosticData:()=>iw,toDiagnosticSeverity:()=>aw}),{});function Gt(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function zt(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"ref"in e}function Kt(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"items"in e}function qt(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function Ut(e){return"object"==typeof e&&null!==e&&"object"==typeof e.info&&"string"==typeof e.message}ze(Ft,{DefaultNameRegexp:()=>Sa,RangeComparison:()=>ha,compareRange:()=>ba,findCommentNode:()=>xa,findDeclarationNodeAtOffset:()=>ka,findLeafNodeAtOffset:()=>Na,findLeafNodeBeforeOffset:()=>Ia,flattenCst:()=>Ra,getDatatypeNode:()=>va,getInteriorNodes:()=>Da,getNextNode:()=>Oa,getPreviousNode:()=>Pa,getStartlineNode:()=>La,inRange:()=>Ca,isChildNode:()=>$a,isCommentNode:()=>wa,streamCst:()=>Ta,toDocumentSegment:()=>Aa,tokenToRange:()=>Ea}),Fe(Gt,"isAstNode"),Fe(zt,"isReference"),Fe(Kt,"isMultiReference"),Fe(qt,"isAstNodeDescription"),Fe(Ut,"isLinkingError");var Bt=class{static{Fe(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var t=this.types[e.container.$type];if(!t)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);if(t=t.properties[e.property]?.referenceType,t)return t;throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`)}getTypeMetaData(e){return this.types[e]||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return Gt(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];var n=(r=r||(this.subtypes[e]={}))[t];return void 0!==n?n:(e=!!(n=this.types[e])&&n.superTypes.some(e=>this.isSubtype(e,t)),r[t]=e)}getAllSubTypes(e){var t=this.allSubtypes[e];if(t)return t;var r,n=[];for(r of this.getAllTypes())this.isSubtype(r,e)&&n.push(r);return this.allSubtypes[e]=n}};function Vt(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function Wt(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function Ht(e){return Vt(e)&&"string"==typeof e.fullText}Fe(Vt,"isCompositeCstNode"),Fe(Wt,"isLeafCstNode"),Fe(Ht,"isRootCstNode");var Yt=class e{static{Fe(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:Fe(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){var e=this.iterator();return Boolean(e.next().done)}count(){var e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){for(var e,t=[],r=this.iterator();void 0!==(e=r.next()).value&&t.push(e.value),!e.done;);return t}toSet(){return new Set(this)}toMap(e,t){var r=this.map(r=>[e?e(r):r,t?t(r):r]);return new Map(r)}toString(){return this.join()}concat(t){return new e(()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do{if(!(t=this.nextFn(e.first)).done)return t}while(!t.done);e.firstDone=!0}do{if(!(t=e.iterator.next()).done)return t}while(!t.done);return Qt})}join(e=","){var t,r=this.iterator();let n="",a=!1;for(;(t=r.next()).done||(a&&(n+=e),n+=Zt(t.value)),a=!0,!t.done;);return n}indexOf(e,t=0){var r=this.iterator();let n=0,a=r.next();for(;!a.done;){if(n>=t&&a.value===e)return n;a=r.next(),n++}return-1}every(e){var t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){var t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){var t=this.iterator();let r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(t){return new e(this.startFn,e=>{var{done:e,value:r}=this.nextFn(e);return e?Qt:{done:!1,value:t(r)}})}filter(t){return new e(this.startFn,e=>{var r;do{if(!(r=this.nextFn(e)).done&&t(r.value))return r}while(!r.done);return Qt})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){var r=this.iterator();let n=t,a=r.next();for(;!a.done;)n=void 0===n?a.value:e(n,a.value),a=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){var n=e.next();return n.done?r:void 0===(e=this.recursiveReduce(e,t,r))?n.value:t(e,n.value)}find(e){var t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){var t=this.iterator();let r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return-1}includes(e){var t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(t){return new e(()=>({this:this.startFn()}),e=>{do{if(e.iterator){var r;if(!(r=e.iterator.next()).done)return r;e.iterator=void 0}var{done:r,value:n}=this.nextFn(e.this);if(!r){if(!Xt(n=t(n)))return{done:!1,value:n};e.iterator=n[Symbol.iterator]()}}while(e.iterator);return Qt})}flat(t){if((t=void 0===t?1:t)<=0)return this;let r=1<t?this.flat(t-1):this;return new e(()=>({this:r.startFn()}),e=>{do{if(e.iterator){var t;if(!(t=e.iterator.next()).done)return t;e.iterator=void 0}var{done:t,value:n}=r.nextFn(e.this);if(!t){if(!Xt(n))return{done:!1,value:n};e.iterator=n[Symbol.iterator]()}}while(e.iterator);return Qt})}head(){var e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{var e=this.startFn();for(let r=0;r<t;r++)if(this.nextFn(e).done)return e;return e},this.nextFn)}limit(t){return new e(()=>({size:0,state:this.startFn()}),e=>(e.size++,t<e.size?Qt:this.nextFn(e.state)))}distinct(t){return new e(()=>({set:new Set,internalState:this.startFn()}),e=>{var r;do{if(!(r=this.nextFn(e.internalState)).done){var n=t?t(r.value):r.value;if(!e.set.has(n))return e.set.add(n),r}}while(!r.done);return Qt})}exclude(e,t){let r=new Set;for(var n of e)n=t?t(n):n,r.add(n);return this.filter(e=>(e=t?t(e):e,!r.has(e)))}};function Zt(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function Xt(e){return!!e&&"function"==typeof e[Symbol.iterator]}Fe(Zt,"toString"),Fe(Xt,"isIterable");var Jt=new Yt(()=>{},()=>Qt),Qt=Object.freeze({done:!0,value:void 0});function er(...e){if(1===e.length){let t=e[0];if(t instanceof Yt)return t;if(Xt(t))return new Yt(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new Yt(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:Qt)}return 1<e.length?new Yt(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){var r=t.iterator.next();if(!r.done)return r;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}t.collIndex<e.length&&(Xt(r=e[t.collIndex++])?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r))}while(t.iterator||t.array||t.collIndex<e.length);return Qt}):Jt}Fe(er,"stream");var tr,rr=class extends Yt{static{Fe(this,"TreeStreamImpl")}constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);0<e.iterators.length;){var r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return Qt})}iterator(){let e={state:this.startFn(),next:Fe(()=>this.nextFn(e.state),"next"),prune:Fe(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},nr=((e=>{function t(e){return e.reduce((e,t)=>e+t,0)}function r(e){return e.reduce((e,t)=>e*t,0)}function n(e){return e.reduce((e,t)=>Math.min(e,t))}function a(e){return e.reduce((e,t)=>Math.max(e,t))}Fe(t,"sum"),e.sum=t,Fe(r,"product"),e.product=r,Fe(n,"min"),e.min=n,Fe(a,"max"),e.max=a})(tr=tr||{}),{});function ar(e,t={}){for(let[r,n]of Object.entries(e))r.startsWith("$")||(Array.isArray(n)?n.forEach((n,a)=>{Gt(n)&&(n.$container=e,n.$containerProperty=r,n.$containerIndex=a,t.deep)&&ar(n,t)}):Gt(n)&&(n.$container=e,n.$containerProperty=r,t.deep)&&ar(n,t))}function ir(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function sr(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}function or(e){if(e=lr(e).$document)return e;throw new Error("AST node has no document.")}function lr(e){for(;e.$container;)e=e.$container;return e}function ur(e){return zt(e)?e.ref?[e.ref]:[]:Kt(e)?e.items.map(e=>e.ref):[]}function cr(e,t){if(!e)throw new Error("Node must be an AstNode.");let r=t?.range;return new Yt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){var n=t.keys[t.keyIndex];if(!n.startsWith("$")){var a=e[n];if(Gt(a)){if(t.keyIndex++,fr(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;t.arrayIndex<a.length;){var i=a[t.arrayIndex++];if(Gt(i)&&fr(i,r))return{done:!1,value:i}}t.arrayIndex=0}}t.keyIndex++}return Qt})}function pr(e,t){if(e)return new rr(e,e=>cr(e,t));throw new Error("Root node must be an AstNode.")}function dr(e,t){if(e)return t?.range&&!fr(e,t.range)?new rr(e,()=>[]):new rr(e,e=>cr(e,t),{includeRoot:!0});throw new Error("Root node must be an AstNode.")}function fr(e,t){return!t||!!(e=e.$cstNode?.range)&&Ca(e,t)}function mr(e){return new Yt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){var r=t.keys[t.keyIndex];if(!r.startsWith("$")){var n=e[r];if(zt(n)||Kt(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){var a=t.arrayIndex++,i=n[a];if(zt(i)||Kt(n))return{done:!1,value:{reference:i,container:e,property:r,index:a}}}t.arrayIndex=0}}t.keyIndex++}return Qt})}function hr(e,t){e=e.getTypeMetaData(t.$type);var r,n=t;for(r of Object.values(e.properties))void 0!==r.defaultValue&&void 0===n[r.name]&&(n[r.name]=yr(r.defaultValue))}function yr(e){return Array.isArray(e)?[...e.map(yr)]:e}function gr(e,t,r){var n,a,i={$type:e.$type};for([n,a]of(r&&(r.set(e,i),r.set(i,e)),Object.entries(e)))if(!n.startsWith("$"))if(Gt(a))i[n]=gr(a,t,r);else if(zt(a))i[n]=t(i,n,a.$refNode,a.$refText,a);else if(Array.isArray(a)){var s,o=[];for(s of a)Gt(s)?o.push(gr(s,t,r)):zt(s)?o.push(t(i,n,s.$refNode,s.$refText,s)):o.push(s);i[n]=o}else i[n]=a;return ar(i,{deep:!0}),i}ze(nr,{assignMandatoryProperties:()=>hr,copyAstNode:()=>gr,findRootNode:()=>lr,getContainerOfType:()=>ir,getDocument:()=>or,getReferenceNodes:()=>ur,hasContainerOfType:()=>sr,linkContentToContainer:()=>ar,streamAllContents:()=>pr,streamAst:()=>dr,streamContents:()=>cr,streamReferences:()=>mr}),Fe(ar,"linkContentToContainer"),Fe(ir,"getContainerOfType"),Fe(sr,"hasContainerOfType"),Fe(or,"getDocument"),Fe(lr,"findRootNode"),Fe(ur,"getReferenceNodes"),Fe(cr,"streamContents"),Fe(pr,"streamAllContents"),Fe(dr,"streamAst"),Fe(fr,"isAstNodeInRange"),Fe(mr,"streamReferences"),Fe(hr,"assignMandatoryProperties"),Fe(yr,"copyDefaultValue"),Fe(gr,"copyAstNode");var vr={},Tr=(ze(vr,{AbstractElement:()=>Rr,AbstractParserRule:()=>Er,AbstractRule:()=>br,AbstractType:()=>Sr,Action:()=>xr,Alternatives:()=>Nr,ArrayLiteral:()=>_r,ArrayType:()=>Or,Assignment:()=>Dr,BooleanLiteral:()=>jr,CharacterRange:()=>Gr,Condition:()=>Kr,Conjunction:()=>Ur,CrossReference:()=>Vr,Disjunction:()=>Hr,EndOfFile:()=>Zr,Grammar:()=>Jr,GrammarImport:()=>en,Group:()=>rn,InferredType:()=>an,InfixRule:()=>on,InfixRuleOperatorList:()=>un,InfixRuleOperators:()=>pn,Interface:()=>fn,Keyword:()=>hn,LangiumGrammarAstReflection:()=>ya,LangiumGrammarTerminals:()=>Tr,NamedArgument:()=>gn,NegatedToken:()=>Tn,Negation:()=>$n,NumberLiteral:()=>An,Parameter:()=>Cn,ParameterReference:()=>kn,ParserRule:()=>wn,ReferenceType:()=>In,RegexToken:()=>Pn,ReturnType:()=>Ln,RuleCall:()=>Mn,SimpleType:()=>Fn,StringLiteral:()=>zn,TerminalAlternatives:()=>qn,TerminalElement:()=>Bn,TerminalGroup:()=>Wn,TerminalRule:()=>Yn,TerminalRuleCall:()=>Xn,Type:()=>Qn,TypeAttribute:()=>ta,TypeDefinition:()=>na,UnionType:()=>ia,UnorderedGroup:()=>oa,UntilToken:()=>ua,ValueLiteral:()=>pa,Wildcard:()=>fa,isAbstractElement:()=>$r,isAbstractParserRule:()=>Ar,isAbstractRule:()=>Cr,isAbstractType:()=>kr,isAction:()=>wr,isAlternatives:()=>Ir,isArrayLiteral:()=>Pr,isArrayType:()=>Lr,isAssignment:()=>Mr,isBooleanLiteral:()=>Fr,isCharacterRange:()=>zr,isCondition:()=>qr,isConjunction:()=>Br,isCrossReference:()=>Wr,isDisjunction:()=>Yr,isEndOfFile:()=>Xr,isGrammar:()=>Qr,isGrammarImport:()=>tn,isGroup:()=>nn,isInferredType:()=>sn,isInfixRule:()=>ln,isInfixRuleOperatorList:()=>cn,isInfixRuleOperators:()=>dn,isInterface:()=>mn,isKeyword:()=>yn,isNamedArgument:()=>vn,isNegatedToken:()=>Rn,isNegation:()=>En,isNumberLiteral:()=>bn,isParameter:()=>Sn,isParameterReference:()=>xn,isParserRule:()=>Nn,isReferenceType:()=>_n,isRegexToken:()=>On,isReturnType:()=>Dn,isRuleCall:()=>jn,isSimpleType:()=>Gn,isStringLiteral:()=>Kn,isTerminalAlternatives:()=>Un,isTerminalElement:()=>Vn,isTerminalGroup:()=>Hn,isTerminalRule:()=>Zn,isTerminalRuleCall:()=>Jn,isType:()=>ea,isTypeAttribute:()=>ra,isTypeDefinition:()=>aa,isUnionType:()=>sa,isUnorderedGroup:()=>la,isUntilToken:()=>ca,isValueLiteral:()=>da,isWildcard:()=>ma,reflection:()=>ga}),{ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/}),Rr={$type:"AbstractElement",cardinality:"cardinality"};function $r(e){return ga.isInstance(e,Rr.$type)}Fe($r,"isAbstractElement");var Er={$type:"AbstractParserRule"};function Ar(e){return ga.isInstance(e,Er.$type)}Fe(Ar,"isAbstractParserRule");var br={$type:"AbstractRule"};function Cr(e){return ga.isInstance(e,br.$type)}Fe(Cr,"isAbstractRule");var Sr={$type:"AbstractType"};function kr(e){return ga.isInstance(e,Sr.$type)}Fe(kr,"isAbstractType");var xr={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function wr(e){return ga.isInstance(e,xr.$type)}Fe(wr,"isAction");var Nr={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Ir(e){return ga.isInstance(e,Nr.$type)}Fe(Ir,"isAlternatives");var _r={$type:"ArrayLiteral",elements:"elements"};function Pr(e){return ga.isInstance(e,_r.$type)}Fe(Pr,"isArrayLiteral");var Or={$type:"ArrayType",elementType:"elementType"};function Lr(e){return ga.isInstance(e,Or.$type)}Fe(Lr,"isArrayType");var Dr={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Mr(e){return ga.isInstance(e,Dr.$type)}Fe(Mr,"isAssignment");var jr={$type:"BooleanLiteral",true:"true"};function Fr(e){return ga.isInstance(e,jr.$type)}Fe(Fr,"isBooleanLiteral");var Gr={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function zr(e){return ga.isInstance(e,Gr.$type)}Fe(zr,"isCharacterRange");var Kr={$type:"Condition"};function qr(e){return ga.isInstance(e,Kr.$type)}Fe(qr,"isCondition");var Ur={$type:"Conjunction",left:"left",right:"right"};function Br(e){return ga.isInstance(e,Ur.$type)}Fe(Br,"isConjunction");var Vr={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Wr(e){return ga.isInstance(e,Vr.$type)}Fe(Wr,"isCrossReference");var Hr={$type:"Disjunction",left:"left",right:"right"};function Yr(e){return ga.isInstance(e,Hr.$type)}Fe(Yr,"isDisjunction");var Zr={$type:"EndOfFile",cardinality:"cardinality"};function Xr(e){return ga.isInstance(e,Zr.$type)}Fe(Xr,"isEndOfFile");var Jr={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function Qr(e){return ga.isInstance(e,Jr.$type)}Fe(Qr,"isGrammar");var en={$type:"GrammarImport",path:"path"};function tn(e){return ga.isInstance(e,en.$type)}Fe(tn,"isGrammarImport");var rn={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function nn(e){return ga.isInstance(e,rn.$type)}Fe(nn,"isGroup");var an={$type:"InferredType",name:"name"};function sn(e){return ga.isInstance(e,an.$type)}Fe(sn,"isInferredType");var on={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function ln(e){return ga.isInstance(e,on.$type)}Fe(ln,"isInfixRule");var un={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function cn(e){return ga.isInstance(e,un.$type)}Fe(cn,"isInfixRuleOperatorList");var pn={$type:"InfixRuleOperators",precedences:"precedences"};function dn(e){return ga.isInstance(e,pn.$type)}Fe(dn,"isInfixRuleOperators");var fn={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function mn(e){return ga.isInstance(e,fn.$type)}Fe(mn,"isInterface");var hn={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function yn(e){return ga.isInstance(e,hn.$type)}Fe(yn,"isKeyword");var gn={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function vn(e){return ga.isInstance(e,gn.$type)}Fe(vn,"isNamedArgument");var Tn={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Rn(e){return ga.isInstance(e,Tn.$type)}Fe(Rn,"isNegatedToken");var $n={$type:"Negation",value:"value"};function En(e){return ga.isInstance(e,$n.$type)}Fe(En,"isNegation");var An={$type:"NumberLiteral",value:"value"};function bn(e){return ga.isInstance(e,An.$type)}Fe(bn,"isNumberLiteral");var Cn={$type:"Parameter",name:"name"};function Sn(e){return ga.isInstance(e,Cn.$type)}Fe(Sn,"isParameter");var kn={$type:"ParameterReference",parameter:"parameter"};function xn(e){return ga.isInstance(e,kn.$type)}Fe(xn,"isParameterReference");var wn={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Nn(e){return ga.isInstance(e,wn.$type)}Fe(Nn,"isParserRule");var In={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function _n(e){return ga.isInstance(e,In.$type)}Fe(_n,"isReferenceType");var Pn={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function On(e){return ga.isInstance(e,Pn.$type)}Fe(On,"isRegexToken");var Ln={$type:"ReturnType",name:"name"};function Dn(e){return ga.isInstance(e,Ln.$type)}Fe(Dn,"isReturnType");var Mn={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function jn(e){return ga.isInstance(e,Mn.$type)}Fe(jn,"isRuleCall");var Fn={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Gn(e){return ga.isInstance(e,Fn.$type)}Fe(Gn,"isSimpleType");var zn={$type:"StringLiteral",value:"value"};function Kn(e){return ga.isInstance(e,zn.$type)}Fe(Kn,"isStringLiteral");var qn={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Un(e){return ga.isInstance(e,qn.$type)}Fe(Un,"isTerminalAlternatives");var Bn={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Vn(e){return ga.isInstance(e,Bn.$type)}Fe(Vn,"isTerminalElement");var Wn={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Hn(e){return ga.isInstance(e,Wn.$type)}Fe(Hn,"isTerminalGroup");var Yn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Zn(e){return ga.isInstance(e,Yn.$type)}Fe(Zn,"isTerminalRule");var Xn={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Jn(e){return ga.isInstance(e,Xn.$type)}Fe(Jn,"isTerminalRuleCall");var Qn={$type:"Type",name:"name",type:"type"};function ea(e){return ga.isInstance(e,Qn.$type)}Fe(ea,"isType");var ta={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function ra(e){return ga.isInstance(e,ta.$type)}Fe(ra,"isTypeAttribute");var na={$type:"TypeDefinition"};function aa(e){return ga.isInstance(e,na.$type)}Fe(aa,"isTypeDefinition");var ia={$type:"UnionType",types:"types"};function sa(e){return ga.isInstance(e,ia.$type)}Fe(sa,"isUnionType");var oa={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function la(e){return ga.isInstance(e,oa.$type)}Fe(la,"isUnorderedGroup");var ua={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function ca(e){return ga.isInstance(e,ua.$type)}Fe(ca,"isUntilToken");var pa={$type:"ValueLiteral"};function da(e){return ga.isInstance(e,pa.$type)}Fe(da,"isValueLiteral");var fa={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function ma(e){return ga.isInstance(e,fa.$type)}Fe(ma,"isWildcard");var ha,ya=class extends Bt{static{Fe(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:Rr.$type,properties:{cardinality:{name:Rr.cardinality}},superTypes:[]},AbstractParserRule:{name:Er.$type,properties:{},superTypes:[br.$type,Sr.$type]},AbstractRule:{name:br.$type,properties:{},superTypes:[]},AbstractType:{name:Sr.$type,properties:{},superTypes:[]},Action:{name:xr.$type,properties:{cardinality:{name:xr.cardinality},feature:{name:xr.feature},inferredType:{name:xr.inferredType},operator:{name:xr.operator},type:{name:xr.type,referenceType:Sr.$type}},superTypes:[Rr.$type]},Alternatives:{name:Nr.$type,properties:{cardinality:{name:Nr.cardinality},elements:{name:Nr.elements,defaultValue:[]}},superTypes:[Rr.$type]},ArrayLiteral:{name:_r.$type,properties:{elements:{name:_r.elements,defaultValue:[]}},superTypes:[pa.$type]},ArrayType:{name:Or.$type,properties:{elementType:{name:Or.elementType}},superTypes:[na.$type]},Assignment:{name:Dr.$type,properties:{cardinality:{name:Dr.cardinality},feature:{name:Dr.feature},operator:{name:Dr.operator},predicate:{name:Dr.predicate},terminal:{name:Dr.terminal}},superTypes:[Rr.$type]},BooleanLiteral:{name:jr.$type,properties:{true:{name:jr.true,defaultValue:!1}},superTypes:[Kr.$type,pa.$type]},CharacterRange:{name:Gr.$type,properties:{cardinality:{name:Gr.cardinality},left:{name:Gr.left},lookahead:{name:Gr.lookahead},parenthesized:{name:Gr.parenthesized,defaultValue:!1},right:{name:Gr.right}},superTypes:[Bn.$type]},Condition:{name:Kr.$type,properties:{},superTypes:[]},Conjunction:{name:Ur.$type,properties:{left:{name:Ur.left},right:{name:Ur.right}},superTypes:[Kr.$type]},CrossReference:{name:Vr.$type,properties:{cardinality:{name:Vr.cardinality},deprecatedSyntax:{name:Vr.deprecatedSyntax,defaultValue:!1},isMulti:{name:Vr.isMulti,defaultValue:!1},terminal:{name:Vr.terminal},type:{name:Vr.type,referenceType:Sr.$type}},superTypes:[Rr.$type]},Disjunction:{name:Hr.$type,properties:{left:{name:Hr.left},right:{name:Hr.right}},superTypes:[Kr.$type]},EndOfFile:{name:Zr.$type,properties:{cardinality:{name:Zr.cardinality}},superTypes:[Rr.$type]},Grammar:{name:Jr.$type,properties:{imports:{name:Jr.imports,defaultValue:[]},interfaces:{name:Jr.interfaces,defaultValue:[]},isDeclared:{name:Jr.isDeclared,defaultValue:!1},name:{name:Jr.name},rules:{name:Jr.rules,defaultValue:[]},types:{name:Jr.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:en.$type,properties:{path:{name:en.path}},superTypes:[]},Group:{name:rn.$type,properties:{cardinality:{name:rn.cardinality},elements:{name:rn.elements,defaultValue:[]},guardCondition:{name:rn.guardCondition},predicate:{name:rn.predicate}},superTypes:[Rr.$type]},InferredType:{name:an.$type,properties:{name:{name:an.name}},superTypes:[Sr.$type]},InfixRule:{name:on.$type,properties:{call:{name:on.call},dataType:{name:on.dataType},inferredType:{name:on.inferredType},name:{name:on.name},operators:{name:on.operators},parameters:{name:on.parameters,defaultValue:[]},returnType:{name:on.returnType,referenceType:Sr.$type}},superTypes:[Er.$type]},InfixRuleOperatorList:{name:un.$type,properties:{associativity:{name:un.associativity},operators:{name:un.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:pn.$type,properties:{precedences:{name:pn.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:fn.$type,properties:{attributes:{name:fn.attributes,defaultValue:[]},name:{name:fn.name},superTypes:{name:fn.superTypes,defaultValue:[],referenceType:Sr.$type}},superTypes:[Sr.$type]},Keyword:{name:hn.$type,properties:{cardinality:{name:hn.cardinality},predicate:{name:hn.predicate},value:{name:hn.value}},superTypes:[Rr.$type]},NamedArgument:{name:gn.$type,properties:{calledByName:{name:gn.calledByName,defaultValue:!1},parameter:{name:gn.parameter,referenceType:Cn.$type},value:{name:gn.value}},superTypes:[]},NegatedToken:{name:Tn.$type,properties:{cardinality:{name:Tn.cardinality},lookahead:{name:Tn.lookahead},parenthesized:{name:Tn.parenthesized,defaultValue:!1},terminal:{name:Tn.terminal}},superTypes:[Bn.$type]},Negation:{name:$n.$type,properties:{value:{name:$n.value}},superTypes:[Kr.$type]},NumberLiteral:{name:An.$type,properties:{value:{name:An.value}},superTypes:[pa.$type]},Parameter:{name:Cn.$type,properties:{name:{name:Cn.name}},superTypes:[]},ParameterReference:{name:kn.$type,properties:{parameter:{name:kn.parameter,referenceType:Cn.$type}},superTypes:[Kr.$type]},ParserRule:{name:wn.$type,properties:{dataType:{name:wn.dataType},definition:{name:wn.definition},entry:{name:wn.entry,defaultValue:!1},fragment:{name:wn.fragment,defaultValue:!1},inferredType:{name:wn.inferredType},name:{name:wn.name},parameters:{name:wn.parameters,defaultValue:[]},returnType:{name:wn.returnType,referenceType:Sr.$type}},superTypes:[Er.$type]},ReferenceType:{name:In.$type,properties:{isMulti:{name:In.isMulti,defaultValue:!1},referenceType:{name:In.referenceType}},superTypes:[na.$type]},RegexToken:{name:Pn.$type,properties:{cardinality:{name:Pn.cardinality},lookahead:{name:Pn.lookahead},parenthesized:{name:Pn.parenthesized,defaultValue:!1},regex:{name:Pn.regex}},superTypes:[Bn.$type]},ReturnType:{name:Ln.$type,properties:{name:{name:Ln.name}},superTypes:[]},RuleCall:{name:Mn.$type,properties:{arguments:{name:Mn.arguments,defaultValue:[]},cardinality:{name:Mn.cardinality},predicate:{name:Mn.predicate},rule:{name:Mn.rule,referenceType:br.$type}},superTypes:[Rr.$type]},SimpleType:{name:Fn.$type,properties:{primitiveType:{name:Fn.primitiveType},stringType:{name:Fn.stringType},typeRef:{name:Fn.typeRef,referenceType:Sr.$type}},superTypes:[na.$type]},StringLiteral:{name:zn.$type,properties:{value:{name:zn.value}},superTypes:[pa.$type]},TerminalAlternatives:{name:qn.$type,properties:{cardinality:{name:qn.cardinality},elements:{name:qn.elements,defaultValue:[]},lookahead:{name:qn.lookahead},parenthesized:{name:qn.parenthesized,defaultValue:!1}},superTypes:[Bn.$type]},TerminalElement:{name:Bn.$type,properties:{cardinality:{name:Bn.cardinality},lookahead:{name:Bn.lookahead},parenthesized:{name:Bn.parenthesized,defaultValue:!1}},superTypes:[Rr.$type]},TerminalGroup:{name:Wn.$type,properties:{cardinality:{name:Wn.cardinality},elements:{name:Wn.elements,defaultValue:[]},lookahead:{name:Wn.lookahead},parenthesized:{name:Wn.parenthesized,defaultValue:!1}},superTypes:[Bn.$type]},TerminalRule:{name:Yn.$type,properties:{definition:{name:Yn.definition},fragment:{name:Yn.fragment,defaultValue:!1},hidden:{name:Yn.hidden,defaultValue:!1},name:{name:Yn.name},type:{name:Yn.type}},superTypes:[br.$type]},TerminalRuleCall:{name:Xn.$type,properties:{cardinality:{name:Xn.cardinality},lookahead:{name:Xn.lookahead},parenthesized:{name:Xn.parenthesized,defaultValue:!1},rule:{name:Xn.rule,referenceType:Yn.$type}},superTypes:[Bn.$type]},Type:{name:Qn.$type,properties:{name:{name:Qn.name},type:{name:Qn.type}},superTypes:[Sr.$type]},TypeAttribute:{name:ta.$type,properties:{defaultValue:{name:ta.defaultValue},isOptional:{name:ta.isOptional,defaultValue:!1},name:{name:ta.name},type:{name:ta.type}},superTypes:[]},TypeDefinition:{name:na.$type,properties:{},superTypes:[]},UnionType:{name:ia.$type,properties:{types:{name:ia.types,defaultValue:[]}},superTypes:[na.$type]},UnorderedGroup:{name:oa.$type,properties:{cardinality:{name:oa.cardinality},elements:{name:oa.elements,defaultValue:[]}},superTypes:[Rr.$type]},UntilToken:{name:ua.$type,properties:{cardinality:{name:ua.cardinality},lookahead:{name:ua.lookahead},parenthesized:{name:ua.parenthesized,defaultValue:!1},terminal:{name:ua.terminal}},superTypes:[Bn.$type]},ValueLiteral:{name:pa.$type,properties:{},superTypes:[]},Wildcard:{name:fa.$type,properties:{cardinality:{name:fa.cardinality},lookahead:{name:fa.lookahead},parenthesized:{name:fa.parenthesized,defaultValue:!1}},superTypes:[Bn.$type]}}}},ga=new ya;function va(e){let t=e,r=!1;for(;t;){var n=ir(t.grammarSource,Nn);if(!n||!n.dataType)return r?t:void 0;t=t.container,r=!0}}function Ta(e){return new rr(e,e=>Vt(e)?e.content:[],{includeRoot:!0})}function Ra(e){return Ta(e).filter(Wt)}function $a(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function Ea(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function Aa(e){var t,r;if(e)return({offset:e,end:t,range:r}=e),{range:r,offset:e,end:t,length:t-e}}function ba(e,t){var r;return e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character?ha.Before:e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character?ha.After:(r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,e=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character,r&&e?ha.Inside:r?ha.OverlapBack:e?ha.OverlapFront:ha.Outside)}function Ca(e,t){return ba(e,t)>ha.After}Fe(va,"getDatatypeNode"),Fe(Ta,"streamCst"),Fe(Ra,"flattenCst"),Fe($a,"isChildNode"),Fe(Ea,"tokenToRange"),Fe(Aa,"toDocumentSegment"),(e=>{e[e.Before=0]="Before",e[e.After=1]="After",e[e.OverlapFront=2]="OverlapFront",e[e.OverlapBack=3]="OverlapBack",e[e.Inside=4]="Inside",e[e.Outside=5]="Outside"})(ha=ha||{}),Fe(ba,"compareRange"),Fe(Ca,"inRange");var Sa=/^[\w\p{L}]$/u;function ka(e,t,r=Sa){var n;if(e)return 0<t&&(n=t-e.offset,n=e.text.charAt(n),r.test(n)||t--),Na(e,t)}function xa(e,t){if(e){var r=Pa(e,!0);if(r&&wa(r,t))return r;if(Ht(e))for(let r=e.content.findIndex(e=>!e.hidden)-1;0<=r;r--){var n=e.content[r];if(wa(n,t))return n}}}function wa(e,t){return Wt(e)&&t.includes(e.tokenType.name)}function Na(e,t){return Wt(e)?e:Vt(e)&&(e=_a(e,t,!1))?Na(e,t):void 0}function Ia(e,t){return Wt(e)?e:Vt(e)&&(e=_a(e,t,!0))?Ia(e,t):void 0}function _a(e,t,r){let n,a=0,i=e.content.length-1;for(;a<=i;){var s=Math.floor((a+i)/2),o=e.content[s];if(o.offset<=t&&o.end>t)return o;o.end<=t?(n=r?o:void 0,a=s+1):i=s-1}return n}function Pa(e,t=!0){for(;e.container;){var r=e.container;let a=r.content.indexOf(e);for(;0<a;){a--;var n=r.content[a];if(t||!n.hidden)return n}e=r}}function Oa(e,t=!0){for(;e.container;){var r=e.container;let i=r.content.indexOf(e);for(var n=r.content.length-1;i<n;){i++;var a=r.content[i];if(t||!a.hidden)return a}e=r}}function La(e){if(0===e.range.start.character)return e;var t=e.range.start.line;let r,n=e;for(;e.container;){var a=e.container,i=r??a.content.indexOf(e);if(0===i?(e=a,r=void 0):(r=i-1,e=a.content[r]),e.range.start.line!==t)break;n=e}return n}function Da(e,t){return(e=Ma(e,t))?e.parent.content.slice(e.a+1,e.b):[]}function Ma(e,t){var r=ja(e),n=ja(t);let a;for(let e=0;e<r.length&&e<n.length;e++){var i=r[e],s=n[e];if(i.parent!==s.parent)break;a={parent:i.parent,a:i.index,b:s.index}}return a}function ja(e){for(var t=[];e.container;){var r=e.container,n=r.content.indexOf(e);t.push({parent:r,index:n}),e=r}return t.reverse()}Fe(ka,"findDeclarationNodeAtOffset"),Fe(xa,"findCommentNode"),Fe(wa,"isCommentNode"),Fe(Na,"findLeafNodeAtOffset"),Fe(Ia,"findLeafNodeBeforeOffset"),Fe(_a,"binarySearch"),Fe(Pa,"getPreviousNode"),Fe(Oa,"getNextNode"),Fe(La,"getStartlineNode"),Fe(Da,"getInteriorNodes"),Fe(Ma,"getCommonParent"),Fe(ja,"getParentChain");var Fa={},Ga=(ze(Fa,{findAssignment:()=>xi,findNameAssignment:()=>wi,findNodeForKeyword:()=>Si,findNodeForProperty:()=>Ai,findNodesForKeyword:()=>Ci,findNodesForKeywordInternal:()=>ki,findNodesForProperty:()=>Ei,getActionAtElement:()=>Ii,getActionType:()=>zi,getAllReachableRules:()=>gi,getAllRulesUsedForCrossReferences:()=>Ti,getCrossReferenceTerminal:()=>Ri,getEntryRule:()=>hi,getExplicitRuleType:()=>Fi,getHiddenRules:()=>yi,getRuleType:()=>qi,getRuleTypeName:()=>Ki,getTypeName:()=>Gi,isArrayCardinality:()=>Pi,isArrayOperator:()=>Oi,isCommentTerminal:()=>$i,isDataType:()=>Mi,isDataTypeRule:()=>Li,isOptionalCardinality:()=>_i,terminalRegex:()=>Ui}),class extends Error{static{Fe(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:`+e.range.start.character:t)}});function za(e,t="Error: Got unexpected value."){throw new Error(t)}function Ka(e,t="Error: Condition is violated."){if(!e)throw new Error(t)}Fe(za,"assertUnreachable"),Fe(Ka,"assertCondition");var qa={};function Ua(e){return e.charCodeAt(0)}function Ba(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function Va(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t]=!0}function Wa(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function Ha(){throw Error("Internal Error - Should never get here!")}function Ya(e){return"Character"===e.type}ze(qa,{NEWLINE_REGEXP:()=>ai,escapeRegExp:()=>di,getTerminalParts:()=>li,isMultilineComment:()=>ui,isWhitespace:()=>pi,partialMatches:()=>fi,partialRegExp:()=>mi,whitespaceCharacters:()=>ci}),Fe(Ua,"cc"),Fe(Ba,"insertToSet"),Fe(Va,"addFlag"),Fe(Wa,"ASSERT_EXISTS"),Fe(Ha,"ASSERT_NEVER_REACH_HERE"),Fe(Ya,"isCharacter");var Za=[];for(let e=Ua("0");e<=Ua("9");e++)Za.push(e);var Xa=[Ua("_")].concat(Za);for(let e=Ua("a");e<=Ua("z");e++)Xa.push(e);for(let e=Ua("A");e<=Ua("Z");e++)Xa.push(e);var Ja=[Ua(" "),Ua("\f"),Ua("\n"),Ua("\r"),Ua("\t"),Ua("\v"),Ua("\t"),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua(" "),Ua("\u2028"),Ua("\u2029"),Ua(" "),Ua(" "),Ua(" "),Ua("\ufeff")],Qa=/[0-9a-fA-F]/,ei=/[0-9]/,ti=/[1-9]/,ri=class{static{Fe(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");for(var t=this.disjunction(),r=(this.consumeChar("/"),{type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1});this.isRegExpFlag();)switch(this.popChar()){case"g":Va(r,"global");break;case"i":Va(r,"ignoreCase");break;case"m":Va(r,"multiLine");break;case"u":Va(r,"unicode");break;case"y":Va(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){var 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(){for(var e=[],t=this.idx;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){var e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let r;switch(this.consumeChar("?"),this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}}Wa(r);var t=this.disjunction();return this.consumeChar(")"),{type:r,value:t,loc:this.loc(e)}}return Ha()}quantifier(e=!1){let t;var 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"{":var n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;Wa(t)}return!0===e&&void 0===t||!Wa(t)?void 0:("?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t)}atom(){let e;var t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}if(Wa(e=void 0===e&&this.isPatternCharacter()?this.patternCharacter():e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Ua("\n"),Ua("\r"),Ua("\u2028"),Ua("\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=Za;break;case"D":e=Za,t=!0;break;case"s":e=Ja;break;case"S":e=Ja,t=!0;break;case"w":e=Xa;break;case"W":e=Xa,t=!0}if(Wa(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Ua("\f");break;case"n":e=Ua("\n");break;case"r":e=Ua("\r");break;case"t":e=Ua("\t");break;case"v":e=Ua("\v")}if(Wa(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");var e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:Ua("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:Ua(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:Ua(this.popChar())}}}characterClass(){var e=[];let t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){var r=this.classAtom();if(r.type,Ya(r)&&this.isRangeDash()){this.consumeChar("-");var n=this.classAtom();if(n.type,Ya(n)){if(n.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:n.value})}else Ba(r.value,e),e.push(Ua("-")),Ba(n.value,e)}else Ba(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:Ua("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;var t=this.disjunction();this.consumeChar(")"),t={type:"Group",capturing:e,value:t};return e&&(t.idx=this.groupIdx),t}positiveInteger(){let e=this.popChar();if(!1===ti.test(e))throw Error("Expecting a positive integer");for(;ei.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===ei.test(e))throw Error("Expecting an integer");for(;ei.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){var e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:Ua(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 ei.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2)||"<"===this.peekChar(2)&&("="===this.peekChar(3)||"!"===this.peekChar(3)));default:return!1}}isQuantifier(){var e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let n=0;n<e;n++){var r=this.popChar();if(!1===Qa.test(r))throw Error("Expecting a HexDecimal digits");t+=r}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){var e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}},ni=class{static{Fe(this,"BaseRegExpVisitor")}visitChildren(e){for(var t in e){var r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},ai=/\r?\n/gm,ii=new ri,si=class extends ni{static{Fe(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){var t=String.fromCharCode(e.value);this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(e=di(t),this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e))}visitSet(e){var t;this.multiline||(t=this.regex.substring(e.loc.begin,e.loc.end),t=new RegExp(t),this.multiline=Boolean("\n".match(t))),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(t=this.regex.substring(e.loc.begin,e.loc.end),this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t))}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}},oi=new si;function li(e){try{e=`/${e="string"!=typeof e?e.source:e}/`;var t,r=ii.pattern(e),n=[];for(t of r.value.value)oi.reset(e),oi.visit(t),n.push({start:oi.startRegexp,end:oi.endRegex});return n}catch{return[]}}function ui(e){try{return e=(e="string"==typeof e?new RegExp(e):e).toString(),oi.reset(e),oi.visit(ii.pattern(e)),oi.multiline}catch{return!1}}Fe(li,"getTerminalParts"),Fe(ui,"isMultilineComment");var ci="\f\n\r\t\v              \u2028\u2029   \ufeff".split("");function pi(e){let t="string"==typeof e?new RegExp(e):e;return ci.some(e=>t.test(e))}function di(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fi(e,t){return e=mi(e),!!(t=t.match(e))&&0<t[0].length}function mi(e){let t=e="string"==typeof e?new RegExp(e):e,r=e.source,n=0;function a(){let e,i="";function s(e){i+=r.substr(n,e),n+=e}function o(e){i+="(?:"+r.substr(n,e)+"|$)",n+=e}for(Fe(s,"appendRaw"),Fe(o,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":t.unicode?"{"===r[n+2]?o(r.indexOf("}",n)-n+1):o(6):o(2);break;case"p":case"P":t.unicode?o(r.indexOf("}",n)-n+1):o(2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(e=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((e=e.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(e=/\{\d+,?\d*\}/g).lastIndex=n,(e=e.exec(r))?s(e[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":i+="(?:",n+=3,i+=a()+"|$)";break;case"=":i+="(?=",n+=3,i+=a()+")";break;case"!":e=n,n+=3,a(),i+=r.substr(e,n-e);break;case"<":switch(r[n+3]){case"=":case"!":e=n,n+=4,a(),i+=r.substr(e,n-e);break;default:s(r.indexOf(">",n)-n+1),i+=a()+"|$)"}}else s(1),i+=a()+"|$)";break;case")":return++n,i;default:o(1)}return i}return Fe(a,"process"),new RegExp(a(),e.flags)}function hi(e){return e.rules.find(e=>Nn(e)&&e.entry)}function yi(e){return e.rules.filter(e=>Zn(e)&&e.hidden)}function gi(e,t){var r,n=new Set,a=hi(e);if(!a)return new Set(e.rules);for(r of[a].concat(yi(e)))vi(r,n,t);var i,s=new Set;for(i of e.rules)(n.has(i.name)||Zn(i)&&i.hidden)&&s.add(i);return s}function vi(e,t,r){t.add(e.name),pr(e).forEach(e=>{(jn(e)||r&&Jn(e))&&(e=e.rule.ref)&&!t.has(e.name)&&vi(e,t,r)})}function Ti(e){let t=new Set;return pr(e).forEach(e=>{Wr(e)&&(Nn(e.type.ref)&&t.add(e.type.ref),sn(e.type.ref))&&Nn(e.type.ref.$container)&&t.add(e.type.ref.$container)}),t}function Ri(e){return e.terminal||(e.type.ref?wi(e.type.ref)?.terminal:void 0)}function $i(e){return e.hidden&&!pi(Ui(e))}function Ei(e,t){return e&&t?bi(e,t,e.astNode,!0):[]}function Ai(e,t,r){if(e&&t&&0!==(t=bi(e,t,e.astNode,!0)).length)return t[r=void 0!==r?Math.max(0,Math.min(r,t.length-1)):0]}function bi(e,t,r,n){return!n&&(n=ir(e.grammarSource,Mr))&&n.feature===t?[e]:Vt(e)&&e.astNode===r?e.content.flatMap(e=>bi(e,t,r,!1)):[]}function Ci(e,t){return e?ki(e,t,e?.astNode):[]}function Si(e,t,r){if(e&&0!==(t=ki(e,t,e?.astNode)).length)return t[r=void 0!==r?Math.max(0,Math.min(r,t.length-1)):0]}function ki(e,t,r){if(e.astNode!==r)return[];if(yn(e.grammarSource)&&e.grammarSource.value===t)return[e];var n,a,i=Ta(e).iterator(),s=[];do{(a=i.next()).done||((n=a.value).astNode===r?yn(n.grammarSource)&&n.grammarSource.value===t&&s.push(n):i.prune())}while(!a.done);return s}function xi(e){for(var t=e.astNode;t===e.container?.astNode;){var r=ir(e.grammarSource,Mr);if(r)return r;e=e.container}}function wi(e){let t=e;return sn(t)&&(wr(t.$container)?t=t.$container.$container:Ar(t.$container)?t=t.$container:za(t.$container)),Ni(e,t,new Map)}function Ni(e,t,r){function n(t,n){let a;return ir(t,Mr)||(a=Ni(n,n,r)),r.set(e,a),a}if(Fe(n,"go"),r.has(e))return r.get(e);for(var a of(r.set(e,void 0),pr(t))){if(Mr(a)&&"name"===a.feature.toLowerCase())return r.set(e,a),a;if(jn(a)&&Nn(a.rule.ref))return n(a,a.rule.ref);if(Gn(a)&&a.typeRef?.ref)return n(a,a.typeRef.ref)}}function Ii(e){var t=e.$container;if(nn(t)){var r=t.elements;for(let t=r.indexOf(e)-1;0<=t;t--){var n=r[t];if(wr(n))return n;if(n=pr(r[t]).find(wr))return n}}if($r(t))return Ii(t)}function _i(e,t){return"?"===e||"*"===e||nn(t)&&Boolean(t.guardCondition)}function Pi(e){return"*"===e||"+"===e}function Oi(e){return"+="===e}function Li(e){return Di(e,new Set)}function Di(e,t){if(t.has(e))return!0;for(var r of(t.add(e),pr(e)))if(jn(r)){if(!r.rule.ref)return!1;if(Nn(r.rule.ref)&&!Di(r.rule.ref,t))return!1;if(ln(r.rule.ref))return!1}else{if(Mr(r))return!1;if(wr(r))return!1}return Boolean(e.definition)}function Mi(e){return ji(e.type,new Set)}function ji(e,t){return!!t.has(e)||(t.add(e),!Lr(e)&&!_n(e)&&(sa(e)?e.types.every(e=>ji(e,t)):!!Gn(e)&&(void 0!==e.primitiveType||void 0!==e.stringType||void 0!==e.typeRef&&!!ea(e=e.typeRef.ref)&&ji(e.type,t))))}function Fi(e){if(!Zn(e)){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType&&(e=e.returnType.ref))return e.name}}function Gi(e){if(Ar(e))return Nn(e)&&Li(e)?e.name:Fi(e)??e.name;if(mn(e)||ea(e)||Dn(e))return e.name;if(wr(e)){var t=zi(e);if(t)return t}else if(sn(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function zi(e){return e.inferredType?e.inferredType.name:e.type?.ref?Gi(e.type.ref):void 0}function Ki(e){return Zn(e)?e.type?.name??"string":Nn(e)&&Li(e)?e.name:Fi(e)??e.name}function qi(e){return Zn(e)?e.type?.name??"string":Fi(e)??e.name}function Ui(e){var t={s:!1,i:!1,u:!1};e=Vi(e.definition,t),t=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join("");return new RegExp(e,t)}Fe(pi,"isWhitespace"),Fe(di,"escapeRegExp"),Fe(fi,"partialMatches"),Fe(mi,"partialRegExp"),Fe(hi,"getEntryRule"),Fe(yi,"getHiddenRules"),Fe(gi,"getAllReachableRules"),Fe(vi,"ruleDfs"),Fe(Ti,"getAllRulesUsedForCrossReferences"),Fe(Ri,"getCrossReferenceTerminal"),Fe($i,"isCommentTerminal"),Fe(Ei,"findNodesForProperty"),Fe(Ai,"findNodeForProperty"),Fe(bi,"findNodesForPropertyInternal"),Fe(Ci,"findNodesForKeyword"),Fe(Si,"findNodeForKeyword"),Fe(ki,"findNodesForKeywordInternal"),Fe(xi,"findAssignment"),Fe(wi,"findNameAssignment"),Fe(Ni,"findNameAssignmentInternal"),Fe(Ii,"getActionAtElement"),Fe(_i,"isOptionalCardinality"),Fe(Pi,"isArrayCardinality"),Fe(Oi,"isArrayOperator"),Fe(Li,"isDataTypeRule"),Fe(Di,"isDataTypeRuleInternal"),Fe(Mi,"isDataType"),Fe(ji,"isDataTypeInternal"),Fe(Fi,"getExplicitRuleType"),Fe(Gi,"getTypeName"),Fe(zi,"getActionType"),Fe(Ki,"getRuleTypeName"),Fe(qi,"getRuleType"),Fe(Ui,"terminalRegex");var Bi=/[\s\S]/.source;function Vi(e,t){if(Un(e))return Wi(e);if(Hn(e))return Hi(e);if(zr(e))return Xi(e);if(Jn(e)){var r=e.rule.ref;if(r)return Qi(Vi(r.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});throw new Error("Missing rule reference.")}if(Rn(e))return Zi(e);if(ca(e))return Yi(e);var n;if(On(e))return r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),r=e.regex.substring(r+1),t&&(t.i=r.includes("i"),t.s=r.includes("s"),t.u=r.includes("u")),Qi(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1});if(ma(e))return Qi(Bi,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});throw new Error(`Invalid terminal element: ${e?.$type}, `+e?.$cstNode?.text)}function Wi(e){return Qi(e.elements.map(e=>Vi(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function Hi(e){return Qi(e.elements.map(e=>Vi(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function Yi(e){return Qi(Bi+"*?"+Vi(e.terminal),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function Zi(e){return Qi(`(?!${Vi(e.terminal)})${Bi}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function Xi(e){return e.right?Qi(`[${Ji(e.left)}-${Ji(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):Qi(Ji(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function Ji(e){return di(e.value)}function Qi(e,t){return(t.parenthesized||t.lookahead||!1!==t.wrap)&&(e=`(${t.lookahead??(t.parenthesized?"":"?:")}${e})`),t.cardinality?""+e+t.cardinality:e}function es(e){var t,r=[];for(t of e.Grammar.rules)Zn(t)&&$i(t)&&ui(Ui(t))&&r.push(t.name);return{multilineCommentRules:r,nameRegexp:Sa}}Fe(Vi,"abstractElementToRegex"),Fe(Wi,"terminalAlternativesToRegex"),Fe(Hi,"terminalGroupToRegex"),Fe(Yi,"untilTokenToRegex"),Fe(Zi,"negateTokenToRegex"),Fe(Xi,"characterRangeToRegex"),Fe(Ji,"keywordToRegex"),Fe(Qi,"withCardinality"),Fe(es,"createGrammarConfig");var ts="object"==typeof global&&global&&global.Object===Object&&global,rs="object"==typeof self&&self&&self.Object===Object&&self,ns=ts||rs||Function("return this")(),as=ns.Symbol,is=Object.prototype,ss=is.hasOwnProperty,os=is.toString,ls=as?as.toStringTag:void 0;function us(e){var t=ss.call(e,ls),r=e[ls];try{var n=!(e[ls]=void 0)}catch(e){}var a=os.call(e);return n&&(t?e[ls]=r:delete e[ls]),a}Fe(us,"getRawTag");var cs=us,ps=Object.prototype.toString;function ds(e){return ps.call(e)}Fe(ds,"objectToString");var fs=ds,ms=as?as.toStringTag:void 0;function hs(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(ms&&ms in Object(e)?cs:fs)(e)}Fe(hs,"baseGetTag");var ys=hs;function gs(e){return null!=e&&"object"==typeof e}Fe(gs,"isObjectLike");var vs=gs;function Ts(e){return"symbol"==typeof e||vs(e)&&"[object Symbol]"==ys(e)}Fe(Ts,"isSymbol");var Rs=Ts;function $s(e,t){for(var r=-1,n=null==e?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}Fe($s,"arrayMap");var Es=$s,As=Array.isArray,bs=as?as.prototype:void 0,Cs=bs?bs.toString:void 0;function Ss(e){var t;return"string"==typeof e?e:As(e)?Es(e,Ss)+"":Rs(e)?Cs?Cs.call(e):"":"0"==(t=e+"")&&1/e==-1/0?"-0":t}Fe(Ss,"baseToString");var ks=Ss,xs=/\s/;function ws(e){for(var t=e.length;t--&&xs.test(e.charAt(t)););return t}Fe(ws,"trimmedEndIndex");var Ns=ws,Is=/^\s+/;function _s(e){return e&&e.slice(0,Ns(e)+1).replace(Is,"")}Fe(_s,"baseTrim");var Ps=_s;function Os(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}Fe(Os,"isObject");var Ls=Os,Ds=/^[-+]0x[0-9a-f]+$/i,Ms=/^0b[01]+$/i,js=/^0o[0-7]+$/i,Fs=parseInt;function Gs(e){if("number"==typeof e)return e;if(Rs(e))return NaN;if(Ls(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=Ls(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=Ps(e);var t=Ms.test(e);return t||js.test(e)?Fs(e.slice(2),t?2:8):Ds.test(e)?NaN:+e}Fe(Gs,"toNumber");var zs=Gs,Ks=1/0;function qs(e){return e?(e=zs(e))===Ks||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}Fe(qs,"toFinite");var Us=qs;function Bs(e){var t=(e=Us(e))%1;return e==e?t?e-t:e:0}Fe(Bs,"toInteger");var Vs=Bs;function Ws(e){return e}Fe(Ws,"identity");var Hs=Ws;function Ys(e){return!!Ls(e)&&("[object Function]"==(e=ys(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}Fe(Ys,"isFunction");var Zs=Ys,Xs=ns["__core-js_shared__"],Js=(()=>{var e=/[^.]+$/.exec(Xs&&Xs.keys&&Xs.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Qs(e){return!!Js&&Js in e}Fe(Qs,"isMasked");var eo=Qs,to=Function.prototype.toString;function ro(e){if(null!=e){try{return to.call(e)}catch(e){}try{return e+""}catch(e){}}return""}Fe(ro,"toSource");var no=ro,ao=/^\[object .+?Constructor\]$/,io=Function.prototype,so=Object.prototype,oo=io.toString,lo=so.hasOwnProperty,uo=RegExp("^"+oo.call(lo).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function co(e){return!(!Ls(e)||eo(e))&&(Zs(e)?uo:ao).test(no(e))}Fe(co,"baseIsNative");var po=co;function fo(e,t){return null==e?void 0:e[t]}Fe(fo,"getValue");var mo=fo;function ho(e,t){return e=mo(e,t),po(e)?e:void 0}Fe(ho,"getNative");var yo=ho,go=yo(ns,"WeakMap"),vo=Object.create,To=(()=>{function e(){}return Fe(e,"object"),function(t){return Ls(t)?vo?vo(t):(e.prototype=t,t=new e,e.prototype=void 0,t):{}}})(),Ro=To;function $o(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}Fe($o,"apply");var Eo=$o;function Ao(){}Fe(Ao,"noop");var bo=Ao;function Co(e,t){var r=-1,n=e.length;for(t=t||Array(n);++r<n;)t[r]=e[r];return t}Fe(Co,"copyArray");var So=Co,ko=Date.now;function xo(e){var t=0,r=0;return function(){var n=ko(),a=16-(n-r);if(r=n,0<a){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}Fe(xo,"shortOut");var wo=xo;function No(e){return function(){return e}}Fe(No,"constant");var Io=No,_o=(()=>{try{var e=yo(Object,"defineProperty");return e({},"",{}),e}catch(e){}})(),Po=_o,Oo=Po?function(e,t){return Po(e,"toString",{configurable:!0,enumerable:!1,value:Io(t),writable:!0})}:Hs,Lo=wo(Oo);function Do(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}Fe(Do,"arrayEach");var Mo=Do;function jo(e,t,r,n){for(var a=e.length,i=r+(n?1:-1);n?i--:++i<a;)if(t(e[i],i,e))return i;return-1}Fe(jo,"baseFindIndex");var Fo=jo;function Go(e){return e!=e}Fe(Go,"baseIsNaN");var zo=Go;function Ko(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}Fe(Ko,"strictIndexOf");var qo=Ko;function Uo(e,t,r){return t==t?qo(e,t,r):Fo(e,zo,r)}Fe(Uo,"baseIndexOf");var Bo=Uo;function Vo(e,t){return!(null==e||!e.length)&&-1<Bo(e,t,0)}Fe(Vo,"arrayIncludes");var Wo=Vo,Ho=/^(?:0|[1-9]\d*)$/;function Yo(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&Ho.test(e))&&-1<e&&e%1==0&&e<t}Fe(Yo,"isIndex");var Zo=Yo;function Xo(e,t,r){"__proto__"==t&&Po?Po(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}Fe(Xo,"baseAssignValue");var Jo=Xo;function Qo(e,t){return e===t||e!=e&&t!=t}Fe(Qo,"eq");var el=Qo,tl=Object.prototype.hasOwnProperty;function rl(e,t,r){var n=e[t];tl.call(e,t)&&el(n,r)&&(void 0!==r||t in e)||Jo(e,t,r)}Fe(rl,"assignValue");var nl=rl;function al(e,t,r,n){for(var a=!r,i=(r=r||{},-1),s=t.length;++i<s;){var o=t[i],l=n?n(r[o],e[o],o,r,e):void 0;void 0===l&&(l=e[o]),(a?Jo:nl)(r,o,l)}return r}Fe(al,"copyObject");var il=al,sl=Math.max;function ol(e,t,r){return t=sl(void 0===t?e.length-1:t,0),function(){for(var n=arguments,a=-1,i=sl(n.length-t,0),s=Array(i);++a<i;)s[a]=n[t+a];a=-1;for(var o=Array(t+1);++a<t;)o[a]=n[a];return o[t]=r(s),Eo(e,this,o)}}Fe(ol,"overRest");var ll=ol;function ul(e,t){return Lo(ll(e,t,Hs),e+"")}Fe(ul,"baseRest");var cl=ul;function pl(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=9007199254740991}Fe(pl,"isLength");var dl=pl;function fl(e){return null!=e&&dl(e.length)&&!Zs(e)}Fe(fl,"isArrayLike");var ml=fl;function hl(e,t,r){var n;return!!Ls(r)&&!!("number"==(n=typeof t)?ml(r)&&Zo(t,r.length):"string"==n&&t in r)&&el(r[t],e)}Fe(hl,"isIterateeCall");var yl=hl;function gl(e){return cl(function(t,r){var n=-1,a=r.length,i=1<a?r[a-1]:void 0,s=2<a?r[2]:void 0;i=3<e.length&&"function"==typeof i?(a--,i):void 0;for(s&&yl(r[0],r[1],s)&&(i=a<3?void 0:i,a=1),t=Object(t);++n<a;){var o=r[n];o&&e(t,o,n,i)}return t})}Fe(gl,"createAssigner");var vl=gl,Tl=Object.prototype;function Rl(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Tl)}Fe(Rl,"isPrototype");var $l=Rl;function El(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}Fe(El,"baseTimes");var Al=El;function bl(e){return vs(e)&&"[object Arguments]"==ys(e)}Fe(bl,"baseIsArguments");var Cl=bl,Sl=Object.prototype,kl=Sl.hasOwnProperty,xl=Sl.propertyIsEnumerable,wl=Cl(function(){return arguments}())?Cl:function(e){return vs(e)&&kl.call(e,"callee")&&!xl.call(e,"callee")},Nl=wl;function Il(){return!1}Fe(Il,"stubFalse");var _l=Il,Pl="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ol=Pl&&"object"==typeof module&&module&&!module.nodeType&&module,Ll=Ol&&Ol.exports===Pl?ns.Buffer:void 0,Dl=(Ll?Ll.isBuffer:void 0)||_l,Ml={};function jl(e){return vs(e)&&dl(e.length)&&!!Ml[ys(e)]}Ml["[object Float32Array]"]=Ml["[object Float64Array]"]=Ml["[object Int8Array]"]=Ml["[object Int16Array]"]=Ml["[object Int32Array]"]=Ml["[object Uint8Array]"]=Ml["[object Uint8ClampedArray]"]=Ml["[object Uint16Array]"]=Ml["[object Uint32Array]"]=!0,Ml["[object Arguments]"]=Ml["[object Array]"]=Ml["[object ArrayBuffer]"]=Ml["[object Boolean]"]=Ml["[object DataView]"]=Ml["[object Date]"]=Ml["[object Error]"]=Ml["[object Function]"]=Ml["[object Map]"]=Ml["[object Number]"]=Ml["[object Object]"]=Ml["[object RegExp]"]=Ml["[object Set]"]=Ml["[object String]"]=Ml["[object WeakMap]"]=!1,Fe(jl,"baseIsTypedArray");var Fl=jl;function Gl(e){return function(t){return e(t)}}Fe(Gl,"baseUnary");var zl=Gl,Kl="object"==typeof exports&&exports&&!exports.nodeType&&exports,ql=Kl&&"object"==typeof module&&module&&!module.nodeType&&module,Ul=ql&&ql.exports===Kl&&ts.process,Bl=(()=>{try{var e=ql&&ql.require&&ql.require("util").types;return e||Ul&&Ul.binding&&Ul.binding("util")}catch(e){}})(),Vl=Bl,Wl=Vl&&Vl.isTypedArray,Hl=Wl?zl(Wl):Fl,Yl=Object.prototype.hasOwnProperty;function Zl(e,t){var r,n=As(e),a=!n&&Nl(e),i=!n&&!a&&Dl(e),s=!n&&!a&&!i&&Hl(e),o=n||a||i||s,l=o?Al(e.length,String):[],u=l.length;for(r in e)!t&&!Yl.call(e,r)||o&&("length"==r||i&&("offset"==r||"parent"==r)||s&&("buffer"==r||"byteLength"==r||"byteOffset"==r)||Zo(r,u))||l.push(r);return l}Fe(Zl,"arrayLikeKeys");var Xl=Zl;function Jl(e,t){return function(r){return e(t(r))}}Fe(Jl,"overArg");var Ql=Jl,eu=Ql(Object.keys,Object),tu=Object.prototype.hasOwnProperty;function ru(e){if(!$l(e))return eu(e);var t,r=[];for(t in Object(e))tu.call(e,t)&&"constructor"!=t&&r.push(t);return r}Fe(ru,"baseKeys");var nu=ru;function au(e){return(ml(e)?Xl:nu)(e)}Fe(au,"keys");var iu=au,su=Object.prototype.hasOwnProperty,ou=vl(function(e,t){if($l(t)||ml(t))il(t,iu(t),e);else for(var r in t)su.call(t,r)&&nl(e,r,t[r])}),lu=ou;function uu(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}Fe(uu,"nativeKeysIn");var cu=uu,pu=Object.prototype.hasOwnProperty;function du(e){if(!Ls(e))return cu(e);var t,r=$l(e),n=[];for(t in e)("constructor"!=t||!r&&pu.call(e,t))&&n.push(t);return n}Fe(du,"baseKeysIn");var fu=du;function mu(e){return ml(e)?Xl(e,!0):fu(e)}Fe(mu,"keysIn");var hu=mu,yu=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,gu=/^\w*$/;function vu(e,t){var r;return!As(e)&&(!("number"!=(r=typeof e)&&"symbol"!=r&&"boolean"!=r&&null!=e&&!Rs(e))||gu.test(e)||!yu.test(e)||null!=t&&e in Object(t))}Fe(vu,"isKey");var Tu=vu,Ru=yo(Object,"create");function $u(){this.__data__=Ru?Ru(null):{},this.size=0}Fe($u,"hashClear");var Eu=$u;function Au(e){return e=this.has(e)&&delete this.__data__[e],this.size-=e?1:0,e}Fe(Au,"hashDelete");var bu=Au,Cu=Object.prototype.hasOwnProperty;function Su(e){var t,r=this.__data__;return Ru?"__lodash_hash_undefined__"===(t=r[e])?void 0:t:Cu.call(r,e)?r[e]:void 0}Fe(Su,"hashGet");var ku=Su,xu=Object.prototype.hasOwnProperty;function wu(e){var t=this.__data__;return Ru?void 0!==t[e]:xu.call(t,e)}Fe(wu,"hashHas");var Nu=wu;function Iu(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ru&&void 0===t?"__lodash_hash_undefined__":t,this}Fe(Iu,"hashSet");var _u=Iu;function Pu(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Fe(Pu,"Hash"),Pu.prototype.clear=Eu,Pu.prototype.delete=bu,Pu.prototype.get=ku,Pu.prototype.has=Nu,Pu.prototype.set=_u;var Ou=Pu;function Lu(){this.__data__=[],this.size=0}Fe(Lu,"listCacheClear");var Du=Lu;function Mu(e,t){for(var r=e.length;r--;)if(el(e[r][0],t))return r;return-1}Fe(Mu,"assocIndexOf");var ju=Mu,Fu=Array.prototype.splice;function Gu(e){var t=this.__data__;return!((e=ju(t,e))<0||(e==t.length-1?t.pop():Fu.call(t,e,1),--this.size,0))}Fe(Gu,"listCacheDelete");var zu=Gu;function Ku(e){var t=this.__data__;return(e=ju(t,e))<0?void 0:t[e][1]}Fe(Ku,"listCacheGet");var qu=Ku;function Uu(e){return-1<ju(this.__data__,e)}Fe(Uu,"listCacheHas");var Bu=Uu;function Vu(e,t){var r=this.__data__,n=ju(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}Fe(Vu,"listCacheSet");var Wu=Vu;function Hu(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Fe(Hu,"ListCache"),Hu.prototype.clear=Du,Hu.prototype.delete=zu,Hu.prototype.get=qu,Hu.prototype.has=Bu,Hu.prototype.set=Wu;var Yu=Hu,Zu=yo(ns,"Map");function Xu(){this.size=0,this.__data__={hash:new Ou,map:new(Zu||Yu),string:new Ou}}Fe(Xu,"mapCacheClear");var Ju=Xu;function Qu(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}Fe(Qu,"isKeyable");var ec=Qu;function tc(e,t){return e=e.__data__,ec(t)?e["string"==typeof t?"string":"hash"]:e.map}Fe(tc,"getMapData");var rc=tc;function nc(e){return e=rc(this,e).delete(e),this.size-=e?1:0,e}Fe(nc,"mapCacheDelete");var ac=nc;function ic(e){return rc(this,e).get(e)}Fe(ic,"mapCacheGet");var sc=ic;function oc(e){return rc(this,e).has(e)}Fe(oc,"mapCacheHas");var lc=oc;function uc(e,t){var r=rc(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}Fe(uc,"mapCacheSet");var cc=uc;function pc(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Fe(pc,"MapCache"),pc.prototype.clear=Ju,pc.prototype.delete=ac,pc.prototype.get=sc,pc.prototype.has=lc,pc.prototype.set=cc;var dc=pc;function fc(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=Fe(function(){var n=arguments,a=t?t.apply(this,n):n[0],i=r.cache;return i.has(a)?i.get(a):(n=e.apply(this,n),r.cache=i.set(a,n)||i,n)},"memoized");return r.cache=new(fc.Cache||dc),r}Fe(fc,"memoize"),fc.Cache=dc;var mc=fc;function hc(e){var t=(e=mc(e,function(e){return 500===t.size&&t.clear(),e})).cache;return e}Fe(hc,"memoizeCapped");var yc=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,gc=/\\(\\)?/g,vc=hc(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(yc,function(e,r,n,a){t.push(n?a.replace(gc,"$1"):r||e)}),t}),Tc=vc;function Rc(e){return null==e?"":ks(e)}Fe(Rc,"toString");var $c=Rc;function Ec(e,t){return As(e)?e:Tu(e,t)?[e]:Tc($c(e))}Fe(Ec,"castPath");var Ac=Ec;function bc(e){var t;return"string"==typeof e||Rs(e)?e:"0"==(t=e+"")&&1/e==-1/0?"-0":t}Fe(bc,"toKey");var Cc=bc;function Sc(e,t){for(var r=0,n=(t=Ac(t,e)).length;null!=e&&r<n;)e=e[Cc(t[r++])];return r&&r==n?e:void 0}Fe(Sc,"baseGet");var kc=Sc;function xc(e,t,r){return void 0===(e=null==e?void 0:kc(e,t))?r:e}Fe(xc,"get");var wc=xc;function Nc(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}Fe(Nc,"arrayPush");var Ic=Nc,_c=as?as.isConcatSpreadable:void 0;function Pc(e){return As(e)||Nl(e)||!!(_c&&e&&e[_c])}Fe(Pc,"isFlattenable");var Oc=Pc;function Lc(e,t,r,n,a){var i=-1,s=e.length;for(r=r||Oc,a=a||[];++i<s;){var o=e[i];0<t&&r(o)?1<t?Lc(o,t-1,r,n,a):Ic(a,o):n||(a[a.length]=o)}return a}Fe(Lc,"baseFlatten");var Dc=Lc;function Mc(e){return null!=e&&e.length?Dc(e,1):[]}Fe(Mc,"flatten");var jc=Mc,Fc=Ql(Object.getPrototypeOf,Object);function Gc(e,t,r){for(var n=-1,a=e.length,i=((r=a<r?a:r)<0&&(r+=a),a=r<(t=t<0?a<-t?0:a+t:t)?0:r-t>>>0,t>>>=0,Array(a));++n<a;)i[n]=e[n+t];return i}Fe(Gc,"baseSlice");var zc=Gc;function Kc(e,t,r,n){var a=-1,i=null==e?0:e.length;for(n&&i&&(r=e[++a]);++a<i;)r=t(r,e[a],a,e);return r}Fe(Kc,"arrayReduce");var qc=Kc;function Uc(){this.__data__=new Yu,this.size=0}Fe(Uc,"stackClear");var Bc=Uc;function Vc(e){var t=this.__data__;e=t.delete(e);return this.size=t.size,e}Fe(Vc,"stackDelete");var Wc=Vc;function Hc(e){return this.__data__.get(e)}Fe(Hc,"stackGet");var Yc=Hc;function Zc(e){return this.__data__.has(e)}Fe(Zc,"stackHas");var Xc=Zc;function Jc(e,t){var r=this.__data__;if(r instanceof Yu){var n=r.__data__;if(!Zu||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new dc(n)}return r.set(e,t),this.size=r.size,this}Fe(Jc,"stackSet");var Qc=Jc;function ep(e){e=this.__data__=new Yu(e),this.size=e.size}Fe(ep,"Stack"),ep.prototype.clear=Bc,ep.prototype.delete=Wc,ep.prototype.get=Yc,ep.prototype.has=Xc,ep.prototype.set=Qc;var tp=ep;function rp(e,t){return e&&il(t,iu(t),e)}Fe(rp,"baseAssign");var np=rp;function ap(e,t){return e&&il(t,hu(t),e)}Fe(ap,"baseAssignIn");var ip=ap,sp="object"==typeof exports&&exports&&!exports.nodeType&&exports,op=sp&&"object"==typeof module&&module&&!module.nodeType&&module,lp=op&&op.exports===sp?ns.Buffer:void 0,up=lp?lp.allocUnsafe:void 0;function cp(e,t){return t?e.slice():(t=e.length,t=up?up(t):new e.constructor(t),e.copy(t),t)}Fe(cp,"cloneBuffer");var pp=cp;function dp(e,t){for(var r=-1,n=null==e?0:e.length,a=0,i=[];++r<n;){var s=e[r];t(s,r,e)&&(i[a++]=s)}return i}Fe(dp,"arrayFilter");var fp=dp;function mp(){return[]}Fe(mp,"stubArray");var hp=mp,yp=Object.prototype.propertyIsEnumerable,gp=Object.getOwnPropertySymbols,vp=gp?function(e){return null==e?[]:(e=Object(e),fp(gp(e),function(t){return yp.call(e,t)}))}:hp,Tp=vp;function Rp(e,t){return il(e,Tp(e),t)}Fe(Rp,"copySymbols");var $p=Rp,Ep=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Ic(t,Tp(e)),e=Fc(e);return t}:hp,Ap=Ep;function bp(e,t){return il(e,Ap(e),t)}Fe(bp,"copySymbolsIn");var Cp=bp;function Sp(e,t,r){return t=t(e),As(e)?t:Ic(t,r(e))}Fe(Sp,"baseGetAllKeys");var kp=Sp;function xp(e){return kp(e,iu,Tp)}Fe(xp,"getAllKeys");var wp=xp;function Np(e){return kp(e,hu,Ap)}Fe(Np,"getAllKeysIn");var Ip=Np,_p=yo(ns,"DataView"),Pp=yo(ns,"Promise"),Op=yo(ns,"Set"),Lp="[object Map]",Dp="[object Promise]",Mp="[object Set]",jp="[object WeakMap]",Fp="[object DataView]",Gp=no(_p),zp=no(Zu),Kp=no(Pp),qp=no(Op),Up=no(go),Bp=ys,Vp=Bp=_p&&Bp(new _p(new ArrayBuffer(1)))!=Fp||Zu&&Bp(new Zu)!=Lp||Pp&&Bp(Pp.resolve())!=Dp||Op&&Bp(new Op)!=Mp||go&&Bp(new go)!=jp?Fe(function(e){var t=ys(e);if(e=(e="[object Object]"==t?e.constructor:void 0)?no(e):"")switch(e){case Gp:return Fp;case zp:return Lp;case Kp:return Dp;case qp:return Mp;case Up:return jp}return t},"getTag"):Bp,Wp=Object.prototype.hasOwnProperty;function Hp(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&Wp.call(e,"index")&&(r.index=e.index,r.input=e.input),r}Fe(Hp,"initCloneArray");var Yp=Hp,Zp=ns.Uint8Array;function Xp(e){var t=new e.constructor(e.byteLength);return new Zp(t).set(new Zp(e)),t}Fe(Xp,"cloneArrayBuffer");var Jp=Xp;function Qp(e,t){return t=t?Jp(e.buffer):e.buffer,new e.constructor(t,e.byteOffset,e.byteLength)}Fe(Qp,"cloneDataView");var ed=Qp,td=/\w*$/;function rd(e){var t=new e.constructor(e.source,td.exec(e));return t.lastIndex=e.lastIndex,t}Fe(rd,"cloneRegExp");var nd=rd,ad=as?as.prototype:void 0,id=ad?ad.valueOf:void 0;function sd(e){return id?Object(id.call(e)):{}}Fe(sd,"cloneSymbol");var od=sd;function ld(e,t){return t=t?Jp(e.buffer):e.buffer,new e.constructor(t,e.byteOffset,e.length)}Fe(ld,"cloneTypedArray");var ud=ld;function cd(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return Jp(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return ed(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return ud(e,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return nd(e);case"[object Symbol]":return od(e)}}Fe(cd,"initCloneByTag");var pd=cd;function dd(e){return"function"!=typeof e.constructor||$l(e)?{}:Ro(Fc(e))}Fe(dd,"initCloneObject");var fd=dd;function md(e){return vs(e)&&"[object Map]"==Vp(e)}Fe(md,"baseIsMap");var hd=md,yd=Vl&&Vl.isMap,gd=yd?zl(yd):hd;function vd(e){return vs(e)&&"[object Set]"==Vp(e)}Fe(vd,"baseIsSet");var Td=vd,Rd=Vl&&Vl.isSet,$d=Rd?zl(Rd):Td,Ed="[object Arguments]",Ad="[object Function]",bd="[object Object]",Cd={};function Sd(e,t,r,n,a,i){var s,o=1&t,l=2&t,u=4&t;if(void 0===(s=r?a?r(e,n,a,i):r(e):s)){if(!Ls(e))return e;if(n=As(e)){if(s=Yp(e),!o)return So(e,s)}else{var c=Vp(e),p=c==Ad||"[object GeneratorFunction]"==c;if(Dl(e))return pp(e,o);if(c==bd||c==Ed||p&&!a){if(s=l||p?{}:fd(e),!o)return l?Cp(e,ip(s,e)):$p(e,np(s,e))}else{if(!Cd[c])return a?e:{};s=pd(e,c,o)}}if(p=(i=i||new tp).get(e))return p;i.set(e,s),$d(e)?e.forEach(function(n){s.add(Sd(n,t,r,n,e,i))}):gd(e)&&e.forEach(function(n,a){s.set(a,Sd(n,t,r,a,e,i))});var d=n?void 0:(u?l?Ip:wp:l?hu:iu)(e);Mo(d||e,function(n,a){d&&(n=e[a=n]),nl(s,a,Sd(n,t,r,a,e,i))})}return s}Cd[Ed]=Cd["[object Array]"]=Cd["[object ArrayBuffer]"]=Cd["[object DataView]"]=Cd["[object Boolean]"]=Cd["[object Date]"]=Cd["[object Float32Array]"]=Cd["[object Float64Array]"]=Cd["[object Int8Array]"]=Cd["[object Int16Array]"]=Cd["[object Int32Array]"]=Cd["[object Map]"]=Cd["[object Number]"]=Cd[bd]=Cd["[object RegExp]"]=Cd["[object Set]"]=Cd["[object String]"]=Cd["[object Symbol]"]=Cd["[object Uint8Array]"]=Cd["[object Uint8ClampedArray]"]=Cd["[object Uint16Array]"]=Cd["[object Uint32Array]"]=!0,Cd["[object Error]"]=Cd[Ad]=Cd["[object WeakMap]"]=!1,Fe(Sd,"baseClone");var kd=Sd;function xd(e){return kd(e,4)}Fe(xd,"clone");var wd=xd;function Nd(e){for(var t=-1,r=null==e?0:e.length,n=0,a=[];++t<r;){var i=e[t];i&&(a[n++]=i)}return a}Fe(Nd,"compact");var Id=Nd;function _d(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}Fe(_d,"setCacheAdd");var Pd=_d;function Od(e){return this.__data__.has(e)}Fe(Od,"setCacheHas");var Ld=Od;function Dd(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new dc;++t<r;)this.add(e[t])}Fe(Dd,"SetCache"),Dd.prototype.add=Dd.prototype.push=Pd,Dd.prototype.has=Ld;var Md=Dd;function jd(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}Fe(jd,"arraySome");var Fd=jd;function Gd(e,t){return e.has(t)}Fe(Gd,"cacheHas");var zd=Gd;function Kd(e,t,r,n,a,i){var s=1&r,o=e.length;if(o!=(l=t.length)&&!(s&&o<l))return!1;var l=i.get(e),u=i.get(t);if(l&&u)return l==t&&u==e;var c=-1,p=!0,d=2&r?new Md:void 0;for(i.set(e,t),i.set(t,e);++c<o;){var f,m=e[c],h=t[c];if(void 0!==(f=n?s?n(h,m,c,t,e,i):n(m,h,c,e,t,i):f)){if(f)continue;p=!1;break}if(d){if(!Fd(t,function(e,t){if(!zd(d,t)&&(m===e||a(m,e,r,n,i)))return d.push(t)})){p=!1;break}}else if(m!==h&&!a(m,h,r,n,i)){p=!1;break}}return i.delete(e),i.delete(t),p}Fe(Kd,"equalArrays");var qd=Kd;function Ud(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}Fe(Ud,"mapToArray");var Bd=Ud;function Vd(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}Fe(Vd,"setToArray");var Wd=Vd,Hd=as?as.prototype:void 0,Yd=Hd?Hd.valueOf:void 0;function Zd(e,t,r,n,a,i,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!i(new Zp(e),new Zp(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return el(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=Bd;case"[object Set]":if(o=o||Wd,e.size!=t.size&&!(1&n))return!1;var l=s.get(e);return l?l==t:(n|=2,s.set(e,t),l=qd(o(e),o(t),n,a,i,s),s.delete(e),l);case"[object Symbol]":if(Yd)return Yd.call(e)==Yd.call(t)}return!1}Fe(Zd,"equalByTag");var Xd=Zd,Jd=Object.prototype.hasOwnProperty;function Qd(e,t,r,n,a,i){var s=1&r,o=wp(e),l=o.length;if(l!=wp(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:Jd.call(t,c)))return!1}var p=i.get(e),d=i.get(t);if(p&&d)return p==t&&d==e;for(var f=!0,m=(i.set(e,t),i.set(t,e),s);++u<l;){var h,y=e[c=o[u]],g=t[c];if(!(void 0===(h=n?s?n(g,y,c,t,e,i):n(y,g,c,e,t,i):h)?y===g||a(y,g,r,n,i):h)){f=!1;break}m=m||"constructor"==c}return f&&!m&&(p=e.constructor)!=(d=t.constructor)&&"constructor"in e&&"constructor"in t&&!("function"==typeof p&&p instanceof p&&"function"==typeof d&&d instanceof d)&&(f=!1),i.delete(e),i.delete(t),f}Fe(Qd,"equalObjects");var ef=Qd,tf="[object Arguments]",rf="[object Array]",nf="[object Object]",af=Object.prototype.hasOwnProperty;function sf(e,t,r,n,a,i){var s=As(e),o=As(t),l=s?rf:Vp(e),u=(o=o?rf:Vp(t),(l=l==tf?nf:l)==nf),c=(o=o==tf?nf:o)==nf;if((o=l==o)&&Dl(e)){if(!Dl(t))return!1;u=!(s=!0)}return o&&!u?(i=i||new tp,s||Hl(e)?qd(e,t,r,n,a,i):Xd(e,t,l,r,n,a,i)):1&r||(s=u&&af.call(e,"__wrapped__"),l=c&&af.call(t,"__wrapped__"),!s&&!l)?o&&(i=i||new tp,ef(e,t,r,n,a,i)):a(s?e.value():e,l?t.value():t,r,n,i=i||new tp)}Fe(sf,"baseIsEqualDeep");var of=sf;function lf(e,t,r,n,a){return e===t||(null==e||null==t||!vs(e)&&!vs(t)?e!=e&&t!=t:of(e,t,r,n,lf,a))}Fe(lf,"baseIsEqual");var uf=lf;function cf(e,t,r,n){var a=r.length,i=a,s=!n;if(null==e)return!i;for(e=Object(e);a--;){var o=r[a];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++a<i;){var l=(o=r[a])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p,d=new tp;if(!(void 0===(p=n?n(u,c,l,e,t,d):p)?uf(c,u,3,n,d):p))return!1}}return!0}Fe(cf,"baseIsMatch");var pf=cf;function df(e){return e==e&&!Ls(e)}Fe(df,"isStrictComparable");var ff=df;function mf(e){for(var t=iu(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,ff(a)]}return t}Fe(mf,"getMatchData");var hf=mf;function yf(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}Fe(yf,"matchesStrictComparable");var gf=yf;function vf(e){var t=hf(e);return 1==t.length&&t[0][2]?gf(t[0][0],t[0][1]):function(r){return r===e||pf(r,e,t)}}Fe(vf,"baseMatches");var Tf=vf;function Rf(e,t){return null!=e&&t in Object(e)}Fe(Rf,"baseHasIn");var $f=Rf;function Ef(e,t,r){for(var n=-1,a=(t=Ac(t,e)).length,i=!1;++n<a;){var s=Cc(t[n]);if(!(i=null!=e&&r(e,s)))break;e=e[s]}return i||++n!=a?i:!!(a=null==e?0:e.length)&&dl(a)&&Zo(s,a)&&(As(e)||Nl(e))}Fe(Ef,"hasPath");var Af=Ef;function bf(e,t){return null!=e&&Af(e,t,$f)}Fe(bf,"hasIn");var Cf=bf;function Sf(e,t){return Tu(e)&&ff(t)?gf(Cc(e),t):function(r){var n=wc(r,e);return void 0===n&&n===t?Cf(r,e):uf(t,n,3)}}Fe(Sf,"baseMatchesProperty");var kf=Sf;function xf(e){return function(t){return null==t?void 0:t[e]}}Fe(xf,"baseProperty");var wf=xf;function Nf(e){return function(t){return kc(t,e)}}Fe(Nf,"basePropertyDeep");var If=Nf;function _f(e){return Tu(e)?wf(Cc(e)):If(e)}Fe(_f,"property");var Pf=_f;function Of(e){return"function"==typeof e?e:null==e?Hs:"object"==typeof e?As(e)?kf(e[0],e[1]):Tf(e):Pf(e)}Fe(Of,"baseIteratee");var Lf=Of;function Df(e,t,r,n){for(var a=-1,i=null==e?0:e.length;++a<i;){var s=e[a];t(n,s,r(s),e)}return n}Fe(Df,"arrayAggregator");var Mf=Df;function jf(e){return function(t,r,n){for(var a=-1,i=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++a];if(!1===r(i[l],l,i))break}return t}}Fe(jf,"createBaseFor");var Ff=jf();function Gf(e,t){return e&&Ff(e,t,iu)}Fe(Gf,"baseForOwn");var zf=Gf;function Kf(e,t){return function(r,n){if(null!=r){if(!ml(r))return e(r,n);for(var a=r.length,i=t?a:-1,s=Object(r);(t?i--:++i<a)&&!1!==n(s[i],i,s););}return r}}Fe(Kf,"createBaseEach");var qf=Kf(zf);function Uf(e,t,r,n){return qf(e,function(e,a,i){t(n,e,r(e),i)}),n}Fe(Uf,"baseAggregator");var Bf=Uf;function Vf(e,t){return function(r,n){var a=As(r)?Mf:Bf,i=t?t():{};return a(r,e,Lf(n),i)}}Fe(Vf,"createAggregator");var Wf=Vf,Hf=Object.prototype,Yf=Hf.hasOwnProperty,Zf=cl(function(e,t){e=Object(e);var r=-1,n=t.length,a=2<n?t[2]:void 0;for(a&&yl(t[0],t[1],a)&&(n=1);++r<n;)for(var i=t[r],s=hu(i),o=-1,l=s.length;++o<l;){var u=s[o],c=e[u];(void 0===c||el(c,Hf[u])&&!Yf.call(e,u))&&(e[u]=i[u])}return e}),Xf=Zf;function Jf(e){return vs(e)&&ml(e)}Fe(Jf,"isArrayLikeObject");var Qf=Jf;function em(e,t,r){for(var n=-1,a=null==e?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}Fe(em,"arrayIncludesWith");var tm=em;function rm(e,t,r,n){var a=-1,i=Wo,s=!0,o=e.length,l=[],u=t.length;if(o){r&&(t=Es(t,zl(r))),n?(i=tm,s=!1):t.length>=200&&(i=zd,s=!1,t=new Md(t));e:for(;++a<o;){var c=e[a],p=null==r?c:r(c);c=n||0!==c?c:0;if(s&&p==p){for(var d=u;d--;)if(t[d]===p)continue e;l.push(c)}else i(t,p,n)||l.push(c)}}return l}Fe(rm,"baseDifference");var nm=rm,am=cl(function(e,t){return Qf(e)?nm(e,Dc(t,1,Qf,!0)):[]}),im=am;function sm(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}Fe(sm,"last");var om=sm;function lm(e,t,r){var n=null==e?0:e.length;return n?(t=r||void 0===t?1:Vs(t),zc(e,t<0?0:t,n)):[]}Fe(lm,"drop");var um=lm;function cm(e,t,r){var n=null==e?0:e.length;return n?(t=r||void 0===t?1:Vs(t),zc(e,0,(t=n-t)<0?0:t)):[]}Fe(cm,"dropRight");var pm=cm;function dm(e){return"function"==typeof e?e:Hs}Fe(dm,"castFunction");var fm=dm;function mm(e,t){return(As(e)?Mo:qf)(e,fm(t))}Fe(mm,"forEach");var hm=mm;function ym(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}Fe(ym,"arrayEvery");var gm=ym;function vm(e,t){var r=!0;return qf(e,function(e,n,a){return r=!!t(e,n,a)}),r}Fe(vm,"baseEvery");var Tm=vm;function Rm(e,t,r){var n=As(e)?gm:Tm;return r&&yl(e,t,r)&&(t=void 0),n(e,Lf(t))}Fe(Rm,"every");var $m=Rm;function Em(e,t){var r=[];return qf(e,function(e,n,a){t(e,n,a)&&r.push(e)}),r}Fe(Em,"baseFilter");var Am=Em;function bm(e,t){return(As(e)?fp:Am)(e,Lf(t))}Fe(bm,"filter");var Cm=bm;function Sm(e){return function(t,r,n){var a,i=Object(t);return-1<(r=(ml(t)||(a=Lf(r),t=iu(t),r=Fe(function(e){return a(i[e],e,i)},"predicate")),e(t,r,n)))?i[a?t[r]:r]:void 0}}Fe(Sm,"createFind");var km=Sm,xm=Math.max;function wm(e,t,r){var n=null==e?0:e.length;return n?((r=null==r?0:Vs(r))<0&&(r=xm(n+r,0)),Fo(e,Lf(t),r)):-1}Fe(wm,"findIndex");var Nm=km(wm);function Im(e){return e&&e.length?e[0]:void 0}Fe(Im,"head");var _m=Im;function Pm(e,t){var r=-1,n=ml(e)?Array(e.length):[];return qf(e,function(e,a,i){n[++r]=t(e,a,i)}),n}Fe(Pm,"baseMap");var Om=Pm;function Lm(e,t){return(As(e)?Es:Om)(e,Lf(t))}Fe(Lm,"map");var Dm=Lm;function Mm(e,t){return Dc(Dm(e,t),1)}Fe(Mm,"flatMap");var jm=Mm,Fm=Object.prototype.hasOwnProperty,Gm=Wf(function(e,t,r){Fm.call(e,r)?e[r].push(t):Jo(e,r,[t])}),zm=Gm,Km=Object.prototype.hasOwnProperty;function qm(e,t){return null!=e&&Km.call(e,t)}Fe(qm,"baseHas");var Um=qm;function Bm(e,t){return null!=e&&Af(e,t,Um)}Fe(Bm,"has");var Vm=Bm;function Wm(e){return"string"==typeof e||!As(e)&&vs(e)&&"[object String]"==ys(e)}Fe(Wm,"isString");var Hm=Wm;function Ym(e,t){return Es(t,function(t){return e[t]})}Fe(Ym,"baseValues");var Zm=Ym;function Xm(e){return null==e?[]:Zm(e,iu(e))}Fe(Xm,"values");var Jm=Xm,Qm=Math.max;function eh(e,t,r,n){return e=ml(e)?e:Jm(e),r=r&&!n?Vs(r):0,n=e.length,r<0&&(r=Qm(n+r,0)),Hm(e)?r<=n&&-1<e.indexOf(t,r):!!n&&-1<Bo(e,t,r)}Fe(eh,"includes");var th=eh,rh=Math.max;function nh(e,t,r){var n=null==e?0:e.length;return n?((r=null==r?0:Vs(r))<0&&(r=rh(n+r,0)),Bo(e,t,r)):-1}Fe(nh,"indexOf");var ah=nh,ih=Object.prototype.hasOwnProperty;function sh(e){if(null!=e){if(ml(e)&&(As(e)||"string"==typeof e||"function"==typeof e.splice||Dl(e)||Hl(e)||Nl(e)))return!e.length;var t,r=Vp(e);if("[object Map]"==r||"[object Set]"==r)return!e.size;if($l(e))return!nu(e).length;for(t in e)if(ih.call(e,t))return!1}return!0}Fe(sh,"isEmpty");var oh=sh;function lh(e){return vs(e)&&"[object RegExp]"==ys(e)}Fe(lh,"baseIsRegExp");var uh=lh,ch=Vl&&Vl.isRegExp,ph=ch?zl(ch):uh;function dh(e){return void 0===e}Fe(dh,"isUndefined");var fh=dh;function mh(e){if("function"!=typeof e)throw new TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Fe(mh,"negate");var hh=mh;function yh(e,t,r,n){if(Ls(e))for(var a=-1,i=(t=Ac(t,e)).length,s=i-1,o=e;null!=o&&++a<i;){var l,u=Cc(t[a]),c=r;if("__proto__"===u||"constructor"===u||"prototype"===u)return e;a!=s&&(l=o[u],void 0===(c=n?n(l,u,o):void 0))&&(c=Ls(l)?l:Zo(t[a+1])?[]:{}),nl(o,u,c),o=o[u]}return e}Fe(yh,"baseSet");var gh=yh;function vh(e,t,r){for(var n=-1,a=t.length,i={};++n<a;){var s=t[n],o=kc(e,s);r(o,s)&&gh(i,Ac(s,e),o)}return i}Fe(vh,"basePickBy");var Th=vh;function Rh(e,t){var r;return null==e?{}:(r=Es(Ip(e),function(e){return[e]}),t=Lf(t),Th(e,r,function(e,r){return t(e,r[0])}))}Fe(Rh,"pickBy");var $h=Rh;function Eh(e,t,r,n,a){return a(e,function(e,a,i){r=n?(n=!1,e):t(r,e,a,i)}),r}Fe(Eh,"baseReduce");var Ah=Eh;function bh(e,t,r){var n=As(e)?qc:Ah,a=arguments.length<3;return n(e,Lf(t),r,a,qf)}Fe(bh,"reduce");var Ch=bh;function Sh(e,t){return(As(e)?fp:Am)(e,hh(Lf(t)))}Fe(Sh,"reject");var kh=Sh;function xh(e,t){var r;return qf(e,function(e,n,a){return!(r=t(e,n,a))}),!!r}Fe(xh,"baseSome");var wh=xh;function Nh(e,t,r){var n=As(e)?Fd:wh;return r&&yl(e,t,r)&&(t=void 0),n(e,Lf(t))}Fe(Nh,"some");var Ih=Nh,_h=Op&&1/Wd(new Op([,-0]))[1]==1/0?function(e){return new Op(e)}:bo,Ph=_h;function Oh(e,t,r){var n=-1,a=Wo,i=e.length,s=!0,o=[],l=o;if(r)s=!1,a=tm;else if(200<=i){var u=t?null:Ph(e);if(u)return Wd(u);s=!1,a=zd,l=new Md}else l=t?[]:o;e:for(;++n<i;){var c=e[n],p=t?t(c):c;c=r||0!==c?c:0;if(s&&p==p){for(var d=l.length;d--;)if(l[d]===p)continue e;t&&l.push(p),o.push(c)}else a(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}Fe(Oh,"baseUniq");var Lh=Oh;function Dh(e){return e&&e.length?Lh(e):[]}Fe(Dh,"uniq");var Mh=Dh;function jh(e){console&&console.error&&console.error("Error: "+e)}function Fh(e){console&&console.warn&&console.warn("Warning: "+e)}function Gh(e){var t=(new Date).getTime();e=e();return{time:(new Date).getTime()-t,value:e}}function zh(e){function t(){}Fe(t,"FakeConstructor"),t.prototype=e;let r=new t;function n(){return typeof r.bar}return Fe(n,"fakeAccess"),n(),n(),e}function Kh(e){return qh(e)?e.LABEL:e.name}function qh(e){return Hm(e.LABEL)&&""!==e.LABEL}Fe(jh,"PRINT_ERROR"),Fe(Fh,"PRINT_WARNING"),Fe(Gh,"timer"),Fe(zh,"toFastProperties"),Fe(Kh,"tokenLabel"),Fe(qh,"hasTokenLabel");var Uh=class{static{Fe(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),hm(this.definition,t=>{t.accept(e)})}},Bh=class extends Uh{static{Fe(this,"NonTerminal")}constructor(e){super([]),this.idx=1,lu(this,$h(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Vh=class extends Uh{static{Fe(this,"Rule")}constructor(e){super(e.definition),this.orgText="",lu(this,$h(e,e=>void 0!==e))}},Wh=class extends Uh{static{Fe(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,lu(this,$h(e,e=>void 0!==e))}},Hh=class extends Uh{static{Fe(this,"Option")}constructor(e){super(e.definition),this.idx=1,lu(this,$h(e,e=>void 0!==e))}},Yh=class extends Uh{static{Fe(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,lu(this,$h(e,e=>void 0!==e))}},Zh=class extends Uh{static{Fe(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,lu(this,$h(e,e=>void 0!==e))}},Xh=class extends Uh{static{Fe(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,lu(this,$h(e,e=>void 0!==e))}},Jh=class extends Uh{static{Fe(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,lu(this,$h(e,e=>void 0!==e))}},Qh=class extends Uh{static{Fe(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,lu(this,$h(e,e=>void 0!==e))}},ey=class{static{Fe(this,"Terminal")}constructor(e){this.idx=1,lu(this,$h(e,e=>void 0!==e))}accept(e){e.visit(this)}};function ty(e){return Dm(e,ry)}function ry(e){function t(e){return Dm(e,ry)}var r,n;if(Fe(t,"convertDefinition"),e instanceof Bh)return r={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx},Hm(e.label)&&(r.label=e.label),r;if(e instanceof Wh)return{type:"Alternative",definition:t(e.definition)};if(e instanceof Hh)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof Yh)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof Zh)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:ry(new ey({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof Jh)return{type:"RepetitionWithSeparator",idx:e.idx,separator:ry(new ey({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof Xh)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof Qh)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof ey)return r={type:"Terminal",name:e.terminalType.name,label:Kh(e.terminalType),idx:e.idx},Hm(e.label)&&(r.terminalLabel=e.label),n=e.terminalType.PATTERN,e.terminalType.PATTERN&&(r.pattern=ph(n)?n.source:n),r;if(e instanceof Vh)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}Fe(ty,"serializeGrammar"),Fe(ry,"serializeProduction");var ny=class{static{Fe(this,"GAstVisitor")}visit(e){var t=e;switch(t.constructor){case Bh:return this.visitNonTerminal(t);case Wh:return this.visitAlternative(t);case Hh:return this.visitOption(t);case Yh:return this.visitRepetitionMandatory(t);case Zh:return this.visitRepetitionMandatoryWithSeparator(t);case Jh:return this.visitRepetitionWithSeparator(t);case Xh:return this.visitRepetition(t);case Qh:return this.visitAlternation(t);case ey:return this.visitTerminal(t);case Vh: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 ay(e){return e instanceof Wh||e instanceof Hh||e instanceof Xh||e instanceof Yh||e instanceof Zh||e instanceof Jh||e instanceof ey||e instanceof Vh}function iy(e,t=[]){return e instanceof Hh||e instanceof Xh||e instanceof Jh||(e instanceof Qh?Ih(e.definition,e=>iy(e,t)):!(e instanceof Bh&&th(t,e))&&e instanceof Uh&&(e instanceof Bh&&t.push(e),$m(e.definition,e=>iy(e,t))))}function sy(e){return e instanceof Qh}function oy(e){if(e instanceof Bh)return"SUBRULE";if(e instanceof Hh)return"OPTION";if(e instanceof Qh)return"OR";if(e instanceof Yh)return"AT_LEAST_ONE";if(e instanceof Zh)return"AT_LEAST_ONE_SEP";if(e instanceof Jh)return"MANY_SEP";if(e instanceof Xh)return"MANY";if(e instanceof ey)return"CONSUME";throw Error("non exhaustive match")}Fe(ay,"isSequenceProd"),Fe(iy,"isOptionalProd"),Fe(sy,"isBranchingProd"),Fe(oy,"getProductionDslName");var ly=class{static{Fe(this,"RestWalker")}walk(e,t=[]){hm(e.definition,(r,n)=>{if(n=um(e.definition,n+1),r instanceof Bh)this.walkProdRef(r,n,t);else if(r instanceof ey)this.walkTerminal(r,n,t);else if(r instanceof Wh)this.walkFlat(r,n,t);else if(r instanceof Hh)this.walkOption(r,n,t);else if(r instanceof Yh)this.walkAtLeastOne(r,n,t);else if(r instanceof Zh)this.walkAtLeastOneSep(r,n,t);else if(r instanceof Jh)this.walkManySep(r,n,t);else if(r instanceof Xh)this.walkMany(r,n,t);else{if(!(r instanceof Qh))throw Error("non exhaustive match");this.walkOr(r,n,t)}})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){t=t.concat(r),this.walk(e,t)}walkOption(e,t,r){t=t.concat(r),this.walk(e,t)}walkAtLeastOne(e,t,r){t=[new Hh({definition:e.definition})].concat(t,r),this.walk(e,t)}walkAtLeastOneSep(e,t,r){t=uy(e,t,r),this.walk(e,t)}walkMany(e,t,r){t=[new Hh({definition:e.definition})].concat(t,r),this.walk(e,t)}walkManySep(e,t,r){t=uy(e,t,r),this.walk(e,t)}walkOr(e,t,r){let n=t.concat(r);hm(e.definition,e=>{e=new Wh({definition:[e]}),this.walk(e,n)})}};function uy(e,t,r){return[new Hh({definition:[new ey({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function cy(e){if(e instanceof Bh)return cy(e.referencedRule);if(e instanceof ey)return fy(e);if(ay(e))return py(e);if(sy(e))return dy(e);throw Error("non exhaustive match")}function py(e){let t=[];var r,n=e.definition;let a=0,i=n.length>a,s=!0;for(;i&&s;)s=iy(r=n[a]),t=t.concat(cy(r)),a+=1,i=n.length>a;return Mh(t)}function dy(e){return e=Dm(e.definition,e=>cy(e)),Mh(jc(e))}function fy(e){return[e.terminalType]}Fe(uy,"restForRepetitionWithSeparator"),Fe(cy,"first"),Fe(py,"firstForSequence"),Fe(dy,"firstForBranching"),Fe(fy,"firstForTerminal");var my="_~IN~_",hy=class extends ly{static{Fe(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){e=gy(e.referencedRule,e.idx)+this.topProd.name,t=t.concat(r),r=cy(new Wh({definition:t})),this.follows[e]=r}};function yy(e){let t={};return hm(e,e=>{e=new hy(e).startWalking(),lu(t,e)}),t}function gy(e,t){return e.name+t+my}Fe(yy,"computeAllProdsFollows"),Fe(gy,"buildBetweenProdsFollowPrefix");var vy={},Ty=new ri;function Ry(e){var t;e=e.toString();return vy.hasOwnProperty(e)?vy[e]:(t=Ty.pattern(e),vy[e]=t)}function $y(){vy={}}Fe(Ry,"getRegExpAst"),Fe($y,"clearRegExpParserCache");var Ey="Complement Sets are not supported for first char optimization",Ay='Unable to use "first char" lexer optimizations:\n';function by(e,t=!1){try{var r=Ry(e);return Cy(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Ey)t&&Fh(`${Ay}\tUnable to optimize: < ${e.toString()} >\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r=t?"\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.":"";jh(`${Ay}\n\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function Cy(e,t,r){switch(e.type){case"Disjunction":for(let n=0;n<e.value.length;n++)Cy(e.value[n],t,r);break;case"Alternative":var n=e.value;for(let e=0;e<n.length;e++){var a=n[e];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}var i=a;switch(i.type){case"Character":Sy(i.value,t,r);break;case"Set":if(!0===i.complement)throw Error(Ey);hm(i.value,e=>{if("number"==typeof e)Sy(e,t,r);else{var n=e;if(!0===r)for(let e=n.from;e<=n.to;e++)Sy(e,t,r);else{for(let e=n.from;e<=n.to&&e<cg;e++)Sy(e,t,r);if(n.to>=cg){e=n.from>=cg?n.from:cg;var a=n.to,i=(e=dg(e),dg(a));for(let r=e;r<=i;r++)t[r]=r}}}});break;case"Group":Cy(i.value,t,r);break;default:throw Error("Non Exhaustive Match")}if(a=void 0!==i.quantifier&&0===i.quantifier.atLeast,"Group"===i.type&&!1===wy(i)||"Group"!==i.type&&0==a)break}break;default:throw Error("non exhaustive match!")}return Jm(t)}function Sy(e,t,r){var n=dg(e);t[n]=n,!0===r&&ky(e,t)}function ky(e,t){var r=(e=String.fromCharCode(e)).toUpperCase();r!==e?t[r=dg(r.charCodeAt(0))]=r:(r=e.toLowerCase())!==e&&(t[e=dg(r.charCodeAt(0))]=e)}function xy(e,t){return Nm(e.value,e=>{if("number"==typeof e)return th(t,e);{let r=e;return void 0!==Nm(t,e=>r.from<=e&&e<=r.to)}})}function wy(e){var t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&(As(e.value)?$m(e.value,wy):wy(e.value))}Fe(by,"getOptimizedStartCodesIndices"),Fe(Cy,"firstCharOptimizedIndices"),Fe(Sy,"addOptimizedIdxToResult"),Fe(ky,"handleIgnoreCase"),Fe(xy,"findCode"),Fe(wy,"isWholeOptional");var Ny=class extends ni{static{Fe(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e);case"Lookbehind":return void this.visitLookbehind(e);case"NegativeLookbehind":return void this.visitNegativeLookbehind(e)}super.visitChildren(e)}}visitCharacter(e){th(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===xy(e,this.targetCharCodes)&&(this.found=!0):void 0!==xy(e,this.targetCharCodes)&&(this.found=!0)}};function Iy(e,t){var r,n;return t instanceof RegExp?(r=Ry(t),(n=new Ny(e)).visit(r),n.found):void 0!==Nm(t,t=>th(e,t.charCodeAt(0)))}Fe(Iy,"canMatchCharCode");var _y="PATTERN",Py="defaultMode",Oy="modes";function Ly(e,t){var r=(t=Xf(t,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:Fe((e,t)=>t(),"tracer")})).tracer;r("initCharCodeToOptimizedIndexMap",()=>{fg()});let n,a,i,s,o,l,u,c,p=(r("Reject Lexer.NA",()=>{n=kh(e,e=>e[_y]===_g.NA)}),!1);r("Transform Patterns",()=>{p=!1,a=Dm(n,e=>{var t;e=e[_y];if(ph(e))return 1!==(t=e.source).length||"^"===t||"$"===t||"."===t||e.ignoreCase?2!==t.length||"\\"!==t[0]||th(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],t[1])?Qy(e):t[1]:t;if(Zs(e))return p=!0,{exec:e};if("object"==typeof e)return p=!0,e;if("string"==typeof e)return 1===e.length?e:(t=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),Qy(new RegExp(t)));throw Error("non exhaustive match")})}),r("misc mapping",()=>{i=Dm(n,e=>e.tokenTypeIdx),s=Dm(n,e=>{if((e=e.GROUP)!==_g.SKIPPED){if(Hm(e))return e;if(fh(e))return!1;throw Error("non exhaustive match")}}),o=Dm(n,e=>{if(e=e.LONGER_ALT)return As(e)?Dm(e,e=>ah(n,e)):[ah(n,e)]}),l=Dm(n,e=>e.PUSH_MODE),u=Dm(n,e=>Vm(e,"POP_MODE"))}),r("Line Terminator Handling",()=>{let e=lg(t.lineTerminatorCharacters);c=Dm(n,e=>!1),"onlyOffset"!==t.positionTracking&&(c=Dm(n,t=>Vm(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===sg(t,e)&&Iy(e,t.PATTERN)))});let d,f,m,h,y=(r("Misc Mapping #2",()=>{d=Dm(n,ng),f=Dm(a,ag),m=Ch(n,(e,t)=>(t=t.GROUP,Hm(t)&&t!==_g.SKIPPED&&(e[t]=[]),e),{}),h=Dm(a,(e,t)=>({pattern:a[t],longerAlt:o[t],canLineTerminator:c[t],isCustom:d[t],short:f[t],group:s[t],push:l[t],pop:u[t],tokenTypeIdx:i[t],tokenType:n[t]}))}),!0),g=[];return t.safeMode||r("First Char Optimization",()=>{g=Ch(n,(e,r,n)=>{if("string"==typeof r.PATTERN){var a=dg(r.PATTERN.charCodeAt(0));ug(e,a,h[n])}else if(As(r.START_CHARS_HINT)){let t;hm(r.START_CHARS_HINT,r=>{r=dg("string"==typeof r?r.charCodeAt(0):r),t!==r&&(t=r,ug(e,r,h[n]))})}else ph(r.PATTERN)?r.PATTERN.unicode?(y=!1,t.ensureOptimizations&&jh(`${Ay}\tUnable to analyze < ${r.PATTERN.toString()} > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`)):(a=by(r.PATTERN,t.ensureOptimizations),oh(a)&&(y=!1),hm(a,t=>{ug(e,t,h[n])})):(t.ensureOptimizations&&jh(`${Ay}\tTokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1);return e},[])}),{emptyGroups:m,patternIdxToConfig:h,charCodeToPatternIdxToConfig:g,hasCustom:p,canBeOptimized:y}}function Dy(e,t){let r=[];e=jy(e);var n=(e=(r=r.concat(e.errors),Fy(e.valid))).valid;return(r=(r=(r=(r=r.concat(e.errors)).concat(My(n))).concat(Wy(n))).concat(Hy(n,t))).concat(Yy(n))}function My(e){let t=[];return e=Cm(e,e=>ph(e[_y])),(t=(t=(t=(t=t.concat(zy(e))).concat(Uy(e))).concat(By(e))).concat(Vy(e))).concat(Ky(e))}function jy(e){var t=Cm(e,e=>!Vm(e,_y));return{errors:Dm(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:wg.MISSING_PATTERN,tokenTypes:[e]})),valid:im(e,t)}}function Fy(e){var t=Cm(e,e=>(e=e[_y],!(ph(e)||Zs(e)||Vm(e,"exec")||Hm(e))));return{errors:Dm(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:wg.INVALID_PATTERN,tokenTypes:[e]})),valid:im(e,t)}}Fe(Ly,"analyzeTokenTypes"),Fe(Dy,"validatePatterns"),Fe(My,"validateRegExpPattern"),Fe(jy,"findMissingPatterns"),Fe(Fy,"findInvalidPatterns");var Gy=/[^\\][$]/;function zy(e){class t extends ni{static{Fe(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return e=Cm(e,e=>{e=e.PATTERN;try{var r=Ry(e),n=new t;return n.visit(r),n.found}catch(r){return Gy.test(e.source)}}),Dm(e,e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:wg.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function Ky(e){return e=Cm(e,e=>e.PATTERN.test("")),Dm(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:wg.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}Fe(zy,"findEndOfInputAnchor"),Fe(Ky,"findEmptyMatchRegExps");var qy=/[^\\[][\^]|^\^/;function Uy(e){class t extends ni{static{Fe(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return e=Cm(e,e=>{e=e.PATTERN;try{var r=Ry(e),n=new t;return n.visit(r),n.found}catch(r){return qy.test(e.source)}}),Dm(e,e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:wg.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function By(e){return e=Cm(e,e=>(e=e[_y])instanceof RegExp&&(e.multiline||e.global)),Dm(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:wg.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function Vy(e){let t=[];var r=Dm(e,r=>Ch(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||th(t,n)||n.PATTERN===_g.NA||(t.push(n),e.push(n)),e),[]));r=Id(r),r=Cm(r,e=>1<e.length);return Dm(r,e=>{var t=Dm(e,e=>e.name);return{message:`The same RegExp pattern ->${_m(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:wg.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function Wy(e){return e=Cm(e,e=>!!Vm(e,"GROUP")&&(e=e.GROUP)!==_g.SKIPPED&&e!==_g.NA&&!Hm(e)),Dm(e,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:wg.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function Hy(e,t){return e=Cm(e,e=>void 0!==e.PUSH_MODE&&!th(t,e.PUSH_MODE)),Dm(e,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:wg.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function Yy(e){let t=[],r=Ch(e,(e,t,r)=>{var n=t.PATTERN;return n!==_g.NA&&(Hm(n)?e.push({str:n,idx:r,tokenType:t}):ph(n)&&Xy(n)&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return hm(e,(e,n)=>{hm(r,({str:r,idx:a,tokenType:i})=>{n<a&&Zy(r,e.PATTERN)&&(a=`Token: ->${i.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`,t.push({message:a,type:wg.UNREACHABLE_PATTERN,tokenTypes:[e,i]}))})}),t}function Zy(e,t){var r;if(ph(t))return!Jy(t)&&null!==(r=t.exec(e))&&0===r.index;if(Zs(t))return t(e,0,[],{});if(Vm(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function Xy(e){return void 0===Nm([".","\\","[","]","|","^","$","(",")","?","*","+","{"],t=>-1!==e.source.indexOf(t))}function Jy(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}function Qy(e){var t=e.ignoreCase?"iy":"y";return new RegExp(""+e.source,t)}function eg(e,t,r){let n=[];return Vm(e,Py)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Py+"> property in its definition\n",type:wg.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Vm(e,Oy)||n.push({message:"A MultiMode Lexer cannot be initialized without a <modes> property in its definition\n",type:wg.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Vm(e,Oy)&&Vm(e,Py)&&!Vm(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Py}: <${e.defaultMode}>which does not exist\n`,type:wg.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Vm(e,Oy)&&hm(e.modes,(e,t)=>{hm(e,(r,a)=>{fh(r)?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${a}>\n`,type:wg.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Vm(r,"LONGER_ALT")&&(a=As(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT],hm(a,a=>{fh(a)||th(e,a)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${a.name}> on token <${r.name}> outside of mode <${t}>\n`,type:wg.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})}))})}),n}function tg(e,t,r){let n=[],a=!1;e=Id(jc(Jm(e.modes))),e=kh(e,e=>e[_y]===_g.NA);let i=lg(r);return t&&hm(e,e=>{var t=sg(e,i);!1!==t?(t={message:og(e,t),type:t.issue,tokenType:e},n.push(t)):Vm(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(a=!0):Iy(i,e.PATTERN)&&(a=!0)}),t&&!a&&n.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:wg.NO_LINE_BREAKS_FLAGS}),n}function rg(e){let t={};var r=iu(e);return hm(r,r=>{var n=e[r];if(!As(n))throw Error("non exhaustive match");t[r]=[]}),t}function ng(e){if(e=e.PATTERN,ph(e))return!1;if(Zs(e))return!0;if(Vm(e,"exec"))return!0;if(Hm(e))return!1;throw Error("non exhaustive match")}function ag(e){return!(!Hm(e)||1!==e.length)&&e.charCodeAt(0)}Fe(Uy,"findStartOfInputAnchor"),Fe(By,"findUnsupportedFlags"),Fe(Vy,"findDuplicatePatterns"),Fe(Wy,"findInvalidGroupType"),Fe(Hy,"findModesThatDoNotExist"),Fe(Yy,"findUnreachablePatterns"),Fe(Zy,"tryToMatchStrToPattern"),Fe(Xy,"noMetaChar"),Fe(Jy,"usesLookAheadOrBehind"),Fe(Qy,"addStickyFlag"),Fe(eg,"performRuntimeChecks"),Fe(tg,"performWarningRuntimeChecks"),Fe(rg,"cloneEmptyGroups"),Fe(ng,"isCustomPattern"),Fe(ag,"isShortPattern");var ig={test:Fe(function(e){var t=e.length;for(let n=this.lastIndex;n<t;n++){var r=e.charCodeAt(n);if(10===r)return this.lastIndex=n+1,!0;if(13===r)return 10===e.charCodeAt(n+1)?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},"test"),lastIndex:0};function sg(e,t){if(Vm(e,"LINE_BREAKS"))return!1;if(ph(e.PATTERN)){try{Iy(t,e.PATTERN)}catch(e){return{issue:wg.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(Hm(e.PATTERN))return!1;if(ng(e))return{issue:wg.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function og(e,t){if(t.issue===wg.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===wg.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n\tThe problem is in the <${e.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function lg(e){return Dm(e,e=>Hm(e)?e.charCodeAt(0):e)}function ug(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}Fe(sg,"checkLineBreaksIssues"),Fe(og,"buildLineBreakIssueMessage"),Fe(lg,"getCharCodes"),Fe(ug,"addToMapOfArrays");var cg=256,pg=[];function dg(e){return e<cg?e:pg[e]}function fg(){if(oh(pg)){pg=new Array(65536);for(let e=0;e<65536;e++)pg[e]=255<e?255+~~(e/255):e}}function mg(e,t){return(e=e.tokenTypeIdx)===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[e]}function hg(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}Fe(dg,"charCodeToOptimizedIndex"),Fe(fg,"initCharCodeToOptimizedIndexMap"),Fe(mg,"tokenStructuredMatcher"),Fe(hg,"tokenStructuredMatcherNoCategories");var yg=1,gg={};function vg(e){Rg(e=Tg(e)),Eg(e),$g(e),hm(e,e=>{e.isParent=0<e.categoryMatches.length})}function Tg(e){let t=wd(e),r=e,n=!0;for(;n;){r=Id(jc(Dm(r,e=>e.CATEGORIES)));var a=im(r,t);t=t.concat(a),oh(a)?n=!1:r=a}return t}function Rg(e){hm(e,e=>{bg(e)||((gg[yg]=e).tokenTypeIdx=yg++),Cg(e)&&!As(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Cg(e)||(e.CATEGORIES=[]),Sg(e)||(e.categoryMatches=[]),kg(e)||(e.categoryMatchesMap={})})}function $g(e){hm(e,e=>{e.categoryMatches=[],hm(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(gg[r].tokenTypeIdx)})})}function Eg(e){hm(e,e=>{Ag([],e)})}function Ag(e,t){hm(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),hm(t.CATEGORIES,r=>{var n=e.concat(t);th(n,r)||Ag(n,r)})}function bg(e){return Vm(e,"tokenTypeIdx")}function Cg(e){return Vm(e,"CATEGORIES")}function Sg(e){return Vm(e,"categoryMatches")}function kg(e){return Vm(e,"categoryMatchesMap")}function xg(e){return Vm(e,"tokenTypeIdx")}Fe(vg,"augmentTokenTypes"),Fe(Tg,"expandCategories"),Fe(Rg,"assignTokenDefaultProps"),Fe($g,"assignCategoriesTokensProp"),Fe(Eg,"assignCategoriesMapProp"),Fe(Ag,"singleAssignCategoriesToksMap"),Fe(bg,"hasShortKeyProperty"),Fe(Cg,"hasCategoriesProperty"),Fe(Sg,"hasExtendingTokensTypesProperty"),Fe(kg,"hasExtendingTokensTypesMapProperty"),Fe(xg,"isTokenType");var wg,Ng={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,a,i)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`},Ig=((e=>{e[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(wg=wg||{}),{deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Ng,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0}),_g=(Object.freeze(Ig),class{static{Fe(this,"Lexer")}constructor(e,t=Ig){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{var r,n,a,i;return!0===this.traceInitPerf?(this.traceInitIndent++,r=new Array(this.traceInitIndent+1).join("\t"),({time:n,value:a}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(r+`--\x3e <${e}>`),Gh(t))),i=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&i(r+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,a):t()},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=lu({},Ig,t);var r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r,n=!0,a=(this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Ig.lineTerminatorsPattern)this.config.lineTerminatorsPattern=ig;else if(this.config.lineTerminatorCharacters===Ig.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),r=As(e)?{modes:{defaultMode:wd(e)},defaultMode:Py}:(n=!1,wd(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(eg(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(tg(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes||{},hm(r.modes,(e,t)=>{r.modes[t]=kh(e,e=>fh(e))}),iu(r.modes));var i;if(hm(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Dy(e,a))}),oh(this.lexerDefinitionErrors)){let n;vg(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=Ly(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=lu({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!oh(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw i=Dm(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"),new Error("Errors detected in definition of Lexer:\n"+i);hm(this.lexerDefinitionWarning,e=>{Fh(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(n&&(this.handleModes=bo),!1===this.trackStartLines&&(this.computeNewColumn=Hs),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=bo),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{var e=Ch(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!oh(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{$y()}),this.TRACE_INIT("toFastProperties",()=>{zh(this)})})}tokenize(e,t=this.defaultMode){if(oh(this.lexerDefinitionErrors))return this.tokenizeInternal(e,t);throw e=Dm(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"),new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+e)}tokenizeInternal(e,t){let r,n,a,i,s,o,l,u,c,p,d,f,m,h,y;var g=e,v=g.length;let T=0,R=0;var $=this.hasCustom?0:Math.floor(e.length/10),E=new Array($);let A=[],b=this.trackStartLines?1:void 0,C=this.trackStartLines?1:void 0;var S=rg(this.emptyGroups),k=this.trackStartLines,x=this.config.lineTerminatorsPattern;let w=0,N=[],I=[],_=[];var P=[];Object.freeze(P);let O=!1;var L=Fe(e=>{var t;1===_.length&&void 0===e.tokenType.PUSH_MODE?(t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e),A.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})):(_.pop(),e=om(_),N=this.patternIdxToConfig[e],I=this.charCodeToPatternIdxToConfig[e],w=N.length,t=this.canModeBeOptimized[e]&&!1===this.config.safeMode,O=!(!I||!t))},"pop_mode");function D(e){_.push(e),I=this.charCodeToPatternIdxToConfig[e],N=this.patternIdxToConfig[e],w=N.length,w=N.length,e=this.canModeBeOptimized[e]&&!1===this.config.safeMode,O=!(!I||!e)}let M;Fe(D,"push_mode"),D.call(this,t);for(var j=this.config.recoveryEnabled;T<v;){o=null,c=-1;var F=g.charCodeAt(T);let t;var G,z=(t=O?(W=dg(F),void 0!==(W=I[W])?W:P):N).length;for(r=0;r<z;r++){var K=(M=t[r]).pattern,q=(l=null,M.short);if(!1!==q?F===q&&(c=1,o=K):!0===M.isCustom?null!==(y=K.exec(g,T,E,S))?(o=y[0],c=o.length,void 0!==y.payload&&(l=y.payload)):o=null:(K.lastIndex=T,c=this.matchLength(K,e,T)),-1!==c){if(void 0!==(s=M.longerAlt)){o=e.substring(T,T+c);var U=s.length;for(a=0;a<U;a++){var B=N[s[a]],V=B.pattern;if(!(u=null)===B.isCustom?null!==(y=V.exec(g,T,E,S))?(i=y[0],void 0!==y.payload&&(u=y.payload)):i=null:(V.lastIndex=T,i=this.match(V,e,T)),i&&i.length>o.length){o=i,c=i.length,l=u,M=B;break}}}break}}if(-1!==c){if(void 0!==(p=M.group)&&(o=null!==o?o:e.substring(T,T+c),d=M.tokenTypeIdx,f=this.createTokenInstance(o,T,d,M.tokenType,b,C,c),this.handlePayload(f,l),!1===p?R=this.addToken(E,R,f):S[p].push(f)),!0===k&&!0===M.canLineTerminator){let t,r=0;for(x.lastIndex=0;o=null!==o?o:e.substring(T,T+c),!0===(G=x.test(o))&&(t=x.lastIndex-1,r++),!0===G;);0!==r?(b+=r,C=c-t,this.updateTokenEndLineColumnLocation(f,p,t,r,b,C,c)):C=this.computeNewColumn(C,c)}else C=this.computeNewColumn(C,c);T+=c,this.handleModes(M,L,D,f)}else{var W=T,H=b,Y=C;let t=!1===j;for(;!1===t&&T<v;)for(T++,n=0;n<w;n++){var Z=N[n],X=Z.pattern,J=Z.short;if(!1!==J?g.charCodeAt(T)===J&&(t=!0):t=!0===Z.isCustom?null!==X.exec(g,T,E,S):(X.lastIndex=T,null!==X.exec(e)),!0===t)break}if(m=T-W,C=this.computeNewColumn(C,m),h=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(g,W,m,H,Y,om(_)),A.push({offset:W,line:H,column:Y,length:m,message:h}),!1===j)break}}return this.hasCustom||(E.length=R),{tokens:E,groups:S,errors:A}}handleModes(e,t,r,n){var a;!0===e.pop?(a=e.push,t(n),void 0!==a&&r.call(this,a)):void 0!==e.push&&r.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,r,n,a,i,s){void 0!==t&&(r=(t=r===s-1)?-1:0,1===n&&1==t||(e.endLine=a+r,e.endColumn=i-1-r))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,a,i){return{image:e,startOffset:t,startLine:a,startColumn:i,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,a,i,s){return{image:e,startOffset:t,endOffset:t+s-1,startLine:a,endLine:a,startColumn:i,endColumn:i+s-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}match(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null}matchLength(e,t,r){return!0===e.test(t)?e.lastIndex-r:-1}});function Pg(e){return Og(e)?e.LABEL:e.name}function Og(e){return Hm(e.LABEL)&&""!==e.LABEL}_g.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",_g.NA=/NOT_APPLICABLE/,Fe(Pg,"tokenLabel"),Fe(Og,"hasTokenLabel");var Lg="categories",Dg="label",Mg="group",jg="push_mode",Fg="pop_mode",Gg="longer_alt",zg="line_breaks",Kg="start_chars_hint";function qg(e){return Ug(e)}function Ug(e){var t=e.pattern,r={};if(r.name=e.name,fh(t)||(r.PATTERN=t),Vm(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return Vm(e,Lg)&&(r.CATEGORIES=e[Lg]),vg([r]),Vm(e,Dg)&&(r.LABEL=e[Dg]),Vm(e,Mg)&&(r.GROUP=e[Mg]),Vm(e,Fg)&&(r.POP_MODE=e[Fg]),Vm(e,jg)&&(r.PUSH_MODE=e[jg]),Vm(e,Gg)&&(r.LONGER_ALT=e[Gg]),Vm(e,zg)&&(r.LINE_BREAKS=e[zg]),Vm(e,Kg)&&(r.START_CHARS_HINT=e[Kg]),r}Fe(qg,"createToken"),Fe(Ug,"createTokenInternal");var Bg=qg({name:"EOF",pattern:_g.NA});function Vg(e,t,r,n,a,i,s,o){return{image:t,startOffset:r,endOffset:n,startLine:a,endLine:i,startColumn:s,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function Wg(e,t){return mg(e,t)}vg([Bg]),Fe(Vg,"createTokenInstance"),Fe(Wg,"tokenMatcher");var Hg={buildMismatchTokenMessage:({expected:e,actual:t})=>`Expecting ${Og(e)?`--\x3e ${Pg(e)} <--`:`token of type --\x3e ${e.name} <--`} but found --\x3e '${t.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:e})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,customUserDescription:r}){var n="Expecting: ";t="\nbut found: '"+_m(t).image+"'";return r?n+r+t:(r=Ch(e,(e,t)=>e.concat(t),[]),e=Dm(r,e=>`[${Dm(e,e=>Pg(e)).join(", ")}]`),n+"one of these possible Token sequences:\n"+Dm(e,(e,t)=>` ${t+1}. `+e).join("\n")+t)},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r}){var n="Expecting: ";t="\nbut found: '"+_m(t).image+"'";return r?n+r+t:n+`expecting at least one iteration which starts with one of these possible Token sequences::\n <${Dm(e,e=>`[${Dm(e,e=>Pg(e)).join(",")}]`).join(" ,")}>`+t}},Yg=(Object.freeze(Hg),{buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"}),Zg={buildDuplicateFoundError(e,t){function r(e){return e instanceof ey?e.terminalType.name:e instanceof Bh?e.nonTerminalName:""}Fe(r,"getExtraProductionArgument");e=e.name;var n,a=(n=_m(t)).idx;let i=`->${oy(n)}${0<a?a:""}<- ${(n=r(n))?`with argument: ->${n}<-`:""}\n appears more than once (${t.length} times) in the top level rule: ->${e}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;return(i=i.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){var t=Dm(e.prefixPath,e=>Pg(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix\nin <OR${r}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(e){var t=0===e.alternation.idx?"":e.alternation.idx,r=0===e.prefixPath.length;let n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${e.topLevelRule.name}> Rule,\n`;return r?n+="These alternatives are all empty (match no tokens), making them indistinguishable.\nOnly the last alternative may be empty.\n":(t=Dm(e.prefixPath,e=>Pg(e)).join(", "),n+=`<${t}> may appears as a prefix path in all these alternatives.\n`),n+"See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details."},buildEmptyRepetitionError(e){let t=oy(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives:\n<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\n has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){var t=e.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${t}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${t+" --\x3e "+Dm(e.leftRecursionPath,e=>e.name).concat([t]).join(" --\x3e ")}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return`Duplicate definition, rule: ->${t=e.topLevelRule instanceof Vh?e.topLevelRule.name:e.topLevelRule}<- is already defined in the grammar: ->${e.grammarName}<-`}};function Xg(e,t){return(e=new Qg(e,t)).resolveRefs(),e.errors}Fe(Xg,"resolveGrammar");var Jg,Qg=class extends ny{static{Fe(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){hm(Jm(this.nameToTopRule),e=>{(this.currTopLevel=e).accept(this)})}visitNonTerminal(e){var t=this.nameToTopRule[e.nonTerminalName];t?e.referencedRule=t:(t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e),this.errors.push({message:t,type:YT.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName}))}},ev=class extends ly{static{Fe(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=wd(this.path.ruleStack).reverse(),this.occurrenceStack=wd(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){e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence&&(t=t.concat(r),this.updateExpectedNext(),this.walk(e.referencedRule,t))}updateExpectedNext(){oh(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},tv=class extends ev{static{Fe(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found&&(e=t.concat(r),t=new Wh({definition:e}),this.possibleTokTypes=cy(t),this.found=!0)}},rv=class extends ly{static{Fe(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},nv=class extends rv{static{Fe(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){var n;e.idx===this.occurrence?(n=_m(t.concat(r)),this.result.isEndOfRule=void 0===n,n instanceof ey&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)):super.walkMany(e,t,r)}},av=class extends rv{static{Fe(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){var n;e.idx===this.occurrence?(n=_m(t.concat(r)),this.result.isEndOfRule=void 0===n,n instanceof ey&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)):super.walkManySep(e,t,r)}},iv=class extends rv{static{Fe(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){var n;e.idx===this.occurrence?(n=_m(t.concat(r)),this.result.isEndOfRule=void 0===n,n instanceof ey&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)):super.walkAtLeastOne(e,t,r)}},sv=class extends rv{static{Fe(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){var n;e.idx===this.occurrence?(n=_m(t.concat(r)),this.result.isEndOfRule=void 0===n,n instanceof ey&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)):super.walkAtLeastOneSep(e,t,r)}};function ov(e,t,r=[]){r=wd(r);let n=[],a=0;function i(t){return t.concat(um(e,a+1))}function s(e){return e=ov(i(e),t,r),n.concat(e)}for(Fe(i,"remainingPathWith"),Fe(s,"getAlternativesForProd");r.length<t&&a<e.length;){var o=e[a];if(o instanceof Wh)return s(o.definition);if(o instanceof Bh)return s(o.definition);if(o instanceof Hh)n=s(o.definition);else{if(o instanceof Yh)return s(o.definition.concat([new Xh({definition:o.definition})]));if(o instanceof Zh)return s([new Wh({definition:o.definition}),new Xh({definition:[new ey({terminalType:o.separator})].concat(o.definition)})]);if(o instanceof Jh){var l=o.definition.concat([new Xh({definition:[new ey({terminalType:o.separator})].concat(o.definition)})]);n=s(l)}else if(o instanceof Xh)l=o.definition.concat([new Xh({definition:o.definition})]),n=s(l);else{if(o instanceof Qh)return hm(o.definition,e=>{!1===oh(e.definition)&&(n=s(e.definition))}),n;if(!(o instanceof ey))throw Error("non exhaustive match");r.push(o.terminalType)}}a++}return n.push({partialPath:r,suffixDef:um(e,a)}),n}function lv(e,t,r,n){var a="EXIT_NONE_TERMINAL",i=[a],s="EXIT_ALTERNATIVE";let o=!1;var l=t.length,u=l-n-1,c=[],p=[];for(p.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!oh(p);){if((v=p.pop())===s)o&&om(p).idx<=u&&p.pop();else{var d=v.def,f=v.idx,m=v.ruleStack,h=v.occurrenceStack;if(!oh(d)){var y=d[0];if(y===a)v={idx:f,def:um(d),ruleStack:pm(m),occurrenceStack:pm(h)},p.push(v);else if(y instanceof ey)if(f<l-1){r(t[v=f+1],y.terminalType)&&(v={idx:v,def:um(d),ruleStack:m,occurrenceStack:h},p.push(v))}else{if(f!==l-1)throw Error("non exhaustive match");c.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:m,occurrenceStack:h}),o=!0}else if(y instanceof Bh){var g=((v=wd(m)).push(y.nonTerminalName),wd(h)),v=(g.push(y.idx),{idx:f,def:y.definition.concat(i,um(d)),ruleStack:v,occurrenceStack:g});p.push(v)}else if(y instanceof Hh)g={idx:f,def:um(d),ruleStack:m,occurrenceStack:h},p.push(g),p.push(s),v={idx:f,def:y.definition.concat(um(d)),ruleStack:m,occurrenceStack:h},p.push(v);else if(y instanceof Yh)v=new Xh({definition:y.definition,idx:y.idx}),v=y.definition.concat([v],um(d)),p.push({idx:f,def:v,ruleStack:m,occurrenceStack:h});else if(y instanceof Zh)v=new ey({terminalType:y.separator}),v=new Xh({definition:[v].concat(y.definition),idx:y.idx}),v=y.definition.concat([v],um(d)),p.push({idx:f,def:v,ruleStack:m,occurrenceStack:h});else if(y instanceof Jh)v={idx:f,def:um(d),ruleStack:m,occurrenceStack:h},p.push(v),p.push(s),v=new ey({terminalType:y.separator}),v=new Xh({definition:[v].concat(y.definition),idx:y.idx}),v=y.definition.concat([v],um(d)),p.push({idx:f,def:v,ruleStack:m,occurrenceStack:h});else if(y instanceof Xh)v={idx:f,def:um(d),ruleStack:m,occurrenceStack:h},p.push(v),p.push(s),v=new Xh({definition:y.definition,idx:y.idx}),v=y.definition.concat([v],um(d)),p.push({idx:f,def:v,ruleStack:m,occurrenceStack:h});else if(y instanceof Qh)for(let e=y.definition.length-1;0<=e;e--){var T={idx:f,def:y.definition[e].definition.concat(um(d)),ruleStack:m,occurrenceStack:h};p.push(T),p.push(s)}else if(y instanceof Wh)p.push({idx:f,def:y.definition.concat(um(d)),ruleStack:m,occurrenceStack:h});else{if(!(y instanceof Vh))throw Error("non exhaustive match");p.push(uv(y,f,m,h))}}}}return c}function uv(e,t,r,n){return(r=wd(r)).push(e.name),(n=wd(n)).push(1),{idx:t,def:e.definition,ruleStack:r,occurrenceStack:n}}function cv(e){if(e instanceof Hh||"Option"===e)return Jg.OPTION;if(e instanceof Xh||"Repetition"===e)return Jg.REPETITION;if(e instanceof Yh||"RepetitionMandatory"===e)return Jg.REPETITION_MANDATORY;if(e instanceof Zh||"RepetitionMandatoryWithSeparator"===e)return Jg.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof Jh||"RepetitionWithSeparator"===e)return Jg.REPETITION_WITH_SEPARATOR;if(e instanceof Qh||"Alternation"===e)return Jg.ALTERNATION;throw Error("non exhaustive match")}function pv(e){var t,{occurrence:e,rule:r,prodType:t,maxLookahead:n}=e;return(t=cv(t))===Jg.ALTERNATION?Ev(e,r,n):Av(e,r,t,n)}function dv(e,t,r,n,a,i){return i(e=Ev(e,t,r),n,Sv(e)?hg:mg,a)}function fv(e,t,r,n,a,i){return t=Sv(e=Av(e,t,a,r))?hg:mg,i(e[0],t,n)}function mv(e,t,r,n){let a=e.length;var i=$m(e,e=>$m(e,e=>1===e.length));if(t)return function(t){var n=Dm(t,e=>e.GATE);for(let t=0;t<a;t++){var i=e[t],s=i.length,o=n[t];if(void 0===o||!1!==o.call(this))e:for(let e=0;e<s;e++){var l=i[e],u=l.length;for(let e=0;e<u;e++){var c=this.LA(e+1);if(!1===r(c,l[e]))continue e}return t}}};if(!i||n)return function(){for(let l=0;l<a;l++){var t=e[l],n=t.length;e:for(let e=0;e<n;e++){var i=t[e],s=i.length;for(let e=0;e<s;e++){var o=this.LA(e+1);if(!1===r(o,i[e]))continue e}return l}}};{t=Dm(e,e=>jc(e));let r=Ch(t,(e,t,r)=>(hm(t,t=>{Vm(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),hm(t.categoryMatches,t=>{Vm(e,t)||(e[t]=r)})}),e),{});return function(){var e=this.LA(1);return r[e.tokenTypeIdx]}}}function hv(e,t,r){var n=$m(e,e=>1===e.length);let a=e.length;if(!n||r)return function(){e:for(let s=0;s<a;s++){var r=e[s],n=r.length;for(let e=0;e<n;e++){var i=this.LA(e+1);if(!1===t(i,r[e]))continue e}return!0}return!1};if(1===(n=jc(e)).length&&oh(n[0].categoryMatches)){let e=n[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=Ch(n,(e,t,r)=>(e[t.tokenTypeIdx]=!0,hm(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){var t=this.LA(1);return!0===e[t.tokenTypeIdx]}}}Fe(ov,"possiblePathsFrom"),Fe(lv,"nextPossibleTokensAfter"),Fe(uv,"expandTopLevelRule"),(e=>{e[e.OPTION=0]="OPTION",e[e.REPETITION=1]="REPETITION",e[e.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",e[e.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",e[e.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",e[e.ALTERNATION=5]="ALTERNATION"})(Jg=Jg||{}),Fe(cv,"getProdType"),Fe(pv,"getLookaheadPaths"),Fe(dv,"buildLookaheadFuncForOr"),Fe(fv,"buildLookaheadFuncForOptionalProd"),Fe(mv,"buildAlternativesLookAheadFunc"),Fe(hv,"buildSingleAlternativeLookaheadFunction");var yv=class extends ly{static{Fe(this,"RestDefinitionFinderWalker")}constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,Jg.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,Jg.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,Jg.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,Jg.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,Jg.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},gv=class extends ny{static{Fe(this,"InsideDefinitionFinderVisitor")}constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx!==this.targetOccurrence||this.targetProdType!==t||void 0!==this.targetRef&&e!==this.targetRef||(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Jg.OPTION)}visitRepetition(e){this.checkIsTarget(e,Jg.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Jg.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Jg.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Jg.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Jg.ALTERNATION)}};function vv(e){var t=new Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function Tv(e){let t=[""];for(let s=0;s<e.length;s++){var r=e[s],n=[];for(let e=0;e<t.length;e++){var a=t[e];n.push(a+"_"+r.tokenTypeIdx);for(let e=0;e<r.categoryMatches.length;e++){var i="_"+r.categoryMatches[e];n.push(a+i)}}t=n}return t}function Rv(e,t,r){for(let a=0;a<e.length;a++)if(a!==r){var n=e[a];for(let e=0;e<t.length;e++)if(!0===n[t[e]])return!1}return!0}function $v(e,t){var r=vv((e=Dm(e,e=>ov([e],1))).length);let n=Dm(e,e=>{let t={};return hm(e,e=>{e=Tv(e.partialPath),hm(e,e=>{t[e]=!0})}),t}),a=e;for(let e=1;e<=t;e++){var i=a;a=vv(i.length);for(let d=0;d<i.length;d++){var s=i[d];for(let i=0;i<s.length;i++){var o=s[i].partialPath,l=s[i].suffixDef,u=Tv(o);if(Rv(n,u,d)||oh(l)||o.length===t){var c=r[d];if(!1===bv(c,o)){c.push(o);for(let e=0;e<u.length;e++){var p=u[e];n[d][p]=!0}}}else c=ov(l,e+1,o),a[d]=a[d].concat(c),hm(c,e=>{e=Tv(e.partialPath),hm(e,e=>{n[d][e]=!0})})}}}return r}function Ev(e,t,r,n){return e=new gv(e,Jg.ALTERNATION,n),t.accept(e),$v(e.result,r)}function Av(e,t,r,n){var a=new gv(e,r);t.accept(a),a=a.result,t=new yv(t,e,r).startWalking();return $v([new Wh({definition:a}),new Wh({definition:t})],n)}function bv(e,t){e:for(let i=0;i<e.length;i++){var r=e[i];if(r.length===t.length){for(let e=0;e<r.length;e++){var n=t[e],a=r[e];if(0==(n===a||void 0!==a.categoryMatchesMap[n.tokenTypeIdx]))continue e}return!0}}return!1}function Cv(e,t){return e.length<t.length&&$m(e,(e,r)=>e===(r=t[r])||r.categoryMatchesMap[e.tokenTypeIdx])}function Sv(e){return $m(e,e=>$m(e,e=>$m(e,e=>oh(e.categoryMatches))))}function kv(e){return e=e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),Dm(e,e=>Object.assign({type:YT.CUSTOM_LOOKAHEAD_VALIDATION},e))}function xv(e,t,r,n){var a=jm(e,e=>wv(e,r)),i=(t=Bv(e,t,r),jm(e,e=>zv(e,r))),s=jm(e,t=>Pv(t,e,n,r));return a.concat(t,i,s)}function wv(e,t){var r=new _v;e.accept(r),r=r.allProductions,r=zm(r,Nv),r=$h(r,e=>1<e.length);return Dm(Jm(r),r=>{var n=_m(r),a=(r=t.buildDuplicateFoundError(e,r),oy(n));r={message:r,type:YT.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:n.idx};return(a=Iv(n))&&(r.parameter=a),r})}function Nv(e){return`${oy(e)}_#_${e.idx}_#_`+Iv(e)}function Iv(e){return e instanceof ey?e.terminalType.name:e instanceof Bh?e.nonTerminalName:""}Fe(vv,"initializeArrayOfArrays"),Fe(Tv,"pathToHashKeys"),Fe(Rv,"isUniquePrefixHash"),Fe($v,"lookAheadSequenceFromAlternatives"),Fe(Ev,"getLookaheadPathsForOr"),Fe(Av,"getLookaheadPathsForOptionalProd"),Fe(bv,"containsPath"),Fe(Cv,"isStrictPrefixOfPath"),Fe(Sv,"areTokenCategoriesNotUsed"),Fe(kv,"validateLookahead"),Fe(xv,"validateGrammar"),Fe(wv,"validateDuplicateProductions"),Fe(Nv,"identifyProductionForDuplicates"),Fe(Iv,"getExtraProductionArgument");var _v=class extends ny{static{Fe(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function Pv(e,t,r,n){var a=[];return 1<Ch(t,(t,r)=>r.name===e.name?t+1:t,0)&&(t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r}),a.push({message:t,type:YT.DUPLICATE_RULE_NAME,ruleName:e.name})),a}function Ov(e,t,r){var n=[];return th(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:YT.INVALID_RULE_OVERRIDE,ruleName:e}),n}function Lv(e,t,r,n=[]){var a,i=[];t=Dv(t.definition);return oh(t)?[]:(a=e.name,th(t,e)&&i.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:YT.LEFT_RECURSION,ruleName:a}),a=im(t,n.concat([e])),t=jm(a,t=>{var a=wd(n);return a.push(t),Lv(e,t,r,a)}),i.concat(t))}function Dv(e){let t=[];if(oh(e))return t;if((r=_m(e))instanceof Bh)t.push(r.referencedRule);else if(r instanceof Wh||r instanceof Hh||r instanceof Yh||r instanceof Zh||r instanceof Jh||r instanceof Xh)t=t.concat(Dv(r.definition));else if(r instanceof Qh)t=jc(Dm(r.definition,e=>Dv(e.definition)));else if(!(r instanceof ey))throw Error("non exhaustive match");var r=iy(r),n=1<e.length;return r&&n?(r=um(e),t.concat(Dv(r))):t}Fe(Pv,"validateRuleDoesNotAlreadyExist"),Fe(Ov,"validateRuleIsOverridden"),Fe(Lv,"validateNoLeftRecursion"),Fe(Dv,"getFirstNoneTerminal");var Mv=class extends ny{static{Fe(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function jv(e,t){var r=new Mv;e.accept(r),r=r.alternations;return jm(r,r=>{var n=pm(r.definition);return jm(n,(n,a)=>(n=lv([n],[],mg,1),oh(n)?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:a}),type:YT.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:a+1}]:[]))})}function Fv(e,t,r){var n=new Mv;e.accept(n),n=n.alternations,n=kh(n,e=>!0===e.ignoreAmbiguities);return jm(n,n=>{var a=qv(i=Ev(n.idx,e,n.maxLookahead||t,n),n,e,r),i=Uv(i,n,e,r);return a.concat(i)})}Fe(jv,"validateEmptyOrAlternative"),Fe(Fv,"validateAmbiguousAlternationAlternatives");var Gv=class extends ny{static{Fe(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function zv(e,t){var r=new Mv;e.accept(r),r=r.alternations;return jm(r,r=>255<r.definition.length?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:YT.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])}function Kv(e,t,r){let n=[];return hm(e,e=>{var a=new Gv;e.accept(a),a=a.allProductions;hm(a,a=>{var i=cv(a),s=a.maxLookahead||t;i=Av(a.idx,e,i,s)[0];oh(jc(i))&&(s=r.buildEmptyRepetitionError({topLevelRule:e,repetition:a}),n.push({message:s,type:YT.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name}))})}),n}function qv(e,t,r,n){let a=[];var i=Ch(e,(r,n,i)=>(!0!==t.definition[i].ignoreAmbiguities&&hm(n,n=>{let s=[i];hm(e,(e,r)=>{i!==r&&bv(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),1<s.length&&!bv(a,n)&&(a.push(n),r.push({alts:s,path:n}))}),r),[]);return Dm(i,e=>{var a=Dm(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:a,prefixPath:e.path}),type:YT.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}function Uv(e,t,r,n){let a=Ch(e,(e,t,r)=>(t=Dm(t,e=>({idx:r,path:e})),e.concat(t)),[]);return Id(jm(a,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let i=e.idx,s=e.path;return e=Cm(a,e=>!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<i&&Cv(e.path,s)),Dm(e,e=>{var a=[e.idx+1,i+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:a,prefixPath:e.path}),type:YT.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:a}})}))}function Bv(e,t,r){let n=[],a=Dm(t,e=>e.name);return hm(e,e=>{var t=e.name;th(a,t)&&(e=r.buildNamespaceConflictError(e),n.push({message:e,type:YT.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t}))}),n}function Vv(e){var t=Xf(e,{errMsgProvider:Yg});let r={};return hm(e.rules,e=>{r[e.name]=e}),Xg(r,t.errMsgProvider)}function Wv(e){return xv((e=Xf(e,{errMsgProvider:Zg})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}Fe(zv,"validateTooManyAlts"),Fe(Kv,"validateSomeNonEmptyLookaheadPath"),Fe(qv,"checkAlternativesAmbiguities"),Fe(Uv,"checkPrefixAlternativesAmbiguities"),Fe(Bv,"checkTerminalAndNoneTerminalsNameSpace"),Fe(Vv,"resolveGrammar"),Fe(Wv,"validateGrammar");var Hv="MismatchedTokenException",Yv="NoViableAltException",Zv="EarlyExitException",Xv="NotAllInputParsedException",Jv=[Hv,Yv,Zv,Xv];function Qv(e){return th(Jv,e.name)}Object.freeze(Jv),Fe(Qv,"isRecognitionException");var eT=class extends Error{static{Fe(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},tT=class extends eT{static{Fe(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Hv}},rT=class extends eT{static{Fe(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Yv}},nT=class extends eT{static{Fe(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=Xv}},aT=class extends eT{static{Fe(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Zv}},iT={},sT="InRuleRecoveryException",oT=class extends Error{static{Fe(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=sT}},lT=class{static{Fe(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(Vm(e,"recoveryEnabled")?e:XT).recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=uT)}getTokenToInsert(e){return(e=Vg(e,"",NaN,NaN,NaN,NaN,NaN,NaN)).isInsertedInRecovery=!0,e}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){var a=this.findReSyncTokenType(),i=this.exportLexerState();let s=[],o=!1,l=this.LA(1),u=this.LA(1);for(var c=Fe(()=>{var e=this.LA(0);e=this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()});(e=new tT(e,l,this.LA(0))).resyncedTokens=pm(s),this.SAVE_ERROR(e)},"generateErrorMessage");!o;){if(this.tokenMatcher(u,n))return void c();if(r.call(this))return c(),void e.apply(this,t);this.tokenMatcher(u,a)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s))}this.importLexerState(i)}shouldInRepetitionRecoveryBeTried(e,t,r){return!1!==r&&!this.tokenMatcher(this.LA(1),e)&&!this.isBackTracking()&&!this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t))}getFollowsForInRuleRecovery(e,t){return e=this.getCurrentGrammarPath(e,t),this.getNextPossibleTokenTypes(e)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e))return t=this.SKIP_TOKEN(),this.consumeToken(),t;throw new oT("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e))return!1;if(oh(t))return!1;let r=this.LA(1);return void 0!==Nm(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){var t=this.getCurrFollowKey();t=this.getFollowSetFromFollowKey(t);return th(t,e)}findReSyncTokenType(){var e=this.flattenFollowSet();let t=this.LA(1),r=2;for(;;){var n=Nm(e,e=>Wg(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){var e,t,r;return 1===this.RULE_STACK.length?iT:(e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName(),{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)})}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return Dm(e,(r,n)=>0===n?iT:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){var e=Dm(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e));return jc(e)}getFollowSetFromFollowKey(e){return e===iT?[Bg]:(e=e.ruleName+e.idxInCallingRule+my+e.inRule,this.resyncFollows[e])}addToResyncTokens(e,t){return this.tokenMatcher(e,Bg)||t.push(e),t}reSyncTo(e){var t=[];let r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return pm(t)}attemptInRepetitionRecovery(e,t,r,n,a,i,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:wd(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return Dm(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function uT(e,t,r,n,a,i,s){n=this.getKeyForAutomaticLookahead(n,a);let o=this.firstAfterRepMap[n],l=(void 0===o&&(c=this.getCurrRuleFullName(),o=(i=new i(this.getGAstProductions()[c],a)).startWalking(),this.firstAfterRepMap[n]=o),o.token),u=o.occurrence;var c=o.isEndOfRule;1===this.RULE_STACK.length&&c&&void 0===l&&(l=Bg,u=1),void 0!==l&&void 0!==u&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(e,t,r,l)}Fe(uT,"attemptInRepetitionRecovery");var cT=1024,pT=1280,dT=1536;function fT(e,t,r){return r|t|e}Fe(fT,"getKeyForAutomaticLookahead");var mT=class{static{Fe(this,"LLkLookaheadStrategy")}constructor(e){this.maxLookahead=null!=(e=null==e?void 0:e.maxLookahead)?e:XT.maxLookahead}validate(e){var t,r,n=this.validateNoLeftRecursion(e.rules);return oh(n)?(t=this.validateEmptyOrAlternatives(e.rules),r=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),e=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead),[...n,...t,...r,...e]):n}validateNoLeftRecursion(e){return jm(e,e=>Lv(e,e,Zg))}validateEmptyOrAlternatives(e){return jm(e,e=>jv(e,Zg))}validateAmbiguousAlternationAlternatives(e,t){return jm(e,e=>Fv(e,t,Zg))}validateSomeNonEmptyLookaheadPath(e,t){return Kv(e,t,Zg)}buildLookaheadForAlternation(e){return dv(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,mv)}buildLookaheadForOptional(e){return fv(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,cv(e.prodType),hv)}},hT=class{static{Fe(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=(Vm(e,"dynamicTokensEnabled")?e:XT).dynamicTokensEnabled,this.maxLookahead=(Vm(e,"maxLookahead")?e:XT).maxLookahead,this.lookaheadStrategy=Vm(e,"lookaheadStrategy")?e.lookaheadStrategy:new mT({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){hm(e,e=>{this.TRACE_INIT(e.name+" Rule Lookahead",()=>{var{alternation:t,repetition:r,option:n,repetitionMandatory:a,repetitionMandatoryWithSeparator:i,repetitionWithSeparator:s}=vT(e);hm(t,t=>{var r=0===t.idx?"":t.idx;this.TRACE_INIT(""+oy(t)+r,()=>{var r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=fT(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(n,r)})}),hm(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,oy(t))}),hm(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,oy(t))}),hm(a,t=>{this.computeLookaheadFunc(e,t.idx,cT,"RepetitionMandatory",t.maxLookahead,oy(t))}),hm(i,t=>{this.computeLookaheadFunc(e,t.idx,dT,"RepetitionMandatoryWithSeparator",t.maxLookahead,oy(t))}),hm(s,t=>{this.computeLookaheadFunc(e,t.idx,pT,"RepetitionWithSeparator",t.maxLookahead,oy(t))})})})}computeLookaheadFunc(e,t,r,n,a,i){this.TRACE_INIT(""+i+(0===t?"":t),()=>{var i=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=fT(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(s,i)})}getKeyForAutomaticLookahead(e,t){return fT(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},yT=class extends ny{static{Fe(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},gT=new yT;function vT(e){return gT.reset(),e.accept(gT),e=gT.dslMethods,gT.reset(),e}function TT(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==1&&(e.endOffset=t.endOffset)}function RT(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==1&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function $T(e,t,r){void 0===e.children[r]?e.children[r]=[t]:e.children[r].push(t)}function ET(e,t,r){void 0===e.children[t]?e.children[t]=[r]:e.children[t].push(r)}Fe(vT,"collectMethods"),Fe(TT,"setNodeLocationOnlyOffset"),Fe(RT,"setNodeLocationFull"),Fe($T,"addTerminalToCst"),Fe(ET,"addNoneTerminalToCst");var AT;function bT(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function CT(e,t){var r=iu(e),n=r.length;for(let o=0;o<n;o++){var a=e[r[o]],i=a.length;for(let e=0;e<i;e++){var s=a[e];void 0===s.tokenTypeIdx&&this[s.name](s.children,t)}}}function ST(e,t){var r=Fe(function(){},"derivedConstructor");bT(r,e+"BaseSemantics"),e={visit:Fe(function(e,t){if(As(e)&&(e=e[0]),!fh(e))return this[e.name](e.children,t)},"visit"),validateVisitor:Fe(function(){var e=xT(this,t);if(!oh(e))throw e=Dm(e,e=>e.msg),Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t`+e.join("\n\n").replace(/\n/g,"\n\t"))},"validateVisitor")};return r.prototype=e,(r.prototype.constructor=r)._RULE_NAMES=t,r}function kT(e,t,r){var n=Fe(function(){},"derivedConstructor");bT(n,e+"BaseSemanticsWithDefaults");let a=Object.create(r.prototype);return hm(t,e=>{a[e]=CT}),n.prototype=a,n.prototype.constructor=n}function xT(e,t){return wT(e,t)}function wT(e,t){return t=Cm(t,t=>!1===Zs(e[t])),t=Dm(t,t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:AT.MISSING_METHOD,methodName:t})),Id(t)}Fe(bT,"defineNameProp"),Fe(CT,"defaultVisit"),Fe(ST,"createBaseSemanticVisitorConstructor"),Fe(kT,"createBaseVisitorConstructorWithDefaults"),(e=>{e[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD"})(AT=AT||{}),Fe(xT,"validateVisitor"),Fe(wT,"validateMissingCstMethods");var NT=class{static{Fe(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(Vm(e,"nodeLocationTracking")?e:XT).nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=RT,this.setNodeLocationFromNode=RT,this.cstPostRule=bo,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=bo,this.setNodeLocationFromNode=bo,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=TT,this.setNodeLocationFromNode=TT,this.cstPostRule=bo,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=bo,this.setNodeLocationFromNode=bo,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=bo,this.setNodeLocationFromNode=bo,this.cstPostRule=bo,this.setInitialNodeLocation=bo}else this.cstInvocationStateUpdate=bo,this.cstFinallyStateUpdate=bo,this.cstPostTerminal=bo,this.cstPostNonTerminal=bo,this.cstPostRule=bo}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){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){e={name:e,children:Object.create(null)},this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){var t=this.LA(0);(e=e.location).startOffset<=t.startOffset==1?(e.endOffset=t.endOffset,e.endLine=t.endLine,e.endColumn=t.endColumn):(e.startOffset=NaN,e.startLine=NaN,e.startColumn=NaN)}cstPostRuleOnlyOffset(e){var t=this.LA(0);(e=e.location).startOffset<=t.startOffset==1?e.endOffset=t.endOffset:e.startOffset=NaN}cstPostTerminal(e,t){var r=this.CST_STACK[this.CST_STACK.length-1];$T(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){var r=this.CST_STACK[this.CST_STACK.length-1];ET(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){var e;return fh(this.baseCstVisitorConstructor)?(e=ST(this.className,iu(this.gastProductionsCache)),this.baseCstVisitorConstructor=e):this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){var e;return fh(this.baseCstVisitorWithDefaultsConstructor)?(e=kT(this.className,iu(this.gastProductionsCache),this.getBaseCstVisitorConstructor()),this.baseCstVisitorWithDefaultsConstructor=e):this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},IT=class{static{Fe(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):ZT}LA(e){return(e=this.currIdx+e)<0||this.tokVectorLength<=e?ZT:this.tokVector[e]}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()}},_T=class{static{Fe(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=JT){th(this.definedRulesNames,e)&&(n={message:Zg.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:YT.DUPLICATE_RULE_NAME,ruleName:e},this.definitionErrors.push(n)),this.definedRulesNames.push(e);var n=this.defineRule(e,t,r);return this[e]=n}OVERRIDE_RULE(e,t,r=JT){var n=Ov(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n),n=this.defineRule(e,t,r);return this[e]=n}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);var r=this.saveRecogState();try{return e.apply(this,t),!0}catch(r){if(Qv(r))return!1;throw r}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return ty(Jm(this.gastProductionsCache))}},PT=class{static{Fe(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=hg,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Vm(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if(As(e)){if(oh(e))throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if(As(e))this.tokensMap=Ch(e,(e,t)=>(e[t.name]=t,e),{});else if(Vm(e,"modes")&&$m(jc(Jm(e.modes)),xg))t=jc(Jm(e.modes)),t=Mh(t),this.tokensMap=Ch(t,(e,t)=>(e[t.name]=t,e),{});else{if(!Ls(e))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=wd(e)}this.tokensMap.EOF=Bg,t=Vm(e,"modes")?jc(Jm(e.modes)):Jm(e),e=$m(t,e=>oh(e.categoryMatches)),this.tokenMatcher=e?hg:mg,vg(Jm(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n,a=(Vm(r,"resyncEnabled")?r:JT).resyncEnabled,i=(Vm(r,"recoveryValueFunc")?r:JT).recoveryValueFunc,s=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s,n=!0===this.outputCst?Fe(function(...r){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,r);var n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(r){return this.invokeRuleCatch(r,a,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):Fe(function(...r){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,r)}catch(r){return this.invokeRuleCatch(r,a,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(n,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){var n=1===this.RULE_STACK.length;t=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Qv(e)){var a=e;if(t){t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t))return a.resyncedTokens=this.reSyncTo(t),this.outputCst?((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,t):r(e);this.outputCst&&((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,a.partialCstResult=t)}else if(n)return this.moveToTerminatedState(),r(e);throw a}throw e}optionInternal(e,t){var r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,a=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=a;a=Fe(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else n=e;if(!0===a.call(this))return n.call(this)}atLeastOneInternal(e,t){var r=this.getKeyForAutomaticLookahead(cT,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,a=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=a;a=Fe(()=>e.call(this)&&t.call(this),"lookAheadFunc")}}else n=t;if(!0!==a.call(this))throw this.raiseEarlyExitException(e,Jg.REPETITION_MANDATORY,t.ERR_MSG);{let e=this.doSingleRepetition(n);for(;!0===a.call(this)&&!0===e;)e=this.doSingleRepetition(n)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],a,cT,e,iv)}atLeastOneSepFirstInternal(e,t){var r=this.getKeyForAutomaticLookahead(dT,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){var n=t.DEF;let a=t.SEP;if(!0!==this.getLaFuncFromCache(r).call(this))throw this.raiseEarlyExitException(e,Jg.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);for(n.call(this),r=Fe(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),a);)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,r,n,sv],r,dT,e,sv)}manyInternal(e,t){var r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,a=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=a;a=Fe(()=>e.call(this)&&t.call(this),"lookaheadFunction")}}else n=t;let i=!0;for(;!0===a.call(this)&&!0===i;)i=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],a,768,e,nv,i)}manySepFirstInternal(e,t){var r=this.getKeyForAutomaticLookahead(pT,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){var n=t.DEF;let a=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){for(n.call(this),t=Fe(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),a);)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,t,n,av],t,pT,e,av)}}repetitionSepSecondInternal(e,t,r,n,a){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,a],r,dT,e,a)}doSingleRepetition(e){return this.getLexerPosition()<(e=(e.call(this),this.getLexerPosition()))}orInternal(e,t){var r=this.getKeyForAutomaticLookahead(256,t),n=As(e)?e:e.DEF;if(void 0!==(r=this.getLaFuncFromCache(r).call(this,n)))return n[r].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){var e,t;this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()&&(e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new nT(t,e)))}subruleInternal(e,t,r){var n;try{var a=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,a),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw Qv(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{var a=this.LA(1);!0===this.tokenMatcher(a,e)?(this.consumeToken(),n=a):this.consumeInternalError(e,a,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n;var a=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new tT(n,t,a))}consumeInternalRecovery(e,t,r){if(!this.recoveryEnabled||"MismatchedTokenException"!==r.name||this.isBackTracking())throw r;t=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,t)}catch(e){throw e.name===sT?r:e}}saveRecogState(){var e=this.errors,t=wd(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Bg)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},OT=class{static{Fe(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=(Vm(e,"errorMessageProvider")?e:XT).errorMessageProvider}SAVE_ERROR(e){if(Qv(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:wd(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return wd(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){var n=this.getCurrRuleFullName(),a=(e=Av(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],[]);for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));throw t=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:e,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n}),this.SAVE_ERROR(new aT(t,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){var r=this.getCurrRuleFullName(),n=(e=Ev(e,this.getGAstProductions()[r],this.maxLookahead),[]);for(let e=1;e<=this.maxLookahead;e++)n.push(this.LA(e));throw r=this.LA(0),e=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:e,actual:n,previous:r,customUserDescription:t,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new rT(e,this.LA(1),r))}},LT=class{static{Fe(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){var r=this.gastProductionsCache[e];if(fh(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return lv([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){var t=_m(e.ruleStack);t=this.getGAstProductions()[t];return new tv(t,e).startWalking()}},DT={description:"This Object indicates the Parser is during Recording Phase"},MT=(Object.freeze(DT),!0),jT=Math.pow(2,8)-1,FT=qg({name:"RECORDING_PHASE_TOKEN",pattern:_g.NA}),GT=(vg([FT]),Vg(FT,"This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1)),zT=(Object.freeze(GT),{name:"This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}}),KT=class{static{Fe(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let t=0;t<10;t++){var e=0<t?t:"";this["CONSUME"+e]=function(e,r){return this.consumeInternalRecord(e,t,r)},this["SUBRULE"+e]=function(e,r){return this.subruleInternalRecord(e,t,r)},this["OPTION"+e]=function(e){return this.optionInternalRecord(e,t)},this["OR"+e]=function(e){return this.orInternalRecord(e,t)},this["MANY"+e]=function(e){this.manyInternalRecord(t,e)},this["MANY_SEP"+e]=function(e){this.manySepFirstInternalRecord(t,e)},this["AT_LEAST_ONE"+e]=function(e){this.atLeastOneInternalRecord(t,e)},this["AT_LEAST_ONE_SEP"+e]=function(e){this.atLeastOneSepFirstInternalRecord(t,e)}}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",()=>{var e=this;for(let r=0;r<10;r++){var t=0<r?r:"";delete e["CONSUME"+t],delete e["SUBRULE"+t],delete e["OPTION"+t],delete e["OR"+t],delete e["MANY"+t],delete e["MANY_SEP"+t],delete e["AT_LEAST_ONE"+t],delete e["AT_LEAST_ONE_SEP"+t]}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 ZT}topLevelRuleRecord(e,t){try{var r=new Vh({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return qT.call(this,Hh,e,t)}atLeastOneInternalRecord(e,t){qT.call(this,Yh,t,e)}atLeastOneSepFirstInternalRecord(e,t){qT.call(this,Zh,t,e,MT)}manyInternalRecord(e,t){qT.call(this,Xh,t,e)}manySepFirstInternalRecord(e,t){qT.call(this,Jh,t,e,MT)}orInternalRecord(e,t){return UT.call(this,e,t)}subruleInternalRecord(e,t,r){var n,a;if(VT(t),e&&!1!==Vm(e,"ruleName"))return n=om(this.recordingProdStack),a=e.ruleName,a=new Bh({idx:t,nonTerminalName:a,label:null==r?void 0:r.LABEL,referencedRule:void 0}),n.definition.push(a),this.outputCst?zT:DT;throw(r=new Error(`<SUBRULE${BT(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`)).KNOWN_RECORDER_ERROR=!0,r}consumeInternalRecord(e,t,r){var n;if(VT(t),bg(e))return n=om(this.recordingProdStack),r=new ey({idx:t,terminalType:e,label:null==r?void 0:r.LABEL}),n.definition.push(r),GT;throw(n=new Error(`<CONSUME${BT(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`)).KNOWN_RECORDER_ERROR=!0,n}};function qT(e,t,r,n=!1){VT(r);var a=om(this.recordingProdStack),i=Zs(t)?t:t.DEF;e=new e({definition:[],idx:r});return n&&(e.separator=t.SEP),Vm(t,"MAX_LOOKAHEAD")&&(e.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(e),i.call(this),a.definition.push(e),this.recordingProdStack.pop(),DT}function UT(e,t){VT(t);var r=om(this.recordingProdStack),n=!1===As(e),a=0==n?e:e.DEF;let i=new Qh({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});return Vm(e,"MAX_LOOKAHEAD")&&(i.maxLookahead=e.MAX_LOOKAHEAD),t=Ih(a,e=>Zs(e.GATE)),i.hasPredicates=t,r.definition.push(i),hm(a,e=>{var t=new Wh({definition:[]});i.definition.push(t),Vm(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:Vm(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),DT}function BT(e){return 0===e?"":""+e}function VT(e){if(e<0||jT<e)throw(e=new Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than `+(jT+1))).KNOWN_RECORDER_ERROR=!0,e}Fe(qT,"recordProd"),Fe(UT,"recordOrProd"),Fe(BT,"getIdxSuffix"),Fe(VT,"assertMethodIdxIsValid");var WT=class{static{Fe(this,"PerformanceTracer")}initPerformanceTracer(e){var t;Vm(e,"traceInitPerf")?(e=e.traceInitPerf,this.traceInitMaxIdent=(t="number"==typeof e)?e:1/0,this.traceInitPerf=t?0<e:e):(this.traceInitMaxIdent=0,this.traceInitPerf=XT.traceInitPerf),this.traceInitIndent=-1}TRACE_INIT(e,t){var r,n,a,i;return!0===this.traceInitPerf?(this.traceInitIndent++,r=new Array(this.traceInitIndent+1).join("\t"),({time:n,value:a}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(r+`--\x3e <${e}>`),Gh(t))),i=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&i(r+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,a):t()}};function HT(e,t){t.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{var a;"constructor"!==n&&((a=Object.getOwnPropertyDescriptor(r,n))&&(a.get||a.set)?Object.defineProperty(e.prototype,n,a):e.prototype[n]=t.prototype[n])})})}Fe(HT,"applyMixins");var YT,ZT=Vg(Bg,"",NaN,NaN,NaN,NaN,NaN,NaN),XT=(Object.freeze(ZT),Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Hg,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1})),JT=Object.freeze({recoveryValueFunc:Fe(()=>{},"recoveryValueFunc"),resyncEnabled:!0});function QT(e=void 0){return function(){return e}}(e=>{e[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(YT=YT||{}),Fe(QT,"EMPTY_ALT");var eR=class e{static{Fe(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{var t;this.selfAnalysisDone=!0;let r=this.className,n=(this.TRACE_INIT("toFastProps",()=>{zh(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),hm(this.definedRulesNames,e=>{let t,r=this[e].originalGrammarAction;this.TRACE_INIT(e+" Rule",()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}}),[]);if(this.TRACE_INIT("Grammar Resolving",()=>{n=Vv({rules:Jm(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{var e,t;oh(n)&&!1===this.skipValidations&&(e=Wv({rules:Jm(this.gastProductionsCache),tokenTypes:Jm(this.tokensMap),errMsgProvider:Zg,grammarName:r}),t=kv({lookaheadStrategy:this.lookaheadStrategy,rules:Jm(this.gastProductionsCache),tokenTypes:Jm(this.tokensMap),grammarName:r}),this.definitionErrors=this.definitionErrors.concat(e,t))}),oh(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{var e=yy(Jm(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null!=(t=(e=this.lookaheadStrategy).initialize)&&t.call(e,{rules:Jm(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Jm(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!oh(this.definitionErrors))throw t=Dm(this.definitionErrors,e=>e.message),new Error("Parser Definition Errors detected:\n "+t.join("\n-------------------------------\n"))})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),Vm(t,"ignoredIssues"))throw new Error("The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.");this.skipValidations=(Vm(t,"skipValidations")?t:XT).skipValidations}},tR=(eR.DEFER_DEFINITION_ERRORS_HANDLING=!1,HT(eR,[lT,hT,NT,IT,PT,_T,OT,LT,KT,WT]),class extends eR{static{Fe(this,"EmbeddedActionsParser")}constructor(e,t=XT){(t=wd(t)).outputCst=!1,super(e,t)}});function rR(e,t){for(var r=-1,n=null==e?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}Fe(rR,"arrayMap");var nR=rR;function aR(){this.__data__=[],this.size=0}Fe(aR,"listCacheClear");var iR=aR;function sR(e,t){return e===t||e!=e&&t!=t}Fe(sR,"eq");var oR=sR;function lR(e,t){for(var r=e.length;r--;)if(oR(e[r][0],t))return r;return-1}Fe(lR,"assocIndexOf");var uR=lR,cR=Array.prototype.splice;function pR(e){var t=this.__data__;return!((e=uR(t,e))<0||(e==t.length-1?t.pop():cR.call(t,e,1),--this.size,0))}Fe(pR,"listCacheDelete");var dR=pR;function fR(e){var t=this.__data__;return(e=uR(t,e))<0?void 0:t[e][1]}Fe(fR,"listCacheGet");var mR=fR;function hR(e){return-1<uR(this.__data__,e)}Fe(hR,"listCacheHas");var yR=hR;function gR(e,t){var r=this.__data__,n=uR(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}Fe(gR,"listCacheSet");var vR=gR;function TR(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Fe(TR,"ListCache"),TR.prototype.clear=iR,TR.prototype.delete=dR,TR.prototype.get=mR,TR.prototype.has=yR,TR.prototype.set=vR;var RR=TR;function $R(){this.__data__=new RR,this.size=0}Fe($R,"stackClear");var ER=$R;function AR(e){var t=this.__data__;e=t.delete(e);return this.size=t.size,e}Fe(AR,"stackDelete");var bR=AR;function CR(e){return this.__data__.get(e)}Fe(CR,"stackGet");var SR=CR;function kR(e){return this.__data__.has(e)}Fe(kR,"stackHas");var xR=kR,wR="object"==typeof global&&global&&global.Object===Object&&global,NR="object"==typeof self&&self&&self.Object===Object&&self,IR=wR||NR||Function("return this")(),_R=IR.Symbol,PR=Object.prototype,OR=PR.hasOwnProperty,LR=PR.toString,DR=_R?_R.toStringTag:void 0;function MR(e){var t=OR.call(e,DR),r=e[DR];try{var n=!(e[DR]=void 0)}catch(e){}var a=LR.call(e);return n&&(t?e[DR]=r:delete e[DR]),a}Fe(MR,"getRawTag");var jR=MR,FR=Object.prototype.toString;function GR(e){return FR.call(e)}Fe(GR,"objectToString");var zR=GR,KR=_R?_R.toStringTag:void 0;function qR(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(KR&&KR in Object(e)?jR:zR)(e)}Fe(qR,"baseGetTag");var UR=qR;function BR(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}Fe(BR,"isObject");var VR=BR;function WR(e){return!!VR(e)&&("[object Function]"==(e=UR(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}Fe(WR,"isFunction");var HR=WR,YR=IR["__core-js_shared__"],ZR=(()=>{var e=/[^.]+$/.exec(YR&&YR.keys&&YR.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function XR(e){return!!ZR&&ZR in e}Fe(XR,"isMasked");var JR=XR,QR=Function.prototype.toString;function e$(e){if(null!=e){try{return QR.call(e)}catch(e){}try{return e+""}catch(e){}}return""}Fe(e$,"toSource");var t$=e$,r$=/^\[object .+?Constructor\]$/,n$=Function.prototype,a$=Object.prototype,i$=n$.toString,s$=a$.hasOwnProperty,o$=RegExp("^"+i$.call(s$).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function l$(e){return!(!VR(e)||JR(e))&&(HR(e)?o$:r$).test(t$(e))}Fe(l$,"baseIsNative");var u$=l$;function c$(e,t){return null==e?void 0:e[t]}Fe(c$,"getValue");var p$=c$;function d$(e,t){return e=p$(e,t),u$(e)?e:void 0}Fe(d$,"getNative");var f$=d$,m$=f$(IR,"Map"),h$=f$(Object,"create");function y$(){this.__data__=h$?h$(null):{},this.size=0}Fe(y$,"hashClear");var g$=y$;function v$(e){return e=this.has(e)&&delete this.__data__[e],this.size-=e?1:0,e}Fe(v$,"hashDelete");var T$=v$,R$=Object.prototype.hasOwnProperty;function $$(e){var t,r=this.__data__;return h$?"__lodash_hash_undefined__"===(t=r[e])?void 0:t:R$.call(r,e)?r[e]:void 0}Fe($$,"hashGet");var E$=$$,A$=Object.prototype.hasOwnProperty;function b$(e){var t=this.__data__;return h$?void 0!==t[e]:A$.call(t,e)}Fe(b$,"hashHas");var C$=b$;function S$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=h$&&void 0===t?"__lodash_hash_undefined__":t,this}Fe(S$,"hashSet");var k$=S$;function x$(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Fe(x$,"Hash"),x$.prototype.clear=g$,x$.prototype.delete=T$,x$.prototype.get=E$,x$.prototype.has=C$,x$.prototype.set=k$;var w$=x$;function N$(){this.size=0,this.__data__={hash:new w$,map:new(m$||RR),string:new w$}}Fe(N$,"mapCacheClear");var I$=N$;function _$(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}Fe(_$,"isKeyable");var P$=_$;function O$(e,t){return e=e.__data__,P$(t)?e["string"==typeof t?"string":"hash"]:e.map}Fe(O$,"getMapData");var L$=O$;function D$(e){return e=L$(this,e).delete(e),this.size-=e?1:0,e}Fe(D$,"mapCacheDelete");var M$=D$;function j$(e){return L$(this,e).get(e)}Fe(j$,"mapCacheGet");var F$=j$;function G$(e){return L$(this,e).has(e)}Fe(G$,"mapCacheHas");var z$=G$;function K$(e,t){var r=L$(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}Fe(K$,"mapCacheSet");var q$=K$;function U$(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Fe(U$,"MapCache"),U$.prototype.clear=I$,U$.prototype.delete=M$,U$.prototype.get=F$,U$.prototype.has=z$,U$.prototype.set=q$;var B$=U$;function V$(e,t){var r=this.__data__;if(r instanceof RR){var n=r.__data__;if(!m$||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new B$(n)}return r.set(e,t),this.size=r.size,this}Fe(V$,"stackSet");var W$=V$;function H$(e){e=this.__data__=new RR(e),this.size=e.size}Fe(H$,"Stack"),H$.prototype.clear=ER,H$.prototype.delete=bR,H$.prototype.get=SR,H$.prototype.has=xR,H$.prototype.set=W$;var Y$=H$;function Z$(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}Fe(Z$,"setCacheAdd");var X$=Z$;function J$(e){return this.__data__.has(e)}Fe(J$,"setCacheHas");var Q$=J$;function eE(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new B$;++t<r;)this.add(e[t])}Fe(eE,"SetCache"),eE.prototype.add=eE.prototype.push=X$,eE.prototype.has=Q$;var tE=eE;function rE(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}Fe(rE,"arraySome");var nE=rE;function aE(e,t){return e.has(t)}Fe(aE,"cacheHas");var iE=aE;function sE(e,t,r,n,a,i){var s=1&r,o=e.length;if(o!=(l=t.length)&&!(s&&o<l))return!1;var l=i.get(e),u=i.get(t);if(l&&u)return l==t&&u==e;var c=-1,p=!0,d=2&r?new tE:void 0;for(i.set(e,t),i.set(t,e);++c<o;){var f,m=e[c],h=t[c];if(void 0!==(f=n?s?n(h,m,c,t,e,i):n(m,h,c,e,t,i):f)){if(f)continue;p=!1;break}if(d){if(!nE(t,function(e,t){if(!iE(d,t)&&(m===e||a(m,e,r,n,i)))return d.push(t)})){p=!1;break}}else if(m!==h&&!a(m,h,r,n,i)){p=!1;break}}return i.delete(e),i.delete(t),p}Fe(sE,"equalArrays");var oE=sE,lE=IR.Uint8Array;function uE(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}Fe(uE,"mapToArray");var cE=uE;function pE(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}Fe(pE,"setToArray");var dE=pE,fE=_R?_R.prototype:void 0,mE=fE?fE.valueOf:void 0;function hE(e,t,r,n,a,i,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!i(new lE(e),new lE(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return oR(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=cE;case"[object Set]":if(o=o||dE,e.size!=t.size&&!(1&n))return!1;var l=s.get(e);return l?l==t:(n|=2,s.set(e,t),l=oE(o(e),o(t),n,a,i,s),s.delete(e),l);case"[object Symbol]":if(mE)return mE.call(e)==mE.call(t)}return!1}Fe(hE,"equalByTag");var yE=hE;function gE(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}Fe(gE,"arrayPush");var vE=gE,TE=Array.isArray;function RE(e,t,r){return t=t(e),TE(e)?t:vE(t,r(e))}Fe(RE,"baseGetAllKeys");var $E=RE;function EE(e,t){for(var r=-1,n=null==e?0:e.length,a=0,i=[];++r<n;){var s=e[r];t(s,r,e)&&(i[a++]=s)}return i}Fe(EE,"arrayFilter");var AE=EE;function bE(){return[]}Fe(bE,"stubArray");var CE=bE,SE=Object.prototype.propertyIsEnumerable,kE=Object.getOwnPropertySymbols,xE=kE?function(e){return null==e?[]:(e=Object(e),AE(kE(e),function(t){return SE.call(e,t)}))}:CE,wE=xE;function NE(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}Fe(NE,"baseTimes");var IE=NE;function _E(e){return null!=e&&"object"==typeof e}Fe(_E,"isObjectLike");var PE=_E;function OE(e){return PE(e)&&"[object Arguments]"==UR(e)}Fe(OE,"baseIsArguments");var LE=OE,DE=Object.prototype,ME=DE.hasOwnProperty,jE=DE.propertyIsEnumerable,FE=LE(function(){return arguments}())?LE:function(e){return PE(e)&&ME.call(e,"callee")&&!jE.call(e,"callee")},GE=FE;function zE(){return!1}Fe(zE,"stubFalse");var KE=zE,qE="object"==typeof exports&&exports&&!exports.nodeType&&exports,UE=qE&&"object"==typeof module&&module&&!module.nodeType&&module,BE=UE&&UE.exports===qE?IR.Buffer:void 0,VE=(BE?BE.isBuffer:void 0)||KE,WE=/^(?:0|[1-9]\d*)$/;function HE(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&WE.test(e))&&-1<e&&e%1==0&&e<t}Fe(HE,"isIndex");var YE=HE;function ZE(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=9007199254740991}Fe(ZE,"isLength");var XE=ZE,JE={};function QE(e){return PE(e)&&XE(e.length)&&!!JE[UR(e)]}JE["[object Float32Array]"]=JE["[object Float64Array]"]=JE["[object Int8Array]"]=JE["[object Int16Array]"]=JE["[object Int32Array]"]=JE["[object Uint8Array]"]=JE["[object Uint8ClampedArray]"]=JE["[object Uint16Array]"]=JE["[object Uint32Array]"]=!0,JE["[object Arguments]"]=JE["[object Array]"]=JE["[object ArrayBuffer]"]=JE["[object Boolean]"]=JE["[object DataView]"]=JE["[object Date]"]=JE["[object Error]"]=JE["[object Function]"]=JE["[object Map]"]=JE["[object Number]"]=JE["[object Object]"]=JE["[object RegExp]"]=JE["[object Set]"]=JE["[object String]"]=JE["[object WeakMap]"]=!1,Fe(QE,"baseIsTypedArray");var eA=QE;function tA(e){return function(t){return e(t)}}Fe(tA,"baseUnary");var rA=tA,nA="object"==typeof exports&&exports&&!exports.nodeType&&exports,aA=nA&&"object"==typeof module&&module&&!module.nodeType&&module,iA=aA&&aA.exports===nA&&wR.process,sA=(()=>{try{var e=aA&&aA.require&&aA.require("util").types;return e||iA&&iA.binding&&iA.binding("util")}catch(e){}})(),oA=sA&&sA.isTypedArray,lA=oA?rA(oA):eA,uA=Object.prototype.hasOwnProperty;function cA(e,t){var r,n=TE(e),a=!n&&GE(e),i=!n&&!a&&VE(e),s=!n&&!a&&!i&&lA(e),o=n||a||i||s,l=o?IE(e.length,String):[],u=l.length;for(r in e)!t&&!uA.call(e,r)||o&&("length"==r||i&&("offset"==r||"parent"==r)||s&&("buffer"==r||"byteLength"==r||"byteOffset"==r)||YE(r,u))||l.push(r);return l}Fe(cA,"arrayLikeKeys");var pA=cA,dA=Object.prototype;function fA(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||dA)}Fe(fA,"isPrototype");var mA=fA;function hA(e,t){return function(r){return e(t(r))}}Fe(hA,"overArg");var yA=hA(Object.keys,Object),gA=Object.prototype.hasOwnProperty;function vA(e){if(!mA(e))return yA(e);var t,r=[];for(t in Object(e))gA.call(e,t)&&"constructor"!=t&&r.push(t);return r}Fe(vA,"baseKeys");var TA=vA;function RA(e){return null!=e&&XE(e.length)&&!HR(e)}Fe(RA,"isArrayLike");var $A=RA;function EA(e){return($A(e)?pA:TA)(e)}Fe(EA,"keys");var AA=EA;function bA(e){return $E(e,AA,wE)}Fe(bA,"getAllKeys");var CA=bA,SA=Object.prototype.hasOwnProperty;function kA(e,t,r,n,a,i){var s=1&r,o=CA(e),l=o.length;if(l!=CA(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:SA.call(t,c)))return!1}var p=i.get(e),d=i.get(t);if(p&&d)return p==t&&d==e;for(var f=!0,m=(i.set(e,t),i.set(t,e),s);++u<l;){var h,y=e[c=o[u]],g=t[c];if(!(void 0===(h=n?s?n(g,y,c,t,e,i):n(y,g,c,e,t,i):h)?y===g||a(y,g,r,n,i):h)){f=!1;break}m=m||"constructor"==c}return f&&!m&&(p=e.constructor)!=(d=t.constructor)&&"constructor"in e&&"constructor"in t&&!("function"==typeof p&&p instanceof p&&"function"==typeof d&&d instanceof d)&&(f=!1),i.delete(e),i.delete(t),f}Fe(kA,"equalObjects");var xA=kA,wA=f$(IR,"DataView"),NA=f$(IR,"Promise"),IA=f$(IR,"Set"),_A=f$(IR,"WeakMap"),PA="[object Map]",OA="[object Promise]",LA="[object Set]",DA="[object WeakMap]",MA="[object DataView]",jA=t$(wA),FA=t$(m$),GA=t$(NA),zA=t$(IA),KA=t$(_A),qA=UR,UA=qA=wA&&qA(new wA(new ArrayBuffer(1)))!=MA||m$&&qA(new m$)!=PA||NA&&qA(NA.resolve())!=OA||IA&&qA(new IA)!=LA||_A&&qA(new _A)!=DA?Fe(function(e){var t=UR(e);if(e=(e="[object Object]"==t?e.constructor:void 0)?t$(e):"")switch(e){case jA:return MA;case FA:return PA;case GA:return OA;case zA:return LA;case KA:return DA}return t},"getTag"):qA,BA="[object Arguments]",VA="[object Array]",WA="[object Object]",HA=Object.prototype.hasOwnProperty;function YA(e,t,r,n,a,i){var s=TE(e),o=TE(t),l=s?VA:UA(e),u=(o=o?VA:UA(t),(l=l==BA?WA:l)==WA),c=(o=o==BA?WA:o)==WA;if((o=l==o)&&VE(e)){if(!VE(t))return!1;u=!(s=!0)}return o&&!u?(i=i||new Y$,s||lA(e)?oE(e,t,r,n,a,i):yE(e,t,l,r,n,a,i)):1&r||(s=u&&HA.call(e,"__wrapped__"),l=c&&HA.call(t,"__wrapped__"),!s&&!l)?o&&(i=i||new Y$,xA(e,t,r,n,a,i)):a(s?e.value():e,l?t.value():t,r,n,i=i||new Y$)}Fe(YA,"baseIsEqualDeep");var ZA=YA;function XA(e,t,r,n,a){return e===t||(null==e||null==t||!PE(e)&&!PE(t)?e!=e&&t!=t:ZA(e,t,r,n,XA,a))}Fe(XA,"baseIsEqual");var JA=XA;function QA(e,t,r,n){var a=r.length,i=a,s=!n;if(null==e)return!i;for(e=Object(e);a--;){var o=r[a];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++a<i;){var l=(o=r[a])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p,d=new Y$;if(!(void 0===(p=n?n(u,c,l,e,t,d):p)?JA(c,u,3,n,d):p))return!1}}return!0}Fe(QA,"baseIsMatch");var eb=QA;function tb(e){return e==e&&!VR(e)}Fe(tb,"isStrictComparable");var rb=tb;function nb(e){for(var t=AA(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,rb(a)]}return t}Fe(nb,"getMatchData");var ab=nb;function ib(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}Fe(ib,"matchesStrictComparable");var sb=ib;function ob(e){var t=ab(e);return 1==t.length&&t[0][2]?sb(t[0][0],t[0][1]):function(r){return r===e||eb(r,e,t)}}Fe(ob,"baseMatches");var lb=ob;function ub(e){return"symbol"==typeof e||PE(e)&&"[object Symbol]"==UR(e)}Fe(ub,"isSymbol");var cb=ub,pb=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,db=/^\w*$/;function fb(e,t){var r;return!TE(e)&&(!("number"!=(r=typeof e)&&"symbol"!=r&&"boolean"!=r&&null!=e&&!cb(e))||db.test(e)||!pb.test(e)||null!=t&&e in Object(t))}Fe(fb,"isKey");var mb=fb;function hb(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=Fe(function(){var n=arguments,a=t?t.apply(this,n):n[0],i=r.cache;return i.has(a)?i.get(a):(n=e.apply(this,n),r.cache=i.set(a,n)||i,n)},"memoized");return r.cache=new(hb.Cache||B$),r}Fe(hb,"memoize"),hb.Cache=B$;var yb=hb;function gb(e){var t=(e=yb(e,function(e){return 500===t.size&&t.clear(),e})).cache;return e}Fe(gb,"memoizeCapped");var vb=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Tb=/\\(\\)?/g,Rb=gb(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(vb,function(e,r,n,a){t.push(n?a.replace(Tb,"$1"):r||e)}),t}),$b=Rb,Eb=_R?_R.prototype:void 0,Ab=Eb?Eb.toString:void 0;function bb(e){var t;return"string"==typeof e?e:TE(e)?nR(e,bb)+"":cb(e)?Ab?Ab.call(e):"":"0"==(t=e+"")&&1/e==-1/0?"-0":t}Fe(bb,"baseToString");var Cb=bb;function Sb(e){return null==e?"":Cb(e)}Fe(Sb,"toString");var kb=Sb;function xb(e,t){return TE(e)?e:mb(e,t)?[e]:$b(kb(e))}Fe(xb,"castPath");var wb=xb;function Nb(e){var t;return"string"==typeof e||cb(e)?e:"0"==(t=e+"")&&1/e==-1/0?"-0":t}Fe(Nb,"toKey");var Ib=Nb;function _b(e,t){for(var r=0,n=(t=wb(t,e)).length;null!=e&&r<n;)e=e[Ib(t[r++])];return r&&r==n?e:void 0}Fe(_b,"baseGet");var Pb=_b;function Ob(e,t,r){return void 0===(e=null==e?void 0:Pb(e,t))?r:e}Fe(Ob,"get");var Lb=Ob;function Db(e,t){return null!=e&&t in Object(e)}Fe(Db,"baseHasIn");var Mb=Db;function jb(e,t,r){for(var n=-1,a=(t=wb(t,e)).length,i=!1;++n<a;){var s=Ib(t[n]);if(!(i=null!=e&&r(e,s)))break;e=e[s]}return i||++n!=a?i:!!(a=null==e?0:e.length)&&XE(a)&&YE(s,a)&&(TE(e)||GE(e))}Fe(jb,"hasPath");var Fb=jb;function Gb(e,t){return null!=e&&Fb(e,t,Mb)}Fe(Gb,"hasIn");var zb=Gb;function Kb(e,t){return mb(e)&&rb(t)?sb(Ib(e),t):function(r){var n=Lb(r,e);return void 0===n&&n===t?zb(r,e):JA(t,n,3)}}Fe(Kb,"baseMatchesProperty");var qb=Kb;function Ub(e){return e}Fe(Ub,"identity");var Bb=Ub;function Vb(e){return function(t){return null==t?void 0:t[e]}}Fe(Vb,"baseProperty");var Wb=Vb;function Hb(e){return function(t){return Pb(t,e)}}Fe(Hb,"basePropertyDeep");var Yb=Hb;function Zb(e){return mb(e)?Wb(Ib(e)):Yb(e)}Fe(Zb,"property");var Xb=Zb;function Jb(e){return"function"==typeof e?e:null==e?Bb:"object"==typeof e?TE(e)?qb(e[0],e[1]):lb(e):Xb(e)}Fe(Jb,"baseIteratee");var Qb=Jb;function eC(e){return function(t,r,n){for(var a=-1,i=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++a];if(!1===r(i[l],l,i))break}return t}}Fe(eC,"createBaseFor");var tC=eC();function rC(e,t){return e&&tC(e,t,AA)}Fe(rC,"baseForOwn");var nC=rC;function aC(e,t){return function(r,n){if(null!=r){if(!$A(r))return e(r,n);for(var a=r.length,i=t?a:-1,s=Object(r);(t?i--:++i<a)&&!1!==n(s[i],i,s););}return r}}Fe(aC,"createBaseEach");var iC=aC(nC);function sC(e,t){var r=-1,n=$A(e)?Array(e.length):[];return iC(e,function(e,a,i){n[++r]=t(e,a,i)}),n}Fe(sC,"baseMap");var oC=sC;function lC(e,t){return(TE(e)?nR:oC)(e,Qb(t))}Fe(lC,"map");var uC=lC;function cC(e,t){var r=[];return iC(e,function(e,n,a){t(e,n,a)&&r.push(e)}),r}Fe(cC,"baseFilter");var pC=cC;function dC(e,t){return(TE(e)?AE:pC)(e,Qb(t))}Fe(dC,"filter");var fC=dC;function mC(e,t,r){return e.name+`_${t}_`+r}Fe(mC,"buildATNKey");var hC=class{static{Fe(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},yC=class extends hC{static{Fe(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},gC=class extends hC{static{Fe(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},vC=class extends hC{static{Fe(this,"RuleTransition")}constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}};function TC(e){var t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]},r=(RC(t,e),e.length);for(let i=0;i<r;i++){var n=e[i],a=xC(t,n,n);void 0!==a&&jC(t,n,a)}return t}function RC(e,t){var r=t.length;for(let s=0;s<r;s++){var n=t[s],a=GC(e,n,void 0,{type:2}),i=GC(e,n,void 0,{type:7});a.stop=i,e.ruleToStartState.set(n,a),e.ruleToStopState.set(n,i)}}function $C(e,t,r){return r instanceof ey?DC(e,t,r.terminalType,r):(r instanceof Bh?MC:r instanceof Qh?SC:r instanceof Hh?kC:r instanceof Xh?EC:r instanceof Jh?AC:r instanceof Yh?bC:r instanceof Zh?CC:xC)(e,t,r)}function EC(e,t,r){var n;return NC(e,t,r,n=(_C(e,n=GC(e,t,r,{type:5})),PC(e,t,n,r,xC(e,t,r))))}function AC(e,t,r){var n;return NC(e,t,r,n=(_C(e,n=GC(e,t,r,{type:5})),PC(e,t,n,r,xC(e,t,r))),DC(e,t,r.separator,r))}function bC(e,t,r){var n;return wC(e,t,r,n=(_C(e,n=GC(e,t,r,{type:4})),PC(e,t,n,r,xC(e,t,r))))}function CC(e,t,r){var n;return wC(e,t,r,n=(_C(e,n=GC(e,t,r,{type:4})),PC(e,t,n,r,xC(e,t,r))),DC(e,t,r.separator,r))}function SC(e,t,r){var n=GC(e,t,r,{type:1}),a=(_C(e,n),uC(r.definition,r=>$C(e,t,r)));return PC(e,t,n,r,...a)}function kC(e,t,r){var n;return IC(e,t,r,n=(_C(e,n=GC(e,t,r,{type:1})),PC(e,t,n,r,xC(e,t,r))))}function xC(e,t,r){return 1===(r=fC(uC(r.definition,r=>$C(e,t,r)),e=>void 0!==e)).length?r[0]:0!==r.length?LC(e,r):void 0}function wC(e,t,r,n,a){var i=n.left,s=(n=n.right,GC(e,t,r,{type:11})),o=(_C(e,s),GC(e,t,r,{type:12}));return i.loopback=s,o.loopback=s,FC(n,e.decisionMap[mC(t,a?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=s),void 0===a?(FC(s,i),FC(s,o)):(FC(s,o),FC(s,a.left),FC(a.right,i)),{left:i,right:o}}function NC(e,t,r,n,a){var i=n.left,s=(n=n.right,GC(e,t,r,{type:10})),o=(_C(e,s),GC(e,t,r,{type:12})),l=GC(e,t,r,{type:9});return s.loopback=l,o.loopback=l,FC(s,i),FC(s,o),FC(n,l),void 0!==a?(FC(l,o),FC(l,a.left),FC(a.right,i)):FC(l,s),{left:e.decisionMap[mC(t,a?"RepetitionWithSeparator":"Repetition",r.idx)]=s,right:o}}function IC(e,t,r,n){var a=n.left;return FC(a,n.right),e.decisionMap[mC(t,"Option",r.idx)]=a,n}function _C(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function PC(e,t,r,n,...a){var i,s=GC(e,t,n,{type:8,start:r});for(i of(r.end=s,a))void 0!==i?(FC(r,i.left),FC(i.right,s)):FC(r,s);return a={left:r,right:s},e.decisionMap[mC(t,OC(n),n.idx)]=r,a}function OC(e){if(e instanceof Qh)return"Alternation";if(e instanceof Hh)return"Option";if(e instanceof Xh)return"Repetition";if(e instanceof Jh)return"RepetitionWithSeparator";if(e instanceof Yh)return"RepetitionMandatory";if(e instanceof Zh)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function LC(e,t){var r=t.length;for(let o=0;o<r-1;o++){var n=t[o];let r;var a=(r=1===n.left.transitions.length?n.left.transitions[0]:r)instanceof vC,i=r,s=t[o+1].left;1===n.left.type&&1===n.right.type&&void 0!==r&&(a&&i.followState===n.right||r.target===n.right)?(a?i.followState=s:r.target=s,KC(e,n.right)):FC(n.right,s)}return{left:t[0].left,right:t[r-1].right}}function DC(e,t,r,n){var a=GC(e,t,n,{type:1});e=GC(e,t,n,{type:1});return zC(a,new yC(e,r)),{left:a,right:e}}function MC(e,t,r){var n=r.referencedRule,a=e.ruleToStartState.get(n),i=GC(e,t,r,{type:1});e=GC(e,t,r,{type:1});return zC(i,new vC(a,n,e)),{left:i,right:e}}function jC(e,t,r){var n=e.ruleToStartState.get(t);FC(n,r.left),e=e.ruleToStopState.get(t);return t=(FC(r.right,e),{left:n,right:e})}function FC(e,t){zC(e,new gC(t))}function GC(e,t,r,n){return r=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n),e.states.push(r),r}function zC(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function KC(e,t){e.states.splice(e.states.indexOf(t),1)}Fe(TC,"createATN"),Fe(RC,"createRuleStartAndStopATNStates"),Fe($C,"atom"),Fe(EC,"repetition"),Fe(AC,"repetitionSep"),Fe(bC,"repetitionMandatory"),Fe(CC,"repetitionMandatorySep"),Fe(SC,"alternation"),Fe(kC,"option"),Fe(xC,"block"),Fe(wC,"plus"),Fe(NC,"star"),Fe(IC,"optional"),Fe(_C,"defineDecisionState"),Fe(PC,"makeAlts"),Fe(OC,"getProdType"),Fe(LC,"makeBlock"),Fe(DC,"tokenRef"),Fe(MC,"ruleRef"),Fe(jC,"buildRuleHandle"),Fe(FC,"epsilon"),Fe(GC,"newState"),Fe(zC,"addTransition"),Fe(KC,"removeState");var qC={},UC=class{static{Fe(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){var t=BC(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return uC(this.configs,e=>e.alt)}get key(){let e="";for(var t in this.map)e+=t+":";return e}};function BC(e,t=!0){return`${t?"a"+e.alt:""}s${e.state.stateNumber}:`+e.stack.map(e=>e.stateNumber.toString()).join("_")}function VC(e,t,r){for(var n=-1,a=e.length;++n<a;){var i,s,o=e[n],l=t(o);null!=l&&(void 0===i?l==l&&!cb(l):r(l,i))&&(i=l,s=o)}return s}Fe(BC,"getATNConfigKey"),Fe(VC,"baseExtremum");var WC=VC;function HC(e,t){return e<t}Fe(HC,"baseLt");var YC=HC;function ZC(e){return e&&e.length?WC(e,Bb,YC):void 0}Fe(ZC,"min");var XC=ZC,JC=_R?_R.isConcatSpreadable:void 0;function QC(e){return TE(e)||GE(e)||!!(JC&&e&&e[JC])}Fe(QC,"isFlattenable");var eS=QC;function tS(e,t,r,n,a){var i=-1,s=e.length;for(r=r||eS,a=a||[];++i<s;){var o=e[i];0<t&&r(o)?1<t?tS(o,t-1,r,n,a):vE(a,o):n||(a[a.length]=o)}return a}Fe(tS,"baseFlatten");var rS=tS;function nS(e,t){return rS(uC(e,t),1)}Fe(nS,"flatMap");var aS=nS;function iS(e,t,r,n){for(var a=e.length,i=r+(n?1:-1);n?i--:++i<a;)if(t(e[i],i,e))return i;return-1}Fe(iS,"baseFindIndex");var sS=iS;function oS(e){return e!=e}Fe(oS,"baseIsNaN");var lS=oS;function uS(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}Fe(uS,"strictIndexOf");var cS=uS;function pS(e,t,r){return t==t?cS(e,t,r):sS(e,lS,r)}Fe(pS,"baseIndexOf");var dS=pS;function fS(e,t){return!(null==e||!e.length)&&-1<dS(e,t,0)}Fe(fS,"arrayIncludes");var mS=fS;function hS(e,t,r){for(var n=-1,a=null==e?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}Fe(hS,"arrayIncludesWith");var yS=hS;function gS(){}Fe(gS,"noop");var vS=gS,TS=IA&&1/dE(new IA([,-0]))[1]==1/0?function(e){return new IA(e)}:vS,RS=TS;function $S(e,t,r){var n=-1,a=mS,i=e.length,s=!0,o=[],l=o;if(r)s=!1,a=yS;else if(200<=i){var u=t?null:RS(e);if(u)return dE(u);s=!1,a=iE,l=new tE}else l=t?[]:o;e:for(;++n<i;){var c=e[n],p=t?t(c):c;c=r||0!==c?c:0;if(s&&p==p){for(var d=l.length;d--;)if(l[d]===p)continue e;t&&l.push(p),o.push(c)}else a(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}Fe($S,"baseUniq");var ES=$S;function AS(e,t){return e&&e.length?ES(e,Qb(t)):[]}Fe(AS,"uniqBy");var bS=AS;function CS(e){return null!=e&&e.length?rS(e,1):[]}Fe(CS,"flatten");var SS=CS;function kS(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}Fe(kS,"arrayEach");var xS=kS;function wS(e){return"function"==typeof e?e:Bb}Fe(wS,"castFunction");var NS=wS;function IS(e,t){return(TE(e)?xS:iC)(e,NS(t))}Fe(IS,"forEach");var _S=IS,PS=Object.prototype.hasOwnProperty;function OS(e){if(null!=e){if($A(e)&&(TE(e)||"string"==typeof e||"function"==typeof e.splice||VE(e)||lA(e)||GE(e)))return!e.length;var t,r=UA(e);if("[object Map]"==r||"[object Set]"==r)return!e.size;if(mA(e))return!TA(e).length;for(t in e)if(PS.call(e,t))return!1}return!0}Fe(OS,"isEmpty");var LS=OS;function DS(e,t,r,n){var a=-1,i=null==e?0:e.length;for(n&&i&&(r=e[++a]);++a<i;)r=t(r,e[a],a,e);return r}Fe(DS,"arrayReduce");var MS=DS;function jS(e,t,r,n,a){return a(e,function(e,a,i){r=n?(n=!1,e):t(r,e,a,i)}),r}Fe(jS,"baseReduce");var FS=jS;function GS(e,t,r){var n=TE(e)?MS:FS,a=arguments.length<3;return n(e,Qb(t),r,a,iC)}Fe(GS,"reduce");var zS=GS;function KS(e,t){let r={};return n=>{n=n.toString();var a=r[n];return void 0!==a?a:(a={atnStartState:e,decision:t,states:{}},r[n]=a)}}Fe(KS,"createDFACache");var qS=class{static{Fe(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="";var t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}},US=new qS,BS=class extends mT{static{Fe(this,"LLStarLookaheadStrategy")}constructor(e){super(),this.logging=null!=(e=null==e?void 0:e.logging)?e:e=>console.log(e)}initialize(e){this.atn=TC(e.rules),this.dfas=WS(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){var{prodOccurrence:e,rule:t,hasPredicates:r,dynamicTokensEnabled:n}=e;let a=this.dfas,i=this.logging;var s=mC(t,"Alternation",e);let o=this.atn.decisionMap[s].decision;if(s=uC(pv({maxLookahead:1,occurrence:e,prodType:"Alternation",rule:t}),e=>uC(e,e=>e[0])),!VS(s,!1)||n)return r?function(e){var t=new qS,r=void 0===e?0:e.length;for(let a=0;a<r;a++){var n=null==e?void 0:e[a].GATE;t.set(a,void 0===n||n.call(this))}var s=HS.call(this,a,o,t,i);return"number"==typeof s?s:void 0}:function(){var e=HS.call(this,a,o,US,i);return"number"==typeof e?e:void 0};{let e=zS(s,(e,t,r)=>(_S(t,t=>{t&&(e[t.tokenTypeIdx]=r,_S(t.categoryMatches,t=>{e[t]=r}))}),e),{});return r?function(t){var r=this.LA(1);r=e[r.tokenTypeIdx];if(void 0===t||void 0===r||void 0===(t=null==(t=t[r])?void 0:t.GATE)||!1!==t.call(this))return r}:function(){var t=this.LA(1);return e[t.tokenTypeIdx]}}}buildLookaheadForOptional(e){var{prodOccurrence:e,rule:t,prodType:r,dynamicTokensEnabled:n}=e;let a=this.dfas,i=this.logging;var s=mC(t,r,e);let o=this.atn.decisionMap[s].decision;if(s=uC(pv({maxLookahead:1,occurrence:e,prodType:r,rule:t}),e=>uC(e,e=>e[0])),VS(s)&&s[0][0]&&!n){if(e=s[0],1===(r=SS(e)).length&&LS(r[0].categoryMatches)){let e=r[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=zS(r,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,_S(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){var t=this.LA(1);return!0===e[t.tokenTypeIdx]}}}return function(){var e=HS.call(this,a,o,US,i);return"object"!=typeof e&&0===e}}};function VS(e,t=!0){var r,n=new Set;for(r of e){var a,i,s=new Set;for(a of r){if(void 0===a){if(t)break;return!1}for(i of[a.tokenTypeIdx].concat(a.categoryMatches))if(n.has(i)){if(!s.has(i))return!1}else n.add(i),s.add(i)}}return!0}function WS(e){var t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=KS(e.decisionStates[n],n);return r}function HS(e,t,r,n){let a=(e=e[t](r)).start;return void 0===a&&(a=ok(e,ik(t=lk(e.atnStartState))),e.start=a),YS.apply(this,[e,a,r,n])}function YS(e,t,r,n){let a=t,i=1;var s=[];let o=this.LA(i++);for(;;){let t=tk(a,o);if((t=void 0===t?ZS.apply(this,[e,a,o,i,r,n]):t)===qC)return ek(s,a,o);if(!0===t.isAcceptState)return t.prediction;a=t,s.push(o),o=this.LA(i++)}}function ZS(e,t,r,n,a,i){var s=rk(t.configs,r,a);if(0===s.size)return sk(e,t,r,qC),qC;let o=ik(s);return void 0!==(a=ak(s,a))?(o.isAcceptState=!0,o.prediction=a,o.configs.uniqueAlt=a):fk(s)&&(a=XC(s.alts),o.isAcceptState=!0,o.prediction=a,o.configs.uniqueAlt=a,XS.apply(this,[e,n,s.alts,i])),sk(e,t,r,o)}function XS(e,t,r,n){var a=[];for(let e=1;e<=t;e++)a.push(this.LA(e).tokenType);n(JS({topLevelRule:(e=e.atnStartState).rule,ambiguityIndices:r,production:e.production,prefixPath:a}))}function JS(e){var t=uC(e.prefixPath,e=>Pg(e)).join(", "),r=0===e.production.idx?"":e.production.idx;return(r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${QS(e.production)}${r}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`)+"See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details."}function QS(e){if(e instanceof Bh)return"SUBRULE";if(e instanceof Hh)return"OPTION";if(e instanceof Qh)return"OR";if(e instanceof Yh)return"AT_LEAST_ONE";if(e instanceof Zh)return"AT_LEAST_ONE_SEP";if(e instanceof Jh)return"MANY_SEP";if(e instanceof Xh)return"MANY";if(e instanceof ey)return"CONSUME";throw Error("non exhaustive match")}function ek(e,t,r){return t=aS(t.configs.elements,e=>e.state.transitions),{actualToken:r,possibleTokenTypes:bS(t.filter(e=>e instanceof yC).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function tk(e,t){return e.edges[t.tokenTypeIdx]}function rk(e,t,r){var n,a=new UC,i=[];for(n of e.elements)if(!1!==r.is(n.alt))if(7===n.state.type)i.push(n);else{var s=n.state.transitions.length;for(let e=0;e<s;e++){var o=nk(n.state.transitions[e],t);void 0!==o&&a.add({state:o,alt:n.alt,stack:n.stack})}}let l;if(void 0===(l=0===i.length&&1===a.size?a:l))for(var u of(l=new UC,a.elements))uk(u,l);if(0<i.length&&!pk(l))for(var c of i)l.add(c);return l}function nk(e,t){if(e instanceof yC&&Wg(t,e.tokenType))return e.target}function ak(e,t){let r;for(var n of e.elements)if(!0===t.is(n.alt))if(void 0===r)r=n.alt;else if(r!==n.alt)return;return r}function ik(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function sk(e,t,r,n){return n=ok(e,n),t.edges[r.tokenTypeIdx]=n}function ok(e,t){if(t!==qC){var r=t.configs.key,n=e.states[r];if(void 0!==n)return n;t.configs.finalize(),e.states[r]=t}return t}function lk(e){var t=new UC,r=e.transitions.length;for(let n=0;n<r;n++)uk({state:e.transitions[n].target,alt:n,stack:[]},t);return t}function uk(e,t){var r,n=e.state;if(7===n.type)0<e.stack.length?uk({state:(r=[...e.stack]).pop(),alt:e.alt,stack:r},t):t.add(e);else{n.epsilonOnlyTransitions||t.add(e);var a=n.transitions.length;for(let r=0;r<a;r++){var i=ck(e,n.transitions[r]);void 0!==i&&uk(i,t)}}}function ck(e,t){var r;return t instanceof gC?{state:t.target,alt:e.alt,stack:e.stack}:t instanceof vC?(r=[...e.stack,t.followState],{state:t.target,alt:e.alt,stack:r}):void 0}function pk(e){for(var t of e.elements)if(7===t.state.type)return!0;return!1}function dk(e){for(var t of e.elements)if(7!==t.state.type)return!1;return!0}function fk(e){return!!dk(e)||hk(e=mk(e.elements))&&!yk(e)}function mk(e){var t,r=new Map;for(t of e){var n=BC(t,!1);let e=r.get(n);void 0===e&&(e={},r.set(n,e)),e[t.alt]=!0}return r}function hk(e){for(var t of Array.from(e.values()))if(1<Object.keys(t).length)return!0;return!1}function yk(e){for(var t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}Fe(VS,"isLL1Sequence"),Fe(WS,"initATNSimulator"),Fe(HS,"adaptivePredict"),Fe(YS,"performLookahead"),Fe(ZS,"computeLookaheadTarget"),Fe(XS,"reportLookaheadAmbiguity"),Fe(JS,"buildAmbiguityError"),Fe(QS,"getProductionDslName"),Fe(ek,"buildAdaptivePredictError"),Fe(tk,"getExistingTargetState"),Fe(rk,"computeReachSet"),Fe(nk,"getReachableTarget"),Fe(ak,"getUniqueAlt"),Fe(ik,"newDFAState"),Fe(sk,"addDFAEdge"),Fe(ok,"addDFAState"),Fe(lk,"computeStartState"),Fe(uk,"closure"),Fe(ck,"getEpsilonTarget"),Fe(pk,"hasConfigInRuleStopState"),Fe(dk,"allConfigsInRuleStopStates"),Fe(fk,"hasConflictTerminatingPrediction"),Fe(mk,"getConflictingAltSets"),Fe(hk,"hasConflictingAltSet"),Fe(yk,"hasStateAssociatedWithOneAlt"),We();var gk=class{static{Fe(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Ek(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){var t=new Rk;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){return(e=new Tk(e.startOffset,e.image.length,Ea(e),e.tokenType,!t)).grammarSource=t,e.root=this.rootNode,this.current.content.push(e),e}removeNode(e){var t=e.container;t&&0<=(e=t.content.indexOf(e))&&t.content.splice(e,1)}addHiddenNodes(e){var t,r=[];for(t of e){var n=new Tk(t.startOffset,t.image.length,Ea(t),t.tokenType,!0);n.root=this.rootNode,r.push(n)}let a=this.current,i=!1;if(0<a.content.length)a.content.push(...r);else{for(;a.container;){var s=a.container.content.indexOf(a);if(0<s){a.container.content.splice(s,0,...r),i=!0;break}a=a.container}i||this.rootNode.content.unshift(...r)}}construct(e){var t=this.current;"string"!=typeof e.$type||e.$infix||(this.current.astNode=e),e.$cstNode=t,e=this.nodeStack.pop();0===e?.content.length&&this.removeNode(e)}},vk=class{static{Fe(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){var e="string"==typeof this._astNode?.$type?this._astNode:this.container?.astNode;if(e)return e;throw new Error("This node has no associated AST element")}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},Tk=class extends vk{static{Fe(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},Rk=class extends vk{static{Fe(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new $k(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){var e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;return e&&t?(void 0===this._rangeCache&&(e=e.range,t=t.range,this._rangeCache={start:e.start,end:t.end.line<e.start.line?e.start:t.end}),this._rangeCache):{start:s.create(0,0),end:s.create(0,0)}}get firstNonHiddenNode(){for(var e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let t=this.content.length-1;0<=t;t--){var e=this.content[t];if(!e.hidden)return e}return this.content[this.content.length-1]}},$k=class e extends Array{static{Fe(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,e.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(var t of e)t.container=this.parent}},Ek=class extends Rk{static{Fe(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},Ak=Symbol("Datatype");function bk(e){return e.$type===Ak}Fe(bk,"isDataTypeNode");var Ck=Fe(e=>e.endsWith("​")?e:e+"​","withRuleSuffix"),Sk=class{static{Fe(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;var t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Pk(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new _k(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},kk=class extends Sk{static{Fe(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new gk,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){var r=this.computeRuleType(e);let n;return ln(e)&&(n=e.name,this.registerPrecedenceMap(e)),r=this.wrapper.DEFINE_RULE(Ck(e.name),this.startImplementation(r,n,t).bind(this)),this.allRules.set(e.name,r),Nn(e)&&e.entry&&(this.mainRule=r),r}registerPrecedenceMap(e){var t=e.name,r=new Map;for(let t=0;t<e.operators.precedences.length;t++){var n,a=e.operators.precedences[t];for(n of a.operators)r.set(n.value,{precedence:t,rightAssoc:"right"===a.associativity})}this.operatorPrecedence.set(t,r)}computeRuleType(e){return ln(e)?Gi(e):e.fragment?void 0:Li(e)?Ak:Gi(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);e=this.lexerResult=this.lexer.tokenize(e);var r=(this.wrapper.input=e.tokens,t.rule?this.allRules.get(t.rule):this.mainRule);if(r)return r=this.doParse(r),this.nodeBuilder.addHiddenNodes(e.hidden),this.unorderedGroups.clear(),ar(r,{deep:!(this.lexerResult=void 0)}),{value:r,lexerErrors:e.errors,lexerReport:e.report,parserErrors:this.wrapper.errors};throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.")}doParse(e){let t=this.wrapper.rule(e);if(void 0===(t=0<this.stack.length?this.construct():t))throw new Error("No result from parser");if(0<this.stack.length)throw new Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,r){return n=>{var a,i=!this.isRecording()&&void 0!==e;return i&&(this.stack.push(a={$type:e}),e===Ak?a.value="":void 0!==t&&(a.$infixName=t)),r(n),i?this.construct():void 0}}extractHiddenTokens(e){var t=this.lexerResult.hidden;if(!t.length)return[];var r=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>r)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){if(e=this.wrapper.wrapConsume(e,t),!this.isRecording()&&this.isValidToken(e)){t=this.extractHiddenTokens(e),t=(this.nodeBuilder.addHiddenNodes(t),this.nodeBuilder.buildLeafNode(e,r));var{assignment:n,crossRef:a}=this.getAssignment(r),i=this.current;if(n){var s=yn(r)?e.image:this.converter.convert(e.image,t);this.assign(n.operator,n.feature,s,t,a)}else if(bk(i)){let n=e.image;yn(r)||(n=this.converter.convert(n,t).toString()),i.value+=n}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,a){let i,s;this.isRecording()||r||(i=this.nodeBuilder.buildCompositeNode(n));try{s=this.wrapper.wrapSubrule(e,t,a)}finally{this.isRecording()||void 0!==(s=void 0!==s||r?s:this.construct())&&i&&0<i.length&&this.performSubruleAssignment(s,n,i)}}performSubruleAssignment(e,t,r){var{assignment:t,crossRef:n}=this.getAssignment(t);t?this.assign(t.operator,t.feature,e,r,n):bk(t=this.current)?t.value+=e.toString():"object"==typeof e&&e&&(r=this.assignWithoutOverride(e,t),this.stack.pop(),this.stack.push(r))}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode)):r.$type=e}}construct(){var e;if(!this.isRecording())return e=this.stack.pop(),this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):bk(e)?this.converter.convert(e.value,e.$cstNode):(hr(this.astReflection,e),e)}constructInfix(e,t){var r=e.parts;if(Array.isArray(r)&&0!==r.length){var n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let l=0,u=-1;for(let e=0;e<n.length;e++){var a=n[e];(a=t.get(a)??{precedence:1/0,rightAssoc:!1}).precedence>u?(u=a.precedence,l=e):a.precedence!==u||a.rightAssoc||(l=e)}var i=n.slice(0,l),s=n.slice(l+1),o=r.slice(0,l+1);r=r.slice(l+1),o={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:o,operators:i},i={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:r,operators:s},r=this.constructInfix(o,t),s=this.constructInfix(i,t);return{$type:e.$type,$cstNode:e.$cstNode,left:r,operator:n[l],right:s}}}getAssignment(e){var t;return this.assignmentMap.has(e)||(t=ir(e,Mr),this.assignmentMap.set(e,{assignment:t,crossRef:t&&Wr(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})),this.assignmentMap.get(e)}assign(e,t,r,n,a){var i=this.current;let s;switch(s="single"===a&&"string"==typeof r?this.linker.buildReference(i,t,n,r):"multi"===a&&"string"==typeof r?this.linker.buildMultiReference(i,t,n,r):r,e){case"=":i[t]=s;break;case"?=":i[t]=!0;break;case"+=":Array.isArray(i[t])||(i[t]=[]),i[t].push(s)}}assignWithoutOverride(e,t){for(var[r,n]of Object.entries(t)){var a=e[r];void 0===a?e[r]=n:Array.isArray(a)&&Array.isArray(n)&&(n.push(...a),e[r]=n)}return(t=e.$cstNode)&&(t.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},xk=class{static{Fe(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Hg.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Hg.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Hg.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Hg.buildEarlyExitMessage(e)}},wk=class extends xk{static{Fe(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Nk=class extends Sk{static{Fe(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){return this.resetState(),e=this.lexer.tokenize(e,{mode:"partial"}),this.tokens=e.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){return t=this.wrapper.DEFINE_RULE(Ck(e.name),this.startImplementation(t).bind(this)),this.allRules.set(e.name,t),e.entry&&(this.mainRule=t),t}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{var r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){var e=this.elementStack.length;return this.stackSize=e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,a){this.before(n),this.wrapper.wrapSubrule(e,t,a),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){this.isRecording()||0<=(e=this.elementStack.lastIndexOf(e))&&this.elementStack.splice(e)}get currIdx(){return this.wrapper.currIdx}},Ik={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new wk},_k=class extends tR{static{Fe(this,"ChevrotainWrapper")}constructor(e,t){super(e,{...Ik,lookaheadStrategy:t&&"maxLookahead"in t?new mT({maxLookahead:t.maxLookahead}):new BS({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},Pk=class extends _k{static{Fe(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function Ok(e,t,r){return Lk({parser:t,tokens:r,ruleNames:new Map},e),t}function Lk(e,t){let r=gi(t,!1);var n,a;for(n of er(t.rules).filter(Nn).filter(e=>r.has(e))){var i={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(n,Mk(i,n.definition))}for(a of er(t.rules).filter(ln).filter(e=>r.has(e)))e.parser.rule(a,Dk(e,a))}function Dk(e,t){let r=t.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(Zn(r))throw new Error("Cannot use terminal rule in infix expression");var n=t.operators.precedences.flatMap(e=>e.operators),a={$type:"Group",elements:[]};let i={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call};t={$container:a,$type:"Group",elements:[],cardinality:"*"},a.elements.push(i,t);let s,o={$container:t,$type:"Assignment",feature:"operators",operator:"+=",terminal:a={$type:"Alternatives",elements:n}},l={...i,$container:t},u=(t.elements.push(o,l),n.map(t=>e.tokens[t.value]).map((t,r)=>({ALT:Fe(()=>e.parser.consume(r,t,o),"ALT")})));return t=>{s=s??Yk(e,r),e.parser.subrule(0,s,!1,i,t),e.parser.many(0,{DEF:Fe(()=>{e.parser.alternatives(0,u),e.parser.subrule(1,s,!1,l,t)},"DEF")})}}function Mk(e,t,r=!1){let n;if(yn(t))n=Wk(e,t);else if(wr(t))n=jk(e,t);else if(Mr(t))n=Mk(e,t.terminal);else if(Wr(t))n=Vk(e,t);else if(jn(t))n=Fk(e,t);else if(Ir(t))n=Kk(e,t);else if(la(t))n=qk(e,t);else if(nn(t))n=Uk(e,t);else{if(!Xr(t))throw new Ga(t.$cstNode,"Unexpected element type: "+t.$type);{let r=e.consume++;n=Fe(()=>e.parser.consume(r,Bg,t),"method")}}return Hk(e,r?void 0:Bk(t),n,t.cardinality)}function jk(e,t){let r=Gi(t);return()=>e.parser.action(r,t)}function Fk(e,t){let r=t.rule.ref;if(Ar(r)){let n,a=e.subrule++,i=Nn(r)&&r.fragment,s=0<t.arguments.length?Gk(r,t.arguments):()=>({});return o=>{n=n??Yk(e,r),e.parser.subrule(a,n,i,t,s(o))}}if(Zn(r)){let n=e.consume++,a=Xk(e,r.name);return()=>e.parser.consume(n,a,t)}if(!r)throw new Ga(t.$cstNode,"Undefined rule: "+t.rule.$refText);za()}function Gk(e,t){if(t.some(e=>e.calledByName)){let e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:zk(e.value)}));return t=>{var r,n,a={};for({parameterName:r,predicate:n}of e)r&&(a[r]=n(t));return a}}{let r=t.map(e=>zk(e.value));return t=>{var n,a,i={};for(let s=0;s<r.length;s++)s<e.parameters.length&&(n=e.parameters[s].name,a=r[s],i[n]=a(t));return i}}}function zk(e){if(Yr(e)){let t=zk(e.left),r=zk(e.right);return e=>t(e)||r(e)}if(Br(e)){let t=zk(e.left),r=zk(e.right);return e=>t(e)&&r(e)}if(En(e)){let t=zk(e.value);return e=>!t(e)}if(xn(e)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(Fr(e)){let t=Boolean(e.true);return()=>t}za()}function Kk(e,t){if(1===t.elements.length)return Mk(e,t.elements[0]);{let a=[];for(var r of t.elements){var n={ALT:Mk(e,r,!0)};(r=Bk(r))&&(n.GATE=zk(r)),a.push(n)}let i=e.or++;return t=>e.parser.alternatives(i,a.map(e=>{var r={ALT:Fe(()=>e.ALT(t),"ALT")};let n=e.GATE;return n&&(r.GATE=()=>n(t)),r}))}}function qk(e,t){if(1===t.elements.length)return Mk(e,t.elements[0]);let r=[];for(var n of t.elements){var a={ALT:Mk(e,n,!0)};(n=Bk(n))&&(a.GATE=zk(n)),r.push(a)}let i=e.or++,s=Fe((e,t)=>`uGroup_${e}_`+t.getRuleStack().join("-"),"idFunc");var o=Fe(t=>e.parser.alternatives(i,r.map((r,n)=>{var a={ALT:Fe(()=>!0,"ALT")};let o=e.parser,l=(a.ALT=()=>{var e;r.ALT(t),o.isRecording()||(e=s(i,o),o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]),void 0===(e=o.unorderedGroups.get(e))?.[n]&&(e[n]=!0))},r.GATE);return a.GATE=l?()=>l(t):()=>!o.unorderedGroups.get(s(i,o))?.[n],a})),"alternatives");let l=Hk(e,Bk(t),o,"*");return t=>{l(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(s(i,e.parser))}}function Uk(e,t){let r=t.elements.map(t=>Mk(e,t));return e=>r.forEach(t=>t(e))}function Bk(e){if(nn(e))return e.guardCondition}function Vk(e,t,r=t.terminal){if(r){if(jn(r)&&Nn(r.rule.ref)){let n,a=r.rule.ref,i=e.subrule++;return r=>{n=n??Yk(e,a),e.parser.subrule(i,n,!1,t,r)}}if(jn(r)&&Zn(r.rule.ref)){let n=e.consume++,a=Xk(e,r.rule.ref.name);return()=>e.parser.consume(n,a,t)}if(yn(r)){let n=e.consume++,a=Xk(e,r.value);return()=>e.parser.consume(n,a,t)}throw new Error("Could not build cross reference parser")}if(!t.type.ref)throw new Error("Could not resolve reference to type: "+t.type.$refText);if(r=wi(t.type.ref)?.terminal,r)return Vk(e,t,r);throw new Error("Could not find name assignment for type: "+Gi(t.type.ref))}function Wk(e,t){let r=e.consume++,n=e.tokens[t.value];if(n)return()=>e.parser.consume(r,n,t);throw new Error("Could not find token for keyword: "+t.value)}function Hk(e,t,r,n){let a=t&&zk(t);if(!n){if(a){let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:Fe(()=>r(n),"ALT"),GATE:Fe(()=>a(n),"GATE")},{ALT:QT(),GATE:Fe(()=>!a(n),"GATE")}])}return r}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:Fe(()=>r(n),"DEF"),GATE:a?()=>a(n):void 0})}if("+"===n){let t=e.many++;if(a){let n=e.or++;return i=>e.parser.alternatives(n,[{ALT:Fe(()=>e.parser.atLeastOne(t,{DEF:Fe(()=>r(i),"DEF")}),"ALT"),GATE:Fe(()=>a(i),"GATE")},{ALT:QT(),GATE:Fe(()=>!a(i),"GATE")}])}return n=>e.parser.atLeastOne(t,{DEF:Fe(()=>r(n),"DEF")})}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:Fe(()=>r(n),"DEF"),GATE:a?()=>a(n):void 0})}za()}function Yk(e,t){if(t=Zk(e,t),e=e.parser.getRule(t))return e;throw new Error(`Rule "${t}" not found."`)}function Zk(e,t){if(Ar(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,a=t.$type;for(;!Nn(n);){(nn(n)||Ir(n)||la(n))&&(a=n.elements.indexOf(r).toString()+":"+a),n=(r=n).$container}return a=n.name+":"+a,e.ruleNames.set(t,a),a}}function Xk(e,t){if(e=e.tokens[t])return e;throw new Error(`Token "${t}" not found."`)}function Jk(e){var t=e.Grammar,r=e.parser.Lexer;return Ok(t,e=new Nk(e),r.definition),e.finalize(),e}function Qk(e){return(e=ex(e)).finalize(),e}function ex(e){var t=e.Grammar,r=e.parser.Lexer;return Ok(t,new kk(e),r.definition)}Fe(Ok,"createParser"),Fe(Lk,"buildRules"),Fe(Dk,"buildInfixRule"),Fe(Mk,"buildElement"),Fe(jk,"buildAction"),Fe(Fk,"buildRuleCall"),Fe(Gk,"buildRuleCallPredicate"),Fe(zk,"buildPredicate"),Fe(Kk,"buildAlternatives"),Fe(qk,"buildUnorderedGroup"),Fe(Uk,"buildGroup"),Fe(Bk,"getGuardCondition"),Fe(Vk,"buildCrossReference"),Fe(Wk,"buildKeyword"),Fe(Hk,"wrap"),Fe(Yk,"getRule"),Fe(Zk,"getRuleName"),Fe(Xk,"getToken"),Fe(Jk,"createCompletionParser"),Fe(Qk,"createLangiumParser"),Fe(ex,"prepareLangiumParser");var tx,rx=class{static{Fe(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){e=er(gi(e,!1));var r=this.buildTerminalTokens(e);return(e=this.buildKeywordTokens(e,r,t)).push(...r),e}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){var e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Zn).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){var t=Ui(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return"function"==typeof r&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=pi(t)?_g.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!(!e.flags.includes("u")&&!e.flags.includes("s"))}regexPatternFunction(e){let t=new RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(Ar).flatMap(e=>pr(e).filter(yn)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,Boolean(r?.caseInsensitive)))}buildKeywordToken(e,t,r){return r=this.buildKeywordPattern(e,r),e={name:e.value,PATTERN:r,LONGER_ALT:this.findLongerAlt(e,t)},"function"==typeof r&&(e.LINE_BREAKS=!0),e}buildKeywordPattern(e,t){return t?new RegExp(di(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{var n=r?.PATTERN;return n?.source&&fi("^"+n.source+"$",e.value)&&t.push(r),t},[])}},nx=class{static{Fe(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(jn(r=Wr(r)?Ri(r):r)){var n=r.rule.ref;if(n)return this.runConverter(n,e,t);throw new Error("This cst node was not parsed by a rule.")}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return tx.convertInt(t);case"STRING":return tx.convertString(t);case"ID":return tx.convertID(t)}switch(qi(e)?.toLowerCase()){case"number":return tx.convertNumber(t);case"boolean":return tx.convertBoolean(t);case"bigint":return tx.convertBigint(t);case"date":return tx.convertDate(t);default:return t}}},ax=((e=>{function t(e){let t="";for(let a=1;a<e.length-1;a++){var n=e.charAt(a);"\\"===n?t+=r(e.charAt(++a)):t+=n}return t}function r(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return e}}function n(e){return"^"===e.charAt(0)?e.substring(1):e}function a(e){return parseInt(e)}function i(e){return BigInt(e)}function s(e){return new Date(e)}function o(e){return Number(e)}function l(e){return"true"===e.toLowerCase()}Fe(t,"convertString"),e.convertString=t,Fe(r,"convertEscapeCharacter"),Fe(n,"convertID"),e.convertID=n,Fe(a,"convertInt"),e.convertInt=a,Fe(i,"convertBigint"),e.convertBigint=i,Fe(s,"convertDate"),e.convertDate=s,Fe(o,"convertNumber"),e.convertNumber=o,Fe(l,"convertBoolean"),e.convertBoolean=l})(tx=tx||{}),{});function ix(){return new Promise(e=>{"undefined"==typeof setImmediate?setTimeout(e,0):setImmediate(e)})}qe(ax,Ue(Xe(),1)),Fe(ix,"delayNextTick");var sx=0,ox=10;function lx(){return sx=performance.now(),new ax.CancellationTokenSource}function ux(e){ox=e}Fe(lx,"startCancelableOperation"),Fe(ux,"setInterruptionPeriod");var cx=Symbol("OperationCancelled");function px(e){return e===cx}async function dx(e){if(e!==ax.CancellationToken.None){var t=performance.now();if(ox<=t-sx&&(sx=t,await ix(),sx=performance.now()),e.isCancellationRequested)throw cx}}Fe(px,"isOperationCancelled"),Fe(dx,"interruptAndCheck");var fx,mx,hx=class{static{Fe(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},yx=class e{static{Fe(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){var t;return e?(t=this.offsetAt(e.start),e=this.offsetAt(e.end),this._content.substring(t,e)):this._content}update(t,r){for(var n of t)if(e.isIncremental(n)){var a=Rx(n.range),i=this.offsetAt(a.start),s=this.offsetAt(a.end),o=(this._content=this._content.substring(0,i)+n.text+this._content.substring(s,this._content.length),Math.max(a.start.line,0));a=Math.max(a.end.line,0);let e=this._lineOffsets;var l=vx(n.text,!1,i);if(a-o===l.length)for(let t=0,r=l.length;t<r;t++)e[t+o+1]=l[t];else l.length<1e4?e.splice(o+1,a-o,...l):this._lineOffsets=e=e.slice(0,o+1).concat(l,e.slice(a+1));var u=n.text.length-(s-i);if(0!=u)for(let t=o+1+l.length,r=e.length;t<r;t++)e[t]=e[t]+u}else{if(!e.isFull(n))throw new Error("Unknown change event received");this._content=n.text,this._lineOffsets=void 0}this._version=r}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=vx(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets();let r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){var a=Math.floor((r+n)/2);t[a]>e?n=a:r=a+1}var i=r-1;return{line:i,character:(e=this.ensureBeforeEOL(e,t[i]))-t[i]}}offsetAt(e){var t,r=this.getLineOffsets();return e.line>=r.length?this._content.length:e.line<0?0:(t=r[e.line],e.character<=0?t:(r=e.line+1<r.length?r[e.line+1]:this._content.length,e=Math.min(t+e.character,r),this.ensureBeforeEOL(e,t)))}ensureBeforeEOL(e,t){for(;t<e&&Tx(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}};function gx(e,t){if(!(e.length<=1)){var r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);gx(n,t),gx(a,t);let s=0,o=0,l=0;for(;s<n.length&&o<a.length;){var i=t(n[s],a[o]);e[l++]=i<=0?n[s++]:a[o++]}for(;s<n.length;)e[l++]=n[s++];for(;o<a.length;)e[l++]=a[o++]}return e}function vx(e,t,r=0){var n=t?[r]:[];for(let t=0;t<e.length;t++){var a=e.charCodeAt(t);Tx(a)&&(13===a&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function Tx(e){return 13===e||10===e}function Rx(e){var t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function $x(e){var t=Rx(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(e=>{function t(e,t,r,n){return new yx(e,t,r,n)}function r(e,t,r){if(e instanceof yx)return e.update(t,r),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")}function n(e,t){var r=e.getText();let n=0;var a,i=[];for(a of gx(t.map($x),(e,t)=>{var r=e.range.start.line-t.range.start.line;return 0==r?e.range.start.character-t.range.start.character:r})){var s=e.offsetAt(a.range.start);if(s<n)throw new Error("Overlapping edit");s>n&&i.push(r.substring(n,s)),a.newText.length&&i.push(a.newText),n=e.offsetAt(a.range.end)}return i.push(r.substr(n)),i.join("")}Fe(t,"create"),e.create=t,Fe(r,"update"),e.update=r,Fe(n,"applyEdits"),e.applyEdits=n})(fx=fx||{}),Fe(gx,"mergeSort"),Fe(vx,"computeLineOffsets"),Fe(Tx,"isEOL"),Fe(Rx,"getWellformedRange"),Fe($x,"getWellformedEdit"),(()=>{var e,t,r={975:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",a=0,i=-1,s=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(i!==o-1&&1!==s)if(i!==o-1&&2===s){if(n.length<2||2!==a||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(2<n.length){var l=n.lastIndexOf("/");if(l!==n.length-1){a=-1===l?(n="",0):(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),i=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=o,s=a=0;continue}t&&(0<n.length?n+="/..":n="..",a=2)}else 0<n.length?n+="/"+e.slice(i+1,o):n=e.slice(i+1,o),a=o-i-1;i=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}Fe(t,"e"),Fe(r,"r");var n={resolve:Fe(function(){for(var e,n="",a=!1,i=arguments.length-1;-1<=i&&!a;i--){var s=0<=i?arguments[i]:e=void 0===e?process.cwd():e;t(s),0!==s.length&&(n=s+"/"+n,a=47===s.charCodeAt(0))}return n=r(n,!a),a?0<n.length?"/"+n:"/":0<n.length?n:"."},"resolve"),normalize:Fe(function(e){var n,a;return t(e),0===e.length?".":(n=47===e.charCodeAt(0),a=47===e.charCodeAt(e.length-1),0<(e=0!==(e=r(e,!n)).length||n?e:".").length&&a&&(e+="/"),n?"/"+e:e)},"normalize"),isAbsolute:Fe(function(e){return t(e),0<e.length&&47===e.charCodeAt(0)},"isAbsolute"),join:Fe(function(){if(0===arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var a=arguments[r];t(a),0<a.length&&(void 0===e?e=a:e+="/"+a)}return void 0===e?".":n.normalize(e)},"join"),relative:Fe(function(e,r){if(t(e),t(r),e===r)return"";if((e=n.resolve(e))===(r=n.resolve(r)))return"";for(var a=1;a<e.length&&47===e.charCodeAt(a);++a);for(var i=e.length,s=i-a,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=s<l?s:l,c=-1,p=0;p<=u;++p){if(p===u){if(u<l){if(47===r.charCodeAt(o+p))return r.slice(o+p+1);if(0===p)return r.slice(o+p)}else u<s&&(47===e.charCodeAt(a+p)?c=p:0===p&&(c=0));break}var d=e.charCodeAt(a+p);if(d!==r.charCodeAt(o+p))break;47===d&&(c=p)}var f="";for(p=a+c+1;p<=i;++p)p!==i&&47!==e.charCodeAt(p)||(0===f.length?f+="..":f+="/..");return 0<f.length?f+r.slice(o+c):(47===r.charCodeAt(o+=c)&&++o,r.slice(o))},"relative"),_makeLong:Fe(function(e){return e},"_makeLong"),dirname:Fe(function(e){if(t(e),0===e.length)return".";for(var r=47===e.charCodeAt(0),n=-1,a=!0,i=e.length-1;1<=i;--i)if(47===e.charCodeAt(i)){if(!a){n=i;break}}else a=!1;return-1===n?r?"/":".":r&&1===n?"//":e.slice(0,n)},"dirname"),basename:Fe(function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');t(e);var n=0,a=-1,i=!0;if(void 0!==r&&0<r.length&&r.length<=e.length){if(r.length===e.length&&r===e)return"";for(var s=r.length-1,o=-1,l=e.length-1;0<=l;--l){var u=e.charCodeAt(l);if(47===u){if(!i){n=l+1;break}}else-1===o&&(i=!1,o=l+1),0<=s&&(u===r.charCodeAt(s)?-1==--s&&(a=l):(s=-1,a=o))}return n===a?a=o:-1===a&&(a=e.length),e.slice(n,a)}for(l=e.length-1;0<=l;--l)if(47===e.charCodeAt(l)){if(!i){n=l+1;break}}else-1===a&&(i=!1,a=l+1);return-1===a?"":e.slice(n,a)},"basename"),extname:Fe(function(e){t(e);for(var r=-1,n=0,a=-1,i=!0,s=0,o=e.length-1;0<=o;--o){var l=e.charCodeAt(o);if(47!==l)-1===a&&(i=!1,a=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!i){n=o+1;break}}return-1===r||-1===a||0===s||1===s&&r===a-1&&r===n+1?"":e.slice(r,a)},"extname"),format:Fe(function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r;var t,r},"format"),parse:Fe(function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0!==e.length){for(var n,a=47===e.charCodeAt(0),i=a?(r.root="/",1):0,s=-1,o=0,l=-1,u=!0,c=e.length-1,p=0;i<=c;--c)if(47!==(n=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===n?-1===s?s=c:1!==p&&(p=1):-1!==s&&(p=-1);else if(!u){o=c+1;break}-1===s||-1===l||0===p||1===p&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),0<o?r.dir=e.slice(0,o-1):a&&(r.dir="/")}return r},"parse"),sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},n={};function a(e){var t=n[e];return void 0!==t||(t=n[e]={exports:{}},r[e](t,t.exports,a)),t.exports}Fe(a,"r"),a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let i,s={},o=((a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(s),a.d(s,{URI:Fe(()=>d,"URI"),Utils:Fe(()=>e,"Utils")}),"object"==typeof process?i="win32"===process.platform:"object"==typeof navigator&&(i=0<=navigator.userAgent.indexOf("Windows")),/^\w[\w\d+.-]*$/),l=/^\//,u=/^\/\//;function c(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!o.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}Fe(c,"a");let p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{static{Fe(this,"l")}static isUri(e){return e instanceof d||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,a,i=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||i?e:"file",this.authority=t||"",this.path=((e,t)=>{switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t})(this.scheme,r||""),this.query=n||"",this.fragment=a||"",c(this,i))}get fsPath(){return v(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:a,fragment:i}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===a?a=this.query:null===a&&(a=""),void 0===i?i=this.fragment:null===i&&(i=""),t===this.scheme&&r===this.authority&&n===this.path&&a===this.query&&i===this.fragment?this:new m(t,r,n,a,i)}static parse(e,t=!1){return(e=p.exec(e))?new m(e[2]||"",E(e[4]||""),E(e[5]||""),E(e[7]||""),E(e[9]||""),t):new m("","","","","")}static file(e){let t="";var r;return"/"===(e=i?e.replace(/\\/g,"/"):e)[0]&&"/"===e[1]&&(e=-1===(r=e.indexOf("/",2))?(t=e.substring(2),"/"):(t=e.substring(2,r),e.substring(r)||"/")),new m("file",t,e,"","")}static from(e){return c(e=new m(e.scheme,e.authority,e.path,e.query,e.fragment),!0),e}toString(e=!1){return T(this,e)}toJSON(){return this}static revive(e){var t;return e&&(e instanceof d?e:((t=new m(e))._formatted=e.external,t._fsPath=e._sep===f?e.fsPath:null,t))}}let f=i?1:void 0;class m extends d{static{Fe(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=v(this,!1)),this._fsPath}toString(e=!1){return e?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){var 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}}let h={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function y(e,t,r){let n,a=-1;for(let s=0;s<e.length;s++){var i=e.charCodeAt(s);97<=i&&i<=122||65<=i&&i<=90||48<=i&&i<=57||45===i||46===i||95===i||126===i||t&&47===i||r&&91===i||r&&93===i||r&&58===i?(-1!==a&&(n+=encodeURIComponent(e.substring(a,s)),a=-1),void 0!==n&&(n+=e.charAt(s))):(void 0===n&&(n=e.substr(0,s)),void 0!==(i=h[i])?(-1!==a&&(n+=encodeURIComponent(e.substring(a,s)),a=-1),n+=i):-1===a&&(a=s))}return-1!==a&&(n+=encodeURIComponent(e.substring(a))),void 0!==n?n:e}function g(e){let t;for(let n=0;n<e.length;n++){var r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=h[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function v(e,t){let r;return r=e.authority&&1<e.path.length&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(65<=e.path.charCodeAt(1)&&e.path.charCodeAt(1)<=90||97<=e.path.charCodeAt(1)&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i?r.replace(/\//g,"\\"):r}function T(e,t){var r=t?g:y;let n="",{scheme:a,authority:i,path:s,query:o,fragment:l}=e;if(a&&(n=n+a+":"),!i&&"file"!==a||(n+="//"),i){let t=i.indexOf("@");-1!==t&&(e=i.substr(0,t),i=i.substr(t+1),-1===(t=e.lastIndexOf(":"))?n+=r(e,!1,!1):n=(n=n+r(e.substr(0,t),!1,!1)+":")+r(e.substr(t+1),!1,!0),n+="@"),i=i.toLowerCase(),-1===(t=i.lastIndexOf(":"))?n+=r(i,!1,!0):n=(n+=r(i.substr(0,t),!1,!0))+i.substr(t)}return s&&(3<=s.length&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)?65<=(e=s.charCodeAt(1))&&e<=90&&(s=`/${String.fromCharCode(e+32)}:`+s.substr(3)):2<=s.length&&58===s.charCodeAt(1)&&65<=(e=s.charCodeAt(0))&&e<=90&&(s=String.fromCharCode(e+32)+":"+s.substr(2)),n+=r(s,!0,!1)),o&&(n=(n+="?")+r(o,!1,!1)),l?(n+="#")+(t?l:y(l,!1,!1)):n}function R(e){try{return decodeURIComponent(e)}catch{return 3<e.length?e.substr(0,3)+R(e.substr(3)):e}}Fe(y,"m"),Fe(g,"y"),Fe(v,"v"),Fe(T,"b"),Fe(R,"C");let $=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(e){return e.match($)?e.replace($,e=>R(e)):e}Fe(E,"w");let A=a(975),b=A.posix||A;(t=e=e||{}).joinPath=function(e,...t){return e.with({path:b.join(e.path,...t)})},t.resolvePath=function(e,...t){let r=e.path,n=!1,a=("/"!==r[0]&&(r="/"+r,n=!0),b.resolve(r,...t));return n&&"/"===a[0]&&!e.authority&&(a=a.substring(1)),e.with({path:a})},t.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=b.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},t.basename=function(e){return b.basename(e.path)},t.extname=function(e){return b.extname(e.path)},mx=s})();var Ex,Ax,{URI:bx,Utils:Cx}=mx,Sx=((e=>{e.basename=Cx.basename,e.dirname=Cx.dirname,e.extname=Cx.extname,e.joinPath=Cx.joinPath,e.resolvePath=Cx.resolvePath;let t="object"==typeof process&&"win32"===process?.platform;function r(e,t){return e?.toString()===t?.toString()}function n(e,r){e=("string"==typeof e?bx.parse(e):e).path,r=("string"==typeof r?bx.parse(r):r).path;var n=e.split("/").filter(e=>0<e.length),a=r.split("/").filter(e=>0<e.length);if(t&&(e=/^[A-Z]:$/,n[0]&&e.test(n[0])&&(n[0]=n[0].toLowerCase()),a[0]&&e.test(a[0])&&(a[0]=a[0].toLowerCase()),n[0]!==a[0]))return r.substring(1);let i=0;for(;i<n.length&&n[i]===a[i];i++);return"../".repeat(n.length-i)+a.slice(i).join("/")}function a(e){return bx.parse(e.toString()).toString()}function i(e,t){let r="string"==typeof e?e:e.path,n="string"==typeof t?t:t.path;return"/"===n.charAt(n.length-1)&&(n=n.slice(0,-1)),"/"===r.charAt(r.length-1)&&(r=r.slice(0,-1)),n===r||!(n.length<r.length)&&"/"===n.charAt(r.length)&&n.startsWith(r)}Fe(r,"equals"),e.equals=r,Fe(n,"relative"),e.relative=n,Fe(a,"normalize"),e.normalize=a,Fe(i,"contains"),e.contains=i})(Ex=Ex||{}),class{static{Fe(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Ex.normalize(e)}clear(){this.root.children.clear()}insert(e,t){this.getNode(this.normalizeUri(e),!0).element=t}delete(e){e=this.getNode(this.normalizeUri(e),!1),e?.parent&&e.parent.children.delete(e.name)}has(e){return void 0!==this.getNode(this.normalizeUri(e),!1)?.element}hasNode(e){return void 0!==this.getNode(this.normalizeUri(e),!1)}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){e=this.normalizeUri(e);var t=this.getNode(e,!1);if(t)return{name:t.name,uri:Ex.joinPath(bx.parse(e),t.name).toString(),element:t.element}}findChildren(e){let t=this.normalizeUri(e);return(e=this.getNode(t,!1))?Array.from(e.children.values()).map(e=>({name:e.name,uri:Ex.joinPath(bx.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){return(e=this.getNode(Ex.normalize(e),!1))?this.collectValues(e):[]}getNode(e,t){var r,n=e.split("/");"/"===e.charAt(e.length-1)&&n.pop();let a=this.root;for(r of n){let e=a.children.get(r);if(!e){if(!t)return;e={name:r,children:new Map,parent:a},a.children.set(r,e)}a=e}return a}collectValues(e){var t,r=[];for(t of(e.element&&r.push(e.element),e.children.values()))r.push(...this.collectValues(t));return r}}),kx=((e=>{e[e.Changed=0]="Changed",e[e.Parsed=1]="Parsed",e[e.IndexedContent=2]="IndexedContent",e[e.ComputedScopes=3]="ComputedScopes",e[e.Linked=4]="Linked",e[e.IndexedReferences=5]="IndexedReferences",e[e.Validated=6]="Validated"})(Ax=Ax||{}),class{static{Fe(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=ax.CancellationToken.None){var r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=t??bx.parse(e.uri),ax.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return ax.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){var n;return"string"==typeof t?(n=this.parse(e,t,r),this.createLangiumDocument(n,e,void 0,t)):"$model"in t?(n={value:t.$model,parserErrors:[],lexerErrors:[]},this.createLangiumDocument(n,e)):(n=this.parse(e,t.getText(),r),this.createLangiumDocument(n,e,t))}async createAsync(e,t,r){var n;return"string"==typeof t?(n=await this.parseAsync(e,t,r),this.createLangiumDocument(n,e,void 0,t)):(n=await this.parseAsync(e,t.getText(),r),this.createLangiumDocument(n,e,t))}createLangiumDocument(e,t,r,n){let a;if(r)a={parseResult:e,uri:t,state:Ax.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);a={parseResult:e,uri:t,state:Ax.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=a}async update(e,t){var r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),a=n?n.getText():await this.fileSystemProvider.readFile(e.uri);return n?Object.defineProperty(e,"textDocument",{value:n}):(n=this.createTextDocumentGetter(e.uri,a),Object.defineProperty(e,"textDocument",{get:n})),r!==a&&(e.parseResult=await this.parseAsync(e.uri,a,t),e.parseResult.value.$document=e),e.state=Ax.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r,n=this.serviceRegistry;return()=>r=r??fx.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??"")}}),xx=class{static{Fe(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new Sx,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return er(this.documentTrie.all())}addDocument(e){var t=e.uri.toString();if(this.documentTrie.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){return e=e.toString(),this.documentTrie.find(e)}getDocuments(e){return e=e.toString(),this.documentTrie.findAll(e)}async getOrCreateDocument(e,t){var r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){return r?this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e)):(r=this.langiumDocumentFactory.fromString(t,e),this.addDocument(r),r)}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){return e=e.toString(),(e=this.documentTrie.find(e))&&this.documentBuilder().resetToState(e,Ax.Changed),e}deleteDocument(e){e=e.toString();var t=this.documentTrie.find(e);return t&&(t.state=Ax.Changed,this.documentTrie.delete(e)),t}deleteDocuments(e){e=e.toString();var t,r=this.documentTrie.findAll(e);for(t of r)t.state=Ax.Changed;return this.documentTrie.delete(e),r}},wx=Symbol("RefResolving"),Nx=class{static{Fe(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=ax.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of dr(e.parseResult.value))await dx(t),mr(n).forEach(t=>{var a=n.$type+":"+t.property;r.startSubTask(a);try{this.doLink(t,e)}finally{r.stopSubTask(a)}})}finally{r.stop()}}else for(var r of dr(e.parseResult.value))await dx(t),mr(r).forEach(t=>this.doLink(t,e))}doLink(e,t){var r=e.reference;if("_ref"in r&&void 0===r._ref){r._ref=wx;try{var n=this.getCandidate(e);Ut(n)?r._ref=n:(r._nodeDescription=n,a=this.loadAstNode(n),r._ref=a??this.createLinkingError(e,n))}catch(t){console.error(`An error occurred while resolving reference to '${r.$refText}':`,t);var a=t.message??String(t);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': `+a}}t.references.push(r)}else if("_items"in r&&void 0===r._items){r._items=wx;try{var i=this.getCandidates(e),s=[];if(Ut(i))r._linkingError=i;else for(var o of i){var l=this.loadAstNode(o);l&&s.push({ref:l,$nodeDescription:o})}r._items=s}catch(t){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': `+t},r._items=[]}t.references.push(r)}}unlink(e){for(var t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){var t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(e=>e.documentUri+"#"+e.path).toArray();return 0<t.length?t:this.createLinkingError(e)}buildReference(e,t,r,n){let a=this,i={$refNode:r,$refText:n,_ref:void 0,get ref(){if(Gt(this._ref))return this._ref;if(qt(this._nodeDescription)){var r=a.loadAstNode(this._nodeDescription);this._ref=r??a.createLinkingError({reference:i,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=wx;r=lr(e).$document;var s=a.getLinkedNode({reference:i,container:e,property:t});if(s.error&&r&&r.state<Ax.ComputedScopes)return this._ref=void 0;this._ref=s.node??s.error,this._nodeDescription=s.descr,r?.references.push(this)}else this._ref===wx&&a.throwCyclicReferenceError(e,t,n);return Gt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Ut(this._ref)?this._ref:void 0}};return i}buildMultiReference(e,t,r,n){let a=this,i={$refNode:r,$refText:n,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(void 0===this._items){this._items=wx;var r=lr(e).$document,s=a.getCandidates({reference:i,container:e,property:t}),o=[];if(Ut(s))this._linkingError=s;else for(var l of s){var u=a.loadAstNode(l);u&&o.push({ref:u,$nodeDescription:l})}this._items=o,r?.references.push(this)}else this._items===wx&&a.throwCyclicReferenceError(e,t,n);return Array.isArray(this._items)?this._items:[]},get error(){return this._linkingError||(0<this.items.length?void 0:this._linkingError=a.createLinkingError({reference:i,container:e,property:t}))}};return i}throwCyclicReferenceError(e,t,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{var t=this.getCandidate(e);return Ut(t)?{error:t}:(r=this.loadAstNode(t))?{node:r,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(t){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,t);var r=t.message??String(t);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': `+r}}}}loadAstNode(e){var t;return e.node||((t=this.langiumDocuments().getDocument(e.documentUri))?this.astNodeLocator.getAstNode(t.parseResult.value,e.path):void 0)}createLinkingError(e,t){var r;return{info:e,message:`Could not resolve reference to ${r=((r=lr(e.container).$document)&&r.state<Ax.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`),this.reflection.getReferenceType(e))} named '${e.reference.$refText}'.`,targetDescription:t}}};function Ix(e){return"string"==typeof e.name}Fe(Ix,"isNamed");var _x=class{static{Fe(this,"DefaultNameProvider")}getName(e){if(Ix(e))return e.name}getNameNode(e){return Ai(e.$cstNode,"name")}},Px=class{static{Fe(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=dr(e.Grammar).some(e=>Wr(e)&&e.isMulti)}findDeclarations(e){if(e){var t=xi(e),r=e.astNode;if(t&&r){if(zt(t=r[t.feature])||Kt(t))return ur(t);if(Array.isArray(t))for(var n of t)if((zt(n)||Kt(n))&&n.$refNode&&n.$refNode.offset<=e.offset&&n.$refNode.end>=e.end)return ur(n)}if(r&&(t=this.nameProvider.getNameNode(r))&&(t===e||$a(e,t)))return this.getSelfNodes(r)}return[]}getSelfNodes(e){if(this.hasMultiReference){var t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));if(t=this.getNodeFromReferenceDescription(t.head()))for(var r of mr(t))if(Kt(r.reference)&&r.reference.items.some(t=>t.ref===e))return r.reference.items.map(e=>e.ref)}return[e]}getNodeFromReferenceDescription(e){var t;return e&&(t=this.documents.getDocument(e.sourceUri))?this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath):void 0}findDeclarationNodes(e){var t,r=[];for(t of this.findDeclarations(e)){var n=this.nameProvider.getNameNode(t)??t.$cstNode;n&&r.push(n)}return r}findReferences(e,t){var r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>Ex.equals(e.sourceUri,t.documentUri))),r.push(...n),er(r)}getSelfReferences(e){var t,r=[];for(t of this.getSelfNodes(e)){var n,a,i=this.nameProvider.getNameNode(t);i&&(n=or(t),a=this.nodeLocator.getAstNodePath(t),r.push({sourceUri:n.uri,sourcePath:a,targetUri:n.uri,targetPath:a,segment:Aa(i),local:!0}))}return r}},Ox=class{static{Fe(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(var[t,r]of e)this.add(t,r)}get size(){return tr.sum(er(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);var r=this.map.get(e);return!!(r&&0<=(t=r.indexOf(t)))&&(1===r.length?this.map.delete(e):r.splice(t,1),!0)}get(e){return this.map.get(e)??[]}getStream(e){return(e=this.map.get(e))?er(e):Jt}has(e,t){return void 0===t?this.map.has(e):!!(e=this.map.get(e))&&0<=e.indexOf(t)}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return er(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return er(this.map.keys())}values(){return er(this.map.values()).flat()}entriesGroupedByKey(){return er(this.map.entries())}},Lx=class{static{Fe(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(var[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){var t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}},Dx=class{static{Fe(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=ax.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=cr,n=ax.CancellationToken.None){var a,i=[];for(a of(this.addExportedSymbol(e,i,t),r(e)))await dx(n),this.addExportedSymbol(a,i,t);return i}addExportedSymbol(e,t,r){var n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=ax.CancellationToken.None){var r,n=e.parseResult.value,a=new Ox;for(r of pr(n))await dx(t),this.addLocalSymbol(r,e,a);return a}addLocalSymbol(e,t,r){var n,a=e.$container;a&&(n=this.nameProvider.getName(e))&&r.add(a,this.descriptions.createDescription(e,n,t))}},Mx=class{static{Fe(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e;return(this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===t):this.elements.find(t=>t.name===e))||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e;var r=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===t):this.elements.filter(t=>t.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},jx=class{static{Fe(this,"MapScope")}constructor(e,t,r){for(var n of(this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){var a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.set(a,n)}this.outerScope=t}getElement(e){var t=this.caseInsensitive?e.toLowerCase():e;return(t=this.elements.get(t))||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){var t=this.caseInsensitive?e.toLowerCase():e;t=(t=this.elements.get(t))?[t]:[];return(this.concatOuterScope||0<t.length)&&this.outerScope?er(t).concat(this.outerScope.getElements(e)):er(t)}getAllElements(){let e=er(this.elements.values());return this.outerScope?e.concat(this.outerScope.getAllElements()):e}},Fx=class{static{Fe(this,"MultiMapScope")}constructor(e,t,r){for(var n of(this.elements=new Ox,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){var a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.add(a,n)}this.outerScope=t}getElement(e){var t=this.caseInsensitive?e.toLowerCase():e;return(t=this.elements.get(t)[0])||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){var t=this.caseInsensitive?e.toLowerCase():e;t=this.elements.get(t);return(this.concatOuterScope||0===t.length)&&this.outerScope?er(t).concat(this.outerScope.getElements(e)):er(t)}getAllElements(){let e=er(this.elements.values());return this.outerScope?e.concat(this.outerScope.getAllElements()):e}},Gx={getElement(){},getElements:()=>Jt,getAllElements:()=>Jt},zx=class{static{Fe(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Kx=class extends zx{static{Fe(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){return this.throwIfDisposed(),this.cache.has(e)?this.cache.get(e):t?(t=t(),this.cache.set(e,t),t):void 0}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},qx=class extends zx{static{Fe(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){return this.throwIfDisposed(),(e=this.cacheForContext(e)).has(t)?e.get(t):r?(r=r(),e.set(t,r),r):void 0}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){this.throwIfDisposed(),e?(e=this.converter(e),this.cache.delete(e)):this.cache.clear()}cacheForContext(e){e=this.converter(e);let t=this.cache.get(e);return t||(t=new Map,this.cache.set(e,t)),t}},Ux=class extends qx{static{Fe(this,"DocumentCache")}constructor(e,t){super(e=>e.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,e=>{this.clear(e.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(var r of t)this.clear(r)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{var r;for(r of e.concat(t))this.clear(r)}))}},Bx=class extends Kx{static{Fe(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{0<t.length&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},Vx=class{static{Fe(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new Bx(e.shared)}getScope(e){var t=[];let r=this.reflection.getReferenceType(e);var n=or(e.container).localSymbols;if(n){let a=e.container;for(;n.has(a)&&t.push(n.getStream(a).filter(e=>this.reflection.isSubtype(e.type,r))),a=a.$container;);}let a=this.getGlobalScope(r,e);for(let e=t.length-1;0<=e;e--)a=this.createScope(t[e],a);return a}createScope(e,t,r){return new Mx(er(e),t,r)}createScopeForNodes(e,t,r){return e=er(e).map(e=>{var t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),new Mx(e,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new Fx(this.indexManager.allElements(e)))}};function Wx(e){return"string"==typeof e.$comment}function Hx(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}Fe(Wx,"isAstNodeWithComment"),Fe(Hx,"isIntermediateReference");var Yx,Zx=class{static{Fe(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let r=t??{},n=t?.replacer,a=Fe((e,t)=>this.replacer(e,t,r),"defaultReplacer");var i=n?(e,t)=>n(e,t,a):a;try{return this.currentDocument=or(e),JSON.stringify(e,i,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){return t=t??{},e=JSON.parse(e),this.linkNode(e,e,t),e}replacer(e,t,{refText:r,sourceText:n,textRegions:a,comments:i,uriConverter:s}){if(!this.ignoreProperties.has(e)){if(zt(t)){var o=t.ref,l=r?t.$refText:void 0;if(o){var u=or(o);let e="";return this.currentDocument&&this.currentDocument!==u&&(e=s?s(u.uri,o):u.uri.toString()),{$ref:e+"#"+(u=this.astNodeLocator.getAstNodePath(o)),$refText:l}}return{$error:t.error?.message??"Could not resolve reference",$refText:l}}if(Kt(t)){o=r?t.$refText:void 0;var c,p=[];for(c of t.items){var d=c.ref,f=or(c.ref);let e="";this.currentDocument&&this.currentDocument!==f&&(e=s?s(f.uri,d):f.uri.toString()),f=this.astNodeLocator.getAstNodePath(d),p.push(e+"#"+f)}return{$refs:p,$refText:o}}if(Gt(t)){let r;return a&&(r=this.addAstNodeRegionWithAssignmentsTo({...t}),e&&!t.$document||!r?.$textRegion||(r.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&((r=r??{...t}).$sourceText=t.$cstNode?.text),i&&(r=r??{...t},u=this.commentProvider.getComment(t))&&(r.$comment=u.replace(/\r/g,"")),r??t}return t}}addAstNodeRegionWithAssignmentsTo(e){let t=Fe(e=>({offset:e.offset,end:e.end,length:e.length,range:e.range}),"createDocumentSegment");if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{var a=Ei(e.$cstNode,n).map(t);0!==a.length&&(r[n]=a)}),e}}linkNode(e,t,r,n,a,i){for(var[s,o]of Object.entries(e))if(Array.isArray(o))for(let n=0;n<o.length;n++){var l=o[n];Hx(l)?o[n]=this.reviveReference(e,s,t,l,r):Gt(l)&&this.linkNode(l,t,r,e,s,n)}else Hx(o)?e[s]=this.reviveReference(e,s,t,o,r):Gt(o)&&this.linkNode(o,t,r,e,s);var u=e;u.$container=n,u.$containerProperty=a,u.$containerIndex=i}reviveReference(e,t,r,n,a){let i,s=n.$refText,o=n.$error;if(n.$ref){var l=this.getRefNode(r,n.$ref,a.uriConverter);if(Gt(l))return{$refText:(s=s||this.nameProvider.getName(l))??"",ref:l};o=l}else if(n.$refs){var u,c=[];for(u of n.$refs){var p=this.getRefNode(r,u,a.uriConverter);Gt(p)&&c.push({ref:p})}if(0!==c.length)return{$refText:s??"",items:c};i={$refText:s??"",items:c},o=o??"Could not resolve multi-reference"}if(o)return(i=i??{$refText:s??"",ref:void 0}).error={info:{container:e,property:t,reference:i},message:o},i}getRefNode(e,t,r){try{var n,a,i,s,o=t.indexOf("#");return 0===o?this.astNodeLocator.getAstNode(e,t.substring(1))||"Could not resolve path: "+t:o<0?(n=r?r(t):bx.parse(t),(a=this.langiumDocuments.getDocument(n))?a.parseResult.value:"Could not find document for URI: "+t):(i=r?r(t.substring(0,o)):bx.parse(t.substring(0,o)),(s=this.langiumDocuments.getDocument(i))?o===t.length-1?s.parseResult.value:this.astNodeLocator.getAstNode(s.parseResult.value,t.substring(o+1))||"Could not resolve URI: "+t:"Could not find document for URI: "+t)}catch(e){return String(e)}}},Xx=class{static{Fe(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){var t,r=e.LanguageMetaData;for(t of r.fileExtensions)this.fileExtensionMap.has(t)&&console.warn(`The file extension ${t} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(t,e);if(r.fileNames)for(var n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(0===this.languageIdMap.size)throw new Error("The service registry is empty. Use `register` to register the services of a language.");var t=this.textDocuments?.get(e)?.languageId;if(void 0!==t){var r=this.languageIdMap.get(t);if(r)return r}if(r=Ex.extname(e),e=Ex.basename(e),e=this.fileNameMap.get(e)??this.fileExtensionMap.get(r))return e;throw t?new Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`):new Error(`The service registry contains no services for the extension '${r}'.`)}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Jx(e){return{code:e}}Fe(Jx,"diagnosticData"),(e=>{e.defaults=["fast","slow","built-in"],e.all=e.defaults})(Yx=Yx||{});var Qx,ew=class{static{Fe(this,"ValidationRegistry")}constructor(e){this.entries=new Ox,this.knownCategories=new Set(Yx.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(var[n,a]of(this.knownCategories.add(r),Object.entries(e)))if(Array.isArray(a))for(var i of a)i={check:this.wrapValidationException(i,t),category:r},this.addEntry(n,i);else"function"==typeof a?(a={check:this.wrapValidationException(a,t),category:r},this.addEntry(n,a)):za()}wrapValidationException(e,t){return async(r,n,a)=>{await this.handleException(()=>e.call(t,r,n,a),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(e){if(px(e))throw e;console.error(t+":",e),e instanceof Error&&e.stack&&console.error(e.stack),r("error",t+": "+(e instanceof Error?e.message:String(e)),{node:n})}}addEntry(e,t){if("AstNode"===e)this.entries.add("AstNode",t);else for(var r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=er(this.entries.get(e)).concat(this.entries.get("AstNode"));return(r=t?r.filter(e=>t.includes(e.category)):r).map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,a,i,s)=>{await this.handleException(()=>e.call(r,n,a,i,s),t,a,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},tw=Object.freeze({validateNode:!0,validateChildren:!0}),rw=class{static{Fe(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},r=ax.CancellationToken.None){var n=e.parseResult,a=[];if(await dx(r),!t.categories||t.categories.includes("built-in")){if(this.processLexingErrors(n,a,t),t.stopAfterLexingErrors&&a.some(e=>e.data?.code===Qx.LexingError))return a;if(this.processParsingErrors(n,a,t),t.stopAfterParsingErrors&&a.some(e=>e.data?.code===Qx.ParsingError))return a;if(this.processLinkingErrors(e,a,t),t.stopAfterLinkingErrors&&a.some(e=>e.data?.code===Qx.LinkingError))return a}try{a.push(...await this.validateAst(n.value,t,r))}catch(e){if(px(e))throw e;console.error("An error occurred during validation:",e)}return await dx(r),a}processLexingErrors(e,t,r){var n;for(n of[...e.lexerErrors,...e.lexerReport?.diagnostics??[]]){var a={severity:aw(a=n.severity??"error"),range:{start:{line:n.line-1,character:n.column-1},end:{line:n.line-1,character:n.column+n.length-1}},message:n.message,data:iw(a),source:this.getSource()};t.push(a)}}processParsingErrors(e,t,r){for(var n of e.parserErrors){let e;var a,i;isNaN(n.token.startOffset)?"previousToken"in n&&(i=n.previousToken,e=isNaN(i.startOffset)?{start:a={line:0,character:0},end:a}:{start:a={line:i.endLine-1,character:i.endColumn},end:a}):e=Ea(n.token),e&&(i={severity:aw("error"),range:e,message:n.message,data:Jx(Qx.ParsingError),source:this.getSource()},t.push(i))}}processLinkingErrors(e,t,r){for(var n of e.references){var a=n.error;a&&(n={node:a.info.container,range:n.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Qx.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}},t.push(this.toDiagnostic("error",a.message,n)))}}async validateAst(e,t,r=ax.CancellationToken.None){let n=[];var a=Fe((e,t,r)=>{n.push(this.toDiagnostic(e,t,r))},"acceptor");return await this.validateAstBefore(e,t,a,r),await this.validateAstNodes(e,t,a,r),await this.validateAstAfter(e,t,a,r),n}async validateAstBefore(e,t,r,n=ax.CancellationToken.None){var a;for(a of this.validationRegistry.checksBefore)await dx(n),await a(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=ax.CancellationToken.None){if(this.profiler?.isActive("validating")){var a=this.profiler.createTask("validating",this.languageId);a.start();try{var i,s=dr(e).iterator();for(i of s){a.startSubTask(i.$type);var o,l=this.validateSingleNodeOptions(i,t);if(l.validateNode)try{for(o of this.validationRegistry.getChecks(i.$type,t.categories))await o(i,r,n)}finally{a.stopSubTask(i.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{var u,c=dr(e).iterator();for(u of c){await dx(n);var p,d=this.validateSingleNodeOptions(u,t);if(d.validateNode)for(p of this.validationRegistry.getChecks(u.$type,t.categories))await p(u,r,n);d.validateChildren||c.prune()}}}validateSingleNodeOptions(e,t){return tw}async validateAstAfter(e,t,r,n=ax.CancellationToken.None){var a;for(a of this.validationRegistry.checksAfter)await dx(n),await a(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:nw(r),severity:aw(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 nw(e){if(e.range)return e.range;let t;return"string"==typeof e.property?t=Ai(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=Si(e.node.$cstNode,e.keyword,e.index)),(t=t??e.node.$cstNode)?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function aw(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+e)}}function iw(e){switch(e){case"error":return Jx(Qx.LexingError);case"warning":return Jx(Qx.LexingWarning);case"info":return Jx(Qx.LexingInfo);case"hint":return Jx(Qx.LexingHint);default:throw new Error("Invalid diagnostic severity: "+e)}}Fe(nw,"getDiagnosticRange"),Fe(aw,"toDiagnosticSeverity"),Fe(iw,"toDiagnosticData"),(e=>{e.LexingError="lexing-error",e.LexingWarning="lexing-warning",e.LexingInfo="lexing-info",e.LexingHint="lexing-hint",e.ParsingError="parsing-error",e.LinkingError="linking-error"})(Qx=Qx||{});var sw,ow=class{static{Fe(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){r=r??or(e);var n=(t=t??this.nameProvider.getName(e),this.astNodeLocator.getAstNodePath(e));if(!t)throw new Error(`Node at path ${n} has no name.`);let a,i=Fe(()=>a=a??Aa(this.nameProvider.getNameNode(e)??e.$cstNode),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return i()},selectionSegment:Aa(e.$cstNode),type:e.$type,documentUri:r.uri,path:n}}},lw=class{static{Fe(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=ax.CancellationToken.None){let r=[];var n;for(n of dr(e.parseResult.value))await dx(t),mr(n).forEach(e=>{e.reference.error||r.push(...this.createInfoDescriptions(e))});return r}createInfoDescriptions(e){var t=e.reference;if(t.error||!t.$refNode)return[];let r=[];zt(t)&&t.$nodeDescription?r=[t.$nodeDescription]:Kt(t)&&(r=t.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));var n,a=or(e.container).uri,i=this.nodeLocator.getAstNodePath(e.container),s=[],o=Aa(t.$refNode);for(n of r)s.push({sourceUri:a,sourcePath:i,targetUri:n.documentUri,targetPath:n.path,segment:o,local:Ex.equals(n.documentUri,a)});return s}},uw=class{static{Fe(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){var t;return e.$container?(t=this.getAstNodePath(e.$container),e=this.getPathSegment(e),t+this.segmentSeparator+e):""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(e)return void 0!==t?e+this.indexSeparator+t:e;throw new Error("Missing '$containerProperty' in AST node.")}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{var r,n;return e&&0!==t.length?0<(n=t.indexOf(this.indexSeparator))?(r=t.substring(0,n),n=parseInt(t.substring(n+1)),e[r]?.[n]):e[t]:e},e)}},cw={},pw=(qe(cw,Ue(Ze(),1)),class{static{Fe(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new hx,this.onConfigurationSectionUpdateEmitter=new cw.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig&&(e.register&&(t=this.serviceRegistry.all,e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})),e.fetchConfiguration)){var t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)}));let r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}this._ready.resolve()}updateConfiguration(e){"object"==typeof e.settings&&null!==e.settings&&Object.entries(e.settings).forEach(([e,t])=>{this.updateSectionConfiguration(e,t),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:t})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){if(await this.ready,e=this.toSectionName(e),this.settings[e])return this.settings[e][t]}toSectionName(e){return""+e}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}),dw=Ue(Mt(),1),fw=((e=>{function t(e){return{dispose:Fe(async()=>e(),"dispose")}}Fe(t,"create"),e.create=t})(sw=sw||{}),class{static{Fe(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ox,this.documentPhaseListeners=new Ox,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Ax.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=ax.CancellationToken.None){for(var n of e){var a,i=n.uri.toString();n.state===Ax.Validated?"boolean"==typeof t.validation&&t.validation?this.resetToState(n,Ax.IndexedReferences):"object"==typeof t.validation&&0<(a=this.findMissingValidationCategories(n,t)).length&&(this.buildState.set(i,{completed:!1,options:{validation:{categories:a}},result:this.buildState.get(i)?.result}),n.state=Ax.IndexedReferences):this.buildState.delete(i)}this.currentState=Ax.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=ax.CancellationToken.None){this.currentState=Ax.Changed;var n,a,i=[];for(n of t)for(a of this.langiumDocuments.deleteDocuments(n))i.push(a.uri),this.cleanUpDeleted(a);var s;t=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(s of t){let e=this.langiumDocuments.getDocument(s);void 0===e&&((e=this.langiumDocumentFactory.fromModel({$type:"INVALID"},s)).state=Ax.Changed,this.langiumDocuments.addDocument(e)),this.resetToState(e,Ax.Changed)}let o=er(t).concat(i).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!o.has(e.uri.toString())&&this.shouldRelink(e,o)).forEach(e=>this.resetToState(e,Ax.ComputedScopes)),await this.emitUpdate(t,i),await dx(r),e=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<Ax.Validated||!this.buildState.get(e.uri.toString())?.completed||this.resultsAreIncomplete(e,this.updateBuildOptions)).toArray()),await this.buildDocuments(e,this.updateBuildOptions,r)}resultsAreIncomplete(e,t){return 1<=this.findMissingValidationCategories(e,t).length}findMissingValidationCategories(e,t){var r=this.buildState.get(e.uri.toString());e=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e);let n=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?e:new Set;return er(void 0===t||!0===t.validation?e:"object"==typeof t.validation?t.validation.categories??e:[]).filter(e=>!n.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{var t=await this.fileSystemProvider.stat(e);if(t.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(t))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;0<=r&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){return Boolean(this.textDocuments?.get(e.uri))}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),sw.create(()=>{var t=this.updateListeners.indexOf(e);0<=t&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case Ax.Changed:case Ax.Parsed:this.indexManager.removeContent(e.uri);case Ax.IndexedContent:e.localSymbols=void 0;case Ax.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Ax.Linked:this.indexManager.removeReferences(e.uri);case Ax.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Ax.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Ax.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,Ax.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,Ax.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,Ax.ComputedScopes,r,async e=>{var t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.localSymbols=await t.collectLocalSymbols(e,r)}),t=e.filter(e=>this.shouldLink(e)),await this.runCancelable(t,Ax.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(t,Ax.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r)),t=e.filter(e=>!!this.shouldValidate(e)||(this.markAsCompleted(e),!1)),await this.runCancelable(t,Ax.Validated,r,async e=>{await this.validate(e,r),this.markAsCompleted(e)})}markAsCompleted(e){(e=this.buildState.get(e.uri.toString()))&&(e.completed=!0)}prepareBuild(e,t){for(var r of e){r=r.uri.toString();var n=this.buildState.get(r);n&&!n.completed||this.buildState.set(r,{completed:!1,options:t,result:n?.result})}}async runCancelable(e,t,r,n){for(var a of e)a.state<t&&(await dx(r),await n(a),a.state=t,await this.notifyDocumentPhase(a,t,r));e=e.filter(e=>e.state===t),await this.notifyBuildPhase(e,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),sw.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),sw.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return t&&"path"in t?n=t:r=t,r=r??ax.CancellationToken.None,n?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){var n=this.langiumDocuments.getDocument(t);return n?n.state>=e?Promise.resolve(t):r.isCancellationRequested?Promise.reject(cx):this.currentState>=e&&e>n.state?Promise.reject(new dw.ResponseError(dw.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${Ax[n.state]}, requiring ${Ax[e]}, but workspace state is already ${Ax[this.currentState]}. Returning undefined.`)):new Promise((n,a)=>{let i=this.onDocumentPhase(e,e=>{Ex.equals(e.uri,t)&&(i.dispose(),s.dispose(),n(e.uri))}),s=r.onCancellationRequested(()=>{i.dispose(),s.dispose(),a(cx)})}):Promise.reject(new dw.ResponseError(dw.LSPErrorCodes.ServerCancelled,"No document found for URI: "+t.toString()))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(cx):new Promise((r,n)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),i.dispose(),r()}),i=t.onCancellationRequested(()=>{a.dispose(),i.dispose(),n(cx)})})}async notifyDocumentPhase(e,t,r){var n;for(n of this.documentPhaseListeners.get(t).slice())try{await dx(r),await n(e,r)}catch(e){if(!px(e))throw e}}async notifyBuildPhase(e,t,r){var n;if(0!==e.length)for(n of this.buildPhaseListeners.get(t).slice())await dx(r),await n(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return Boolean(this.getBuildOptions(e).validation)}async validate(e,t){var r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n="object"==typeof(a=this.getBuildOptions(e)).validation?{...a.validation}:{},a=(n.categories=this.findMissingValidationCategories(e,a),await r.validateDocument(e,n,t));(r=(e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a,this.buildState.get(e.uri.toString())))&&(r.result??(r.result={}),r.result.validationChecks?r.result.validationChecks=er(r.result.validationChecks).concat(n.categories).distinct().toArray():r.result.validationChecks=[...n.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}),mw=class{static{Fe(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new qx,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=or(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{Ex.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),er(n)}allElements(e,t){let r=er(this.symbolIndex.keys());return(r=t?r.filter(e=>!t||t.has(e)):r).map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){e=e.toString(),this.symbolIndex.delete(e),this.symbolByTypeIndex.clear(e)}removeReferences(e){e=e.toString(),this.referenceIndex.delete(e)}async updateContent(e,t=ax.CancellationToken.None){t=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,t),e=e.uri.toString(),this.symbolIndex.set(e,t),this.symbolByTypeIndex.clear(e)}async updateReferences(e,t=ax.CancellationToken.None){t=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t),this.referenceIndex.set(e.uri.toString(),t)}isAffected(e,t){return!!(e=this.referenceIndex.get(e.uri.toString()))&&e.some(e=>!e.local&&t.has(e.targetUri.toString()))}},hw=class{static{Fe(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new hx,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=ax.CancellationToken.None){e=await this.performStartup(e),await dx(t),await this.documentBuilder.build(e,this.initialBuildOptions,t)}async performStartup(e){let t=[];var r=Fe(e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)},"collector");await this.loadAdditionalDocuments(e,r);let n=[];return await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,n))),e=er(n).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e)),await this.loadWorkspaceDocuments(e,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{e=await this.langiumDocuments.getOrCreateDocument(e),t(e)}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return bx.parse(e.uri)}async traverseFolder(e,t){try{var r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async e=>{this.shouldIncludeEntry(e)&&(e.isDirectory?await this.traverseFolder(e.uri,t):e.isFile&&t.push(e.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){var t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){var t=Ex.basename(e.uri);return!t.startsWith(".")&&(e.isDirectory?"node_modules"!==t&&"out"!==t:!!e.isFile&&this.serviceRegistry.hasServices(e.uri))}},yw=class{static{Fe(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,a){return Ng.buildUnexpectedCharactersMessage(e,t,r,n,a)}buildUnableToPopLexerModeMessage(e){return Ng.buildUnableToPopLexerModeMessage(e)}},gw={mode:"full"},vw=class{static{Fe(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;var t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t),t=$w(t)?Object.values(t):t,e="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new _g(t,{positionTracking:"full",skipValidations:e,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=0){var r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if($w(e))return e;e=Rw(e)?Object.values(e.modes).flat():e;let t={};return e.forEach(e=>t[e.name]=e),t}};function Tw(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}function Rw(e){return e&&"modes"in e&&"defaultMode"in e}function $w(e){return!Tw(e)&&!Rw(e)}function Ew(e,t,r){let n,a;return n="string"==typeof e?(a=t,r):(a=e.range.start,t),a=a||s.create(0,0),Pw({index:0,tokens:kw({lines:r=bw(e),position:a,options:t=Gw(n)}),position:a})}function Aw(e,t){var r,n;t=Gw(t);return 0!==(e=bw(e)).length&&(r=e[e.length-1],n=t.start,t=t.end,Boolean(n?.exec(e[0])))&&Boolean(t?.exec(r))}function bw(e){let t="";return("string"==typeof e?e:e.text).split(ai)}Fe(Tw,"isTokenTypeArray"),Fe(Rw,"isIMultiModeLexerDefinition"),Fe($w,"isTokenTypeDictionary"),We(),Fe(Ew,"parseJSDoc"),Fe(Aw,"isJSDoc"),Fe(bw,"getLines");var Cw=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Sw=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function kw(e){var t=[];let r=e.position.line,n=e.position.character;for(let c=0;c<e.lines.length;c++){var a,i,l=0===c,u=c===e.lines.length-1;let p=e.lines[c],d=0;l&&e.options.start?(l=e.options.start?.exec(p))&&(d=l.index+l[0].length):(l=e.options.line?.exec(p))&&(d=l.index+l[0].length),Iw(p=(p=u&&(l=e.options.end?.exec(p))?p.substring(0,l.index):p).substring(0,_w(p)),d)>=p.length?0<t.length&&(u=s.create(r,n),t.push({type:"break",content:"",range:o.create(u,u)})):(Cw.lastIndex=d,(l=Cw.exec(p))&&(u=l[0],l=l[1],i=s.create(r,n+d),a=s.create(r,n+d+u.length),t.push({type:"tag",content:l,range:o.create(i,a)}),d+=u.length,d=Iw(p,d)),d<p.length&&(l=p.substring(d),i=Array.from(l.matchAll(Sw)),t.push(...xw(i,l,r,n+d)))),r++,n=0}return 0<t.length&&"break"===t[t.length-1].type?t.slice(0,-1):t}function xw(e,t,r,n){var a=[];if(0===e.length){var i=s.create(r,n),l=s.create(r,n+t.length);a.push({type:"text",content:t,range:o.create(i,l)})}else{let l=0;for(var u of e){var c=u.index;0<(p=t.substring(l,c)).length&&a.push({type:"text",content:t.substring(l,c),range:o.create(s.create(r,l+n),s.create(r,c+n))});let e=p.length+1;var p=u[1];a.push({type:"inline-tag",content:p,range:o.create(s.create(r,l+e+n),s.create(r,l+e+p.length+n))}),e+=p.length,4===u.length?(e+=u[2].length,p=u[3],a.push({type:"text",content:p,range:o.create(s.create(r,l+e+n),s.create(r,l+e+p.length+n))})):a.push({type:"text",content:"",range:o.create(s.create(r,l+e+n),s.create(r,l+e+n))}),l=c+u[0].length}0<(i=t.substring(l)).length&&a.push({type:"text",content:i,range:o.create(s.create(r,l+n),s.create(r,l+n+i.length))})}return a}Fe(kw,"tokenize"),Fe(xw,"buildInlineTokens");var ww=/\S/,Nw=/\s*$/;function Iw(e,t){var r=e.substring(t).match(ww);return r?t+r.index:e.length}function _w(e){if((e=e.match(Nw))&&"number"==typeof e.index)return e.index}function Pw(e){var t=s.create(e.position.line,e.position.character);if(0===e.tokens.length)return new Kw([],o.create(t,t));for(var r=[];e.index<e.tokens.length;){var n=Ow(e,r[r.length-1]);n&&r.push(n)}var a=r[0]?.range.start??t;t=r[r.length-1]?.range.end??t;return new Kw(r,o.create(a,t))}function Ow(e,t){var r=e.tokens[e.index];return"tag"===r.type?jw(e,!1):"text"===r.type||"inline-tag"===r.type?Dw(e):(Lw(r,t),void e.index++)}function Lw(e,t){t&&(e=new Ww("",e.range),("inlines"in t?t:t.content).inlines.push(e))}function Dw(e){let t=e.tokens[e.index];var r=t;let n=t;for(var a=[];t&&"break"!==t.type&&"tag"!==t.type;)a.push(Mw(e)),n=t,t=e.tokens[e.index];return new Vw(a,o.create(r.range.start,n.range.end))}function Mw(e){return"inline-tag"===e.tokens[e.index].type?jw(e,!0):Fw(e)}function jw(e,t){var r,n=e.tokens[e.index++],a=n.content.substring(1);return"text"===e.tokens[e.index]?.type?t?(r=Fw(e),new qw(a,new Vw([r],r.range),t,o.create(n.range.start,r.range.end))):(r=Dw(e),new qw(a,r,t,o.create(n.range.start,r.range.end))):(e=n.range,new qw(a,new Vw([],e),t,e))}function Fw(e){return e=e.tokens[e.index++],new Ww(e.content,e.range)}function Gw(e){var t,r;return e?(({start:e,end:t,line:r}=e),{start:zw(e,!0),end:zw(t,!1),line:zw(r,!0)}):Gw({start:"/**",end:"*/",line:"*"})}function zw(e,t){var r;return"string"==typeof e||"object"==typeof e?(r="string"==typeof e?di(e):e.source,t?new RegExp("^\\s*"+r):new RegExp(`\\s*${r}\\s*$`)):e}Fe(Iw,"skipWhitespace"),Fe(_w,"lastCharacter"),Fe(Pw,"parseJSDocComment"),Fe(Ow,"parseJSDocElement"),Fe(Lw,"appendEmptyLine"),Fe(Dw,"parseJSDocText"),Fe(Mw,"parseJSDocInline"),Fe(jw,"parseJSDocTag"),Fe(Fw,"parseJSDocLine"),Fe(Gw,"normalizeOptions"),Fe(zw,"normalizeOption");var Kw=class{static{Fe(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(var t of this.elements)0===e.length?e=t.toString():(t=t.toString(),e+=Hw(e)+t);return e.trim()}toMarkdown(e){let t="";for(var r of this.elements)0===t.length?t=r.toMarkdown(e):(r=r.toMarkdown(e),t+=Hw(t)+r);return t.trim()}},qw=class{static{Fe(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e="@"+this.name;var t=this.content.toString();return 1===this.content.inlines.length?e=e+" "+t:1<this.content.inlines.length&&(e=e+"\n"+t),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){var t=this.content.toMarkdown(e);if(this.inline){var r=Uw(this.name,t,e??{});if("string"==typeof r)return r}let n="",a=("italic"===e?.tag||void 0===e?.tag?n="*":"bold"===e?.tag?n="**":"bold-italic"===e?.tag&&(n="***"),n+"@"+this.name+n);return 1===this.content.inlines.length?a=a+" — "+t:1<this.content.inlines.length&&(a=a+"\n"+t),this.inline?`{${a}}`:a}};function Uw(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){var n,a=t.indexOf(" ");let i=t;return 0<a&&(n=Iw(t,a),i=t.substring(n),t=t.substring(0,a)),("linkcode"===e||"link"===e&&"code"===r.link)&&(i=`\`${i}\``),r.renderLink?.(t,i)??Bw(t,i)}}function Bw(e,t){try{return bx.parse(e,!0),`[${t}](${e})`}catch{return e}}Fe(Uw,"renderInlineTag"),Fe(Bw,"renderLinkDefault");var Vw=class{static{Fe(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let n=0;n<this.inlines.length;n++){var t=this.inlines[n],r=this.inlines[n+1];e+=t.toString(),r&&r.range.start.line>t.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let a=0;a<this.inlines.length;a++){var r=this.inlines[a],n=this.inlines[a+1];t+=r.toMarkdown(e),n&&n.range.start.line>r.range.start.line&&(t+="\n")}return t}},Ww=class{static{Fe(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function Hw(e){return e.endsWith("\n")?"\n":"\n\n"}Fe(Hw,"fillNewlines");var Yw,Zw=class{static{Fe(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){var t=this.commentProvider.getComment(e);if(t&&Aw(t))return Ew(t).toMarkdown({renderLink:Fe((t,r)=>this.documentationLinkRenderer(e,t,r),"renderLink"),renderTag:Fe(t=>this.documentationTagRenderer(e,t),"renderTag")})}documentationLinkRenderer(e,t,r){var n;if((e=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t))&&e.nameSegment)return t=e.nameSegment.range.start.line+1,n=e.nameSegment.range.start.character+1,`[${r}](${e.documentUri.with({fragment:`L${t},`+n}).toString()})`}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){var r=or(e).localSymbols;if(r){let a=e;do{var n=r.getStream(a).find(e=>e.name===t);if(n)return n}while(a=a.$container)}}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}},Xw=class{static{Fe(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Wx(e)?e.$comment:xa(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},Jw=class{static{Fe(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},Qw=class{static{Fe(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{var t;0<this.queue.length&&(t=this.queue.shift())&&(e.lock(),t.resolve(e))}),this.workerPool.push(e)}}async parse(e,t){let r,n=await this.acquireParserWorker(t),a=new hx,i=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(e=>{e=this.hydrator.hydrate(e),a.resolve(e)}).catch(e=>{a.reject(e)}).finally(()=>{i.dispose(),clearTimeout(r)}),a.promise}terminateWorker(e){e.terminate(),0<=(e=this.workerPool.indexOf(e))&&this.workerPool.splice(e,1)}async acquireParserWorker(e){for(var t of(this.initializeWorkers(),this.workerPool))if(t.ready)return t.lock(),t;let r=new hx;return e.onCancellationRequested(()=>{var e=this.queue.indexOf(r);0<=e&&this.queue.splice(e,1),r.reject(cx)}),this.queue.push(r),r.promise}},eN=class{static{Fe(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new cw.Emitter,this.deferred=new hx,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),r(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(cx),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new hx,this.sendMessage(e),this.deferred.promise}},tN=class{static{Fe(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new ax.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();var t=lx();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=ax.CancellationToken.None){var n=new hx;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.promise}async performNextOperation(){if(this.done){var e=[];if(0<this.writeQueue.length)e.push(this.writeQueue.shift());else{if(!(0<this.readQueue.length))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{var n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){px(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}}cancelWrite(){this.previousTokenSource.cancel()}},rN=class{static{Fe(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new Lx,this.tokenTypeIdMap=new Lx,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>({...e,message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){var t,r=new Map,n=new Map;for(t of dr(e))r.set(t,{});if(e.$cstNode)for(var a of Ta(e.$cstNode))n.set(a,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,t){var r,n,a=t.astNodes.get(e);for([r,n]of(a.$type=e.$type,a.$containerIndex=e.$containerIndex,a.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(a.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!r.startsWith("$"))if(Array.isArray(n)){var i,s=[];for(i of(a[r]=s,n))Gt(i)?s.push(this.dehydrateAstNode(i,t)):zt(i)?s.push(this.dehydrateReference(i,t)):s.push(i)}else Gt(n)?a[r]=this.dehydrateAstNode(n,t):zt(n)?a[r]=this.dehydrateReference(n,t):void 0!==n&&(a[r]=n);return a}dehydrateReference(e,t){var r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){var r=t.cstNodes.get(e);return Ht(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),Vt(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):Wt(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){var 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){var t,r=new Map,n=new Map;for(t of dr(e))r.set(t,{});let a;if(e.$cstNode)for(var i of Ta(e.$cstNode)){let e;"fullText"in i?(e=new Ek(i.fullText),a=e):"content"in i?e=new Rk:"tokenType"in i&&(e=this.hydrateCstLeafNode(i)),e&&(n.set(i,e),e.root=a)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){var r,n,a=t.astNodes.get(e);for([r,n]of(a.$type=e.$type,a.$containerIndex=e.$containerIndex,a.$containerProperty=e.$containerProperty,e.$cstNode&&(a.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!r.startsWith("$"))if(Array.isArray(n)){var i,s=[];for(i of(a[r]=s,n))Gt(i)?s.push(this.setParent(this.hydrateAstNode(i,t),a)):zt(i)?s.push(this.hydrateReference(i,a,r,t)):s.push(i)}else Gt(n)?a[r]=this.setParent(this.hydrateAstNode(n,t),a):zt(n)?a[r]=this.hydrateReference(n,a,r,t):void 0!==n&&(a[r]=n);return a}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){var n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),Vt(n))for(var a of e.content)a=this.hydrateCstNode(a,t,r++),n.content.push(a);return n}hydrateCstLeafNode(e){var t=this.getTokenType(e.tokenType),r=e.offset;return new Tk(r,e.length,{start:{line:e.startLine,character:e.startColumn},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(var t of dr(this.grammar))$r(t)&&this.grammarElementIdMap.set(t,e++)}};function nN(e){return{documentation:{CommentProvider:Fe(e=>new Xw(e),"CommentProvider"),DocumentationProvider:Fe(e=>new Zw(e),"DocumentationProvider")},parser:{AsyncParser:Fe(e=>new Jw(e),"AsyncParser"),GrammarConfig:Fe(e=>es(e),"GrammarConfig"),LangiumParser:Fe(e=>Qk(e),"LangiumParser"),CompletionParser:Fe(e=>Jk(e),"CompletionParser"),ValueConverter:Fe(()=>new nx,"ValueConverter"),TokenBuilder:Fe(()=>new rx,"TokenBuilder"),Lexer:Fe(e=>new vw(e),"Lexer"),ParserErrorMessageProvider:Fe(()=>new wk,"ParserErrorMessageProvider"),LexerErrorMessageProvider:Fe(()=>new yw,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:Fe(()=>new uw,"AstNodeLocator"),AstNodeDescriptionProvider:Fe(e=>new ow(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:Fe(e=>new lw(e),"ReferenceDescriptionProvider")},references:{Linker:Fe(e=>new Nx(e),"Linker"),NameProvider:Fe(()=>new _x,"NameProvider"),ScopeProvider:Fe(e=>new Vx(e),"ScopeProvider"),ScopeComputation:Fe(e=>new Dx(e),"ScopeComputation"),References:Fe(e=>new Px(e),"References")},serializer:{Hydrator:Fe(e=>new rN(e),"Hydrator"),JsonSerializer:Fe(e=>new Zx(e),"JsonSerializer")},validation:{DocumentValidator:Fe(e=>new rw(e),"DocumentValidator"),ValidationRegistry:Fe(e=>new ew(e),"ValidationRegistry")},shared:Fe(()=>e.shared,"shared")}}function aN(e){return{ServiceRegistry:Fe(e=>new Xx(e),"ServiceRegistry"),workspace:{LangiumDocuments:Fe(e=>new xx(e),"LangiumDocuments"),LangiumDocumentFactory:Fe(e=>new kx(e),"LangiumDocumentFactory"),DocumentBuilder:Fe(e=>new fw(e),"DocumentBuilder"),IndexManager:Fe(e=>new mw(e),"IndexManager"),WorkspaceManager:Fe(e=>new hw(e),"WorkspaceManager"),FileSystemProvider:Fe(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:Fe(()=>new tN,"WorkspaceLock"),ConfigurationProvider:Fe(e=>new pw(e),"ConfigurationProvider")},profilers:{}}}function iN(e,t,r,n,a,i,s,o,l){return lN([e,t,r,n,a,i,s,o,l].reduce(pN,{}))}Fe(nN,"createDefaultCoreModule"),Fe(aN,"createDefaultSharedCoreModule"),(Yw||(Yw={})).merge=(e,t)=>pN(pN({},e),t),Fe(iN,"inject");var sN=Symbol("isProxy");function oN(e){if(e&&e[sN])for(var t of Object.values(e))oN(t);return e}function lN(e,t){let r=new Proxy({},{deleteProperty:Fe(()=>!1,"deleteProperty"),set:Fe(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:Fe((n,a)=>a===sN||cN(n,a,e,t||r),"get"),getOwnPropertyDescriptor:Fe((n,a)=>(cN(n,a,e,t||r),Object.getOwnPropertyDescriptor(n,a)),"getOwnPropertyDescriptor"),has:Fe((t,r)=>r in e,"has"),ownKeys:Fe(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}Fe(oN,"eagerLoad"),Fe(lN,"_inject");var uN=Symbol();function cN(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===uN)throw new Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){r=r[t],e[t]=uN;try{e[t]="function"==typeof r?r(n):lN(r,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function pN(e,t){if(t)for(var[r,n]of Object.entries(t)){var a;null!=n&&("object"==typeof n?(a=e[r],e[r]=pN("object"==typeof a&&null!==a?a:{},n)):e[r]=n)}return e}Fe(cN,"_resolve"),Fe(pN,"_merge");var dN,fN={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},mN=((e=>{e.REGULAR="indentation-sensitive",e.IGNORE_INDENTATION="ignore-indentation"})(dN=dN||{}),class extends rx{static{Fe(this,"IndentationAwareTokenBuilder")}constructor(e=fN){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...fN,...e},this.indentTokenType=qg({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=qg({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){if(!Tw(e=super.buildTokens(e,t)))throw new Error("Invalid tokens built by default builder");var{indentTokenName:r,dedentTokenName:n,whitespaceTokenName:a,ignoreIndentationDelimiters:i}=this.options;let s,o,l;var u,c=[];for(u of e){for(var[p,d]of i)u.name===p?u.PUSH_MODE=dN.IGNORE_INDENTATION:u.name===d&&(u.POP_MODE=!0);u.name===n?s=u:u.name===r?o=u:u.name===a?l=u:c.push(u)}if(s&&o&&l)return 0<i.length?{modes:{[dN.REGULAR]:[s,o,...c,l],[dN.IGNORE_INDENTATION]:[...c,l]},defaultMode:dN.REGULAR}:[s,o,l,...c];throw new Error("Some indentation/whitespace tokens not found!")}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return 0===t||"\r\n".includes(e[t-1])}matchWhitespace(e,t,r,n){return this.whitespaceRegExp.lastIndex=t,t=this.whitespaceRegExp.exec(e),{currIndentLevel:t?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:t}}createIndentationTokenInstance(e,t,r,n){return t=this.getLineNumber(t,n),Vg(e,r,n,n+r.length,t,t,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){return!this.isStartOfLine(e,t)||(({currIndentLevel:e,prevIndentLevel:t,match:r}=this.matchWhitespace(e,t,r,n)),e<=t)?null:(this.indentationStack.push(e),r)}dedentMatcher(e,t,r,n){if(this.isStartOfLine(e,t)){var{currIndentLevel:n,prevIndentLevel:a,match:i}=this.matchWhitespace(e,t,r,n);if(!(a<=n))if(-1===(a=this.indentationStack.lastIndexOf(n)))this.diagnostics.push({severity:"error",message:`Invalid dedent level ${n} at offset: ${t}. Current indentation stack: `+this.indentationStack,offset:t,length:i?.[0]?.length??0,line:this.getLineNumber(e,t),column:1});else{var s=this.indentationStack.length-a-1,o=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let n=0;n<s;n++){var l=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(o-1));r.push(l),this.indentationStack.pop()}}}return null}buildTerminalToken(e){e=super.buildTerminalToken(e);var{indentTokenName:t,dedentTokenName:r,whitespaceTokenName:n}=this.options;return e.name===t?this.indentTokenType:e.name===r?this.dedentTokenType:e.name===n?qg({name:n,pattern:this.whitespaceRegExp,group:_g.SKIPPED}):e}flushRemainingDedents(e){for(var t=[];1<this.indentationStack.length;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}}),hN=class extends vw{static{Fe(this,"IndentationAwareLexer")}constructor(e){if(super(e),!(e.parser.TokenBuilder instanceof mN))throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder");this.indentationTokenBuilder=e.parser.TokenBuilder}tokenize(e,t=gw){var r=super.tokenize(e),{indentTokenType:t,dedentTokenType:e}=(e=r.report,"full"===t?.mode&&r.tokens.push(...e.remainingDedents),e.remainingDedents=[],this.indentationTokenBuilder),n=t.tokenTypeIdx,a=e.tokenTypeIdx,i=[],s=r.tokens.length-1;for(let e=0;e<s;e++){var o=r.tokens[e],l=r.tokens[e+1];o.tokenTypeIdx===n&&l.tokenTypeIdx===a?e++:i.push(o)}return 0<=s&&i.push(r.tokens[s]),r.tokens=i,r}},yN={},gN=(ze(yN,{AstUtils:()=>nr,BiMap:()=>Lx,Cancellation:()=>ax,ContextCache:()=>qx,CstUtils:()=>Ft,DONE_RESULT:()=>Qt,Deferred:()=>hx,Disposable:()=>sw,DisposableCache:()=>zx,DocumentCache:()=>Ux,EMPTY_STREAM:()=>Jt,ErrorWithLocation:()=>Ga,GrammarUtils:()=>Fa,MultiMap:()=>Ox,OperationCancelled:()=>cx,Reduction:()=>tr,RegExpUtils:()=>qa,SimpleCache:()=>Kx,StreamImpl:()=>Yt,TreeStreamImpl:()=>rr,URI:()=>bx,UriTrie:()=>Sx,UriUtils:()=>Ex,WorkspaceCache:()=>Bx,assertCondition:()=>Ka,assertUnreachable:()=>za,delayNextTick:()=>ix,interruptAndCheck:()=>dx,isOperationCancelled:()=>px,loadGrammarFromJson:()=>EN,setInterruptionPeriod:()=>ux,startCancelableOperation:()=>lx,stream:()=>er}),qe(yN,cw),class{static{Fe(this,"EmptyFileSystemProvider")}stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}),vN={fileSystemProvider:Fe(()=>new gN,"fileSystemProvider")},TN={Grammar:Fe(()=>{},"Grammar"),LanguageMetaData:Fe(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},RN={AstReflection:Fe(()=>new ya,"AstReflection")};function $N(){var e=iN(aN(vN),RN),t=iN(nN({shared:e}),TN);return e.ServiceRegistry.register(t),t}function EN(e){var t=$N();e=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(e,bx.parse(`memory:/${e.name??"grammar"}.langium`)),e}Fe($N,"createMinimalGrammarServices"),Fe(EN,"loadGrammarFromJson"),qe(jt,yN);var AN,bN,CN,SN,kN,xN,wN,NN,IN,_N,PN,ON,LN,DN,MN,jN=class{static{Fe(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Ox}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(e=>this.activeCategories.add(e)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(e=>this.activeCategories.delete(e)):this.activeCategories.clear()}createTask(e,t){if(this.isActive(e))return console.log(`Creating profiling task for '${e}.${t}'.`),new FN(t=>this.records.add(e,this.dumpRecord(e,t)),t);throw new Error(`Category "${e}" is not active.`)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at `+t.date.toISOString());var r,n=[];for(r of t.entries.keys()){var a=t.entries.get(r),i=a.reduce((e,t)=>e+t);n.push({name:t.identifier+"."+r,count:a.length,duration:i})}function s(e){return Math.round(100*e)/100}return e=t.duration-n.map(e=>e.duration).reduce((e,t)=>e+t,0),n.push({name:t.identifier,count:1,duration:e}),n.sort((e,t)=>t.duration-e.duration),Fe(s,"Round"),console.table(n.map(e=>({Element:e.name,Count:e.count,"Self %":s(100*e.duration/t.duration),"Time (ms)":s(e.duration)}))),t}getRecords(...e){return 0===e.length?this.records.values():this.records.entries().filter(t=>e.some(e=>e===t[0])).flatMap(e=>e[1])}},FN=class{static{Fe(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new Ox,this.addRecord=e,this.identifier=t}start(){if(void 0!==this.startTime)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(void 0===this.startTime)throw new Error(`Task "${this.identifier}" was not started.`);if(0!==this.stack.length)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(e=>e.id).join(", ")}.`);var e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){var t=this.stack.pop();if(!t)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw new Error(`Sub-Task "${t.id}" is not already stopped.`);var r=performance.now()-t.start;void 0!==this.stack.at(-1)&&(this.stack[this.stack.length-1].content+=r),r-=t.content;this.entries.add(e,r)}},GN=((AN=AN||{}).Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/},(bN=bN||{}).Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(CN=CN||{}).Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/},(SN=SN||{}).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/},(kN=kN||{}).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(xN=xN||{}).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(wN=wN||{}).Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(NN=NN||{}).Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(IN=IN||{}).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/},(_N=_N||{}).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/},(PN=PN||{}).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//},(ON=ON||{}).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/},(LN=LN||{}).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/},(DN=DN||{}).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/},(MN=MN||{}).Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},AN.Terminals,bN.Terminals,CN.Terminals,SN.Terminals,kN.Terminals,xN.Terminals,wN.Terminals,NN.Terminals,IN.Terminals,_N.Terminals,PN.Terminals,ON.Terminals,DN.Terminals,LN.Terminals,MN.Terminals,{$type:"AbnfAlternation",alternatives:"alternatives"}),zN="AbnfConcatenation",KN="elements",qN="AbnfElement",UN="primary",BN="repeat",VN="AbnfGroup",WN="element",HN="AbnfNumVal",YN="value",ZN="AbnfOptionalGroup",XN="element",JN="AbnfPrimary",QN="AbnfRule",eI="definition",tI="name",rI="AbnfRuleName",nI="name",aI="AbnfStringLiteral",iI="value",sI="Accelerator",oI="name",lI="x",uI="y",cI="Alignment",pI="direction",dI="members",fI="Anchor",mI="evolution",hI="name",yI="visibility",gI="Annotation",vI="number",TI="text",RI="x",$I="y",EI="Annotations",AI="x",bI="y",CI="Architecture",SI="accDescr",kI="accTitle",xI="alignments",wI="edges",NI="groups",II="junctions",_I="services",PI="title";Fe(function(e){return Aj.isInstance(e,CI)},"isArchitecture");var OI="Axis",LI="label",DI="name",MI="Branch",jI="name",FI="order";Fe(function(e){return Aj.isInstance(e,MI)},"isBranch");var GI="Checkout",zI="branch",KI="CherryPicking",qI="id",UI="parent",BI="tags",VI="ClassDefStatement",WI="className",HI="styleText",YI="Commit",ZI="id",XI="message",JI="tags",QI="type";Fe(function(e){return Aj.isInstance(e,YI)},"isCommit");var e_="Common",t_="accDescr",r_="accTitle",n_="title",a_="Component",i_="decorator",s_="evolution",o_="inertia",l_="label",u_="name",c_="visibility",p_="Curve",d_="entries",f_="label",m_="name",h_="Cynefin",y_="accDescr",g_="accTitle",v_="domains",T_="title",R_="transitions";Fe(function(e){return Aj.isInstance(e,h_)},"isCynefin");var $_="Deaccelerator",E_="name",A_="x",b_="y",C_="Decorator",S_="strategy",k_="Direction",x_="accDescr",w_="accTitle",N_="dir",I_="statements",__="title",P_="DomainBlock",O_="domain",L_="items";Fe(function(e){return Aj.isInstance(e,P_)},"isDomainBlock");var D_="DomainItem",M_="label";Fe(function(e){return Aj.isInstance(e,D_)},"isDomainItem");var j_="EbnfChoice",F_="alternatives",G_="EbnfExceptionPostfix",z_="except",K_="EbnfGroup",q_="element",U_="EbnfNonTerminal",B_="name",V_="EbnfOneOrMorePostfix",W_="operator",H_="EbnfOptional",Y_="element",Z_="EbnfOptionalPostfix",X_="operator",J_="EbnfPostfix",Q_="EbnfPrimary",eP="EbnfRepetition",tP="element",rP="EbnfRule",nP="definition",aP="name",iP="EbnfSequence",sP="elements",oP="EbnfSpecial",lP="text",uP="EbnfTerm",cP="base",pP="postfixes",dP="EbnfTerminal",fP="value",mP="EbnfZeroOrMorePostfix",hP="operator",yP="Edge",gP="lhsDir",vP="lhsGroup",TP="lhsId",RP="lhsInto",$P="rhsDir",EP="rhsGroup",AP="rhsId",bP="rhsInto",CP="title",SP="EmDataEntity",kP="dataBlockValue",xP="dataType",wP="name",NP="EmFrame",IP="EmGwt",_P="givenStatements",PP="sourceFrame",OP="thenStatements",LP="whenStatements",DP="EmGwtStatement",MP="entityIdentifier",jP="EmModelEntity",FP="name";Fe(function(e){return"rmo"===e||"readmodel"===e||"ui"===e||"cmd"===e||"command"===e||"evt"===e||"event"===e||"pcr"===e||"processor"===e},"isEmModelEntityType");var GP="EmNoteEntity",zP="dataBlockValue",KP="dataType",qP="sourceFrame",UP="EmResetFrame",BP="dataInlineValue",VP="dataReference",WP="dataType",HP="entityIdentifier",YP="modelEntityType",ZP="name",XP="sourceFrames";function JP(e){return Aj.isInstance(e,UP)}Fe(JP,"isEmResetFrame");var QP="EmTimeFrame",eO="dataInlineValue",tO="dataReference",rO="dataType",nO="entityIdentifier",aO="modelEntityType",iO="name",sO="sourceFrames",oO="Entry",lO="axis",uO="value",cO="EventModel",pO="accDescr",dO="accTitle",fO="dataEntities",mO="frames",hO="gwtEntities",yO="modelEntities",gO="noteEntities",vO="title",TO="Evolution",RO="stages",$O="EvolutionStage",EO="boundary",AO="name",bO="secondName",CO="Evolve",SO="component",kO="target",xO="GitGraph",wO="accDescr",NO="accTitle",IO="statements",_O="title";Fe(function(e){return Aj.isInstance(e,xO)},"isGitGraph");var PO="Group",OO="icon",LO="id",DO="in",MO="title",jO="Info",FO="accDescr",GO="accTitle",zO="title";Fe(function(e){return Aj.isInstance(e,jO)},"isInfo");var KO="Item",qO="classSelector",UO="name",BO="Junction",VO="id",WO="in",HO="Label",YO="negX",ZO="negY",XO="offsetX",JO="offsetY",QO="Leaf",eL="classSelector",tL="name",rL="value",nL="Link",aL="arrow",iL="from",sL="fromPort",oL="linkLabel",lL="to",uL="toPort",cL="Merge",pL="branch",dL="id",fL="tags",mL="type";Fe(function(e){return Aj.isInstance(e,cL)},"isMerge");var hL="Note",yL="evolution",gL="text",vL="visibility",TL="Option",RL="name",$L="value",EL="Packet",AL="accDescr",bL="accTitle",CL="blocks",SL="title";Fe(function(e){return Aj.isInstance(e,EL)},"isPacket");var kL="PacketBlock",xL="bits",wL="end",NL="label",IL="start";Fe(function(e){return Aj.isInstance(e,kL)},"isPacketBlock");var _L="PegAny",PL="dot",OL="PegGroup",LL="element",DL="PegIdentifier",ML="name",jL="PegLiteral",FL="value",GL="PegOrderedChoice",zL="alternatives",KL="PegPrefix",qL="operator",UL="suffix",BL="PegPrimary",VL="PegRule",WL="definition",HL="name",YL="PegSequence",ZL="elements",XL="PegSuffix",JL="operator",QL="primary",eD="Pie",tD="accDescr",rD="accTitle",nD="sections",aD="showData",iD="title";Fe(function(e){return Aj.isInstance(e,eD)},"isPie");var sD="PieSection",oD="label",lD="value";Fe(function(e){return Aj.isInstance(e,sD)},"isPieSection");var uD="Pipeline",cD="components",pD="parent",dD="PipelineComponent",fD="evolution",mD="label",hD="name",yD="Radar",gD="accDescr",vD="accTitle",TD="axes",RD="curves",$D="options",ED="title",AD="Railroad",bD="accDescr",CD="accTitle",SD="rules",kD="title";Fe(function(e){return Aj.isInstance(e,AD)},"isRailroad");var xD="RailroadAbnf",wD="accDescr",ND="accTitle",ID="rules",_D="title";Fe(function(e){return Aj.isInstance(e,xD)},"isRailroadAbnf");var PD="RailroadChoiceExpr",OD="alternatives",LD="RailroadEbnf",DD="accDescr",MD="accTitle",jD="rules",FD="title";Fe(function(e){return Aj.isInstance(e,LD)},"isRailroadEbnf");var GD="RailroadExpression",zD="RailroadNonTerminalExpr",KD="name",qD="RailroadOneOrMoreExpr",UD="element",BD="RailroadOptionalExpr",VD="element",WD="RailroadPeg",HD="accDescr",YD="accTitle",ZD="rules",XD="title";Fe(function(e){return Aj.isInstance(e,WD)},"isRailroadPeg");var JD="RailroadRule",QD="definition",eM="name",tM="RailroadSequenceExpr",rM="elements",nM="RailroadSpecialExpr",aM="text",iM="RailroadTerminalExpr",sM="value",oM="RailroadZeroOrMoreExpr",lM="element",uM="Section",cM="classSelector",pM="name",dM="Service",fM="icon",mM="iconText",hM="id",yM="in",gM="title",vM="Size",TM="height",RM="width",$M="Statement",EM="Transition",AM="from",bM="label",CM="to";Fe(function(e){return Aj.isInstance(e,EM)},"isTransition");var SM="Treemap",kM="accDescr",xM="accTitle",wM="title",NM="TreemapRows";Fe(function(e){return Aj.isInstance(e,SM)},"isTreemap");var IM="TreemapRow",_M="indent",PM="item",OM="TreeNode",LM="classAnnotation",DM="descAnnotation",MM="iconAnnotation",jM="indent",FM="name",GM="TreeView",zM="accDescr",KM="accTitle",qM="nodes",UM="title",BM="Wardley",VM="accDescr",WM="accelerators",HM="accTitle",YM="anchors",ZM="annotation",XM="annotations",JM="components",QM="deaccelerators",ej="evolution",tj="evolves",rj="links",nj="notes",aj="pipelines",ij="size",sj="title";Fe(function(e){return Aj.isInstance(e,BM)},"isWardley");var oj,lj,uj,cj,pj,dj,fj,mj,hj,yj,gj,vj,Tj,Rj,$j,Ej=class extends Bt{constructor(){super(...arguments),this.types={AbnfAlternation:{name:GN.$type,properties:{alternatives:{name:GN.alternatives,defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:zN,properties:{elements:{name:KN,defaultValue:[]}},superTypes:[]},AbnfElement:{name:qN,properties:{primary:{name:UN},repeat:{name:BN}},superTypes:[]},AbnfGroup:{name:VN,properties:{element:{name:WN}},superTypes:[JN]},AbnfNumVal:{name:HN,properties:{value:{name:YN}},superTypes:[JN]},AbnfOptionalGroup:{name:ZN,properties:{element:{name:XN}},superTypes:[JN]},AbnfPrimary:{name:JN,properties:{},superTypes:[]},AbnfRule:{name:QN,properties:{definition:{name:eI},name:{name:tI}},superTypes:[]},AbnfRuleName:{name:rI,properties:{name:{name:nI}},superTypes:[JN]},AbnfStringLiteral:{name:aI,properties:{value:{name:iI}},superTypes:[JN]},Accelerator:{name:sI,properties:{name:{name:oI},x:{name:lI},y:{name:uI}},superTypes:[]},Alignment:{name:cI,properties:{direction:{name:pI},members:{name:dI,defaultValue:[]}},superTypes:[]},Anchor:{name:fI,properties:{evolution:{name:mI},name:{name:hI},visibility:{name:yI}},superTypes:[]},Annotation:{name:gI,properties:{number:{name:vI},text:{name:TI},x:{name:RI},y:{name:$I}},superTypes:[]},Annotations:{name:EI,properties:{x:{name:AI},y:{name:bI}},superTypes:[]},Architecture:{name:CI,properties:{accDescr:{name:SI},accTitle:{name:kI},alignments:{name:xI,defaultValue:[]},edges:{name:wI,defaultValue:[]},groups:{name:NI,defaultValue:[]},junctions:{name:II,defaultValue:[]},services:{name:_I,defaultValue:[]},title:{name:PI}},superTypes:[]},Axis:{name:OI,properties:{label:{name:LI},name:{name:DI}},superTypes:[]},Branch:{name:MI,properties:{name:{name:jI},order:{name:FI}},superTypes:[$M]},Checkout:{name:GI,properties:{branch:{name:zI}},superTypes:[$M]},CherryPicking:{name:KI,properties:{id:{name:qI},parent:{name:UI},tags:{name:BI,defaultValue:[]}},superTypes:[$M]},ClassDefStatement:{name:VI,properties:{className:{name:WI},styleText:{name:HI}},superTypes:[]},Commit:{name:YI,properties:{id:{name:ZI},message:{name:XI},tags:{name:JI,defaultValue:[]},type:{name:QI}},superTypes:[$M]},Common:{name:e_,properties:{accDescr:{name:t_},accTitle:{name:r_},title:{name:n_}},superTypes:[]},Component:{name:a_,properties:{decorator:{name:i_},evolution:{name:s_},inertia:{name:o_,defaultValue:!1},label:{name:l_},name:{name:u_},visibility:{name:c_}},superTypes:[]},Curve:{name:p_,properties:{entries:{name:d_,defaultValue:[]},label:{name:f_},name:{name:m_}},superTypes:[]},Cynefin:{name:h_,properties:{accDescr:{name:y_},accTitle:{name:g_},domains:{name:v_,defaultValue:[]},title:{name:T_},transitions:{name:R_,defaultValue:[]}},superTypes:[]},Deaccelerator:{name:$_,properties:{name:{name:E_},x:{name:A_},y:{name:b_}},superTypes:[]},Decorator:{name:C_,properties:{strategy:{name:S_}},superTypes:[]},Direction:{name:k_,properties:{accDescr:{name:x_},accTitle:{name:w_},dir:{name:N_},statements:{name:I_,defaultValue:[]},title:{name:__}},superTypes:[xO]},DomainBlock:{name:P_,properties:{domain:{name:O_},items:{name:L_,defaultValue:[]}},superTypes:[]},DomainItem:{name:D_,properties:{label:{name:M_}},superTypes:[]},EbnfChoice:{name:j_,properties:{alternatives:{name:F_,defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:G_,properties:{except:{name:z_}},superTypes:[J_]},EbnfGroup:{name:K_,properties:{element:{name:q_}},superTypes:[Q_]},EbnfNonTerminal:{name:U_,properties:{name:{name:B_}},superTypes:[Q_]},EbnfOneOrMorePostfix:{name:V_,properties:{operator:{name:W_}},superTypes:[J_]},EbnfOptional:{name:H_,properties:{element:{name:Y_}},superTypes:[Q_]},EbnfOptionalPostfix:{name:Z_,properties:{operator:{name:X_}},superTypes:[J_]},EbnfPostfix:{name:J_,properties:{},superTypes:[]},EbnfPrimary:{name:Q_,properties:{},superTypes:[]},EbnfRepetition:{name:eP,properties:{element:{name:tP}},superTypes:[Q_]},EbnfRule:{name:rP,properties:{definition:{name:nP},name:{name:aP}},superTypes:[]},EbnfSequence:{name:iP,properties:{elements:{name:sP,defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:oP,properties:{text:{name:lP}},superTypes:[Q_]},EbnfTerm:{name:uP,properties:{base:{name:cP},postfixes:{name:pP,defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:dP,properties:{value:{name:fP}},superTypes:[Q_]},EbnfZeroOrMorePostfix:{name:mP,properties:{operator:{name:hP}},superTypes:[J_]},Edge:{name:yP,properties:{lhsDir:{name:gP},lhsGroup:{name:vP,defaultValue:!1},lhsId:{name:TP},lhsInto:{name:RP,defaultValue:!1},rhsDir:{name:$P},rhsGroup:{name:EP,defaultValue:!1},rhsId:{name:AP},rhsInto:{name:bP,defaultValue:!1},title:{name:CP}},superTypes:[]},EmDataEntity:{name:SP,properties:{dataBlockValue:{name:kP},dataType:{name:xP},name:{name:wP}},superTypes:[]},EmFrame:{name:NP,properties:{},superTypes:[]},EmGwt:{name:IP,properties:{givenStatements:{name:_P,defaultValue:[]},sourceFrame:{name:PP,referenceType:NP},thenStatements:{name:OP,defaultValue:[]},whenStatements:{name:LP,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:DP,properties:{entityIdentifier:{name:MP,referenceType:jP}},superTypes:[]},EmModelEntity:{name:jP,properties:{name:{name:FP}},superTypes:[]},EmNoteEntity:{name:GP,properties:{dataBlockValue:{name:zP},dataType:{name:KP},sourceFrame:{name:qP,referenceType:NP}},superTypes:[]},EmResetFrame:{name:UP,properties:{dataInlineValue:{name:BP},dataReference:{name:VP,referenceType:SP},dataType:{name:WP},entityIdentifier:{name:HP},modelEntityType:{name:YP},name:{name:ZP},sourceFrames:{name:XP,defaultValue:[],referenceType:NP}},superTypes:[NP]},EmTimeFrame:{name:QP,properties:{dataInlineValue:{name:eO},dataReference:{name:tO,referenceType:SP},dataType:{name:rO},entityIdentifier:{name:nO},modelEntityType:{name:aO},name:{name:iO},sourceFrames:{name:sO,defaultValue:[],referenceType:NP}},superTypes:[NP]},Entry:{name:oO,properties:{axis:{name:lO,referenceType:OI},value:{name:uO}},superTypes:[]},EventModel:{name:cO,properties:{accDescr:{name:pO},accTitle:{name:dO},dataEntities:{name:fO,defaultValue:[]},frames:{name:mO,defaultValue:[]},gwtEntities:{name:hO,defaultValue:[]},modelEntities:{name:yO,defaultValue:[]},noteEntities:{name:gO,defaultValue:[]},title:{name:vO}},superTypes:[]},Evolution:{name:TO,properties:{stages:{name:RO,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:$O,properties:{boundary:{name:EO},name:{name:AO},secondName:{name:bO}},superTypes:[]},Evolve:{name:CO,properties:{component:{name:SO},target:{name:kO}},superTypes:[]},GitGraph:{name:xO,properties:{accDescr:{name:wO},accTitle:{name:NO},statements:{name:IO,defaultValue:[]},title:{name:_O}},superTypes:[]},Group:{name:PO,properties:{icon:{name:OO},id:{name:LO},in:{name:DO},title:{name:MO}},superTypes:[]},Info:{name:jO,properties:{accDescr:{name:FO},accTitle:{name:GO},title:{name:zO}},superTypes:[]},Item:{name:KO,properties:{classSelector:{name:qO},name:{name:UO}},superTypes:[]},Junction:{name:BO,properties:{id:{name:VO},in:{name:WO}},superTypes:[]},Label:{name:HO,properties:{negX:{name:YO,defaultValue:!1},negY:{name:ZO,defaultValue:!1},offsetX:{name:XO},offsetY:{name:JO}},superTypes:[]},Leaf:{name:QO,properties:{classSelector:{name:eL},name:{name:tL},value:{name:rL}},superTypes:[KO]},Link:{name:nL,properties:{arrow:{name:aL},from:{name:iL},fromPort:{name:sL},linkLabel:{name:oL},to:{name:lL},toPort:{name:uL}},superTypes:[]},Merge:{name:cL,properties:{branch:{name:pL},id:{name:dL},tags:{name:fL,defaultValue:[]},type:{name:mL}},superTypes:[$M]},Note:{name:hL,properties:{evolution:{name:yL},text:{name:gL},visibility:{name:vL}},superTypes:[]},Option:{name:TL,properties:{name:{name:RL},value:{name:$L,defaultValue:!1}},superTypes:[]},Packet:{name:EL,properties:{accDescr:{name:AL},accTitle:{name:bL},blocks:{name:CL,defaultValue:[]},title:{name:SL}},superTypes:[]},PacketBlock:{name:kL,properties:{bits:{name:xL},end:{name:wL},label:{name:NL},start:{name:IL}},superTypes:[]},PegAny:{name:_L,properties:{dot:{name:PL}},superTypes:[BL]},PegGroup:{name:OL,properties:{element:{name:LL}},superTypes:[BL]},PegIdentifier:{name:DL,properties:{name:{name:ML}},superTypes:[BL]},PegLiteral:{name:jL,properties:{value:{name:FL}},superTypes:[BL]},PegOrderedChoice:{name:GL,properties:{alternatives:{name:zL,defaultValue:[]}},superTypes:[]},PegPrefix:{name:KL,properties:{operator:{name:qL},suffix:{name:UL}},superTypes:[]},PegPrimary:{name:BL,properties:{},superTypes:[]},PegRule:{name:VL,properties:{definition:{name:WL},name:{name:HL}},superTypes:[]},PegSequence:{name:YL,properties:{elements:{name:ZL,defaultValue:[]}},superTypes:[]},PegSuffix:{name:XL,properties:{operator:{name:JL},primary:{name:QL}},superTypes:[]},Pie:{name:eD,properties:{accDescr:{name:tD},accTitle:{name:rD},sections:{name:nD,defaultValue:[]},showData:{name:aD,defaultValue:!1},title:{name:iD}},superTypes:[]},PieSection:{name:sD,properties:{label:{name:oD},value:{name:lD}},superTypes:[]},Pipeline:{name:uD,properties:{components:{name:cD,defaultValue:[]},parent:{name:pD}},superTypes:[]},PipelineComponent:{name:dD,properties:{evolution:{name:fD},label:{name:mD},name:{name:hD}},superTypes:[]},Radar:{name:yD,properties:{accDescr:{name:gD},accTitle:{name:vD},axes:{name:TD,defaultValue:[]},curves:{name:RD,defaultValue:[]},options:{name:$D,defaultValue:[]},title:{name:ED}},superTypes:[]},Railroad:{name:AD,properties:{accDescr:{name:bD},accTitle:{name:CD},rules:{name:SD,defaultValue:[]},title:{name:kD}},superTypes:[]},RailroadAbnf:{name:xD,properties:{accDescr:{name:wD},accTitle:{name:ND},rules:{name:ID,defaultValue:[]},title:{name:_D}},superTypes:[]},RailroadChoiceExpr:{name:PD,properties:{alternatives:{name:OD,defaultValue:[]}},superTypes:[GD]},RailroadEbnf:{name:LD,properties:{accDescr:{name:DD},accTitle:{name:MD},rules:{name:jD,defaultValue:[]},title:{name:FD}},superTypes:[]},RailroadExpression:{name:GD,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:zD,properties:{name:{name:KD}},superTypes:[GD]},RailroadOneOrMoreExpr:{name:qD,properties:{element:{name:UD}},superTypes:[GD]},RailroadOptionalExpr:{name:BD,properties:{element:{name:VD}},superTypes:[GD]},RailroadPeg:{name:WD,properties:{accDescr:{name:HD},accTitle:{name:YD},rules:{name:ZD,defaultValue:[]},title:{name:XD}},superTypes:[]},RailroadRule:{name:JD,properties:{definition:{name:QD},name:{name:eM}},superTypes:[]},RailroadSequenceExpr:{name:tM,properties:{elements:{name:rM,defaultValue:[]}},superTypes:[GD]},RailroadSpecialExpr:{name:nM,properties:{text:{name:aM}},superTypes:[GD]},RailroadTerminalExpr:{name:iM,properties:{value:{name:sM}},superTypes:[GD]},RailroadZeroOrMoreExpr:{name:oM,properties:{element:{name:lM}},superTypes:[GD]},Section:{name:uM,properties:{classSelector:{name:cM},name:{name:pM}},superTypes:[KO]},Service:{name:dM,properties:{icon:{name:fM},iconText:{name:mM},id:{name:hM},in:{name:yM},title:{name:gM}},superTypes:[]},Size:{name:vM,properties:{height:{name:TM},width:{name:RM}},superTypes:[]},Statement:{name:$M,properties:{},superTypes:[]},Transition:{name:EM,properties:{from:{name:AM},label:{name:bM},to:{name:CM}},superTypes:[]},TreeNode:{name:OM,properties:{classAnnotation:{name:LM},descAnnotation:{name:DM},iconAnnotation:{name:MM},indent:{name:jM},name:{name:FM}},superTypes:[]},TreeView:{name:GM,properties:{accDescr:{name:zM},accTitle:{name:KM},nodes:{name:qM,defaultValue:[]},title:{name:UM}},superTypes:[]},Treemap:{name:SM,properties:{accDescr:{name:kM},accTitle:{name:xM},title:{name:wM},TreemapRows:{name:NM,defaultValue:[]}},superTypes:[]},TreemapRow:{name:IM,properties:{indent:{name:_M},item:{name:PM}},superTypes:[]},Wardley:{name:BM,properties:{accDescr:{name:VM},accelerators:{name:WM,defaultValue:[]},accTitle:{name:HM},anchors:{name:YM,defaultValue:[]},annotation:{name:ZM,defaultValue:[]},annotations:{name:XM,defaultValue:[]},components:{name:JM,defaultValue:[]},deaccelerators:{name:QM,defaultValue:[]},evolution:{name:ej},evolves:{name:tj,defaultValue:[]},links:{name:rj,defaultValue:[]},notes:{name:nj,defaultValue:[]},pipelines:{name:aj,defaultValue:[]},size:{name:ij},title:{name:sj}},superTypes:[]}}}static{Fe(this,"MermaidAstReflection")}},Aj=new Ej,bj=Fe(()=>oj=oj??EN('{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}'),"ArchitectureGrammarGrammar"),Cj=Fe(()=>lj=lj??EN('{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"--\x3e"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}'),"CynefinGrammarGrammar"),Sj=Fe(()=>uj=uj??EN('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}'),"EventModelingGrammar"),kj=Fe(()=>cj=cj??EN('{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}'),"GitGraphGrammarGrammar"),xj=Fe(()=>pj=pj??EN('{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}'),"InfoGrammarGrammar"),wj=Fe(()=>dj=dj??EN('{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}'),"PacketGrammarGrammar"),Nj=Fe(()=>fj=fj??EN('{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}'),"PieGrammarGrammar"),Ij=Fe(()=>mj=mj??EN('{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}'),"RadarGrammarGrammar"),_j=Fe(()=>hj=hj??EN('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}'),"RailroadAbnfGrammarGrammar"),Pj=Fe(()=>yj=yj??EN('{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}'),"RailroadEbnfGrammarGrammar"),Oj=Fe(()=>gj=gj??EN('{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}'),"RailroadGrammarGrammar"),Lj=Fe(()=>vj=vj??EN('{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}'),"RailroadPegGrammarGrammar"),Dj=Fe(()=>Tj=Tj??EN('{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}'),"TreemapGrammarGrammar"),Mj=Fe(()=>Rj=Rj??EN('{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"\'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}'),"TreeViewGrammarGrammar"),jj=Fe(()=>$j=$j??EN('{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"--\x3e"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}'),"WardleyGrammarGrammar"),Fj={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Gj={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},zj={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Kj={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},qj={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Uj={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Bj={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Vj={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Wj={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Hj={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Yj={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Zj={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Xj={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Jj={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qj={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},eF={AstReflection:Fe(()=>new Ej,"AstReflection")},tF={Grammar:Fe(()=>bj(),"Grammar"),LanguageMetaData:Fe(()=>Fj,"LanguageMetaData"),parser:{}},rF={Grammar:Fe(()=>Cj(),"Grammar"),LanguageMetaData:Fe(()=>Gj,"LanguageMetaData"),parser:{}},nF={Grammar:Fe(()=>Sj(),"Grammar"),LanguageMetaData:Fe(()=>zj,"LanguageMetaData"),parser:{}},aF={Grammar:Fe(()=>kj(),"Grammar"),LanguageMetaData:Fe(()=>Kj,"LanguageMetaData"),parser:{}},iF={Grammar:Fe(()=>xj(),"Grammar"),LanguageMetaData:Fe(()=>qj,"LanguageMetaData"),parser:{}},sF={Grammar:Fe(()=>wj(),"Grammar"),LanguageMetaData:Fe(()=>Uj,"LanguageMetaData"),parser:{}},oF={Grammar:Fe(()=>Nj(),"Grammar"),LanguageMetaData:Fe(()=>Bj,"LanguageMetaData"),parser:{}},lF={Grammar:Fe(()=>Ij(),"Grammar"),LanguageMetaData:Fe(()=>Vj,"LanguageMetaData"),parser:{}},uF={Grammar:Fe(()=>_j(),"Grammar"),LanguageMetaData:Fe(()=>Wj,"LanguageMetaData"),parser:{}},cF={Grammar:Fe(()=>Pj(),"Grammar"),LanguageMetaData:Fe(()=>Hj,"LanguageMetaData"),parser:{}},pF={Grammar:Fe(()=>Oj(),"Grammar"),LanguageMetaData:Fe(()=>Yj,"LanguageMetaData"),parser:{}},dF={Grammar:Fe(()=>Lj(),"Grammar"),LanguageMetaData:Fe(()=>Zj,"LanguageMetaData"),parser:{}},fF={Grammar:Fe(()=>Dj(),"Grammar"),LanguageMetaData:Fe(()=>Xj,"LanguageMetaData"),parser:{}},mF={Grammar:Fe(()=>Mj(),"Grammar"),LanguageMetaData:Fe(()=>Jj,"LanguageMetaData"),parser:{}},hF={Grammar:Fe(()=>jj(),"Grammar"),LanguageMetaData:Fe(()=>Qj,"LanguageMetaData"),parser:{}},yF={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},gF=class extends nx{static{Fe(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return void 0===(n=void 0===n?this.runCustomConverter(e,t,r):n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){if(void 0!==(e=yF[e.name])&&null!==(e=e.exec(t)))return void 0!==e[1]?e[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==e[2]?e[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0}},vF=class extends gF{static{Fe(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},TF=class extends rx{static{Fe(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){return(e=super.buildKeywordTokens(e,t,r)).forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),e}},RF=(class extends TF{static{Fe(this,"CommonTokenBuilder")}},class extends TF{static{Fe(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}}),$F={parser:{TokenBuilder:Fe(()=>new RF,"TokenBuilder"),ValueConverter:Fe(()=>new vF,"ValueConverter")}};function EF(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),lF,$F);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}Fe(EF,"createRadarServices");var AF=class extends TF{static{Fe(this,"RailroadTokenBuilder")}constructor(){super(["railroad-beta"])}},bF=Fe(e=>{var t=e.slice(1,-1);let r="";for(let e=0;e<t.length;e++){var n=t[e];if("\\"===n&&e+1<t.length){var a=t[++e];switch(a){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;default:r+=a}}else r+=n}return r},"decodeEscapedString"),CF=class extends gF{static{Fe(this,"RailroadValueConverter")}runConverter(e,t,r){return t=super.runConverter(e,t,r),"TITLE"===e.name&&"string"==typeof t&&((r=t.trim()).startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'"))?bF(r):t}runCustomConverter(e,t,r){if("RR_STRING"===e.name)return bF(t)}},SF={parser:{TokenBuilder:Fe(()=>new AF,"TokenBuilder"),ValueConverter:Fe(()=>new CF,"ValueConverter")}};function kF(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),pF,SF);return e.ServiceRegistry.register(t),{shared:e,Railroad:t}}Fe(kF,"createRailroadServices");var xF=class extends TF{static{Fe(this,"RailroadEbnfTokenBuilder")}constructor(){super(["railroad-ebnf-beta"])}},wF=Fe(e=>{var t=e.slice(1,-1);let r="";for(let e=0;e<t.length;e++){var n=t[e];if("\\"===n&&e+1<t.length){var a=t[++e];switch(a){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;default:r+=a}}else r+=n}return r},"decodeEscapedString"),NF=class extends gF{static{Fe(this,"RailroadEbnfValueConverter")}runConverter(e,t,r){return t=super.runConverter(e,t,r),"TITLE"===e.name&&"string"==typeof t&&((r=t.trim()).startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'"))?wF(r):t}runCustomConverter(e,t,r){return"EBNF_STRING"===e.name?wF(t):"EBNF_SPECIAL_SEQUENCE"===e.name?t.slice(1,-1).trim():void 0}},IF={parser:{TokenBuilder:Fe(()=>new xF,"TokenBuilder"),ValueConverter:Fe(()=>new NF,"ValueConverter")}};function _F(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),cF,IF);return e.ServiceRegistry.register(t),{shared:e,RailroadEbnf:t}}Fe(_F,"createRailroadEbnfServices");var PF=class extends TF{static{Fe(this,"RailroadAbnfTokenBuilder")}constructor(){super(["railroad-abnf-beta"])}},OF=class extends gF{static{Fe(this,"RailroadAbnfValueConverter")}runConverter(e,t,r){return t=super.runConverter(e,t,r),"TITLE"===e.name&&"string"==typeof t&&((r=t.trim()).startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'"))?r.slice(1,-1):t}runCustomConverter(e,t,r){if("ABNF_STRING"===e.name)return t.slice(1,-1)}},LF={parser:{TokenBuilder:Fe(()=>new PF,"TokenBuilder"),ValueConverter:Fe(()=>new OF,"ValueConverter")}};function DF(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),uF,LF);return e.ServiceRegistry.register(t),{shared:e,RailroadAbnf:t}}Fe(DF,"createRailroadAbnfServices");var MF=class extends TF{static{Fe(this,"RailroadPegTokenBuilder")}constructor(){super(["railroad-peg-beta"])}},jF=Fe(e=>{var t=e.slice(1,-1);let r="";for(let e=0;e<t.length;e++){var n=t[e];if("\\"===n&&e+1<t.length){var a=t[++e];switch(a){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;default:r+=a}}else r+=n}return r},"decodeEscapedString"),FF=class extends gF{static{Fe(this,"RailroadPegValueConverter")}runConverter(e,t,r){return t=super.runConverter(e,t,r),"TITLE"===e.name&&"string"==typeof t&&((r=t.trim()).startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'"))?jF(r):t}runCustomConverter(e,t,r){if("PEG_STRING"===e.name)return jF(t)}},GF={parser:{TokenBuilder:Fe(()=>new MF,"TokenBuilder"),ValueConverter:Fe(()=>new FF,"ValueConverter")}};function zF(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),dF,GF);return e.ServiceRegistry.register(t),{shared:e,RailroadPeg:t}}Fe(zF,"createRailroadPegServices");var KF=class extends TF{static{Fe(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},qF=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,UF=class extends gF{static{Fe(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;if(e=qF.exec(t))return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function BF(e){var t,r=e.validation.TreemapValidator;(e=e.validation.ValidationRegistry)&&(t={Treemap:r.checkSingleRoot.bind(r)},e.register(t,r))}Fe(BF,"registerValidationChecks");var VF=class{static{Fe(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(var n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:(void 0===n.indent||void 0!==r&&r>=parseInt(n.indent,10))&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},WF={parser:{TokenBuilder:Fe(()=>new KF,"TokenBuilder"),ValueConverter:Fe(()=>new UF,"ValueConverter")},validation:{TreemapValidator:Fe(()=>new VF,"TreemapValidator")}};function HF(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),fF,WF);return e.ServiceRegistry.register(t),BF(t),{shared:e,Treemap:t}}Fe(HF,"createTreemapServices");var YF=class extends gF{static{Fe(this,"WardleyValueConverter")}runCustomConverter(e,t,r){if("LINK_LABEL"===e.name.toUpperCase())return t.substring(1).trim()}},ZF={parser:{ValueConverter:Fe(()=>new YF,"ValueConverter")}};function XF(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),hF,ZF);return e.ServiceRegistry.register(t),{shared:e,Wardley:t}}Fe(XF,"createWardleyServices");var JF=class extends TF{static{Fe(this,"CynefinTokenBuilder")}constructor(){super(["cynefin-beta"])}},QF={parser:{TokenBuilder:Fe(()=>new JF,"TokenBuilder"),ValueConverter:Fe(()=>new vF,"ValueConverter")}};function eG(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),rF,QF);return e.ServiceRegistry.register(t),{shared:e,Cynefin:t}}Fe(eG,"createCynefinServices");var tG=class extends TF{static{Fe(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},rG={parser:{TokenBuilder:Fe(()=>new tG,"TokenBuilder"),ValueConverter:Fe(()=>new vF,"ValueConverter")}};function nG(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),aF,rG);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}Fe(nG,"createGitGraphServices");var aG=class extends TF{static{Fe(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},iG={parser:{TokenBuilder:Fe(()=>new aG,"TokenBuilder"),ValueConverter:Fe(()=>new vF,"ValueConverter")}};function sG(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),iF,iG);return e.ServiceRegistry.register(t),{shared:e,Info:t}}Fe(sG,"createInfoServices");var oG=class extends TF{static{Fe(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},lG={parser:{TokenBuilder:Fe(()=>new oG,"TokenBuilder"),ValueConverter:Fe(()=>new vF,"ValueConverter")}};function uG(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),sF,lG);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}Fe(uG,"createPacketServices");var cG=class extends TF{static{Fe(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},pG=class extends gF{static{Fe(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},dG={parser:{TokenBuilder:Fe(()=>new cG,"TokenBuilder"),ValueConverter:Fe(()=>new pG,"ValueConverter")}};function fG(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),oF,dG);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}Fe(fG,"createPieServices");var mG=class extends gF{static{Fe(this,"TreeViewValueConverter")}runCustomConverter(e,t,r){var n;return"INDENTATION"===e.name?t?.length||0:"QUOTED_NAME"===e.name?t.substring(1,t.length-1):"BARE_NAME"===e.name?t.replace(/[\t ]+$/,""):"CLASS_ANNOTATION"===e.name?t.trim().substring(3).trim():"ICON_ANNOTATION"===e.name?(n=t.trim()).substring(5,n.length-1):"DESC_ANNOTATION"===e.name?t.trim().substring(2).trim():void 0}},hG=class extends TF{static{Fe(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},yG={parser:{TokenBuilder:Fe(()=>new hG,"TokenBuilder"),ValueConverter:Fe(()=>new mG,"ValueConverter")}};function gG(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),mF,yG);return e.ServiceRegistry.register(t),{shared:e,TreeView:t}}Fe(gG,"createTreeViewServices");var vG=class extends TF{static{Fe(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},TG=class extends gF{static{Fe(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){if("ARCH_ICON"===e.name)return t.replace(/[()]/g,"").trim();if("ARCH_TEXT_ICON"===e.name)return t.replace(/["()]/g,"");if("ARCH_TITLE"===e.name){let e=t.replace(/^\[|]$/g,"").trim();return(e=e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?(e=e.slice(1,-1)).replace(/\\"/g,'"').replace(/\\'/g,"'"):e).trim()}}},RG={parser:{TokenBuilder:Fe(()=>new vG,"TokenBuilder"),ValueConverter:Fe(()=>new TG,"ValueConverter")}};function $G(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),tF,RG);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}Fe($G,"createArchitectureServices");var EG=class extends TF{static{Fe(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},AG=new Set(["cmd","command"]),bG=new Set(["evt","event"]),CG=new Set(["rmo","readmodel"]),SG=new Set(["pcr","processor"]),kG=new Set(["ui"]);function xG(e){var t,r=e.validation.EventModelingValidator;(e=e.validation.ValidationRegistry)&&(t={EmTimeFrame:r.checkSourceFrameTypes.bind(r),EmResetFrame:r.checkSourceFrameTypes.bind(r)},e.register(t,r))}Fe(xG,"registerValidationChecks");var wG=class{static{Fe(this,"EventModelingValidator")}checkSourceFrameTypes(e,t){0!==e.sourceFrames.length&&(AG.has(e.modelEntityType)?this.validateSources(e,new Set([...kG,...SG]),"command","ui or processor",t):bG.has(e.modelEntityType)?this.validateSources(e,AG,"event","command",t):CG.has(e.modelEntityType)?this.validateSources(e,bG,"read model","event",t):SG.has(e.modelEntityType)?this.validateSources(e,CG,"processor","read model",t):kG.has(e.modelEntityType)&&this.validateSources(e,CG,"ui","read model",t))}validateSources(e,t,r,n,a){for(var i of e.sourceFrames)void 0===(i=i.ref)||t.has(i.modelEntityType)||a("error",`A ${r} can only receive input from a ${n}, not from '${i.modelEntityType}'.`,{node:e,property:"sourceFrames"})}},NG={parser:{TokenBuilder:Fe(()=>new EG,"TokenBuilder"),ValueConverter:Fe(()=>new vF,"ValueConverter")},validation:{EventModelingValidator:Fe(()=>new wG,"EventModelingValidator")}};function IG(e=vN){e=iN(aN(e),eF);var t=iN(nN({shared:e}),nF,NG);return e.ServiceRegistry.register(t),xG(t),{shared:e,EventModel:t}}Fe(IG,"createEventModelingServices");var _G={},PG={info:Fe(async()=>{var e=(e=(await import("./info-DKCQHKI2-dd69502c.js")).createInfoServices)().Info.parser.LangiumParser;_G.info=e},"info"),packet:Fe(async()=>{var e=(e=(await import("./packet-7NZHBO7P-b4586e10.js")).createPacketServices)().Packet.parser.LangiumParser;_G.packet=e},"packet"),pie:Fe(async()=>{var e=(e=(await import("./pie-RZYD4A2V-752eda00.js")).createPieServices)().Pie.parser.LangiumParser;_G.pie=e},"pie"),treeView:Fe(async()=>{var e=(e=(await import("./treeView-QDETBFTQ-96ed8e2f.js")).createTreeViewServices)().TreeView.parser.LangiumParser;_G.treeView=e},"treeView"),architecture:Fe(async()=>{var e=(e=(await import("./architecture-TIHT7OUA-a997f441.js")).createArchitectureServices)().Architecture.parser.LangiumParser;_G.architecture=e},"architecture"),gitGraph:Fe(async()=>{var e=(e=(await import("./gitGraph-TEB2WS4Q-72ba3362.js")).createGitGraphServices)().GitGraph.parser.LangiumParser;_G.gitGraph=e},"gitGraph"),eventmodeling:Fe(async()=>{var e=(e=(await import("./eventmodeling-45OFAUF4-a82f1f18.js")).createEventModelingServices)().EventModel.parser.LangiumParser;_G.eventmodeling=e},"eventmodeling"),radar:Fe(async()=>{var e=(e=(await import("./radar-I7S5WNFK-53bde9ff.js")).createRadarServices)().Radar.parser.LangiumParser;_G.radar=e},"radar"),railroad:Fe(async()=>{var e=(e=(await import("./railroad-3IZDKUUU-99427b9f.js")).createRailroadServices)().Railroad.parser.LangiumParser;_G.railroad=e},"railroad"),railroadEbnf:Fe(async()=>{var e=(e=(await import("./railroad-ebnf-EBAXGLYW-38dff87c.js")).createRailroadEbnfServices)().RailroadEbnf.parser.LangiumParser;_G.railroadEbnf=e},"railroadEbnf"),railroadAbnf:Fe(async()=>{var e=(e=(await import("./railroad-abnf-AHOZXSZD-1d11cb5b.js")).createRailroadAbnfServices)().RailroadAbnf.parser.LangiumParser;_G.railroadAbnf=e},"railroadAbnf"),railroadPeg:Fe(async()=>{var e=(e=(await import("./railroad-peg-LSFZ7HO6-c9f0aa71.js")).createRailroadPegServices)().RailroadPeg.parser.LangiumParser;_G.railroadPeg=e},"railroadPeg"),treemap:Fe(async()=>{var e=(e=(await import("./treemap-6X3UGDF4-9f498e0c.js")).createTreemapServices)().Treemap.parser.LangiumParser;_G.treemap=e},"treemap"),wardley:Fe(async()=>{var e=(e=(await import("./wardley-OPB4EBWU-9803a1d9.js")).createWardleyServices)().Wardley.parser.LangiumParser;_G.wardley=e},"wardley"),cynefin:Fe(async()=>{var e=(e=(await import("./cynefin-VYW2F7L2-2458ad91.js")).createCynefinServices)().Cynefin.parser.LangiumParser;_G.cynefin=e},"cynefin")};async function OG(e,t){var r=PG[e];if(!r)throw new Error("Unknown diagram type: "+e);if(_G[e]||await r(),0<(r=_G[e].parse(t)).lexerErrors.length||0<r.parserErrors.length)throw new LG(r);return r.value}Fe(OG,"parse");var LG=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(e=>`Lexer error on line ${void 0===e.line||isNaN(e.line)?"?":e.line}, column ${void 0===e.column||isNaN(e.column)?"?":e.column}: `+e.message).join("\n")} `+e.parserErrors.map(e=>`Parse error on line ${void 0===e.token.startLine||isNaN(e.token.startLine)?"?":e.token.startLine}, column ${void 0===e.token.startColumn||isNaN(e.token.startColumn)?"?":e.token.startColumn}: `+e.message).join("\n")),this.result=e}static{Fe(this,"MermaidParseError")}};export{RG as A,QF as C,NG as E,rG as G,iG as I,LG as M,lG as P,$F as R,yG as T,ZF as W,uG as a,dG as b,sG as c,fG as d,gG as e,$G as f,nG as g,IG as h,EF as i,SF as j,kF as k,IF as l,_F as m,LF as n,DF as o,GF as p,zF as q,WF as r,HF as s,XF as t,eG as u,OG as v,JP as w};