@epic-web/workshop-app 5.22.4 → 5.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/build/client/assets/{_-CHaVBRQw.js → _-BaHOmd8F.js} +2 -2
  2. package/build/client/assets/{_-CHaVBRQw.js.map → _-BaHOmd8F.js.map} +1 -1
  3. package/build/client/assets/_basePickBy-B3Ji82Lk.js +2 -0
  4. package/build/client/assets/_basePickBy-B3Ji82Lk.js.map +1 -0
  5. package/build/client/assets/_baseUniq-BoGoqSUm.js +2 -0
  6. package/build/client/assets/_baseUniq-BoGoqSUm.js.map +1 -0
  7. package/build/client/assets/{_exerciseNumber-3uq8PYSd.js → _exerciseNumber-DtILU6SM.js} +2 -2
  8. package/build/client/assets/{_exerciseNumber-3uq8PYSd.js.map → _exerciseNumber-DtILU6SM.js.map} +1 -1
  9. package/build/client/assets/{_exerciseNumber_._stepNumber-D5VDI7vZ.js → _exerciseNumber_._stepNumber-DoOFEk-P.js} +2 -2
  10. package/build/client/assets/{_exerciseNumber_._stepNumber-D5VDI7vZ.js.map → _exerciseNumber_._stepNumber-DoOFEk-P.js.map} +1 -1
  11. package/build/client/assets/{_exerciseNumber_.finished-3Iv9ikNq.js → _exerciseNumber_.finished-CEK9anWX.js} +2 -2
  12. package/build/client/assets/{_exerciseNumber_.finished-3Iv9ikNq.js.map → _exerciseNumber_.finished-CEK9anWX.js.map} +1 -1
  13. package/build/client/assets/{_layout-DV29dlKr.js → _layout-B_BIIcpM.js} +2 -2
  14. package/build/client/assets/{_layout-DV29dlKr.js.map → _layout-B_BIIcpM.js.map} +1 -1
  15. package/build/client/assets/_layout-D1r_62oj.js +6 -0
  16. package/build/client/assets/_layout-D1r_62oj.js.map +1 -0
  17. package/build/client/assets/{_layout-CwTidn3v.js → _layout-D7_F6t3x.js} +2 -2
  18. package/build/client/assets/{_layout-CwTidn3v.js.map → _layout-D7_F6t3x.js.map} +1 -1
  19. package/build/client/assets/_layout-DzlTTMQ0.js +2 -0
  20. package/build/client/assets/_layout-DzlTTMQ0.js.map +1 -0
  21. package/build/client/assets/accordion-CpiLc1m2.js +2 -0
  22. package/build/client/assets/accordion-CpiLc1m2.js.map +1 -0
  23. package/build/client/assets/{account-CN4B8rm4.js → account-CbFDiVNd.js} +2 -2
  24. package/build/client/assets/{account-CN4B8rm4.js.map → account-CbFDiVNd.js.map} +1 -1
  25. package/build/client/assets/app-CQvK51s0.js +2 -0
  26. package/build/client/assets/{app-lUkT_xku.js.map → app-CQvK51s0.js.map} +1 -1
  27. package/build/client/assets/{app-DGPT3Jy6.css → app-DSmkkXO5.css} +1 -1
  28. package/build/client/assets/arc-rF8TbXNV.js +2 -0
  29. package/build/client/assets/arc-rF8TbXNV.js.map +1 -0
  30. package/build/client/assets/architectureDiagram-IEHRJDOE-D7gCCmY9.js +37 -0
  31. package/build/client/assets/architectureDiagram-IEHRJDOE-D7gCCmY9.js.map +1 -0
  32. package/build/client/assets/blockDiagram-JOT3LUYC-yGQOzhkw.js +122 -0
  33. package/build/client/assets/blockDiagram-JOT3LUYC-yGQOzhkw.js.map +1 -0
  34. package/build/client/assets/{button-ChOzbirS.js → button-Dt4EcDfR.js} +2 -2
  35. package/build/client/assets/{button-ChOzbirS.js.map → button-Dt4EcDfR.js.map} +1 -1
  36. package/build/client/assets/c4Diagram-VJAJSXHY-CTFjYF37.js +11 -0
  37. package/build/client/assets/c4Diagram-VJAJSXHY-CTFjYF37.js.map +1 -0
  38. package/build/client/assets/channel-5s71-OE9.js +2 -0
  39. package/build/client/assets/channel-5s71-OE9.js.map +1 -0
  40. package/build/client/assets/chunk-4BMEZGHF-BIe0IUDz.js +2 -0
  41. package/build/client/assets/chunk-4BMEZGHF-BIe0IUDz.js.map +1 -0
  42. package/build/client/assets/chunk-A2AXSNBT-B-nCbUBj.js +165 -0
  43. package/build/client/assets/chunk-A2AXSNBT-B-nCbUBj.js.map +1 -0
  44. package/build/client/assets/chunk-AEK57VVT-B-cCHPs2.js +221 -0
  45. package/build/client/assets/chunk-AEK57VVT-B-cCHPs2.js.map +1 -0
  46. package/build/client/assets/chunk-D6G4REZN-EQ3R8OZx.js +2 -0
  47. package/build/client/assets/chunk-D6G4REZN-EQ3R8OZx.js.map +1 -0
  48. package/build/client/assets/chunk-RZ5BOZE2-h6svq8Xk.js +2 -0
  49. package/build/client/assets/chunk-RZ5BOZE2-h6svq8Xk.js.map +1 -0
  50. package/build/client/assets/chunk-XZIHB7SX-74-HFRcU.js +2 -0
  51. package/build/client/assets/chunk-XZIHB7SX-74-HFRcU.js.map +1 -0
  52. package/build/client/assets/classDiagram-GIVACNV2-CWogZCzR.js +2 -0
  53. package/build/client/assets/classDiagram-GIVACNV2-CWogZCzR.js.map +1 -0
  54. package/build/client/assets/classDiagram-v2-COTLJTTW-CWogZCzR.js +2 -0
  55. package/build/client/assets/classDiagram-v2-COTLJTTW-CWogZCzR.js.map +1 -0
  56. package/build/client/assets/clone-nHZ14b_E.js +2 -0
  57. package/build/client/assets/clone-nHZ14b_E.js.map +1 -0
  58. package/build/client/assets/{components-DrvY4pal.js → components-5arJTWsS.js} +5 -5
  59. package/build/client/assets/{components-DrvY4pal.js.map → components-5arJTWsS.js.map} +1 -1
  60. package/build/client/assets/cytoscape.esm-BY7v1xhs.js +332 -0
  61. package/build/client/assets/cytoscape.esm-BY7v1xhs.js.map +1 -0
  62. package/build/client/assets/dagre-OKDRZEBW-Bq-HgVN8.js +5 -0
  63. package/build/client/assets/dagre-OKDRZEBW-Bq-HgVN8.js.map +1 -0
  64. package/build/client/assets/diagram-SSKATNLV-Cls675Lh.js +44 -0
  65. package/build/client/assets/diagram-SSKATNLV-Cls675Lh.js.map +1 -0
  66. package/build/client/assets/diagram-VNBRO52H-CJDqBhLa.js +25 -0
  67. package/build/client/assets/diagram-VNBRO52H-CJDqBhLa.js.map +1 -0
  68. package/build/client/assets/diff-8N5KyD7o.js +2 -0
  69. package/build/client/assets/{diff-CVrsnWqw.js.map → diff-8N5KyD7o.js.map} +1 -1
  70. package/build/client/assets/{diff-CTHVtVGQ.js → diff-Bu4t2NGL.js} +2 -2
  71. package/build/client/assets/{diff-CTHVtVGQ.js.map → diff-Bu4t2NGL.js.map} +1 -1
  72. package/build/client/assets/{discord-gROK6Zn6.js → discord-BU7RzE6-.js} +2 -2
  73. package/build/client/assets/{discord-gROK6Zn6.js.map → discord-BU7RzE6-.js.map} +1 -1
  74. package/build/client/assets/discord-ut4t-aMQ.js +2 -0
  75. package/build/client/assets/discord-ut4t-aMQ.js.map +1 -0
  76. package/build/client/assets/entry.client-BLUlgPHE.js +44 -0
  77. package/build/client/assets/{entry.client-CQusg5Iz.js.map → entry.client-BLUlgPHE.js.map} +1 -1
  78. package/build/client/assets/epic-video-DN9DRRHf.js +3206 -0
  79. package/build/client/assets/epic-video-DN9DRRHf.js.map +1 -0
  80. package/build/client/assets/erDiagram-Q7BY3M3F-DdKn4jVQ.js +61 -0
  81. package/build/client/assets/erDiagram-Q7BY3M3F-DdKn4jVQ.js.map +1 -0
  82. package/build/client/assets/{error-boundary-CAu3AmhN.js → error-boundary-B07cWiEy.js} +2 -2
  83. package/build/client/assets/{error-boundary-CAu3AmhN.js.map → error-boundary-B07cWiEy.js.map} +1 -1
  84. package/build/client/assets/{finished-9PhQncNF.js → finished-B3G1RUDO.js} +2 -2
  85. package/build/client/assets/{finished-9PhQncNF.js.map → finished-B3G1RUDO.js.map} +1 -1
  86. package/build/client/assets/flowDiagram-4HSFHLVR-5Mg796nh.js +162 -0
  87. package/build/client/assets/flowDiagram-4HSFHLVR-5Mg796nh.js.map +1 -0
  88. package/build/client/assets/ganttDiagram-APWFNJXF-YO2fxWzG.js +258 -0
  89. package/build/client/assets/ganttDiagram-APWFNJXF-YO2fxWzG.js.map +1 -0
  90. package/build/client/assets/gitGraphDiagram-7IBYFJ6S-DQCZvhP_.js +66 -0
  91. package/build/client/assets/gitGraphDiagram-7IBYFJ6S-DQCZvhP_.js.map +1 -0
  92. package/build/client/assets/graph-BFAO9Sgp.js +2 -0
  93. package/build/client/assets/graph-BFAO9Sgp.js.map +1 -0
  94. package/build/client/assets/{index-egcHQOpF.js → index-B8yUFowV.js} +2 -2
  95. package/build/client/assets/{index-egcHQOpF.js.map → index-B8yUFowV.js.map} +1 -1
  96. package/build/client/assets/{index-qo6WmPUa.js → index-BfCSiT_X.js} +2 -2
  97. package/build/client/assets/{index-qo6WmPUa.js.map → index-BfCSiT_X.js.map} +1 -1
  98. package/build/client/assets/index-BmMpCvYx.js +2 -0
  99. package/build/client/assets/index-BmMpCvYx.js.map +1 -0
  100. package/build/client/assets/index-CEP3Xxa0.js +36 -0
  101. package/build/client/assets/index-CEP3Xxa0.js.map +1 -0
  102. package/build/client/assets/index-Dkt2MSig.js +2 -0
  103. package/build/client/assets/index-Dkt2MSig.js.map +1 -0
  104. package/build/client/assets/index-Do-KWT0a.js +42 -0
  105. package/build/client/assets/index-Do-KWT0a.js.map +1 -0
  106. package/build/client/assets/index-Dsusf_Av.js +38 -0
  107. package/build/client/assets/{index-CGzylDPY.js.map → index-Dsusf_Av.js.map} +1 -1
  108. package/build/client/assets/index-DvQyydjU.js +3 -0
  109. package/build/client/assets/index-DvQyydjU.js.map +1 -0
  110. package/build/client/assets/{index-CYZfnGWa.js → index-Fw2eA3AF.js} +2 -2
  111. package/build/client/assets/{index-CYZfnGWa.js.map → index-Fw2eA3AF.js.map} +1 -1
  112. package/build/client/assets/infoDiagram-PH2N3AL5-x87RxSs8.js +3 -0
  113. package/build/client/assets/infoDiagram-PH2N3AL5-x87RxSs8.js.map +1 -0
  114. package/build/client/assets/init-Gi6I4Gst.js +2 -0
  115. package/build/client/assets/init-Gi6I4Gst.js.map +1 -0
  116. package/build/client/assets/journeyDiagram-U35MCT3I-D5yGbOLJ.js +139 -0
  117. package/build/client/assets/journeyDiagram-U35MCT3I-D5yGbOLJ.js.map +1 -0
  118. package/build/client/assets/kanban-definition-NDS4AKOZ-BM6KyRww.js +89 -0
  119. package/build/client/assets/kanban-definition-NDS4AKOZ-BM6KyRww.js.map +1 -0
  120. package/build/client/assets/katex-ChWnQ-fc.js +262 -0
  121. package/build/client/assets/katex-ChWnQ-fc.js.map +1 -0
  122. package/build/client/assets/layout-qCiM2Jgn.js +2 -0
  123. package/build/client/assets/layout-qCiM2Jgn.js.map +1 -0
  124. package/build/client/assets/linear-B3zp51yW.js +2 -0
  125. package/build/client/assets/linear-B3zp51yW.js.map +1 -0
  126. package/build/client/assets/{loading-CPEkK5hO.js → loading-BPTYJOXN.js} +2 -2
  127. package/build/client/assets/{loading-CPEkK5hO.js.map → loading-BPTYJOXN.js.map} +1 -1
  128. package/build/client/assets/login-CfyUfm-m.js +2 -0
  129. package/build/client/assets/{login-C9JmYc0v.js.map → login-CfyUfm-m.js.map} +1 -1
  130. package/build/client/assets/{manifest-4acdd3e2.js → manifest-fe4b7228.js} +1 -1
  131. package/build/client/assets/mdx-Dfsh6Vjk.js +3 -0
  132. package/build/client/assets/mdx-Dfsh6Vjk.js.map +1 -0
  133. package/build/client/assets/mermaid.core-ZaxoMXOj.js +214 -0
  134. package/build/client/assets/mermaid.core-ZaxoMXOj.js.map +1 -0
  135. package/build/client/assets/mindmap-definition-ALO5MXBD-CF3siXp6.js +96 -0
  136. package/build/client/assets/mindmap-definition-ALO5MXBD-CF3siXp6.js.map +1 -0
  137. package/build/client/assets/misc-2sBiisF5.js +2 -0
  138. package/build/client/assets/misc-2sBiisF5.js.map +1 -0
  139. package/build/client/assets/{nav-chevrons-DCuva9-Q.js → nav-chevrons-CV-dpXNR.js} +2 -2
  140. package/build/client/assets/{nav-chevrons-DCuva9-Q.js.map → nav-chevrons-CV-dpXNR.js.map} +1 -1
  141. package/build/client/assets/{onboarding-DzfDHJg_.js → onboarding-5LC4kIVW.js} +2 -2
  142. package/build/client/assets/{onboarding-DzfDHJg_.js.map → onboarding-5LC4kIVW.js.map} +1 -1
  143. package/build/client/assets/{online-BsTX44az.js → online-IWqRB9zP.js} +2 -2
  144. package/build/client/assets/{online-BsTX44az.js.map → online-IWqRB9zP.js.map} +1 -1
  145. package/build/client/assets/ordinal-Cboi1Yqb.js +2 -0
  146. package/build/client/assets/ordinal-Cboi1Yqb.js.map +1 -0
  147. package/build/client/assets/{pe-DXT2FOp1.js → pe-BShc2dvc.js} +2 -2
  148. package/build/client/assets/{pe-DXT2FOp1.js.map → pe-BShc2dvc.js.map} +1 -1
  149. package/build/client/assets/pieDiagram-IB7DONF6-B-gWQIHI.js +31 -0
  150. package/build/client/assets/pieDiagram-IB7DONF6-B-gWQIHI.js.map +1 -0
  151. package/build/client/assets/{preferences-BYBJKp8k.js → preferences-BkWQyRCq.js} +2 -2
  152. package/build/client/assets/{preferences-BYBJKp8k.js.map → preferences-BkWQyRCq.js.map} +1 -1
  153. package/build/client/assets/presence-BAL3jDku.js +28 -0
  154. package/build/client/assets/presence-BAL3jDku.js.map +1 -0
  155. package/build/client/assets/preview-D4amucCL.js +2 -0
  156. package/build/client/assets/{preview-DaTpH6lj.js.map → preview-D4amucCL.js.map} +1 -1
  157. package/build/client/assets/{product-BKhLQKd7.js → product-Cyum2biy.js} +2 -2
  158. package/build/client/assets/{product-BKhLQKd7.js.map → product-Cyum2biy.js.map} +1 -1
  159. package/build/client/assets/progress-BJ4ADF-s.js +2 -0
  160. package/build/client/assets/progress-BJ4ADF-s.js.map +1 -0
  161. package/build/client/assets/{progress-bar-ZCHf2Y4W.js → progress-bar-DgnkQxQw.js} +2 -2
  162. package/build/client/assets/{progress-bar-ZCHf2Y4W.js.map → progress-bar-DgnkQxQw.js.map} +1 -1
  163. package/build/client/assets/quadrantDiagram-7GDLP6J5-BQzo7p61.js +8 -0
  164. package/build/client/assets/quadrantDiagram-7GDLP6J5-BQzo7p61.js.map +1 -0
  165. package/build/client/assets/radar-MK3ICKWK-CM-Iz9PA.js +129 -0
  166. package/build/client/assets/radar-MK3ICKWK-CM-Iz9PA.js.map +1 -0
  167. package/build/client/assets/requirementDiagram-KVF5MWMF-DzaHc66R.js +65 -0
  168. package/build/client/assets/requirementDiagram-KVF5MWMF-DzaHc66R.js.map +1 -0
  169. package/build/client/assets/revalidation-ws-ho-umDqd.js +2 -0
  170. package/build/client/assets/{revalidation-ws-BoJZTvOQ.js.map → revalidation-ws-ho-umDqd.js.map} +1 -1
  171. package/build/client/assets/{root-4MvCzrFd.js → root-tJmOmO9T.js} +3 -3
  172. package/build/client/assets/{root-4MvCzrFd.js.map → root-tJmOmO9T.js.map} +1 -1
  173. package/build/client/assets/sankeyDiagram-QLVOVGJD-DfAVeZCk.js +11 -0
  174. package/build/client/assets/sankeyDiagram-QLVOVGJD-DfAVeZCk.js.map +1 -0
  175. package/build/client/assets/sequenceDiagram-X6HHIX6F-CljZRLoS.js +123 -0
  176. package/build/client/assets/sequenceDiagram-X6HHIX6F-CljZRLoS.js.map +1 -0
  177. package/build/client/assets/{set-playground-IUJCGVu2.js → set-playground-DW2Ys-rV.js} +2 -2
  178. package/build/client/assets/{set-playground-IUJCGVu2.js.map → set-playground-DW2Ys-rV.js.map} +1 -1
  179. package/build/client/assets/stateDiagram-DGXRK772-BzVfGv3W.js +2 -0
  180. package/build/client/assets/stateDiagram-DGXRK772-BzVfGv3W.js.map +1 -0
  181. package/build/client/assets/stateDiagram-v2-YXO3MK2T-8oX001yq.js +2 -0
  182. package/build/client/assets/stateDiagram-v2-YXO3MK2T-8oX001yq.js.map +1 -0
  183. package/build/client/assets/{support-CW3-Iilk.js → support-Bg0iSyle.js} +2 -2
  184. package/build/client/assets/{support-CW3-Iilk.js.map → support-Bg0iSyle.js.map} +1 -1
  185. package/build/client/assets/tailwind-DtnE_2an.css +1 -0
  186. package/build/client/assets/test-C14D-N72.js +2 -0
  187. package/build/client/assets/{test-B8jDo0X4.js.map → test-C14D-N72.js.map} +1 -1
  188. package/build/client/assets/tests-6__AtHpI.js +4 -0
  189. package/build/client/assets/{tests-y-atkhWB.js.map → tests-6__AtHpI.js.map} +1 -1
  190. package/build/client/assets/timeline-definition-BDJGKUSR-2TO9MtLY.js +62 -0
  191. package/build/client/assets/timeline-definition-BDJGKUSR-2TO9MtLY.js.map +1 -0
  192. package/build/client/assets/tooltip-Bzd6O8vq.js +2 -0
  193. package/build/client/assets/tooltip-Bzd6O8vq.js.map +1 -0
  194. package/build/client/assets/{use-event-source-AZJtQsFX.js → use-event-source-Dar8h_B8.js} +2 -2
  195. package/build/client/assets/{use-event-source-AZJtQsFX.js.map → use-event-source-Dar8h_B8.js.map} +1 -1
  196. package/build/client/assets/{user-C0j04V55.js → user-DNSnhqGn.js} +2 -2
  197. package/build/client/assets/{user-C0j04V55.js.map → user-DNSnhqGn.js.map} +1 -1
  198. package/build/client/assets/{version-D61Qvt0X.js → version-DriSvNMy.js} +2 -2
  199. package/build/client/assets/{version-D61Qvt0X.js.map → version-DriSvNMy.js.map} +1 -1
  200. package/build/client/assets/{workshop-config-oL_FWDKq.js → workshop-config-DchzGYJM.js} +2 -2
  201. package/build/client/assets/{workshop-config-oL_FWDKq.js.map → workshop-config-DchzGYJM.js.map} +1 -1
  202. package/build/client/assets/xychartDiagram-VJFVF3MP-Dh4nsbBT.js +8 -0
  203. package/build/client/assets/xychartDiagram-VJFVF3MP-Dh4nsbBT.js.map +1 -0
  204. package/build/server/index.js +50 -58
  205. package/build/server/index.js.map +1 -1
  206. package/dist/server/index.js +6 -0
  207. package/package.json +6 -5
  208. package/build/client/assets/_layout-Brb3LPqZ.js +0 -5
  209. package/build/client/assets/_layout-Brb3LPqZ.js.map +0 -1
  210. package/build/client/assets/_layout-CkabS-6c.js +0 -9
  211. package/build/client/assets/_layout-CkabS-6c.js.map +0 -1
  212. package/build/client/assets/accordion-BjQ-5Z44.js +0 -2
  213. package/build/client/assets/accordion-BjQ-5Z44.js.map +0 -1
  214. package/build/client/assets/app-lUkT_xku.js +0 -2
  215. package/build/client/assets/diff-CVrsnWqw.js +0 -2
  216. package/build/client/assets/discord-Cl4hiMqz.js +0 -2
  217. package/build/client/assets/discord-Cl4hiMqz.js.map +0 -1
  218. package/build/client/assets/entry.client-CQusg5Iz.js +0 -44
  219. package/build/client/assets/epic-video-BQtjG_Y0.js +0 -3053
  220. package/build/client/assets/epic-video-BQtjG_Y0.js.map +0 -1
  221. package/build/client/assets/index-BncqUVfr.js +0 -39
  222. package/build/client/assets/index-BncqUVfr.js.map +0 -1
  223. package/build/client/assets/index-CB8bjE90.js +0 -3
  224. package/build/client/assets/index-CB8bjE90.js.map +0 -1
  225. package/build/client/assets/index-CGzylDPY.js +0 -38
  226. package/build/client/assets/index-CMYl882D.js +0 -36
  227. package/build/client/assets/index-CMYl882D.js.map +0 -1
  228. package/build/client/assets/index-CSGHuBiw.js +0 -5
  229. package/build/client/assets/index-CSGHuBiw.js.map +0 -1
  230. package/build/client/assets/index-mZJ8sz9i.js +0 -2
  231. package/build/client/assets/index-mZJ8sz9i.js.map +0 -1
  232. package/build/client/assets/login-C9JmYc0v.js +0 -2
  233. package/build/client/assets/mdx-CnaWQCDw.js +0 -2
  234. package/build/client/assets/mdx-CnaWQCDw.js.map +0 -1
  235. package/build/client/assets/misc-CQmANiHr.js +0 -2
  236. package/build/client/assets/misc-CQmANiHr.js.map +0 -1
  237. package/build/client/assets/presence-D5UF-NOM.js +0 -28
  238. package/build/client/assets/presence-D5UF-NOM.js.map +0 -1
  239. package/build/client/assets/preview-DaTpH6lj.js +0 -2
  240. package/build/client/assets/progress-DwE8EkAa.js +0 -2
  241. package/build/client/assets/progress-DwE8EkAa.js.map +0 -1
  242. package/build/client/assets/revalidation-ws-BoJZTvOQ.js +0 -2
  243. package/build/client/assets/tailwind-O9k3JIDs.css +0 -1
  244. package/build/client/assets/test-B8jDo0X4.js +0 -2
  245. package/build/client/assets/tests-y-atkhWB.js +0 -4
  246. package/build/client/assets/tooltip-Cd0yJoQb.js +0 -2
  247. package/build/client/assets/tooltip-Cd0yJoQb.js.map +0 -1
  248. /package/build/client/assets/{epic-video-DUnRvy1A.css → epic-video-D2Xftn6t.css} +0 -0
@@ -0,0 +1,221 @@
1
+ var re=Object.defineProperty;var ae=(e,t,s)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var b=(e,t,s)=>ae(e,typeof t!="symbol"?t+"":t,s);import{g as ne,s as le}from"./chunk-RZ5BOZE2-h6svq8Xk.js";import{_ as p,l as v,c as A,r as oe,u as ce,aa as he,k as j,z as ue,a as de,b as fe,g as pe,s as Se,q as ye,t as ge}from"./mermaid.core-ZaxoMXOj.js";var bt=function(){var e=p(function(P,l,h,a){for(h=h||{},a=P.length;a--;h[P[a]]=l);return h},"o"),t=[1,2],s=[1,3],n=[1,4],o=[2,4],c=[1,9],r=[1,11],d=[1,16],f=[1,17],g=[1,18],E=[1,19],m=[1,32],I=[1,20],G=[1,21],R=[1,22],S=[1,23],L=[1,24],O=[1,26],Y=[1,27],F=[1,28],w=[1,29],$=[1,30],et=[1,31],st=[1,34],it=[1,35],rt=[1,36],at=[1,37],X=[1,33],y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],nt=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],At=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],St={trace:p(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:p(function(l,h,a,T,_,i,K){var u=i.length-1;switch(_){case 3:return T.setRootDoc(i[u]),i[u];case 4:this.$=[];break;case 5:i[u]!="nl"&&(i[u-1].push(i[u]),this.$=i[u-1]);break;case 6:case 7:this.$=i[u];break;case 8:this.$="nl";break;case 12:this.$=i[u];break;case 13:const J=i[u-1];J.description=T.trimColon(i[u]),this.$=J;break;case 14:this.$={stmt:"relation",state1:i[u-2],state2:i[u]};break;case 15:const yt=T.trimColon(i[u]);this.$={stmt:"relation",state1:i[u-3],state2:i[u-1],description:yt};break;case 19:this.$={stmt:"state",id:i[u-3],type:"default",description:"",doc:i[u-1]};break;case 20:var V=i[u],H=i[u-2].trim();if(i[u].match(":")){var ot=i[u].split(":");V=ot[0],H=[H,ot[1]]}this.$={stmt:"state",id:V,type:"default",description:H};break;case 21:this.$={stmt:"state",id:i[u-3],type:"default",description:i[u-5],doc:i[u-1]};break;case 22:this.$={stmt:"state",id:i[u],type:"fork"};break;case 23:this.$={stmt:"state",id:i[u],type:"join"};break;case 24:this.$={stmt:"state",id:i[u],type:"choice"};break;case 25:this.$={stmt:"state",id:T.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:i[u-1].trim(),note:{position:i[u-2].trim(),text:i[u].trim()}};break;case 29:this.$=i[u].trim(),T.setAccTitle(this.$);break;case 30:case 31:this.$=i[u].trim(),T.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:i[u-1].trim(),classes:i[u].trim()};break;case 34:this.$={stmt:"style",id:i[u-1].trim(),styleClass:i[u].trim()};break;case 35:this.$={stmt:"applyClass",id:i[u-1].trim(),styleClass:i[u].trim()};break;case 36:T.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:T.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:T.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:T.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:i[u].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:i[u-2].trim(),classes:[i[u].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:i[u-2].trim(),classes:[i[u].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:t,5:s,6:n},{1:[3]},{3:5,4:t,5:s,6:n},{3:6,4:t,5:s,6:n},e([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],o,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:c,5:r,8:8,9:10,10:12,11:13,12:14,13:15,16:d,17:f,19:g,22:E,24:m,25:I,26:G,27:R,28:S,29:L,32:25,33:O,35:Y,37:F,38:w,42:$,45:et,48:st,49:it,50:rt,51:at,54:X},e(y,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:d,17:f,19:g,22:E,24:m,25:I,26:G,27:R,28:S,29:L,32:25,33:O,35:Y,37:F,38:w,42:$,45:et,48:st,49:it,50:rt,51:at,54:X},e(y,[2,7]),e(y,[2,8]),e(y,[2,9]),e(y,[2,10]),e(y,[2,11]),e(y,[2,12],{14:[1,39],15:[1,40]}),e(y,[2,16]),{18:[1,41]},e(y,[2,18],{20:[1,42]}),{23:[1,43]},e(y,[2,22]),e(y,[2,23]),e(y,[2,24]),e(y,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},e(y,[2,28]),{34:[1,48]},{36:[1,49]},e(y,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},e(nt,[2,42],{55:[1,54]}),e(nt,[2,43],{55:[1,55]}),e(y,[2,36]),e(y,[2,37]),e(y,[2,38]),e(y,[2,39]),e(y,[2,6]),e(y,[2,13]),{13:56,24:m,54:X},e(y,[2,17]),e(At,o,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},e(y,[2,29]),e(y,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},e(y,[2,14],{14:[1,67]}),{4:c,5:r,8:8,9:10,10:12,11:13,12:14,13:15,16:d,17:f,19:g,21:[1,68],22:E,24:m,25:I,26:G,27:R,28:S,29:L,32:25,33:O,35:Y,37:F,38:w,42:$,45:et,48:st,49:it,50:rt,51:at,54:X},e(y,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},e(y,[2,32]),e(y,[2,33]),e(y,[2,34]),e(y,[2,35]),e(nt,[2,44]),e(nt,[2,45]),e(y,[2,15]),e(y,[2,19]),e(At,o,{7:72}),e(y,[2,26]),e(y,[2,27]),{4:c,5:r,8:8,9:10,10:12,11:13,12:14,13:15,16:d,17:f,19:g,21:[1,73],22:E,24:m,25:I,26:G,27:R,28:S,29:L,32:25,33:O,35:Y,37:F,38:w,42:$,45:et,48:st,49:it,50:rt,51:at,54:X},e(y,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:p(function(l,h){if(h.recoverable)this.trace(l);else{var a=new Error(l);throw a.hash=h,a}},"parseError"),parse:p(function(l){var h=this,a=[0],T=[],_=[null],i=[],K=this.table,u="",V=0,H=0,ot=2,J=1,yt=i.slice.call(arguments,1),D=Object.create(this.lexer),M={yy:{}};for(var gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gt)&&(M.yy[gt]=this.yy[gt]);D.setInput(l,M.yy),M.yy.lexer=D,M.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Tt=D.yylloc;i.push(Tt);var se=D.options&&D.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ie(C){a.length=a.length-2*C,_.length=_.length-C,i.length=i.length-C}p(ie,"popStack");function Lt(){var C;return C=T.pop()||D.lex()||J,typeof C!="number"&&(C instanceof Array&&(T=C,C=T.pop()),C=h.symbols_[C]||C),C}p(Lt,"lex");for(var k,U,x,_t,W={},ct,N,It,ht;;){if(U=a[a.length-1],this.defaultActions[U]?x=this.defaultActions[U]:((k===null||typeof k>"u")&&(k=Lt()),x=K[U]&&K[U][k]),typeof x>"u"||!x.length||!x[0]){var Et="";ht=[];for(ct in K[U])this.terminals_[ct]&&ct>ot&&ht.push("'"+this.terminals_[ct]+"'");D.showPosition?Et="Parse error on line "+(V+1)+`:
2
+ `+D.showPosition()+`
3
+ Expecting `+ht.join(", ")+", got '"+(this.terminals_[k]||k)+"'":Et="Parse error on line "+(V+1)+": Unexpected "+(k==J?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(Et,{text:D.match,token:this.terminals_[k]||k,line:D.yylineno,loc:Tt,expected:ht})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+k);switch(x[0]){case 1:a.push(k),_.push(D.yytext),i.push(D.yylloc),a.push(x[1]),k=null,H=D.yyleng,u=D.yytext,V=D.yylineno,Tt=D.yylloc;break;case 2:if(N=this.productions_[x[1]][1],W.$=_[_.length-N],W._$={first_line:i[i.length-(N||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(N||1)].first_column,last_column:i[i.length-1].last_column},se&&(W._$.range=[i[i.length-(N||1)].range[0],i[i.length-1].range[1]]),_t=this.performAction.apply(W,[u,H,V,M.yy,x[1],_,i].concat(yt)),typeof _t<"u")return _t;N&&(a=a.slice(0,-1*N*2),_=_.slice(0,-1*N),i=i.slice(0,-1*N)),a.push(this.productions_[x[1]][0]),_.push(W.$),i.push(W._$),It=K[a[a.length-2]][a[a.length-1]],a.push(It);break;case 3:return!0}}return!0},"parse")},ee=function(){var P={EOF:1,parseError:p(function(h,a){if(this.yy.parser)this.yy.parser.parseError(h,a);else throw new Error(h)},"parseError"),setInput:p(function(l,h){return this.yy=h||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:p(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var h=l.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:p(function(l){var h=l.length,a=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var T=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===T.length?this.yylloc.first_column:0)+T[T.length-a.length].length-a[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:p(function(){return this._more=!0,this},"more"),reject:p(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:p(function(l){this.unput(this.match.slice(l))},"less"),pastInput:p(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:p(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:p(function(){var l=this.pastInput(),h=new Array(l.length+1).join("-");return l+this.upcomingInput()+`
5
+ `+h+"^"},"showPosition"),test_match:p(function(l,h){var a,T,_;if(this.options.backtrack_lexer&&(_={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(_.yylloc.range=this.yylloc.range.slice(0))),T=l[0].match(/(?:\r\n?|\n).*/g),T&&(this.yylineno+=T.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:T?T[T.length-1].length-T[T.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],a=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack){for(var i in _)this[i]=_[i];return!1}return!1},"test_match"),next:p(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,h,a,T;this._more||(this.yytext="",this.match="");for(var _=this._currentRules(),i=0;i<_.length;i++)if(a=this._input.match(this.rules[_[i]]),a&&(!h||a[0].length>h[0].length)){if(h=a,T=i,this.options.backtrack_lexer){if(l=this.test_match(a,_[i]),l!==!1)return l;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(l=this.test_match(h,_[T]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:p(function(){var h=this.next();return h||this.lex()},"lex"),begin:p(function(h){this.conditionStack.push(h)},"begin"),popState:p(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:p(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:p(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:p(function(h){this.begin(h)},"pushState"),stateStackSize:p(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:p(function(h,a,T,_){switch(T){case 0:return 41;case 1:return 48;case 2:return 49;case 3:return 50;case 4:return 51;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),17;case 13:return 18;case 14:this.popState();break;case 15:return this.begin("acc_title"),33;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),35;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),39;case 25:return this.popState(),40;case 26:return this.pushState("CLASS"),45;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;case 28:return this.popState(),47;case 29:return this.pushState("STYLE"),42;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;case 31:return this.popState(),44;case 32:return this.pushState("SCALE"),17;case 33:return 18;case 34:this.popState();break;case 35:this.pushState("STATE");break;case 36:return this.popState(),a.yytext=a.yytext.slice(0,-8).trim(),25;case 37:return this.popState(),a.yytext=a.yytext.slice(0,-8).trim(),26;case 38:return this.popState(),a.yytext=a.yytext.slice(0,-10).trim(),27;case 39:return this.popState(),a.yytext=a.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),a.yytext=a.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),a.yytext=a.yytext.slice(0,-10).trim(),27;case 42:return 48;case 43:return 49;case 44:return 50;case 45:return 51;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";case 48:return this.popState(),"ID";case 49:this.popState();break;case 50:return"STATE_DESCR";case 51:return 19;case 52:this.popState();break;case 53:return this.popState(),this.pushState("struct"),20;case 54:break;case 55:return this.popState(),21;case 56:break;case 57:return this.begin("NOTE"),29;case 58:return this.popState(),this.pushState("NOTE_ID"),56;case 59:return this.popState(),this.pushState("NOTE_ID"),57;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 62:break;case 63:return"NOTE_TEXT";case 64:return this.popState(),"ID";case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;case 66:return this.popState(),a.yytext=a.yytext.substr(2).trim(),31;case 67:return this.popState(),a.yytext=a.yytext.slice(0,-8).trim(),31;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return a.yytext=a.yytext.trim(),14;case 74:return 15;case 75:return 28;case 76:return 55;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};return P}();St.lexer=ee;function lt(){this.yy={}}return p(lt,"Parser"),lt.prototype=St,St.Parser=lt,new lt}();bt.parser=bt;var Xe=bt,Te="TB",Mt="TB",Rt="dir",dt="state",vt="relation",_e="classDef",Ee="style",me="applyClass",Z="default",Ut="divider",jt="fill:none",zt="fill: #333",Ht="c",Wt="text",Xt="normal",mt="rect",Dt="rectWithTitle",De="stateStart",be="stateEnd",Ot="divider",Nt="roundedWithTitle",ve="note",ke="noteGroup",tt="statediagram",Ce="state",xe=`${tt}-${Ce}`,Kt="transition",Ae="note",Le="note-edge",Ie=`${Kt} ${Le}`,Re=`${tt}-${Ae}`,Oe="cluster",Ne=`${tt}-${Oe}`,we="cluster-alt",$e=`${tt}-${we}`,Jt="parent",qt="note",Pe="state",xt="----",Be=`${xt}${qt}`,wt=`${xt}${Jt}`,Qt=p((e,t=Mt)=>{if(!e.doc)return t;let s=t;for(const n of e.doc)n.stmt==="dir"&&(s=n.value);return s},"getDir"),Ge=p(function(e,t){return t.db.getClasses()},"getClasses"),Ye=p(async function(e,t,s,n){v.info("REF0:"),v.info("Drawing state diagram (v2)",t);const{securityLevel:o,state:c,layout:r}=A();n.db.extract(n.db.getRootDocV2());const d=n.db.getData(),f=ne(t,o);d.type=n.type,d.layoutAlgorithm=r,d.nodeSpacing=(c==null?void 0:c.nodeSpacing)||50,d.rankSpacing=(c==null?void 0:c.rankSpacing)||50,d.markers=["barb"],d.diagramId=t,await oe(d,f);const g=8;ce.insertTitle(f,"statediagramTitleText",(c==null?void 0:c.titleTopMargin)??25,n.db.getDiagramTitle()),le(f,g,tt,(c==null?void 0:c.useMaxWidth)??!0)},"draw"),Ke={getClasses:Ge,draw:Ye,getDir:Qt},ft=new Map,B=0;function pt(e="",t=0,s="",n=xt){const o=s!==null&&s.length>0?`${n}${s}`:"";return`${Pe}-${e}${o}-${t}`}p(pt,"stateDomId");var Fe=p((e,t,s,n,o,c,r,d)=>{v.trace("items",t),t.forEach(f=>{switch(f.stmt){case dt:Q(e,f,s,n,o,c,r,d);break;case Z:Q(e,f,s,n,o,c,r,d);break;case vt:{Q(e,f.state1,s,n,o,c,r,d),Q(e,f.state2,s,n,o,c,r,d);const g={id:"edge"+B,start:f.state1.id,end:f.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:jt,labelStyle:"",label:j.sanitizeText(f.description,A()),arrowheadStyle:zt,labelpos:Ht,labelType:Wt,thickness:Xt,classes:Kt,look:r};o.push(g),B++}break}})},"setupDoc"),$t=p((e,t=Mt)=>{let s=t;if(e.doc)for(const n of e.doc)n.stmt==="dir"&&(s=n.value);return s},"getDir");function q(e,t,s){if(!t.id||t.id==="</join></fork>"||t.id==="</choice>")return;t.cssClasses&&(Array.isArray(t.cssCompiledStyles)||(t.cssCompiledStyles=[]),t.cssClasses.split(" ").forEach(o=>{if(s.get(o)){const c=s.get(o);t.cssCompiledStyles=[...t.cssCompiledStyles,...c.styles]}}));const n=e.find(o=>o.id===t.id);n?Object.assign(n,t):e.push(t)}p(q,"insertOrUpdateNode");function Zt(e){var t;return((t=e==null?void 0:e.classes)==null?void 0:t.join(" "))??""}p(Zt,"getClassesFromDbInfo");function te(e){return(e==null?void 0:e.styles)??[]}p(te,"getStylesFromDbInfo");var Q=p((e,t,s,n,o,c,r,d)=>{var I,G;const f=t.id,g=s.get(f),E=Zt(g),m=te(g);if(v.info("dataFetcher parsedItem",t,g,m),f!=="root"){let R=mt;t.start===!0?R=De:t.start===!1&&(R=be),t.type!==Z&&(R=t.type),ft.get(f)||ft.set(f,{id:f,shape:R,description:j.sanitizeText(f,A()),cssClasses:`${E} ${xe}`,cssStyles:m});const S=ft.get(f);t.description&&(Array.isArray(S.description)?(S.shape=Dt,S.description.push(t.description)):((I=S.description)==null?void 0:I.length)>0?(S.shape=Dt,S.description===f?S.description=[t.description]:S.description=[S.description,t.description]):(S.shape=mt,S.description=t.description),S.description=j.sanitizeTextOrArray(S.description,A())),((G=S.description)==null?void 0:G.length)===1&&S.shape===Dt&&(S.type==="group"?S.shape=Nt:S.shape=mt),!S.type&&t.doc&&(v.info("Setting cluster for XCX",f,$t(t)),S.type="group",S.isGroup=!0,S.dir=$t(t),S.shape=t.type===Ut?Ot:Nt,S.cssClasses=`${S.cssClasses} ${Ne} ${c?$e:""}`);const L={labelStyle:"",shape:S.shape,label:S.description,cssClasses:S.cssClasses,cssCompiledStyles:[],cssStyles:S.cssStyles,id:f,dir:S.dir,domId:pt(f,B),type:S.type,isGroup:S.type==="group",padding:8,rx:10,ry:10,look:r};if(L.shape===Ot&&(L.label=""),e&&e.id!=="root"&&(v.trace("Setting node ",f," to be child of its parent ",e.id),L.parentId=e.id),L.centerLabel=!0,t.note){const O={labelStyle:"",shape:ve,label:t.note.text,cssClasses:Re,cssStyles:[],cssCompilesStyles:[],id:f+Be+"-"+B,domId:pt(f,B,qt),type:S.type,isGroup:S.type==="group",padding:A().flowchart.padding,look:r,position:t.note.position},Y=f+wt,F={labelStyle:"",shape:ke,label:t.note.text,cssClasses:S.cssClasses,cssStyles:[],id:f+wt,domId:pt(f,B,Jt),type:"group",isGroup:!0,padding:16,look:r,position:t.note.position};B++,F.id=Y,O.parentId=Y,q(n,F,d),q(n,O,d),q(n,L,d);let w=f,$=O.id;t.note.position==="left of"&&(w=O.id,$=f),o.push({id:w+"-"+$,start:w,end:$,arrowhead:"none",arrowTypeEnd:"",style:jt,labelStyle:"",classes:Ie,arrowheadStyle:zt,labelpos:Ht,labelType:Wt,thickness:Xt,look:r})}else q(n,L,d)}t.doc&&(v.trace("Adding nodes children "),Fe(t,t.doc,s,n,o,!c,r,d))},"dataFetcher"),Ve=p(()=>{ft.clear(),B=0},"reset"),kt="[*]",Pt="start",Bt=kt,Gt="end",Yt="color",Ft="fill",Me="bgFill",Ue=",";function Ct(){return new Map}p(Ct,"newClassesList");var Vt=p(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),ut=p(e=>JSON.parse(JSON.stringify(e)),"clone"),z,Je=(z=class{constructor(t){b(this,"version");b(this,"nodes",[]);b(this,"edges",[]);b(this,"rootDoc",[]);b(this,"classes",Ct());b(this,"documents",{root:Vt()});b(this,"currentDocument",this.documents.root);b(this,"startEndCount",0);b(this,"dividerCnt",0);b(this,"getAccTitle",de);b(this,"setAccTitle",fe);b(this,"getAccDescription",pe);b(this,"setAccDescription",Se);b(this,"setDiagramTitle",ye);b(this,"getDiagramTitle",ge);this.clear(),this.version=t,this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}setRootDoc(t){v.info("Setting root doc",t),this.rootDoc=t,this.version===1?this.extract(t):this.extract(this.getRootDocV2())}getRootDoc(){return this.rootDoc}docTranslator(t,s,n){if(s.stmt===vt)this.docTranslator(t,s.state1,!0),this.docTranslator(t,s.state2,!1);else if(s.stmt===dt&&(s.id==="[*]"?(s.id=n?t.id+"_start":t.id+"_end",s.start=n):s.id=s.id.trim()),s.doc){const o=[];let c=[],r;for(r=0;r<s.doc.length;r++)if(s.doc[r].type===Ut){const d=ut(s.doc[r]);d.doc=ut(c),o.push(d),c=[]}else c.push(s.doc[r]);if(o.length>0&&c.length>0){const d={stmt:dt,id:he(),type:"divider",doc:ut(c)};o.push(ut(d)),s.doc=o}s.doc.forEach(d=>this.docTranslator(s,d,!0))}}getRootDocV2(){return this.docTranslator({id:"root"},{id:"root",doc:this.rootDoc},!0),{id:"root",doc:this.rootDoc}}extract(t){let s;t.doc?s=t.doc:s=t,v.info(s),this.clear(!0),v.info("Extract initial document:",s),s.forEach(r=>{switch(v.warn("Statement",r.stmt),r.stmt){case dt:this.addState(r.id.trim(),r.type,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles);break;case vt:this.addRelation(r.state1,r.state2,r.description);break;case _e:this.addStyleClass(r.id.trim(),r.classes);break;case Ee:{const d=r.id.trim().split(","),f=r.styleClass.split(",");d.forEach(g=>{let E=this.getState(g);if(E===void 0){const m=g.trim();this.addState(m),E=this.getState(m)}E.styles=f.map(m=>{var I;return(I=m.replace(/;/g,""))==null?void 0:I.trim()})})}break;case me:this.setCssClass(r.id.trim(),r.styleClass);break}});const n=this.getStates(),c=A().look;Ve(),Q(void 0,this.getRootDocV2(),n,this.nodes,this.edges,!0,c,this.classes),this.nodes.forEach(r=>{if(Array.isArray(r.label)){if(r.description=r.label.slice(1),r.isGroup&&r.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+r.id+"]");r.label=r.label[0]}})}addState(t,s=Z,n=null,o=null,c=null,r=null,d=null,f=null){const g=t==null?void 0:t.trim();if(this.currentDocument.states.has(g)?(this.currentDocument.states.get(g).doc||(this.currentDocument.states.get(g).doc=n),this.currentDocument.states.get(g).type||(this.currentDocument.states.get(g).type=s)):(v.info("Adding state ",g,o),this.currentDocument.states.set(g,{id:g,descriptions:[],type:s,doc:n,note:c,classes:[],styles:[],textStyles:[]})),o&&(v.info("Setting state description",g,o),typeof o=="string"&&this.addDescription(g,o.trim()),typeof o=="object"&&o.forEach(E=>this.addDescription(g,E.trim()))),c){const E=this.currentDocument.states.get(g);E.note=c,E.note.text=j.sanitizeText(E.note.text,A())}r&&(v.info("Setting state classes",g,r),(typeof r=="string"?[r]:r).forEach(m=>this.setCssClass(g,m.trim()))),d&&(v.info("Setting state styles",g,d),(typeof d=="string"?[d]:d).forEach(m=>this.setStyle(g,m.trim()))),f&&(v.info("Setting state styles",g,d),(typeof f=="string"?[f]:f).forEach(m=>this.setTextStyle(g,m.trim())))}clear(t){this.nodes=[],this.edges=[],this.documents={root:Vt()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=Ct(),t||ue()}getState(t){return this.currentDocument.states.get(t)}getStates(){return this.currentDocument.states}logDocuments(){v.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}startIdIfNeeded(t=""){let s=t;return t===kt&&(this.startEndCount++,s=`${Pt}${this.startEndCount}`),s}startTypeIfNeeded(t="",s=Z){return t===kt?Pt:s}endIdIfNeeded(t=""){let s=t;return t===Bt&&(this.startEndCount++,s=`${Gt}${this.startEndCount}`),s}endTypeIfNeeded(t="",s=Z){return t===Bt?Gt:s}addRelationObjs(t,s,n){let o=this.startIdIfNeeded(t.id.trim()),c=this.startTypeIfNeeded(t.id.trim(),t.type),r=this.startIdIfNeeded(s.id.trim()),d=this.startTypeIfNeeded(s.id.trim(),s.type);this.addState(o,c,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),this.addState(r,d,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),this.currentDocument.relations.push({id1:o,id2:r,relationTitle:j.sanitizeText(n,A())})}addRelation(t,s,n){if(typeof t=="object")this.addRelationObjs(t,s,n);else{const o=this.startIdIfNeeded(t.trim()),c=this.startTypeIfNeeded(t),r=this.endIdIfNeeded(s.trim()),d=this.endTypeIfNeeded(s);this.addState(o,c),this.addState(r,d),this.currentDocument.relations.push({id1:o,id2:r,title:j.sanitizeText(n,A())})}}addDescription(t,s){const n=this.currentDocument.states.get(t),o=s.startsWith(":")?s.replace(":","").trim():s;n.descriptions.push(j.sanitizeText(o,A()))}cleanupLabel(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()}getDividerId(){return this.dividerCnt++,"divider-id-"+this.dividerCnt}addStyleClass(t,s=""){this.classes.has(t)||this.classes.set(t,{id:t,styles:[],textStyles:[]});const n=this.classes.get(t);s!=null&&s.split(Ue).forEach(o=>{const c=o.replace(/([^;]*);/,"$1").trim();if(RegExp(Yt).exec(o)){const d=c.replace(Ft,Me).replace(Yt,Ft);n.textStyles.push(d)}n.styles.push(c)})}getClasses(){return this.classes}setCssClass(t,s){t.split(",").forEach(n=>{let o=this.getState(n);if(o===void 0){const c=n.trim();this.addState(c),o=this.getState(c)}o.classes.push(s)})}setStyle(t,s){const n=this.getState(t);n!==void 0&&n.styles.push(s)}setTextStyle(t,s){const n=this.getState(t);n!==void 0&&n.textStyles.push(s)}getDirectionStatement(){return this.rootDoc.find(t=>t.stmt===Rt)}getDirection(){var t;return((t=this.getDirectionStatement())==null?void 0:t.value)??Te}setDirection(t){const s=this.getDirectionStatement();s?s.value=t:this.rootDoc.unshift({stmt:Rt,value:t})}trimColon(t){return t&&t[0]===":"?t.substr(1).trim():t.trim()}getData(){const t=A();return{nodes:this.nodes,edges:this.edges,other:{},config:t,direction:Qt(this.getRootDocV2())}}getConfig(){return A().state}},p(z,"StateDB"),b(z,"relationType",{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}),z),je=p(e=>`
7
+ defs #statediagram-barbEnd {
8
+ fill: ${e.transitionColor};
9
+ stroke: ${e.transitionColor};
10
+ }
11
+ g.stateGroup text {
12
+ fill: ${e.nodeBorder};
13
+ stroke: none;
14
+ font-size: 10px;
15
+ }
16
+ g.stateGroup text {
17
+ fill: ${e.textColor};
18
+ stroke: none;
19
+ font-size: 10px;
20
+
21
+ }
22
+ g.stateGroup .state-title {
23
+ font-weight: bolder;
24
+ fill: ${e.stateLabelColor};
25
+ }
26
+
27
+ g.stateGroup rect {
28
+ fill: ${e.mainBkg};
29
+ stroke: ${e.nodeBorder};
30
+ }
31
+
32
+ g.stateGroup line {
33
+ stroke: ${e.lineColor};
34
+ stroke-width: 1;
35
+ }
36
+
37
+ .transition {
38
+ stroke: ${e.transitionColor};
39
+ stroke-width: 1;
40
+ fill: none;
41
+ }
42
+
43
+ .stateGroup .composit {
44
+ fill: ${e.background};
45
+ border-bottom: 1px
46
+ }
47
+
48
+ .stateGroup .alt-composit {
49
+ fill: #e0e0e0;
50
+ border-bottom: 1px
51
+ }
52
+
53
+ .state-note {
54
+ stroke: ${e.noteBorderColor};
55
+ fill: ${e.noteBkgColor};
56
+
57
+ text {
58
+ fill: ${e.noteTextColor};
59
+ stroke: none;
60
+ font-size: 10px;
61
+ }
62
+ }
63
+
64
+ .stateLabel .box {
65
+ stroke: none;
66
+ stroke-width: 0;
67
+ fill: ${e.mainBkg};
68
+ opacity: 0.5;
69
+ }
70
+
71
+ .edgeLabel .label rect {
72
+ fill: ${e.labelBackgroundColor};
73
+ opacity: 0.5;
74
+ }
75
+ .edgeLabel {
76
+ background-color: ${e.edgeLabelBackground};
77
+ p {
78
+ background-color: ${e.edgeLabelBackground};
79
+ }
80
+ rect {
81
+ opacity: 0.5;
82
+ background-color: ${e.edgeLabelBackground};
83
+ fill: ${e.edgeLabelBackground};
84
+ }
85
+ text-align: center;
86
+ }
87
+ .edgeLabel .label text {
88
+ fill: ${e.transitionLabelColor||e.tertiaryTextColor};
89
+ }
90
+ .label div .edgeLabel {
91
+ color: ${e.transitionLabelColor||e.tertiaryTextColor};
92
+ }
93
+
94
+ .stateLabel text {
95
+ fill: ${e.stateLabelColor};
96
+ font-size: 10px;
97
+ font-weight: bold;
98
+ }
99
+
100
+ .node circle.state-start {
101
+ fill: ${e.specialStateColor};
102
+ stroke: ${e.specialStateColor};
103
+ }
104
+
105
+ .node .fork-join {
106
+ fill: ${e.specialStateColor};
107
+ stroke: ${e.specialStateColor};
108
+ }
109
+
110
+ .node circle.state-end {
111
+ fill: ${e.innerEndBackground};
112
+ stroke: ${e.background};
113
+ stroke-width: 1.5
114
+ }
115
+ .end-state-inner {
116
+ fill: ${e.compositeBackground||e.background};
117
+ // stroke: ${e.background};
118
+ stroke-width: 1.5
119
+ }
120
+
121
+ .node rect {
122
+ fill: ${e.stateBkg||e.mainBkg};
123
+ stroke: ${e.stateBorder||e.nodeBorder};
124
+ stroke-width: 1px;
125
+ }
126
+ .node polygon {
127
+ fill: ${e.mainBkg};
128
+ stroke: ${e.stateBorder||e.nodeBorder};;
129
+ stroke-width: 1px;
130
+ }
131
+ #statediagram-barbEnd {
132
+ fill: ${e.lineColor};
133
+ }
134
+
135
+ .statediagram-cluster rect {
136
+ fill: ${e.compositeTitleBackground};
137
+ stroke: ${e.stateBorder||e.nodeBorder};
138
+ stroke-width: 1px;
139
+ }
140
+
141
+ .cluster-label, .nodeLabel {
142
+ color: ${e.stateLabelColor};
143
+ // line-height: 1;
144
+ }
145
+
146
+ .statediagram-cluster rect.outer {
147
+ rx: 5px;
148
+ ry: 5px;
149
+ }
150
+ .statediagram-state .divider {
151
+ stroke: ${e.stateBorder||e.nodeBorder};
152
+ }
153
+
154
+ .statediagram-state .title-state {
155
+ rx: 5px;
156
+ ry: 5px;
157
+ }
158
+ .statediagram-cluster.statediagram-cluster .inner {
159
+ fill: ${e.compositeBackground||e.background};
160
+ }
161
+ .statediagram-cluster.statediagram-cluster-alt .inner {
162
+ fill: ${e.altBackground?e.altBackground:"#efefef"};
163
+ }
164
+
165
+ .statediagram-cluster .inner {
166
+ rx:0;
167
+ ry:0;
168
+ }
169
+
170
+ .statediagram-state rect.basic {
171
+ rx: 5px;
172
+ ry: 5px;
173
+ }
174
+ .statediagram-state rect.divider {
175
+ stroke-dasharray: 10,10;
176
+ fill: ${e.altBackground?e.altBackground:"#efefef"};
177
+ }
178
+
179
+ .note-edge {
180
+ stroke-dasharray: 5;
181
+ }
182
+
183
+ .statediagram-note rect {
184
+ fill: ${e.noteBkgColor};
185
+ stroke: ${e.noteBorderColor};
186
+ stroke-width: 1px;
187
+ rx: 0;
188
+ ry: 0;
189
+ }
190
+ .statediagram-note rect {
191
+ fill: ${e.noteBkgColor};
192
+ stroke: ${e.noteBorderColor};
193
+ stroke-width: 1px;
194
+ rx: 0;
195
+ ry: 0;
196
+ }
197
+
198
+ .statediagram-note text {
199
+ fill: ${e.noteTextColor};
200
+ }
201
+
202
+ .statediagram-note .nodeLabel {
203
+ color: ${e.noteTextColor};
204
+ }
205
+ .statediagram .edgeLabel {
206
+ color: red; // ${e.noteTextColor};
207
+ }
208
+
209
+ #dependencyStart, #dependencyEnd {
210
+ fill: ${e.lineColor};
211
+ stroke: ${e.lineColor};
212
+ stroke-width: 1;
213
+ }
214
+
215
+ .statediagramTitleText {
216
+ text-anchor: middle;
217
+ font-size: 18px;
218
+ fill: ${e.textColor};
219
+ }
220
+ `,"getStyles"),qe=je;export{Je as S,Xe as a,Ke as b,qe as s};
221
+ //# sourceMappingURL=chunk-AEK57VVT-B-cCHPs2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-AEK57VVT-B-cCHPs2.js","sources":["../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-AEK57VVT.mjs"],"sourcesContent":["import {\n getDiagramElement,\n setupViewPortForSVG\n} from \"./chunk-RZ5BOZE2.mjs\";\nimport {\n render\n} from \"./chunk-TYCBKAJE.mjs\";\nimport {\n generateId,\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n clear,\n common_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/state/parser/stateDiagram.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 2], $V1 = [1, 3], $V2 = [1, 4], $V3 = [2, 4], $V4 = [1, 9], $V5 = [1, 11], $V6 = [1, 16], $V7 = [1, 17], $V8 = [1, 18], $V9 = [1, 19], $Va = [1, 32], $Vb = [1, 20], $Vc = [1, 21], $Vd = [1, 22], $Ve = [1, 23], $Vf = [1, 24], $Vg = [1, 26], $Vh = [1, 27], $Vi = [1, 28], $Vj = [1, 29], $Vk = [1, 30], $Vl = [1, 31], $Vm = [1, 34], $Vn = [1, 35], $Vo = [1, 36], $Vp = [1, 37], $Vq = [1, 33], $Vr = [1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $Vs = [1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $Vt = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"SPACE\": 4, \"NL\": 5, \"SD\": 6, \"document\": 7, \"line\": 8, \"statement\": 9, \"classDefStatement\": 10, \"styleStatement\": 11, \"cssClassStatement\": 12, \"idStatement\": 13, \"DESCR\": 14, \"-->\": 15, \"HIDE_EMPTY\": 16, \"scale\": 17, \"WIDTH\": 18, \"COMPOSIT_STATE\": 19, \"STRUCT_START\": 20, \"STRUCT_STOP\": 21, \"STATE_DESCR\": 22, \"AS\": 23, \"ID\": 24, \"FORK\": 25, \"JOIN\": 26, \"CHOICE\": 27, \"CONCURRENT\": 28, \"note\": 29, \"notePosition\": 30, \"NOTE_TEXT\": 31, \"direction\": 32, \"acc_title\": 33, \"acc_title_value\": 34, \"acc_descr\": 35, \"acc_descr_value\": 36, \"acc_descr_multiline_value\": 37, \"classDef\": 38, \"CLASSDEF_ID\": 39, \"CLASSDEF_STYLEOPTS\": 40, \"DEFAULT\": 41, \"style\": 42, \"STYLE_IDS\": 43, \"STYLEDEF_STYLEOPTS\": 44, \"class\": 45, \"CLASSENTITY_IDS\": 46, \"STYLECLASS\": 47, \"direction_tb\": 48, \"direction_bt\": 49, \"direction_rl\": 50, \"direction_lr\": 51, \"eol\": 52, \";\": 53, \"EDGE_STATE\": 54, \"STYLE_SEPARATOR\": 55, \"left_of\": 56, \"right_of\": 57, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SPACE\", 5: \"NL\", 6: \"SD\", 14: \"DESCR\", 15: \"-->\", 16: \"HIDE_EMPTY\", 17: \"scale\", 18: \"WIDTH\", 19: \"COMPOSIT_STATE\", 20: \"STRUCT_START\", 21: \"STRUCT_STOP\", 22: \"STATE_DESCR\", 23: \"AS\", 24: \"ID\", 25: \"FORK\", 26: \"JOIN\", 27: \"CHOICE\", 28: \"CONCURRENT\", 29: \"note\", 31: \"NOTE_TEXT\", 33: \"acc_title\", 34: \"acc_title_value\", 35: \"acc_descr\", 36: \"acc_descr_value\", 37: \"acc_descr_multiline_value\", 38: \"classDef\", 39: \"CLASSDEF_ID\", 40: \"CLASSDEF_STYLEOPTS\", 41: \"DEFAULT\", 42: \"style\", 43: \"STYLE_IDS\", 44: \"STYLEDEF_STYLEOPTS\", 45: \"class\", 46: \"CLASSENTITY_IDS\", 47: \"STYLECLASS\", 48: \"direction_tb\", 49: \"direction_bt\", 50: \"direction_rl\", 51: \"direction_lr\", 53: \";\", 54: \"EDGE_STATE\", 55: \"STYLE_SEPARATOR\", 56: \"left_of\", 57: \"right_of\" },\n productions_: [0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [8, 1], [8, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 3], [9, 4], [9, 1], [9, 2], [9, 1], [9, 4], [9, 3], [9, 6], [9, 1], [9, 1], [9, 1], [9, 1], [9, 4], [9, 4], [9, 1], [9, 2], [9, 2], [9, 1], [10, 3], [10, 3], [11, 3], [12, 3], [32, 1], [32, 1], [32, 1], [32, 1], [52, 1], [52, 1], [13, 1], [13, 1], [13, 3], [13, 3], [30, 1], [30, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 3:\n yy.setRootDoc($$[$0]);\n return $$[$0];\n break;\n case 4:\n this.$ = [];\n break;\n case 5:\n if ($$[$0] != \"nl\") {\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n }\n break;\n case 6:\n case 7:\n this.$ = $$[$0];\n break;\n case 8:\n this.$ = \"nl\";\n break;\n case 12:\n this.$ = $$[$0];\n break;\n case 13:\n const stateStmt = $$[$0 - 1];\n stateStmt.description = yy.trimColon($$[$0]);\n this.$ = stateStmt;\n break;\n case 14:\n this.$ = { stmt: \"relation\", state1: $$[$0 - 2], state2: $$[$0] };\n break;\n case 15:\n const relDescription = yy.trimColon($$[$0]);\n this.$ = { stmt: \"relation\", state1: $$[$0 - 3], state2: $$[$0 - 1], description: relDescription };\n break;\n case 19:\n this.$ = { stmt: \"state\", id: $$[$0 - 3], type: \"default\", description: \"\", doc: $$[$0 - 1] };\n break;\n case 20:\n var id = $$[$0];\n var description = $$[$0 - 2].trim();\n if ($$[$0].match(\":\")) {\n var parts = $$[$0].split(\":\");\n id = parts[0];\n description = [description, parts[1]];\n }\n this.$ = { stmt: \"state\", id, type: \"default\", description };\n break;\n case 21:\n this.$ = { stmt: \"state\", id: $$[$0 - 3], type: \"default\", description: $$[$0 - 5], doc: $$[$0 - 1] };\n break;\n case 22:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"fork\" };\n break;\n case 23:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"join\" };\n break;\n case 24:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"choice\" };\n break;\n case 25:\n this.$ = { stmt: \"state\", id: yy.getDividerId(), type: \"divider\" };\n break;\n case 26:\n this.$ = { stmt: \"state\", id: $$[$0 - 1].trim(), note: { position: $$[$0 - 2].trim(), text: $$[$0].trim() } };\n break;\n case 29:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 30:\n case 31:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 32:\n case 33:\n this.$ = { stmt: \"classDef\", id: $$[$0 - 1].trim(), classes: $$[$0].trim() };\n break;\n case 34:\n this.$ = { stmt: \"style\", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };\n break;\n case 35:\n this.$ = { stmt: \"applyClass\", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };\n break;\n case 36:\n yy.setDirection(\"TB\");\n this.$ = { stmt: \"dir\", value: \"TB\" };\n break;\n case 37:\n yy.setDirection(\"BT\");\n this.$ = { stmt: \"dir\", value: \"BT\" };\n break;\n case 38:\n yy.setDirection(\"RL\");\n this.$ = { stmt: \"dir\", value: \"RL\" };\n break;\n case 39:\n yy.setDirection(\"LR\");\n this.$ = { stmt: \"dir\", value: \"LR\" };\n break;\n case 42:\n case 43:\n this.$ = { stmt: \"state\", id: $$[$0].trim(), type: \"default\", description: \"\" };\n break;\n case 44:\n this.$ = { stmt: \"state\", id: $$[$0 - 2].trim(), classes: [$$[$0].trim()], type: \"default\", description: \"\" };\n break;\n case 45:\n this.$ = { stmt: \"state\", id: $$[$0 - 2].trim(), classes: [$$[$0].trim()], type: \"default\", description: \"\" };\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: $V0, 5: $V1, 6: $V2 }, { 1: [3] }, { 3: 5, 4: $V0, 5: $V1, 6: $V2 }, { 3: 6, 4: $V0, 5: $V1, 6: $V2 }, o([1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $V3, { 7: 7 }), { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3], 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 5]), { 9: 38, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 7]), o($Vr, [2, 8]), o($Vr, [2, 9]), o($Vr, [2, 10]), o($Vr, [2, 11]), o($Vr, [2, 12], { 14: [1, 39], 15: [1, 40] }), o($Vr, [2, 16]), { 18: [1, 41] }, o($Vr, [2, 18], { 20: [1, 42] }), { 23: [1, 43] }, o($Vr, [2, 22]), o($Vr, [2, 23]), o($Vr, [2, 24]), o($Vr, [2, 25]), { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] }, o($Vr, [2, 28]), { 34: [1, 48] }, { 36: [1, 49] }, o($Vr, [2, 31]), { 39: [1, 50], 41: [1, 51] }, { 43: [1, 52] }, { 46: [1, 53] }, o($Vs, [2, 42], { 55: [1, 54] }), o($Vs, [2, 43], { 55: [1, 55] }), o($Vr, [2, 36]), o($Vr, [2, 37]), o($Vr, [2, 38]), o($Vr, [2, 39]), o($Vr, [2, 6]), o($Vr, [2, 13]), { 13: 56, 24: $Va, 54: $Vq }, o($Vr, [2, 17]), o($Vt, $V3, { 7: 57 }), { 24: [1, 58] }, { 24: [1, 59] }, { 23: [1, 60] }, { 24: [2, 46] }, { 24: [2, 47] }, o($Vr, [2, 29]), o($Vr, [2, 30]), { 40: [1, 61] }, { 40: [1, 62] }, { 44: [1, 63] }, { 47: [1, 64] }, { 24: [1, 65] }, { 24: [1, 66] }, o($Vr, [2, 14], { 14: [1, 67] }), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 21: [1, 68], 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 20], { 20: [1, 69] }), { 31: [1, 70] }, { 24: [1, 71] }, o($Vr, [2, 32]), o($Vr, [2, 33]), o($Vr, [2, 34]), o($Vr, [2, 35]), o($Vs, [2, 44]), o($Vs, [2, 45]), o($Vr, [2, 15]), o($Vr, [2, 19]), o($Vt, $V3, { 7: 72 }), o($Vr, [2, 26]), o($Vr, [2, 27]), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 21: [1, 73], 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 21])],\n defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 41;\n break;\n case 1:\n return 48;\n break;\n case 2:\n return 49;\n break;\n case 3:\n return 50;\n break;\n case 4:\n return 51;\n break;\n case 5:\n break;\n case 6:\n {\n }\n break;\n case 7:\n return 5;\n break;\n case 8:\n break;\n case 9:\n break;\n case 10:\n break;\n case 11:\n break;\n case 12:\n this.pushState(\"SCALE\");\n return 17;\n break;\n case 13:\n return 18;\n break;\n case 14:\n this.popState();\n break;\n case 15:\n this.begin(\"acc_title\");\n return 33;\n break;\n case 16:\n this.popState();\n return \"acc_title_value\";\n break;\n case 17:\n this.begin(\"acc_descr\");\n return 35;\n break;\n case 18:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 19:\n this.begin(\"acc_descr_multiline\");\n break;\n case 20:\n this.popState();\n break;\n case 21:\n return \"acc_descr_multiline_value\";\n break;\n case 22:\n this.pushState(\"CLASSDEF\");\n return 38;\n break;\n case 23:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return \"DEFAULT_CLASSDEF_ID\";\n break;\n case 24:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return 39;\n break;\n case 25:\n this.popState();\n return 40;\n break;\n case 26:\n this.pushState(\"CLASS\");\n return 45;\n break;\n case 27:\n this.popState();\n this.pushState(\"CLASS_STYLE\");\n return 46;\n break;\n case 28:\n this.popState();\n return 47;\n break;\n case 29:\n this.pushState(\"STYLE\");\n return 42;\n break;\n case 30:\n this.popState();\n this.pushState(\"STYLEDEF_STYLES\");\n return 43;\n break;\n case 31:\n this.popState();\n return 44;\n break;\n case 32:\n this.pushState(\"SCALE\");\n return 17;\n break;\n case 33:\n return 18;\n break;\n case 34:\n this.popState();\n break;\n case 35:\n this.pushState(\"STATE\");\n break;\n case 36:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 25;\n break;\n case 37:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 26;\n break;\n case 38:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -10).trim();\n return 27;\n break;\n case 39:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 25;\n break;\n case 40:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 26;\n break;\n case 41:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -10).trim();\n return 27;\n break;\n case 42:\n return 48;\n break;\n case 43:\n return 49;\n break;\n case 44:\n return 50;\n break;\n case 45:\n return 51;\n break;\n case 46:\n this.pushState(\"STATE_STRING\");\n break;\n case 47:\n this.pushState(\"STATE_ID\");\n return \"AS\";\n break;\n case 48:\n this.popState();\n return \"ID\";\n break;\n case 49:\n this.popState();\n break;\n case 50:\n return \"STATE_DESCR\";\n break;\n case 51:\n return 19;\n break;\n case 52:\n this.popState();\n break;\n case 53:\n this.popState();\n this.pushState(\"struct\");\n return 20;\n break;\n case 54:\n break;\n case 55:\n this.popState();\n return 21;\n break;\n case 56:\n break;\n case 57:\n this.begin(\"NOTE\");\n return 29;\n break;\n case 58:\n this.popState();\n this.pushState(\"NOTE_ID\");\n return 56;\n break;\n case 59:\n this.popState();\n this.pushState(\"NOTE_ID\");\n return 57;\n break;\n case 60:\n this.popState();\n this.pushState(\"FLOATING_NOTE\");\n break;\n case 61:\n this.popState();\n this.pushState(\"FLOATING_NOTE_ID\");\n return \"AS\";\n break;\n case 62:\n break;\n case 63:\n return \"NOTE_TEXT\";\n break;\n case 64:\n this.popState();\n return \"ID\";\n break;\n case 65:\n this.popState();\n this.pushState(\"NOTE_TEXT\");\n return 24;\n break;\n case 66:\n this.popState();\n yy_.yytext = yy_.yytext.substr(2).trim();\n return 31;\n break;\n case 67:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 31;\n break;\n case 68:\n return 6;\n break;\n case 69:\n return 6;\n break;\n case 70:\n return 16;\n break;\n case 71:\n return 54;\n break;\n case 72:\n return 24;\n break;\n case 73:\n yy_.yytext = yy_.yytext.trim();\n return 14;\n break;\n case 74:\n return 15;\n break;\n case 75:\n return 28;\n break;\n case 76:\n return 55;\n break;\n case 77:\n return 5;\n break;\n case 78:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:default\\b)/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:[\\s]+)/i, /^(?:((?!\\n)\\s)+)/i, /^(?:#[^\\n]*)/i, /^(?:%[^\\n]*)/i, /^(?:scale\\s+)/i, /^(?:\\d+)/i, /^(?:\\s+width\\b)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:classDef\\s+)/i, /^(?:DEFAULT\\s+)/i, /^(?:\\w+\\s+)/i, /^(?:[^\\n]*)/i, /^(?:class\\s+)/i, /^(?:(\\w+)+((,\\s*\\w+)*))/i, /^(?:[^\\n]*)/i, /^(?:style\\s+)/i, /^(?:[\\w,]+\\s+)/i, /^(?:[^\\n]*)/i, /^(?:scale\\s+)/i, /^(?:\\d+)/i, /^(?:\\s+width\\b)/i, /^(?:state\\s+)/i, /^(?:.*<<fork>>)/i, /^(?:.*<<join>>)/i, /^(?:.*<<choice>>)/i, /^(?:.*\\[\\[fork\\]\\])/i, /^(?:.*\\[\\[join\\]\\])/i, /^(?:.*\\[\\[choice\\]\\])/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:[\"])/i, /^(?:\\s*as\\s+)/i, /^(?:[^\\n\\{]*)/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[^\\n\\s\\{]+)/i, /^(?:\\n)/i, /^(?:\\{)/i, /^(?:%%(?!\\{)[^\\n]*)/i, /^(?:\\})/i, /^(?:[\\n])/i, /^(?:note\\s+)/i, /^(?:left of\\b)/i, /^(?:right of\\b)/i, /^(?:\")/i, /^(?:\\s*as\\s*)/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[^\\n]*)/i, /^(?:\\s*[^:\\n\\s\\-]+)/i, /^(?:\\s*:[^:\\n;]+)/i, /^(?:[\\s\\S]*?end note\\b)/i, /^(?:stateDiagram\\s+)/i, /^(?:stateDiagram-v2\\s+)/i, /^(?:hide empty description\\b)/i, /^(?:\\[\\*\\])/i, /^(?:[^:\\n\\s\\-\\{]+)/i, /^(?:\\s*:[^:\\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?::::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"LINE\": { \"rules\": [9, 10], \"inclusive\": false }, \"struct\": { \"rules\": [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75], \"inclusive\": false }, \"FLOATING_NOTE_ID\": { \"rules\": [64], \"inclusive\": false }, \"FLOATING_NOTE\": { \"rules\": [61, 62, 63], \"inclusive\": false }, \"NOTE_TEXT\": { \"rules\": [66, 67], \"inclusive\": false }, \"NOTE_ID\": { \"rules\": [65], \"inclusive\": false }, \"NOTE\": { \"rules\": [58, 59, 60], \"inclusive\": false }, \"STYLEDEF_STYLEOPTS\": { \"rules\": [], \"inclusive\": false }, \"STYLEDEF_STYLES\": { \"rules\": [31], \"inclusive\": false }, \"STYLE_IDS\": { \"rules\": [], \"inclusive\": false }, \"STYLE\": { \"rules\": [30], \"inclusive\": false }, \"CLASS_STYLE\": { \"rules\": [28], \"inclusive\": false }, \"CLASS\": { \"rules\": [27], \"inclusive\": false }, \"CLASSDEFID\": { \"rules\": [25], \"inclusive\": false }, \"CLASSDEF\": { \"rules\": [23, 24], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [20, 21], \"inclusive\": false }, \"acc_descr\": { \"rules\": [18], \"inclusive\": false }, \"acc_title\": { \"rules\": [16], \"inclusive\": false }, \"SCALE\": { \"rules\": [13, 14, 33, 34], \"inclusive\": false }, \"ALIAS\": { \"rules\": [], \"inclusive\": false }, \"STATE_ID\": { \"rules\": [48], \"inclusive\": false }, \"STATE_STRING\": { \"rules\": [49, 50], \"inclusive\": false }, \"FORK_STATE\": { \"rules\": [], \"inclusive\": false }, \"STATE\": { \"rules\": [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53], \"inclusive\": false }, \"ID\": { \"rules\": [9, 10], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar stateDiagram_default = parser;\n\n// src/diagrams/state/stateCommon.ts\nvar DEFAULT_DIAGRAM_DIRECTION = \"TB\";\nvar DEFAULT_NESTED_DOC_DIR = \"TB\";\nvar STMT_DIRECTION = \"dir\";\nvar STMT_STATE = \"state\";\nvar STMT_RELATION = \"relation\";\nvar STMT_CLASSDEF = \"classDef\";\nvar STMT_STYLEDEF = \"style\";\nvar STMT_APPLYCLASS = \"applyClass\";\nvar DEFAULT_STATE_TYPE = \"default\";\nvar DIVIDER_TYPE = \"divider\";\nvar G_EDGE_STYLE = \"fill:none\";\nvar G_EDGE_ARROWHEADSTYLE = \"fill: #333\";\nvar G_EDGE_LABELPOS = \"c\";\nvar G_EDGE_LABELTYPE = \"text\";\nvar G_EDGE_THICKNESS = \"normal\";\nvar SHAPE_STATE = \"rect\";\nvar SHAPE_STATE_WITH_DESC = \"rectWithTitle\";\nvar SHAPE_START = \"stateStart\";\nvar SHAPE_END = \"stateEnd\";\nvar SHAPE_DIVIDER = \"divider\";\nvar SHAPE_GROUP = \"roundedWithTitle\";\nvar SHAPE_NOTE = \"note\";\nvar SHAPE_NOTEGROUP = \"noteGroup\";\nvar CSS_DIAGRAM = \"statediagram\";\nvar CSS_STATE = \"state\";\nvar CSS_DIAGRAM_STATE = `${CSS_DIAGRAM}-${CSS_STATE}`;\nvar CSS_EDGE = \"transition\";\nvar CSS_NOTE = \"note\";\nvar CSS_NOTE_EDGE = \"note-edge\";\nvar CSS_EDGE_NOTE_EDGE = `${CSS_EDGE} ${CSS_NOTE_EDGE}`;\nvar CSS_DIAGRAM_NOTE = `${CSS_DIAGRAM}-${CSS_NOTE}`;\nvar CSS_CLUSTER = \"cluster\";\nvar CSS_DIAGRAM_CLUSTER = `${CSS_DIAGRAM}-${CSS_CLUSTER}`;\nvar CSS_CLUSTER_ALT = \"cluster-alt\";\nvar CSS_DIAGRAM_CLUSTER_ALT = `${CSS_DIAGRAM}-${CSS_CLUSTER_ALT}`;\nvar PARENT = \"parent\";\nvar NOTE = \"note\";\nvar DOMID_STATE = \"state\";\nvar DOMID_TYPE_SPACER = \"----\";\nvar NOTE_ID = `${DOMID_TYPE_SPACER}${NOTE}`;\nvar PARENT_ID = `${DOMID_TYPE_SPACER}${PARENT}`;\n\n// src/diagrams/state/stateRenderer-v3-unified.ts\nvar getDir = /* @__PURE__ */ __name((parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {\n if (!parsedItem.doc) {\n return defaultDir;\n }\n let dir = defaultDir;\n for (const parsedItemDoc of parsedItem.doc) {\n if (parsedItemDoc.stmt === \"dir\") {\n dir = parsedItemDoc.value;\n }\n }\n return dir;\n}, \"getDir\");\nvar getClasses = /* @__PURE__ */ __name(function(text, diagramObj) {\n return diagramObj.db.getClasses();\n}, \"getClasses\");\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {\n log.info(\"REF0:\");\n log.info(\"Drawing state diagram (v2)\", id);\n const { securityLevel, state: conf, layout } = getConfig();\n diag.db.extract(diag.db.getRootDocV2());\n const data4Layout = diag.db.getData();\n const svg = getDiagramElement(id, securityLevel);\n data4Layout.type = diag.type;\n data4Layout.layoutAlgorithm = layout;\n data4Layout.nodeSpacing = conf?.nodeSpacing || 50;\n data4Layout.rankSpacing = conf?.rankSpacing || 50;\n data4Layout.markers = [\"barb\"];\n data4Layout.diagramId = id;\n await render(data4Layout, svg);\n const padding = 8;\n utils_default.insertTitle(\n svg,\n \"statediagramTitleText\",\n conf?.titleTopMargin ?? 25,\n diag.db.getDiagramTitle()\n );\n setupViewPortForSVG(svg, padding, CSS_DIAGRAM, conf?.useMaxWidth ?? true);\n}, \"draw\");\nvar stateRenderer_v3_unified_default = {\n getClasses,\n draw,\n getDir\n};\n\n// src/diagrams/state/dataFetcher.js\nvar nodeDb = /* @__PURE__ */ new Map();\nvar graphItemCount = 0;\nfunction stateDomId(itemId = \"\", counter = 0, type = \"\", typeSpacer = DOMID_TYPE_SPACER) {\n const typeStr = type !== null && type.length > 0 ? `${typeSpacer}${type}` : \"\";\n return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;\n}\n__name(stateDomId, \"stateDomId\");\nvar setupDoc = /* @__PURE__ */ __name((parentParsedItem, doc, diagramStates, nodes, edges, altFlag, look, classes) => {\n log.trace(\"items\", doc);\n doc.forEach((item) => {\n switch (item.stmt) {\n case STMT_STATE:\n dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, look, classes);\n break;\n case DEFAULT_STATE_TYPE:\n dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, look, classes);\n break;\n case STMT_RELATION:\n {\n dataFetcher(\n parentParsedItem,\n item.state1,\n diagramStates,\n nodes,\n edges,\n altFlag,\n look,\n classes\n );\n dataFetcher(\n parentParsedItem,\n item.state2,\n diagramStates,\n nodes,\n edges,\n altFlag,\n look,\n classes\n );\n const edgeData = {\n id: \"edge\" + graphItemCount,\n start: item.state1.id,\n end: item.state2.id,\n arrowhead: \"normal\",\n arrowTypeEnd: \"arrow_barb\",\n style: G_EDGE_STYLE,\n labelStyle: \"\",\n label: common_default.sanitizeText(item.description, getConfig()),\n arrowheadStyle: G_EDGE_ARROWHEADSTYLE,\n labelpos: G_EDGE_LABELPOS,\n labelType: G_EDGE_LABELTYPE,\n thickness: G_EDGE_THICKNESS,\n classes: CSS_EDGE,\n look\n };\n edges.push(edgeData);\n graphItemCount++;\n }\n break;\n }\n });\n}, \"setupDoc\");\nvar getDir2 = /* @__PURE__ */ __name((parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {\n let dir = defaultDir;\n if (parsedItem.doc) {\n for (const parsedItemDoc of parsedItem.doc) {\n if (parsedItemDoc.stmt === \"dir\") {\n dir = parsedItemDoc.value;\n }\n }\n }\n return dir;\n}, \"getDir\");\nfunction insertOrUpdateNode(nodes, nodeData, classes) {\n if (!nodeData.id || nodeData.id === \"</join></fork>\" || nodeData.id === \"</choice>\") {\n return;\n }\n if (nodeData.cssClasses) {\n if (!Array.isArray(nodeData.cssCompiledStyles)) {\n nodeData.cssCompiledStyles = [];\n }\n nodeData.cssClasses.split(\" \").forEach((cssClass) => {\n if (classes.get(cssClass)) {\n const classDef = classes.get(cssClass);\n nodeData.cssCompiledStyles = [...nodeData.cssCompiledStyles, ...classDef.styles];\n }\n });\n }\n const existingNodeData = nodes.find((node) => node.id === nodeData.id);\n if (existingNodeData) {\n Object.assign(existingNodeData, nodeData);\n } else {\n nodes.push(nodeData);\n }\n}\n__name(insertOrUpdateNode, \"insertOrUpdateNode\");\nfunction getClassesFromDbInfo(dbInfoItem) {\n return dbInfoItem?.classes?.join(\" \") ?? \"\";\n}\n__name(getClassesFromDbInfo, \"getClassesFromDbInfo\");\nfunction getStylesFromDbInfo(dbInfoItem) {\n return dbInfoItem?.styles ?? [];\n}\n__name(getStylesFromDbInfo, \"getStylesFromDbInfo\");\nvar dataFetcher = /* @__PURE__ */ __name((parent, parsedItem, diagramStates, nodes, edges, altFlag, look, classes) => {\n const itemId = parsedItem.id;\n const dbState = diagramStates.get(itemId);\n const classStr = getClassesFromDbInfo(dbState);\n const style = getStylesFromDbInfo(dbState);\n log.info(\"dataFetcher parsedItem\", parsedItem, dbState, style);\n if (itemId !== \"root\") {\n let shape = SHAPE_STATE;\n if (parsedItem.start === true) {\n shape = SHAPE_START;\n } else if (parsedItem.start === false) {\n shape = SHAPE_END;\n }\n if (parsedItem.type !== DEFAULT_STATE_TYPE) {\n shape = parsedItem.type;\n }\n if (!nodeDb.get(itemId)) {\n nodeDb.set(itemId, {\n id: itemId,\n shape,\n description: common_default.sanitizeText(itemId, getConfig()),\n cssClasses: `${classStr} ${CSS_DIAGRAM_STATE}`,\n cssStyles: style\n });\n }\n const newNode = nodeDb.get(itemId);\n if (parsedItem.description) {\n if (Array.isArray(newNode.description)) {\n newNode.shape = SHAPE_STATE_WITH_DESC;\n newNode.description.push(parsedItem.description);\n } else {\n if (newNode.description?.length > 0) {\n newNode.shape = SHAPE_STATE_WITH_DESC;\n if (newNode.description === itemId) {\n newNode.description = [parsedItem.description];\n } else {\n newNode.description = [newNode.description, parsedItem.description];\n }\n } else {\n newNode.shape = SHAPE_STATE;\n newNode.description = parsedItem.description;\n }\n }\n newNode.description = common_default.sanitizeTextOrArray(newNode.description, getConfig());\n }\n if (newNode.description?.length === 1 && newNode.shape === SHAPE_STATE_WITH_DESC) {\n if (newNode.type === \"group\") {\n newNode.shape = SHAPE_GROUP;\n } else {\n newNode.shape = SHAPE_STATE;\n }\n }\n if (!newNode.type && parsedItem.doc) {\n log.info(\"Setting cluster for XCX\", itemId, getDir2(parsedItem));\n newNode.type = \"group\";\n newNode.isGroup = true;\n newNode.dir = getDir2(parsedItem);\n newNode.shape = parsedItem.type === DIVIDER_TYPE ? SHAPE_DIVIDER : SHAPE_GROUP;\n newNode.cssClasses = `${newNode.cssClasses} ${CSS_DIAGRAM_CLUSTER} ${altFlag ? CSS_DIAGRAM_CLUSTER_ALT : \"\"}`;\n }\n const nodeData = {\n labelStyle: \"\",\n shape: newNode.shape,\n label: newNode.description,\n cssClasses: newNode.cssClasses,\n cssCompiledStyles: [],\n cssStyles: newNode.cssStyles,\n id: itemId,\n dir: newNode.dir,\n domId: stateDomId(itemId, graphItemCount),\n type: newNode.type,\n isGroup: newNode.type === \"group\",\n padding: 8,\n rx: 10,\n ry: 10,\n look\n };\n if (nodeData.shape === SHAPE_DIVIDER) {\n nodeData.label = \"\";\n }\n if (parent && parent.id !== \"root\") {\n log.trace(\"Setting node \", itemId, \" to be child of its parent \", parent.id);\n nodeData.parentId = parent.id;\n }\n nodeData.centerLabel = true;\n if (parsedItem.note) {\n const noteData = {\n labelStyle: \"\",\n shape: SHAPE_NOTE,\n label: parsedItem.note.text,\n cssClasses: CSS_DIAGRAM_NOTE,\n // useHtmlLabels: false,\n cssStyles: [],\n cssCompilesStyles: [],\n id: itemId + NOTE_ID + \"-\" + graphItemCount,\n domId: stateDomId(itemId, graphItemCount, NOTE),\n type: newNode.type,\n isGroup: newNode.type === \"group\",\n padding: getConfig().flowchart.padding,\n look,\n position: parsedItem.note.position\n };\n const parentNodeId = itemId + PARENT_ID;\n const groupData = {\n labelStyle: \"\",\n shape: SHAPE_NOTEGROUP,\n label: parsedItem.note.text,\n cssClasses: newNode.cssClasses,\n cssStyles: [],\n id: itemId + PARENT_ID,\n domId: stateDomId(itemId, graphItemCount, PARENT),\n type: \"group\",\n isGroup: true,\n padding: 16,\n //getConfig().flowchart.padding\n look,\n position: parsedItem.note.position\n };\n graphItemCount++;\n groupData.id = parentNodeId;\n noteData.parentId = parentNodeId;\n insertOrUpdateNode(nodes, groupData, classes);\n insertOrUpdateNode(nodes, noteData, classes);\n insertOrUpdateNode(nodes, nodeData, classes);\n let from = itemId;\n let to = noteData.id;\n if (parsedItem.note.position === \"left of\") {\n from = noteData.id;\n to = itemId;\n }\n edges.push({\n id: from + \"-\" + to,\n start: from,\n end: to,\n arrowhead: \"none\",\n arrowTypeEnd: \"\",\n style: G_EDGE_STYLE,\n labelStyle: \"\",\n classes: CSS_EDGE_NOTE_EDGE,\n arrowheadStyle: G_EDGE_ARROWHEADSTYLE,\n labelpos: G_EDGE_LABELPOS,\n labelType: G_EDGE_LABELTYPE,\n thickness: G_EDGE_THICKNESS,\n look\n });\n } else {\n insertOrUpdateNode(nodes, nodeData, classes);\n }\n }\n if (parsedItem.doc) {\n log.trace(\"Adding nodes children \");\n setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, look, classes);\n }\n}, \"dataFetcher\");\nvar reset = /* @__PURE__ */ __name(() => {\n nodeDb.clear();\n graphItemCount = 0;\n}, \"reset\");\n\n// src/diagrams/state/stateDb.js\nvar START_NODE = \"[*]\";\nvar START_TYPE = \"start\";\nvar END_NODE = START_NODE;\nvar END_TYPE = \"end\";\nvar COLOR_KEYWORD = \"color\";\nvar FILL_KEYWORD = \"fill\";\nvar BG_FILL = \"bgFill\";\nvar STYLECLASS_SEP = \",\";\nfunction newClassesList() {\n return /* @__PURE__ */ new Map();\n}\n__name(newClassesList, \"newClassesList\");\nvar newDoc = /* @__PURE__ */ __name(() => {\n return {\n /** @type {{ id1: string, id2: string, relationTitle: string }[]} */\n relations: [],\n states: /* @__PURE__ */ new Map(),\n documents: {}\n };\n}, \"newDoc\");\nvar clone = /* @__PURE__ */ __name((o) => JSON.parse(JSON.stringify(o)), \"clone\");\nvar StateDB = class {\n static {\n __name(this, \"StateDB\");\n }\n /**\n * @param {1 | 2} version - v1 renderer or v2 renderer.\n */\n constructor(version) {\n this.clear();\n this.version = version;\n this.setRootDoc = this.setRootDoc.bind(this);\n this.getDividerId = this.getDividerId.bind(this);\n this.setDirection = this.setDirection.bind(this);\n this.trimColon = this.trimColon.bind(this);\n }\n /**\n * @private\n * @type {1 | 2}\n */\n version;\n /**\n * @private\n * @type {Array}\n */\n nodes = [];\n /**\n * @private\n * @type {Array}\n */\n edges = [];\n /**\n * @private\n * @type {Array}\n */\n rootDoc = [];\n /**\n * @private\n * @type {Map<string, any>}\n */\n classes = newClassesList();\n // style classes defined by a classDef\n /**\n * @private\n * @type {Object}\n */\n documents = {\n root: newDoc()\n };\n /**\n * @private\n * @type {Object}\n */\n currentDocument = this.documents.root;\n /**\n * @private\n * @type {number}\n */\n startEndCount = 0;\n /**\n * @private\n * @type {number}\n */\n dividerCnt = 0;\n static relationType = {\n AGGREGATION: 0,\n EXTENSION: 1,\n COMPOSITION: 2,\n DEPENDENCY: 3\n };\n setRootDoc(o) {\n log.info(\"Setting root doc\", o);\n this.rootDoc = o;\n if (this.version === 1) {\n this.extract(o);\n } else {\n this.extract(this.getRootDocV2());\n }\n }\n getRootDoc() {\n return this.rootDoc;\n }\n /**\n * @private\n * @param {Object} parent\n * @param {Object} node\n * @param {boolean} first\n */\n docTranslator(parent, node, first) {\n if (node.stmt === STMT_RELATION) {\n this.docTranslator(parent, node.state1, true);\n this.docTranslator(parent, node.state2, false);\n } else {\n if (node.stmt === STMT_STATE) {\n if (node.id === \"[*]\") {\n node.id = first ? parent.id + \"_start\" : parent.id + \"_end\";\n node.start = first;\n } else {\n node.id = node.id.trim();\n }\n }\n if (node.doc) {\n const doc = [];\n let currentDoc = [];\n let i;\n for (i = 0; i < node.doc.length; i++) {\n if (node.doc[i].type === DIVIDER_TYPE) {\n const newNode = clone(node.doc[i]);\n newNode.doc = clone(currentDoc);\n doc.push(newNode);\n currentDoc = [];\n } else {\n currentDoc.push(node.doc[i]);\n }\n }\n if (doc.length > 0 && currentDoc.length > 0) {\n const newNode = {\n stmt: STMT_STATE,\n id: generateId(),\n type: \"divider\",\n doc: clone(currentDoc)\n };\n doc.push(clone(newNode));\n node.doc = doc;\n }\n node.doc.forEach((docNode) => this.docTranslator(node, docNode, true));\n }\n }\n }\n /**\n * @private\n */\n getRootDocV2() {\n this.docTranslator({ id: \"root\" }, { id: \"root\", doc: this.rootDoc }, true);\n return { id: \"root\", doc: this.rootDoc };\n }\n /**\n * Convert all of the statements (stmts) that were parsed into states and relationships.\n * This is done because a state diagram may have nested sections,\n * where each section is a 'document' and has its own set of statements.\n * Ex: the section within a fork has its own statements, and incoming and outgoing statements\n * refer to the fork as a whole (document).\n * See the parser grammar: the definition of a document is a document then a 'line', where a line can be a statement.\n * This will push the statement into the list of statements for the current document.\n * @private\n * @param _doc\n */\n extract(_doc) {\n let doc;\n if (_doc.doc) {\n doc = _doc.doc;\n } else {\n doc = _doc;\n }\n log.info(doc);\n this.clear(true);\n log.info(\"Extract initial document:\", doc);\n doc.forEach((item) => {\n log.warn(\"Statement\", item.stmt);\n switch (item.stmt) {\n case STMT_STATE:\n this.addState(\n item.id.trim(),\n item.type,\n item.doc,\n item.description,\n item.note,\n item.classes,\n item.styles,\n item.textStyles\n );\n break;\n case STMT_RELATION:\n this.addRelation(item.state1, item.state2, item.description);\n break;\n case STMT_CLASSDEF:\n this.addStyleClass(item.id.trim(), item.classes);\n break;\n case STMT_STYLEDEF:\n {\n const ids = item.id.trim().split(\",\");\n const styles = item.styleClass.split(\",\");\n ids.forEach((id) => {\n let foundState = this.getState(id);\n if (foundState === void 0) {\n const trimmedId = id.trim();\n this.addState(trimmedId);\n foundState = this.getState(trimmedId);\n }\n foundState.styles = styles.map((s) => s.replace(/;/g, \"\")?.trim());\n });\n }\n break;\n case STMT_APPLYCLASS:\n this.setCssClass(item.id.trim(), item.styleClass);\n break;\n }\n });\n const diagramStates = this.getStates();\n const config = getConfig();\n const look = config.look;\n reset();\n dataFetcher(\n void 0,\n this.getRootDocV2(),\n diagramStates,\n this.nodes,\n this.edges,\n true,\n look,\n this.classes\n );\n this.nodes.forEach((node) => {\n if (Array.isArray(node.label)) {\n node.description = node.label.slice(1);\n if (node.isGroup && node.description.length > 0) {\n throw new Error(\n \"Group nodes can only have label. Remove the additional description for node [\" + node.id + \"]\"\n );\n }\n node.label = node.label[0];\n }\n });\n }\n /**\n * Function called by parser when a node definition has been found.\n *\n * @param {null | string} id\n * @param {null | string} type\n * @param {null | string} doc\n * @param {null | string | string[]} descr - description for the state. Can be a string or a list or strings\n * @param {null | string} note\n * @param {null | string | string[]} classes - class styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 class, convert it to an array of that 1 class.\n * @param {null | string | string[]} styles - styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 style, convert it to an array of that 1 style.\n * @param {null | string | string[]} textStyles - text styles to apply to this state. Can be a string (1 text test) or an array of text styles. If it's just 1 text style, convert it to an array of that 1 text style.\n */\n addState(id, type = DEFAULT_STATE_TYPE, doc = null, descr = null, note = null, classes = null, styles = null, textStyles = null) {\n const trimmedId = id?.trim();\n if (!this.currentDocument.states.has(trimmedId)) {\n log.info(\"Adding state \", trimmedId, descr);\n this.currentDocument.states.set(trimmedId, {\n id: trimmedId,\n descriptions: [],\n type,\n doc,\n note,\n classes: [],\n styles: [],\n textStyles: []\n });\n } else {\n if (!this.currentDocument.states.get(trimmedId).doc) {\n this.currentDocument.states.get(trimmedId).doc = doc;\n }\n if (!this.currentDocument.states.get(trimmedId).type) {\n this.currentDocument.states.get(trimmedId).type = type;\n }\n }\n if (descr) {\n log.info(\"Setting state description\", trimmedId, descr);\n if (typeof descr === \"string\") {\n this.addDescription(trimmedId, descr.trim());\n }\n if (typeof descr === \"object\") {\n descr.forEach((des) => this.addDescription(trimmedId, des.trim()));\n }\n }\n if (note) {\n const doc2 = this.currentDocument.states.get(trimmedId);\n doc2.note = note;\n doc2.note.text = common_default.sanitizeText(doc2.note.text, getConfig());\n }\n if (classes) {\n log.info(\"Setting state classes\", trimmedId, classes);\n const classesList = typeof classes === \"string\" ? [classes] : classes;\n classesList.forEach((cssClass) => this.setCssClass(trimmedId, cssClass.trim()));\n }\n if (styles) {\n log.info(\"Setting state styles\", trimmedId, styles);\n const stylesList = typeof styles === \"string\" ? [styles] : styles;\n stylesList.forEach((style) => this.setStyle(trimmedId, style.trim()));\n }\n if (textStyles) {\n log.info(\"Setting state styles\", trimmedId, styles);\n const textStylesList = typeof textStyles === \"string\" ? [textStyles] : textStyles;\n textStylesList.forEach((textStyle) => this.setTextStyle(trimmedId, textStyle.trim()));\n }\n }\n clear(saveCommon) {\n this.nodes = [];\n this.edges = [];\n this.documents = {\n root: newDoc()\n };\n this.currentDocument = this.documents.root;\n this.startEndCount = 0;\n this.classes = newClassesList();\n if (!saveCommon) {\n clear();\n }\n }\n getState(id) {\n return this.currentDocument.states.get(id);\n }\n getStates() {\n return this.currentDocument.states;\n }\n logDocuments() {\n log.info(\"Documents = \", this.documents);\n }\n getRelations() {\n return this.currentDocument.relations;\n }\n /**\n * If the id is a start node ( [*] ), then return a new id constructed from\n * the start node name and the current start node count.\n * else return the given id\n *\n * @param {string} id\n * @returns {string} - the id (original or constructed)\n * @private\n */\n startIdIfNeeded(id = \"\") {\n let fixedId = id;\n if (id === START_NODE) {\n this.startEndCount++;\n fixedId = `${START_TYPE}${this.startEndCount}`;\n }\n return fixedId;\n }\n /**\n * If the id is a start node ( [*] ), then return the start type ('start')\n * else return the given type\n *\n * @param {string} id\n * @param {string} type\n * @returns {string} - the type that should be used\n * @private\n */\n startTypeIfNeeded(id = \"\", type = DEFAULT_STATE_TYPE) {\n return id === START_NODE ? START_TYPE : type;\n }\n /**\n * If the id is an end node ( [*] ), then return a new id constructed from\n * the end node name and the current start_end node count.\n * else return the given id\n *\n * @param {string} id\n * @returns {string} - the id (original or constructed)\n * @private\n */\n endIdIfNeeded(id = \"\") {\n let fixedId = id;\n if (id === END_NODE) {\n this.startEndCount++;\n fixedId = `${END_TYPE}${this.startEndCount}`;\n }\n return fixedId;\n }\n /**\n * If the id is an end node ( [*] ), then return the end type\n * else return the given type\n *\n * @param {string} id\n * @param {string} type\n * @returns {string} - the type that should be used\n * @private\n */\n endTypeIfNeeded(id = \"\", type = DEFAULT_STATE_TYPE) {\n return id === END_NODE ? END_TYPE : type;\n }\n /**\n *\n * @param item1\n * @param item2\n * @param relationTitle\n */\n addRelationObjs(item1, item2, relationTitle) {\n let id1 = this.startIdIfNeeded(item1.id.trim());\n let type1 = this.startTypeIfNeeded(item1.id.trim(), item1.type);\n let id2 = this.startIdIfNeeded(item2.id.trim());\n let type2 = this.startTypeIfNeeded(item2.id.trim(), item2.type);\n this.addState(\n id1,\n type1,\n item1.doc,\n item1.description,\n item1.note,\n item1.classes,\n item1.styles,\n item1.textStyles\n );\n this.addState(\n id2,\n type2,\n item2.doc,\n item2.description,\n item2.note,\n item2.classes,\n item2.styles,\n item2.textStyles\n );\n this.currentDocument.relations.push({\n id1,\n id2,\n relationTitle: common_default.sanitizeText(relationTitle, getConfig())\n });\n }\n /**\n * Add a relation between two items. The items may be full objects or just the string id of a state.\n *\n * @param {string | object} item1\n * @param {string | object} item2\n * @param {string} title\n */\n addRelation(item1, item2, title) {\n if (typeof item1 === \"object\") {\n this.addRelationObjs(item1, item2, title);\n } else {\n const id1 = this.startIdIfNeeded(item1.trim());\n const type1 = this.startTypeIfNeeded(item1);\n const id2 = this.endIdIfNeeded(item2.trim());\n const type2 = this.endTypeIfNeeded(item2);\n this.addState(id1, type1);\n this.addState(id2, type2);\n this.currentDocument.relations.push({\n id1,\n id2,\n title: common_default.sanitizeText(title, getConfig())\n });\n }\n }\n addDescription(id, descr) {\n const theState = this.currentDocument.states.get(id);\n const _descr = descr.startsWith(\":\") ? descr.replace(\":\", \"\").trim() : descr;\n theState.descriptions.push(common_default.sanitizeText(_descr, getConfig()));\n }\n cleanupLabel(label) {\n if (label.substring(0, 1) === \":\") {\n return label.substr(2).trim();\n } else {\n return label.trim();\n }\n }\n getDividerId() {\n this.dividerCnt++;\n return \"divider-id-\" + this.dividerCnt;\n }\n /**\n * Called when the parser comes across a (style) class definition\n * @example classDef my-style fill:#f96;\n *\n * @param {string} id - the id of this (style) class\n * @param {string | null} styleAttributes - the string with 1 or more style attributes (each separated by a comma)\n */\n addStyleClass(id, styleAttributes = \"\") {\n if (!this.classes.has(id)) {\n this.classes.set(id, { id, styles: [], textStyles: [] });\n }\n const foundClass = this.classes.get(id);\n if (styleAttributes !== void 0 && styleAttributes !== null) {\n styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {\n const fixedAttrib = attrib.replace(/([^;]*);/, \"$1\").trim();\n if (RegExp(COLOR_KEYWORD).exec(attrib)) {\n const newStyle1 = fixedAttrib.replace(FILL_KEYWORD, BG_FILL);\n const newStyle2 = newStyle1.replace(COLOR_KEYWORD, FILL_KEYWORD);\n foundClass.textStyles.push(newStyle2);\n }\n foundClass.styles.push(fixedAttrib);\n });\n }\n }\n /**\n * Return all of the style classes\n * @returns {{} | any | classes}\n */\n getClasses() {\n return this.classes;\n }\n /**\n * Add a (style) class or css class to a state with the given id.\n * If the state isn't already in the list of known states, add it.\n * Might be called by parser when a style class or CSS class should be applied to a state\n *\n * @param {string | string[]} itemIds The id or a list of ids of the item(s) to apply the css class to\n * @param {string} cssClassName CSS class name\n */\n setCssClass(itemIds, cssClassName) {\n itemIds.split(\",\").forEach((id) => {\n let foundState = this.getState(id);\n if (foundState === void 0) {\n const trimmedId = id.trim();\n this.addState(trimmedId);\n foundState = this.getState(trimmedId);\n }\n foundState.classes.push(cssClassName);\n });\n }\n /**\n * Add a style to a state with the given id.\n * @example style stateId fill:#f9f,stroke:#333,stroke-width:4px\n * where 'style' is the keyword\n * stateId is the id of a state\n * the rest of the string is the styleText (all of the attributes to be applied to the state)\n *\n * @param itemId The id of item to apply the style to\n * @param styleText - the text of the attributes for the style\n */\n setStyle(itemId, styleText) {\n const item = this.getState(itemId);\n if (item !== void 0) {\n item.styles.push(styleText);\n }\n }\n /**\n * Add a text style to a state with the given id\n *\n * @param itemId The id of item to apply the css class to\n * @param cssClassName CSS class name\n */\n setTextStyle(itemId, cssClassName) {\n const item = this.getState(itemId);\n if (item !== void 0) {\n item.textStyles.push(cssClassName);\n }\n }\n /**\n * Finds the direction statement in the root document.\n * @private\n * @returns {{ value: string } | undefined} - the direction statement if present\n */\n getDirectionStatement() {\n return this.rootDoc.find((doc) => doc.stmt === STMT_DIRECTION);\n }\n getDirection() {\n return this.getDirectionStatement()?.value ?? DEFAULT_DIAGRAM_DIRECTION;\n }\n setDirection(dir) {\n const doc = this.getDirectionStatement();\n if (doc) {\n doc.value = dir;\n } else {\n this.rootDoc.unshift({ stmt: STMT_DIRECTION, value: dir });\n }\n }\n trimColon(str) {\n return str && str[0] === \":\" ? str.substr(1).trim() : str.trim();\n }\n getData() {\n const config = getConfig();\n return {\n nodes: this.nodes,\n edges: this.edges,\n other: {},\n config,\n direction: getDir(this.getRootDocV2())\n };\n }\n getConfig() {\n return getConfig().state;\n }\n getAccTitle = getAccTitle;\n setAccTitle = setAccTitle;\n getAccDescription = getAccDescription;\n setAccDescription = setAccDescription;\n setDiagramTitle = setDiagramTitle;\n getDiagramTitle = getDiagramTitle;\n};\n\n// src/diagrams/state/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `\ndefs #statediagram-barbEnd {\n fill: ${options.transitionColor};\n stroke: ${options.transitionColor};\n }\ng.stateGroup text {\n fill: ${options.nodeBorder};\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ${options.textColor};\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ${options.stateLabelColor};\n}\n\ng.stateGroup rect {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n}\n\ng.stateGroup line {\n stroke: ${options.lineColor};\n stroke-width: 1;\n}\n\n.transition {\n stroke: ${options.transitionColor};\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ${options.background};\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ${options.noteBorderColor};\n fill: ${options.noteBkgColor};\n\n text {\n fill: ${options.noteTextColor};\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${options.mainBkg};\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ${options.labelBackgroundColor};\n opacity: 0.5;\n}\n.edgeLabel {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n}\n.edgeLabel .label text {\n fill: ${options.transitionLabelColor || options.tertiaryTextColor};\n}\n.label div .edgeLabel {\n color: ${options.transitionLabelColor || options.tertiaryTextColor};\n}\n\n.stateLabel text {\n fill: ${options.stateLabelColor};\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ${options.specialStateColor};\n stroke: ${options.specialStateColor};\n}\n\n.node .fork-join {\n fill: ${options.specialStateColor};\n stroke: ${options.specialStateColor};\n}\n\n.node circle.state-end {\n fill: ${options.innerEndBackground};\n stroke: ${options.background};\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ${options.compositeBackground || options.background};\n // stroke: ${options.background};\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ${options.stateBkg || options.mainBkg};\n stroke: ${options.stateBorder || options.nodeBorder};\n stroke-width: 1px;\n}\n.node polygon {\n fill: ${options.mainBkg};\n stroke: ${options.stateBorder || options.nodeBorder};;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ${options.lineColor};\n}\n\n.statediagram-cluster rect {\n fill: ${options.compositeTitleBackground};\n stroke: ${options.stateBorder || options.nodeBorder};\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ${options.stateLabelColor};\n // line-height: 1;\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ${options.stateBorder || options.nodeBorder};\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ${options.compositeBackground || options.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ${options.altBackground ? options.altBackground : \"#efefef\"};\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ${options.altBackground ? options.altBackground : \"#efefef\"};\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ${options.noteBkgColor};\n stroke: ${options.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ${options.noteBkgColor};\n stroke: ${options.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ${options.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n color: ${options.noteTextColor};\n}\n.statediagram .edgeLabel {\n color: red; // ${options.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n stroke-width: 1;\n}\n\n.statediagramTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n}\n`, \"getStyles\");\nvar styles_default = getStyles;\n\nexport {\n stateDiagram_default,\n stateRenderer_v3_unified_default,\n StateDB,\n styles_default\n};\n"],"names":["parser","o","__name","k","v","o2","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","$Vt","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","stateStmt","relDescription","id","description","parts","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","popStack","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","condition","yy_","$avoiding_name_collisions","YY_START","Parser","stateDiagram_default","DEFAULT_DIAGRAM_DIRECTION","DEFAULT_NESTED_DOC_DIR","STMT_DIRECTION","STMT_STATE","STMT_RELATION","STMT_CLASSDEF","STMT_STYLEDEF","STMT_APPLYCLASS","DEFAULT_STATE_TYPE","DIVIDER_TYPE","G_EDGE_STYLE","G_EDGE_ARROWHEADSTYLE","G_EDGE_LABELPOS","G_EDGE_LABELTYPE","G_EDGE_THICKNESS","SHAPE_STATE","SHAPE_STATE_WITH_DESC","SHAPE_START","SHAPE_END","SHAPE_DIVIDER","SHAPE_GROUP","SHAPE_NOTE","SHAPE_NOTEGROUP","CSS_DIAGRAM","CSS_STATE","CSS_DIAGRAM_STATE","CSS_EDGE","CSS_NOTE","CSS_NOTE_EDGE","CSS_EDGE_NOTE_EDGE","CSS_DIAGRAM_NOTE","CSS_CLUSTER","CSS_DIAGRAM_CLUSTER","CSS_CLUSTER_ALT","CSS_DIAGRAM_CLUSTER_ALT","PARENT","NOTE","DOMID_STATE","DOMID_TYPE_SPACER","NOTE_ID","PARENT_ID","getDir","parsedItem","defaultDir","dir","parsedItemDoc","getClasses","text","diagramObj","draw","_version","diag","log","securityLevel","conf","layout","getConfig","data4Layout","svg","getDiagramElement","render","padding","utils_default","setupViewPortForSVG","stateRenderer_v3_unified_default","nodeDb","graphItemCount","stateDomId","itemId","counter","type","typeSpacer","typeStr","setupDoc","parentParsedItem","doc","diagramStates","nodes","edges","altFlag","look","classes","item","dataFetcher","edgeData","common_default","getDir2","insertOrUpdateNode","nodeData","cssClass","classDef","existingNodeData","node","getClassesFromDbInfo","dbInfoItem","_a","getStylesFromDbInfo","parent","dbState","classStr","style","shape","newNode","_b","noteData","parentNodeId","groupData","from","to","reset","START_NODE","START_TYPE","END_NODE","END_TYPE","COLOR_KEYWORD","FILL_KEYWORD","BG_FILL","STYLECLASS_SEP","newClassesList","newDoc","clone","StateDB","version","__publicField","getAccTitle","setAccTitle","getAccDescription","setAccDescription","setDiagramTitle","getDiagramTitle","first","currentDoc","i","generateId","docNode","_doc","ids","styles","foundState","trimmedId","s","descr","note","textStyles","des","doc2","textStyle","saveCommon","clear","fixedId","item1","item2","relationTitle","id1","type1","id2","type2","title","theState","_descr","label","styleAttributes","foundClass","attrib","fixedAttrib","newStyle2","itemIds","cssClassName","styleText","config","getStyles","options","styles_default"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{_ as n,n as c,j as l}from"./mermaid.core-ZaxoMXOj.js";var o=n((a,t)=>{const e=a.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class&&e.attr("class",t.class),e},"drawRect"),d=n((a,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};o(a,e).lower()},"drawBackgroundRect"),g=n((a,t)=>{const e=t.text.replace(c," "),r=a.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class&&r.attr("class",t.class);const s=r.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),r},"drawText"),h=n((a,t,e,r)=>{const s=a.append("image");s.attr("x",t),s.attr("y",e);const i=l(r);s.attr("xlink:href",i)},"drawImage"),m=n((a,t,e,r)=>{const s=a.append("use");s.attr("x",t),s.attr("y",e);const i=l(r);s.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),y=n(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=n(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{d as a,p as b,m as c,o as d,h as e,g as f,y as g};
2
+ //# sourceMappingURL=chunk-D6G4REZN-EQ3R8OZx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-D6G4REZN-EQ3R8OZx.js","sources":["../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-D6G4REZN.mjs"],"sourcesContent":["import {\n __name,\n lineBreakRegex\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/common/svgDrawCommon.ts\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nvar drawRect = /* @__PURE__ */ __name((element, rectData) => {\n const rectElement = element.append(\"rect\");\n rectElement.attr(\"x\", rectData.x);\n rectElement.attr(\"y\", rectData.y);\n rectElement.attr(\"fill\", rectData.fill);\n rectElement.attr(\"stroke\", rectData.stroke);\n rectElement.attr(\"width\", rectData.width);\n rectElement.attr(\"height\", rectData.height);\n if (rectData.name) {\n rectElement.attr(\"name\", rectData.name);\n }\n if (rectData.rx) {\n rectElement.attr(\"rx\", rectData.rx);\n }\n if (rectData.ry) {\n rectElement.attr(\"ry\", rectData.ry);\n }\n if (rectData.attrs !== void 0) {\n for (const attrKey in rectData.attrs) {\n rectElement.attr(attrKey, rectData.attrs[attrKey]);\n }\n }\n if (rectData.class) {\n rectElement.attr(\"class\", rectData.class);\n }\n return rectElement;\n}, \"drawRect\");\nvar drawBackgroundRect = /* @__PURE__ */ __name((element, bounds) => {\n const rectData = {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n stroke: bounds.stroke,\n class: \"rect\"\n };\n const rectElement = drawRect(element, rectData);\n rectElement.lower();\n}, \"drawBackgroundRect\");\nvar drawText = /* @__PURE__ */ __name((element, textData) => {\n const nText = textData.text.replace(lineBreakRegex, \" \");\n const textElem = element.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class) {\n textElem.attr(\"class\", textData.class);\n }\n const tspan = textElem.append(\"tspan\");\n tspan.attr(\"x\", textData.x + textData.textMargin * 2);\n tspan.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawImage = /* @__PURE__ */ __name((elem, x, y, link) => {\n const imageElement = elem.append(\"image\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", sanitizedLink);\n}, \"drawImage\");\nvar drawEmbeddedImage = /* @__PURE__ */ __name((element, x, y, link) => {\n const imageElement = element.append(\"use\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", `#${sanitizedLink}`);\n}, \"drawEmbeddedImage\");\nvar getNoteRect = /* @__PURE__ */ __name(() => {\n const noteRectData = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n fill: \"#EDF2AE\",\n stroke: \"#666\",\n anchor: \"start\",\n rx: 0,\n ry: 0\n };\n return noteRectData;\n}, \"getNoteRect\");\nvar getTextObj = /* @__PURE__ */ __name(() => {\n const testObject = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n \"text-anchor\": \"start\",\n style: \"#666\",\n textMargin: 0,\n rx: 0,\n ry: 0,\n tspan: true\n };\n return testObject;\n}, \"getTextObj\");\n\nexport {\n drawRect,\n drawBackgroundRect,\n drawText,\n drawImage,\n drawEmbeddedImage,\n getNoteRect,\n getTextObj\n};\n"],"names":["drawRect","__name","element","rectData","rectElement","attrKey","drawBackgroundRect","bounds","drawText","textData","nText","lineBreakRegex","textElem","tspan","drawImage","elem","x","y","link","imageElement","sanitizedLink","sanitizeUrl","drawEmbeddedImage","getNoteRect","getTextObj"],"mappings":"6DAOG,IAACA,EAA2BC,EAAO,CAACC,EAASC,IAAa,CAC3D,MAAMC,EAAcF,EAAQ,OAAO,MAAM,EAgBzC,GAfAE,EAAY,KAAK,IAAKD,EAAS,CAAC,EAChCC,EAAY,KAAK,IAAKD,EAAS,CAAC,EAChCC,EAAY,KAAK,OAAQD,EAAS,IAAI,EACtCC,EAAY,KAAK,SAAUD,EAAS,MAAM,EAC1CC,EAAY,KAAK,QAASD,EAAS,KAAK,EACxCC,EAAY,KAAK,SAAUD,EAAS,MAAM,EACtCA,EAAS,MACXC,EAAY,KAAK,OAAQD,EAAS,IAAI,EAEpCA,EAAS,IACXC,EAAY,KAAK,KAAMD,EAAS,EAAE,EAEhCA,EAAS,IACXC,EAAY,KAAK,KAAMD,EAAS,EAAE,EAEhCA,EAAS,QAAU,OACrB,UAAWE,KAAWF,EAAS,MAC7BC,EAAY,KAAKC,EAASF,EAAS,MAAME,CAAO,CAAC,EAGrD,OAAIF,EAAS,OACXC,EAAY,KAAK,QAASD,EAAS,KAAK,EAEnCC,CACT,EAAG,UAAU,EACTE,EAAqCL,EAAO,CAACC,EAASK,IAAW,CACnE,MAAMJ,EAAW,CACf,EAAGI,EAAO,OACV,EAAGA,EAAO,OACV,MAAOA,EAAO,MAAQA,EAAO,OAC7B,OAAQA,EAAO,MAAQA,EAAO,OAC9B,KAAMA,EAAO,KACb,OAAQA,EAAO,OACf,MAAO,MACR,EACmBP,EAASE,EAASC,CAAQ,EAClC,MAAO,CACrB,EAAG,oBAAoB,EACnBK,EAA2BP,EAAO,CAACC,EAASO,IAAa,CAC3D,MAAMC,EAAQD,EAAS,KAAK,QAAQE,EAAgB,GAAG,EACjDC,EAAWV,EAAQ,OAAO,MAAM,EACtCU,EAAS,KAAK,IAAKH,EAAS,CAAC,EAC7BG,EAAS,KAAK,IAAKH,EAAS,CAAC,EAC7BG,EAAS,KAAK,QAAS,QAAQ,EAC/BA,EAAS,MAAM,cAAeH,EAAS,MAAM,EACzCA,EAAS,OACXG,EAAS,KAAK,QAASH,EAAS,KAAK,EAEvC,MAAMI,EAAQD,EAAS,OAAO,OAAO,EACrC,OAAAC,EAAM,KAAK,IAAKJ,EAAS,EAAIA,EAAS,WAAa,CAAC,EACpDI,EAAM,KAAKH,CAAK,EACTE,CACT,EAAG,UAAU,EACTE,EAA4Bb,EAAO,CAACc,EAAMC,EAAGC,EAAGC,IAAS,CAC3D,MAAMC,EAAeJ,EAAK,OAAO,OAAO,EACxCI,EAAa,KAAK,IAAKH,CAAC,EACxBG,EAAa,KAAK,IAAKF,CAAC,EACxB,MAAMG,EAAgBC,EAAYH,CAAI,EACtCC,EAAa,KAAK,aAAcC,CAAa,CAC/C,EAAG,WAAW,EACVE,EAAoCrB,EAAO,CAACC,EAASc,EAAGC,EAAGC,IAAS,CACtE,MAAMC,EAAejB,EAAQ,OAAO,KAAK,EACzCiB,EAAa,KAAK,IAAKH,CAAC,EACxBG,EAAa,KAAK,IAAKF,CAAC,EACxB,MAAMG,EAAgBC,EAAYH,CAAI,EACtCC,EAAa,KAAK,aAAc,IAAIC,CAAa,EAAE,CACrD,EAAG,mBAAmB,EAClBG,EAA8BtB,EAAO,KAClB,CACnB,EAAG,EACH,EAAG,EACH,MAAO,IACP,OAAQ,IACR,KAAM,UACN,OAAQ,OACR,OAAQ,QACR,GAAI,EACJ,GAAI,CACL,GAEA,aAAa,EACZuB,EAA6BvB,EAAO,KACnB,CACjB,EAAG,EACH,EAAG,EACH,MAAO,IACP,OAAQ,IACR,cAAe,QACf,MAAO,OACP,WAAY,EACZ,GAAI,EACJ,GAAI,EACJ,MAAO,EACR,GAEA,YAAY","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{_ as n,d as r,e as d,l as g}from"./mermaid.core-ZaxoMXOj.js";var u=n((e,t)=>{let o;return t==="sandbox"&&(o=r("#i"+e)),(t==="sandbox"?r(o.nodes()[0].contentDocument.body):r("body")).select(`[id="${e}"]`)},"getDiagramElement"),b=n((e,t,o,i)=>{e.attr("class",o);const{width:a,height:s,x:h,y:x}=l(e,t);d(e,s,a,i);const c=w(h,x,a,s,t);e.attr("viewBox",c),g.debug(`viewBox configured: ${c} with padding: ${t}`)},"setupViewPortForSVG"),l=n((e,t)=>{var i;const o=((i=e.node())==null?void 0:i.getBBox())||{width:0,height:0,x:0,y:0};return{width:o.width+t*2,height:o.height+t*2,x:o.x,y:o.y}},"calculateDimensionsWithPadding"),w=n((e,t,o,i,a)=>`${e-a} ${t-a} ${o} ${i}`,"createViewBox");export{u as g,b as s};
2
+ //# sourceMappingURL=chunk-RZ5BOZE2-h6svq8Xk.js.map