@p4code/cli 0.8.34 → 0.8.35

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 (308) hide show
  1. package/dist/bin.mjs +1 -1
  2. package/dist/{binCli-CvWinVsO.mjs → binCli-26z5sNBT.mjs} +2242 -1476
  3. package/dist/client/.vite/manifest.json +2038 -2023
  4. package/dist/client/assets/{2NI2N5EU-Dlr3FZf7.js → 2NI2N5EU-BLnY4aCF.js} +2 -2
  5. package/dist/client/assets/{4UO7MD6I-Cy2sjs8O.js → 4UO7MD6I-BApNVkfU.js} +2 -2
  6. package/dist/client/assets/{5B3SVYGG-DaCwFaTp.js → 5B3SVYGG-Y7V7NdZO.js} +2 -2
  7. package/dist/client/assets/{5GK6JWQ2-BVM9871F.js → 5GK6JWQ2-BSIhKcw-.js} +2 -2
  8. package/dist/client/assets/{5N7A7DKN-BVMU2dmG.js → 5N7A7DKN-CNUCnWLs.js} +2 -2
  9. package/dist/client/assets/{5OC2THR4-2tkjJ38q.js → 5OC2THR4-Bne-pf_A.js} +2 -2
  10. package/dist/client/assets/{5S6HY5KT-BGTQzE2T.js → 5S6HY5KT-7d4UMONz.js} +2 -2
  11. package/dist/client/assets/{6IMQ5BUJ-DMdx9ktL.js → 6IMQ5BUJ-BWW19n-D.js} +2 -2
  12. package/dist/client/assets/{6OLKWJ4F-B0TXT19U.js → 6OLKWJ4F-CxTUuvA6.js} +2 -2
  13. package/dist/client/assets/{74OO7NKP-Cukz2OUS.js → 74OO7NKP-DByVTRKE.js} +2 -2
  14. package/dist/client/assets/{75O6YZUN-D3k2sZNm.js → 75O6YZUN-CZanyedf.js} +2 -2
  15. package/dist/client/assets/{77XECAW3-CjIq7P_x.js → 77XECAW3-TL2w7pHK.js} +2 -2
  16. package/dist/client/assets/{ABYRPUBD-hf0OeD7n.js → ABYRPUBD-CJboH7Uz.js} +2 -2
  17. package/dist/client/assets/AlertDialogRoot-9jRALQXL.js +2 -0
  18. package/dist/client/assets/{AnimatedHeight-CHpFDL1r.js → AnimatedHeight-OxEbW01v.js} +2 -2
  19. package/dist/client/assets/{AuthSurfaceShell-whDvSlDA.js → AuthSurfaceShell-KQXgPV4i.js} +2 -2
  20. package/dist/client/assets/{BB2UYUI2-RUQPN7sp.js → BB2UYUI2-BxW-R2h1.js} +2 -2
  21. package/dist/client/assets/{BUM34MOA-f5Ez9vSp.js → BUM34MOA-ngG-irUy.js} +2 -2
  22. package/dist/client/assets/{CEQABKGZ-C2ZheKpY.js → CEQABKGZ-C-u-W0bS.js} +2 -2
  23. package/dist/client/assets/{CXAC5362-B0KvwGJk.js → CXAC5362-DfFRkI7L.js} +2 -2
  24. package/dist/client/assets/ChatGptUsageButton-C3KgGt4z.js +2 -0
  25. package/dist/client/assets/{ChatMarkdown-C2KOLN1s.js → ChatMarkdown-9gWM0ED9.js} +9 -9
  26. package/dist/client/assets/{CheckboxIndicator-zwVHomgm.js → CheckboxIndicator-DbU3csPQ.js} +2 -2
  27. package/dist/client/assets/{ClippedText-Cx9jjhQp.js → ClippedText-CS_BYNco.js} +2 -2
  28. package/dist/client/assets/{CodexSetupSection.logic-150217tr.js → CodexSetupSection.logic-CNbTXxKb.js} +2 -2
  29. package/dist/client/assets/{ComboboxClear-tzFhNwrk.js → ComboboxClear-Bn_kslrf.js} +2 -2
  30. package/dist/client/assets/{ComboboxGroupLabel-C1Icd2UF.js → ComboboxGroupLabel-fL8lMA25.js} +2 -2
  31. package/dist/client/assets/{CommandBlock-D9QqOlDX.js → CommandBlock-DcQXu_lq.js} +2 -2
  32. package/dist/client/assets/ComposerPromptEditor-DQ9wFfKn.js +204 -0
  33. package/dist/client/assets/{CompositeRoot-BD0GlRg8.js → CompositeRoot-BuwzXGHT.js} +2 -2
  34. package/dist/client/assets/{ConnectionDiagnosisDetails-BQ3BFqRL.js → ConnectionDiagnosisDetails-DGbJY7Hw.js} +2 -2
  35. package/dist/client/assets/{ConnectionStatusDot-DLQm_zZ7.js → ConnectionStatusDot-CixsTBXI.js} +2 -2
  36. package/dist/client/assets/{DRLTVNUE-vgHnaBR1.js → DRLTVNUE-Cbb71R0Y.js} +2 -2
  37. package/dist/client/assets/{DYY6UVD2-BQAAF_8A.js → DYY6UVD2-BZn5fuF5.js} +2 -2
  38. package/dist/client/assets/{DevicePanel-Yd3YuPQd.js → DevicePanel-JP__PY1s.js} +2 -2
  39. package/dist/client/assets/{DeviceSetup-DW4g9NNK.js → DeviceSetup-D8qb_qBj.js} +2 -2
  40. package/dist/client/assets/{DialogTitle-DCMYEIWZ.js → DialogTitle-B_9LEmy3.js} +2 -2
  41. package/dist/client/assets/{DiffCommentAnnotation-BLItJ7Ia.js → DiffCommentAnnotation-WMKzOwCh.js} +2 -2
  42. package/dist/client/assets/{DiffFileTree-B1-D1WV6.js → DiffFileTree-BSbsOOmA.js} +2 -2
  43. package/dist/client/assets/DiffPanel-BWFuiHvv.js +2 -0
  44. package/dist/client/assets/{DiffWorkerPoolProvider-BzkGX7xm.js → DiffWorkerPoolProvider-BBk0lIX3.js} +2 -2
  45. package/dist/client/assets/EmbeddedDesign-B4RMmwTG.css +1 -0
  46. package/dist/client/assets/EmbeddedDesign-D5YUndkh.js +21 -0
  47. package/dist/client/assets/{EnvironmentMachineIcon-5-erc8l_.js → EnvironmentMachineIcon-Dpgx67FY.js} +2 -2
  48. package/dist/client/assets/{ExpandableText-D2jzDgm7.js → ExpandableText-Cpm1gOKG.js} +2 -2
  49. package/dist/client/assets/{FNOVOB4O-CE98DPML.js → FNOVOB4O-BkEIrB0k.js} +2 -2
  50. package/dist/client/assets/{FieldControl-CBMzQqd5.js → FieldControl-BHe6unoZ.js} +2 -2
  51. package/dist/client/assets/{FileDiff-2qSm00aV.js → FileDiff-C1vAOUga.js} +2 -2
  52. package/dist/client/assets/{FilePreviewPanel-Drpn6NuE.js → FilePreviewPanel-CbpNevZP.js} +4 -4
  53. package/dist/client/assets/{FoldedSettingsSection-Db7e_9rd.js → FoldedSettingsSection-DySTg20x.js} +2 -2
  54. package/dist/client/assets/{FormContext-BGRz6hhb.js → FormContext-CmvUzTS-.js} +2 -2
  55. package/dist/client/assets/{HDGCDEEZ-C0-Zci_l.js → HDGCDEEZ-CN-ckGDk.js} +2 -2
  56. package/dist/client/assets/{HSJLKHB7-4e5L-KC4.js → HSJLKHB7-B0BvmnZE.js} +2 -2
  57. package/dist/client/assets/{Icons-DwLGuyWf.js → Icons-B4l3TqYa.js} +2 -2
  58. package/dist/client/assets/Input-Cv-TKh6s.js +2 -0
  59. package/dist/client/assets/JZOYTAAL-CB_B_Rei.js +1 -0
  60. package/dist/client/assets/{K3MD6TGW-Gi4s7ooz.js → K3MD6TGW-IS0rWO1U.js} +2 -2
  61. package/dist/client/assets/{K7RP3OMA-BVc6P2bZ.js → K7RP3OMA-DcqjCOJO.js} +2 -2
  62. package/dist/client/assets/{KeybindingsSettings.logic-CU23l8mP.js → KeybindingsSettings.logic-mF9mJWrc.js} +2 -2
  63. package/dist/client/assets/{LHDIQX7Q-DbBCFdJr.js → LHDIQX7Q-CLMgIt4Y.js} +2 -2
  64. package/dist/client/assets/{LUXOKEGN-C4n0-A1h.js → LUXOKEGN-B1dkmN_M.js} +2 -2
  65. package/dist/client/assets/{MathTypeset--azkeKic.js → MathTypeset-qeRVy_bc.js} +2 -2
  66. package/dist/client/assets/{N3JZAHOW-2wC96xvZ.js → N3JZAHOW-C6sq5aqx.js} +2 -2
  67. package/dist/client/assets/{NUIALGQ3-Di1L_kRJ.js → NUIALGQ3-BG7xJ_qe.js} +2 -2
  68. package/dist/client/assets/{NoProjectsHero-CC3oMKUV.js → NoProjectsHero-B0KzU91d.js} +2 -2
  69. package/dist/client/assets/{O65XPQGZ-BeKB0m-p.js → O65XPQGZ-BEfVfDlS.js} +2 -2
  70. package/dist/client/assets/{O7XIQ6OM-1wrcdCMc.js → O7XIQ6OM-BUiRjV87.js} +2 -2
  71. package/dist/client/assets/{OFQON5FD-CsMmmhLT.js → OFQON5FD-DTgVPbd-.js} +2 -2
  72. package/dist/client/assets/{P4ConnectAccountPages-BDxb29bY.js → P4ConnectAccountPages-C4KYM5XU.js} +2 -2
  73. package/dist/client/assets/{P4ConnectSidebarSignIn-Dp5OsZBa.js → P4ConnectSidebarSignIn-DNPUNJl_.js} +2 -2
  74. package/dist/client/assets/{PJQHF43J-CY_GpbqJ.js → PJQHF43J-QRnhQpHu.js} +2 -2
  75. package/dist/client/assets/PanelLayoutControls-4VFKEoHg.js +216 -0
  76. package/dist/client/assets/{PierreEntryIcon-B5tjtDkE.js → PierreEntryIcon-DeI-j_7w.js} +2 -2
  77. package/dist/client/assets/{PopoverHandle-CZh3pqXt.js → PopoverHandle-DMB4QSp6.js} +2 -2
  78. package/dist/client/assets/PreviewPanel-CO66mekh.js +2 -0
  79. package/dist/client/assets/ProjectDefaultsSettings-BF-iyQ8T.js +2 -0
  80. package/dist/client/assets/{ProjectFavicon-CkSteHLT.js → ProjectFavicon-_6hkSNzm.js} +3 -3
  81. package/dist/client/assets/{ProjectIconPickerDialog-9heAZbVC.js → ProjectIconPickerDialog-DeL1rZxy.js} +2 -2
  82. package/dist/client/assets/{ProjectMonogram-DIqp1OmB.js → ProjectMonogram-Cn4l-YGU.js} +2 -2
  83. package/dist/client/assets/{ProviderAuthTerminal-BSsraub7.js → ProviderAuthTerminal-qGeMxZDy.js} +2 -2
  84. package/dist/client/assets/ProviderModelPicker-DJQYH_Pp.js +2 -0
  85. package/dist/client/assets/{ProviderSettingsForm-CAFBbrfr.js → ProviderSettingsForm-BSVuPnR0.js} +2 -2
  86. package/dist/client/assets/PullRequestCodeTab-0OaJE6XS.js +6 -0
  87. package/dist/client/assets/{RHNBAITX-BdiF8iR_.js → RHNBAITX-ChqB7inB.js} +2 -2
  88. package/dist/client/assets/{ReadOnlySourcePreview-BXDLfPcr.js → ReadOnlySourcePreview-B08Wms4m.js} +2 -2
  89. package/dist/client/assets/{RenderErrorBoundary-CR2cHAQ5.js → RenderErrorBoundary-BsOuLEci.js} +3 -3
  90. package/dist/client/assets/{SLD4V6NK-Bo1z-c9S.js → SLD4V6NK-IkYRGtTH.js} +2 -2
  91. package/dist/client/assets/ScheduledTasksSettings-1UDkELZo.js +4 -0
  92. package/dist/client/assets/{ScopedSwitch-CX4FTGjy.js → ScopedSwitch-Bhp6-hCj.js} +2 -2
  93. package/dist/client/assets/{ScrollAreaCorner-BCdJHqsj.js → ScrollAreaCorner-BPMuWLbs.js} +2 -2
  94. package/dist/client/assets/{SecretInput-BPPzPNI1.js → SecretInput-RlOzrLKL.js} +2 -2
  95. package/dist/client/assets/{SelectScrollUpArrow-CR3Z6_pf.js → SelectScrollUpArrow-6kh66YCd.js} +2 -2
  96. package/dist/client/assets/{SettingsPanels-DoJnxtp0.js → SettingsPanels-BfBUSBAG.js} +6 -6
  97. package/dist/client/assets/{SettingsPanels.logic-t7cG-B6z.js → SettingsPanels.logic-BsFZYDgm.js} +2 -2
  98. package/dist/client/assets/{SettingsScopeNotice-DD4QFo3v.js → SettingsScopeNotice-H7UzC9bb.js} +2 -2
  99. package/dist/client/assets/{T3PCR2KE-Cg6A465M.js → T3PCR2KE-BxaunvVy.js} +2 -2
  100. package/dist/client/assets/{TKWO2OVW-CWeCEb5C.js → TKWO2OVW-DFURsfqA.js} +2 -2
  101. package/dist/client/assets/{TSHNXIZL-DTjzxHgA.js → TSHNXIZL-CIukdyLy.js} +2 -2
  102. package/dist/client/assets/{ThemeEditorPanel-BwydY72w.js → ThemeEditorPanel-otrA-nTg.js} +3 -3
  103. package/dist/client/assets/{ThreadTerminalDrawer-QTFG89J_.js → ThreadTerminalDrawer-BQKZCFAC.js} +4 -4
  104. package/dist/client/assets/TooltipViewport-ZmVCer7P.js +2 -0
  105. package/dist/client/assets/{UQJE5E4I-DS4MjKhw.js → UQJE5E4I-CfqCotH2.js} +2 -2
  106. package/dist/client/assets/{USNYFO5S-Be1OZGok.js → USNYFO5S-CctAAheU.js} +2 -2
  107. package/dist/client/assets/{Virtualizer-BpizRoFL.js → Virtualizer-CImHNxBq.js} +2 -2
  108. package/dist/client/assets/{WEVWDWVA-oFS2VG1Y.js → WEVWDWVA-DS9YO9IT.js} +2 -2
  109. package/dist/client/assets/{WorkspaceBreadcrumb-ckARUoj9.js → WorkspaceBreadcrumb-BW_omYU1.js} +2 -2
  110. package/dist/client/assets/{WorkspacePageContainer-D5yW7_av.js → WorkspacePageContainer-BS8FWt_4.js} +2 -2
  111. package/dist/client/assets/{WorkspacePageHeader-CTWcEH7d.js → WorkspacePageHeader-CE_94tTR.js} +2 -2
  112. package/dist/client/assets/{X5RFHQXM-Bjw0rDxX.js → X5RFHQXM-B0KbwoE1.js} +2 -2
  113. package/dist/client/assets/{X62E3GBT-BPHYY59t.js → X62E3GBT-wpz8X9Yh.js} +2 -2
  114. package/dist/client/assets/{XBNEOJTC-W72qCYdc.js → XBNEOJTC-DFRK5c6Y.js} +2 -2
  115. package/dist/client/assets/{YHV2MVVZ-DA_drdwk.js → YHV2MVVZ-1NnqTTZ2.js} +2 -2
  116. package/dist/client/assets/{YURCZMG2-CsfrwNLG.js → YURCZMG2-rnzWY5ij.js} +2 -2
  117. package/dist/client/assets/{YVG2LODB-dXCBipzg.js → YVG2LODB-Dxuuk2M-.js} +2 -2
  118. package/dist/client/assets/_chat-1QGQLbCc.js +45 -0
  119. package/dist/client/assets/{_chat.design-KVMajkdX.js → _chat.design-z2pu_9A5.js} +2 -2
  120. package/dist/client/assets/{_chat.index-BknTP6QZ.js → _chat.index-D8X9o5jY.js} +2 -2
  121. package/dist/client/assets/{_chat.new-DLFV1XOJ.js → _chat.new-CGJw8cpo.js} +3 -3
  122. package/dist/client/assets/_chat.pull-requests-BfW9qMU1.js +2 -0
  123. package/dist/client/assets/{alert-Dh8AVuLe.js → alert-DO06etEs.js} +2 -2
  124. package/dist/client/assets/{assetUrls-C6W2_00u.js → assetUrls-CmOUMX2M.js} +2 -2
  125. package/dist/client/assets/assets-aBpLf8r4.js +2 -0
  126. package/dist/client/assets/{browserHistoryStore-CeBJcpoN.js → browserHistoryStore-tYgeZygn.js} +2 -2
  127. package/dist/client/assets/{browserLinkTarget-D5ew8rLG.js → browserLinkTarget-CQFfJKWJ.js} +2 -2
  128. package/dist/client/assets/{checkbox-Y4v7A1IZ.js → checkbox-BEQFb7GO.js} +2 -2
  129. package/dist/client/assets/{color-picker-DEWeNc5K.js → color-picker-CXfnfmuH.js} +2 -2
  130. package/dist/client/assets/{combobox-DGrx2JGy.js → combobox--XoXA5uu.js} +2 -2
  131. package/dist/client/assets/{command-DR1GjC1a.js → command-E2aLhsct.js} +2 -2
  132. package/dist/client/assets/composer-logic-BPTz1APL.js +6 -0
  133. package/dist/client/assets/{composerDraftUploads-DK6jH0cB.js → composerDraftUploads-b_0oxKs9.js} +2 -2
  134. package/dist/client/assets/{connect-B1NcR-kN.js → connect-CU9dNvTt.js} +2 -2
  135. package/dist/client/assets/{connect-agent-BNrm24qs.js → connect-agent-Byc9PCdW.js} +2 -2
  136. package/dist/client/assets/{design-CbG6XJYX.js → design-CoGbXd61.js} +2 -2
  137. package/dist/client/assets/{device-6R-yC55P.js → device-DmH6IHQ4.js} +2 -2
  138. package/dist/client/assets/{dialog-BwjzOzO6.js → dialog-CBBxT1gk.js} +2 -2
  139. package/dist/client/assets/{diffRendering-CG_sb5me.js → diffRendering-BOVFJuWd.js} +2 -2
  140. package/dist/client/assets/{dist-CFar2AY1.js → dist-B2P3f-0Q.js} +3 -3
  141. package/dist/client/assets/{draft-input-CpqOZR5i.js → draft-input-CSOOVntS.js} +2 -2
  142. package/dist/client/assets/{duoViewer-BhE8QUaC.js → duoViewer-BhHYrurM.js} +2 -2
  143. package/dist/client/assets/{dynamic-CIBySV57.js → dynamic-BhzrutAo.js} +2 -2
  144. package/dist/client/assets/{embeddedScripts-B0vXhhvs.js → embeddedScripts-43_R83vp.js} +2 -2
  145. package/dist/client/assets/{empty-C0oiFHy_.js → empty-FOL5U4KY.js} +2 -2
  146. package/dist/client/assets/entities-Bqo0n1Pb.js +2 -0
  147. package/dist/client/assets/{fileLinks-CP5NWXaI.js → fileLinks-D4GSqJYj.js} +2 -2
  148. package/dist/client/assets/{fileTreeExpansion-BKVd4HrC.js → fileTreeExpansion-BBT5F8P1.js} +2 -2
  149. package/dist/client/assets/{getDiffFileInput-CIK5OMl_.js → getDiffFileInput-CGw09SPI.js} +2 -2
  150. package/dist/client/assets/{guideRunStore-CegZr43-.js → guideRunStore-DvIkVECt.js} +2 -2
  151. package/dist/client/assets/{htmlRender-NqJI2UJ2.js → htmlRender-CmEeFzCo.js} +2 -2
  152. package/dist/client/assets/{index-Czsz7nXH.js → index-B1djVqM4.js} +3 -3
  153. package/dist/client/assets/{input-BCWES8Y7.js → input-ekYqAkUx.js} +2 -2
  154. package/dist/client/assets/{input-group-CfPOCEuC.js → input-group-C3pxk97H.js} +2 -2
  155. package/dist/client/assets/{kbd-EDrgCOls.js → kbd-3FPzNikV.js} +2 -2
  156. package/dist/client/assets/{keybindings-BG7j7M7S.js → keybindings-B3oDRRkK.js} +2 -2
  157. package/dist/client/assets/{lazy-D6W01WxZ.js → lazy-DyNR0b0B.js} +4 -4
  158. package/dist/client/assets/{lazyRouteComponent-B8CSLurY.js → lazyRouteComponent-BPxq_G_s.js} +2 -2
  159. package/dist/client/assets/{link-COzhJ6br.js → link-B3B5a5Ju.js} +2 -2
  160. package/dist/client/assets/{linkedPrompt-X4NBlFef.js → linkedPrompt-BsCPMHxQ.js} +2 -2
  161. package/dist/client/assets/main-BWh6jqG2.js +29 -0
  162. package/dist/client/assets/main-DdVSHl80.css +2 -0
  163. package/dist/client/assets/{mediaReference-CKap6oNP.js → mediaReference-Bb8H-qbI.js} +2 -2
  164. package/dist/client/assets/{mediaSource-DG5l5-5f.js → mediaSource-C2MsZgy8.js} +2 -2
  165. package/dist/client/assets/number-field-SoHEiP55.js +2 -0
  166. package/dist/client/assets/{observeResize-BUAH1dvA.js → observeResize-3Vj9DYOV.js} +2 -2
  167. package/dist/client/assets/{onboarding-CnVH7A6c.js → onboarding-CPgiVEVK.js} +2 -2
  168. package/dist/client/assets/{openFileInPreview-B0i3eZpu.js → openFileInPreview-BBWCOLh_.js} +2 -2
  169. package/dist/client/assets/{p4ProjectFile-0RRo3hX4.js → p4ProjectFile-qmvlbzKv.js} +2 -2
  170. package/dist/client/assets/{pair-B4KNAPh5.js → pair-CZnRGdd8.js} +2 -2
  171. package/dist/client/assets/{pendingSendStore-Dzn7x7Cg.js → pendingSendStore-L5KquCDf.js} +2 -2
  172. package/dist/client/assets/{phoneViewer-RhpfiwR2.js → phoneViewer-D-8v-sMf.js} +2 -2
  173. package/dist/client/assets/{pierre-icons-Cisj4-__.js → pierre-icons-jwqMPUxD.js} +2 -2
  174. package/dist/client/assets/{popover-BnqKHl4L.js → popover-OfG3wVsl.js} +2 -2
  175. package/dist/client/assets/{preview-CiojYkh4.js → preview-BYnEURcB.js} +2 -2
  176. package/dist/client/assets/{preview-Dwq2O7nm.js → preview-DGdQ5Ycc.js} +2 -2
  177. package/dist/client/assets/{previewMiniPlayerStore-ByZNhmNc.js → previewMiniPlayerStore-Dlbj5KrZ.js} +2 -2
  178. package/dist/client/assets/primary-B47ivN3o.js +2 -0
  179. package/dist/client/assets/primaryCloudLinkState-CreqR0gU.js +2 -0
  180. package/dist/client/assets/projectFilesQueryState-CanWrACx.js +2 -0
  181. package/dist/client/assets/{projectScriptEditor-B4iSq27p.js → projectScriptEditor-gWuw6vwd.js} +2 -2
  182. package/dist/client/assets/{providerSkills-C4Fu_qyq.js → providerSkills-C_Rxqah9.js} +2 -2
  183. package/dist/client/assets/{pullRequestDetail.logic-BmYDDw_8.js → pullRequestDetail.logic-RASi2EgP.js} +4 -4
  184. package/dist/client/assets/{pullRequestIcons-DFcQ9rtl.js → pullRequestIcons-ucGaXXG7.js} +2 -2
  185. package/dist/client/assets/{pullRequestReviewStore-BGzKslrq.js → pullRequestReviewStore-CEr41DEl.js} +2 -2
  186. package/dist/client/assets/pullRequests-Bw3Ui6hK.js +2 -0
  187. package/dist/client/assets/queries-EslKFJTV.js +2 -0
  188. package/dist/client/assets/query-d1pQlqP0.js +2 -0
  189. package/dist/client/assets/{radio-group-DOHTpBxX.js → radio-group-Ciy_K5uE.js} +2 -2
  190. package/dist/client/assets/{renderScheduler-Df4T8RWh.js → renderScheduler-CP-JkmKx.js} +2 -2
  191. package/dist/client/assets/rightPanelStore-D3KOmuPa.js +2 -0
  192. package/dist/client/assets/runtime-DR7JxgbQ.js +6 -0
  193. package/dist/client/assets/runtime-d6B1vJeH.js +3 -0
  194. package/dist/client/assets/runtimeModeConfig-Rxeb1uGg.js +2 -0
  195. package/dist/client/assets/{scheduledTasksSettings.logic-7E0KSnA7.js → scheduledTasksSettings.logic-CVIC4Kpr.js} +3 -3
  196. package/dist/client/assets/{scroll-area-B9LorBFb.js → scroll-area-yyfi3ycu.js} +2 -2
  197. package/dist/client/assets/{select-Ctq0UILH.js → select-DaYjjw1q.js} +2 -2
  198. package/dist/client/assets/selfImproveFindings-1XIHD-7i.js +2 -0
  199. package/dist/client/assets/server-sXApTCjZ.js +2 -0
  200. package/dist/client/assets/{session-C7ckxjAM.js → session-C949OsEI.js} +2 -2
  201. package/dist/client/assets/session-logic-DkSfwnHl.js +26 -0
  202. package/dist/client/assets/{settings-BqhxEPKC.js → settings-B0O54Q3P.js} +2 -2
  203. package/dist/client/assets/{settings.appearance-DljtCz6-.js → settings.appearance-BesXhA1a.js} +2 -2
  204. package/dist/client/assets/settings.archived-FtcZf_Ug.js +2 -0
  205. package/dist/client/assets/settings.computer-use-BeKmLbNe.js +2 -0
  206. package/dist/client/assets/settings.connections-D1UxckE0.js +2 -0
  207. package/dist/client/assets/{settings.data-controls-Cdccmn63.js → settings.data-controls-lPiIwMgc.js} +2 -2
  208. package/dist/client/assets/settings.decisions-D97jIUyr.js +2 -0
  209. package/dist/client/assets/{settings.designs-TeCw-uLf.js → settings.designs-B473PRvt.js} +2 -2
  210. package/dist/client/assets/settings.diagnostics-DDOaOIDg.js +2 -0
  211. package/dist/client/assets/{settings.general-uxwywmhh.js → settings.general-qzEOE2zF.js} +2 -2
  212. package/dist/client/assets/settings.integrations-D6ctQ9WI.js +2 -0
  213. package/dist/client/assets/{settings.keybindings-C0FBNk1_.js → settings.keybindings-BL57H4sD.js} +2 -2
  214. package/dist/client/assets/{settings.open-source-licenses-wMwaYCss.js → settings.open-source-licenses-DaS82UhN.js} +2 -2
  215. package/dist/client/assets/{settings.plugins-CFiDE3ms.js → settings.plugins-DnS3RrT2.js} +4 -4
  216. package/dist/client/assets/{settings.projects-DN0n2td7.js → settings.projects-D-ZICXey.js} +4 -4
  217. package/dist/client/assets/settings.providers-CFpCmv0o.js +3 -0
  218. package/dist/client/assets/{settings.scheduled-tasks-uCL4Wgvt.js → settings.scheduled-tasks-IEAC3STn.js} +2 -2
  219. package/dist/client/assets/{settings.snap-shot-C4OHP0nR.js → settings.snap-shot-BaOFk9WR.js} +2 -2
  220. package/dist/client/assets/{settings.source-control-pMBspYC4.js → settings.source-control-BW16AA5z.js} +2 -2
  221. package/dist/client/assets/{settings.storage-QCydiEyw.js → settings.storage-D4vBYBRP.js} +2 -2
  222. package/dist/client/assets/settingsLayout-CFQx1XDM.js +3 -0
  223. package/dist/client/assets/{sidebar-CRr8B41y.js → sidebar-C1E4GqL6.js} +2 -2
  224. package/dist/client/assets/{sidebarProjectGrouping-miDXfjI3.js → sidebarProjectGrouping-9cUrCOXH.js} +2 -2
  225. package/dist/client/assets/{skeleton-C9J-Xl06.js → skeleton-BCpBrYxh.js} +2 -2
  226. package/dist/client/assets/{sourceControl-C8nJMDiL.js → sourceControl-DwJWPP0h.js} +2 -2
  227. package/dist/client/assets/{sourceControlClients-DKONtKbZ.js → sourceControlClients-BBJW7ra4.js} +2 -2
  228. package/dist/client/assets/{spinner-CNva85zM.js → spinner-CSTrcxhP.js} +2 -2
  229. package/dist/client/assets/{terminal-links-BJzLp7ix.js → terminal-links-D18LpQ1T.js} +2 -2
  230. package/dist/client/assets/{terminalSessions-BPc8sBGR.js → terminalSessions-C2NUFncF.js} +2 -2
  231. package/dist/client/assets/{textarea-DjRGRzMg.js → textarea-R4UQ47Ns.js} +2 -2
  232. package/dist/client/assets/{themePalette-fhKYLCuU.js → themePalette-neUNWCzK.js} +3 -3
  233. package/dist/client/assets/toast-B84QdqqM.js +2 -0
  234. package/dist/client/assets/{toggle-Bbnow7xY.js → toggle-BH5BGBcD.js} +2 -2
  235. package/dist/client/assets/{toggle-group-Cilo8czD.js → toggle-group-Di3SFV73.js} +2 -2
  236. package/dist/client/assets/{tooltip-T5ePvxsH.js → tooltip-D-GRl-oZ.js} +2 -2
  237. package/dist/client/assets/{uiStateStore-D9r3BNZ-.js → uiStateStore-xSkh4_PU.js} +2 -2
  238. package/dist/client/assets/{usage-QBPLx2wr.js → usage-DUdXloVo.js} +2 -2
  239. package/dist/client/assets/{usageAccess-DUfVA8nU.js → usageAccess-DSLF-sRE.js} +2 -2
  240. package/dist/client/assets/{usageFormat-C-mTuUS7.js → usageFormat-Bzyvr9m4.js} +2 -2
  241. package/dist/client/assets/{usageShortcuts-CB6TvooP.js → usageShortcuts-D6nQeRtx.js} +2 -2
  242. package/dist/client/assets/{use-atom-command-BNkv9iyk.js → use-atom-command-DA6OG-Qk.js} +2 -2
  243. package/dist/client/assets/{useAriaLabelledBy-D5HM2KLM.js → useAriaLabelledBy-PLuOxvFb.js} +2 -2
  244. package/dist/client/assets/{useHandleNewThread-DntRaFvm.js → useHandleNewThread-Dm0SCq59.js} +2 -2
  245. package/dist/client/assets/{useLocation-DbWity7H.js → useLocation-Bqc94klS.js} +2 -2
  246. package/dist/client/assets/{useNavigate-Cxh24teV.js → useNavigate-DdjG4MB_.js} +2 -2
  247. package/dist/client/assets/{useNavigateBack-B5mTfIHJ.js → useNavigateBack-sP0LsL3p.js} +2 -2
  248. package/dist/client/assets/{useP4ConnectAuthPrompt-sjWWPvrn.js → useP4ConnectAuthPrompt-C9d7n33S.js} +2 -2
  249. package/dist/client/assets/{useParams-D9PdK0IA.js → useParams-DZQvRQLJ.js} +2 -2
  250. package/dist/client/assets/{usePermissionStatus-D6i3IaCj.js → usePermissionStatus-BzfAUU9X.js} +2 -2
  251. package/dist/client/assets/{usePullRequestActions-9274Vp3W.js → usePullRequestActions-DIjGLg1E.js} +3 -3
  252. package/dist/client/assets/{useRegisterFieldControl-DZyLTxKX.js → useRegisterFieldControl-CyBVe0G0.js} +2 -2
  253. package/dist/client/assets/{useScopedModelAvailability-CmlQi7Iz.js → useScopedModelAvailability-D4n22Nmm.js} +2 -2
  254. package/dist/client/assets/useSettings-CaJMqrvF.js +3 -0
  255. package/dist/client/assets/utils-BoMYW9A3.js +37 -0
  256. package/dist/client/assets/vcsRefInvalidation-w_CQ3i43.js +2 -0
  257. package/dist/client/assets/{welcome-DVusCS_L.js → welcome-BIKH3rbU.js} +2 -2
  258. package/dist/client/index.html +1 -1
  259. package/dist/{renderer-CJXpJ36b.mjs → renderer-CveKT929.mjs} +26 -3
  260. package/dist/{runtime-EqYv-lrV.mjs → runtime-DGGSjC6Q.mjs} +148 -4
  261. package/package.json +1 -1
  262. package/dist/client/assets/AlertDialogRoot-BUODcEy9.js +0 -2
  263. package/dist/client/assets/ChatGptUsageButton-CMIjZ66V.js +0 -2
  264. package/dist/client/assets/ComposerPromptEditor-D2ObH3Py.js +0 -204
  265. package/dist/client/assets/DiffPanel-BGnRzWM8.js +0 -2
  266. package/dist/client/assets/EmbeddedDesign-BV_FcJ4l.js +0 -21
  267. package/dist/client/assets/EmbeddedDesign-Cud7UEy4.css +0 -1
  268. package/dist/client/assets/Input-DLaKk0qb.js +0 -2
  269. package/dist/client/assets/JZOYTAAL-SLYGD65P.js +0 -1
  270. package/dist/client/assets/PanelLayoutControls-CqeL3uQz.js +0 -216
  271. package/dist/client/assets/PreviewPanel-CvBQAq3I.js +0 -2
  272. package/dist/client/assets/ProjectDefaultsSettings-DLJfUN7i.js +0 -2
  273. package/dist/client/assets/ProviderModelPicker-AkULlCAn.js +0 -2
  274. package/dist/client/assets/PullRequestCodeTab-BamXVeZz.js +0 -6
  275. package/dist/client/assets/ScheduledTasksSettings-DF_KhqLx.js +0 -4
  276. package/dist/client/assets/TooltipViewport-C14m3uB7.js +0 -2
  277. package/dist/client/assets/_chat-BIqme2Hz.js +0 -46
  278. package/dist/client/assets/_chat.pull-requests-BDLRkW2A.js +0 -2
  279. package/dist/client/assets/assets-D-xsxvzf.js +0 -2
  280. package/dist/client/assets/composer-logic-BW4G8aDL.js +0 -6
  281. package/dist/client/assets/entities-Om5Klild.js +0 -2
  282. package/dist/client/assets/main-BGaSDXjP.js +0 -29
  283. package/dist/client/assets/main-BP1f3auf.css +0 -2
  284. package/dist/client/assets/number-field-DGdBjQD2.js +0 -2
  285. package/dist/client/assets/primary-CMwTDEi1.js +0 -2
  286. package/dist/client/assets/primaryCloudLinkState-2j4MjqVh.js +0 -2
  287. package/dist/client/assets/projectFilesQueryState-DXrTSOqg.js +0 -2
  288. package/dist/client/assets/pullRequests-DT0oG7tF.js +0 -2
  289. package/dist/client/assets/queries-CXgT6mki.js +0 -2
  290. package/dist/client/assets/query-DlK0I8Jc.js +0 -2
  291. package/dist/client/assets/rightPanelStore-DXw7-xK3.js +0 -2
  292. package/dist/client/assets/runtime-BL7IF4n-.js +0 -3
  293. package/dist/client/assets/runtime-Dm3Pi31_.js +0 -6
  294. package/dist/client/assets/runtimeModeConfig-_-kQoAWi.js +0 -2
  295. package/dist/client/assets/server-BvxyePeo.js +0 -2
  296. package/dist/client/assets/session-logic-P8gC-UQc.js +0 -26
  297. package/dist/client/assets/settings.archived-SsFK0IFf.js +0 -2
  298. package/dist/client/assets/settings.computer-use-CVmc70Ib.js +0 -2
  299. package/dist/client/assets/settings.connections-BrPlTKQ_.js +0 -2
  300. package/dist/client/assets/settings.decisions-pkwqjsKP.js +0 -2
  301. package/dist/client/assets/settings.diagnostics-BZD1uMGP.js +0 -2
  302. package/dist/client/assets/settings.integrations-Du282Gn7.js +0 -2
  303. package/dist/client/assets/settings.providers-DeUZZg7C.js +0 -3
  304. package/dist/client/assets/settingsLayout-DFYjWgKN.js +0 -3
  305. package/dist/client/assets/toast-BcjbmUtS.js +0 -2
  306. package/dist/client/assets/useSettings-BL4ZWGQV.js +0 -3
  307. package/dist/client/assets/utils-CrFJwxSd.js +0 -37
  308. package/dist/client/assets/vcsRefInvalidation-BPy1eoDi.js +0 -2
@@ -1,4 +1,4 @@
1
- import{_ as e,f as t,g as n,h as r,l as i,n as a,o,r as s,s as c,t as l,y as u}from"./77XECAW3-CjIq7P_x.js";import{a as d,i as f,l as p,s as m}from"./N3JZAHOW-2wC96xvZ.js";import{a as h,t as g}from"./DKTLEL5E-DciMwFJ1.js";import{r as _}from"./74OO7NKP-Cukz2OUS.js";import{i as v,n as y,r as b,t as x}from"./NUIALGQ3-Di1L_kRJ.js";import{t as ee}from"./TSHNXIZL-DTjzxHgA.js";import{PeleError as S,_ as te,c as C,l as w,o as T,s as E}from"./lazy-D6W01WxZ.js";var D=`EOF USECASE ACTOR SYSTEM_BOUNDARY END DIRECTION TD TB BT LR RL NOTE FOR JSON CLASS_DEF CLASS STYLE INCLUDE EXTEND TRUE FALSE IDENTIFIER NUMBER AT COMMA COLON HASH_COLOR CSS_IDENTIFIER CSS_ESCAPED_COMMA DASH DOT PERCENT CSS_PUNCTUATION LABEL_PUNCTUATION LABEL_SYMBOL PLAIN_STRING MARKDOWN_STRING UNCLOSED_MARKDOWN_STRING COMMENT NEWLINE ACC_DESCR_BLOCK ACC_TITLE_LINE ACC_DESCR_LINE JSON_DECLARATION_START JSON_OBJECT_LITERAL UNCLOSED_JSON_OBJECT_LITERAL GENERALIZATION DEPENDENCY_ARROW STEREOTYPE_START STEREOTYPE_END STEREOTYPE_TEXT UNCLOSED_STEREOTYPE_TEXT CLASS_SEPARATOR FORWARD_SOLID BACKWARD_SOLID FORWARD_CIRCLE BACKWARD_CIRCLE FORWARD_CROSS BACKWARD_CROSS MARKERLESS_SOLID METADATA_START LBRACE RBRACE LBRACKET RBRACKET LPAREN RPAREN`.split(` `),O=1,k=2,A=new Uint8Array(128);for(let e=48;e<=57;e++)A[e]=O;for(let e=65;e<=90;e++)A[e]=A[e+32]=O;A[95]=O;for(let e of`!#$&*+/=?^|~`)A[e.charCodeAt(0)]=k;var j=[0,12,5,14,3,9,2,2,2,2,2,4,3,4,8,5,5,7,6,4,5];function M(e){return e<128&&(A[e]&O)!==0}function N(e,t,n){for(let r=0;r<n.length;r++)if((e.charCodeAt(t+r)|32)!==n.charCodeAt(r))return!1;return!0}function ne(e,t,n){switch(n){case 97:return e.startsWith(`actor`,t)?2:0;case 115:return e.startsWith(`systemBoundary`,t)?3:e.startsWith(`style`,t)?16:0;case 101:return e.startsWith(`end`,t)?4:N(e,t,`extend`)?18:0;case 69:return N(e,t,`extend`)?18:0;case 100:return e.startsWith(`direction`,t)?5:0;case 84:return e.startsWith(`TD`,t)?6:e.startsWith(`TB`,t)?7:0;case 66:return e.startsWith(`BT`,t)?8:0;case 76:return e.startsWith(`LR`,t)?9:0;case 82:return e.startsWith(`RL`,t)?10:0;case 110:return e.startsWith(`note`,t)?11:0;case 102:return e.startsWith(`for`,t)?12:e.startsWith(`false`,t)?20:0;case 106:return e.startsWith(`json`,t)?13:0;case 99:return e.startsWith(`classDef`,t)?14:e.startsWith(`class`,t)?15:0;case 105:case 73:return N(e,t,`include`)?17:0;case 116:return e.startsWith(`true`,t)?19:0;case 117:return+!!e.startsWith(`usecase-beta`,t);default:return 0}}function P(e,t){let n=1,r=0;for(let i=0;i<t;i++){let a=e.charCodeAt(i);a!==10&&a!==13||(a===13&&i+1<t&&e.charCodeAt(i+1)===10&&i++,n++,r=i+1)}return[n,t-r+1]}function re(e,t,n){let[r,i]=P(e,t);return`line ${r}, column ${i} [${t},${n})`}function ie(e,t,n){for(let r=t+1;r<e.length;r++){let t=e.charCodeAt(r);if(t===n)return r+1;if(t===10||t===13)return-1}return-1}function ae(e,t){let n=e.charCodeAt(t);return n!==34&&n!==39||n===34&&e.charCodeAt(t+1)===96||ie(e,t,n)!==-1}function oe(e,t,n){let[r,i]=P(e,t);return new S(`Error lexing usecase diagram: unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${n} characters. at line ${r}, column ${i} [${t},${t+n})`,`syntax`,{type:`usecase`,line:r,column:i})}function se(e){let t=[],n=[],r=[],i=e.length,a=0,o=!0,s=!1;for(;a<i;){let c=e.charCodeAt(a);if(c===32||c===9){a++;continue}let l,u=a+1,d=!1;if(c<128&&(A[c]&O)!==0){if(l=0,c===97&&o&&e.startsWith(`acc`,a)){let t=e.startsWith(`Descr`,a+3);if(t||e.startsWith(`Title`,a+3)){let n=a+8;for(;T(e.charCodeAt(n));)n++;let r=e.charCodeAt(n);if(r===58)for(l=t?42:41,u=n+1;u<i&&e.charCodeAt(u)!==10&&e.charCodeAt(u)!==13;)u++;else if(r===123&&t&&!s){let t=e.indexOf(`}`,n+1);t===-1?s=!0:(l=40,u=t+1)}}}else if(c===106&&e.startsWith(`json`,a)&&T(e.charCodeAt(a+4))){let s=a+5;for(;T(e.charCodeAt(s));)s++;let c=s;for(;M(e.charCodeAt(s));)s++;if(s>c){for(;T(e.charCodeAt(s));)s++;if(e.charCodeAt(s)===64){for(s++;T(e.charCodeAt(s));)s++;if(e.charCodeAt(s)===123){t.push(43),n.push(a),r.push(s),a=s;let c=0,l=!1,u=!1,d=s;for(;d<i;d++){let t=e.charCodeAt(d);if(l)u?u=!1:t===92?u=!0:t===34&&(l=!1);else if(t===34)l=!0;else if(t===123)c++;else if(t===125&&--c===0)break}t.push(d<i?44:45),n.push(s),a=d<i?d+1:i,r.push(a),o=!1;continue}}}}if(l===0){for(;u<i&&M(e.charCodeAt(u));)u++;let t=ne(e,a,c);if(t!==0)t===1||u-a===j[t]?(l=t,u=a+j[t]):l=21;else if((c===111||c===120)&&e.charCodeAt(a+1)===45&&e.charCodeAt(a+2)===45)l=c===111?56:58,u=a+3;else if(E(c)){let t=a+1;for(;E(e.charCodeAt(t));)t++;if(e.charCodeAt(t)===46&&E(e.charCodeAt(t+1))){for(l=22,u=t+2;E(e.charCodeAt(u));)u++;for(;C(e.charCodeAt(u));)u++}else l=21}else for(l=21;e.charCodeAt(u)===45&&M(e.charCodeAt(u+1));)for(l=27,u+=2;M(e.charCodeAt(u));)u++}}else if(c===10)l=39,d=!0;else if(c===13)l=39,d=!0,e.charCodeAt(u)===10&&u++;else if(c===34||c===39){if(c===34&&e.charCodeAt(a+1)===96){let t=e.indexOf('`"',a+2);l=t===-1?37:36,u=t===-1?i:t+2}else if(l=35,u=ie(e,a,c),u===-1){let t=a+1;for(;t<i&&!ae(e,t);)t++;throw oe(e,a,t-a)}}else if(c===37){if(o&&e.charCodeAt(u)===37)for(l=38;u<i&&e.charCodeAt(u)!==10&&e.charCodeAt(u)!==13;)u++;else l=31}else if(c===45){if(e.charCodeAt(u)!==45)l=29;else{for(;e.charCodeAt(u)===45;)u++;let t=e.charCodeAt(u),n=u-a===2;n&&t===124&&e.charCodeAt(u+1)===62?(l=46,u+=2):t===62?(l=53,u++):n&&(t===111||t===120)?(l=t===111?55:57,u++):l=59}}else if(c===46){let t=e.charCodeAt(u);if(t===46&&e.charCodeAt(u+1)===62)l=47,u+=2;else if(E(t)){for(l=22;E(e.charCodeAt(u));)u++;for(;C(e.charCodeAt(u));)u++}else l=30}else if(c===60){if(e.charCodeAt(u)===60){if(t.push(48),n.push(a),r.push(a+2),o=!1,a+=2,a>=i)break;if(e.charCodeAt(a)===62&&e.charCodeAt(a+1)===62)l=49,u=a+2;else{let o=a,s=!1;for(;o<i;o++){let t=e.charCodeAt(o);if(t===10||t===13)break;if(t===62&&e.charCodeAt(o+1)===62){s=!0;break}}if(s&&e.slice(a,o).trim()!==``)t.push(50),n.push(a),r.push(o),l=49,a=o,u=o+2;else{for(;o<i&&e.charCodeAt(o)!==10&&e.charCodeAt(o)!==13;)o++;if(o===a){for(;o<i&&(e.charCodeAt(o)===10||e.charCodeAt(o)===13);)o++;throw oe(e,a,o-a)}l=51,u=o}}}else if(e.charCodeAt(u)===45&&e.charCodeAt(u+1)===45)for(l=54,u+=2;e.charCodeAt(u)===45;)u++;else l=33}else if(c===58)e.charCodeAt(u)===58&&e.charCodeAt(u+1)===58?(l=52,u+=2):l=25;else if(c===64)e.charCodeAt(u)===123?(l=60,u++):l=23;else if(c===123)l=61;else if(c===125)l=62;else if(c===91)l=63;else if(c===93)l=64;else if(c===40)l=65;else if(c===41)l=66;else if(c===44)l=24;else if(c===35){for(;w(e.charCodeAt(u));)u++;l=u>a+1?26:32}else if(c===92)e.charCodeAt(u)===44?(l=28,u++):l=33;else if(c<127&&c>32)l=(A[c]&k)===0?33:32;else for(l=34;u<i;){let t=e.charCodeAt(u);if(t>=32&&t<127||t===9||t===10||t===13)break;u++}t.push(l),n.push(a),r.push(u),a=u,o=d}for(let e=0;e<3;e++)t.push(0),n.push(i),r.push(i);return{types:t,starts:n,ends:r}}function ce(){return{type:`usecase`,actors:new Map,useCases:new Map,systemBoundaries:new Map,relationships:[],notes:new Map,jsonNodes:new Map,classDefs:new Map,direction:`LR`,title:void 0,accTitle:``,accDescr:``,accDescription:``,source:``,headerSpan:[0,0],statements:[]}}function le(){return{elements:[],boundaries:[],jsons:[],relationships:[],notes:[],metadata:[],classes:[],styles:[],classDefs:[],direction:void 0,accTitle:``,accDescription:``}}function F(e,t){if(t.length===0)return;let n=new Set(e);for(let r of t)n.has(r)||(n.add(r),e.push(r))}function ue(e){let t=new Set([`actor`,`usecase`,`boundary`,`edge`]);for(let{key:n,value:r}of e)if(n===`icon`)t.clear(),t.add(`actor`);else if(n===`animate`||n===`animation`)t.clear(),t.add(`edge`);else if(n===`type`)t.clear(),r===`rect`||r===`package`?t.add(`boundary`):(r===`normal`||r===`hollow`||r===`awesome`)&&t.add(`actor`);else if(n===`business`)t.delete(`boundary`),t.delete(`edge`);else return;return t.size===1?[...t][0]:void 0}function de(e,t,n,r,i){let a=ce(),{actors:o,useCases:s,systemBoundaries:c}=a,l=new Map,u=new Map,d=new Map,f=new Map,p=new Map,m=t=>re(e,t[0],t[1]),h=(t,n)=>{let[r,i]=P(e,n[0]);return new S(t,`semantic`,{type:`usecase`,line:r,column:i})},g=(e,t)=>{throw h(`${e} at ${m(t)}`,t)},_=(e,t,n,r,i)=>{let a=e=>e===void 0?``:` (label "${e}")`;throw h(`${e} at ${m(t)}${a(r)}; previous declaration at ${m(n)}${a(i)}`,t)},v=(e,t,n)=>g(`Metadata property '${n.key}' is invalid for ${t} '${e}'`,n.keySpan),y=(e,t)=>{let n=p.get(e);(n===void 0||t<n)&&p.set(e,t)},b=e=>[...e].sort((e,t)=>(p.get(e.id)??0)-(p.get(t.id)??0)),x=(e,t)=>{l.set(e.id,{kind:t,span:e.span,generated:e.generated,label:e.label.text})},ee=(e,t)=>{let n=l.get(e.id);if(!n)return;let r=e.generated?e.label.text:void 0,i=n.generated?n.label:void 0;n.kind!==t&&_(`ID '${e.id}' is declared as both ${n.kind} and ${t}`,e.span,n.span,r,i),(n.generated||e.generated)&&_(`Generated ID '${e.id}' collides with another declaration`,e.span,n.span,r,i)},te=(e,t,n)=>{let r=l.get(e);r&&_(`ID '${e}' is declared more than once (${r.kind} and ${t})`,n,r.span,void 0,r.generated?r.label:void 0),l.set(e,{kind:t,span:n,generated:!1})},C=(e,t,n)=>{let{key:r,value:i}=t,a=a=>{!n&&a!==void 0&&a!==i&&_(`Actor '${e.id}' has conflicting ${r} metadata`,t.keySpan,e.span)};r===`type`&&(i===`normal`||i===`hollow`||i===`awesome`)?(a(e.actorType),e.actorType=i):r===`icon`&&typeof i==`string`?(a(e.icon),e.icon=i):r===`business`&&typeof i==`boolean`?(a(e.business),e.business=i):v(e.id,`actor`,t)},w=(e,t,n)=>{for(let r of t??[])e.kind===`actor`?C(e,r,n):r.key===`business`&&typeof r.value==`boolean`?(!n&&e.business!==void 0&&e.business!==r.value&&_(`Use case '${e.id}' has conflicting business metadata`,r.keySpan,e.span),e.business=r.value):v(e.id,`usecase`,r)},T=e=>{let t;if(e.kind===`actor`){s.delete(e.id);let n={id:e.id,label:e.label.text,labelType:e.label.type,business:e.business??!1,classes:[...e.classes],type:e.icon?`icon`:e.actorType??`normal`,styles:o.get(e.id)?.styles??[]};e.icon&&(n.icon=e.icon),o.set(e.id,n),t=n}else o.delete(e.id),t={id:e.id,label:e.label.text,labelType:e.label.type,business:e.business??!1,classes:[...e.classes],shape:e.shape??`ellipse`,styles:s.get(e.id)?.styles??[]},s.set(e.id,t);e.stereotype&&(t.stereotype=e.stereotype),e.parent?.id&&(t.parentId=e.parent.id)},E=e=>{ee(e,e.kind);let t=e.parent?.id?e.parent:void 0,n=u.get(e.id);if(!n){let n={kind:e.kind,id:e.id,label:e.label,span:e.span,generated:e.generated,classes:[...e.classes],parent:t,shape:e.shape,stereotype:e.stereotype,stereotypeSpan:e.stereotype?e.span:void 0};w(n,e.metadata,!1),u.set(e.id,n),x(e,e.kind);return}(n.label.text!==e.label.text||n.label.type!==e.label.type)&&_(`ID '${e.id}' has conflicting labels`,e.span,n.span),e.shape&&n.shape&&e.shape!==n.shape&&_(`Use case '${e.id}' has conflicting shapes`,e.span,n.span),t&&n.parent?.id&&t.id!==n.parent.id&&_(`Element '${e.id}' belongs to more than one system boundary`,t.span,n.parent.span),e.stereotype&&n.stereotype&&e.stereotype!==n.stereotype&&_(`Element '${e.id}' has conflicting stereotypes`,e.span,n.stereotypeSpan??n.span),n.shape??=e.shape,n.parent??=e.parent,n.stereotype??=e.stereotype,n.stereotypeSpan??=e.stereotype?e.span:void 0,F(n.classes,e.classes),w(n,e.metadata,!1)},D=e=>{ee(e,`boundary`);let t=d.get(e.id);if(t){(t.label.text!==e.label.text||t.label.type!==e.label.type)&&_(`Boundary '${e.id}' has conflicting titles`,e.span,t.span),F(t.classes,e.classes);return}d.set(e.id,{...e,classes:[...e.classes],members:[]}),x(e,`boundary`)},O=e=>{e.classed&&!e.declares&&g(`Relationship endpoint '${e.id}' uses ::: without declaring the node`,e.span);let t=l.get(e.id);return t?t.kind:(u.set(e.id,{...e,kind:`usecase`,shape:`ellipse`,classes:[]}),x(e,`usecase`),y(e.id,e.span[0]),`usecase`)},k=(e,t)=>{let n=l.get(e)?.kind;return(n===`actor`?o.get(e):n===`usecase`?s.get(e):n===`boundary`?c.get(e):n===`json`?a.jsonNodes.get(e):f.get(e))??g(`Class/style target '${e}' is unresolved or anonymous`,t)},A=[];for(let{source:e,target:n}of t.relationships)y(e.id,e.span[0]),y(n.id,n.span[0]);for(let e of t.elements)y(e.id,e.span[0]),A.push({offset:e.span[0],run:()=>E(e)});for(let e of t.boundaries)y(e.id,e.span[0]),A.push({offset:e.span[0],run:()=>D(e)});for(let e of t.jsons)y(e.id,e.span[0]),A.push({offset:e.span[0],run:()=>te(e.id,`json`,e.span)});for(let{id:e,idSpan:n}of t.relationships)e&&n&&A.push({offset:n[0],run:()=>te(e,`edge`,n)});A.sort((e,t)=>e.offset-t.offset);for(let e of A)e.run();for(let e of b(u.values()))T(e);for(let e of b(d.values()))c.set(e.id,{id:e.id,label:e.label.text,labelType:e.label.type,type:`rect`,members:[],classes:[],styles:[]});for(let e of b(t.jsons))a.jsonNodes.set(e.id,{id:e.id,value:e.value,propertyOrder:e.propertyOrder,classes:[...e.classes],styles:[]});let j=0;for(let e of t.relationships){let{source:t,target:n,type:r}=e,i=O(t),o=O(n),s=e=>e===`actor`||e===`usecase`||e===`json`;s(i)||_(`Relationship source '${t.id}' cannot be ${i}`,t.span,l.get(t.id).span),s(o)||_(`Relationship target '${n.id}' cannot be ${o}`,n.span,l.get(n.id).span),(r===`include`||r===`extend`)&&(i!==`usecase`||o!==`usecase`)&&g(`${r} relationship requires use-case endpoints`,e.span),r===`generalization`&&(i===`json`||i!==o)&&g(`Generalization requires actor-to-actor or use-case-to-use-case endpoints`,e.span),r===`association`&&(i===`json`||o===`json`)&&e.arrowType>2&&g(`JSON relationship '${t.id}' to '${n.id}' permits only point, reversed-point, or markerless solid association`,e.span);let c=e.id??`edge-${j++}`,u={id:c,explicitId:!!e.id,source:t.id,target:n.id,type:r,arrowType:e.arrowType,minlen:e.minlen,classes:[],styles:[],animate:!1};e.label&&(u.label=e.label.text,u.labelType=e.label.type),a.relationships.push(u),f.set(c,u)}let M=new Map(o),N=new Map(s);o.clear(),s.clear();for(let e of b(u.values())){let t=M.get(e.id),n=N.get(e.id);t?o.set(e.id,t):n?s.set(e.id,n):T(e)}for(let{target:e,span:n,properties:r,statement:i}of t.metadata){let t=l.get(e);if(!t){let t=ue(r);return g(`Metadata target '${e}' is unresolved${t?` (metadata implies ${t})`:``}`,n)}let a=t.kind;a===`actor`||a===`usecase`?w(u.get(e),r,!0):a===`edge`&&(i.kind=`edgeMetadata`,i.edges=[{id:e,span:i.span,idSpan:n,metadata:i.metadata}],delete i.nodes);let o=d.get(e),s=f.get(e);for(let t of a===`actor`||a===`usecase`?[]:r){let{key:n,value:r}=t;a===`boundary`&&o&&n===`type`&&(r===`rect`||r===`package`)?o.type=r:a===`edge`&&s&&n===`animate`&&typeof r==`boolean`?s.animate=r:a===`edge`&&s&&n===`animation`&&(r===`fast`||r===`slow`)?(s.animation=r,s.animate=!0):v(e,a,t)}}for(let e of a.relationships)e.animation&&(e.animate=!0);for(let e of u.values())e.kind===`actor`?(e.icon&&e.actorType&&e.actorType!==`normal`&&g(`Actor '${e.id}' cannot combine icon with type '${e.actorType}'`,e.span),e.business&&(e.icon||e.actorType===`awesome`)&&g(`Business actor '${e.id}' must use normal or hollow geometry`,e.span)):e.shape===`rect`&&e.business&&g(`Rectangular use case '${e.id}' cannot be a business use case`,e.span),T(e);for(let e of[...t.elements].sort((e,t)=>e.span[0]-t.span[0])){if(!e.parent?.id)continue;let t=d.get(e.parent.id).members;t.includes(e.id)||t.push(e.id)}for(let e of d.values()){let t=c.get(e.id);t.type=e.type??`rect`,t.members=e.members,t.classes=[...e.classes]}let ne=0;for(let e of t.notes){let t=l.get(e.target);if(!t)return g(`Note target '${e.target}' is unresolved`,e.span);t.kind!==`actor`&&t.kind!==`usecase`&&_(`Note target '${e.target}' must be an actor or use case, not ${t.kind}`,e.span,t.span);let n=`note-${ne++}`;a.notes.set(n,{id:n,target:e.target,label:e.label.text,labelType:e.label.type})}for(let e of t.classDefs)for(let t of e.ids)a.classDefs.set(t,{id:t,styles:[...e.styles]});for(let e of t.classes)for(let t of e.targets)F(k(t.id,t.span).classes,e.classes);for(let e of t.styles)k(e.target,e.span).styles.push(...e.styles);return a.direction=t.direction??a.direction,a.title=i,a.accTitle=t.accTitle,a.accDescription=t.accDescription,a.accDescr=t.accDescription.replace(/\n\s+/g,`
1
+ import{_ as e,f as t,g as n,h as r,l as i,n as a,o,r as s,s as c,t as l,y as u}from"./77XECAW3-TL2w7pHK.js";import{a as d,i as f,l as p,s as m}from"./N3JZAHOW-C6sq5aqx.js";import{a as h,t as g}from"./DKTLEL5E-DciMwFJ1.js";import{r as _}from"./74OO7NKP-DByVTRKE.js";import{i as v,n as y,r as b,t as x}from"./NUIALGQ3-BG7xJ_qe.js";import{t as ee}from"./TSHNXIZL-CIukdyLy.js";import{PeleError as S,_ as te,c as C,l as w,o as T,s as E}from"./lazy-DyNR0b0B.js";var D=`EOF USECASE ACTOR SYSTEM_BOUNDARY END DIRECTION TD TB BT LR RL NOTE FOR JSON CLASS_DEF CLASS STYLE INCLUDE EXTEND TRUE FALSE IDENTIFIER NUMBER AT COMMA COLON HASH_COLOR CSS_IDENTIFIER CSS_ESCAPED_COMMA DASH DOT PERCENT CSS_PUNCTUATION LABEL_PUNCTUATION LABEL_SYMBOL PLAIN_STRING MARKDOWN_STRING UNCLOSED_MARKDOWN_STRING COMMENT NEWLINE ACC_DESCR_BLOCK ACC_TITLE_LINE ACC_DESCR_LINE JSON_DECLARATION_START JSON_OBJECT_LITERAL UNCLOSED_JSON_OBJECT_LITERAL GENERALIZATION DEPENDENCY_ARROW STEREOTYPE_START STEREOTYPE_END STEREOTYPE_TEXT UNCLOSED_STEREOTYPE_TEXT CLASS_SEPARATOR FORWARD_SOLID BACKWARD_SOLID FORWARD_CIRCLE BACKWARD_CIRCLE FORWARD_CROSS BACKWARD_CROSS MARKERLESS_SOLID METADATA_START LBRACE RBRACE LBRACKET RBRACKET LPAREN RPAREN`.split(` `),O=1,k=2,A=new Uint8Array(128);for(let e=48;e<=57;e++)A[e]=O;for(let e=65;e<=90;e++)A[e]=A[e+32]=O;A[95]=O;for(let e of`!#$&*+/=?^|~`)A[e.charCodeAt(0)]=k;var j=[0,12,5,14,3,9,2,2,2,2,2,4,3,4,8,5,5,7,6,4,5];function M(e){return e<128&&(A[e]&O)!==0}function N(e,t,n){for(let r=0;r<n.length;r++)if((e.charCodeAt(t+r)|32)!==n.charCodeAt(r))return!1;return!0}function ne(e,t,n){switch(n){case 97:return e.startsWith(`actor`,t)?2:0;case 115:return e.startsWith(`systemBoundary`,t)?3:e.startsWith(`style`,t)?16:0;case 101:return e.startsWith(`end`,t)?4:N(e,t,`extend`)?18:0;case 69:return N(e,t,`extend`)?18:0;case 100:return e.startsWith(`direction`,t)?5:0;case 84:return e.startsWith(`TD`,t)?6:e.startsWith(`TB`,t)?7:0;case 66:return e.startsWith(`BT`,t)?8:0;case 76:return e.startsWith(`LR`,t)?9:0;case 82:return e.startsWith(`RL`,t)?10:0;case 110:return e.startsWith(`note`,t)?11:0;case 102:return e.startsWith(`for`,t)?12:e.startsWith(`false`,t)?20:0;case 106:return e.startsWith(`json`,t)?13:0;case 99:return e.startsWith(`classDef`,t)?14:e.startsWith(`class`,t)?15:0;case 105:case 73:return N(e,t,`include`)?17:0;case 116:return e.startsWith(`true`,t)?19:0;case 117:return+!!e.startsWith(`usecase-beta`,t);default:return 0}}function P(e,t){let n=1,r=0;for(let i=0;i<t;i++){let a=e.charCodeAt(i);a!==10&&a!==13||(a===13&&i+1<t&&e.charCodeAt(i+1)===10&&i++,n++,r=i+1)}return[n,t-r+1]}function re(e,t,n){let[r,i]=P(e,t);return`line ${r}, column ${i} [${t},${n})`}function ie(e,t,n){for(let r=t+1;r<e.length;r++){let t=e.charCodeAt(r);if(t===n)return r+1;if(t===10||t===13)return-1}return-1}function ae(e,t){let n=e.charCodeAt(t);return n!==34&&n!==39||n===34&&e.charCodeAt(t+1)===96||ie(e,t,n)!==-1}function oe(e,t,n){let[r,i]=P(e,t);return new S(`Error lexing usecase diagram: unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${n} characters. at line ${r}, column ${i} [${t},${t+n})`,`syntax`,{type:`usecase`,line:r,column:i})}function se(e){let t=[],n=[],r=[],i=e.length,a=0,o=!0,s=!1;for(;a<i;){let c=e.charCodeAt(a);if(c===32||c===9){a++;continue}let l,u=a+1,d=!1;if(c<128&&(A[c]&O)!==0){if(l=0,c===97&&o&&e.startsWith(`acc`,a)){let t=e.startsWith(`Descr`,a+3);if(t||e.startsWith(`Title`,a+3)){let n=a+8;for(;T(e.charCodeAt(n));)n++;let r=e.charCodeAt(n);if(r===58)for(l=t?42:41,u=n+1;u<i&&e.charCodeAt(u)!==10&&e.charCodeAt(u)!==13;)u++;else if(r===123&&t&&!s){let t=e.indexOf(`}`,n+1);t===-1?s=!0:(l=40,u=t+1)}}}else if(c===106&&e.startsWith(`json`,a)&&T(e.charCodeAt(a+4))){let s=a+5;for(;T(e.charCodeAt(s));)s++;let c=s;for(;M(e.charCodeAt(s));)s++;if(s>c){for(;T(e.charCodeAt(s));)s++;if(e.charCodeAt(s)===64){for(s++;T(e.charCodeAt(s));)s++;if(e.charCodeAt(s)===123){t.push(43),n.push(a),r.push(s),a=s;let c=0,l=!1,u=!1,d=s;for(;d<i;d++){let t=e.charCodeAt(d);if(l)u?u=!1:t===92?u=!0:t===34&&(l=!1);else if(t===34)l=!0;else if(t===123)c++;else if(t===125&&--c===0)break}t.push(d<i?44:45),n.push(s),a=d<i?d+1:i,r.push(a),o=!1;continue}}}}if(l===0){for(;u<i&&M(e.charCodeAt(u));)u++;let t=ne(e,a,c);if(t!==0)t===1||u-a===j[t]?(l=t,u=a+j[t]):l=21;else if((c===111||c===120)&&e.charCodeAt(a+1)===45&&e.charCodeAt(a+2)===45)l=c===111?56:58,u=a+3;else if(E(c)){let t=a+1;for(;E(e.charCodeAt(t));)t++;if(e.charCodeAt(t)===46&&E(e.charCodeAt(t+1))){for(l=22,u=t+2;E(e.charCodeAt(u));)u++;for(;C(e.charCodeAt(u));)u++}else l=21}else for(l=21;e.charCodeAt(u)===45&&M(e.charCodeAt(u+1));)for(l=27,u+=2;M(e.charCodeAt(u));)u++}}else if(c===10)l=39,d=!0;else if(c===13)l=39,d=!0,e.charCodeAt(u)===10&&u++;else if(c===34||c===39){if(c===34&&e.charCodeAt(a+1)===96){let t=e.indexOf('`"',a+2);l=t===-1?37:36,u=t===-1?i:t+2}else if(l=35,u=ie(e,a,c),u===-1){let t=a+1;for(;t<i&&!ae(e,t);)t++;throw oe(e,a,t-a)}}else if(c===37){if(o&&e.charCodeAt(u)===37)for(l=38;u<i&&e.charCodeAt(u)!==10&&e.charCodeAt(u)!==13;)u++;else l=31}else if(c===45){if(e.charCodeAt(u)!==45)l=29;else{for(;e.charCodeAt(u)===45;)u++;let t=e.charCodeAt(u),n=u-a===2;n&&t===124&&e.charCodeAt(u+1)===62?(l=46,u+=2):t===62?(l=53,u++):n&&(t===111||t===120)?(l=t===111?55:57,u++):l=59}}else if(c===46){let t=e.charCodeAt(u);if(t===46&&e.charCodeAt(u+1)===62)l=47,u+=2;else if(E(t)){for(l=22;E(e.charCodeAt(u));)u++;for(;C(e.charCodeAt(u));)u++}else l=30}else if(c===60){if(e.charCodeAt(u)===60){if(t.push(48),n.push(a),r.push(a+2),o=!1,a+=2,a>=i)break;if(e.charCodeAt(a)===62&&e.charCodeAt(a+1)===62)l=49,u=a+2;else{let o=a,s=!1;for(;o<i;o++){let t=e.charCodeAt(o);if(t===10||t===13)break;if(t===62&&e.charCodeAt(o+1)===62){s=!0;break}}if(s&&e.slice(a,o).trim()!==``)t.push(50),n.push(a),r.push(o),l=49,a=o,u=o+2;else{for(;o<i&&e.charCodeAt(o)!==10&&e.charCodeAt(o)!==13;)o++;if(o===a){for(;o<i&&(e.charCodeAt(o)===10||e.charCodeAt(o)===13);)o++;throw oe(e,a,o-a)}l=51,u=o}}}else if(e.charCodeAt(u)===45&&e.charCodeAt(u+1)===45)for(l=54,u+=2;e.charCodeAt(u)===45;)u++;else l=33}else if(c===58)e.charCodeAt(u)===58&&e.charCodeAt(u+1)===58?(l=52,u+=2):l=25;else if(c===64)e.charCodeAt(u)===123?(l=60,u++):l=23;else if(c===123)l=61;else if(c===125)l=62;else if(c===91)l=63;else if(c===93)l=64;else if(c===40)l=65;else if(c===41)l=66;else if(c===44)l=24;else if(c===35){for(;w(e.charCodeAt(u));)u++;l=u>a+1?26:32}else if(c===92)e.charCodeAt(u)===44?(l=28,u++):l=33;else if(c<127&&c>32)l=(A[c]&k)===0?33:32;else for(l=34;u<i;){let t=e.charCodeAt(u);if(t>=32&&t<127||t===9||t===10||t===13)break;u++}t.push(l),n.push(a),r.push(u),a=u,o=d}for(let e=0;e<3;e++)t.push(0),n.push(i),r.push(i);return{types:t,starts:n,ends:r}}function ce(){return{type:`usecase`,actors:new Map,useCases:new Map,systemBoundaries:new Map,relationships:[],notes:new Map,jsonNodes:new Map,classDefs:new Map,direction:`LR`,title:void 0,accTitle:``,accDescr:``,accDescription:``,source:``,headerSpan:[0,0],statements:[]}}function le(){return{elements:[],boundaries:[],jsons:[],relationships:[],notes:[],metadata:[],classes:[],styles:[],classDefs:[],direction:void 0,accTitle:``,accDescription:``}}function F(e,t){if(t.length===0)return;let n=new Set(e);for(let r of t)n.has(r)||(n.add(r),e.push(r))}function ue(e){let t=new Set([`actor`,`usecase`,`boundary`,`edge`]);for(let{key:n,value:r}of e)if(n===`icon`)t.clear(),t.add(`actor`);else if(n===`animate`||n===`animation`)t.clear(),t.add(`edge`);else if(n===`type`)t.clear(),r===`rect`||r===`package`?t.add(`boundary`):(r===`normal`||r===`hollow`||r===`awesome`)&&t.add(`actor`);else if(n===`business`)t.delete(`boundary`),t.delete(`edge`);else return;return t.size===1?[...t][0]:void 0}function de(e,t,n,r,i){let a=ce(),{actors:o,useCases:s,systemBoundaries:c}=a,l=new Map,u=new Map,d=new Map,f=new Map,p=new Map,m=t=>re(e,t[0],t[1]),h=(t,n)=>{let[r,i]=P(e,n[0]);return new S(t,`semantic`,{type:`usecase`,line:r,column:i})},g=(e,t)=>{throw h(`${e} at ${m(t)}`,t)},_=(e,t,n,r,i)=>{let a=e=>e===void 0?``:` (label "${e}")`;throw h(`${e} at ${m(t)}${a(r)}; previous declaration at ${m(n)}${a(i)}`,t)},v=(e,t,n)=>g(`Metadata property '${n.key}' is invalid for ${t} '${e}'`,n.keySpan),y=(e,t)=>{let n=p.get(e);(n===void 0||t<n)&&p.set(e,t)},b=e=>[...e].sort((e,t)=>(p.get(e.id)??0)-(p.get(t.id)??0)),x=(e,t)=>{l.set(e.id,{kind:t,span:e.span,generated:e.generated,label:e.label.text})},ee=(e,t)=>{let n=l.get(e.id);if(!n)return;let r=e.generated?e.label.text:void 0,i=n.generated?n.label:void 0;n.kind!==t&&_(`ID '${e.id}' is declared as both ${n.kind} and ${t}`,e.span,n.span,r,i),(n.generated||e.generated)&&_(`Generated ID '${e.id}' collides with another declaration`,e.span,n.span,r,i)},te=(e,t,n)=>{let r=l.get(e);r&&_(`ID '${e}' is declared more than once (${r.kind} and ${t})`,n,r.span,void 0,r.generated?r.label:void 0),l.set(e,{kind:t,span:n,generated:!1})},C=(e,t,n)=>{let{key:r,value:i}=t,a=a=>{!n&&a!==void 0&&a!==i&&_(`Actor '${e.id}' has conflicting ${r} metadata`,t.keySpan,e.span)};r===`type`&&(i===`normal`||i===`hollow`||i===`awesome`)?(a(e.actorType),e.actorType=i):r===`icon`&&typeof i==`string`?(a(e.icon),e.icon=i):r===`business`&&typeof i==`boolean`?(a(e.business),e.business=i):v(e.id,`actor`,t)},w=(e,t,n)=>{for(let r of t??[])e.kind===`actor`?C(e,r,n):r.key===`business`&&typeof r.value==`boolean`?(!n&&e.business!==void 0&&e.business!==r.value&&_(`Use case '${e.id}' has conflicting business metadata`,r.keySpan,e.span),e.business=r.value):v(e.id,`usecase`,r)},T=e=>{let t;if(e.kind===`actor`){s.delete(e.id);let n={id:e.id,label:e.label.text,labelType:e.label.type,business:e.business??!1,classes:[...e.classes],type:e.icon?`icon`:e.actorType??`normal`,styles:o.get(e.id)?.styles??[]};e.icon&&(n.icon=e.icon),o.set(e.id,n),t=n}else o.delete(e.id),t={id:e.id,label:e.label.text,labelType:e.label.type,business:e.business??!1,classes:[...e.classes],shape:e.shape??`ellipse`,styles:s.get(e.id)?.styles??[]},s.set(e.id,t);e.stereotype&&(t.stereotype=e.stereotype),e.parent?.id&&(t.parentId=e.parent.id)},E=e=>{ee(e,e.kind);let t=e.parent?.id?e.parent:void 0,n=u.get(e.id);if(!n){let n={kind:e.kind,id:e.id,label:e.label,span:e.span,generated:e.generated,classes:[...e.classes],parent:t,shape:e.shape,stereotype:e.stereotype,stereotypeSpan:e.stereotype?e.span:void 0};w(n,e.metadata,!1),u.set(e.id,n),x(e,e.kind);return}(n.label.text!==e.label.text||n.label.type!==e.label.type)&&_(`ID '${e.id}' has conflicting labels`,e.span,n.span),e.shape&&n.shape&&e.shape!==n.shape&&_(`Use case '${e.id}' has conflicting shapes`,e.span,n.span),t&&n.parent?.id&&t.id!==n.parent.id&&_(`Element '${e.id}' belongs to more than one system boundary`,t.span,n.parent.span),e.stereotype&&n.stereotype&&e.stereotype!==n.stereotype&&_(`Element '${e.id}' has conflicting stereotypes`,e.span,n.stereotypeSpan??n.span),n.shape??=e.shape,n.parent??=e.parent,n.stereotype??=e.stereotype,n.stereotypeSpan??=e.stereotype?e.span:void 0,F(n.classes,e.classes),w(n,e.metadata,!1)},D=e=>{ee(e,`boundary`);let t=d.get(e.id);if(t){(t.label.text!==e.label.text||t.label.type!==e.label.type)&&_(`Boundary '${e.id}' has conflicting titles`,e.span,t.span),F(t.classes,e.classes);return}d.set(e.id,{...e,classes:[...e.classes],members:[]}),x(e,`boundary`)},O=e=>{e.classed&&!e.declares&&g(`Relationship endpoint '${e.id}' uses ::: without declaring the node`,e.span);let t=l.get(e.id);return t?t.kind:(u.set(e.id,{...e,kind:`usecase`,shape:`ellipse`,classes:[]}),x(e,`usecase`),y(e.id,e.span[0]),`usecase`)},k=(e,t)=>{let n=l.get(e)?.kind;return(n===`actor`?o.get(e):n===`usecase`?s.get(e):n===`boundary`?c.get(e):n===`json`?a.jsonNodes.get(e):f.get(e))??g(`Class/style target '${e}' is unresolved or anonymous`,t)},A=[];for(let{source:e,target:n}of t.relationships)y(e.id,e.span[0]),y(n.id,n.span[0]);for(let e of t.elements)y(e.id,e.span[0]),A.push({offset:e.span[0],run:()=>E(e)});for(let e of t.boundaries)y(e.id,e.span[0]),A.push({offset:e.span[0],run:()=>D(e)});for(let e of t.jsons)y(e.id,e.span[0]),A.push({offset:e.span[0],run:()=>te(e.id,`json`,e.span)});for(let{id:e,idSpan:n}of t.relationships)e&&n&&A.push({offset:n[0],run:()=>te(e,`edge`,n)});A.sort((e,t)=>e.offset-t.offset);for(let e of A)e.run();for(let e of b(u.values()))T(e);for(let e of b(d.values()))c.set(e.id,{id:e.id,label:e.label.text,labelType:e.label.type,type:`rect`,members:[],classes:[],styles:[]});for(let e of b(t.jsons))a.jsonNodes.set(e.id,{id:e.id,value:e.value,propertyOrder:e.propertyOrder,classes:[...e.classes],styles:[]});let j=0;for(let e of t.relationships){let{source:t,target:n,type:r}=e,i=O(t),o=O(n),s=e=>e===`actor`||e===`usecase`||e===`json`;s(i)||_(`Relationship source '${t.id}' cannot be ${i}`,t.span,l.get(t.id).span),s(o)||_(`Relationship target '${n.id}' cannot be ${o}`,n.span,l.get(n.id).span),(r===`include`||r===`extend`)&&(i!==`usecase`||o!==`usecase`)&&g(`${r} relationship requires use-case endpoints`,e.span),r===`generalization`&&(i===`json`||i!==o)&&g(`Generalization requires actor-to-actor or use-case-to-use-case endpoints`,e.span),r===`association`&&(i===`json`||o===`json`)&&e.arrowType>2&&g(`JSON relationship '${t.id}' to '${n.id}' permits only point, reversed-point, or markerless solid association`,e.span);let c=e.id??`edge-${j++}`,u={id:c,explicitId:!!e.id,source:t.id,target:n.id,type:r,arrowType:e.arrowType,minlen:e.minlen,classes:[],styles:[],animate:!1};e.label&&(u.label=e.label.text,u.labelType=e.label.type),a.relationships.push(u),f.set(c,u)}let M=new Map(o),N=new Map(s);o.clear(),s.clear();for(let e of b(u.values())){let t=M.get(e.id),n=N.get(e.id);t?o.set(e.id,t):n?s.set(e.id,n):T(e)}for(let{target:e,span:n,properties:r,statement:i}of t.metadata){let t=l.get(e);if(!t){let t=ue(r);return g(`Metadata target '${e}' is unresolved${t?` (metadata implies ${t})`:``}`,n)}let a=t.kind;a===`actor`||a===`usecase`?w(u.get(e),r,!0):a===`edge`&&(i.kind=`edgeMetadata`,i.edges=[{id:e,span:i.span,idSpan:n,metadata:i.metadata}],delete i.nodes);let o=d.get(e),s=f.get(e);for(let t of a===`actor`||a===`usecase`?[]:r){let{key:n,value:r}=t;a===`boundary`&&o&&n===`type`&&(r===`rect`||r===`package`)?o.type=r:a===`edge`&&s&&n===`animate`&&typeof r==`boolean`?s.animate=r:a===`edge`&&s&&n===`animation`&&(r===`fast`||r===`slow`)?(s.animation=r,s.animate=!0):v(e,a,t)}}for(let e of a.relationships)e.animation&&(e.animate=!0);for(let e of u.values())e.kind===`actor`?(e.icon&&e.actorType&&e.actorType!==`normal`&&g(`Actor '${e.id}' cannot combine icon with type '${e.actorType}'`,e.span),e.business&&(e.icon||e.actorType===`awesome`)&&g(`Business actor '${e.id}' must use normal or hollow geometry`,e.span)):e.shape===`rect`&&e.business&&g(`Rectangular use case '${e.id}' cannot be a business use case`,e.span),T(e);for(let e of[...t.elements].sort((e,t)=>e.span[0]-t.span[0])){if(!e.parent?.id)continue;let t=d.get(e.parent.id).members;t.includes(e.id)||t.push(e.id)}for(let e of d.values()){let t=c.get(e.id);t.type=e.type??`rect`,t.members=e.members,t.classes=[...e.classes]}let ne=0;for(let e of t.notes){let t=l.get(e.target);if(!t)return g(`Note target '${e.target}' is unresolved`,e.span);t.kind!==`actor`&&t.kind!==`usecase`&&_(`Note target '${e.target}' must be an actor or use case, not ${t.kind}`,e.span,t.span);let n=`note-${ne++}`;a.notes.set(n,{id:n,target:e.target,label:e.label.text,labelType:e.label.type})}for(let e of t.classDefs)for(let t of e.ids)a.classDefs.set(t,{id:t,styles:[...e.styles]});for(let e of t.classes)for(let t of e.targets)F(k(t.id,t.span).classes,e.classes);for(let e of t.styles)k(e.target,e.span).styles.push(...e.styles);return a.direction=t.direction??a.direction,a.title=i,a.accTitle=t.accTitle,a.accDescription=t.accDescription,a.accDescr=t.accDescription.replace(/\n\s+/g,`
2
2
  `),a.source=e,a.headerSpan=n,a.statements=r,a}var I=class extends Error{constructor(e){super(`Invalid JSON token`),this.offset=e}offset};function fe(e){let t=new Map,n=[],r=[],i=e.length,a=0,o=``,s=0,c=()=>{for(;a<i;){let t=e.charCodeAt(a);if(t!==32&&t!==9&&t!==10&&t!==13)return;a++}},l=t=>{a++;let n=``;for(;a<i;){let r=a,i=e[a++];if(i===`"`)return n;if(i.charCodeAt(0)<32)throw new I(r);if(i!==`\\`){t&&(n+=i);continue}let o=a,s=e[a++],c;if(s===`"`||s===`\\`||s===`/`)c=s;else if(s===`b`)c=`\b`;else if(s===`f`)c=`\f`;else if(s===`n`)c=`
3
3
  `;else if(s===`r`)c=`\r`;else if(s===`t`)c=` `;else if(s===`u`){let t=e.slice(a,a+4);if(!/^[\dA-Fa-f]{4}$/.test(t))throw new I(a);c=String.fromCharCode(parseInt(t,16)),a+=4}else throw new I(o);t&&(n+=c)}throw new I(a)},u=t=>{for(let n=0;n<t.length;n++)if(e[a+n]!==t[n])throw new I(a+n);a+=t.length},d=()=>{if(e.charCodeAt(a)===45&&a++,e.charCodeAt(a)===48)a++;else if(E(e.charCodeAt(a)))for(;E(e.charCodeAt(a));)a++;else throw new I(a);if(e.charCodeAt(a)===46){if(a++,!E(e.charCodeAt(a)))throw new I(a);for(;E(e.charCodeAt(a));)a++}if((e.charCodeAt(a)|32)==101){if(a++,(e.charCodeAt(a)===43||e.charCodeAt(a)===45)&&a++,!E(e.charCodeAt(a)))throw new I(a);for(;E(e.charCodeAt(a));)a++}};for(c();;)if(s===0){c();let i=e.charCodeAt(a);if(s=2,i===123){a++;let i=[];t.set(o,i),n.push(o),c(),e.charCodeAt(a)===125?a++:(r.push({object:!0,pointer:o,keys:i,ranges:new Map,key:``,from:0,index:0}),s=1)}else if(i===91)a++,c(),e.charCodeAt(a)===93?a++:(r.push({object:!1,pointer:o,keys:[],ranges:new Map,key:``,from:0,index:0}),o+=`/0`,s=0);else if(i===34)l(!1);else if(i===116)u(`true`);else if(i===102)u(`false`);else if(i===110)u(`null`);else if(i===45||E(i))d();else throw new I(a)}else if(s===1){let i=r[r.length-1];if(e.charCodeAt(a)!==34)throw new I(a);let u=l(!0),d=i.ranges.get(u);if(d===void 0)i.keys.push(u);else for(let e=d[0];e<d[1];e++)t.delete(n[e]);if(i.key=u,i.from=n.length,c(),e.charCodeAt(a)!==58)throw new I(a);a++,o=`${i.pointer}/${u.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}`,s=0}else{let t=r[r.length-1];if(t===void 0)break;t.object?t.ranges.set(t.key,[t.from,n.length]):t.index++,c();let i=e.charCodeAt(a);if(i===(t.object?125:93))a++,r.pop();else{if(i!==44)throw new I(a);a++,c(),o=`${t.pointer}/${t.index}`,s=+!!t.object}}if(c(),a!==i)throw new I(a);return t}function pe(e,t,n,r){let i=Math.min(Math.max(t,0),e.length);for(let t=0;t<i;t++){let i=e.charCodeAt(t);i===13?(n++,r=1):i===10?(t===0||e.charCodeAt(t-1)!==13)&&(n++,r=1):r++}return[n,r]}function me(e,t,n,r){let i=/\bposition (\d+)\b/.exec(e);if(i)return pe(t,parseInt(i[1],10),n,r);let a=/\bline (\d+) column (\d+)\b/.exec(e);if(a){let e=parseInt(a[1],10),t=parseInt(a[2],10);return[n+e-1,e===1?r+t-1:t]}if(/unexpected end|end of json input/i.test(e))return pe(t,t.length,n,r)}function he(e,t,n){return new S(`${e} (line ${t}, column ${n})`,`syntax`,{type:`usecase`,line:t,column:n})}function ge(e,t){let n;try{n=JSON.parse(e)}catch(n){let r=n instanceof Error?n.message:String(n),[i,a]=t(),o=me(r,e,i,a);if(!o){let t=0;try{fe(e)}catch(e){e instanceof I&&(t=e.offset)}o=pe(e,t,i,a)}throw he(`Invalid JSON: ${r}`,o[0],o[1])}if(typeof n!=`object`||!n||Array.isArray(n)){let[e,n]=t();throw he(`JSON value must have an object root`,e,n)}return{value:n,propertyOrder:fe(e)}}var _e=1,ve=2,ye=4,be=8,xe=16,Se=32,Ce=64,we=`DEPENDENCY_ARROW|GENERALIZATION|FORWARD_SOLID|BACKWARD_SOLID|MARKERLESS_SOLID|FORWARD_CIRCLE|BACKWARD_CIRCLE|FORWARD_CROSS|BACKWARD_CROSS`,Te=`IDENTIFIER|PLAIN_STRING|MARKDOWN_STRING`,Ee=`PLAIN_STRING|MARKDOWN_STRING|LABEL_TEXT`,De=`ACC_TITLE_LINE|ACC_DESCR_LINE|ACC_DESCR_BLOCK|DIRECTION|ACTOR|SYSTEM_BOUNDARY|NOTE|JSON_DECLARATION_START|CLASS_DEF|CLASS|STYLE`,Oe=`WORD|PLAIN_STRING|NUMBER|HASH_COLOR|CSS_IDENTIFIER|CSS_ESCAPED_COMMA|DASH|DOT|PERCENT|CSS_PUNCTUATION|COLON|LPAREN|RPAREN|LBRACKET|RBRACKET|LBRACE|RBRACE|AT|MARKERLESS_SOLID`,L=new Uint8Array(67);function R(e,t){for(let n of e.split(`|`))if(n===`WORD`)for(let e=1;e<=21;e++)L[e]|=t;else L[D.indexOf(n)]|=t}R(`NEWLINE|COMMENT|${De}|${Te}`,_e),R(`IDENTIFIER|${we}`,ve),R(Oe,ye),R(`STEREOTYPE_START|CLASS_SEPARATOR|IDENTIFIER|${we}|NEWLINE|EOF`,be),R(`NEWLINE|COMMENT|ACTOR|${Te}`,xe),R(`FORWARD_SOLID|MARKERLESS_SOLID|FORWARD_CIRCLE|FORWARD_CROSS`,Se),R(`NEWLINE|IDENTIFIER|PLAIN_STRING|RBRACE`,Ce);var ke=new Set([`allowmixing`,`newpage`,`package`,`rectangle`,`skinparam`]),z=``,B=[],V=[],H=[],U=0,Ae=0,W,je,Me=[],Ne=0,Pe=0;function G(e){return z.slice(V[e],H[e])}function K(e){return[V[e],H[e]]}function Fe(e){let[t,n]=P(z,V[U]);throw new S(`Error parsing usecase diagram: ${e} at line ${t}, column ${n} [${V[U]},${H[U]})`,`syntax`,{type:`usecase`,line:t,column:n})}function Ie(e){Fe(`Expecting token of type --> ${e} <-- but found --> '${G(U)}' <--`)}function q(e){return B[U]!==e&&Ie(D[e]),U++}function J(e){Fe(`Expecting: one of these possible Token sequences:
4
4
  ${e.split(`|`).map((e,t)=>` ${t+1}. [${e}]`).join(`
@@ -6,4 +6,4 @@ ${e.split(`|`).map((e,t)=>` ${t+1}. [${e}]`).join(`
6
6
  but found: '${G(U)}'`)}function Le(){let e=Te.split(`|`),t=e.flatMap(e=>[`NEWLINE`,`IDENTIFIER`,`PLAIN_STRING`,`RBRACE`].map(t=>`${e}, METADATA_START, ${t}`)),n=`STEREOTYPE_START|CLASS_SEPARATOR|IDENTIFIER|${we}|NEWLINE|EOF`.split(`|`),r=e.flatMap((e,t)=>(t===0?[`LPAREN`,`LBRACKET`,...n]:n).map(t=>`${e}, ${t}`));return[De,...t,...r,...t].join(`|`)}function Re(e){return e>=1&&e<=21}function ze(e){return e>=1&&e<=34}function Y(){Ae=H[U-1],B[U]===39?U++:B[U]!==0&&J(`NEWLINE|EOF`)}function X(e){let t=B[e]===36?2:+(B[e]===35);return[V[e]+t,H[e]-t]}function Be(e){let t=X(e);return{text:z.slice(t[0],t[1]),type:B[e]===36?`markdown`:`text`,span:t}}function Ve(e){return e.replace(/\W/g,`_`)}function He(){let e=B[U];if(e===35||e===36)return Be(U++);ze(e)||J(Ee);let t=U;for(;ze(B[U]);)U++;let n=[V[t],H[U-1]];return{text:z.slice(n[0],n[1]),type:`text`,span:n}}function Z(e){return e===21||e===35}function Ue(){let e=U;Z(B[U])||J(`IDENTIFIER|PLAIN_STRING`),U++,q(25);let t=U,n=B[U];!Z(n)&&n!==19&&n!==20&&J(`IDENTIFIER|PLAIN_STRING|TRUE|FALSE`),U++;let r=X(e),i=X(t);return{key:z.slice(r[0],r[1]),value:n===19||n!==20&&z.slice(i[0],i[1]),span:[V[e],H[t]],keySpan:r,valueSpan:i}}function We(){let e=B[U],t=B[U+1],n=B[U+2];return e===24?Z(t)||t===39&&(n===39||Z(n)):e===39?t===24||Z(t)||t===39&&(n===39||n===24||Z(n)):!1}function Ge(){q(60);let e=[];for(;B[U]===39;)U++;if(Z(B[U])){for(e.push(Ue());We();){if(B[U]===24)U++;else{for(;B[U]===39;)U++;B[U]===24&&U++}for(;B[U]===39;)U++;e.push(Ue())}for(B[U]===24&&U++;B[U]===39;)U++}return q(62),e}function Ke(e){return e.map(({key:e,span:t,keySpan:n,valueSpan:r})=>({key:e,span:t,keySpan:n,valueSpan:r}))}function qe(e,t){do{U++;let n=q(21);e.push(G(n)),t.push(K(n))}while(B[U]===24)}function Je(e){let t=U,n=B[U],r={id:``,label:void 0,span:X(t),generated:n!==21,classes:[],classSpans:[],explicit:!1,nodeSpan:[0,0]};if(n===21){U++,r.id=G(t);let n=B[U];n===65||e&&n===63?(U++,r.label=He(),q(n===65?66:64),r.shape=n===65?`ellipse`:`rect`):r.label=Be(t)}else n===35||n===36?(U++,r.label=Be(t),r.id=Ve(r.label.text)):J(Te);return r}function Ye(e){let t=U,n=Je(!e);if(e&&(n.shape=void 0),B[U]===60&&(n.metadata=Ge()),B[U]===48){U++;let e=q(50);q(49),n.stereotype=G(e).trim(),n.stereotypeSpan=K(e)}return B[U]===52&&qe(n.classes,n.classSpans),n.explicit=!!(n.shape||n.metadata||n.stereotype),n.nodeSpan=[V[t],H[U-1]],n}function Xe(e,t){return{id:e.id,kind:t,label:e.label,span:e.span,generated:e.generated,parent:je,shape:e.shape,metadata:e.metadata,stereotype:e.stereotype,classes:e.classes}}function Ze(e,t){return{id:e.id,label:e.label,span:e.span,generated:e.generated,declares:t,classed:e.classes.length>0}}function Qe(e,t){let n={id:e.id,span:e.nodeSpan,idSpan:e.span,labelSpan:e.label.span};return t&&(n.defines=!0),e.stereotypeSpan&&(n.stereotypeSpan=e.stereotypeSpan),e.metadata&&(n.metadata=Ke(e.metadata)),e.classSpans.length>0&&(n.classSpans=e.classSpans),n}function $e(e){if(B[U]<1||B[U]>36)return!1;for(let t=U+1;;t++){let n=B[t];if(n===59||(L[n]&e)!==0)return!0;if(n<1||n>36)return!1}}function et(e){let t=H[e]-V[e]-(B[e]===59?0:1);return Math.max(1,t-1)}function tt(){let e=U,t={type:`association`,arrowType:0,minlen:1,target:void 0,span:[0,0]};B[U]===21&&B[U+1]===23&&(t.explicitId=G(U),t.explicitIdSpan=K(U),U+=2);let n=U,r=B[U++];if(r===47)q(25),B[U]!==17&&B[U]!==18&&J(`INCLUDE|EXTEND`),t.type=B[U]===17?`include`:`extend`,t.label={text:t.type,type:`text`,span:K(U)},U++;else if(r===46)t.type=`generalization`;else if(r===53)t.minlen=et(n);else if(r===54)t.arrowType=1,H[n]-V[n]===3&&$e(0)?(t.label=He(),t.minlen=et(q(59))):t.minlen=et(n);else if(r===59){if(t.arrowType=2,H[n]-V[n]===2&&$e(Se)){t.label=He();let e=B[U];e===53?t.arrowType=0:e===55?t.arrowType=3:e===57?t.arrowType=4:e!==59&&J(`FORWARD_SOLID|MARKERLESS_SOLID|FORWARD_CIRCLE|FORWARD_CROSS`),(t.arrowType===0||t.arrowType===2)&&(t.minlen=et(U)),U++}else t.minlen=et(n)}else r===55?t.arrowType=3:r===57?t.arrowType=4:r===56||r===58?(t.arrowType=r===56?5:6,$e(0)&&(t.label=He(),q(59))):(U--,J(we));return t.target=Ye(!1),t.span=[V[e],H[U-1]],t}function Q(e){return{kind:e,span:[0,0]}}function nt(e,t,n,r){let i=n.target;i.explicit&&W.elements.push(Xe(i,`usecase`)),W.relationships.push({source:Ze(e,t),target:Ze(i,i.explicit),span:n.span,id:n.explicitId,idSpan:n.explicitIdSpan,type:n.type,arrowType:n.arrowType,label:n.label,minlen:n.minlen}),r.push(Qe(i,i.explicit));let a=Q(`edge`);return a.nodes=r,a.edges=[{id:n.explicitId??`edge-${Ne++}`,span:a.span}],n.explicitIdSpan&&(a.edges[0].idSpan=n.explicitIdSpan),n.label&&(a.edges[0].labelSpan=n.label.span),a}function rt(e){let t=Q(`node`);return t.nodes=e,t}function it(e){U++;let t=[Ye(!0)],n;if(B[U]===24)do U++,t.push(Ye(!0));while(B[U]===24);else e&&(L[B[U]]&ve)!==0&&(n=tt());Y();for(let e of t)W.elements.push(Xe(e,`actor`));let r=t.map(e=>Qe(e,!0));return n?nt(t[0],!0,n,r):rt(r)}function at(e){let t=Ye(!1),n=e&&(L[B[U]]&ve)!==0?tt():void 0;Y(),n||(t.explicit=!0,t.shape??=`ellipse`),t.explicit&&W.elements.push(Xe(t,`usecase`));let r=[Qe(t,t.explicit)];return n?nt(t,t.explicit,n,r):rt(r)}function ot(){U++;let e=Je(!0),t={id:e.id,label:e.label,span:e.span,generated:e.generated,classes:e.classes},n=B[U]===60?Ge():void 0;B[U]===52&&qe(e.classes,e.classSpans),Y(),W.boundaries.push(t),je=t;let r=[];for(;(L[B[U]]&xe)!==0;)r.push(ft(!1));je=void 0;let i=q(4);Y();let a=Q(`group`);return a.group=t.id,a.idSpan=t.span,a.titleSpan=t.label.span,a.endSpan=K(i),a.classSpans=e.classSpans,r.length>0&&(a.children=r),n&&(a.metadata=Ke(n),W.metadata.push({target:t.id,span:t.span,properties:n,statement:a})),a}function st(){let e=U,t=B[U];for(Re(t)||t===27?U++:t===59?(U++,Re(B[U])||Ie(`WORD`),U++):J(`WORD|CSS_IDENTIFIER|MARKERLESS_SOLID`),q(25),(L[B[U]]&ye)===0&&Fe(`Expecting: expecting at least one iteration which starts with one of these possible Token sequences::
7
7
  <[${Oe.replaceAll(`|`,`] ,[`)}]>
8
8
  but found: '${G(U)}'`);(L[B[U]]&ye)!==0;)U++;return z.slice(V[e],H[U-1]).replaceAll(`\\,`,`,`)}function ct(){let e=[st()];for(;B[U]===24;)U++,e.push(st());return e}function lt(){let e=[q(21)];for(;B[U]===24;)U++,e.push(q(21));return e}function ut(e){let t=X(e);return{id:G(e),span:t,idSpan:t}}function dt(){let e=U,t=B[U],n;if(t===41||t===42||t===40){U++;let r=G(e);t===40?W.accDescription=r.slice(r.indexOf(`{`)+1,r.lastIndexOf(`}`)).trim():t===42?W.accDescription=r.slice(r.indexOf(`:`)+1).trim():W.accTitle=r.slice(r.indexOf(`:`)+1).trim(),n=Q(t===41?`accTitle`:`accDescr`)}else if(t===5){U++;let e=B[U];(e<6||e>10)&&J(`TD|TB|BT|LR|RL`),W.direction=e===6?`TB`:G(U),U++,n=Q(`direction`)}else{if(t===2)return it(!0);if(t===3)return ot();if(t===11){U++,q(12);let e=q(21),t=He();W.notes.push({target:G(e),span:K(e),label:t}),n=Q(`note`),n.ref=`note-${Pe++}`,n.refSpan=t.span,n.nodes=[ut(e)]}else if(t===43){U++;let t=q(44),r=[],i=[];B[U]===52&&qe(r,i);let a=V[e]+4;for(;z.charCodeAt(a)===32||z.charCodeAt(a)===9;)a++;let o=a;for(;/\w/.test(z.charAt(o));)o++;let s={id:z.slice(a,o),value:{},propertyOrder:new Map,span:[a,o],classes:r};W.jsons.push(s),Me.push([s,t]),n=Q(`json`),n.nodes=[{id:s.id,span:s.span,idSpan:s.span,defines:!0,classSpans:i}],n.classSpans=i}else if(t===14){U++;let e=lt();W.classDefs.push({ids:e.map(G),styles:ct()}),n=Q(`classDef`),n.ref=G(e[0]),n.refSpan=K(e[0])}else if(t===15){U++;let e=lt(),t=lt();W.classes.push({targets:e.map(e=>({id:G(e),span:K(e)})),classes:t.map(G)}),n=Q(`classAssign`),n.ref=G(t[0]),n.refSpan=K(t[0]),n.nodes=e.map(ut)}else if(t===16){U++;let e=q(21);W.styles.push({target:G(e),span:K(e),styles:ct()}),n=Q(`style`),n.nodes=[ut(e)]}else{let r=B[U+1];if(r===60){(L[B[U+2]]&Ce)===0&&J(Le()),U++;let r=ut(e);t!==21&&(r.id=Ve(z.slice(r.span[0],r.span[1])));let i=Ge();n=Q(`metadata`),n.nodes=[r],n.metadata=Ke(i),W.metadata.push({target:r.id,span:r.span,properties:i,statement:n})}else return((L[r]&be)===0&&(t!==21||r!==65&&r!==63)||t===21&&ke.has(G(e).toLowerCase()))&&J(Le()),at(!0)}}return Y(),n}function ft(e){let t=U,n=B[U];if(n===39)return U++,{kind:`blank`,span:K(t)};if(n===38)return U++,Y(),{kind:`comment`,span:K(t)};let r=e?dt():n===2?it(!1):at(!1);if(r.span=[V[t],Ae],r.edges)for(let e of r.edges)e.span=r.span;return r}function pt(e,t){z=e,{types:B,starts:V,ends:H}=se(e),U=0,W=le(),je=void 0,Me=[],Ne=0,Pe=0;try{let n=q(1);Y();let r=[];for(;(L[B[U]]&_e)!==0;)r.push(ft(!0));B[U]!==0&&Fe(`Redundant input, expecting EOF but found: ${G(U)}`);for(let[t,n]of Me){let r=ge(G(n),()=>P(e,V[n]));t.value=r.value,t.propertyOrder=r.propertyOrder}return de(e,W,K(n),r,t)}finally{z=``,B=V=H=Me=[]}}var mt={normal:`usecaseActor`,hollow:`usecaseActorHollow`,awesome:`usecaseActorAwesome`,icon:`usecaseActorIcon`},ht=[[`none`,`arrow_point`],[`arrow_point`,`none`],[`none`,`none`],[`none`,`arrow_circle`],[`none`,`arrow_cross`],[`arrow_circle`,`none`],[`arrow_cross`,`none`]];function gt(e){return typeof e==`string`?e:e===null?`null`:String(e)}function _t(e){let t=[],n=[[e.value,``,``]],r=[];for(;n.length>0;){let[i,a,o]=n.pop();if(r.length=0,Array.isArray(i))i.length===0?t.push({key:a,accessibleKey:a,value:`[]`}):i.every(e=>typeof e!=`object`||!e)?i.forEach((e,n)=>t.push({key:n===0?a:``,accessibleKey:a,value:gt(e)})):i.forEach((e,t)=>r.push([e,`${a}[${t}]`,`${o}/${t}`]));else if(typeof i==`object`&&i){let n=i,s=e.propertyOrder.get(o)??Object.keys(n);s.length===0&&t.push({key:a,accessibleKey:a,value:`{}`});for(let e of s)r.push([Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0,a?`${a}.${e}`:e,`${o}/${e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}`])}else t.push({key:a,accessibleKey:a,value:gt(i)});for(let e=r.length-1;e>=0;e--)n.push(r[e])}return t}function vt(...e){return e.filter(Boolean).join(` `)}function yt(e){return e.type===`generalization`?[`none`,`extension`]:e.type===`association`?ht[e.arrowType]??ht[2]:ht[0]}function bt(e){let t=[],n=[],r=t=>{let n=new Map;for(let r of[`default`,...t]){let t=e.classDefs.get(r);if(t)for(let e of t.styles){let t=e.trim(),r=t.indexOf(`:`),i=(r===-1?t:t.slice(0,r)).trim();i&&n.set(i,t)}}return[...n.values()]};for(let n of e.actors.values())t.push({id:n.id,label:n.label,labelType:n.labelType,shape:mt[n.type],isGroup:!1,padding:10,cssClasses:vt(`default`,`usecase-actor`,`usecase-actor-${n.type}`,n.business&&`usecase-business`,...n.classes),cssStyles:[...n.styles],cssCompiledStyles:r(n.classes),actorType:n.type,business:n.business,icon:n.icon||void 0,stereotype:n.stereotype||void 0,parentId:n.parentId||void 0});for(let n of e.useCases.values()){let e=n.shape===`ellipse`;t.push({id:n.id,label:n.label,labelType:n.labelType,shape:e?n.business?`usecaseBusiness`:`usecaseEllipse`:`rect`,isGroup:!1,padding:e?20:10,cssClasses:vt(`default`,`usecase-element`,`usecase-${n.shape}`,n.business&&`usecase-business`,...n.classes),cssStyles:[...n.styles],cssCompiledStyles:r(n.classes),business:n.business,stereotype:n.stereotype||void 0,parentId:n.parentId||void 0})}for(let n of e.notes.values())t.push({id:n.id,label:n.label,labelType:n.labelType,shape:`note`,isGroup:!1,padding:10,cssClasses:`default usecase-note`,cssStyles:[],cssCompiledStyles:r([]),noteTarget:n.target});for(let n of e.jsonNodes.values())t.push({id:n.id,label:n.id,labelType:`text`,shape:`usecaseJsonTable`,isGroup:!1,padding:10,cssClasses:vt(`default`,`usecase-json-table`,...n.classes),cssStyles:[...n.styles],cssCompiledStyles:r(n.classes),jsonRows:_t(n)});for(let n of e.systemBoundaries.values())t.push({id:n.id,label:n.label,labelType:n.labelType,shape:`usecaseSystemBoundary`,isGroup:!0,padding:20,cssClasses:vt(`default`,`system-boundary`,`system-boundary-${n.type}`,...n.classes),cssStyles:[...n.styles],cssCompiledStyles:r(n.classes),boundaryType:n.type});for(let t of e.relationships){let e=t.type===`include`||t.type===`extend`,[i,a]=yt(t),o=t.animate||t.animation!==void 0,s={id:t.id,start:t.source,end:t.target,relationshipType:t.type,pattern:e?`dotted`:`solid`,arrowTypeStart:i,arrowTypeEnd:a,classes:vt(`default`,`relationship`,`relationship-${t.type}`,...t.classes,o&&`edge-animation-${t.animation??`fast`}`),style:[...t.styles],cssCompiledStyles:r(t.classes),animate:t.animate,animation:t.animation,minlen:t.minlen,explicitId:t.explicitId,internal:!1};e?(s.label=t.type,s.labelType=`text`):t.type===`association`&&(t.label&&(s.label=t.label),t.labelType&&(s.labelType=t.labelType)),n.push(s)}for(let t of e.notes.values())n.push({id:`${t.id}-edge`,start:t.id,end:t.target,relationshipType:`note`,pattern:`dotted`,arrowTypeStart:`none`,arrowTypeEnd:`none`,classes:`default relationship relationship-note`,style:[],cssCompiledStyles:r([]),animate:!1,minlen:1,explicitId:!1,internal:!0});return{nodes:t,edges:n}}var xt=32,St=16,Ct=72,wt=20,Tt=26,Et=40,Dt=60,Ot=6,kt=6,At=10,jt=8,Mt=9,Nt=12,Pt=14,Ft=` fill="var(--_s)" stroke="var(--_b)"`;function It(e,t,n){let r=e.usecase?.[t];return typeof r==`number`&&r>0?Math.min(r,2e3):n}function Lt(e){return e.replace(/[&<>\\]/g,e=>`&#${e.charCodeAt(0)};`)}function $(e,t,n,r,i,a=0){return c(e&&!t?Lt(e):e,t,n,r,i,a)}function Rt(e,t,n,r){let i=n===1||n===2?1:-1,a=n===1||n===3,o=(a?e.w:e.h)/2,s=0;if(e.kind===0)a?(o=Et/2+3,s=(Dt-e.h)/2):o+=2;else if(e.kind===1){let t=(a?e.h:e.w)/2;o*=Math.sqrt(Math.max(1-(r/t)**2,0))}return a?[t.x+i*o,t.y+s+r]:[t.x+r,t.y+i*o]}function zt(e,t){let n=t===1||t===3;if(e.kind===0)return n?Dt*.5:Et*.6;let r=n?e.h:e.w;return e.kind===1?r*.6:r-16}function Bt(e,t,n){let r=new Map,i=(e,n,i,a)=>{let o=t[e];if(o.isGroup)return;let s=n[i]-o.x,c=n[i+1]-o.y,l;if(Math.abs(Math.abs(c)-o.h/2)<.5)l=c<0?0:2;else if(Math.abs(Math.abs(s)-o.w/2)<.5)l=s<0?3:1;else return;let u=e*4+l,d={route:n,at:i,toward:n[a+(l&1?1:0)]},f=r.get(u);f?f.push(d):r.set(u,[d])};for(let t of e){let e=t.route.length-3;t.src===t.dst||e<3||(i(t.src,t.route,0,3),i(t.dst,t.route,e,e-3))}for(let[e,i]of r){let r=e>>2,a=e&3,o=n[r],s=i.length>1?Math.min(Pt,zt(o,a)/(i.length-1)):0;i.sort((e,t)=>e.toward-t.toward);for(let e=0;e<i.length;e++){let[n,c]=Rt(o,t[r],a,(e-(i.length-1)/2)*s);i[e].route[i[e].at]=n,i[e].route[i[e].at+1]=c}}}function Vt(e,n,r,i,a){let o=e-r*Nt,s=n-i*Nt,c=Nt*.5;return`<path class="pele-marker" d="M${t(e)},${t(n)}L${t(o-i*c)},${t(s+r*c)}L${t(o+i*c)},${t(s-r*c)}Z" fill="var(--_bg)" stroke="${a}" stroke-linejoin="round"/>`}function Ht(e){return e===`extension`?Nt:d(e)}function Ut(e,t,n,r,i,a){return e===`extension`?Vt(t,n,r,i,a):m(e,t,n,r,i,a)}function Wt(e,n){let r=e.node,i=e.style.shape,a=` fill="none" stroke="var(--_b)"${e.style.line}`,c=-21,l=9,u;return r.actorType===`hollow`?(l=8,u=`<circle cy="-21" r="8" fill="var(--_bg)" stroke="var(--_b)"${i}/><path d="M-20,-9H20V0H5.5L20,15.5L12,25.5L0,12L-12,25.5L-20,15.5L-5.5,0H-20Z" fill="var(--_bg)" stroke="var(--_b)" stroke-linejoin="round"${i}/>`):r.actorType===`awesome`?u=`<path d="M0,-30A11,11 0 1 1 0,-8A11,11 0 1 1 0,-30ZM-20,25C-20,9 -12,-3 0,-3C12,-3 20,9 20,25C20,28 18,30 15,30H-15C-18,30 -20,28 -20,25Z" fill="var(--_b)"${i}/>`:r.actorType===`icon`?(c=-14,l=12,u=`<rect x="-22" y="-26" width="44" height="44"${o(Ft+i)}/><svg class="pele-icon" data-icon="${s(r.icon??``)}" x="-14" y="-18" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${n?.(r.icon??``)??``}</svg>`):u=`<circle cy="-21" r="9"${Ft}${i}/><path d="M0,-12V10M-14,-3H14M0,10L-12,30M0,10L12,30"${a}/>`,r.business&&(u+=`<path class="pele-business" d="M${t(.12*l)},${t(c+.99*l)}L${t(.92*l)},${t(c-.39*l)}"${a}/>`),u}function Gt(e,t,n){return h(e.direction)?g(n,r=>Kt(e,t,n,r)):Kt(e,t,n,!1)}function Kt(r,a,c,d){let m=bt(r),h=c.fontSize??16,g=Math.round(h*.875),S=Math.round(h*.8125),C=c.measurer??te(c.fontFamily),w=c.padding??8,T=c.icons,E=d?`TB`:b(r.direction),D=E===`LR`||E===`RL`,O=new Map,k=[],A=[];m.nodes.forEach((e,t)=>O.set(e.id,t));for(let e of m.nodes){let t=i(e.cssStyles.length>0?e.cssCompiledStyles.concat(e.cssStyles):e.cssCompiledStyles),n=+!!t.bold|(t.italic?2:0),r=t.fontSize??h,a=e.labelType===`markdown`,o=$(e.stereotype&&`«${e.stereotype}»`,!1,C,S,200,n),s={node:e,kind:2,style:t,label:o,stereotype:o,w:0,h:0,rows:[],keyW:0,headH:0,loops:0},c;if(e.isGroup){s.kind=4,s.label=$(e.label,a,C,r,4e3,n);let t=s.label.height;c=x(0,0),c.isGroup=!0,c.padX=wt,c.padBottom=wt,c.padTop=e.boundaryType===`package`?t+2*kt+16:t>0?t+16:wt,c.minW=s.label.width+2*wt}else{if(e.jsonRows){s.kind=3,s.label=$(e.label,!1,C,r,4e3,n|1);let t=0;for(let r of e.jsonRows){let e=$(r.key,!1,C,g,4e3,n),i=$(r.value,!1,C,g,260,n);s.rows.push([e,i]),s.keyW=Math.max(s.keyW,e.width),t=Math.max(t,i.width),s.h+=Math.max(e.height,i.height,Math.round(g*1.5))+jt}s.keyW>0&&(s.keyW+=2*At),s.headH=Math.max(s.label.height,Math.round(r*1.5))+jt,s.w=Math.max(s.label.width+2*At,s.rows.length>0?s.keyW+t+2*At:0,72),s.h+=s.headH}else if(e.actorType)s.kind=0,s.label=$(e.label,a,C,r,140,n),s.w=Math.max(Et,s.label.width,o.width),s.h=Dt+Ot+o.height+s.label.height;else{s.label=$(e.label,a,C,e.shape===`note`?g:r,180,n);let t=Math.max(s.label.width,o.width),i=s.label.height+o.height;e.shape===`usecaseEllipse`||e.shape===`usecaseBusiness`?(s.kind=1,s.w=Math.max(t+2*e.padding+(e.business?16:4),88),s.h=Math.max(i+28,48)):e.shape===`note`?(s.w=t+2*e.padding+6,s.h=i+18):(s.w=Math.max(t+2*e.padding+12,80),s.h=Math.max(i+24,44))}c=x(s.w,s.h)}c.seq=k.length,k.push(s),A.push(c)}m.nodes.forEach((e,t)=>{A[t].parent=e.parentId===void 0?-1:O.get(e.parentId)??-1});let j=[],M=[],N=[];for(let e of m.edges){let t=O.get(e.start),n=O.get(e.end);if(t===void 0||n===void 0)continue;let r=$(e.relationshipType===`include`||e.relationshipType===`extend`?`«${e.label}»`:e.label,e.labelType===`markdown`,C,g,200);t===n&&(k[t].loops++,D?A[t].h+=2*(Tt+(r.height>0?r.height+8:0)):A[t].w+=2*(Tt+(r.width>0?r.width+12:0))),N.push(e),M.push(r),j.push({src:t,dst:n,minlen:e.minlen,labelW:r.width>0?r.width+12:0,labelH:r.height>0?r.height+4:0,route:[],labelX:0,labelY:0})}let ne=v(A,j,E,{nodeSep:It(a,`nodeSpacing`,xt),edgeSep:St,rankSep:It(a,`rankSpacing`,Ct),portSep:20}),P=ee(r.title,C,h,4e3),re=P.height>0?P.height+12:0,ie=Math.max(ne.width,P.width),ae=w+(ie-ne.width)/2,oe=w+re;y(A,j,ae,oe);let se=Math.ceil(ie+2*w),ce=Math.ceil(ne.height+re+2*w),le=new Map;for(let e of j)_(le,e.route);Bt(j,A,k);let F=``,ue=``;for(let n=0;n<k.length;n++){let r=k[n],i=A[n],a=r.node,c=e(a.cssClasses.replace(/^default\s?/,``)),u=s(a.id),d=r.style.text,f=r.style.shape,p=r.w,m=r.h;if(r.kind===4){let e=i.x-i.w/2,n=i.y-i.h/2,s=` fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${f}`,p=` class="pele-cluster-label" fill="var(--_m)"${d}`,m;if(a.boundaryType===`package`){let a=Math.min(r.label.width+2*kt+8,i.w),o=r.label.height+2*kt;m=`<rect class="pele-boundary-tab" x="${t(e)}" y="${t(n)}" width="${t(a)}" height="${t(o)}"${s}/><rect x="${t(e)}" y="${t(n+o)}" width="${t(i.w)}" height="${t(i.h-o)}"${s}/>`+l(r.label,e+a/2,n+o/2,p,T)}else m=`<rect x="${t(e)}" y="${t(n)}" width="${t(i.w)}" height="${t(i.h)}"${o(s)}/>`+l(r.label,qt(i,r.label.width,le),n+8+r.label.height/2,p,T);F+=`<g class="pele-cluster pele-boundary${c}" data-id="${u}">${m}</g>`;continue}let h,_;if(r.kind===0){_=`pele-actor`;let e=-m/2,n=e+Dt+Ot+r.stereotype.height/2;h=`<g class="pele-actor-figure" transform="translate(0,${t(e+Dt/2)})">${Wt(r,T)}</g>`+l(r.stereotype,0,n,` class="pele-stereotype" font-size="${S}" fill="var(--_m)"`,T)+l(r.label,0,m/2-r.label.height/2,` class="pele-label"${d}`,T)}else if(r.kind===3){_=`pele-json`;let e=-p/2,n=-m/2+r.headH,i=``,a=`M${t(e)},${t(n)}H${t(e+p)}`;r.keyW>0&&(a+=`M${t(e+r.keyW)},${t(n)}V${t(m/2)}`);for(let[t,a]of r.rows){let o=Math.max(t.height,a.height,Math.round(g*1.5))+jt;i+=l(t,e+At+t.width/2,n+o/2,` class="pele-json-key" fill="var(--_m)"`,T)+Jt(a,e+r.keyW+At,n+o/2,` class="pele-json-value"${d}`,T),n+=o}h=`<rect x="${t(e)}" y="${t(-m/2)}" width="${t(p)}" height="${t(m)}"${o(Ft+f)}/><path class="pele-json-lines" d="${a}" fill="none" stroke="var(--_b)"${r.style.line}/>`+l(r.label,0,-m/2+r.headH/2,` class="pele-label" font-weight="var(--_hw)"${d}`,T)+`<g font-size="${g}">${i}</g>`}else{let e=r.stereotype.height/2,n;if(r.kind===1){if(_=`pele-usecase`,n=`<ellipse rx="${t(p/2)}" ry="${t(m/2)}"${Ft}${f}/>`,a.business){let e=p/2-15,i=p/2-5,a=e=>m/2*Math.sqrt(1-(e/(p/2))**2);n+=`<path class="pele-business" d="M${t(e)},${t(a(e))}L${t(i)},${t(-a(i))}" fill="none" stroke="var(--_b)"${r.style.line}/>`}}else if(a.shape===`note`){_=`pele-note`;let e=p/2,i=m/2;n=`<path d="M${t(-e)},${t(-i)}H${t(e-Mt)}L${t(e)},${t(Mt-i)}V${t(i)}H${t(-e)}Z" fill="var(--_a)" stroke="var(--_b)" stroke-linejoin="round"${f}/><path d="M${t(e-Mt)},${t(-i)}V${t(Mt-i)}H${t(e)}" fill="none" stroke="var(--_b)" stroke-linejoin="round"${r.style.line}/>`}else _=`pele-usecase`,n=`<rect x="${t(-p/2)}" y="${t(-m/2)}" width="${t(p)}" height="${t(m)}"${o(Ft+f)}/>`;h=n+l(r.stereotype,0,-r.label.height/2,` class="pele-stereotype" font-size="${S}" fill="var(--_m)"`,T)+l(r.label,0,e,` class="pele-label"${a.shape===`note`?` font-size="${g}"`:``}${d}`,T)}ue+=`<g class="pele-node ${_}${c}" data-id="${u}" transform="translate(${t(i.x)},${t(i.y)})">${h}</g>`}let de=``,I=``,fe=new Map;for(let n=0;n<j.length;n++){let r=j[n],a=N[n],o=M[n],c=a.style.length>0||a.cssCompiledStyles.length>0?i(a.cssCompiledStyles.concat(a.style)):void 0,l=a.arrowTypeStart,d=a.arrowTypeEnd,m;if(r.src===r.dst){let e=A[r.src],n=k[r.src],i=fe.get(r.src)??0;fe.set(r.src,i+1);let a=D?2:1,s=Math.min(zt(n,a)/2,8+i*6),c=Tt+i*8,[u,f]=Rt(n,e,a,-s),[p,h]=Rt(n,e,a,s),g=Math.hypot(c,s)||1,_=D?s/g:c/g,v=D?c/g:s/g,y=Ht(l),b=Ht(d),x=(e,n,r,i)=>D?`${t(e+r*s*+!!i)},${t(n+i)}`:`${t(e+i)},${t(n+r*s*+!!i)}`,ee=D?u-_*y:u+_*y,S=D?f+v*y:f-v*y,te=p+_*b,C=h+v*b;m={d:`M${t(ee)},${t(S)}C${x(u,f,-1,c)} ${x(p,h,1,c)} ${t(te)},${t(C)}`,sx:u,sy:f,sdx:D?_:-_,sdy:D?-v:v,ex:p,ey:h,edx:-_,edy:-v},D?(r.labelX=e.x,r.labelY=Math.max(f,h)+c*.75+6+o.height/2):(r.labelX=Math.max(u,p)+c*.75+8+o.width/2,r.labelY=e.y)}else{if(r.route.length<6)continue;m=p(r.route,void 0,Ht(l),Ht(d))}let h=c?.stroke?u(c.stroke):`var(--_l)`,g=a.internal?`2 3`:a.pattern===`dotted`?`5 4`:a.animate?`9 5`:``;if(de+=`<g class="pele-edge pele-${a.relationshipType}${e(a.classes.replace(/^default relationship relationship-\S+\s?/,``))}" data-id="${s(a.id)}"${c?.line??``}><path d="${m.d}"${g?` stroke-dasharray="${g}"`:``}/>`+Ut(l,m.sx,m.sy,m.sdx,m.sdy,h)+Ut(d,m.ex,m.ey,m.edx,m.edy,h)+`</g>`,o.width>0){let e=r.labelX,t=r.labelY,n=a.relationshipType===`include`||a.relationshipType===`extend`;I+=f(a.id,o,e,t,(n?` fill="var(--_m)"`:``)+(c?.text??``),T)}}return{svg:n(`usecase`,se,ce,h,c,r,l(P,se/2,w+P.height/2,` class="pele-title" font-weight="var(--_tw)"`)+(F?`<g class="pele-clusters">${F}</g>`:``)+(de?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${de}</g>`:``)+(I?`<g class="pele-edge-labels" font-size="${g}">${I}</g>`:``)+`<g class="pele-nodes">${ue}</g>`),width:se,height:ce,links:[]}}function qt(e,t,n){let r=n.get(Math.round(e.y-e.h/2));if(t===0||r===void 0)return e.x;let i=e.x-e.w/2+6,a=e.x+e.w/2-6,o=r.filter(e=>e>i&&e<a).sort((e,t)=>e-t);o.push(a);let s=t/2+6,c=e.x,l=1/0,u=0,d=i;for(let t of o){if(t-d>=2*s){let n=Math.min(Math.max(e.x,d+s),t-s);Math.abs(n-e.x)<l&&(l=Math.abs(n-e.x),c=n)}else l===1/0&&t-d>u&&(u=t-d,c=(d+t)/2);d=t}return c}function Jt(e,t,n,i,o){if(e.lines.length<2)return l(e,t+e.width/2,n,i,o);let s=``;for(let c=0;c<e.lines.length;c++)s+=l(a(e,c),t+e.widths[c]/2,n-e.height/2+r(e,c),i,o);return s}var Yt={type:`usecase`,math:!0,parse:(e,t,n)=>pt(e,n),render:Gt};export{Yt as usecase};
9
- //# sourceMappingURL=LHDIQX7Q-DbBCFdJr.js.map
9
+ //# sourceMappingURL=LHDIQX7Q-CLMgIt4Y.js.map
@@ -1,3 +1,3 @@
1
- import{d as e,f as t,g as n,m as r,r as i,t as a}from"./77XECAW3-CjIq7P_x.js";import{t as o}from"./DKTLEL5E-DciMwFJ1.js";import{i as s,r as c,t as l}from"./WEVWDWVA-oFS2VG1Y.js";import{n as u,t as d}from"./5GK6JWQ2-BVM9871F.js";import{_ as f,i as p,r as m,u as h}from"./lazy-D6W01WxZ.js";function g(e){let t=new Set;for(let n of e)for(let e of n.people)t.add(e);return[...t].sort()}var _=class{type=`journey`;title;accTitle;accDescr;sections=[];tasks=[];currentSection=``;setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
1
+ import{d as e,f as t,g as n,m as r,r as i,t as a}from"./77XECAW3-TL2w7pHK.js";import{t as o}from"./DKTLEL5E-DciMwFJ1.js";import{i as s,r as c,t as l}from"./WEVWDWVA-DS9YO9IT.js";import{n as u,t as d}from"./5GK6JWQ2-BSIhKcw-.js";import{_ as f,i as p,r as m,u as h}from"./lazy-DyNR0b0B.js";function g(e){let t=new Set;for(let n of e)for(let e of n.people)t.add(e);return[...t].sort()}var _=class{type=`journey`;title;accTitle;accDescr;sections=[];tasks=[];currentSection=``;setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
2
2
  `)}addSection(e){this.currentSection=e,this.sections.push(e)}addTask(e,t){let n=t.substring(1).split(`:`),r=n.length===1?[]:n[1].split(`,`).map(e=>e.trim());this.tasks.push({task:e,score:Number(n[0]),people:r,section:this.currentSection})}getActors(){return g(this.tasks)}},v=[`$end`,`EOF`,`INVALID`,`NEWLINE`,`journey`,`title`,`acc_title`,`acc_title_value`,`acc_descr`,`acc_descr_value`,`acc_descr_multiline_value`,`section`,`taskName`,`taskData`,`:`];function y(e,t,n){let r=e.length,i=t;for(;i<r;i++){let t=e.charCodeAt(i);if(t===35||t===10||t===59||n&&t===58)break}return i}function b(e){let t=e.length,n=[],r=[],i=[],a={types:n,texts:r,starts:i},o=0,u=(t,a)=>{n.push(t),r.push(e.slice(o,a)),i.push(o),o=a};for(;o=c(e,o),!(o>=t);){let t=e.charCodeAt(o),n=o+1;if(t===10){for(;e.charCodeAt(n)===10;)n++;u(3,n);continue}if(s(e,o,`journey`)&&!p(e.charCodeAt(o+7))){u(4,o+7);continue}if(s(e,o,`title`)&&m(e.charCodeAt(o+5))&&(n=y(e,o+6,!1),n>o+6)){u(5,n);continue}if(n=l(e,o,a,6),n!==o){o=n;continue}if(s(e,o,`section`)&&m(e.charCodeAt(o+7))&&(n=y(e,o+8,!0),n>o+8)){u(11,n);continue}t===58?(n=y(e,o+1,!1),u(n>o+1?13:14,n>o+1?n:o+1)):t===59?u(2,o+1):u(12,y(e,o+1,!0))}return(i.length===0||i[i.length-1]<t)&&u(1,t),u(0,t),a}var x=`'EOF', 'SPACE', 'NEWLINE', 'title', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'section', 'taskName'`;function S(e,t){let{types:n,texts:r,starts:i}=b(e),a=(t,r)=>{let a=n[t]===0?`1`:v[n[t]];throw h(`journey`,e,i[t],`Expecting ${r}, got '${a}'`)};n[0]!==4&&a(0,`'journey'`);for(let e=1;;e++){let i=r[e];switch(n[e]){case 3:break;case 5:t.setDiagramTitle(i.substring(6));break;case 6:t.setAccTitle(r[++e].trim());break;case 8:t.setAccDescription(r[++e].trim());break;case 10:t.setAccDescription(i.trim());break;case 11:t.addSection(i.substring(8));break;case 12:n[++e]!==13&&a(e,`'taskData'`),t.addTask(i,r[e]);break;case 1:return;default:a(e,x)}}}var C=10,w=8,T=124,E=200,D=12,ee=6,O=24,k=26,A=11,j=5,te=13,ne=20,M=`<circle cx="-3.6" cy="-2.8" r="1.3"/><circle cx="3.6" cy="-2.8" r="1.3"/>`,N={happy:`M-5,2A6,6 0 0 0 5,2`,neutral:`M-4.5,4.5H4.5`,sad:`M-5,6.5A6,6 0 0 1 5,6.5`};function re(e,n,r){return`<g class="pele-face pele-face-${r}" transform="translate(${t(e)},${t(n)})"><circle r="${A}" fill="var(--_bg)" stroke="var(--_l)"/><g fill="var(--_l)">${M}</g><path d="${N[r]}" fill="none" stroke="var(--_l)" stroke-linecap="round"/></g>`}function P(e,t,n){return o(n,r=>F(e,t,n,r))}function F(o,s,c,l){let p=c.fontSize??16,m=Math.round(p*.875),h=Math.round(p*.75),_=c.measurer??f(c.fontFamily),v=c.padding??8;if(l)return ie(o,c);let y=o.tasks,b=y.length,x=g(y).filter(e=>e!==``),S=new Map;x.forEach((e,t)=>S.set(e,t));let M=T,N=y.map(e=>u(e.task,_,m,M)),P=0;for(let e of N)P=Math.max(P,e.width);P>M&&(M=Math.min(Math.ceil(P),E),N=y.map(e=>d(e.task,_,m,M)));let F=M+2*C,I=F+D,L=b>0?b*I-D:0,R=Math.round(m*1.5),ae=Math.max(L,240),z=[],B=0,V=0,H=0;for(let e of x){let t=d(e,_,m,ae-2*j-6),n=2*j+6+t.width;H>0&&H+n>ae&&(H=0,V+=4);let r=H>0?z[z.length-1].y:V,i=Math.max(t.height,R);z.push({name:e,label:t,x:H,y:r,h:i}),H+=n,B=Math.max(B,H),V=Math.max(V,r+i),H+=ne}let U=b>0?O+L:0,W=d(o.title,_,p,Math.max(U,320),1),oe=W.height>0?W.height+16:0,G=Math.max(U,W.width,b>0?O+B:0),K=v+(G-U)/2+O,q=v+oe,se=[],J=0;for(let e=0;e<b;){let t=e+1;for(;t<b&&y[t].section===y[e].section;)t++;let n;y[e].section!==``&&(n=d(y[e].section,_,m,(t-e)*I-D-2*C,1),J=Math.max(J,Math.max(n.height,R)+2*ee)),se.push({start:e,count:t-e,label:n}),e=t}let Y=R;for(let e of N)Y=Math.max(Y,e.height);let ce=x.length>0?2*j+6:0,X=Y+ce+2*w,Z=q+(J>0?J+ee:0),le=Z+X+A+16,ue=le+4*k,de=K+L,Q=``,$=q;if(b>0){let n=``,o=``;for(let e=5;e>=1;e--){let r=le+(5-e)*k;n+=`M${t(K-6)},${t(r)}H${t(de)}`,o+=`<text x="${t(K-12)}" y="${t(r+h*.35)}">${e}</text>`}Q+=`<path class="pele-grid" d="${n}" fill="none" stroke="var(--_a)"/><g class="pele-scale" font-size="${h}" text-anchor="end" fill="var(--_m)">${o}</g>`;let s=``,c=``,l=``,u=[];y.forEach((n,o)=>{let d=K+o*I,f=d+F/2,p=n.score,h=le+(5-(Number.isNaN(p)?3:Math.min(5,Math.max(1,p))))*k;s+=`${o===0?`M`:`L`}${t(f)},${t(h)}`,c+=`M${t(f)},${t(Z+X)}V${t(h-A)}`,l+=re(f,h,p>3?`happy`:p<3?`sad`:`neutral`);let g=``,_=n.people.filter(e=>e!==``),v=Math.min(te,(F-2*C-2*j)/Math.max(_.length-1,1));_.forEach((n,r)=>{g+=`<circle class="pele-actor" cx="${t(f+(r-(_.length-1)/2)*v)}" cy="${t(Z+X-w-j)}" r="${j}" fill="${e(S.get(n)??0)}" stroke="var(--_s)"><title>${i(n)}</title></circle>`}),u.push(`<g class="pele-node pele-task" data-id="${i(n.task.trim())}"><rect x="${t(d)}" y="${t(Z)}" width="${t(F)}" height="${t(X)}" fill="var(--_s)" stroke="var(--_b)"${r}/>`+a(N[o],f,Z+w+Y/2,` font-size="${m}"`)+g+`</g>`)}),Q+=`<path class="pele-stems" d="${c}" fill="none" stroke="var(--_b)" stroke-dasharray="2 3"/>`+(b>1?`<path class="pele-edge" d="${s}" fill="none" stroke="var(--_l)" stroke-linejoin="round"/>`:``)+l;for(let e of se){let n=u.slice(e.start,e.start+e.count).join(``);if(!e.label){Q+=n;continue}let o=K+e.start*I,s=e.count*I-D;Q+=`<g class="pele-cluster pele-section" data-id="${i(y[e.start].section.trim())}"><rect x="${t(o)}" y="${t(q)}" width="${t(s)}" height="${t(J)}" fill="var(--_a)"${r}/>`+a(e.label,o+s/2,q+J/2,` font-size="${m}" font-weight="var(--_hw)"`)+n+`</g>`}if($=ue+A,z.length>0){let n=K+(L-B)/2,r=$+16,o=``;for(let s of z){let c=r+s.y+s.h/2;o+=`<g class="pele-legend-item" data-id="${i(s.name)}"><circle cx="${t(n+s.x+j)}" cy="${t(c)}" r="${j}" fill="${e(S.get(s.name)??0)}"/>`+a(s.label,n+s.x+2*j+6+s.label.width/2,c,``)+`</g>`}Q+=`<g class="pele-legend" font-size="${m}">${o}</g>`,$=r+V}}let fe=Math.ceil(G+2*v),pe=Math.ceil(Math.max($,v)+v),me=a(W,v+G/2,v+W.height/2,` class="pele-title" font-weight="var(--_tw)"`)+Q;return{svg:n(`journey`,fe,pe,p,c,o,me),width:fe,height:pe,links:[]}}function ie(i,o){let s=o.fontSize??16,c=Math.round(s*.875),l=o.measurer??f(o.fontFamily),u=o.padding??8,p=Math.max(140,(o.maxWidth??320)-2*u),m=d(i.title,l,s,p,1),h=g(i.tasks).filter(e=>e!==``),_=new Map(h.map((e,t)=>[e,t])),v=u+(m.height?m.height+16:0),y,b=``,x=m.width;i.tasks.forEach((n,o)=>{if(n.section!==y){y=n.section;let e=d(y,l,s,p-16,1);e.height&&(b+=a(e,u+8+e.width/2,v+e.height/2,` class="pele-cluster-label" font-weight="var(--_hw)"`),x=Math.max(x,e.width+16),v+=e.height+8)}let f=d(n.task,l,c,p-72),m=n.people.filter(e=>e!==``).map(e=>({name:e,label:d(e,l,c,p-44)})),h=Math.max(f.height,42),g=2*w+h;for(let e of m)g+=Math.max(16,e.label.height)+4;let S=Math.max(p,f.width+72);b+=`<g class="pele-node pele-journey-step" data-id="${o}"><rect x="${t(u)}" y="${t(v)}" width="${t(S)}" height="${t(g)}" fill="var(--_s)" stroke="var(--_b)"${r}/>`,b+=a(f,u+C+f.width/2,v+w+f.height/2,` class="pele-label"`);let T=u+S-28;b+=re(T,v+w+A,n.score>3?`happy`:n.score<3?`sad`:`neutral`),Number.isNaN(n.score)||(b+=`<text class="pele-journey-score" x="${t(T)}" y="${t(v+w+2*A+c)}" font-size="${c}" text-anchor="middle">${t(Math.min(5,Math.max(1,n.score)))}</text>`);let E=v+w+h+4;for(let n of m){let r=Math.max(16,n.label.height);b+=`<circle class="pele-actor" cx="${t(u+16)}" cy="${t(E+r/2)}" r="${j}" fill="${e(_.get(n.name))}"/>`+a(n.label,u+28+n.label.width/2,E+r/2,` class="pele-journey-actor" font-size="${c}"`),E+=r+4}b+=`</g>`,v+=g,o+1<i.tasks.length&&(b+=`<path class="pele-edge" d="M${t(u+S/2)},${t(v)}v16" fill="none" stroke="var(--_l)"/>`),v+=16,x=Math.max(x,S)});let S=Math.ceil(x+2*u),T=Math.ceil(Math.max(u+m.height,v-(i.tasks.length?16:0))+u),E=a(m,S/2,u+m.height/2,` class="pele-title" font-weight="var(--_tw)"`)+b;return{svg:n(`journey`,S,T,s,o,i,E),width:S,height:T,links:[]}}var I={type:`journey`,parse(e,t,n){let r=new _;return r.title=n,S(e,r),r},render:P};export{I as journey};
3
- //# sourceMappingURL=LUXOKEGN-C4n0-A1h.js.map
3
+ //# sourceMappingURL=LUXOKEGN-B1dkmN_M.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./react-DH3P2YXY.js";import{n as t,t as n}from"./jsx-runtime-BnjsACtP.js";import{rt as r}from"./ChatMarkdown-C2KOLN1s.js";import i from"./katex-ZlcWpGUi.js";var a=t(),o=e(n(),1),s=new r(1e3,4194304);function c(e,t){let n=`${t?`display`:`inline`}:${e}`,r=s.get(n);if(r!==null)return r;let a=``;try{a=i.renderToString(e,{displayMode:t,output:`htmlAndMathml`,throwOnError:!0,trust:!1,strict:`ignore`,maxSize:20,maxExpand:1e3})}catch{}return s.set(n,a,(n.length+a.length)*2),a}function l(e){let t=(0,a.c)(5),n;t[0]!==e.display||t[1]!==e.tex?(n=c(e.tex,e.display),t[0]=e.display,t[1]=e.tex,t[2]=n):n=t[2];let r=n;if(!r)return e.fallback;let i;return t[3]===r?i=t[4]:(i=(0,o.jsx)(`span`,{dangerouslySetInnerHTML:{__html:r}}),t[3]=r,t[4]=i),i}export{l as default};
2
- //# sourceMappingURL=MathTypeset--azkeKic.js.map
1
+ import{a as e}from"./react-DH3P2YXY.js";import{n as t,t as n}from"./jsx-runtime-BnjsACtP.js";import{rt as r}from"./ChatMarkdown-9gWM0ED9.js";import i from"./katex-ZlcWpGUi.js";var a=t(),o=e(n(),1),s=new r(1e3,4194304);function c(e,t){let n=`${t?`display`:`inline`}:${e}`,r=s.get(n);if(r!==null)return r;let a=``;try{a=i.renderToString(e,{displayMode:t,output:`htmlAndMathml`,throwOnError:!0,trust:!1,strict:`ignore`,maxSize:20,maxExpand:1e3})}catch{}return s.set(n,a,(n.length+a.length)*2),a}function l(e){let t=(0,a.c)(5),n;t[0]!==e.display||t[1]!==e.tex?(n=c(e.tex,e.display),t[0]=e.display,t[1]=e.tex,t[2]=n):n=t[2];let r=n;if(!r)return e.fallback;let i;return t[3]===r?i=t[4]:(i=(0,o.jsx)(`span`,{dangerouslySetInnerHTML:{__html:r}}),t[3]=r,t[4]=i),i}export{l as default};
2
+ //# sourceMappingURL=MathTypeset-qeRVy_bc.js.map
@@ -1,2 +1,2 @@
1
- import{f as e,r as t,t as n}from"./77XECAW3-CjIq7P_x.js";function r(e,t,n=0){return{w:e,h:t,kind:n,pin:0,hint:NaN,key:NaN,span:0,x:0,y:0,rank:0}}function i(e,t,n=1,r=0,i=0){return{tail:e,head:t,minlen:n,labelW:r,labelH:i,tailDx:0,headDx:0,tailFixed:!1,headFixed:!1,reversed:!1,points:[],labelX:0,labelY:0}}var a=24,o=2e4,s=16,c=8,l=.125,u=3,d=18,f=10,p=14,m=2,h=28,g=12,_=12,v=8,y=4,b=.5,x=.5,S=12,C=40,w=400,T=16,E=new Float64Array(2*T+2),D=new Float64Array(2*T+2);function O(e){return e===1||e===2}function k(e,t,n,r){for(let i=t+1;i<n;i++){let n=e[i],a=r[n],o=i-1;for(;o>=t&&(r[e[o]]>a||r[e[o]]===a&&e[o]>n);)e[o+1]=e[o],o--;e[o+1]=n}}function A(e,t,n,r,i,a){let o=(e,t)=>n[e]<n[t]||n[e]===n[t]&&(i?r[e]>r[t]:r[e]<r[t]);for(let n=0;n<t;n+=8)for(let r=n+1,i=Math.min(t,n+8);r<i;r++){let t=e[r],i=r-1;for(;i>=n&&o(t,e[i]);)e[i+1]=e[i],i--;e[i+1]=t}let s=e,c=a;for(let e=8;e<t;e*=2){for(let n=0;n<t;n+=2*e){let r=Math.min(t,n+e),i=Math.min(t,n+2*e),a=n,l=r,u=n;for(;a<r&&l<i;)c[u++]=o(s[l],s[a])?s[l++]:s[a++];for(;a<r;)c[u++]=s[a++];for(;l<i;)c[u++]=s[l++]}let n=s;s=c,c=n}if(s!==e)for(let n=0;n<t;n++)e[n]=s[n]}function j(e,t,n){let r=e.length;if(r===0)return{width:0,height:0};let i=t.length;if(r===1&&i===0&&e[0].kind===0){let t=e[0];return t.rank=0,t.x=t.w/2,t.y=t.h/2,{width:t.w,height:t.h}}let a=1;if(i>0){let e=new Set;for(let n of t){let t=Math.min(n.tail,n.head),i=Math.max(n.tail,n.head),o=t*r+i;if(n.labelW>0||e.has(o)){a=2;break}e.add(o)}}M(e,t),N(e,t,a);let s=new Int32Array(i),c=0;for(let n=0;n<i;n++){let r=t[n];s[n]=Math.abs(e[r.head].rank-e[r.tail].rank),s[n]>1&&(c+=s[n]-1)}let _=new Uint8Array(i);if(c>o){let e=[];for(let t=0;t<i;t++)s[t]>1&&e.push(t);e.sort((e,t)=>s[t]-s[e]||e-t);for(let t of e){if(c<=o)break;_[t]=1,c-=s[t]-1}}let v=r+c,y=new Float64Array(v),b=new Float64Array(v),x=new Uint8Array(v),S=new Int32Array(v),C=0;for(let t=0;t<r;t++){let n=e[t];y[t]=n.w,b[t]=n.h,x[t]=n.kind,S[t]=n.rank,n.rank>C&&(C=n.rank)}let w=0;for(let e=0;e<i;e++)_[e]||(w+=s[e]);let T=new Int32Array(w),E=new Int32Array(w),D=new Float64Array(w),O=new Float64Array(w),k=new Int32Array(i).fill(-1),A=new Uint8Array(C+1),j=new Int32Array(i).fill(-1),P=!1;for(let t=0;t<r;t++)e[t].span>0&&e[t].kind===0&&(P=!0);let I=P?new Uint8Array(w):void 0,R=P?new Uint8Array(w):void 0,B=new Int32Array(i).fill(-1),ce=new Int32Array(i).fill(-1),V=new Float64Array(v).fill(NaN);for(let t=0;t<r;t++)V[t]=e[t].key;let H=!1;{let e=r,n=0;for(let r=0;r<i;r++){if(_[r])continue;let i=t[r],o=i.reversed?i.head:i.tail,s=i.reversed?i.tail:i.head,c=i.reversed?i.headDx:i.tailDx,l=i.reversed?i.tailDx:i.headDx;(c!==0||l!==0)&&(H=!0);let u=S[o],d=S[s],f=-1;i.labelW>0&&(f=u+(d-u>>1),a===2&&d-u>=4?(f&1)==1&&(f+=i.reversed?1:-1):a===2&&!(f&1)&&(f+=i.reversed?1:-1));let p=o;d-u>1&&(k[r]=e),B[r]=n,I&&!(i.reversed?i.headFixed:i.tailFixed)&&(I[n]=i.reversed?2:1);for(let t=u+1;t<d;t++){let a=e++;S[a]=t,V[a]=V[o]+(V[s]-V[o])*(t-u)/(d-u),t===f?(y[a]=i.labelW,b[a]=i.labelH,x[a]=2,j[r]=a,A[t]|=i.reversed?2:1):x[a]=1,T[n]=p,E[n]=a,D[n]=p===o?c:0,n++,p=a}T[n]=p,E[n]=s,D[n]=p===o?c:0,O[n]=l,R&&!(i.reversed?i.tailFixed:i.headFixed)&&(R[n]=i.reversed?1:2),ce[r]=n,n++}}let le;if(n.groups){let{of:e,parent:a}=n.groups;le=new Int32Array(v);for(let t=0;t<r;t++)le[t]=e[t];let o=e=>{let t=0;for(;e>=0;e=a[e])t++;return t},c=(e,t)=>{let n=o(e),r=o(t);for(;n>r;n--)e=a[e];for(;r>n;r--)t=a[t];for(;e!==t;)e=a[e],t=a[t];return e};for(let n=0;n<i;n++){if(k[n]<0)continue;let r=t[n],i=c(e[r.tail],e[r.head]);for(let e=k[n],t=e+s[n]-1;e<t;e++)le[e]=i}}let U=new Int32Array(v+1),W=new Int32Array(v+1);for(let e=0;e<w;e++)U[T[e]+1]++,W[E[e]+1]++;for(let e=0;e<v;e++)U[e+1]+=U[e],W[e+1]+=W[e];let ue=new Int32Array(w),de=new Int32Array(w);{let e=U.slice(0,v),t=W.slice(0,v);for(let n=0;n<w;n++)ue[e[T[n]]++]=n,de[t[E[n]]++]=n}let G=new Int32Array(C+2);for(let e=0;e<v;e++)G[S[e]+1]++;for(let e=0;e<=C;e++)G[e+1]+=G[e];let K=new Int32Array(v),fe=new Int32Array(v);{let e=new Int32Array(v),t=G.slice(0,C+1);for(let n=0;n<v;n++)e[t[S[n]]++]=n;for(let e=0;e<=C;e++)t[e]=G[e];let n=new Uint8Array(v),r=[];for(let i=0;i<v;i++)if(!n[e[i]])for(r.push(e[i]);r.length>0;){let e=r.pop();if(!n[e]){n[e]=1,K[t[S[e]]++]=e;for(let t=U[e+1]-1;t>=U[e];t--){let e=E[ue[t]];n[e]||r.push(e)}}}}let pe=(e,t)=>{let n=G[e],r=G[e+1];if(r-n<2)return!1;for(let e=n;e<r;e++)if(Number.isNaN(t(K[e])))return!1;let i=Array.from(K.subarray(n,r)),a=new Map;return i.forEach((e,t)=>a.set(e,t)),i.sort((e,n)=>t(e)-t(n)||a.get(e)-a.get(n)),K.set(i,n),!0};for(let e=0;e<=C;e++)pe(e,e=>V[e]);let me=!1;for(let t=0;t<r;t++)e[t].pin!==0&&(me=!0);if(me)for(let t=0;t<=C;t++){let n=Array.from(K.subarray(G[t],G[t+1])),i=new Map;n.forEach((e,t)=>i.set(e,t));let a=t=>t<r?e[t].pin:0;n.sort((e,t)=>a(e)-a(t)||i.get(e)-i.get(t)),K.set(n,G[t])}let he=new Uint8Array(C+1),ge=t=>t<r&&(e[t].kind===3||e[t].kind===4)?e[t].hint:NaN;for(let e of[0,C])pe(e,ge)&&(he[e]=1);let _e=()=>{for(let e=0;e<=C;e++){let t=G[e];for(let n=t,r=G[e+1];n<r;n++)fe[K[n]]=n-t}};_e();let q={n:v,real:r,maxRank:C,W:y,KIND:x,RANK:S,EF:T,ET:E,EFD:D,ETD:O,succStart:U,succE:ue,predStart:W,predE:de,layerStart:G,order:K,pos:fe,offsets:H,fixed:he,GRP:le,groupParent:n.groups?.parent},ve=0,ye=0;if(w>0&&C>0&&([ve,ye]=oe(q,e),_e()),n.orderOnly){let a=se(q,n);for(let t=0;t<r;t++)e[t].x=a[t];for(let e=0;e<i;e++){let n=t[e],r=n.reversed?n.head:n.tail,i=n.reversed?n.tail:n.head,o=[S[r],a[r]];if(!_[e]&&k[e]>=0)for(let t=k[e],n=t+s[e]-1;t<n;t++)o.push(S[t],a[t]);o.push(S[i],a[i]),n.points=o}return{width:0,height:0,crossings:ve,declared:ye}}I&&R&&F(q,e,I,R);let J=se(q,n),Y=re(q);if(I&&R){let r=L(q,I,R);ee(q,e,J,r,n,Y),te(q,e,J,I,R,r,Y),ne(q,J,Y,n);for(let e=0;e<i;e++){if(_[e])continue;let n=t[e],r=D[B[e]],i=O[ce[e]];n.tailDx=n.reversed?i:r,n.headDx=n.reversed?r:i}}let be=new Uint8Array(v);Y&&!n.tracks&&ie(q,J,Y,k,s,n.apart?0:n.edgeSep,be),n.tracks||ae(q,J,k,s,n.edgeSep,be);let xe=new Int32Array(i+1),X=n.tracks||I&&!n.straight?{from:[],to:[],rank:[],lower:[],track:[],levels:[],wide:[]}:void 0,Se=new Int32Array(C+1);if(X){for(let e=0;e<i;e++){if(xe[e]=X.from.length,_[e])continue;let t=k[e],r=!1;for(let i=t,a=t<0?t:t+s[e]-1;i<a;i++){let e=Y!==void 0&&Y[S[i]]===1;!n.tracks&&e!==(be[i]===1)&&(r=!0)}if(r)continue;let i=J[T[B[e]]]+D[B[e]],a=S[T[B[e]]];for(let n=t,r=t<0?t:t+s[e]-1;n<r;n++)Y&&Y[S[n]]||(X.from.push(i),X.to.push(J[n]),X.rank.push(a),X.lower.push(n),i=J[n],a=S[n]);X.from.push(i),X.to.push(J[E[ce[e]]]+O[ce[e]]),X.rank.push(a),X.lower.push(-1)}xe[i]=X.from.length}let Ce=(e,t)=>{let n=!1;for(let r=G[e];r<G[e+1];r++){let e=x[K[r]];if(e===t)n=!0;else if(e!==1)return!1}return n},we=Ce(0,3)?a:0,Te=Ce(C,4)?a:0,Ee=new Float64Array(C+1);for(let e=0;e<w;e++){let t=Math.abs(J[T[e]]+D[e]-J[E[e]]-O[e]);t>Ee[S[T[e]]]&&(Ee[S[T[e]]]=t)}let Z=new Float64Array(C+1),Q=new Float64Array(C+1),De=e=>(e<we||e>=C-Te?n.portSep:n.rankSep)/a,Oe=new Float64Array(C+1);for(let e=0;e<C;e++)Oe[e]=X?De(e):Math.max(De(e),Math.min(u*n.rankSep/a,Ee[e]*l));let ke=new Uint8Array(C+1).fill(1);for(let e=0;e<r;e++)ke[S[e]]=0;for(let e=1;e<C;e++){if(n.tracks||!ke[e]||A[e]!==1&&A[e]!==2)continue;let t=Math.min((n.headRoom??0)/2,Oe[A[e]===1?e-1:e]/2);Oe[e-1]+=A[e]===1?-t:t,Oe[e]+=A[e]===1?t:-t}let Ae=e=>x[e]===1&&ke[S[e]]&&!n.tracks?(Q[S[e]]-Z[S[e]])/4:0,je=n.tracks?d:h,Me=n.tracks?f:g,Ne=n.tracks?p:g,Pe=new Int32Array(C+1);if(X){let e=new Float64Array(C+1);for(let t=0;t<C;t++){if(Y&&Y[t])continue;let n=t+1;for(e[t]=Oe[t];n<C&&Y&&Y[n];)e[t]+=Oe[n++];Pe[t]=n}for(let t=0;t<X.from.length;t++)X.wide.push(+(Math.abs(X.from[t]-X.to[t])>m*e[X.rank[t]]));let t=new Float64Array(C+1);z(X,Se,!n.tracks,e,t);for(let r=0;r<C;r++)Se[r]>0?Oe[r]+=Math.max(0,2*je+(Se[r]-1)*Me-e[r]):t[r]>0&&(Oe[r]+=Math.max(0,Math.min(u*n.rankSep,t[r])-e[r]))}let Fe=0;for(let e=0;e<=C;e++){let t=0;for(let n=G[e];n<G[e+1];n++)b[K[n]]>t&&(t=b[K[n]]);Z[e]=Fe,Q[e]=Fe+t,Fe+=t+Oe[e]}let Ie=Fe,Le=(e,t=X.track[e])=>{let r=X.rank[e],i=Q[r],a=Z[Pe[r]],o=n.tracks?Se[r]:X.levels[e],s=o>1?Math.min(Ne,(a-i-2*je)/(o-1)):0;return(i+a)/2+(t-(o-1)/2)*s},$=1/0,Re=-1/0;for(let e=0;e<v;e++){let t=y[e]/2;J[e]-t<$&&($=J[e]-t),J[e]+t>Re&&(Re=J[e]+t)}let ze=new Uint8Array(C+1),Be=new Uint8Array(C+1);for(let e=0;e<r;e++)x[e]!==0||!I||(W[e+1]>W[e]&&(ze[S[e]]=1),U[e+1]>U[e]&&(Be[S[e]]=1));for(let t=0;t<r;t++){let n=e[t],r=n.rank;n.x=J[t]-$,n.y=x[t]===0&&Be[r]&&!ze[r]?Q[r]-n.h/2:x[t]===0&&ze[r]&&!Be[r]?Z[r]+n.h/2:(Z[r]+Q[r])/2}for(let r=0;r<i;r++){let i=t[r],a=e[i.reversed?i.head:i.tail],o=e[i.reversed?i.tail:i.head],c=[a.x+(i.reversed?i.headDx:i.tailDx),a.y+a.h/2],l=k[r];if(X&&xe[r+1]>xe[r])for(let e=xe[r];e<xe[r+1];e++){if(X.track[e]>=0&&(n.tracks||X.wide[e]===1)){let t=Le(e);c.push(X.from[e]-$,t,X.to[e]-$,t)}else X.track[e]>0&&c.push(X.from[e]-$,Le(e,X.track[e]-1));let t=X.lower[e];t<0||(c.push(J[t]-$,Z[S[t]]+Ae(t)),Q[S[t]]>Z[S[t]]&&c.push(J[t]-$,Q[S[t]]-Ae(t)))}else if(l>=0)for(let e=l,t=l+s[r]-1;e<t;e++){if(be[e])continue;let t=J[e]-$,n=Z[S[e]],r=Q[S[e]];c.push(t,n+Ae(e)),r>n&&c.push(t,r-Ae(e))}if(c.push(o.x+(i.reversed?i.tailDx:i.headDx),o.y-o.h/2),i.reversed)for(let e=0,t=c.length-2;e<t;e+=2,t-=2){let n=c[e],r=c[e+1];c[e]=c[t],c[e+1]=c[t+1],c[t]=n,c[t+1]=r}i.points=c;let u=j[r];u>=0?(i.labelX=J[u]-$,i.labelY=(Z[S[u]]+Q[S[u]])/2):i.labelW>0&&(i.labelX=(c[0]+c[c.length-2])/2,i.labelY=(c[1]+c[c.length-1])/2)}return{width:Re-$,height:Ie}}function M(e,t){let n=e.length,r=t.length,i=new Int32Array(n+1);for(let n=0;n<r;n++){let r=t[n];r.reversed=e[r.head].kind===3||e[r.tail].kind===4,r.reversed||i[r.tail+1]++}for(let e=0;e<n;e++)i[e+1]+=i[e];let a=new Int32Array(i[n]);{let e=i.slice(0,n);for(let n=0;n<r;n++)t[n].reversed||(a[e[t[n].tail]++]=n)}let o=new Uint8Array(n),s=i.slice(0,n),c=[];for(let e=0;e<n;e++)if(o[e]===0)for(c.push(e),o[e]=1;c.length>0;){let e=c[c.length-1];if(s[e]<i[e+1]){let n=t[a[s[e]++]],r=n.head;o[r]===1?n.reversed=!0:o[r]===0&&(o[r]=1,c.push(r))}else o[e]=2,c.pop()}}function N(e,t,n){let r=e.length,i=t.length,a=new Int32Array(i),o=new Int32Array(i),s=new Int32Array(i),c=new Int32Array(r+1),l=new Int32Array(r+1);for(let e=0;e<i;e++){let r=t[e],i=r.reversed?r.head:r.tail,u=r.reversed?r.tail:r.head;a[e]=i,o[e]=u,s[e]=Math.max(1,r.minlen)*n,c[i+1]++,l[u+1]++}for(let e=0;e<r;e++)c[e+1]+=c[e],l[e+1]+=l[e];let u=new Int32Array(i),d=new Int32Array(i);{let e=c.slice(0,r),t=l.slice(0,r);for(let n=0;n<i;n++)u[e[a[n]]++]=n,d[t[o[n]]++]=n}let f=new Int32Array(r),p=new Int32Array(r);for(let e=0;e<r;e++)p[e]=l[e+1]-l[e];let m=new Int32Array(r),h=0;for(let e=0;e<r;e++)p[e]===0&&(m[h++]=e);for(let e=0;e<h;e++){let t=m[e];for(let e=c[t];e<c[t+1];e++){let n=u[e],r=o[n];f[t]+s[n]>f[r]&&(f[r]=f[t]+s[n]),--p[r]===0&&(m[h++]=r)}}for(let e=0;e<8;e++){let e=!1;for(let t=h-1;t>=0;t--){let n=m[t],r=l[n+1]-l[n],i=c[n+1]-c[n];if(r===0&&i===0)continue;let p=-1/0,h=1/0;for(let e=l[n];e<l[n+1];e++){let t=d[e];p=Math.max(p,f[a[t]]+s[t])}for(let e=c[n];e<c[n+1];e++){let t=u[e];h=Math.min(h,f[o[t]]-s[t])}let g=f[n];i>r&&h!==1/0?g=h:r>i&&p!==-1/0&&(g=p),g!==f[n]&&(f[n]=g,e=!0)}if(!e)break}let g=1/0,_=-1/0,v=!1;for(let t=0;t<r;t++){let n=e[t].kind;n===3&&(v=!0),n!==3&&n!==4&&(f[t]<g&&(g=f[t]),f[t]>_&&(_=f[t]))}g===1/0&&(g=0,_=0);for(let t=0;t<r;t++)e[t].kind===3?f[t]=g-n:e[t].kind===4&&(f[t]=_+n);v&&(g-=n);for(let t=0;t<r;t++)e[t].rank=f[t]-g}function P(e,t,n,r,i,a,o){let l=n===0?e.predStart:e.succStart,u=n===0?e.predE:e.succE,d=n===0?e.EF:e.ET,f=e.pos;for(let e=l[t];e<l[t+1];e++)i[u[e]]!==0&&a.push(u[e]);if(a.length<2)return 0;a.sort((e,t)=>f[d[e]]-f[d[t]]||e-t);let p=e=>{let t=0;o[0]=0;for(let n=1;n<a.length;n++){let r=i[a[n]]===i[a[n-1]];o[n]=e(r&&i[a[n]]===1,r),t+=o[n]}return t},m=p(()=>1);if(r/m<c&&(m=p(e=>e?.5:1)),r/m<c&&(m=p((e,t)=>+!t)),m===0)return 0;let h=Math.min(s,r/m);for(let e=1;e<a.length;e++)o[e]*=h;return m*h}function F(e,t,n,r){let{real:i,W:a,EFD:o,ETD:s}=e;for(let c=0;c<i;c++){let i=Math.min(t[c].span,a[c]);if(!(i<=0||t[c].kind!==0))for(let t=0;t<2;t++){let a=[],l=[],u=P(e,c,t,i,t===0?r:n,a,l);if(u===0)continue;let d=t===0?s:o,f=-u/2;for(let e=0;e<a.length;e++)f+=l[e],d[a[e]]=f}}}function I(e,t,n,r){if(!t)return n;let{KIND:i,RANK:a,EF:o,ET:s,succStart:c,succE:l,predStart:u,predE:d}=e;for(let e=0;e<1e5;e++){let e=r===0?o[n]:s[n];if(i[e]!==1||!t[a[e]])break;n=r===0?d[u[e]]:l[c[e]]}return n}function L(e,t,n){let r=[new Int32Array(e.n),new Int32Array(e.n)];for(let i=0;i<e.EF.length;i++)n[i]!==0&&r[0][e.ET[i]]++,t[i]!==0&&r[1][e.EF[i]]++;return r}function R(e,t){return Math.max(.25,Math.min(.5,4*Math.abs(t)/(Math.abs(e)||1)))}function ee(e,t,n,r,i,a){let o=i.edgeSep,{n:s,real:c,maxRank:l,KIND:u,RANK:d,W:f,EF:p,ET:m,EFD:h,ETD:g,succStart:_,succE:v,predStart:y,predE:b,layerStart:x,order:S,pos:C}=e,w=e=>u[e]===2||u[e]===1&&(a===void 0||a[d[e]]!==1),T=(e,i)=>{let a=i===0?p[e]:m[e];return[i===0?n[a]+h[e]:n[a]+g[e],a<c&&t[a].kind===0?r[1-i][a]:0]},E=e=>{let t=x[d[e]],r=t+C[e],a=t=>f[t]/2+f[e]/2+(u[t]===0?i.nodeSep/2+o/2:u[t]===u[e]?o:o/2);return[r>t?n[S[r-1]]+a(S[r-1]):-1/0,r+1<x[d[e]+1]?n[S[r+1]]-a(S[r+1]):1/0]},D=(e,t,n,r,i)=>{let a=(t[1]===n[1]?Math.abs(t[0]-e)<=Math.abs(n[0]-e):t[1]<n[1])?[t[0],n[0]]:[n[0],t[0]];return a.find(e=>e>=r&&e<=i)??Math.max(r,Math.min(i,a[0]))},k=new Uint8Array(s),A=[];for(let t=1;t<l;t++)for(let r=x[t];r<x[t+1];r++){if(!w(S[r])||k[S[r]])continue;let t=S[r];for(;O(u[p[b[y[t]]]]);)t=p[b[y[t]]];let i=t,o=-1/0,s=1/0;A.length=0;for(let e=t;O(u[e]);e=m[v[_[e]]]){if(i=e,!w(e))continue;k[e]=1,A.push(e);let[t,n]=E(e);t>o&&(o=t),n<s&&(s=n)}if(o<=s){let e=D(n[A[0]],T(b[y[t]],0),T(v[_[i]],1),o,s);for(let t of A)n[t]=e;continue}for(let t of A){let[r,i]=E(t);r>i||(n[t]=D(n[t],T(I(e,a,b[y[t]],0),0),T(I(e,a,v[_[t]],1),1),r,i))}}}function te(e,t,n,r,i,a,o){let{real:c,W:l,EF:u,ET:d,EFD:f,ETD:p,succStart:m,succE:h,predStart:g,predE:_,pos:v}=e,y=(s,m,h,g,_)=>{if(a[m][h]<2)return 0;s=I(e,o,s,m);let v=m===0?u[s]:d[s],y=m===0?n[v]+f[s]:n[v]+p[s];if(_&&Math.abs(y-n[h])<=g/2+x)return Math.max(-g/2,Math.min(g/2,y-n[h]));let b=y,S=0;v<c&&t[v].kind===0&&(m===0?r:i)[s]!==0&&a[1-m][v]>=2&&(S=Math.max(0,Math.min(t[v].span,l[v])),S>0&&(b=n[v]));let w=Math.max(n[h]-g/2,b-S/2),T=Math.min(n[h]+g/2,b+S/2);if(w>T+x){let e=Math.max(0,g/2-C);return Math.max(-e,Math.min(e,y-n[h]))}let E=(n[h]*S+b*g)/(S+g);return Math.max(w,Math.min(T,E))-n[h]},b=[];for(let n=0;n<c;n++){let a=Math.min(t[n].span,l[n]);if(!(a<=0||t[n].kind!==0))for(let t=0;t<2;t++){let o=t===0?u:d,s=t===0?g:m,c=t===0?_:h,l=[],f=[];if(P(e,n,t,a,t===0?i:r,l,f),l.length===0)continue;l.length===1&&(f[0]=0);let p=[];for(let e=s[n];e<s[n+1];e++)p.push(c[e]);p.sort((e,t)=>v[o[e]]-v[o[t]]||e-t),b.push({v:n,side:t,span:a,ids:l,room:f,all:p})}}for(let e=0,t=!0;t&&e<6;e++){t=!1;for(let{v:n,side:a,span:o,ids:c,room:l,all:u}of b){let d=a===0?i:r,m=a===0?p:f,h=0,g=-o/2;for(let r=0;r<=u.length;r++){let i=r<u.length&&d[u[r]]===0;if(r<u.length&&!i)continue;let f=0;for(let e=r-1;e>=0&&d[u[e]]!==0;e--)f++;let p=i?m[u[r]]-s:o/2;if(f>0){let r=[],i=[],s=0;for(let t=0;t<f;t++){t>0&&(s+=l[h+t]),r.push(y(c[h+t],a,n,o,e>0)-s),i.push(1);let u=t>0&&l[h+t]===0;for(;r.length>1&&(u||r[r.length-2]/i[i.length-2]>r[r.length-1]/i[i.length-1]);){u=!1;let e=r.pop(),t=i.pop();r[r.length-1]+=e,i[i.length-1]+=t}}let u=s,d=0;s=0;for(let e=0;e<r.length;e++){let n=p-u<g?(g+p-u)/2:Math.max(g,Math.min(p-u,r[e]/i[e]));for(let r=0;r<i[e];r++,d++)d>0&&(s+=l[h+d]),Math.abs(m[c[h+d]]-n-s)>.01&&(t=!0),m[c[h+d]]=n+s}h+=f}i&&(g=m[u[r]]+s)}}}}function ne(e,t,n,r){let{n:i,KIND:a,RANK:o,EF:s,ET:c,EFD:l,ETD:u,layerStart:d,order:f,pos:p}=e,m=e=>n!==void 0&&a[e]===1&&n[o[e]]===1,h=[],g=[],_=[],v=[];for(let t=0;t<s.length;t++){if(m(s[t]))continue;let r=I(e,n,t,1);h.push(s[t]),g.push(c[r]),_.push(l[t]),v.push(u[r])}let y=e=>t[g[e]]+v[e]-t[h[e]]-_[e],b=new Int32Array(i),x=[];for(let e=0;e<i;e++)b[e]=e,x.push([e]);let C=(e,t)=>{let n=b[e],r=b[t];if(n!==r){x[n].length<x[r].length&&([n,r]=[r,n]);for(let e of x[r])b[e]=n,x[n].push(e);x[r]=[]}},w=[];for(let e=0;e<h.length;e++){let t=Math.abs(y(e));t<.01?C(h[e],g[e]):t<=S&&w.push(e)}if(w.length===0)return;w.sort((e,t)=>Math.abs(y(e))-Math.abs(y(t))||e-t);let T=t=>B(e,r,t),E=(e,n)=>{for(let r of x[e]){let i=d[o[r]],a=d[o[r]+1],s=i+p[r];if(s>i&&b[f[s-1]]!==e&&t[r]+n-t[f[s-1]]<T(r)+T(f[s-1])-.01||s+1<a&&b[f[s+1]]!==e&&t[f[s+1]]-t[r]-n<T(r)+T(f[s+1])-.01)return!1}return!0};for(let e of w){let n=y(e);if(Math.abs(n)<.01){C(h[e],g[e]);continue}if(Math.abs(n)>S||b[h[e]]===b[g[e]])continue;let r=b[h[e]],i=b[g[e]],a=x[r].length<=x[i].length?r:i;for(let o of[a,a===r?i:r]){let i=o===r?n:-n;if(E(o,i)){for(let e of x[o])t[e]+=i;C(h[e],g[e]);break}}}}function re(e){let{maxRank:t,KIND:n,layerStart:r,order:i}=e,a=new Uint8Array(t+1),o=!1;for(let e=1;e<t;e++){let t=r[e+1]>r[e];for(let a=r[e];t&&a<r[e+1];a++)n[i[a]]!==1&&(t=!1);t&&(a[e]=1,o=!0)}return o?a:void 0}function z(e,t,n,r,i){let{from:a,to:o,rank:s,track:c,levels:l,wide:u}=e,d=a.length,f=new Map;for(let e=0;e<d;e++){if(c.push(-1),l.push(0),Math.abs(a[e]-o[e])<x)continue;let t=f.get(s[e]);t?t.push(e):f.set(s[e],[e])}if(f.size===0)return;let p=new Float64Array(d),m=new Float64Array(d);for(let e=0;e<d;e++)p[e]=Math.min(a[e],o[e]),m[e]=Math.max(a[e],o[e]);let h=(e,t)=>+(e>=p[t]-x&&e<=m[t]+x),g=(e,t)=>Math.abs(a[e]-a[t])<x||Math.abs(o[e]-o[t])<x,S=(e,t)=>p[e]<m[t]-x&&p[t]<m[e]-x,C=(e,t)=>S(e,t)&&!g(e,t),O=(e,t)=>S(e,t)||h(o[e],t)+h(a[t],e)+h(o[t],e)+h(a[e],t)>0,k=(e,t)=>h(o[e],t)+h(a[t],e),A=e=>{let t=e.map((e,t)=>t).sort((t,n)=>p[e[t]]-p[e[n]]),n=[];for(let r=0;r<t.length;r++){let i=t[r],a=m[e[i]]+4*x;for(let o=r+1;o<t.length&&p[e[t[o]]]<=a;o++){let e=t[o];n.push(Math.min(i,e),Math.max(i,e))}}return n},j=e=>{e.sort((e,t)=>m[t]-p[t]-(m[e]-p[e])||p[e]-p[t]||e-t);let t=e.length,r=[],i=e.map((e,t)=>t),a=e=>{for(;i[e]!==e;)e=i[e]=i[i[e]];return e},o=t<=w,s=o?A(e):[],u=o?e.map(()=>[]):[];for(let t=0;t<s.length;t+=2){let n=s[t],r=s[t+1];C(e[n],e[r])&&(u[n].push(r),u[r].push(n))}let d=e.map((e,t)=>t);if(o){let n=new Int32Array(t),o=[];for(let e=0;e<t;e++)r.push([]),o.push([]);for(let t=0;t<s.length;t+=2){let c=s[t],l=s[t+1],u=e[c],d=e[l];if(!O(u,d))continue;i[a(c)]=a(l);let f=k(u,d),p=k(d,u);if(f===p)continue;let m=f<p?c:l,h=f<p?l:c;r[h].push(m),o[m].push(h),n[h]++}let c=new Uint8Array(t);d=[];for(let e=0;e<t;e++){let e=-1;for(let r=0;r<t&&!(!c[r]&&((e<0||n[r]<n[e])&&(e=r),n[r]===0));r++);c[e]=1,d.push(e);for(let t of o[e])n[t]--}}let f=new Set,h=[],g=0;for(let t of d){let n=e[t],i=0;for(let n of r[t]??[])c[e[n]]>=i&&(i=c[e[n]]+1);if(o){f.clear();for(let n of u[t])f.add(c[e[n]]);for(;f.has(i);)i++}else{for(;h[i]?.some(e=>C(n,e));)i++;(h[i]??=[]).push(n)}c[n]=i,i>=g&&(g=i+1)}let _=new Int32Array(t).fill(g),v=new Int32Array(t).fill(-1);for(let n=0;n<t;n++){let t=a(n);_[t]=Math.min(_[t],c[e[n]]),v[t]=Math.max(v[t],c[e[n]])}for(let r=0;r<t;r++){let t=a(r);l[e[r]]=v[t]-_[t]+1,n&&(c[e[r]]-=_[t])}return g},M=(e,t,n)=>{let r=R(o[e]-a[e],t);for(let i=0;i<=T;i++){let s=i/T,c=1-s;n[2*i]=a[e]+(o[e]-a[e])*s*s*(3-2*s),n[2*i+1]=t*(3*r*s*c*c+3*(1-r)*s*s*c+s*s*s)}},N=(e,t,n)=>{let r=n*n*1.000000001;for(let i=0;i<=T;i++){let a=e[2*i],o=e[2*i+1];for(let e=0;e<T;e++){let i=t[2*e+2]-t[2*e],s=t[2*e+3]-t[2*e+1],c=Math.max(0,Math.min(1,((a-t[2*e])*i+(o-t[2*e+1])*s)/(i*i+s*s||1))),l=a-t[2*e]-c*i,u=o-t[2*e+1]-c*s;if(l*l+u*u<r&&Math.hypot(l,u)<n)return!0}}return!1},P=(e,t,n,r)=>{let i=Math.max(n/2,n-2*_);return M(e,i,E),M(t,i,D),N(E,D,r)||N(D,E,r)};for(let[e,s]of f){if(!n){t[e]=j(s);continue}if(s.length>w)continue;let d=s.filter(e=>u[e]===1);j(d);let f=new Set(d.filter(e=>l[e]>1)),h=A(s);for(let t=0;t<h.length;t+=2){let n=s[h[t]],i=s[h[t+1]];f.has(n)&&f.has(i)||!C(n,i)||a[n]<o[n]!=a[i]<o[i]||P(n,i,r[e],u[n]===1||u[i]===1?v:y)&&f.add(n).add(i)}for(let e of d)c[e]=-1,l[e]=0;if(f.size===0)continue;let _=0,x=0,T=new Set;for(let e=0;e<h.length;e+=2){let t=s[h[e]],n=s[h[e+1]];if(f.has(t)&&f.has(n)){if(!S(t,n))continue;a[t]<o[t]==a[n]<o[n]?g(t,n)||x++:_++}else(f.has(t)||f.has(n))&&O(t,n)&&T.add(t).add(n)}if(_>x){for(let t of s)(m[t]-p[t])*b>i[e]&&(i[e]=(m[t]-p[t])*b);continue}let E=s.filter(e=>f.has(e)||u[e]!==1&&T.has(e));j(E);let D=0;for(let e of E)l[e]>D&&(D=l[e]);t[e]=D}}function ie(e,t,n,r,i,a,o){let{maxRank:s,EF:c,ET:l,EFD:u,ETD:d,succStart:f,succE:p,predStart:m,predE:h,layerStart:g,order:_}=e,v=new Float64Array(t.length),y=new Float64Array(t.length),b=new Float64Array(t.length);for(let a=0;a<r.length;a++){let o=r[a];if(o<0)continue;let s=o+i[a]-1,g=e.RANK[o];for(let e=o;e<s;e++){if(!n[g+e-o])continue;let r=e;for(;r+1<s&&n[g+r+1-o];)r++;let i=h[m[e]],a=p[f[r]],_=t[c[i]]+u[i],x=t[l[a]]+d[a],S=r-e+2;for(let t=e;t<=r;t++)v[t]=_+(x-_)*(t-e+1)/S,y[t]=_,b[t]=x;e=r}}let x=[];for(let r=1;r<s;r++){if(!n[r])continue;let i=g[r],s=g[r+1],c=Array.from(_.subarray(i,s)).sort((e,t)=>y[e]-y[t]||b[e]-b[t]||e-t);for(let n=0;n<c.length;){x.length=0;let r=n;for(;r<c.length&&Math.abs(y[c[r]]-y[c[n]])<1&&Math.abs(b[c[r]]-b[c[n]])<1;r++)x.push(c[r]);x.sort((t,n)=>e.pos[t]-e.pos[n]);for(let e=0;e<x.length;e++){let n=x[e];t[n]=v[n]+(e-(x.length-1)/2)*a,(x.length===1||a===0)&&(o[n]=1)}n=r}}}function ae(e,t,n,r,i,a){let{maxRank:o,W:s,KIND:c,RANK:l,EF:u,ET:d,EFD:f,ETD:p,succStart:m,succE:h,predStart:g,predE:_,layerStart:v,order:y}=e,b=new Uint8Array(o+1),x=!1;for(let e=1;e<o;e++){let t=!1,n=!1;for(let r=v[e];r<v[e+1];r++){let e=c[y[r]];e===2?t=!0:e!==1&&(n=!0)}t&&!n&&(b[e]=1,x=!0)}if(x)for(let e=0;e<n.length;e++){let o=n[e];if(!(o<0))for(let n=o,x=o+r[e]-1;n<x;n++){if(c[n]!==1||!b[l[n]])continue;let e=n,r=n;for(;e>o&&a[e-1];)e--;for(;r+1<x&&a[r+1];)r++;let S=_[g[e]],C=h[m[r]],w=t[u[S]]+f[S],T=t[d[C]]+p[C],E=Math.min(w,T)-i,D=Math.max(w,T)+i,O=!0,k=l[n];for(let e=v[k];O&&e<v[k+1];e++){let n=y[e];c[n]===2&&t[n]+s[n]/2>E&&t[n]-s[n]/2<D&&(O=!1)}if(!O)continue;a[n]=1;let A=r-e+2;for(let n=e;n<=r;n++)t[n]=w+(T-w)*(n-e+1)/A}}}function oe(e,t){let{n,real:r,maxRank:i,W:o,EF:s,ET:c,EFD:l,ETD:u,succStart:d,succE:f,predStart:p,predE:m,layerStart:h,order:g,pos:_,offsets:v,fixed:y,GRP:b,groupParent:x}=e,S=0;for(let e=0;e<=i;e++)S=Math.max(S,h[e+1]-h[e]);if(S<2)return[0,0];let C=v?new Int32Array(s.length):void 0,w=new Int32Array(C?s.length:0),T=new Int32Array(C?n:0),E=C?f.slice():f,D=new Uint8Array(C?n:0);if(C){let e=m.slice(),t=(e,t,n,r)=>{for(let i=t+1;i<n;i++)if(r[e[i]]!==r[e[t]])return e.subarray(t,n).sort((e,t)=>r[e]-r[t]),!0;return!1};for(let r=0;r<n;r++){if(T[r]=1,t(e,p[r],p[r+1],u))for(let t=p[r]+1;t<p[r+1];t++)u[e[t]]!==u[e[t-1]]&&T[r]++,w[e[t]]=T[r]-1;t(E,d[r],d[r+1],l)&&(D[r]=1)}}let O=1;for(;O<(C?S+s.length:S);)O<<=1;let k=new Int32Array(2*O),j=new Int32Array(s.length),M=()=>{let e=0;for(let t=0;t<i;t++){let n=h[t+2]-h[t+1];if(C){let e=0;for(let n=h[t+1];n<h[t+2];n++){let t=g[n];for(let n=p[t];n<p[t+1];n++)C[m[n]]=e+w[m[n]];e+=T[t]}n=e}if(n<2)continue;let r=0;for(let e=h[t];e<h[t+1];e++){let t=g[e],n=d[t],i=d[t+1],a=r;for(let e=n;e<i;e++)j[r++]=C?C[E[e]]:_[c[f[e]]];let o=r-a;if(!(o<2)){if(C&&D[t])for(let e=a+1;e<r;e++){let t=j[e],r=l[E[n+e-a]],i=e-1;for(;i>=a&&l[E[n+i-a]]===r&&j[i]>t;)j[i+1]=j[i],i--;j[i+1]=t}else if(o<=12)for(let e=a+1;e<r;e++){let t=j[e],n=e-1;for(;n>=a&&j[n]>t;)j[n+1]=j[n],n--;j[n+1]=t}else j.subarray(a,r).sort()}}if(r<2)continue;let i=1;for(;i<n;)i<<=1;k.fill(0,0,2*i);for(let t=0;t<r;t++){let n=j[t]+i;for(k[n]++;n>1;)!(n&1)&&(e+=k[n+1]),n>>=1,k[n]++}}return e},N=M(),P=new Float64Array(n),F=new Int32Array(S),I=new Int32Array(S),L=x?x.length:0,R=new Int32Array(L);for(let e=0;e<L;e++)for(let t=e;t>=0;t=x[t])R[e]++;let ee=new Float64Array(L),te=new Int32Array(L),ne=new Int32Array(L),re=(e,t)=>{let r=h[e],i=h[e+1];for(let e=r;e<i;e++)for(let t=b[g[e]];t>=0;t=x[t])ee[t]=0,te[t]=0;for(let e=r;e<i;e++){let n=g[e];for(let r=b[n];r>=0;r=x[r])te[r]===0&&(ne[r]=e),ee[r]+=t[n],te[r]++}let a=e=>e>=n?ee[e-n]/te[e-n]:t[e],o=e=>e>=n?ne[e-n]:r+_[e],s=Array.from(g.subarray(r,i)).sort((e,t)=>{let r=e,i=t,s=b[e],c=b[t],l=s<0?0:R[s],u=c<0?0:R[c];for(;l>u;l--)r=n+s,s=x[s];for(;u>l;u--)i=n+c,c=x[c];for(;s!==c;)r=n+s,s=x[s],i=n+c,c=x[c];return a(r)-a(i)||o(r)-o(i)});g.set(s,r);for(let e=r;e<i;e++)_[g[e]]=e-r};if(b){let e=new Float64Array(n);for(let t=0;t<=i;t++){for(let n=h[t];n<h[t+1];n++)e[g[n]]=n-h[t];re(t,e)}}let z=b?M():N;if(z===0)return[0,N];let ie=g.slice(),ae=Math.min(z,N),oe=(e,n)=>{let a=e?p:d,x=e?m:f,S=e?s:c,C=e?l:u;for(let s=1;s<=i;s++){let c=e?s:i-s;if(y[c])continue;let l=h[c],u=h[c+1],d=0;for(let n=l;n<u;n++){let i=g[n],s=i<r?t[i].pin:0;if(s!==0){P[i]=s*1e9,F[d++]=i;continue}let f=a[i],p=a[i+1];if(f===p){if(b){let t=e?h[c]-h[c-1]:h[c+2]-h[c+1];P[i]=(n-l)*t/(u-l);continue}P[i]=-1;continue}let m=0;for(let e=f;e<p;e++){let t=S[x[e]];m+=_[t],v&&o[t]>0&&(m+=C[x[e]]/o[t])}P[i]=m/(p-f),F[d++]=i}if(b){re(c,P);continue}if(d<2)continue;A(F,d,P,_,n,I);let f=0;for(let e=l;e<u;e++)P[g[e]]!==-1&&(g[e]=F[f++]);for(let e=l;e<u;e++)_[g[e]]=e-l}},B=()=>{let e=0;for(let t=0;t<=i;t++)for(let n=h[t];n<h[t+1];n++)if(!(g[n]>=r))for(let r=n+1;r<h[t+1];r++)g[r]<g[n]&&e++;return e},se=()=>{for(let e=0;e<=i;e++)for(let t=h[e];t<h[e+1];t++)_[g[t]]=t-h[e]},ce=e=>e<r?t[e].pin:0,V=(e,t)=>{let n=t?s[e]:c[e];return v&&o[n]>0?_[n]+(t?l[e]:u[e])/o[n]:_[n]},H=(e,t)=>{let n=0;for(let r=p[e];r<p[e+1];r++){let e=V(m[r],!0);for(let r=p[t];r<p[t+1];r++)e>V(m[r],!0)&&n++}for(let r=d[e];r<d[e+1];r++){let e=V(f[r],!1);for(let r=d[t];r<d[t+1];r++)e>V(f[r],!1)&&n++}return n},le=()=>{for(let e=0;e<8;e++){let e=!1;for(let t=0;t<=i;t++){if(y[t])continue;let n=h[t];for(let r=n;r+1<h[t+1];r++){let t=g[r],i=g[r+1];ce(t)!==ce(i)||b&&b[t]!==b[i]||H(i,t)>=H(t,i)||(g[r]=i,g[r+1]=t,_[i]=r-n,_[t]=r+1-n,e=!0)}}if(!e)break}},U=g.slice(),W=n<=600,ue=ie,de=1/0;for(let e=0;e<(W?2:1);e++){e>0&&(g.set(U),se());let t=ae,n=U.slice();for(let r=0,i=0;i<4&&r<a;r++,i++){oe((r+e)%2==0,r%4>=2);let a=M();if(a<t&&(t=a,n.set(g),i=0,a===0))break}if(g.set(n),W&&t>0){se(),le();let e=M();e<t&&(t=e,n.set(g))}let r=W?B():0;(e===0||t<z||t===z&&r<de)&&(z=t,ue=n,de=r)}if(g.set(ue),se(),ie.set(ue),b&&(z=M()),!W)return[z,N];for(let e=0;e<r;e++)if(t[e].pin!==0)return[z,N];if(de===0||y[0]||y[i])return[z,N];for(let e=0;e<=i;e++)g.subarray(h[e],h[e+1]).reverse();return se(),(M()>z||B()>=de)&&g.set(ie),[z,N]}function B(e,t,n){return e.W[n]/2+(e.KIND[n]===0?t.nodeSep:t.edgeSep)/2}function se(e,t){let{n,maxRank:r,W:i,KIND:a,EF:o,ET:s,EFD:c,ETD:l,succStart:u,succE:d,predStart:f,predE:p,layerStart:m,order:h,pos:g}=e,_=o.length,v=new Float64Array(n);for(let r=0;r<n;r++)v[r]=B(e,t,r);let y=new Int32Array(_);for(let e=0;e<_;e++)y[e]=g[s[e]];for(let e=0;e<n;e++)u[e+1]-u[e]>1&&k(d,u[e],u[e+1],y);for(let e=0;e<_;e++)y[e]=g[o[e]];for(let e=0;e<n;e++)f[e+1]-f[e]>1&&k(p,f[e],f[e+1],y);let b=new Uint8Array(_);for(let e=1;e<=r;e++){let t=m[e]-m[e-1],n=m[e],r=m[e+1],i=0,s=n;for(let e=n;e<r;e++){let n=h[e],c=-1;if(O(a[n])){let e=o[p[f[n]]];O(a[e])&&(c=e)}let l=c>=0?g[c]:t;if(c>=0||e===r-1){for(let t=s;t<=e;t++){let e=h[t],n=O(a[e]);for(let t=f[e];t<f[e+1];t++){let e=p[t],r=g[o[e]];(r<i||l<r)&&!(n&&O(a[o[e]]))&&(b[e]=1)}}s=e+1,i=l}}}let x=[],S=new Int32Array(n),C=new Int32Array(n),w=new Float64Array(n),T=new Int32Array(n),E=new Int32Array(n),D=new Float64Array(n),A=new Int32Array(n),j=new Int32Array(n+1),M=new Int32Array(n),N=new Int32Array(n),P=new Int32Array(n),F=new Float64Array(n);for(let e=0;e<4;e++){let t=e<2,i=(e&1)==1,a=t?f:u,_=t?p:d,y=t?o:s,O=t?l:c,k=t?c:l;for(let e=0;e<n;e++)S[e]=e,C[e]=e,w[e]=0,A[e]=0,j[e+1]=0,F[e]=0;for(let e=0;e<=r;e++){let n=t?e:r-e,o=m[n],s=m[n+1],c=t?n-1:n+1,l=c>=0&&c<=r?m[c+1]-m[c]-1:0,u=-1;for(let e=i?s-1:o;i?e>=o:e<s;i?e--:e++){let t=h[e],n=a[t],r=a[t+1]-n;if(r===0)continue;let o=n+(r-1>>1),s=n+(r>>1);for(let e=0;e<2&&(e!==1||o!==s);e++){let n=_[e===0===i?s:o],r=y[n],a=i?l-g[r]:g[r];C[t]===t&&u<a&&b[n]===0&&(C[r]=t,C[t]=S[t]=S[r],w[t]=w[r]+k[n]-O[n],u=a)}}}let I=0;for(let e=0;e<=r;e++){let t=m[e],n=m[e+1];for(let e=t+1;e<n;e++){let t=i?h[e]:h[e-1],n=i?h[e-1]:h[e],r=v[t]+v[n];T[I]=S[t],E[I]=S[n],D[I]=i?r-w[t]+w[n]:r+w[t]-w[n],A[S[n]]++,j[S[t]+1]++,I++}}for(let e=0;e<n;e++)j[e+1]+=j[e];for(let e=0;e<n;e++)N[e]=j[e];for(let e=0;e<I;e++)M[N[T[e]]++]=e;let L=0;for(let e=0;e<n;e++)S[e]===e&&A[e]===0&&(P[L++]=e);for(let e=0;e<L;e++){let t=P[e];for(let e=j[t];e<j[t+1];e++){let n=M[e],r=E[n];F[t]+D[n]>F[r]&&(F[r]=F[t]+D[n]),--A[r]===0&&(P[L++]=r)}}for(let e=L-1;e>=0;e--){let t=P[e],n=1/0;for(let e=j[t];e<j[t+1];e++){let t=M[e],r=F[E[t]]-D[t];r<n&&(n=r)}n!==1/0&&n>F[t]&&(F[t]=n)}let R=new Float64Array(n);for(let e=0;e<n;e++)R[e]=(i?-F[S[e]]:F[S[e]])+w[e];x.push(R)}let I=0,L=1/0,R=[],ee=[];for(let e=0;e<4;e++){let t=1/0,r=-1/0,a=x[e];for(let e=0;e<n;e++){let n=i[e]/2;a[e]-n<t&&(t=a[e]-n),a[e]+n>r&&(r=a[e]+n)}R.push(t),ee.push(r),r-t<L&&(L=r-t,I=e)}for(let e=0;e<4;e++){let t=e&1?ee[I]-ee[e]:R[I]-R[e];if(t!==0){let r=x[e];for(let e=0;e<n;e++)r[e]+=t}}let te=new Float64Array(n);for(let e=0;e<n;e++){let t=x[0][e],n=x[1][e],r=x[2][e],i=x[3][e],a;t>n&&(a=t,t=n,n=a),r>i&&(a=r,r=i,i=a),t>r&&(a=t,t=r,r=a),n>i&&(a=n,n=i,i=a),n>r&&(a=n,n=r,r=a),te[e]=(n+r)/2}return te}var ce=12,V=.62,H=6;function le(){let e=new Map;return{add(t,n,r){let i=W(r);n>=0&&i>0&&i+H>(e.get(t*4+n)??0)&&e.set(t*4+n,i+H)},of:(t,n)=>n>=0?e.get(t*4+n)??0:0}}function U(t,n,r,i,a=r>0?r+H:0,o=i>0?i+H:0){let s=n===`linear`,c=n===`step`||n===`stepBefore`||n===`stepAfter`,l=[],u=[],d=[],f=(e,t,n,r)=>Math.abs(e-n)<.01&&Math.abs(t-r)<.01;for(let e=0;e<t.length;e+=3){let r=t[e],i=t[e+1],a=t[e+2],o=l.length-1;if(c&&o>=0&&Math.abs(r-l[o])>=.01&&Math.abs(i-u[o])>=.01){let e=l[o],t=u[o],s=n===`stepBefore`?t:n===`stepAfter`?i:(t+i)/2,c=n===`stepBefore`?e:n===`stepAfter`?r:(e+r)/2,p=a===0?[e,s,r,s]:[c,t,c,i];for(let n=0;n<4;n+=2)f(p[n],p[n+1],e,t)||f(p[n],p[n+1],r,i)||(l.push(p[n]),u.push(p[n+1]),d.push(a))}l.push(r),u.push(i),d.push(a)}let p=l.length-1,m=e=>Math.abs(l[e]-l[e-1])<.01||Math.abs(u[e]-u[e-1])<.01,h=e=>s||m(e),g=(e,t,n)=>{if(!h(Math.max(e,t)))return n===0?[0,Math.sign(u[t]-u[e])||1]:[Math.sign(l[t]-l[e])||1,0];let r=l[t]-l[e],i=u[t]-u[e],a=Math.hypot(r,i)||1;return[r/a,i/a]},[_,v]=g(0,1,d[1]),[y,b]=g(p-1,p,d[p]),x=l[0],S=u[0],C=l[p],w=u[p];l[0]+=_*r,u[0]+=v*r,l[p]-=y*i,u[p]-=b*i;let T=e=>Math.abs(l[e]-l[e-1])+Math.abs(u[e]-u[e-1]),E=e=>!s&&e>0&&e<p&&m(e)&&m(e+1)&&T(e)>=.01&&T(e+1)>=.01&&Math.abs(l[e]-l[e-1])<.01!=Math.abs(l[e+1]-l[e])<.01,D=(e,t,n)=>Math.abs(l[e]-l[e-1])*Math.abs(t)+Math.abs(u[e]-u[e-1])*Math.abs(n),O=(e,t,n)=>{let r=Math.min(Math.max(0,e-H-t),n/4);return r+Math.min(e-t-r,(n-r)/4)},k=o>i&&(!h(p)||E(p-1))?O(o,i,D(p,y,b)):0,A=a>r&&(!h(1)||E(1))?O(a,r,D(1,_,v)):0;k>=1&&(l.splice(p,0,l[p]-y*k),u.splice(p,0,u[p]-b*k),d.splice(p,0,d[p]),p++),A>=1&&(l.splice(1,0,l[0]+_*A),u.splice(1,0,u[0]+v*A),d.splice(1,0,d[1]),p++);let j=`M${e(l[0])},${e(u[0])}`,M=l[0],N=u[0],P=(t,n)=>{f(t,n,M,N)||(j+=`L${e(t)},${e(n)}`,M=t,N=n)};for(let t=1;t<=p;t++){let n=l[t],r=u[t];if(!h(t)){let i=d[t]===0,a=i?r-N:n-M,o=Math.abs(a)*R(i?n-M:r-N,a),s=i?0:Math.sign(a)*o,c=i?Math.sign(a)*o:0;j+=`C${e(M+s)},${e(N+c)} ${e(n-s)},${e(r-c)} ${e(n)},${e(r)}`,M=n,N=r;continue}if(!E(t)){if(t<p&&m(t)&&m(t+1)&&(n-l[t-1])*(l[t+1]-n)+(r-u[t-1])*(u[t+1]-r)>0)continue;P(n,r);continue}let i=E(t-1)?T(t)/2:T(t),a=E(t+1)?T(t+1)/2:T(t+1);c&&(i=a=Math.min(ce,i,a));let[o,s]=g(t-1,t,d[t]),[f,_]=g(t,t+1,d[t+1]);P(n-o*i,r-s*i),M=n+f*a,N=r+_*a,j+=c?`Q${e(n)},${e(r)} ${e(M)},${e(N)}`:`C${e(n-o*i*(1-V))},${e(r-s*i*(1-V))} ${e(n+f*a*(1-V))},${e(r+_*a*(1-V))} ${e(M)},${e(N)}`}return{d:j,sx:x,sy:S,sdx:-_,sdy:-v,ex:C,ey:w,edx:y,edy:b}}function W(e){return e===`arrow_point`?7:e===`arrow_circle`?8:e===`arrow_cross`?4:0}function ue(t,n,r,i,a,o){let s=-a,c=i;if(t===`arrow_point`){let t=n-i*8,l=r-a*8,u=3.36;return`<path class="pele-marker" d="M${e(n)},${e(r)}L${e(t+s*u)},${e(l+c*u)}L${e(t-s*u)},${e(l-c*u)}Z" fill="${o}" stroke="none"/>`}if(t===`arrow_circle`)return`<circle class="pele-marker" cx="${e(n-i*4)}" cy="${e(r-a*4)}" r="3.5" fill="${o}" stroke="none"/>`;if(t===`arrow_cross`){let t=n-i*4,o=r-a*4,l=3.5,u=(i+s)*l,d=(a+c)*l,f=(i-s)*l,p=(a-c)*l;return`<path class="pele-marker" d="M${e(t-u)},${e(o-d)}L${e(t+u)},${e(o+d)}M${e(t-f)},${e(o-p)}L${e(t+f)},${e(o+p)}"/>`}return``}function de(r,i,a,o,s,c){let l=i.width+8,u=i.height;return`<g class="pele-edge-label" data-id="${t(r)}"><rect x="${e(a-l/2)}" y="${e(o-u/2)}" width="${e(l)}" height="${e(u)}" rx="3" fill="var(--_bg)"/>`+n(i,a,o,s,c)+`</g>`}function G(t,n,r,i,a,o,s,c){let l=(a?n:r)/2,u=Math.min(l-4,8+i*6),d=o+i*8,f=Math.hypot(d,u)||1,p=(i,o)=>a?`${e(t.x+o)},${e(t.y+r/2+i)}`:`${e(t.x+n/2+i)},${e(t.y+o)}`,m=d/f*s,h=u/f*s;return a?(c.labelX=t.x,c.labelY=t.y+r/2+d+4+c.labelH/2):(c.labelX=t.x+n/2+d+4+c.labelW/2,c.labelY=t.y),{d:`M${p(0,-u)}C${p(d,-u*2)} ${p(d,u*2)} ${p(m,u+h)}`,sx:a?t.x-u:t.x+n/2,sy:a?t.y+r/2:t.y-u,sdx:a?0:-1,sdy:a?-1:0,ex:a?t.x+u:t.x+n/2,ey:a?t.y+r/2:t.y+u,edx:a?-u/f:-d/f,edy:a?-d/f:-u/f}}export{W as a,j as c,le as d,M as f,de as i,U as l,N as n,r as o,R as r,ue as s,i as t,G as u};
2
- //# sourceMappingURL=N3JZAHOW-2wC96xvZ.js.map
1
+ import{f as e,r as t,t as n}from"./77XECAW3-TL2w7pHK.js";function r(e,t,n=0){return{w:e,h:t,kind:n,pin:0,hint:NaN,key:NaN,span:0,x:0,y:0,rank:0}}function i(e,t,n=1,r=0,i=0){return{tail:e,head:t,minlen:n,labelW:r,labelH:i,tailDx:0,headDx:0,tailFixed:!1,headFixed:!1,reversed:!1,points:[],labelX:0,labelY:0}}var a=24,o=2e4,s=16,c=8,l=.125,u=3,d=18,f=10,p=14,m=2,h=28,g=12,_=12,v=8,y=4,b=.5,x=.5,S=12,C=40,w=400,T=16,E=new Float64Array(2*T+2),D=new Float64Array(2*T+2);function O(e){return e===1||e===2}function k(e,t,n,r){for(let i=t+1;i<n;i++){let n=e[i],a=r[n],o=i-1;for(;o>=t&&(r[e[o]]>a||r[e[o]]===a&&e[o]>n);)e[o+1]=e[o],o--;e[o+1]=n}}function A(e,t,n,r,i,a){let o=(e,t)=>n[e]<n[t]||n[e]===n[t]&&(i?r[e]>r[t]:r[e]<r[t]);for(let n=0;n<t;n+=8)for(let r=n+1,i=Math.min(t,n+8);r<i;r++){let t=e[r],i=r-1;for(;i>=n&&o(t,e[i]);)e[i+1]=e[i],i--;e[i+1]=t}let s=e,c=a;for(let e=8;e<t;e*=2){for(let n=0;n<t;n+=2*e){let r=Math.min(t,n+e),i=Math.min(t,n+2*e),a=n,l=r,u=n;for(;a<r&&l<i;)c[u++]=o(s[l],s[a])?s[l++]:s[a++];for(;a<r;)c[u++]=s[a++];for(;l<i;)c[u++]=s[l++]}let n=s;s=c,c=n}if(s!==e)for(let n=0;n<t;n++)e[n]=s[n]}function j(e,t,n){let r=e.length;if(r===0)return{width:0,height:0};let i=t.length;if(r===1&&i===0&&e[0].kind===0){let t=e[0];return t.rank=0,t.x=t.w/2,t.y=t.h/2,{width:t.w,height:t.h}}let a=1;if(i>0){let e=new Set;for(let n of t){let t=Math.min(n.tail,n.head),i=Math.max(n.tail,n.head),o=t*r+i;if(n.labelW>0||e.has(o)){a=2;break}e.add(o)}}M(e,t),N(e,t,a);let s=new Int32Array(i),c=0;for(let n=0;n<i;n++){let r=t[n];s[n]=Math.abs(e[r.head].rank-e[r.tail].rank),s[n]>1&&(c+=s[n]-1)}let _=new Uint8Array(i);if(c>o){let e=[];for(let t=0;t<i;t++)s[t]>1&&e.push(t);e.sort((e,t)=>s[t]-s[e]||e-t);for(let t of e){if(c<=o)break;_[t]=1,c-=s[t]-1}}let v=r+c,y=new Float64Array(v),b=new Float64Array(v),x=new Uint8Array(v),S=new Int32Array(v),C=0;for(let t=0;t<r;t++){let n=e[t];y[t]=n.w,b[t]=n.h,x[t]=n.kind,S[t]=n.rank,n.rank>C&&(C=n.rank)}let w=0;for(let e=0;e<i;e++)_[e]||(w+=s[e]);let T=new Int32Array(w),E=new Int32Array(w),D=new Float64Array(w),O=new Float64Array(w),k=new Int32Array(i).fill(-1),A=new Uint8Array(C+1),j=new Int32Array(i).fill(-1),P=!1;for(let t=0;t<r;t++)e[t].span>0&&e[t].kind===0&&(P=!0);let I=P?new Uint8Array(w):void 0,R=P?new Uint8Array(w):void 0,B=new Int32Array(i).fill(-1),ce=new Int32Array(i).fill(-1),V=new Float64Array(v).fill(NaN);for(let t=0;t<r;t++)V[t]=e[t].key;let H=!1;{let e=r,n=0;for(let r=0;r<i;r++){if(_[r])continue;let i=t[r],o=i.reversed?i.head:i.tail,s=i.reversed?i.tail:i.head,c=i.reversed?i.headDx:i.tailDx,l=i.reversed?i.tailDx:i.headDx;(c!==0||l!==0)&&(H=!0);let u=S[o],d=S[s],f=-1;i.labelW>0&&(f=u+(d-u>>1),a===2&&d-u>=4?(f&1)==1&&(f+=i.reversed?1:-1):a===2&&!(f&1)&&(f+=i.reversed?1:-1));let p=o;d-u>1&&(k[r]=e),B[r]=n,I&&!(i.reversed?i.headFixed:i.tailFixed)&&(I[n]=i.reversed?2:1);for(let t=u+1;t<d;t++){let a=e++;S[a]=t,V[a]=V[o]+(V[s]-V[o])*(t-u)/(d-u),t===f?(y[a]=i.labelW,b[a]=i.labelH,x[a]=2,j[r]=a,A[t]|=i.reversed?2:1):x[a]=1,T[n]=p,E[n]=a,D[n]=p===o?c:0,n++,p=a}T[n]=p,E[n]=s,D[n]=p===o?c:0,O[n]=l,R&&!(i.reversed?i.tailFixed:i.headFixed)&&(R[n]=i.reversed?1:2),ce[r]=n,n++}}let le;if(n.groups){let{of:e,parent:a}=n.groups;le=new Int32Array(v);for(let t=0;t<r;t++)le[t]=e[t];let o=e=>{let t=0;for(;e>=0;e=a[e])t++;return t},c=(e,t)=>{let n=o(e),r=o(t);for(;n>r;n--)e=a[e];for(;r>n;r--)t=a[t];for(;e!==t;)e=a[e],t=a[t];return e};for(let n=0;n<i;n++){if(k[n]<0)continue;let r=t[n],i=c(e[r.tail],e[r.head]);for(let e=k[n],t=e+s[n]-1;e<t;e++)le[e]=i}}let U=new Int32Array(v+1),W=new Int32Array(v+1);for(let e=0;e<w;e++)U[T[e]+1]++,W[E[e]+1]++;for(let e=0;e<v;e++)U[e+1]+=U[e],W[e+1]+=W[e];let ue=new Int32Array(w),de=new Int32Array(w);{let e=U.slice(0,v),t=W.slice(0,v);for(let n=0;n<w;n++)ue[e[T[n]]++]=n,de[t[E[n]]++]=n}let G=new Int32Array(C+2);for(let e=0;e<v;e++)G[S[e]+1]++;for(let e=0;e<=C;e++)G[e+1]+=G[e];let K=new Int32Array(v),fe=new Int32Array(v);{let e=new Int32Array(v),t=G.slice(0,C+1);for(let n=0;n<v;n++)e[t[S[n]]++]=n;for(let e=0;e<=C;e++)t[e]=G[e];let n=new Uint8Array(v),r=[];for(let i=0;i<v;i++)if(!n[e[i]])for(r.push(e[i]);r.length>0;){let e=r.pop();if(!n[e]){n[e]=1,K[t[S[e]]++]=e;for(let t=U[e+1]-1;t>=U[e];t--){let e=E[ue[t]];n[e]||r.push(e)}}}}let pe=(e,t)=>{let n=G[e],r=G[e+1];if(r-n<2)return!1;for(let e=n;e<r;e++)if(Number.isNaN(t(K[e])))return!1;let i=Array.from(K.subarray(n,r)),a=new Map;return i.forEach((e,t)=>a.set(e,t)),i.sort((e,n)=>t(e)-t(n)||a.get(e)-a.get(n)),K.set(i,n),!0};for(let e=0;e<=C;e++)pe(e,e=>V[e]);let me=!1;for(let t=0;t<r;t++)e[t].pin!==0&&(me=!0);if(me)for(let t=0;t<=C;t++){let n=Array.from(K.subarray(G[t],G[t+1])),i=new Map;n.forEach((e,t)=>i.set(e,t));let a=t=>t<r?e[t].pin:0;n.sort((e,t)=>a(e)-a(t)||i.get(e)-i.get(t)),K.set(n,G[t])}let he=new Uint8Array(C+1),ge=t=>t<r&&(e[t].kind===3||e[t].kind===4)?e[t].hint:NaN;for(let e of[0,C])pe(e,ge)&&(he[e]=1);let _e=()=>{for(let e=0;e<=C;e++){let t=G[e];for(let n=t,r=G[e+1];n<r;n++)fe[K[n]]=n-t}};_e();let q={n:v,real:r,maxRank:C,W:y,KIND:x,RANK:S,EF:T,ET:E,EFD:D,ETD:O,succStart:U,succE:ue,predStart:W,predE:de,layerStart:G,order:K,pos:fe,offsets:H,fixed:he,GRP:le,groupParent:n.groups?.parent},ve=0,ye=0;if(w>0&&C>0&&([ve,ye]=oe(q,e),_e()),n.orderOnly){let a=se(q,n);for(let t=0;t<r;t++)e[t].x=a[t];for(let e=0;e<i;e++){let n=t[e],r=n.reversed?n.head:n.tail,i=n.reversed?n.tail:n.head,o=[S[r],a[r]];if(!_[e]&&k[e]>=0)for(let t=k[e],n=t+s[e]-1;t<n;t++)o.push(S[t],a[t]);o.push(S[i],a[i]),n.points=o}return{width:0,height:0,crossings:ve,declared:ye}}I&&R&&F(q,e,I,R);let J=se(q,n),Y=re(q);if(I&&R){let r=L(q,I,R);ee(q,e,J,r,n,Y),te(q,e,J,I,R,r,Y),ne(q,J,Y,n);for(let e=0;e<i;e++){if(_[e])continue;let n=t[e],r=D[B[e]],i=O[ce[e]];n.tailDx=n.reversed?i:r,n.headDx=n.reversed?r:i}}let be=new Uint8Array(v);Y&&!n.tracks&&ie(q,J,Y,k,s,n.apart?0:n.edgeSep,be),n.tracks||ae(q,J,k,s,n.edgeSep,be);let xe=new Int32Array(i+1),X=n.tracks||I&&!n.straight?{from:[],to:[],rank:[],lower:[],track:[],levels:[],wide:[]}:void 0,Se=new Int32Array(C+1);if(X){for(let e=0;e<i;e++){if(xe[e]=X.from.length,_[e])continue;let t=k[e],r=!1;for(let i=t,a=t<0?t:t+s[e]-1;i<a;i++){let e=Y!==void 0&&Y[S[i]]===1;!n.tracks&&e!==(be[i]===1)&&(r=!0)}if(r)continue;let i=J[T[B[e]]]+D[B[e]],a=S[T[B[e]]];for(let n=t,r=t<0?t:t+s[e]-1;n<r;n++)Y&&Y[S[n]]||(X.from.push(i),X.to.push(J[n]),X.rank.push(a),X.lower.push(n),i=J[n],a=S[n]);X.from.push(i),X.to.push(J[E[ce[e]]]+O[ce[e]]),X.rank.push(a),X.lower.push(-1)}xe[i]=X.from.length}let Ce=(e,t)=>{let n=!1;for(let r=G[e];r<G[e+1];r++){let e=x[K[r]];if(e===t)n=!0;else if(e!==1)return!1}return n},we=Ce(0,3)?a:0,Te=Ce(C,4)?a:0,Ee=new Float64Array(C+1);for(let e=0;e<w;e++){let t=Math.abs(J[T[e]]+D[e]-J[E[e]]-O[e]);t>Ee[S[T[e]]]&&(Ee[S[T[e]]]=t)}let Z=new Float64Array(C+1),Q=new Float64Array(C+1),De=e=>(e<we||e>=C-Te?n.portSep:n.rankSep)/a,Oe=new Float64Array(C+1);for(let e=0;e<C;e++)Oe[e]=X?De(e):Math.max(De(e),Math.min(u*n.rankSep/a,Ee[e]*l));let ke=new Uint8Array(C+1).fill(1);for(let e=0;e<r;e++)ke[S[e]]=0;for(let e=1;e<C;e++){if(n.tracks||!ke[e]||A[e]!==1&&A[e]!==2)continue;let t=Math.min((n.headRoom??0)/2,Oe[A[e]===1?e-1:e]/2);Oe[e-1]+=A[e]===1?-t:t,Oe[e]+=A[e]===1?t:-t}let Ae=e=>x[e]===1&&ke[S[e]]&&!n.tracks?(Q[S[e]]-Z[S[e]])/4:0,je=n.tracks?d:h,Me=n.tracks?f:g,Ne=n.tracks?p:g,Pe=new Int32Array(C+1);if(X){let e=new Float64Array(C+1);for(let t=0;t<C;t++){if(Y&&Y[t])continue;let n=t+1;for(e[t]=Oe[t];n<C&&Y&&Y[n];)e[t]+=Oe[n++];Pe[t]=n}for(let t=0;t<X.from.length;t++)X.wide.push(+(Math.abs(X.from[t]-X.to[t])>m*e[X.rank[t]]));let t=new Float64Array(C+1);z(X,Se,!n.tracks,e,t);for(let r=0;r<C;r++)Se[r]>0?Oe[r]+=Math.max(0,2*je+(Se[r]-1)*Me-e[r]):t[r]>0&&(Oe[r]+=Math.max(0,Math.min(u*n.rankSep,t[r])-e[r]))}let Fe=0;for(let e=0;e<=C;e++){let t=0;for(let n=G[e];n<G[e+1];n++)b[K[n]]>t&&(t=b[K[n]]);Z[e]=Fe,Q[e]=Fe+t,Fe+=t+Oe[e]}let Ie=Fe,Le=(e,t=X.track[e])=>{let r=X.rank[e],i=Q[r],a=Z[Pe[r]],o=n.tracks?Se[r]:X.levels[e],s=o>1?Math.min(Ne,(a-i-2*je)/(o-1)):0;return(i+a)/2+(t-(o-1)/2)*s},$=1/0,Re=-1/0;for(let e=0;e<v;e++){let t=y[e]/2;J[e]-t<$&&($=J[e]-t),J[e]+t>Re&&(Re=J[e]+t)}let ze=new Uint8Array(C+1),Be=new Uint8Array(C+1);for(let e=0;e<r;e++)x[e]!==0||!I||(W[e+1]>W[e]&&(ze[S[e]]=1),U[e+1]>U[e]&&(Be[S[e]]=1));for(let t=0;t<r;t++){let n=e[t],r=n.rank;n.x=J[t]-$,n.y=x[t]===0&&Be[r]&&!ze[r]?Q[r]-n.h/2:x[t]===0&&ze[r]&&!Be[r]?Z[r]+n.h/2:(Z[r]+Q[r])/2}for(let r=0;r<i;r++){let i=t[r],a=e[i.reversed?i.head:i.tail],o=e[i.reversed?i.tail:i.head],c=[a.x+(i.reversed?i.headDx:i.tailDx),a.y+a.h/2],l=k[r];if(X&&xe[r+1]>xe[r])for(let e=xe[r];e<xe[r+1];e++){if(X.track[e]>=0&&(n.tracks||X.wide[e]===1)){let t=Le(e);c.push(X.from[e]-$,t,X.to[e]-$,t)}else X.track[e]>0&&c.push(X.from[e]-$,Le(e,X.track[e]-1));let t=X.lower[e];t<0||(c.push(J[t]-$,Z[S[t]]+Ae(t)),Q[S[t]]>Z[S[t]]&&c.push(J[t]-$,Q[S[t]]-Ae(t)))}else if(l>=0)for(let e=l,t=l+s[r]-1;e<t;e++){if(be[e])continue;let t=J[e]-$,n=Z[S[e]],r=Q[S[e]];c.push(t,n+Ae(e)),r>n&&c.push(t,r-Ae(e))}if(c.push(o.x+(i.reversed?i.tailDx:i.headDx),o.y-o.h/2),i.reversed)for(let e=0,t=c.length-2;e<t;e+=2,t-=2){let n=c[e],r=c[e+1];c[e]=c[t],c[e+1]=c[t+1],c[t]=n,c[t+1]=r}i.points=c;let u=j[r];u>=0?(i.labelX=J[u]-$,i.labelY=(Z[S[u]]+Q[S[u]])/2):i.labelW>0&&(i.labelX=(c[0]+c[c.length-2])/2,i.labelY=(c[1]+c[c.length-1])/2)}return{width:Re-$,height:Ie}}function M(e,t){let n=e.length,r=t.length,i=new Int32Array(n+1);for(let n=0;n<r;n++){let r=t[n];r.reversed=e[r.head].kind===3||e[r.tail].kind===4,r.reversed||i[r.tail+1]++}for(let e=0;e<n;e++)i[e+1]+=i[e];let a=new Int32Array(i[n]);{let e=i.slice(0,n);for(let n=0;n<r;n++)t[n].reversed||(a[e[t[n].tail]++]=n)}let o=new Uint8Array(n),s=i.slice(0,n),c=[];for(let e=0;e<n;e++)if(o[e]===0)for(c.push(e),o[e]=1;c.length>0;){let e=c[c.length-1];if(s[e]<i[e+1]){let n=t[a[s[e]++]],r=n.head;o[r]===1?n.reversed=!0:o[r]===0&&(o[r]=1,c.push(r))}else o[e]=2,c.pop()}}function N(e,t,n){let r=e.length,i=t.length,a=new Int32Array(i),o=new Int32Array(i),s=new Int32Array(i),c=new Int32Array(r+1),l=new Int32Array(r+1);for(let e=0;e<i;e++){let r=t[e],i=r.reversed?r.head:r.tail,u=r.reversed?r.tail:r.head;a[e]=i,o[e]=u,s[e]=Math.max(1,r.minlen)*n,c[i+1]++,l[u+1]++}for(let e=0;e<r;e++)c[e+1]+=c[e],l[e+1]+=l[e];let u=new Int32Array(i),d=new Int32Array(i);{let e=c.slice(0,r),t=l.slice(0,r);for(let n=0;n<i;n++)u[e[a[n]]++]=n,d[t[o[n]]++]=n}let f=new Int32Array(r),p=new Int32Array(r);for(let e=0;e<r;e++)p[e]=l[e+1]-l[e];let m=new Int32Array(r),h=0;for(let e=0;e<r;e++)p[e]===0&&(m[h++]=e);for(let e=0;e<h;e++){let t=m[e];for(let e=c[t];e<c[t+1];e++){let n=u[e],r=o[n];f[t]+s[n]>f[r]&&(f[r]=f[t]+s[n]),--p[r]===0&&(m[h++]=r)}}for(let e=0;e<8;e++){let e=!1;for(let t=h-1;t>=0;t--){let n=m[t],r=l[n+1]-l[n],i=c[n+1]-c[n];if(r===0&&i===0)continue;let p=-1/0,h=1/0;for(let e=l[n];e<l[n+1];e++){let t=d[e];p=Math.max(p,f[a[t]]+s[t])}for(let e=c[n];e<c[n+1];e++){let t=u[e];h=Math.min(h,f[o[t]]-s[t])}let g=f[n];i>r&&h!==1/0?g=h:r>i&&p!==-1/0&&(g=p),g!==f[n]&&(f[n]=g,e=!0)}if(!e)break}let g=1/0,_=-1/0,v=!1;for(let t=0;t<r;t++){let n=e[t].kind;n===3&&(v=!0),n!==3&&n!==4&&(f[t]<g&&(g=f[t]),f[t]>_&&(_=f[t]))}g===1/0&&(g=0,_=0);for(let t=0;t<r;t++)e[t].kind===3?f[t]=g-n:e[t].kind===4&&(f[t]=_+n);v&&(g-=n);for(let t=0;t<r;t++)e[t].rank=f[t]-g}function P(e,t,n,r,i,a,o){let l=n===0?e.predStart:e.succStart,u=n===0?e.predE:e.succE,d=n===0?e.EF:e.ET,f=e.pos;for(let e=l[t];e<l[t+1];e++)i[u[e]]!==0&&a.push(u[e]);if(a.length<2)return 0;a.sort((e,t)=>f[d[e]]-f[d[t]]||e-t);let p=e=>{let t=0;o[0]=0;for(let n=1;n<a.length;n++){let r=i[a[n]]===i[a[n-1]];o[n]=e(r&&i[a[n]]===1,r),t+=o[n]}return t},m=p(()=>1);if(r/m<c&&(m=p(e=>e?.5:1)),r/m<c&&(m=p((e,t)=>+!t)),m===0)return 0;let h=Math.min(s,r/m);for(let e=1;e<a.length;e++)o[e]*=h;return m*h}function F(e,t,n,r){let{real:i,W:a,EFD:o,ETD:s}=e;for(let c=0;c<i;c++){let i=Math.min(t[c].span,a[c]);if(!(i<=0||t[c].kind!==0))for(let t=0;t<2;t++){let a=[],l=[],u=P(e,c,t,i,t===0?r:n,a,l);if(u===0)continue;let d=t===0?s:o,f=-u/2;for(let e=0;e<a.length;e++)f+=l[e],d[a[e]]=f}}}function I(e,t,n,r){if(!t)return n;let{KIND:i,RANK:a,EF:o,ET:s,succStart:c,succE:l,predStart:u,predE:d}=e;for(let e=0;e<1e5;e++){let e=r===0?o[n]:s[n];if(i[e]!==1||!t[a[e]])break;n=r===0?d[u[e]]:l[c[e]]}return n}function L(e,t,n){let r=[new Int32Array(e.n),new Int32Array(e.n)];for(let i=0;i<e.EF.length;i++)n[i]!==0&&r[0][e.ET[i]]++,t[i]!==0&&r[1][e.EF[i]]++;return r}function R(e,t){return Math.max(.25,Math.min(.5,4*Math.abs(t)/(Math.abs(e)||1)))}function ee(e,t,n,r,i,a){let o=i.edgeSep,{n:s,real:c,maxRank:l,KIND:u,RANK:d,W:f,EF:p,ET:m,EFD:h,ETD:g,succStart:_,succE:v,predStart:y,predE:b,layerStart:x,order:S,pos:C}=e,w=e=>u[e]===2||u[e]===1&&(a===void 0||a[d[e]]!==1),T=(e,i)=>{let a=i===0?p[e]:m[e];return[i===0?n[a]+h[e]:n[a]+g[e],a<c&&t[a].kind===0?r[1-i][a]:0]},E=e=>{let t=x[d[e]],r=t+C[e],a=t=>f[t]/2+f[e]/2+(u[t]===0?i.nodeSep/2+o/2:u[t]===u[e]?o:o/2);return[r>t?n[S[r-1]]+a(S[r-1]):-1/0,r+1<x[d[e]+1]?n[S[r+1]]-a(S[r+1]):1/0]},D=(e,t,n,r,i)=>{let a=(t[1]===n[1]?Math.abs(t[0]-e)<=Math.abs(n[0]-e):t[1]<n[1])?[t[0],n[0]]:[n[0],t[0]];return a.find(e=>e>=r&&e<=i)??Math.max(r,Math.min(i,a[0]))},k=new Uint8Array(s),A=[];for(let t=1;t<l;t++)for(let r=x[t];r<x[t+1];r++){if(!w(S[r])||k[S[r]])continue;let t=S[r];for(;O(u[p[b[y[t]]]]);)t=p[b[y[t]]];let i=t,o=-1/0,s=1/0;A.length=0;for(let e=t;O(u[e]);e=m[v[_[e]]]){if(i=e,!w(e))continue;k[e]=1,A.push(e);let[t,n]=E(e);t>o&&(o=t),n<s&&(s=n)}if(o<=s){let e=D(n[A[0]],T(b[y[t]],0),T(v[_[i]],1),o,s);for(let t of A)n[t]=e;continue}for(let t of A){let[r,i]=E(t);r>i||(n[t]=D(n[t],T(I(e,a,b[y[t]],0),0),T(I(e,a,v[_[t]],1),1),r,i))}}}function te(e,t,n,r,i,a,o){let{real:c,W:l,EF:u,ET:d,EFD:f,ETD:p,succStart:m,succE:h,predStart:g,predE:_,pos:v}=e,y=(s,m,h,g,_)=>{if(a[m][h]<2)return 0;s=I(e,o,s,m);let v=m===0?u[s]:d[s],y=m===0?n[v]+f[s]:n[v]+p[s];if(_&&Math.abs(y-n[h])<=g/2+x)return Math.max(-g/2,Math.min(g/2,y-n[h]));let b=y,S=0;v<c&&t[v].kind===0&&(m===0?r:i)[s]!==0&&a[1-m][v]>=2&&(S=Math.max(0,Math.min(t[v].span,l[v])),S>0&&(b=n[v]));let w=Math.max(n[h]-g/2,b-S/2),T=Math.min(n[h]+g/2,b+S/2);if(w>T+x){let e=Math.max(0,g/2-C);return Math.max(-e,Math.min(e,y-n[h]))}let E=(n[h]*S+b*g)/(S+g);return Math.max(w,Math.min(T,E))-n[h]},b=[];for(let n=0;n<c;n++){let a=Math.min(t[n].span,l[n]);if(!(a<=0||t[n].kind!==0))for(let t=0;t<2;t++){let o=t===0?u:d,s=t===0?g:m,c=t===0?_:h,l=[],f=[];if(P(e,n,t,a,t===0?i:r,l,f),l.length===0)continue;l.length===1&&(f[0]=0);let p=[];for(let e=s[n];e<s[n+1];e++)p.push(c[e]);p.sort((e,t)=>v[o[e]]-v[o[t]]||e-t),b.push({v:n,side:t,span:a,ids:l,room:f,all:p})}}for(let e=0,t=!0;t&&e<6;e++){t=!1;for(let{v:n,side:a,span:o,ids:c,room:l,all:u}of b){let d=a===0?i:r,m=a===0?p:f,h=0,g=-o/2;for(let r=0;r<=u.length;r++){let i=r<u.length&&d[u[r]]===0;if(r<u.length&&!i)continue;let f=0;for(let e=r-1;e>=0&&d[u[e]]!==0;e--)f++;let p=i?m[u[r]]-s:o/2;if(f>0){let r=[],i=[],s=0;for(let t=0;t<f;t++){t>0&&(s+=l[h+t]),r.push(y(c[h+t],a,n,o,e>0)-s),i.push(1);let u=t>0&&l[h+t]===0;for(;r.length>1&&(u||r[r.length-2]/i[i.length-2]>r[r.length-1]/i[i.length-1]);){u=!1;let e=r.pop(),t=i.pop();r[r.length-1]+=e,i[i.length-1]+=t}}let u=s,d=0;s=0;for(let e=0;e<r.length;e++){let n=p-u<g?(g+p-u)/2:Math.max(g,Math.min(p-u,r[e]/i[e]));for(let r=0;r<i[e];r++,d++)d>0&&(s+=l[h+d]),Math.abs(m[c[h+d]]-n-s)>.01&&(t=!0),m[c[h+d]]=n+s}h+=f}i&&(g=m[u[r]]+s)}}}}function ne(e,t,n,r){let{n:i,KIND:a,RANK:o,EF:s,ET:c,EFD:l,ETD:u,layerStart:d,order:f,pos:p}=e,m=e=>n!==void 0&&a[e]===1&&n[o[e]]===1,h=[],g=[],_=[],v=[];for(let t=0;t<s.length;t++){if(m(s[t]))continue;let r=I(e,n,t,1);h.push(s[t]),g.push(c[r]),_.push(l[t]),v.push(u[r])}let y=e=>t[g[e]]+v[e]-t[h[e]]-_[e],b=new Int32Array(i),x=[];for(let e=0;e<i;e++)b[e]=e,x.push([e]);let C=(e,t)=>{let n=b[e],r=b[t];if(n!==r){x[n].length<x[r].length&&([n,r]=[r,n]);for(let e of x[r])b[e]=n,x[n].push(e);x[r]=[]}},w=[];for(let e=0;e<h.length;e++){let t=Math.abs(y(e));t<.01?C(h[e],g[e]):t<=S&&w.push(e)}if(w.length===0)return;w.sort((e,t)=>Math.abs(y(e))-Math.abs(y(t))||e-t);let T=t=>B(e,r,t),E=(e,n)=>{for(let r of x[e]){let i=d[o[r]],a=d[o[r]+1],s=i+p[r];if(s>i&&b[f[s-1]]!==e&&t[r]+n-t[f[s-1]]<T(r)+T(f[s-1])-.01||s+1<a&&b[f[s+1]]!==e&&t[f[s+1]]-t[r]-n<T(r)+T(f[s+1])-.01)return!1}return!0};for(let e of w){let n=y(e);if(Math.abs(n)<.01){C(h[e],g[e]);continue}if(Math.abs(n)>S||b[h[e]]===b[g[e]])continue;let r=b[h[e]],i=b[g[e]],a=x[r].length<=x[i].length?r:i;for(let o of[a,a===r?i:r]){let i=o===r?n:-n;if(E(o,i)){for(let e of x[o])t[e]+=i;C(h[e],g[e]);break}}}}function re(e){let{maxRank:t,KIND:n,layerStart:r,order:i}=e,a=new Uint8Array(t+1),o=!1;for(let e=1;e<t;e++){let t=r[e+1]>r[e];for(let a=r[e];t&&a<r[e+1];a++)n[i[a]]!==1&&(t=!1);t&&(a[e]=1,o=!0)}return o?a:void 0}function z(e,t,n,r,i){let{from:a,to:o,rank:s,track:c,levels:l,wide:u}=e,d=a.length,f=new Map;for(let e=0;e<d;e++){if(c.push(-1),l.push(0),Math.abs(a[e]-o[e])<x)continue;let t=f.get(s[e]);t?t.push(e):f.set(s[e],[e])}if(f.size===0)return;let p=new Float64Array(d),m=new Float64Array(d);for(let e=0;e<d;e++)p[e]=Math.min(a[e],o[e]),m[e]=Math.max(a[e],o[e]);let h=(e,t)=>+(e>=p[t]-x&&e<=m[t]+x),g=(e,t)=>Math.abs(a[e]-a[t])<x||Math.abs(o[e]-o[t])<x,S=(e,t)=>p[e]<m[t]-x&&p[t]<m[e]-x,C=(e,t)=>S(e,t)&&!g(e,t),O=(e,t)=>S(e,t)||h(o[e],t)+h(a[t],e)+h(o[t],e)+h(a[e],t)>0,k=(e,t)=>h(o[e],t)+h(a[t],e),A=e=>{let t=e.map((e,t)=>t).sort((t,n)=>p[e[t]]-p[e[n]]),n=[];for(let r=0;r<t.length;r++){let i=t[r],a=m[e[i]]+4*x;for(let o=r+1;o<t.length&&p[e[t[o]]]<=a;o++){let e=t[o];n.push(Math.min(i,e),Math.max(i,e))}}return n},j=e=>{e.sort((e,t)=>m[t]-p[t]-(m[e]-p[e])||p[e]-p[t]||e-t);let t=e.length,r=[],i=e.map((e,t)=>t),a=e=>{for(;i[e]!==e;)e=i[e]=i[i[e]];return e},o=t<=w,s=o?A(e):[],u=o?e.map(()=>[]):[];for(let t=0;t<s.length;t+=2){let n=s[t],r=s[t+1];C(e[n],e[r])&&(u[n].push(r),u[r].push(n))}let d=e.map((e,t)=>t);if(o){let n=new Int32Array(t),o=[];for(let e=0;e<t;e++)r.push([]),o.push([]);for(let t=0;t<s.length;t+=2){let c=s[t],l=s[t+1],u=e[c],d=e[l];if(!O(u,d))continue;i[a(c)]=a(l);let f=k(u,d),p=k(d,u);if(f===p)continue;let m=f<p?c:l,h=f<p?l:c;r[h].push(m),o[m].push(h),n[h]++}let c=new Uint8Array(t);d=[];for(let e=0;e<t;e++){let e=-1;for(let r=0;r<t&&!(!c[r]&&((e<0||n[r]<n[e])&&(e=r),n[r]===0));r++);c[e]=1,d.push(e);for(let t of o[e])n[t]--}}let f=new Set,h=[],g=0;for(let t of d){let n=e[t],i=0;for(let n of r[t]??[])c[e[n]]>=i&&(i=c[e[n]]+1);if(o){f.clear();for(let n of u[t])f.add(c[e[n]]);for(;f.has(i);)i++}else{for(;h[i]?.some(e=>C(n,e));)i++;(h[i]??=[]).push(n)}c[n]=i,i>=g&&(g=i+1)}let _=new Int32Array(t).fill(g),v=new Int32Array(t).fill(-1);for(let n=0;n<t;n++){let t=a(n);_[t]=Math.min(_[t],c[e[n]]),v[t]=Math.max(v[t],c[e[n]])}for(let r=0;r<t;r++){let t=a(r);l[e[r]]=v[t]-_[t]+1,n&&(c[e[r]]-=_[t])}return g},M=(e,t,n)=>{let r=R(o[e]-a[e],t);for(let i=0;i<=T;i++){let s=i/T,c=1-s;n[2*i]=a[e]+(o[e]-a[e])*s*s*(3-2*s),n[2*i+1]=t*(3*r*s*c*c+3*(1-r)*s*s*c+s*s*s)}},N=(e,t,n)=>{let r=n*n*1.000000001;for(let i=0;i<=T;i++){let a=e[2*i],o=e[2*i+1];for(let e=0;e<T;e++){let i=t[2*e+2]-t[2*e],s=t[2*e+3]-t[2*e+1],c=Math.max(0,Math.min(1,((a-t[2*e])*i+(o-t[2*e+1])*s)/(i*i+s*s||1))),l=a-t[2*e]-c*i,u=o-t[2*e+1]-c*s;if(l*l+u*u<r&&Math.hypot(l,u)<n)return!0}}return!1},P=(e,t,n,r)=>{let i=Math.max(n/2,n-2*_);return M(e,i,E),M(t,i,D),N(E,D,r)||N(D,E,r)};for(let[e,s]of f){if(!n){t[e]=j(s);continue}if(s.length>w)continue;let d=s.filter(e=>u[e]===1);j(d);let f=new Set(d.filter(e=>l[e]>1)),h=A(s);for(let t=0;t<h.length;t+=2){let n=s[h[t]],i=s[h[t+1]];f.has(n)&&f.has(i)||!C(n,i)||a[n]<o[n]!=a[i]<o[i]||P(n,i,r[e],u[n]===1||u[i]===1?v:y)&&f.add(n).add(i)}for(let e of d)c[e]=-1,l[e]=0;if(f.size===0)continue;let _=0,x=0,T=new Set;for(let e=0;e<h.length;e+=2){let t=s[h[e]],n=s[h[e+1]];if(f.has(t)&&f.has(n)){if(!S(t,n))continue;a[t]<o[t]==a[n]<o[n]?g(t,n)||x++:_++}else(f.has(t)||f.has(n))&&O(t,n)&&T.add(t).add(n)}if(_>x){for(let t of s)(m[t]-p[t])*b>i[e]&&(i[e]=(m[t]-p[t])*b);continue}let E=s.filter(e=>f.has(e)||u[e]!==1&&T.has(e));j(E);let D=0;for(let e of E)l[e]>D&&(D=l[e]);t[e]=D}}function ie(e,t,n,r,i,a,o){let{maxRank:s,EF:c,ET:l,EFD:u,ETD:d,succStart:f,succE:p,predStart:m,predE:h,layerStart:g,order:_}=e,v=new Float64Array(t.length),y=new Float64Array(t.length),b=new Float64Array(t.length);for(let a=0;a<r.length;a++){let o=r[a];if(o<0)continue;let s=o+i[a]-1,g=e.RANK[o];for(let e=o;e<s;e++){if(!n[g+e-o])continue;let r=e;for(;r+1<s&&n[g+r+1-o];)r++;let i=h[m[e]],a=p[f[r]],_=t[c[i]]+u[i],x=t[l[a]]+d[a],S=r-e+2;for(let t=e;t<=r;t++)v[t]=_+(x-_)*(t-e+1)/S,y[t]=_,b[t]=x;e=r}}let x=[];for(let r=1;r<s;r++){if(!n[r])continue;let i=g[r],s=g[r+1],c=Array.from(_.subarray(i,s)).sort((e,t)=>y[e]-y[t]||b[e]-b[t]||e-t);for(let n=0;n<c.length;){x.length=0;let r=n;for(;r<c.length&&Math.abs(y[c[r]]-y[c[n]])<1&&Math.abs(b[c[r]]-b[c[n]])<1;r++)x.push(c[r]);x.sort((t,n)=>e.pos[t]-e.pos[n]);for(let e=0;e<x.length;e++){let n=x[e];t[n]=v[n]+(e-(x.length-1)/2)*a,(x.length===1||a===0)&&(o[n]=1)}n=r}}}function ae(e,t,n,r,i,a){let{maxRank:o,W:s,KIND:c,RANK:l,EF:u,ET:d,EFD:f,ETD:p,succStart:m,succE:h,predStart:g,predE:_,layerStart:v,order:y}=e,b=new Uint8Array(o+1),x=!1;for(let e=1;e<o;e++){let t=!1,n=!1;for(let r=v[e];r<v[e+1];r++){let e=c[y[r]];e===2?t=!0:e!==1&&(n=!0)}t&&!n&&(b[e]=1,x=!0)}if(x)for(let e=0;e<n.length;e++){let o=n[e];if(!(o<0))for(let n=o,x=o+r[e]-1;n<x;n++){if(c[n]!==1||!b[l[n]])continue;let e=n,r=n;for(;e>o&&a[e-1];)e--;for(;r+1<x&&a[r+1];)r++;let S=_[g[e]],C=h[m[r]],w=t[u[S]]+f[S],T=t[d[C]]+p[C],E=Math.min(w,T)-i,D=Math.max(w,T)+i,O=!0,k=l[n];for(let e=v[k];O&&e<v[k+1];e++){let n=y[e];c[n]===2&&t[n]+s[n]/2>E&&t[n]-s[n]/2<D&&(O=!1)}if(!O)continue;a[n]=1;let A=r-e+2;for(let n=e;n<=r;n++)t[n]=w+(T-w)*(n-e+1)/A}}}function oe(e,t){let{n,real:r,maxRank:i,W:o,EF:s,ET:c,EFD:l,ETD:u,succStart:d,succE:f,predStart:p,predE:m,layerStart:h,order:g,pos:_,offsets:v,fixed:y,GRP:b,groupParent:x}=e,S=0;for(let e=0;e<=i;e++)S=Math.max(S,h[e+1]-h[e]);if(S<2)return[0,0];let C=v?new Int32Array(s.length):void 0,w=new Int32Array(C?s.length:0),T=new Int32Array(C?n:0),E=C?f.slice():f,D=new Uint8Array(C?n:0);if(C){let e=m.slice(),t=(e,t,n,r)=>{for(let i=t+1;i<n;i++)if(r[e[i]]!==r[e[t]])return e.subarray(t,n).sort((e,t)=>r[e]-r[t]),!0;return!1};for(let r=0;r<n;r++){if(T[r]=1,t(e,p[r],p[r+1],u))for(let t=p[r]+1;t<p[r+1];t++)u[e[t]]!==u[e[t-1]]&&T[r]++,w[e[t]]=T[r]-1;t(E,d[r],d[r+1],l)&&(D[r]=1)}}let O=1;for(;O<(C?S+s.length:S);)O<<=1;let k=new Int32Array(2*O),j=new Int32Array(s.length),M=()=>{let e=0;for(let t=0;t<i;t++){let n=h[t+2]-h[t+1];if(C){let e=0;for(let n=h[t+1];n<h[t+2];n++){let t=g[n];for(let n=p[t];n<p[t+1];n++)C[m[n]]=e+w[m[n]];e+=T[t]}n=e}if(n<2)continue;let r=0;for(let e=h[t];e<h[t+1];e++){let t=g[e],n=d[t],i=d[t+1],a=r;for(let e=n;e<i;e++)j[r++]=C?C[E[e]]:_[c[f[e]]];let o=r-a;if(!(o<2)){if(C&&D[t])for(let e=a+1;e<r;e++){let t=j[e],r=l[E[n+e-a]],i=e-1;for(;i>=a&&l[E[n+i-a]]===r&&j[i]>t;)j[i+1]=j[i],i--;j[i+1]=t}else if(o<=12)for(let e=a+1;e<r;e++){let t=j[e],n=e-1;for(;n>=a&&j[n]>t;)j[n+1]=j[n],n--;j[n+1]=t}else j.subarray(a,r).sort()}}if(r<2)continue;let i=1;for(;i<n;)i<<=1;k.fill(0,0,2*i);for(let t=0;t<r;t++){let n=j[t]+i;for(k[n]++;n>1;)!(n&1)&&(e+=k[n+1]),n>>=1,k[n]++}}return e},N=M(),P=new Float64Array(n),F=new Int32Array(S),I=new Int32Array(S),L=x?x.length:0,R=new Int32Array(L);for(let e=0;e<L;e++)for(let t=e;t>=0;t=x[t])R[e]++;let ee=new Float64Array(L),te=new Int32Array(L),ne=new Int32Array(L),re=(e,t)=>{let r=h[e],i=h[e+1];for(let e=r;e<i;e++)for(let t=b[g[e]];t>=0;t=x[t])ee[t]=0,te[t]=0;for(let e=r;e<i;e++){let n=g[e];for(let r=b[n];r>=0;r=x[r])te[r]===0&&(ne[r]=e),ee[r]+=t[n],te[r]++}let a=e=>e>=n?ee[e-n]/te[e-n]:t[e],o=e=>e>=n?ne[e-n]:r+_[e],s=Array.from(g.subarray(r,i)).sort((e,t)=>{let r=e,i=t,s=b[e],c=b[t],l=s<0?0:R[s],u=c<0?0:R[c];for(;l>u;l--)r=n+s,s=x[s];for(;u>l;u--)i=n+c,c=x[c];for(;s!==c;)r=n+s,s=x[s],i=n+c,c=x[c];return a(r)-a(i)||o(r)-o(i)});g.set(s,r);for(let e=r;e<i;e++)_[g[e]]=e-r};if(b){let e=new Float64Array(n);for(let t=0;t<=i;t++){for(let n=h[t];n<h[t+1];n++)e[g[n]]=n-h[t];re(t,e)}}let z=b?M():N;if(z===0)return[0,N];let ie=g.slice(),ae=Math.min(z,N),oe=(e,n)=>{let a=e?p:d,x=e?m:f,S=e?s:c,C=e?l:u;for(let s=1;s<=i;s++){let c=e?s:i-s;if(y[c])continue;let l=h[c],u=h[c+1],d=0;for(let n=l;n<u;n++){let i=g[n],s=i<r?t[i].pin:0;if(s!==0){P[i]=s*1e9,F[d++]=i;continue}let f=a[i],p=a[i+1];if(f===p){if(b){let t=e?h[c]-h[c-1]:h[c+2]-h[c+1];P[i]=(n-l)*t/(u-l);continue}P[i]=-1;continue}let m=0;for(let e=f;e<p;e++){let t=S[x[e]];m+=_[t],v&&o[t]>0&&(m+=C[x[e]]/o[t])}P[i]=m/(p-f),F[d++]=i}if(b){re(c,P);continue}if(d<2)continue;A(F,d,P,_,n,I);let f=0;for(let e=l;e<u;e++)P[g[e]]!==-1&&(g[e]=F[f++]);for(let e=l;e<u;e++)_[g[e]]=e-l}},B=()=>{let e=0;for(let t=0;t<=i;t++)for(let n=h[t];n<h[t+1];n++)if(!(g[n]>=r))for(let r=n+1;r<h[t+1];r++)g[r]<g[n]&&e++;return e},se=()=>{for(let e=0;e<=i;e++)for(let t=h[e];t<h[e+1];t++)_[g[t]]=t-h[e]},ce=e=>e<r?t[e].pin:0,V=(e,t)=>{let n=t?s[e]:c[e];return v&&o[n]>0?_[n]+(t?l[e]:u[e])/o[n]:_[n]},H=(e,t)=>{let n=0;for(let r=p[e];r<p[e+1];r++){let e=V(m[r],!0);for(let r=p[t];r<p[t+1];r++)e>V(m[r],!0)&&n++}for(let r=d[e];r<d[e+1];r++){let e=V(f[r],!1);for(let r=d[t];r<d[t+1];r++)e>V(f[r],!1)&&n++}return n},le=()=>{for(let e=0;e<8;e++){let e=!1;for(let t=0;t<=i;t++){if(y[t])continue;let n=h[t];for(let r=n;r+1<h[t+1];r++){let t=g[r],i=g[r+1];ce(t)!==ce(i)||b&&b[t]!==b[i]||H(i,t)>=H(t,i)||(g[r]=i,g[r+1]=t,_[i]=r-n,_[t]=r+1-n,e=!0)}}if(!e)break}},U=g.slice(),W=n<=600,ue=ie,de=1/0;for(let e=0;e<(W?2:1);e++){e>0&&(g.set(U),se());let t=ae,n=U.slice();for(let r=0,i=0;i<4&&r<a;r++,i++){oe((r+e)%2==0,r%4>=2);let a=M();if(a<t&&(t=a,n.set(g),i=0,a===0))break}if(g.set(n),W&&t>0){se(),le();let e=M();e<t&&(t=e,n.set(g))}let r=W?B():0;(e===0||t<z||t===z&&r<de)&&(z=t,ue=n,de=r)}if(g.set(ue),se(),ie.set(ue),b&&(z=M()),!W)return[z,N];for(let e=0;e<r;e++)if(t[e].pin!==0)return[z,N];if(de===0||y[0]||y[i])return[z,N];for(let e=0;e<=i;e++)g.subarray(h[e],h[e+1]).reverse();return se(),(M()>z||B()>=de)&&g.set(ie),[z,N]}function B(e,t,n){return e.W[n]/2+(e.KIND[n]===0?t.nodeSep:t.edgeSep)/2}function se(e,t){let{n,maxRank:r,W:i,KIND:a,EF:o,ET:s,EFD:c,ETD:l,succStart:u,succE:d,predStart:f,predE:p,layerStart:m,order:h,pos:g}=e,_=o.length,v=new Float64Array(n);for(let r=0;r<n;r++)v[r]=B(e,t,r);let y=new Int32Array(_);for(let e=0;e<_;e++)y[e]=g[s[e]];for(let e=0;e<n;e++)u[e+1]-u[e]>1&&k(d,u[e],u[e+1],y);for(let e=0;e<_;e++)y[e]=g[o[e]];for(let e=0;e<n;e++)f[e+1]-f[e]>1&&k(p,f[e],f[e+1],y);let b=new Uint8Array(_);for(let e=1;e<=r;e++){let t=m[e]-m[e-1],n=m[e],r=m[e+1],i=0,s=n;for(let e=n;e<r;e++){let n=h[e],c=-1;if(O(a[n])){let e=o[p[f[n]]];O(a[e])&&(c=e)}let l=c>=0?g[c]:t;if(c>=0||e===r-1){for(let t=s;t<=e;t++){let e=h[t],n=O(a[e]);for(let t=f[e];t<f[e+1];t++){let e=p[t],r=g[o[e]];(r<i||l<r)&&!(n&&O(a[o[e]]))&&(b[e]=1)}}s=e+1,i=l}}}let x=[],S=new Int32Array(n),C=new Int32Array(n),w=new Float64Array(n),T=new Int32Array(n),E=new Int32Array(n),D=new Float64Array(n),A=new Int32Array(n),j=new Int32Array(n+1),M=new Int32Array(n),N=new Int32Array(n),P=new Int32Array(n),F=new Float64Array(n);for(let e=0;e<4;e++){let t=e<2,i=(e&1)==1,a=t?f:u,_=t?p:d,y=t?o:s,O=t?l:c,k=t?c:l;for(let e=0;e<n;e++)S[e]=e,C[e]=e,w[e]=0,A[e]=0,j[e+1]=0,F[e]=0;for(let e=0;e<=r;e++){let n=t?e:r-e,o=m[n],s=m[n+1],c=t?n-1:n+1,l=c>=0&&c<=r?m[c+1]-m[c]-1:0,u=-1;for(let e=i?s-1:o;i?e>=o:e<s;i?e--:e++){let t=h[e],n=a[t],r=a[t+1]-n;if(r===0)continue;let o=n+(r-1>>1),s=n+(r>>1);for(let e=0;e<2&&(e!==1||o!==s);e++){let n=_[e===0===i?s:o],r=y[n],a=i?l-g[r]:g[r];C[t]===t&&u<a&&b[n]===0&&(C[r]=t,C[t]=S[t]=S[r],w[t]=w[r]+k[n]-O[n],u=a)}}}let I=0;for(let e=0;e<=r;e++){let t=m[e],n=m[e+1];for(let e=t+1;e<n;e++){let t=i?h[e]:h[e-1],n=i?h[e-1]:h[e],r=v[t]+v[n];T[I]=S[t],E[I]=S[n],D[I]=i?r-w[t]+w[n]:r+w[t]-w[n],A[S[n]]++,j[S[t]+1]++,I++}}for(let e=0;e<n;e++)j[e+1]+=j[e];for(let e=0;e<n;e++)N[e]=j[e];for(let e=0;e<I;e++)M[N[T[e]]++]=e;let L=0;for(let e=0;e<n;e++)S[e]===e&&A[e]===0&&(P[L++]=e);for(let e=0;e<L;e++){let t=P[e];for(let e=j[t];e<j[t+1];e++){let n=M[e],r=E[n];F[t]+D[n]>F[r]&&(F[r]=F[t]+D[n]),--A[r]===0&&(P[L++]=r)}}for(let e=L-1;e>=0;e--){let t=P[e],n=1/0;for(let e=j[t];e<j[t+1];e++){let t=M[e],r=F[E[t]]-D[t];r<n&&(n=r)}n!==1/0&&n>F[t]&&(F[t]=n)}let R=new Float64Array(n);for(let e=0;e<n;e++)R[e]=(i?-F[S[e]]:F[S[e]])+w[e];x.push(R)}let I=0,L=1/0,R=[],ee=[];for(let e=0;e<4;e++){let t=1/0,r=-1/0,a=x[e];for(let e=0;e<n;e++){let n=i[e]/2;a[e]-n<t&&(t=a[e]-n),a[e]+n>r&&(r=a[e]+n)}R.push(t),ee.push(r),r-t<L&&(L=r-t,I=e)}for(let e=0;e<4;e++){let t=e&1?ee[I]-ee[e]:R[I]-R[e];if(t!==0){let r=x[e];for(let e=0;e<n;e++)r[e]+=t}}let te=new Float64Array(n);for(let e=0;e<n;e++){let t=x[0][e],n=x[1][e],r=x[2][e],i=x[3][e],a;t>n&&(a=t,t=n,n=a),r>i&&(a=r,r=i,i=a),t>r&&(a=t,t=r,r=a),n>i&&(a=n,n=i,i=a),n>r&&(a=n,n=r,r=a),te[e]=(n+r)/2}return te}var ce=12,V=.62,H=6;function le(){let e=new Map;return{add(t,n,r){let i=W(r);n>=0&&i>0&&i+H>(e.get(t*4+n)??0)&&e.set(t*4+n,i+H)},of:(t,n)=>n>=0?e.get(t*4+n)??0:0}}function U(t,n,r,i,a=r>0?r+H:0,o=i>0?i+H:0){let s=n===`linear`,c=n===`step`||n===`stepBefore`||n===`stepAfter`,l=[],u=[],d=[],f=(e,t,n,r)=>Math.abs(e-n)<.01&&Math.abs(t-r)<.01;for(let e=0;e<t.length;e+=3){let r=t[e],i=t[e+1],a=t[e+2],o=l.length-1;if(c&&o>=0&&Math.abs(r-l[o])>=.01&&Math.abs(i-u[o])>=.01){let e=l[o],t=u[o],s=n===`stepBefore`?t:n===`stepAfter`?i:(t+i)/2,c=n===`stepBefore`?e:n===`stepAfter`?r:(e+r)/2,p=a===0?[e,s,r,s]:[c,t,c,i];for(let n=0;n<4;n+=2)f(p[n],p[n+1],e,t)||f(p[n],p[n+1],r,i)||(l.push(p[n]),u.push(p[n+1]),d.push(a))}l.push(r),u.push(i),d.push(a)}let p=l.length-1,m=e=>Math.abs(l[e]-l[e-1])<.01||Math.abs(u[e]-u[e-1])<.01,h=e=>s||m(e),g=(e,t,n)=>{if(!h(Math.max(e,t)))return n===0?[0,Math.sign(u[t]-u[e])||1]:[Math.sign(l[t]-l[e])||1,0];let r=l[t]-l[e],i=u[t]-u[e],a=Math.hypot(r,i)||1;return[r/a,i/a]},[_,v]=g(0,1,d[1]),[y,b]=g(p-1,p,d[p]),x=l[0],S=u[0],C=l[p],w=u[p];l[0]+=_*r,u[0]+=v*r,l[p]-=y*i,u[p]-=b*i;let T=e=>Math.abs(l[e]-l[e-1])+Math.abs(u[e]-u[e-1]),E=e=>!s&&e>0&&e<p&&m(e)&&m(e+1)&&T(e)>=.01&&T(e+1)>=.01&&Math.abs(l[e]-l[e-1])<.01!=Math.abs(l[e+1]-l[e])<.01,D=(e,t,n)=>Math.abs(l[e]-l[e-1])*Math.abs(t)+Math.abs(u[e]-u[e-1])*Math.abs(n),O=(e,t,n)=>{let r=Math.min(Math.max(0,e-H-t),n/4);return r+Math.min(e-t-r,(n-r)/4)},k=o>i&&(!h(p)||E(p-1))?O(o,i,D(p,y,b)):0,A=a>r&&(!h(1)||E(1))?O(a,r,D(1,_,v)):0;k>=1&&(l.splice(p,0,l[p]-y*k),u.splice(p,0,u[p]-b*k),d.splice(p,0,d[p]),p++),A>=1&&(l.splice(1,0,l[0]+_*A),u.splice(1,0,u[0]+v*A),d.splice(1,0,d[1]),p++);let j=`M${e(l[0])},${e(u[0])}`,M=l[0],N=u[0],P=(t,n)=>{f(t,n,M,N)||(j+=`L${e(t)},${e(n)}`,M=t,N=n)};for(let t=1;t<=p;t++){let n=l[t],r=u[t];if(!h(t)){let i=d[t]===0,a=i?r-N:n-M,o=Math.abs(a)*R(i?n-M:r-N,a),s=i?0:Math.sign(a)*o,c=i?Math.sign(a)*o:0;j+=`C${e(M+s)},${e(N+c)} ${e(n-s)},${e(r-c)} ${e(n)},${e(r)}`,M=n,N=r;continue}if(!E(t)){if(t<p&&m(t)&&m(t+1)&&(n-l[t-1])*(l[t+1]-n)+(r-u[t-1])*(u[t+1]-r)>0)continue;P(n,r);continue}let i=E(t-1)?T(t)/2:T(t),a=E(t+1)?T(t+1)/2:T(t+1);c&&(i=a=Math.min(ce,i,a));let[o,s]=g(t-1,t,d[t]),[f,_]=g(t,t+1,d[t+1]);P(n-o*i,r-s*i),M=n+f*a,N=r+_*a,j+=c?`Q${e(n)},${e(r)} ${e(M)},${e(N)}`:`C${e(n-o*i*(1-V))},${e(r-s*i*(1-V))} ${e(n+f*a*(1-V))},${e(r+_*a*(1-V))} ${e(M)},${e(N)}`}return{d:j,sx:x,sy:S,sdx:-_,sdy:-v,ex:C,ey:w,edx:y,edy:b}}function W(e){return e===`arrow_point`?7:e===`arrow_circle`?8:e===`arrow_cross`?4:0}function ue(t,n,r,i,a,o){let s=-a,c=i;if(t===`arrow_point`){let t=n-i*8,l=r-a*8,u=3.36;return`<path class="pele-marker" d="M${e(n)},${e(r)}L${e(t+s*u)},${e(l+c*u)}L${e(t-s*u)},${e(l-c*u)}Z" fill="${o}" stroke="none"/>`}if(t===`arrow_circle`)return`<circle class="pele-marker" cx="${e(n-i*4)}" cy="${e(r-a*4)}" r="3.5" fill="${o}" stroke="none"/>`;if(t===`arrow_cross`){let t=n-i*4,o=r-a*4,l=3.5,u=(i+s)*l,d=(a+c)*l,f=(i-s)*l,p=(a-c)*l;return`<path class="pele-marker" d="M${e(t-u)},${e(o-d)}L${e(t+u)},${e(o+d)}M${e(t-f)},${e(o-p)}L${e(t+f)},${e(o+p)}"/>`}return``}function de(r,i,a,o,s,c){let l=i.width+8,u=i.height;return`<g class="pele-edge-label" data-id="${t(r)}"><rect x="${e(a-l/2)}" y="${e(o-u/2)}" width="${e(l)}" height="${e(u)}" rx="3" fill="var(--_bg)"/>`+n(i,a,o,s,c)+`</g>`}function G(t,n,r,i,a,o,s,c){let l=(a?n:r)/2,u=Math.min(l-4,8+i*6),d=o+i*8,f=Math.hypot(d,u)||1,p=(i,o)=>a?`${e(t.x+o)},${e(t.y+r/2+i)}`:`${e(t.x+n/2+i)},${e(t.y+o)}`,m=d/f*s,h=u/f*s;return a?(c.labelX=t.x,c.labelY=t.y+r/2+d+4+c.labelH/2):(c.labelX=t.x+n/2+d+4+c.labelW/2,c.labelY=t.y),{d:`M${p(0,-u)}C${p(d,-u*2)} ${p(d,u*2)} ${p(m,u+h)}`,sx:a?t.x-u:t.x+n/2,sy:a?t.y+r/2:t.y-u,sdx:a?0:-1,sdy:a?-1:0,ex:a?t.x+u:t.x+n/2,ey:a?t.y+r/2:t.y+u,edx:a?-u/f:-d/f,edy:a?-d/f:-u/f}}export{W as a,j as c,le as d,M as f,de as i,U as l,N as n,r as o,R as r,ue as s,i as t,G as u};
2
+ //# sourceMappingURL=N3JZAHOW-C6sq5aqx.js.map
@@ -1,2 +1,2 @@
1
- import{c as e,f as t,n,o as r,r as i,t as a}from"./N3JZAHOW-2wC96xvZ.js";function o(e){return e===`BT`||e===`LR`||e===`RL`?e:`TB`}var s=4e4,c=400,l=500,u=1.5,d=4;function f(e,t,n,r){let i=[];for(let t of e)i.push(t.x,t.y,t.w,t.h);let a=[];for(let e of t)a.push(e.labelX,e.labelY);let o=[];for(let e of n){o.push(e.x,e.y);for(let t of e.ports)o.push(t.px,t.py)}return{nodes:i,routes:t.map(e=>e.route),labels:a,levels:o,total:r}}function p(e,t,n,r){t.forEach((t,n)=>{t.x=e.nodes[4*n],t.y=e.nodes[4*n+1],t.w=e.nodes[4*n+2],t.h=e.nodes[4*n+3]}),n.forEach((t,n)=>{t.route=e.routes[n],t.labelX=e.labels[2*n],t.labelY=e.labels[2*n+1]});let i=0;for(let t of r){t.x=e.levels[i++],t.y=e.levels[i++];for(let n of t.ports)n.px=e.levels[i++],n.py=e.levels[i++]}return e.total}var m=24,h=.5,g=3,_=2,v=Math.max(3,g,_+1),y=.62,b=128;function x(e){return e.tracks?1:e.straight?2:0}function S(e,t,n=0){let r=0;for(let e of t)e.src!==e.dst&&e.route.length>3&&(r+=(e.route.length/3-1)*v);let a=new Float64Array(r),o=new Float64Array(r),s=new Float64Array(r),c=new Float64Array(r),l=new Float64Array(r),u=new Float64Array(r),d=new Int32Array(r),f=new Uint8Array(r),p=0,x=1/0,S=-1/0,C=NaN,w=NaN,T=NaN,E=NaN,D=(e,t,n,r,i,m)=>{let h=p-1;n===T&&r===E&&(m===r&&w===r||i===n&&C===n)&&d[h]===e&&f[h]===t&&(n-C)*(i-n)+(r-w)*(m-r)>0&&(p--,n=C,r=w),C=n,w=r,T=i,E=m,f[p]=t,a[p]=Math.min(n,i),s[p]=Math.max(n,i),o[p]=n<=i?r:m,c[p]=n<=i?m:r,l[p]=Math.min(r,m),u[p]=Math.max(r,m),l[p]<x&&(x=l[p]),u[p]>S&&(S=u[p]),d[p++]=e};for(let e=0;e<t.length;e++){let r=t[e];if(r.src===r.dst)continue;let a=r.route,o=e=>Math.abs(a[e]-a[e-3])<.01||Math.abs(a[e+1]-a[e-2])<.01,s=e=>Math.abs(a[e]-a[e-3])+Math.abs(a[e+1]-a[e-2]),c=e=>n===0&&e>0&&e<a.length-3&&o(e)&&o(e+3)&&s(e)>=.01&&s(e+3)>=.01&&Math.abs(a[e]-a[e-3])<.01!=Math.abs(a[e+3]-a[e])<.01,l=a[0],u=a[1];for(let t=3;t<a.length;t+=3){let r=+(t===3)|(t===a.length-3?2:0),d=l,f=u,p=a[t],m=a[t+1];if(l=p,u=m,o(t)||n===2){if(!c(t)){D(e,r,d,f,p,m);continue}let n=c(t-3)?s(t)/2:s(t),i=c(t+3)?s(t+3)/2:s(t+3),o=(p-a[t-3])/s(t),h=(m-a[t-2])/s(t),g=(a[t+3]-p)/s(t+3),v=(a[t+4]-m)/s(t+3),b=p-o*n,x=m-h*n;D(e,r,d,f,b,x);let S=p-o*n*(1-y),C=m-h*n*(1-y),w=p+g*i*(1-y),T=m+v*i*(1-y);l=p+g*i,u=m+v*i;let E=r|(t+3===a.length-3?2:0),O=b,k=x;for(let t=1;t<=_;t++){let n=t/_,r=1-n,i=r*r*r*b+3*r*r*n*S+3*r*n*n*w+n*n*n*l,a=r*r*r*x+3*r*r*n*C+3*r*n*n*T+n*n*n*u;D(e,E,O,k,i,a),O=i,k=a}continue}if(n===1){let n=a[t+2]===0,i=n?d:(d+p)/2,o=n?(f+m)/2:f;D(e,r,d,f,i,o),D(e,r,i,o,n?p:i,n?o:m),D(e,r,n?p:i,n?o:m,p,m);continue}let h=a[t+2]===0,v=h?i(p-d,m-f):i(m-f,p-d),b=d,x=f;for(let t=1;t<=g;t++){let n=t/g,i=1-n,a=n*n*(3-2*n),o=3*v*n*i*i+3*(1-v)*n*n*i+n*n*n,s=d+(p-d)*(h?a:o),c=f+(m-f)*(h?o:a);D(e,r,b,x,s,c),b=s,x=c}}}let O=S>x?Math.round(Math.sqrt(p)):1,k=S>x?O/(S-x):0,A=e=>Math.min(O-1,Math.floor((e-x)*k)),j=new Int32Array(p),M=new Int32Array(O+1);for(let e=0;e<p;e++){j[e]=A(l[e]);for(let t=j[e],n=A(u[e]);t<=n;t++)M[t+1]++}for(let e=0;e<O;e++)M[e+1]+=M[e];let N=M.slice(0,O),P=new Int32Array(M[O]);for(let e=0;e<p;e++)for(let t=j[e],n=A(u[e]);t<=n;t++)P[N[t]++]=e;let F=new Float64Array(t.length*8),I=(e,t,n,r)=>Math.abs(e[t]-e[n])<h&&Math.abs(e[t]-e[r])<h||Math.abs(e[t+1]-e[n+1])<h&&Math.abs(e[t+1]-e[r+1])<h;for(let e=0;e<t.length;e++){let n=t[e].route;if(n.length<6)continue;let r=3;for(;r+3<n.length&&I(n,0,r,r+3);)r+=3;let i=n.length-3,a=i-3;for(;a>=3&&I(n,i,a,a-3);)a-=3;F.set([n[0],n[1],n[r],n[r+1],n[a],n[a+1],n[i],n[i+1]],e*8)}let L=(e,t,n,r)=>{let i=e*8+(t===1?0:4),a=F[i],o=F[i+1],s=F[i+2]-a,c=F[i+3]-o,l=s*s+c*c,u=l>0?Math.max(0,Math.min(1,((n-a)*s+(r-o)*c)/l)):0;return Math.hypot(n-a-u*s,r-o-u*c)<h},R=0;for(let n=0;n<O;n++){let r=M[n+1];if(r-M[n]>b)P.subarray(M[n],r).sort((e,t)=>a[e]-a[t]||e-t);else for(let e=M[n]+1;e<r;e++){let t=P[e],r=e;for(;r>M[n]&&a[P[r-1]]>a[t];r--)P[r]=P[r-1];P[r]=t}for(let i=M[n];i<r;i++){let p=P[i],h=s[p]-a[p],g=c[p]-o[p],_=j[p]===n;for(let v=i+1;v<r;v++){let r=P[v];if(a[r]>s[p])break;if(u[r]<l[p]||l[r]>u[p]||d[p]===d[r]||!_&&j[r]!==n)continue;let i=h*(o[r]-o[p])-g*(a[r]-a[p]),y=h*(c[r]-o[p])-g*(s[r]-a[p]);if(i>0==y>0)continue;let b=s[r]-a[r],x=c[r]-o[r],S=b*(o[p]-o[r])-x*(a[p]-a[r]),C=b*(c[p]-o[r])-x*(s[p]-a[r]);if(S>0==C>0)continue;let w=t[d[p]],T=t[d[r]],E=S/(S-C),D=a[p]+E*h,O=o[p]+E*g,k=(t,n,i)=>(f[p]&n)!==0&&(f[r]&i)!==0||Math.abs(D-e[t].x)<e[t].w/2+m&&Math.abs(O-e[t].y)<e[t].h/2+m||L(d[p],n,D,O)&&L(d[r],i,D,O);w.src===T.src&&k(w.src,1,1)||w.src===T.dst&&k(w.src,1,2)||w.dst===T.src&&k(w.dst,2,1)||w.dst===T.dst&&k(w.dst,2,2)||R++}}}return R}function C(e,t,n,r){for(let t of e)t.x+=n,t.y+=r;for(let e of t){for(let t=0;t<e.route.length;t+=3)e.route[t]+=n,e.route[t+1]+=r;e.labelX+=n,e.labelY+=r}}function w(e,t,n=-1){return{w:e,h:t,parent:n,isGroup:!1,dir:void 0,padX:0,padTop:0,padBottom:0,minW:0,seq:0,span:0,x:0,y:0}}function T(e){return e===`TB`?0:e===`BT`?2:e===`LR`?3:1}function E(e){return e+2&3}function D(i,o,m,g){let _=i.length,v=new Map,y=[],b=(e,t)=>{let n={id:e,dir:t,items:[],edges:[],ports:[],portOf:new Map,routes:new Map,x:0,y:0};return v.set(e,n),n},C=b(-1,m),w=[];for(let e=0;e<_;e++)w.push([]);let D=[];for(let e=0;e<_;e++){let t=i[e].parent;t>=0&&t<_&&t!==e&&i[t].isGroup?w[t].push(e):(i[e].parent=-1,D.push(e))}C.items=D,y.push(C);let O=new Int32Array(_),k=new Uint8Array(_),A=e=>{for(let t=e;t<y.length;t++){let e=y[t];for(let t of e.items)if(k[t]=1,O[t]=e.id<0?0:O[e.id]+1,i[t].isGroup){let n=b(t,i[t].dir??e.dir);n.items=w[t],y.push(n)}}};A(0);for(let e=0;e<_;e++){if(k[e])continue;let t=i[e].parent;if(w[t]=w[t].filter(t=>t!==e),i[e].parent=-1,C.items.push(e),k[e]=1,O[e]=0,i[e].isGroup){let t=y.length,n=b(e,i[e].dir??m);n.items=w[e],y.push(n),A(t)}}for(let e=y.length-1;e>0;e--){let t=y[e],n=1/0;for(let e of t.items)i[e].seq<n&&(n=i[e].seq);n!==1/0&&(i[t.id].seq=n)}for(let e of y)e.items.sort((e,t)=>i[e].seq-i[t].seq||e-t);let j=0;for(let e of o){let t=e.src,n=e.dst,r=0;for(;O[t]>O[n];r++)t=i[t].parent;for(;O[n]>O[t];r++)n=i[n].parent;for(;t!==n&&i[t].parent!==i[n].parent;r+=2)t=i[t].parent,n=i[n].parent;t!==n&&(j+r>s?(e.src=t,e.dst=n):j+=r)}let M=[],N=[];for(let e=0;e<o.length;e++){let t=o[e];if(t.route=[],t.src===t.dst){M.push(e);continue}let n=t.src,r=t.dst,a=[],s=[];for(;O[n]>O[r];)a.push(n),n=i[n].parent;for(;O[r]>O[n];)s.push(r),r=i[r].parent;if(n===r){N.push(e);continue}for(;i[n].parent!==i[r].parent;)a.push(n),s.push(r),n=i[n].parent,r=i[r].parent;v.get(i[n].parent).edges.push({e,a:n,b:r});for(let[t,n]of[[a,!0],[s,!1]])for(let r of t){let t=v.get(i[r].parent),a={e,inner:r,out:n,side:0,hint:NaN,px:0,py:0,route:[]};t.ports.push(a),t.portOf.set(e*2+ +!n,a)}}let P=new Int32Array(_),F=(e,t,n)=>(n?t.src:t.dst)!==e,I=(e,t)=>{let n=e.dir===`TB`||e.dir===`BT`,s=T(e.dir),c=[],l=[];e.items.forEach((e,a)=>{P[e]=a;let o=i[e],s=t?r(n?o.w:o.h,n?o.h:o.w):r(0,0);s.span=o.isGroup?Math.min(o.span,s.w-2*o.padX):o.span,s.key=z?R[e]:NaN,c.push(s)});let u=(e,t,n)=>i[e].isGroup&&F(e,o[t],n),d=(e,r,a)=>{if(!t||!i[e].isGroup||!F(e,o[r],a))return 0;let s=v.get(e).portOf.get(r*2+ +!a);return n?s.px-i[e].w/2:s.py-i[e].h/2};for(let r of e.edges){let e=o[r.e],i=a(P[r.a],P[r.b],e.minlen);t&&(i.labelW=n?e.labelW:e.labelH,i.labelH=n?e.labelH:e.labelW,i.tailDx=d(r.a,r.e,!0),i.headDx=d(r.b,r.e,!1),i.tailFixed=u(r.a,r.e,!0),i.headFixed=u(r.b,r.e,!1)),l.push(i)}let f=new Int32Array(e.ports.length).fill(-1);return e.ports.forEach((t,n)=>{if(t.side===s||t.side===E(s)){let i=c.length,p=r(0,0,t.side===s?3:4);p.key=z?R[t.out?o[t.e].dst:o[t.e].src]:NaN,p.hint=Number.isNaN(t.hint)&&z&&V?V(e,t):t.hint,c.push(p),f[n]=i;let m=t.out?a(P[t.inner],i):a(i,P[t.inner]);t.out?(m.tailDx=d(t.inner,t.e,!0),m.tailFixed=u(t.inner,t.e,!0)):(m.headDx=d(t.inner,t.e,!1),m.headFixed=u(t.inner,t.e,!1)),l.push(m)}else c[P[t.inner]].pin=t.side===0||t.side===3?-1:1}),{lnodes:c,ledges:l,dummies:f}},L=j>1&&j<=c&&o.length<=l,R=new Float64Array(_).fill(NaN),z=!1,B=0,V,H=y.length>1&&L;for(let e of y)e.dir!==m&&(H=!1);if(H){let t=m===`TB`||m===`BT`,n=new Int32Array(_).fill(-1),s=new Int32Array(_).fill(-1),c=[],l=[],u=[];for(let e=0;e<_;e++)i[e].isGroup&&(s[e]=u.length,u.push(-1));for(let e=0;e<_;e++){let a=i[e].parent;i[e].isGroup?u[s[e]]=a>=0?s[a]:-1:(n[e]=c.length,c.push(r(t?i[e].w:i[e].h,t?i[e].h:i[e].w)),l.push(a>=0?s[a]:-1))}let d=[],f=new Int32Array(o.length).fill(-1);o.forEach((e,r)=>{e.src===e.dst||n[e.src]<0||n[e.dst]<0||(f[r]=d.length,d.push(a(n[e.src],n[e.dst],e.minlen,t?e.labelW:e.labelH,t?e.labelH:e.labelW)))});let p=e(c,d,{...g,groups:{of:Int32Array.from(l),parent:Int32Array.from(u)},orderOnly:!0});B=Math.min(p.crossings??0,p.declared??0);let h=new Float64Array(_),v=new Int32Array(_),y=new Int32Array(_).fill(-1);for(let e=0;e<_;e++)if(!(n[e]<0)){R[e]=c[n[e]].x;for(let t=i[e].parent;t>=0;t=i[t].parent)h[t]+=R[e],v[t]++,y[t]=Math.max(y[t],c[n[e]].rank)}for(let e=0;e<_;e++)v[e]>0&&(R[e]=h[e]/v[e]);V=(e,t)=>{let n=f[t.e];if(n<0||e.id<0||!t.out||t.side!==E(T(e.dir)))return NaN;let r=d[n].points,i=R[o[t.e].src],a=0;for(let t=0;t<r.length;t+=2)r[t]===y[e.id]&&(i=r[t+1]),r[t]===y[e.id]+1&&(a=r[t+1]);return i+a*1e-6}}let U=new Map,W=(t,n,r)=>{if(!L)return{lnodes:n,ledges:r,size:e(n,r,g)};let i=[];for(let e of n)i.push(e.w,e.h,e.kind,e.pin,e.hint,e.key,e.span);for(let e of r)i.push(e.tail,e.head,e.minlen,e.labelW,e.labelH,e.tailDx,e.headDx,+e.tailFixed,+e.headFixed);let a=U.get(t.id);a||U.set(t.id,a=[]);for(let e of a){let t=e.given.length===i.length;for(let n=0;t&&n<i.length;n++)t=Object.is(e.given[n],i[n]);if(t)return e}let o={given:i,lnodes:n,ledges:r,size:e(n,r,g)};return a.push(o),o},G={width:0,height:0},K=()=>{for(let e of y){for(let t of e.ports)i[t.inner].isGroup&&F(t.inner,o[t.e],t.out)&&(v.get(t.inner).portOf.get(t.e*2+ +!t.out).side=t.side);if(e.edges.length===0)continue;let r=!1;for(let t of e.edges){let e=o[t.e];(i[t.a].isGroup&&e.src!==t.a||i[t.b].isGroup&&e.dst!==t.b)&&(r=!0)}if(!r)continue;let{lnodes:a,ledges:s}=I(e,!1);t(a,s),n(a,s,1);let c=T(e.dir);e.edges.forEach((e,t)=>{let n=o[e.e],r=!s[t].reversed;i[e.a].isGroup&&n.src!==e.a&&(v.get(e.a).portOf.get(e.e*2).side=r?E(c):c),i[e.b].isGroup&&n.dst!==e.b&&(v.get(e.b).portOf.get(e.e*2+1).side=r?c:E(c))})}for(let e=y.length-1;e>=0;e--){let t=y[e],n=t.id>=0?i[t.id]:void 0,r=t.dir===`TB`||t.dir===`BT`,a=t.dir===`BT`||t.dir===`RL`,s=I(t,!0),{lnodes:c,ledges:l,size:u}=W(t,s.lnodes,s.ledges),d=s.dummies,f=r?u.width:u.height,p=r?u.height:u.width,m=n?n.padX:0,h=n?n.padTop:0,g=Math.max(f+2*m,n?n.minW:0),_=p+h+(n?n.padBottom:0),b=(g-f)/2,x=h,S=(e,t)=>b+(r?e:a?u.height-t:t),C=(e,t)=>x+(r?a?u.height-t:t:e),w=+!r,T=e=>{let t=[];for(let n=0;n<e.length;n+=2)t.push(S(e[n],e[n+1]),C(e[n],e[n+1]),w);return t};t.items.forEach((e,t)=>{i[e].x=S(c[t].x,c[t].y),i[e].y=C(c[t].x,c[t].y)}),t.edges.forEach((e,n)=>{let r=l[n];t.routes.set(e.e,T(r.points));let i=o[e.e];i.labelW>0&&(i.labelX=S(r.labelX,r.labelY),i.labelY=C(r.labelX,r.labelY))});let E=t.edges.length;t.ports.forEach((e,t)=>{let n=i[e.inner];if(d[t]>=0){let t=T(l[E++].points),n=e.out?t.length-3:0,r=t[n],i=t[n+1];e.side===0?i=0:e.side===2?i=_:r=e.side===3?0:g,e.out?t.push(r,i,w):t.unshift(r,i,w),e.px=r,e.py=i,e.route=t;return}let r=n.x,a=n.y;if(n.isGroup&&F(e.inner,o[e.e],e.out)){let t=v.get(e.inner).portOf.get(e.e*2+ +!e.out);r+=t.px-n.w/2,a+=t.py-n.h/2}else e.side===0?a-=n.h/2:e.side===2?a+=n.h/2:e.side===3?r-=n.w/2:r+=n.w/2;let s=r,c=a;e.side===0?c=0:e.side===2?c=_:s=e.side===3?0:g;let u=e.side===0||e.side===2?0:1;e.px=s,e.py=c,e.route=e.out?[r,a,u,s,c,u]:[s,c,u,r,a,u]}),n?(n.w=g,n.h=_):G={width:g,height:_}}for(let e of y){let t=e.x,n=e.y;for(let r of e.items){let e=i[r];if(e.x+=t,e.y+=n,e.isGroup){let t=v.get(r);t.x=e.x-e.w/2,t.y=e.y-e.h/2}}}let e=(e,t,n,r)=>{for(let i=0;i<t.length;i+=3){let a=t[i]+n,o=t[i+1]+r,s=e.length;s>=3&&Math.abs(e[s-3]-a)<.01&&Math.abs(e[s-2]-o)<.01||e.push(a,o,t[i+2])}};for(let t of y)for(let n of t.edges){let r=o[n.e],a=[],s=[];for(let e=r.src;i[e].parent!==t.id;e=i[e].parent)s.push(v.get(i[e].parent));for(let t of s)e(a,t.portOf.get(n.e*2).route,t.x,t.y);e(a,t.routes.get(n.e),t.x,t.y);let c=[];for(let e=r.dst;i[e].parent!==t.id;e=i[e].parent)c.push(v.get(i[e].parent));for(let t=c.length-1;t>=0;t--)e(a,c[t].portOf.get(n.e*2+1).route,c[t].x,c[t].y);r.route=a,r.labelW>0&&(r.labelX+=t.x,r.labelY+=t.y)}},q=x(g);z=H,K();let J=-1;if(H&&(J=S(i,o,q),J>B*u+d)){let e=f(i,o,y,G);z=!1,K();let t=S(i,o,q);t>=J?(z=!0,G=p(e,i,o,y)):J=t}if(z===H&&L){let e=!1;for(let t of y){if(t.id<0)continue;let n=i[t.id],r=t.dir===`TB`||t.dir===`BT`,a=E(T(t.dir)),s=[];for(let e of t.ports){if(e.side!==a)continue;let i=o[e.e].route,c=t.x+e.px,l=t.y+e.py,u=-1;for(let t=0;t<i.length&&(u<0||e.out);t+=3)Math.abs(i[t]-c)<.01&&Math.abs(i[t+1]-l)<.01&&(u=t);if(u<0)continue;let d=+!r,f=e.out?u+3:u-3;for(;f>=0&&f<i.length&&Math.abs(i[f+d]-i[u+d])<h;)f+=e.out?3:-3;f<0||f>=i.length||(e.hint=i[f+d]-(r?n.x-n.w/2:n.y-n.h/2),s.push([r?e.px:e.py,e.hint]))}s.sort((e,t)=>e[0]-t[0]);for(let t=1;t<s.length;t++)s[t-1][1]>s[t][1]&&(e=!0)}if(e){let e=J>=0?J:S(i,o,q),t=e>0?f(i,o,y,G):void 0;t&&(K(),S(i,o,q)>=e&&(G=p(t,i,o,y)))}}for(let e of N){let t=o[e],n=i[t.src],r=i[t.dst];t.route=[n.x,n.y,0,r.x,r.y,0],t.labelX=(n.x+r.x)/2,t.labelY=(n.y+r.y)/2}for(let e of M){let t=o[e],n=i[t.src];t.labelX=n.x+n.w/2+28+t.labelW/2,t.labelY=n.y}return G}export{D as i,C as n,o as r,w as t};
2
- //# sourceMappingURL=NUIALGQ3-Di1L_kRJ.js.map
1
+ import{c as e,f as t,n,o as r,r as i,t as a}from"./N3JZAHOW-C6sq5aqx.js";function o(e){return e===`BT`||e===`LR`||e===`RL`?e:`TB`}var s=4e4,c=400,l=500,u=1.5,d=4;function f(e,t,n,r){let i=[];for(let t of e)i.push(t.x,t.y,t.w,t.h);let a=[];for(let e of t)a.push(e.labelX,e.labelY);let o=[];for(let e of n){o.push(e.x,e.y);for(let t of e.ports)o.push(t.px,t.py)}return{nodes:i,routes:t.map(e=>e.route),labels:a,levels:o,total:r}}function p(e,t,n,r){t.forEach((t,n)=>{t.x=e.nodes[4*n],t.y=e.nodes[4*n+1],t.w=e.nodes[4*n+2],t.h=e.nodes[4*n+3]}),n.forEach((t,n)=>{t.route=e.routes[n],t.labelX=e.labels[2*n],t.labelY=e.labels[2*n+1]});let i=0;for(let t of r){t.x=e.levels[i++],t.y=e.levels[i++];for(let n of t.ports)n.px=e.levels[i++],n.py=e.levels[i++]}return e.total}var m=24,h=.5,g=3,_=2,v=Math.max(3,g,_+1),y=.62,b=128;function x(e){return e.tracks?1:e.straight?2:0}function S(e,t,n=0){let r=0;for(let e of t)e.src!==e.dst&&e.route.length>3&&(r+=(e.route.length/3-1)*v);let a=new Float64Array(r),o=new Float64Array(r),s=new Float64Array(r),c=new Float64Array(r),l=new Float64Array(r),u=new Float64Array(r),d=new Int32Array(r),f=new Uint8Array(r),p=0,x=1/0,S=-1/0,C=NaN,w=NaN,T=NaN,E=NaN,D=(e,t,n,r,i,m)=>{let h=p-1;n===T&&r===E&&(m===r&&w===r||i===n&&C===n)&&d[h]===e&&f[h]===t&&(n-C)*(i-n)+(r-w)*(m-r)>0&&(p--,n=C,r=w),C=n,w=r,T=i,E=m,f[p]=t,a[p]=Math.min(n,i),s[p]=Math.max(n,i),o[p]=n<=i?r:m,c[p]=n<=i?m:r,l[p]=Math.min(r,m),u[p]=Math.max(r,m),l[p]<x&&(x=l[p]),u[p]>S&&(S=u[p]),d[p++]=e};for(let e=0;e<t.length;e++){let r=t[e];if(r.src===r.dst)continue;let a=r.route,o=e=>Math.abs(a[e]-a[e-3])<.01||Math.abs(a[e+1]-a[e-2])<.01,s=e=>Math.abs(a[e]-a[e-3])+Math.abs(a[e+1]-a[e-2]),c=e=>n===0&&e>0&&e<a.length-3&&o(e)&&o(e+3)&&s(e)>=.01&&s(e+3)>=.01&&Math.abs(a[e]-a[e-3])<.01!=Math.abs(a[e+3]-a[e])<.01,l=a[0],u=a[1];for(let t=3;t<a.length;t+=3){let r=+(t===3)|(t===a.length-3?2:0),d=l,f=u,p=a[t],m=a[t+1];if(l=p,u=m,o(t)||n===2){if(!c(t)){D(e,r,d,f,p,m);continue}let n=c(t-3)?s(t)/2:s(t),i=c(t+3)?s(t+3)/2:s(t+3),o=(p-a[t-3])/s(t),h=(m-a[t-2])/s(t),g=(a[t+3]-p)/s(t+3),v=(a[t+4]-m)/s(t+3),b=p-o*n,x=m-h*n;D(e,r,d,f,b,x);let S=p-o*n*(1-y),C=m-h*n*(1-y),w=p+g*i*(1-y),T=m+v*i*(1-y);l=p+g*i,u=m+v*i;let E=r|(t+3===a.length-3?2:0),O=b,k=x;for(let t=1;t<=_;t++){let n=t/_,r=1-n,i=r*r*r*b+3*r*r*n*S+3*r*n*n*w+n*n*n*l,a=r*r*r*x+3*r*r*n*C+3*r*n*n*T+n*n*n*u;D(e,E,O,k,i,a),O=i,k=a}continue}if(n===1){let n=a[t+2]===0,i=n?d:(d+p)/2,o=n?(f+m)/2:f;D(e,r,d,f,i,o),D(e,r,i,o,n?p:i,n?o:m),D(e,r,n?p:i,n?o:m,p,m);continue}let h=a[t+2]===0,v=h?i(p-d,m-f):i(m-f,p-d),b=d,x=f;for(let t=1;t<=g;t++){let n=t/g,i=1-n,a=n*n*(3-2*n),o=3*v*n*i*i+3*(1-v)*n*n*i+n*n*n,s=d+(p-d)*(h?a:o),c=f+(m-f)*(h?o:a);D(e,r,b,x,s,c),b=s,x=c}}}let O=S>x?Math.round(Math.sqrt(p)):1,k=S>x?O/(S-x):0,A=e=>Math.min(O-1,Math.floor((e-x)*k)),j=new Int32Array(p),M=new Int32Array(O+1);for(let e=0;e<p;e++){j[e]=A(l[e]);for(let t=j[e],n=A(u[e]);t<=n;t++)M[t+1]++}for(let e=0;e<O;e++)M[e+1]+=M[e];let N=M.slice(0,O),P=new Int32Array(M[O]);for(let e=0;e<p;e++)for(let t=j[e],n=A(u[e]);t<=n;t++)P[N[t]++]=e;let F=new Float64Array(t.length*8),I=(e,t,n,r)=>Math.abs(e[t]-e[n])<h&&Math.abs(e[t]-e[r])<h||Math.abs(e[t+1]-e[n+1])<h&&Math.abs(e[t+1]-e[r+1])<h;for(let e=0;e<t.length;e++){let n=t[e].route;if(n.length<6)continue;let r=3;for(;r+3<n.length&&I(n,0,r,r+3);)r+=3;let i=n.length-3,a=i-3;for(;a>=3&&I(n,i,a,a-3);)a-=3;F.set([n[0],n[1],n[r],n[r+1],n[a],n[a+1],n[i],n[i+1]],e*8)}let L=(e,t,n,r)=>{let i=e*8+(t===1?0:4),a=F[i],o=F[i+1],s=F[i+2]-a,c=F[i+3]-o,l=s*s+c*c,u=l>0?Math.max(0,Math.min(1,((n-a)*s+(r-o)*c)/l)):0;return Math.hypot(n-a-u*s,r-o-u*c)<h},R=0;for(let n=0;n<O;n++){let r=M[n+1];if(r-M[n]>b)P.subarray(M[n],r).sort((e,t)=>a[e]-a[t]||e-t);else for(let e=M[n]+1;e<r;e++){let t=P[e],r=e;for(;r>M[n]&&a[P[r-1]]>a[t];r--)P[r]=P[r-1];P[r]=t}for(let i=M[n];i<r;i++){let p=P[i],h=s[p]-a[p],g=c[p]-o[p],_=j[p]===n;for(let v=i+1;v<r;v++){let r=P[v];if(a[r]>s[p])break;if(u[r]<l[p]||l[r]>u[p]||d[p]===d[r]||!_&&j[r]!==n)continue;let i=h*(o[r]-o[p])-g*(a[r]-a[p]),y=h*(c[r]-o[p])-g*(s[r]-a[p]);if(i>0==y>0)continue;let b=s[r]-a[r],x=c[r]-o[r],S=b*(o[p]-o[r])-x*(a[p]-a[r]),C=b*(c[p]-o[r])-x*(s[p]-a[r]);if(S>0==C>0)continue;let w=t[d[p]],T=t[d[r]],E=S/(S-C),D=a[p]+E*h,O=o[p]+E*g,k=(t,n,i)=>(f[p]&n)!==0&&(f[r]&i)!==0||Math.abs(D-e[t].x)<e[t].w/2+m&&Math.abs(O-e[t].y)<e[t].h/2+m||L(d[p],n,D,O)&&L(d[r],i,D,O);w.src===T.src&&k(w.src,1,1)||w.src===T.dst&&k(w.src,1,2)||w.dst===T.src&&k(w.dst,2,1)||w.dst===T.dst&&k(w.dst,2,2)||R++}}}return R}function C(e,t,n,r){for(let t of e)t.x+=n,t.y+=r;for(let e of t){for(let t=0;t<e.route.length;t+=3)e.route[t]+=n,e.route[t+1]+=r;e.labelX+=n,e.labelY+=r}}function w(e,t,n=-1){return{w:e,h:t,parent:n,isGroup:!1,dir:void 0,padX:0,padTop:0,padBottom:0,minW:0,seq:0,span:0,x:0,y:0}}function T(e){return e===`TB`?0:e===`BT`?2:e===`LR`?3:1}function E(e){return e+2&3}function D(i,o,m,g){let _=i.length,v=new Map,y=[],b=(e,t)=>{let n={id:e,dir:t,items:[],edges:[],ports:[],portOf:new Map,routes:new Map,x:0,y:0};return v.set(e,n),n},C=b(-1,m),w=[];for(let e=0;e<_;e++)w.push([]);let D=[];for(let e=0;e<_;e++){let t=i[e].parent;t>=0&&t<_&&t!==e&&i[t].isGroup?w[t].push(e):(i[e].parent=-1,D.push(e))}C.items=D,y.push(C);let O=new Int32Array(_),k=new Uint8Array(_),A=e=>{for(let t=e;t<y.length;t++){let e=y[t];for(let t of e.items)if(k[t]=1,O[t]=e.id<0?0:O[e.id]+1,i[t].isGroup){let n=b(t,i[t].dir??e.dir);n.items=w[t],y.push(n)}}};A(0);for(let e=0;e<_;e++){if(k[e])continue;let t=i[e].parent;if(w[t]=w[t].filter(t=>t!==e),i[e].parent=-1,C.items.push(e),k[e]=1,O[e]=0,i[e].isGroup){let t=y.length,n=b(e,i[e].dir??m);n.items=w[e],y.push(n),A(t)}}for(let e=y.length-1;e>0;e--){let t=y[e],n=1/0;for(let e of t.items)i[e].seq<n&&(n=i[e].seq);n!==1/0&&(i[t.id].seq=n)}for(let e of y)e.items.sort((e,t)=>i[e].seq-i[t].seq||e-t);let j=0;for(let e of o){let t=e.src,n=e.dst,r=0;for(;O[t]>O[n];r++)t=i[t].parent;for(;O[n]>O[t];r++)n=i[n].parent;for(;t!==n&&i[t].parent!==i[n].parent;r+=2)t=i[t].parent,n=i[n].parent;t!==n&&(j+r>s?(e.src=t,e.dst=n):j+=r)}let M=[],N=[];for(let e=0;e<o.length;e++){let t=o[e];if(t.route=[],t.src===t.dst){M.push(e);continue}let n=t.src,r=t.dst,a=[],s=[];for(;O[n]>O[r];)a.push(n),n=i[n].parent;for(;O[r]>O[n];)s.push(r),r=i[r].parent;if(n===r){N.push(e);continue}for(;i[n].parent!==i[r].parent;)a.push(n),s.push(r),n=i[n].parent,r=i[r].parent;v.get(i[n].parent).edges.push({e,a:n,b:r});for(let[t,n]of[[a,!0],[s,!1]])for(let r of t){let t=v.get(i[r].parent),a={e,inner:r,out:n,side:0,hint:NaN,px:0,py:0,route:[]};t.ports.push(a),t.portOf.set(e*2+ +!n,a)}}let P=new Int32Array(_),F=(e,t,n)=>(n?t.src:t.dst)!==e,I=(e,t)=>{let n=e.dir===`TB`||e.dir===`BT`,s=T(e.dir),c=[],l=[];e.items.forEach((e,a)=>{P[e]=a;let o=i[e],s=t?r(n?o.w:o.h,n?o.h:o.w):r(0,0);s.span=o.isGroup?Math.min(o.span,s.w-2*o.padX):o.span,s.key=z?R[e]:NaN,c.push(s)});let u=(e,t,n)=>i[e].isGroup&&F(e,o[t],n),d=(e,r,a)=>{if(!t||!i[e].isGroup||!F(e,o[r],a))return 0;let s=v.get(e).portOf.get(r*2+ +!a);return n?s.px-i[e].w/2:s.py-i[e].h/2};for(let r of e.edges){let e=o[r.e],i=a(P[r.a],P[r.b],e.minlen);t&&(i.labelW=n?e.labelW:e.labelH,i.labelH=n?e.labelH:e.labelW,i.tailDx=d(r.a,r.e,!0),i.headDx=d(r.b,r.e,!1),i.tailFixed=u(r.a,r.e,!0),i.headFixed=u(r.b,r.e,!1)),l.push(i)}let f=new Int32Array(e.ports.length).fill(-1);return e.ports.forEach((t,n)=>{if(t.side===s||t.side===E(s)){let i=c.length,p=r(0,0,t.side===s?3:4);p.key=z?R[t.out?o[t.e].dst:o[t.e].src]:NaN,p.hint=Number.isNaN(t.hint)&&z&&V?V(e,t):t.hint,c.push(p),f[n]=i;let m=t.out?a(P[t.inner],i):a(i,P[t.inner]);t.out?(m.tailDx=d(t.inner,t.e,!0),m.tailFixed=u(t.inner,t.e,!0)):(m.headDx=d(t.inner,t.e,!1),m.headFixed=u(t.inner,t.e,!1)),l.push(m)}else c[P[t.inner]].pin=t.side===0||t.side===3?-1:1}),{lnodes:c,ledges:l,dummies:f}},L=j>1&&j<=c&&o.length<=l,R=new Float64Array(_).fill(NaN),z=!1,B=0,V,H=y.length>1&&L;for(let e of y)e.dir!==m&&(H=!1);if(H){let t=m===`TB`||m===`BT`,n=new Int32Array(_).fill(-1),s=new Int32Array(_).fill(-1),c=[],l=[],u=[];for(let e=0;e<_;e++)i[e].isGroup&&(s[e]=u.length,u.push(-1));for(let e=0;e<_;e++){let a=i[e].parent;i[e].isGroup?u[s[e]]=a>=0?s[a]:-1:(n[e]=c.length,c.push(r(t?i[e].w:i[e].h,t?i[e].h:i[e].w)),l.push(a>=0?s[a]:-1))}let d=[],f=new Int32Array(o.length).fill(-1);o.forEach((e,r)=>{e.src===e.dst||n[e.src]<0||n[e.dst]<0||(f[r]=d.length,d.push(a(n[e.src],n[e.dst],e.minlen,t?e.labelW:e.labelH,t?e.labelH:e.labelW)))});let p=e(c,d,{...g,groups:{of:Int32Array.from(l),parent:Int32Array.from(u)},orderOnly:!0});B=Math.min(p.crossings??0,p.declared??0);let h=new Float64Array(_),v=new Int32Array(_),y=new Int32Array(_).fill(-1);for(let e=0;e<_;e++)if(!(n[e]<0)){R[e]=c[n[e]].x;for(let t=i[e].parent;t>=0;t=i[t].parent)h[t]+=R[e],v[t]++,y[t]=Math.max(y[t],c[n[e]].rank)}for(let e=0;e<_;e++)v[e]>0&&(R[e]=h[e]/v[e]);V=(e,t)=>{let n=f[t.e];if(n<0||e.id<0||!t.out||t.side!==E(T(e.dir)))return NaN;let r=d[n].points,i=R[o[t.e].src],a=0;for(let t=0;t<r.length;t+=2)r[t]===y[e.id]&&(i=r[t+1]),r[t]===y[e.id]+1&&(a=r[t+1]);return i+a*1e-6}}let U=new Map,W=(t,n,r)=>{if(!L)return{lnodes:n,ledges:r,size:e(n,r,g)};let i=[];for(let e of n)i.push(e.w,e.h,e.kind,e.pin,e.hint,e.key,e.span);for(let e of r)i.push(e.tail,e.head,e.minlen,e.labelW,e.labelH,e.tailDx,e.headDx,+e.tailFixed,+e.headFixed);let a=U.get(t.id);a||U.set(t.id,a=[]);for(let e of a){let t=e.given.length===i.length;for(let n=0;t&&n<i.length;n++)t=Object.is(e.given[n],i[n]);if(t)return e}let o={given:i,lnodes:n,ledges:r,size:e(n,r,g)};return a.push(o),o},G={width:0,height:0},K=()=>{for(let e of y){for(let t of e.ports)i[t.inner].isGroup&&F(t.inner,o[t.e],t.out)&&(v.get(t.inner).portOf.get(t.e*2+ +!t.out).side=t.side);if(e.edges.length===0)continue;let r=!1;for(let t of e.edges){let e=o[t.e];(i[t.a].isGroup&&e.src!==t.a||i[t.b].isGroup&&e.dst!==t.b)&&(r=!0)}if(!r)continue;let{lnodes:a,ledges:s}=I(e,!1);t(a,s),n(a,s,1);let c=T(e.dir);e.edges.forEach((e,t)=>{let n=o[e.e],r=!s[t].reversed;i[e.a].isGroup&&n.src!==e.a&&(v.get(e.a).portOf.get(e.e*2).side=r?E(c):c),i[e.b].isGroup&&n.dst!==e.b&&(v.get(e.b).portOf.get(e.e*2+1).side=r?c:E(c))})}for(let e=y.length-1;e>=0;e--){let t=y[e],n=t.id>=0?i[t.id]:void 0,r=t.dir===`TB`||t.dir===`BT`,a=t.dir===`BT`||t.dir===`RL`,s=I(t,!0),{lnodes:c,ledges:l,size:u}=W(t,s.lnodes,s.ledges),d=s.dummies,f=r?u.width:u.height,p=r?u.height:u.width,m=n?n.padX:0,h=n?n.padTop:0,g=Math.max(f+2*m,n?n.minW:0),_=p+h+(n?n.padBottom:0),b=(g-f)/2,x=h,S=(e,t)=>b+(r?e:a?u.height-t:t),C=(e,t)=>x+(r?a?u.height-t:t:e),w=+!r,T=e=>{let t=[];for(let n=0;n<e.length;n+=2)t.push(S(e[n],e[n+1]),C(e[n],e[n+1]),w);return t};t.items.forEach((e,t)=>{i[e].x=S(c[t].x,c[t].y),i[e].y=C(c[t].x,c[t].y)}),t.edges.forEach((e,n)=>{let r=l[n];t.routes.set(e.e,T(r.points));let i=o[e.e];i.labelW>0&&(i.labelX=S(r.labelX,r.labelY),i.labelY=C(r.labelX,r.labelY))});let E=t.edges.length;t.ports.forEach((e,t)=>{let n=i[e.inner];if(d[t]>=0){let t=T(l[E++].points),n=e.out?t.length-3:0,r=t[n],i=t[n+1];e.side===0?i=0:e.side===2?i=_:r=e.side===3?0:g,e.out?t.push(r,i,w):t.unshift(r,i,w),e.px=r,e.py=i,e.route=t;return}let r=n.x,a=n.y;if(n.isGroup&&F(e.inner,o[e.e],e.out)){let t=v.get(e.inner).portOf.get(e.e*2+ +!e.out);r+=t.px-n.w/2,a+=t.py-n.h/2}else e.side===0?a-=n.h/2:e.side===2?a+=n.h/2:e.side===3?r-=n.w/2:r+=n.w/2;let s=r,c=a;e.side===0?c=0:e.side===2?c=_:s=e.side===3?0:g;let u=e.side===0||e.side===2?0:1;e.px=s,e.py=c,e.route=e.out?[r,a,u,s,c,u]:[s,c,u,r,a,u]}),n?(n.w=g,n.h=_):G={width:g,height:_}}for(let e of y){let t=e.x,n=e.y;for(let r of e.items){let e=i[r];if(e.x+=t,e.y+=n,e.isGroup){let t=v.get(r);t.x=e.x-e.w/2,t.y=e.y-e.h/2}}}let e=(e,t,n,r)=>{for(let i=0;i<t.length;i+=3){let a=t[i]+n,o=t[i+1]+r,s=e.length;s>=3&&Math.abs(e[s-3]-a)<.01&&Math.abs(e[s-2]-o)<.01||e.push(a,o,t[i+2])}};for(let t of y)for(let n of t.edges){let r=o[n.e],a=[],s=[];for(let e=r.src;i[e].parent!==t.id;e=i[e].parent)s.push(v.get(i[e].parent));for(let t of s)e(a,t.portOf.get(n.e*2).route,t.x,t.y);e(a,t.routes.get(n.e),t.x,t.y);let c=[];for(let e=r.dst;i[e].parent!==t.id;e=i[e].parent)c.push(v.get(i[e].parent));for(let t=c.length-1;t>=0;t--)e(a,c[t].portOf.get(n.e*2+1).route,c[t].x,c[t].y);r.route=a,r.labelW>0&&(r.labelX+=t.x,r.labelY+=t.y)}},q=x(g);z=H,K();let J=-1;if(H&&(J=S(i,o,q),J>B*u+d)){let e=f(i,o,y,G);z=!1,K();let t=S(i,o,q);t>=J?(z=!0,G=p(e,i,o,y)):J=t}if(z===H&&L){let e=!1;for(let t of y){if(t.id<0)continue;let n=i[t.id],r=t.dir===`TB`||t.dir===`BT`,a=E(T(t.dir)),s=[];for(let e of t.ports){if(e.side!==a)continue;let i=o[e.e].route,c=t.x+e.px,l=t.y+e.py,u=-1;for(let t=0;t<i.length&&(u<0||e.out);t+=3)Math.abs(i[t]-c)<.01&&Math.abs(i[t+1]-l)<.01&&(u=t);if(u<0)continue;let d=+!r,f=e.out?u+3:u-3;for(;f>=0&&f<i.length&&Math.abs(i[f+d]-i[u+d])<h;)f+=e.out?3:-3;f<0||f>=i.length||(e.hint=i[f+d]-(r?n.x-n.w/2:n.y-n.h/2),s.push([r?e.px:e.py,e.hint]))}s.sort((e,t)=>e[0]-t[0]);for(let t=1;t<s.length;t++)s[t-1][1]>s[t][1]&&(e=!0)}if(e){let e=J>=0?J:S(i,o,q),t=e>0?f(i,o,y,G):void 0;t&&(K(),S(i,o,q)>=e&&(G=p(t,i,o,y)))}}for(let e of N){let t=o[e],n=i[t.src],r=i[t.dst];t.route=[n.x,n.y,0,r.x,r.y,0],t.labelX=(n.x+r.x)/2,t.labelY=(n.y+r.y)/2}for(let e of M){let t=o[e],n=i[t.src];t.labelX=n.x+n.w/2+28+t.labelW/2,t.labelY=n.y}return G}export{D as i,C as n,o as r,w as t};
2
+ //# sourceMappingURL=NUIALGQ3-BG7xJ_qe.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./react-DH3P2YXY.js";import{n as t,t as n}from"./jsx-runtime-BnjsACtP.js";import{Jp as r,dr as i,mp as a}from"./utils-CrFJwxSd.js";import{O as o}from"./useSettings-BL4ZWGQV.js";import{t as s}from"./env-wK1YYxA8.js";import{o as c}from"./sidebar-CRr8B41y.js";import{i as l,o as u,r as d,t as f}from"./empty-C0oiFHy_.js";import{Cn as p,Jr as m}from"./main-BGaSDXjP.js";import{t as h}from"./WorkspacePageHeader-CTWcEH7d.js";var g=t(),_=e(n(),1);function v(){let e=(0,g.c)(16),t=y,n=o(),{scratchEnvironmentId:m,startScratchThread:v}=p(),b;e[0]!==n||e[1]!==m?(b=m(n),e[0]=n,e[1]=m,e[2]=b):b=e[2];let x=b,S;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(S=s?(0,_.jsx)(h,{electron:!0}):null,e[3]=S):S=e[3];let C;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,_.jsx)(u,{children:`What should we work on?`}),e[4]=C):C=e[4];let w=x===null?`Add a project to start your first thread.`:`Add a project, or start without one.`,T;e[5]===w?T=e[6]:(T=(0,_.jsx)(d,{children:w}),e[5]=w,e[6]=T);let E;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,_.jsxs)(i,{size:`sm`,onClick:t,children:[(0,_.jsx)(r,{className:`size-4`}),`Add project`]}),e[7]=E):E=e[7];let D;e[8]!==x||e[9]!==v?(D=x===null?null:(0,_.jsxs)(i,{size:`sm`,variant:`outline`,onClick:()=>void v(x),children:[(0,_.jsx)(a,{className:`size-4`}),`Start without a project`]}),e[8]=x,e[9]=v,e[10]=D):D=e[10];let O;e[11]===D?O=e[12]:(O=(0,_.jsxs)(`div`,{className:`mt-6 flex justify-center gap-2`,children:[E,D]}),e[11]=D,e[12]=O);let k;return e[13]!==T||e[14]!==O?(k=(0,_.jsx)(c,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none`,children:(0,_.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-x-hidden bg-background`,children:[S,(0,_.jsx)(f,{size:`hero`,className:`flex-1`,children:(0,_.jsx)(`div`,{className:`w-full max-w-lg px-8 py-12`,children:(0,_.jsxs)(l,{className:`max-w-none`,children:[C,T,O]})})})]})}),e[13]=T,e[14]=O,e[15]=k):k=e[15],k}function y(){return m({open:`add-project`})}export{v as t};
2
- //# sourceMappingURL=NoProjectsHero-CC3oMKUV.js.map
1
+ import{a as e}from"./react-DH3P2YXY.js";import{n as t,t as n}from"./jsx-runtime-BnjsACtP.js";import{Yp as r,dr as i,hp as a}from"./utils-BoMYW9A3.js";import{O as o}from"./useSettings-CaJMqrvF.js";import{t as s}from"./env-wK1YYxA8.js";import{o as c}from"./sidebar-C1E4GqL6.js";import{i as l,o as u,r as d,t as f}from"./empty-FOL5U4KY.js";import{Cn as p,Jr as m}from"./main-BWh6jqG2.js";import{t as h}from"./WorkspacePageHeader-CE_94tTR.js";var g=t(),_=e(n(),1);function v(){let e=(0,g.c)(16),t=y,n=o(),{scratchEnvironmentId:m,startScratchThread:v}=p(),b;e[0]!==n||e[1]!==m?(b=m(n),e[0]=n,e[1]=m,e[2]=b):b=e[2];let x=b,S;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(S=s?(0,_.jsx)(h,{electron:!0}):null,e[3]=S):S=e[3];let C;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,_.jsx)(u,{children:`What should we work on?`}),e[4]=C):C=e[4];let w=x===null?`Add a project to start your first thread.`:`Add a project, or start without one.`,T;e[5]===w?T=e[6]:(T=(0,_.jsx)(d,{children:w}),e[5]=w,e[6]=T);let E;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,_.jsxs)(i,{size:`sm`,onClick:t,children:[(0,_.jsx)(r,{className:`size-4`}),`Add project`]}),e[7]=E):E=e[7];let D;e[8]!==x||e[9]!==v?(D=x===null?null:(0,_.jsxs)(i,{size:`sm`,variant:`outline`,onClick:()=>void v(x),children:[(0,_.jsx)(a,{className:`size-4`}),`Start without a project`]}),e[8]=x,e[9]=v,e[10]=D):D=e[10];let O;e[11]===D?O=e[12]:(O=(0,_.jsxs)(`div`,{className:`mt-6 flex justify-center gap-2`,children:[E,D]}),e[11]=D,e[12]=O);let k;return e[13]!==T||e[14]!==O?(k=(0,_.jsx)(c,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none`,children:(0,_.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-x-hidden bg-background`,children:[S,(0,_.jsx)(f,{size:`hero`,className:`flex-1`,children:(0,_.jsx)(`div`,{className:`w-full max-w-lg px-8 py-12`,children:(0,_.jsxs)(l,{className:`max-w-none`,children:[C,T,O]})})})]})}),e[13]=T,e[14]=O,e[15]=k):k=e[15],k}function y(){return m({open:`add-project`})}export{v as t};
2
+ //# sourceMappingURL=NoProjectsHero-B0KzU91d.js.map
@@ -1,4 +1,4 @@
1
- import{_ as e,f as t,g as n,l as r,o as i,r as a,s as o,t as s,y as c}from"./77XECAW3-CjIq7P_x.js";import{a as l,d as u,i as d,l as f,s as p,u as m}from"./N3JZAHOW-2wC96xvZ.js";import{a as h,o as g,r as _,t as v}from"./DKTLEL5E-DciMwFJ1.js";import{i as y,n as b,r as x,t as S}from"./74OO7NKP-Cukz2OUS.js";import{i as C,n as w,r as T,t as E}from"./NUIALGQ3-Di1L_kRJ.js";import{t as D}from"./TSHNXIZL-DTjzxHgA.js";import{a as O,i as k,n as ee,o as te,r as ne,t as re}from"./5N7A7DKN-BVMU2dmG.js";import{t as A}from"./7WLXJQOR-D6QVYUu9.js";import{a as ie,i as ae,n as oe,r as se,s as ce,t as le}from"./ABYRPUBD-hf0OeD7n.js";import{n as ue,t as de}from"./FTXIJQGB-CggtIYAM.js";import{PeleError as j,_ as fe,i as M,m as pe,n as N,r as P,u as F}from"./lazy-D6W01WxZ.js";function I(e){return e===`markdown`||e===`string`||e===`text`?e:`markdown`}function me(e){return e.startsWith(`"`)&&e.endsWith(`"`)?e.substring(1,e.length-1):e}function L(e,t){let n=0;for(let r=0;r<t.length;r++)t[r]===e&&n++;return n}function he(e){let t=e.trim(),n=`arrow_open`;switch(t[0]){case`<`:n=`arrow_point`,t=t.slice(1);break;case`x`:n=`arrow_cross`,t=t.slice(1);break;case`o`:n=`arrow_circle`,t=t.slice(1)}let r=`normal`;return t.includes(`=`)&&(r=`thick`),t.includes(`.`)&&(r=`dotted`),{type:n,stroke:r}}function R(e){let t=e.trim(),n=t.slice(0,-1),r=`arrow_open`;switch(t.slice(-1)){case`x`:r=`arrow_cross`,t.startsWith(`x`)&&(r=`double_`+r,n=n.slice(1));break;case`>`:r=`arrow_point`,t.startsWith(`<`)&&(r=`double_`+r,n=n.slice(1));break;case`o`:r=`arrow_circle`,t.startsWith(`o`)&&(r=`double_`+r,n=n.slice(1))}let i=`normal`,a=n.length-1;n.startsWith(`=`)&&(i=`thick`),n.startsWith(`~`)&&(i=`invisible`);let o=L(`.`,n);return o&&(i=`dotted`,a=o),{type:r,stroke:i,length:a}}var z=class{type=`flowchart`;direction;nodes=new Map;edges=[];subgraphs=[];classes=new Map;tooltips=new Map;defaultEdgeStyle;defaultInterpolate;title;accTitle;accDescr;subgraphLookup=new Map;members=new Set;edgeById=new Map;pairCount=new Map;subCount=0;options;constructor(e={}){this.options=e}addVertex(e,t,n,r,i,a,o,s){if(!e||e.trim().length===0)return;let c;if(s!==void 0){let t=s.includes(`
1
+ import{_ as e,f as t,g as n,l as r,o as i,r as a,s as o,t as s,y as c}from"./77XECAW3-TL2w7pHK.js";import{a as l,d as u,i as d,l as f,s as p,u as m}from"./N3JZAHOW-C6sq5aqx.js";import{a as h,o as g,r as _,t as v}from"./DKTLEL5E-DciMwFJ1.js";import{i as y,n as b,r as x,t as S}from"./74OO7NKP-DByVTRKE.js";import{i as C,n as w,r as T,t as E}from"./NUIALGQ3-BG7xJ_qe.js";import{t as D}from"./TSHNXIZL-CIukdyLy.js";import{a as O,i as k,n as ee,o as te,r as ne,t as re}from"./5N7A7DKN-CNUCnWLs.js";import{t as A}from"./7WLXJQOR-D6QVYUu9.js";import{a as ie,i as ae,n as oe,r as se,s as ce,t as le}from"./ABYRPUBD-CJboH7Uz.js";import{n as ue,t as de}from"./FTXIJQGB-CggtIYAM.js";import{PeleError as j,_ as fe,i as M,m as pe,n as N,r as P,u as F}from"./lazy-DyNR0b0B.js";function I(e){return e===`markdown`||e===`string`||e===`text`?e:`markdown`}function me(e){return e.startsWith(`"`)&&e.endsWith(`"`)?e.substring(1,e.length-1):e}function L(e,t){let n=0;for(let r=0;r<t.length;r++)t[r]===e&&n++;return n}function he(e){let t=e.trim(),n=`arrow_open`;switch(t[0]){case`<`:n=`arrow_point`,t=t.slice(1);break;case`x`:n=`arrow_cross`,t=t.slice(1);break;case`o`:n=`arrow_circle`,t=t.slice(1)}let r=`normal`;return t.includes(`=`)&&(r=`thick`),t.includes(`.`)&&(r=`dotted`),{type:n,stroke:r}}function R(e){let t=e.trim(),n=t.slice(0,-1),r=`arrow_open`;switch(t.slice(-1)){case`x`:r=`arrow_cross`,t.startsWith(`x`)&&(r=`double_`+r,n=n.slice(1));break;case`>`:r=`arrow_point`,t.startsWith(`<`)&&(r=`double_`+r,n=n.slice(1));break;case`o`:r=`arrow_circle`,t.startsWith(`o`)&&(r=`double_`+r,n=n.slice(1))}let i=`normal`,a=n.length-1;n.startsWith(`=`)&&(i=`thick`),n.startsWith(`~`)&&(i=`invisible`);let o=L(`.`,n);return o&&(i=`dotted`,a=o),{type:r,stroke:i,length:a}}var z=class{type=`flowchart`;direction;nodes=new Map;edges=[];subgraphs=[];classes=new Map;tooltips=new Map;defaultEdgeStyle;defaultInterpolate;title;accTitle;accDescr;subgraphLookup=new Map;members=new Set;edgeById=new Map;pairCount=new Map;subCount=0;options;constructor(e={}){this.options=e}addVertex(e,t,n,r,i,a,o,s){if(!e||e.trim().length===0)return;let c;if(s!==void 0){let t=s.includes(`
2
2
  `)?s+`
3
3
  `:`{
4
4
  `+s+`
@@ -6,4 +6,4 @@ import{_ as e,f as t,g as n,l as r,o as i,r as a,s as o,t as s,y as c}from"./77X
6
6
  `)}addSubGraph(e,t,n){let r=e?.text.trim(),i=n?.text??``;e!==void 0&&e===n&&/\s/.test(i)&&(r=void 0);let a=new Set,o=[],s;for(let e of t)if(typeof e==`string`)e.trim()!==``&&!a.has(e)&&(a.add(e),o.push(e));else if(Array.isArray(e))for(let t of e)t.trim()!==``&&!a.has(t)&&(a.add(t),o.push(t));else s=e.value;s??=this.options.inheritDir?this.direction??this.options.direction:void 0,r??=`subGraph`+this.subCount,i||=``,this.subCount++;let c={id:r,nodes:o,title:i.trim(),classes:[],dir:s,labelType:I(n?.type)},l=this.members;c.nodes=o.filter(e=>!l.has(e)&&e!==r);for(let e of c.nodes)l.add(e);let u=this.subgraphLookup.get(r);if(u)for(let e of c.nodes)u.nodes.push(e);else this.subgraphs.push(c);return this.subgraphLookup.set(r,u??c),r}exists(e,t){for(let n of e)if(n.nodes.includes(t))return!0;return!1}makeUniq(e,t){let n=new Set;for(let e of t)for(let t of e.nodes)n.add(t);return{nodes:e.nodes.filter(e=>!n.has(e))}}destructLink(e,t){let n=R(e);if(!t)return n;let r=he(t);if(r.stroke!==n.stroke)return{type:`INVALID`,stroke:`INVALID`};if(r.type===`arrow_open`)r.type=n.type;else{if(r.type!==n.type)return{type:`INVALID`,stroke:`INVALID`};r.type=`double_`+r.type}return r.type===`double_arrow`&&(r.type=`double_arrow_point`),r.length=n.length,r}subgraph(e){return this.subgraphLookup.get(e)}},B=`$end.INVALID.acc_title.acc_title_value.acc_descr.acc_descr_value.acc_descr_multiline_value.SHAPE_DATA.CALLBACKNAME.CALLBACKARGS.MD_STR.STR.STYLE.DEFAULT.LINKSTYLE.INTERPOLATE.CLASSDEF.CLASS.HREF.CLICK.GRAPH.subgraph.end.LINK_TARGET.NODIR.DIR.direction_tb.direction_bt.direction_rl.direction_lr.direction_td.LINK_ID.NUM.BRKT.STYLE_SEPARATOR.COLON.AMP.SEMI.COMMA.MULT.LINK.START_LINK.EDGE_TEXT.-).TEXT.(-.STADIUMEND.STADIUMSTART.SUBROUTINEEND.SUBROUTINESTART.VERTEX_WITH_PROPS_START.TAGEND.CYLINDEREND.CYLINDERSTART.DOUBLECIRCLEEND.DOUBLECIRCLESTART.TRAPEND.INVTRAPEND.TRAPSTART.INVTRAPSTART.TAGSTART.UP.SEP.DOWN.NODE_STRING.MINUS.UNICODE_TEXT.PIPE.PE.PS.SQE.SQS.DIAMOND_STOP.DIAMOND_START.NEWLINE.SPACE.EOF`.split(`.`),V=new Uint8Array(128);for(let e of`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!"#$%&'*+.\`?\\_/`)V[e.charCodeAt(0)]=1;var H=/accTitle\s*:\s*/y,U=/accDescr\s*:\s*/y,ge=/accDescr\s*\{\s*/y,W=/call\s+/y,_e=/click\s+/y,G=/(?:\r?\n)*\s*\n/y,ve=/\s*(?:LR|RL|TB|BT|TD|BR)\b/y,ye=/\s*[<>^]/y,K=/\s*v\b/y,be=[/.*direction\s+TB[^\n]*/y,/.*direction\s+BT[^\n]*/y,/.*direction\s+RL[^\n]*/y,/.*direction\s+LR[^\n]*/y,/.*direction\s+TD[^\n]*/y],q=/[\n\r\u2028\u2029]/g,xe=/\s*[xo<]?--+[-xo>]\s*/y,Se=/\s*[xo<]?--\s*/y,J=/\s*[xo<]?==+[=xo>]\s*/y,Ce=/\s*[xo<]?==\s*/y,Y=/\s*[xo<]?-?\.+-[xo>]?\s*/y,we=/\s*[xo<]?-\.\s*/y,Te=/\s*~~~+\s*/y,X=/(?:\r?\n)+/y,Ee=/[^\S\n\r]+/y,De=/\(\s*\)/y,Z=/\n\s*/g;function Oe(e){let t=e.length,n=[],r=[],i=[],a=[],o=0,s=0,c=!0,l=e.indexOf(`direction`),u=e.indexOf(`@`),d=-1,f=0,p=0,m=-1,h=-1,g=-1,_=(t,a,o)=>{n.push(t),r.push(e.slice(a,o)),i.push(a),s=o},v=e=>{a.push(o),o=e},y=()=>{a.length>0&&(o=a.pop())},b=(t,n)=>(t.lastIndex=n,t.test(e)?t.lastIndex:-1),x=t=>e.startsWith(t,s)&&!M(e.charCodeAt(s+t.length)),S=n=>{let r=n;if(n>=h&&n<=g)r=g;else if(P(e.charCodeAt(n))){for(;r<t&&P(e.charCodeAt(r));)r++;h=n,g=r}let i=e.charCodeAt(r);return i===120||i===111||i===60?e.charCodeAt(r+1):i},C=n=>{let r=n;if(n>=h&&n<=g)r=g;else if(P(e.charCodeAt(n))){for(;r<t&&P(e.charCodeAt(r));)r++;h=n,g=r}return e.charCodeAt(r)===126},w=()=>{e.charCodeAt(s+1)===96?(v(2),s+=2):(v(1),s++)},T=()=>{if(!C(s))return!1;let e=b(Te,s);return e<0?!1:(_(40,s,e),!0)},E=t=>{let n=e.charCodeAt(s+1);return t===40?(n===45?(v(8),_(45,s,s+2)):n===91?(v(7),_(47,s,s+2)):n===40&&e.charCodeAt(s+2)===40?(v(7),_(55,s,s+3)):(v(7),_(69,s,s+1)),!0):t===91?(n===91?(v(7),_(49,s,s+2)):n===40?(v(7),_(53,s,s+2)):n===47?(v(9),_(58,s,s+2)):n===92?(v(9),_(59,s,s+2)):(v(7),_(71,s,s+1)),!0):t===124?(v(7),_(67,s,s+1),!0):t===123&&(v(7),_(73,s,s+1),!0)},D=e=>{c&&(c=!1,v(6)),_(20,s,s+e)},O=()=>{let n=s;for(;n<t;){let r=e.charCodeAt(n);if(r<128&&V[r]===1)n++;else if(r===45&&n+1<t){let t=e.charCodeAt(n+1);if(t===62||t===45||t===46)break;n++}else break}return n!==s&&(_(64,s,n),!0)},k=e=>{let t=S(s),n;if(t===45){if((n=b(xe,s))>=0)return _(40,s,n),!0;if((n=b(Se,s))>=0)return v(10),_(41,s,n),!0;if((n=b(Y,s))>=0)return _(40,s,n),!0;if((n=b(we,s))>=0)return v(12),_(41,s,n),!0}else if(t===61){if((n=b(J,s))>=0)return _(40,s,n),!0;if((n=b(Ce,s))>=0)return v(11),_(41,s,n),!0}else if(t===46&&(n=b(Y,s))>=0)return _(40,s,n),!0;return e!==45&&e!==61&&e!==46&&T()},ee=a=>{let o;switch(a){case 97:if(e.startsWith(`acc`,s)){if((o=b(H,s))>=0)return v(3),_(2,s,o),!0;if((o=b(U,s))>=0)return v(4),_(4,s,o),!0;if((o=b(ge,s))>=0)return v(5),s=o,!0}break;case 64:if(e.charCodeAt(s+1)===123)return v(16),n.push(7),r.push(``),i.push(s),s+=2,!0;break;case 99:if((o=b(W,s))>=0)return v(14),s=o,!0;if(x(`classDef`))return _(16,s,s+8),!0;if(x(`class`))return _(17,s,s+5),!0;if((o=b(_e,s))>=0)return v(13),s=o,!0;break;case 34:return w(),!0;case 115:if(x(`style`))return _(12,s,s+5),!0;if(x(`swimlane-beta`))return D(13),!0;if(x(`subgraph`))return _(21,s,s+8),!0;break;case 100:if(x(`default`))return _(13,s,s+7),!0;break;case 108:if(x(`linkStyle`))return _(14,s,s+9),!0;break;case 105:if(x(`interpolate`))return _(15,s,s+11),!0;break;case 104:if(e.startsWith(`href`,s)&&P(e.charCodeAt(s+4)))return _(18,s,s+5),!0;break;case 102:if(x(`flowchart-elk`))return D(13),!0;if(x(`flowchart`))return D(9),!0;break;case 103:if(x(`graph`))return D(5),!0;break;case 101:if(x(`end`)){for(o=s+3;o<t&&P(e.charCodeAt(o));)o++;return _(22,s,o),!0}break;case 95:if(x(`_self`))return _(23,s,s+5),!0;if(x(`_blank`))return _(23,s,s+6),!0;if(x(`_parent`))return _(23,s,s+7),!0;if(x(`_top`))return _(23,s,s+4),!0}if(l!==-1&&s>=f&&(l<s&&(l=e.indexOf(`direction`,s)),l!==-1&&(d<s&&(q.lastIndex=s,d=q.test(e)?q.lastIndex-1:t),l<d))){for(let e=0;e<5;e++)if((o=b(be[e],s))>=0)return _(26+e,s,o),!0;f=d}if(u!==-1&&a!==34&&!P(a)){if(s>=p){u<s&&(u=e.indexOf(`@`,s));let n=s;for(;n<t;){let t=e.charCodeAt(n);if(t===34||P(t))break;n++}if(p=n,m=-1,u!==-1&&u<n)for(let r=Math.min(n,t-1)-1;r>=u;r--){if(e.charCodeAt(r)!==64)continue;let t=e.charCodeAt(r+1);if(t!==123&&t!==34){m=r;break}}}if(m>s)return _(31,s,m+1),!0}if(a>=48&&a<=57){let n=s+1;for(;n<t;){let t=e.charCodeAt(n);if(t<48||t>57)break;n++}return _(32,s,n),!0}switch(a){case 35:return _(33,s,s+1),!0;case 58:return e.charCodeAt(s+1)===58&&e.charCodeAt(s+2)===58?_(34,s,s+3):_(35,s,s+1),!0;case 38:return _(36,s,s+1),!0;case 59:return _(37,s,s+1),!0;case 44:return _(38,s,s+1),!0;case 42:return _(39,s,s+1),!0;case 120:case 111:return k(a)||O();case 60:return k(a)||_(60,s,s+1),!0;case 45:return k(a)||O()||_(65,s,s+1),!0;case 61:return k(a);case 46:return k(a)||O();case 126:return T();case 40:return E(a);case 91:return e.charCodeAt(s+1)===124?(_(50,s,s+2),!0):E(a);case 124:case 123:return E(a);case 62:return v(7),_(51,s,s+1),!0;case 94:return _(61,s,s+1),!0;case 92:return e.charCodeAt(s+1)===124?(_(62,s,s+2),!0):O();case 118:return M(e.charCodeAt(s+1))?O():(_(63,s,s+1),!0)}return P(a)?k(a)?!0:(o=b(X,s))>=0?(_(74,s,o),!0):(o=b(Ee,s))>=0&&(_(75,s,o),!0):a<128?O():A(a)?(_(66,s,s+1),!0):!1},te=(n,r,i,a)=>{if(n===34)return w(),!0;let o=S(s);if(o===i||o===a){let e=b(r,s);if(e>=0)return y(),_(40,s,e),!0}if(n===i&&(i!==45||e.charCodeAt(s+1)===45))return!1;let c=s+1;for(;c<t;){let t=e.charCodeAt(c);if(t===34)break;if(t===i){if(i!==45||e.charCodeAt(c+1)===45)break}else if(t===120||t===111||t===60||t===a||P(t)){let e=S(c);if((e===i||e===a)&&b(r,c)>=0)break}c++}return _(42,s,c),!0};e:for(;;){if(s>=t){let e=-1;switch(o){case 0:e=76;break;case 3:e=3;break;case 4:e=5;break;case 5:e=6;break;case 13:e=19;break;case 14:e=8;break;case 15:e=9}e!==-1&&_(e,t,t);break}let a=e.charCodeAt(s),c=!0;switch(o){case 0:c=ee(a);break;case 1:if(a===34)e.charCodeAt(s+1)===96?(v(2),s+=2):(y(),s++);else{let n=e.indexOf(`"`,s);_(11,s,n===-1?t:n)}break;case 2:if(a===96)e.charCodeAt(s+1)===34?(y(),s+=2):c=!1;else if(a===34)w();else{let n=s+1;for(;n<t;){let t=e.charCodeAt(n);if(t===96||t===34)break;n++}_(10,s,n)}break;case 3:case 4:{let n=e.indexOf(`
7
7
  `,s);n===-1&&(n=t);let r=o===3?3:5;y(),_(r,s,n);break}case 5:if(a===125)y(),s++;else{let n=e.indexOf(`}`,s);n===-1&&(n=t),_(6,s,n)}break;case 6:{let e;a===34?w():(e=b(G,s))>=0?(y(),_(24,s,e)):(e=b(ve,s))>=0||(e=b(ye,s))>=0||(e=b(K,s))>=0?(y(),_(25,s,e)):c=T()||E(a);break}case 7:{let n=e.charCodeAt(s+1);switch(a){case 34:w();break;case 40:case 91:case 123:E(a);break;case 93:y(),n===41?_(46,s,s+2):n===93?_(48,s,s+2):_(70,s,s+1);break;case 41:y(),n===93?_(52,s,s+2):n===41&&e.charCodeAt(s+2)===41?_(54,s,s+3):_(68,s,s+1);break;case 124:y(),_(67,s,s+1);break;case 125:y(),_(72,s,s+1);break;default:{if((a===126||P(a))&&T())break;let n=s+1;for(;n<t;){let t=e.charCodeAt(n);if(t===91||t===93||t===40||t===41||t===123||t===125||t===124||t===34)break;n++}_(44,s,n)}}break}case 8:{let n=e.charCodeAt(s+1);if(a===34)w();else{if((a===126||P(a))&&T())break;if((a===45||a===47||a===41)&&n===41)y(),_(43,s,s+2);else if(a===40||a===91||a===123)E(a);else if(a===41||a===93||a===125)c=!1;else{let n=s+1;for(;n<t;){let t=e.charCodeAt(n);if(t===34||t===40||t===41||t===91||t===93||t===123||t===125||(t===45||t===47)&&e.charCodeAt(n+1)===41||(t===126||P(t))&&C(n)&&b(Te,n)>=0)break;n++}_(44,s,n)}}break}case 9:{let n=e.charCodeAt(s+1);if(a===34){w();break}if((a===126||P(a))&&T())break;switch(a){case 40:n===45||n===91||n===40&&e.charCodeAt(s+2)===40?E(a):n===93?(y(),_(56,s,s+2)):E(a);break;case 91:case 123:E(a);break;case 92:n===93?(y(),_(56,s,s+2)):_(44,s,s+1);break;case 47:n===93?(y(),_(57,s,s+2)):_(44,s,s+1);break;case 93:case 41:n===93?(y(),_(56,s,s+2)):c=!1;break;case 125:c=!1;break;default:{if((a===63||a===61)&&n===93){y(),_(56,s,s+2);break}let r=s+1;for(;r<t;){let t=e.charCodeAt(r);if(t===92||t===91||t===93||t===40||t===41||t===123||t===125||t===47)break;r++}_(44,s,r)}}break}case 10:c=te(a,xe,45,-1);break;case 11:c=te(a,J,61,-1);break;case 12:c=te(a,Y,46,45);break;case 13:if(a===34)w();else if(P(a))y(),s++;else{let n=s+1;for(;n<t&&!P(e.charCodeAt(n));)n++;_(19,s,n)}break;case 14:if(a===40){let e=b(De,s);y(),e>=0?s=e:(v(15),s++)}else{let n=e.indexOf(`(`,s);n===-1&&(n=t),_(8,s,n)}break;case 15:if(a===41)y(),s++;else{let n=e.indexOf(`)`,s);n===-1&&(n=t),_(9,s,n)}break;case 16:if(a===34)v(17),_(7,s,s+1);else if(a===125)y(),s++;else if(a===94)c=!1;else{let n=s+1;for(;n<t;){let t=e.charCodeAt(n);if(t===125||t===94||t===34)break;n++}_(7,s,n)}break;case 17:if(a===34)y(),_(7,s,s+1);else{let a=e.indexOf(`"`,s);a===-1&&(a=t),n.push(7),r.push(e.slice(s,a).replace(Z,`<br/>`)),i.push(s),s=a}}if(!c)return n.push(1),r.push(``),i.push(s),{types:n,texts:r,starts:i};continue e}return n.push(0),r.push(``),i.push(t),{types:n,texts:r,starts:i}}var Q=new Uint8Array(77);for(let e of[32,64,63,65,13,38,35,36,33,39,66])Q[e]=1;var ke=new Uint8Array(77);for(let e of[32,66,64,25,63,65,38,35,36,33,39])ke[e]=1;var Ae=new Uint8Array(77);for(let e of[32,64,75,65,36,66,35,39,33,12,14,16,17,19,20,25,21,22,63,61,41])Ae[e]=1;var je=new Uint8Array(77);for(let e of[32,64,35,75,33,12])je[e]=1;var Me=`'UNICODE_TEXT', 'TEXT', 'TAGSTART'`,Ne=[],Pe=/}\s*\n/g;function Fe(e,t){let n=e.includes(`}`)?e.replace(Pe,`}
8
8
  `):e,{types:r,texts:i,starts:a}=Oe(n),o=0,s,c=e=>{let t=r[o];throw t===1?F(`flowchart`,n,a[o],``,!0):F(`flowchart`,n,a[o],`Expecting ${e}, got '${B[t]}'`)},l=(e,t=``)=>(r[o]!==e&&c(`'${B[e]}'${t?`, `+t:``}`),i[o++]),u=()=>{let e=r[o];e!==74&&e!==37&&e!==76&&c(`'SEMI', 'NEWLINE', 'EOF'`),o++},d=()=>{Q[r[o]]===0&&c(`'NODE_STRING'`);let e=i[o++];for(;Q[r[o]]===1;)e+=i[o++];return e},f=()=>{ke[r[o]]===0&&c(`'NODE_STRING'`);let e=i[o++];for(;ke[r[o]]===1;)e+=i[o++];return e},p=()=>{let e=r[o],t;if(e===11)t=`string`;else if(e===10)t=`markdown`;else if(e===44||e===60||e===51||e===66)t=`text`;else return c(`${Me}, 'TAGEND', 'STR', 'MD_STR'`);let n=i[o++];for(;;){let e=r[o];if(e!==44&&e!==60&&e!==51&&e!==66)break;n+=i[o++]}return{text:n,type:t}},m=e=>{l(e,Me)},h=()=>{let e=r[o],t;if(e===11)t=`string`;else if(e===10)t=`markdown`;else if(e===42||e===66)t=`text`;else return c(`'EDGE_TEXT', 'STR', 'MD_STR'`);let n=i[o++];for(;r[o]===42||r[o]===66;)n+=i[o++];return{text:n,type:t}},g=()=>{let e=r[o],t;if(e===11)t=`text`;else if(e===10)t=`markdown`;else if(Ae[e]===1)t=`text`;else return c(`'NODE_STRING', 'STR', 'MD_STR'`);let n=i[o++];for(;Ae[r[o]]===1;)n+=i[o++];return{text:n,type:t}},_=()=>{let e=i[o++];for(;r[o]===7;)e+=i[o++];return e},v=()=>{let e=d(),n;switch(r[o]){case 71:o++,n=p(),m(70),t.addVertex(e,n,`square`);break;case 55:o++,n=p(),m(54),t.addVertex(e,n,`doublecircle`);break;case 69:o++,r[o]===69?(o++,n=p(),m(68),l(68),t.addVertex(e,n,`circle`)):(n=p(),m(68),t.addVertex(e,n,`round`));break;case 45:o++,n=p(),m(43),t.addVertex(e,n,`ellipse`);break;case 47:o++,n=p(),m(46),t.addVertex(e,n,`stadium`);break;case 49:o++,n=p(),m(48),t.addVertex(e,n,`subroutine`);break;case 50:{o++;let r=l(64);l(35);let i=l(64);l(67),n=p(),m(70),t.addVertex(e,n,`rect`,void 0,void 0,void 0,{[r]:i});break}case 53:o++,n=p(),m(52),t.addVertex(e,n,`cylinder`);break;case 73:o++,r[o]===73?(o++,n=p(),m(72),l(72),t.addVertex(e,n,`hexagon`)):(n=p(),m(72),t.addVertex(e,n,`diamond`));break;case 51:o++,n=p(),m(70),t.addVertex(e,n,`odd`);break;case 58:o++,n=p(),r[o]===57?(o++,t.addVertex(e,n,`lean_right`)):(m(56),t.addVertex(e,n,`trapezoid`));break;case 59:o++,n=p(),r[o]===56?(o++,t.addVertex(e,n,`lean_left`)):(m(57),t.addVertex(e,n,`inv_trapezoid`));break;default:t.addVertex(e)}return e},y=()=>{let e=v();return r[o]===34&&(o++,t.setClass(e,d())),e},b=()=>{let e=[y()];for(s=void 0;;){let n=r[o]===7?_():void 0;if(r[o]!==75)return s=n,e;do o++;while(r[o]===75);if(r[o]!==36)return n!==void 0&&c(`'AMP'`),e;o++,r[o]!==75&&c(`'SPACE'`);do o++;while(r[o]===75);let i=y();n!==void 0&&t.addVertex(e[e.length-1],void 0,void 0,void 0,void 0,void 0,void 0,n),e.push(i)}},x=()=>{let e;if(r[o]===31&&(e=i[o++]),r[o]===40){let n=t.destructLink(i[o++]);return e!==void 0&&(n.id=e),r[o]===67&&(o++,n.text=p(),m(67),r[o]===75&&o++),n}if(r[o]===41){let n=i[o++],r=h(),a=l(40,`'EDGE_TEXT'`),s=t.destructLink(a,n);return s.text=r,e!==void 0&&(s.id=e),s}return c(`'LINK', 'START_LINK'`)},S=e=>{let n=b();s!==void 0&&t.addVertex(n[n.length-1],void 0,void 0,void 0,void 0,void 0,void 0,s);let i=n;for(;;){let a=r[o];if(a!==40&&a!==41&&a!==31)return i;let c=x(),l=b();s!==void 0&&t.addVertex(l[l.length-1],void 0,void 0,void 0,void 0,void 0,void 0,s),t.addLink(n,l,c),e&&(i=l.concat(i)),n=l}},C=()=>{je[r[o]]===0&&c(`'NODE_STRING', 'NUM', 'COLON', 'BRKT'`);let e=i[o++];for(;je[r[o]]===1;)e+=i[o++];return e},w=()=>{let e=[C()];for(;r[o]===38;)o++,e.push(C());return e},T=()=>{o++,l(75);let e;if(r[o]===13)e=[i[o++]];else for(e=[l(32,`'DEFAULT'`)];r[o]===38;)o++,e.push(l(32));if(l(75),r[o]!==15){t.updateLink(e,w());return}o++,l(75);let n=f();if(r[o]===75){o++;let r=w();t.updateLinkInterpolate(e,n),t.updateLink(e,r)}else t.updateLinkInterpolate(e,n)},E=(e,n)=>{if(r[o]!==75){t.setLink(e,n);return}if(o++,r[o]===23){t.setLink(e,n,i[o++]);return}let a=l(11,`'LINK_TARGET'`);r[o]===75?(o++,t.setLink(e,n,l(23))):t.setLink(e,n),t.setTooltip(e,a)},D=()=>{let e=i[o++];switch(r[o]){case 8:{let n=i[o++],a=r[o]===9,s=a?i[o++]:void 0,c;r[o]===75&&(o++,c=l(11)),a?t.setClickEvent(e,n,s):t.setClickEvent(e,n),c!==void 0&&t.setTooltip(e,c);return}case 18:o++,E(e,l(11));return;case 11:E(e,i[o++]);return;default:{let n=f();if(r[o]===75){o++;let r=l(11);t.setClickEvent(e,n),t.setTooltip(e,r)}else t.setClickEvent(e,n)}}},O=()=>{o++;let e=r[o];if(e===74||e===37||e===76)return o++,{id:void 0,title:void 0,list:[],collect:!1};l(75,`'SEMI', 'NEWLINE', 'EOF'`);let t=g(),n=t;return r[o]===71&&(o++,n=p(),m(70)),e=r[o],e!==74&&e!==37&&e!==76&&c(`'SEMI', 'NEWLINE', 'EOF', 'SQS'`),o++,{id:t,title:n,list:[],collect:!1}},k=e=>{let n=r[o];switch(n){case 12:{o++,l(75);let e=d();return l(75),t.addVertex(e,void 0,void 0,w()),u(),Ne}case 14:return T(),u(),Ne;case 16:{o++,l(75);let e=d();return l(75),t.addClass(e,w()),u(),Ne}case 17:{o++,l(75);let e=d();return l(75),t.setClass(e,d()),u(),Ne}case 19:return D(),u(),Ne;case 26:case 27:case 28:case 29:case 30:return o++,{stmt:`dir`,value:Ie[n-26]};case 2:{o++;let e=l(3).trim();return t.setAccTitle(e),e}case 4:{o++;let e=l(5).trim();return t.setAccDescription(e),e}case 6:{let e=i[o++].trim();return t.setAccDescription(e),e}default:{Q[n]===0&&c(Le);let t=S(e);return u(),t}}},ee=()=>{let e=[],n=[],a=!1;for(;;){let s=r[o];if(s===0)break;if(s===22){let r=e.pop();if(r===void 0)break;o++;let i=t.addSubGraph(r.id,n,r.title);n=r.list,a=r.collect,a&&n.push(i)}else if(s===37||s===74||s===75||s===76)a&&n.push(i[o]),o++;else if(s===21){let t=O();t.list=n,t.collect=a,e.push(t),n=[],a=!0}else{let e=k(a);a&&(!Array.isArray(e)||e.length>0)&&n.push(e)}}e.length>0&&c(`'end'`)};for(;r[o]===75||r[o]===74;)o++;if(l(20,`'SPACE', 'NEWLINE'`),r[o]===24)o++,t.setDirection(`TB`);else{let e=l(25,`'NODIR'`),n=r[o];if(n===75){do o++;while(r[o]===75);n=r[o],n!==74&&c(`'NEWLINE', 'SPACE'`)}else n!==37&&n!==74&&c(`'SEMI', 'NEWLINE', 'SPACE'`);o++,t.setDirection(e)}ee(),r[o]!==0&&c(Le)}var Ie=[`TB`,`BT`,`RL`,`LR`,`TD`],Le=`'SEMI', 'NEWLINE', 'SPACE', 'EOF', 'subgraph', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'STYLE', 'LINKSTYLE', 'CLASSDEF', 'CLASS', 'CLICK', 'NODE_STRING'`;function Re(e){if(e.img)return`imageSquare`;if(e.icon)return e.form===`circle`?`iconCircle`:e.form===`square`?`iconSquare`:e.form===`rounded`?`iconRounded`:`icon`;switch(e.type){case`square`:case void 0:return`squareRect`;case`round`:return`roundedRect`;default:return e.type}}function ze(e){switch(e){case`arrow_point`:case`arrow_circle`:case`arrow_cross`:return[`none`,e];case`double_arrow_point`:case`double_arrow_circle`:case`double_arrow_cross`:{let t=e.replace(`double_`,``);return[t,t]}}return[`none`,`arrow_point`]}function Be(e,t){let n=[],r=[],i=e.subgraphs,a=t=>{let n=[];for(let r of t){let t=e.classes.get(r);if(t!==void 0){for(let e of t.styles)n.push(e.trim());for(let e of t.textStyles)n.push(e.trim())}}return n},o=new Map;for(let t of i)for(let n of t.nodes)e.subgraph(n)&&o.set(n,t.id);let s=new Map,c=new Map;for(let e of i){let t=o.get(e.id);if(t===void 0)continue;let n=c.get(t);n?n.push(e.id):c.set(t,[e.id])}let l=0;for(let e of i){if(o.has(e.id))continue;let t=[e.id];for(;t.length>0;){let e=t.pop();if(s.has(e))continue;s.set(e,l++);let n=c.get(e);if(n)for(let e=n.length-1;e>=0;e--)t.push(n[e])}}let u=t=>e.subgraph(t)?.metadata?.view===`collapsed`,d=!1;for(let e of i)e.metadata?.view===`collapsed`&&(d=!0);let f=new Map,p=e=>{let t=[],n=new Set,r=e;for(;r!==void 0&&!f.has(r)&&!n.has(r);)n.add(r),t.push(r),r=o.get(r);let i=r===void 0?void 0:f.get(r);for(let e=t.length-1;e>=0;e--)i===void 0&&u(t[e])&&(i=t[e]),f.set(t[e],i);return i},m=new Set,h=new Map;for(let e of d?i:[]){let t=p(e.id);if(t!==void 0){e.id!==t&&(m.add(e.id),h.set(e.id,t));for(let n of e.nodes)n!==t&&(m.add(n),h.set(n,t))}}let g=new Map,_=new Set;for(let e=i.length-1;e>=0;e--){let t=i[e];if(!m.has(t.id)){t.nodes.length>0&&_.add(t.id);for(let e of t.nodes)g.set(e,t.id)}}let v=new Map;for(let e=i.length-1;e>=0;e--){let t=i[e];if(m.has(t.id))continue;let r=t.metadata?.view===`collapsed`,o={id:t.id,label:t.title,labelType:t.labelType,parentId:g.get(t.id),cssStyles:[],cssCompiledStyles:a(t.classes),cssClasses:t.classes.join(` `),shape:r?`collapsedGroup`:`rect`,dir:t.dir,isGroup:!r,colorIndex:s.get(t.id)};r||(o.metadata=t.metadata),n.push(o),v.set(t.id,o)}for(let t of e.nodes.values()){if(m.has(t.id))continue;let r=v.get(t.id);if(r){r.cssStyles=t.styles,r.cssCompiledStyles=a(t.classes),r.cssClasses=t.classes.join(` `);continue}let i=_.has(t.id),o={id:t.id,label:t.text,labelType:t.labelType,parentId:g.get(t.id),cssStyles:t.styles,cssCompiledStyles:a([`default`,`node`,...t.classes]),cssClasses:`default `+t.classes.join(` `),dir:t.dir,link:t.link,linkTarget:t.linkTarget,tooltip:e.tooltips.get(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint,isGroup:i,shape:i?`rect`:Re(t)};n.push(o)}return e.edges.forEach((n,i)=>{let o=h.get(n.start)??n.start,s=h.get(n.end)??n.end;if(o===s&&(h.has(n.start)||h.has(n.end)))return;let[c,l]=ze(n.type),u=[...e.defaultEdgeStyle??[]];n.style&&u.push(...n.style);let d=n.stroke===`invisible`||n.type===`arrow_open`;r.push({id:n.id||`L_${o}_${s}_${i}`,isUserDefinedId:n.isUserDefinedId,start:o,end:s,type:n.type??`normal`,label:n.text,labelType:n.labelType,thickness:n.stroke,pattern:n.stroke,minlen:n.length,classes:n.stroke===`invisible`?``:`edge-thickness-normal edge-pattern-solid flowchart-link`,arrowTypeStart:d?`none`:c,arrowTypeEnd:d?`none`:l,cssCompiledStyles:a(n.classes),style:u,animate:n.animate,animation:n.animation,curve:n.interpolate||e.defaultInterpolate||t})}),{nodes:n,edges:r}}var Ve=40,He=16,Ue=48,We=20,Ge=26,Ke=` fill="var(--_s)" stroke="var(--_b)"`,qe=` stroke="var(--_b)"`;function Je(e,t,n){let r=e[t];return typeof r==`number`&&r>0?Math.min(r,2e3):n}function $(e,t){return e!==void 0&&e>0&&e<=4e3?e:t}function Ye(e,t,n,r){let i=i=>g(n,a=>Xe(e,t,n,r,i,a));return h(e.direction)?v(n,i):i(!1)}function Xe(h,g,v,A,de,j){let M=j?12:We,N=A?g[A.type]:void 0,P=typeof N==`object`&&N&&!Array.isArray(N)?N:g.flowchart??{},F=Be(h,typeof P.curve==`string`?P.curve:void 0);A?.prepare(F);let I=v.fontSize??16,me=Math.round(I*.875),L=v.measurer??fe(v.fontFamily),he=Math.min(Je(P,`wrappingWidth`,200),A&&j?100:1/0),R=v.padding??8,z=v.icons,B=new Map,V=[],H=[];F.nodes.forEach((e,t)=>B.set(e.id,t));for(let e of F.nodes){let t=r(e.cssStyles.length>0?e.cssCompiledStyles.concat(e.cssStyles):e.cssCompiledStyles),n=+!!t.bold|(t.italic?2:0),i=e.labelType===`markdown`,a=t.fontSize??I,s,c;if(e.isGroup){let r=o(e.label,i,L,a,A&&j?Math.max(80,_(v)/2):4e3,n);s={node:e,style:t,label:r,shape:`group`,w:0,h:0,dy:0,loops:0},c=E(0,0),c.isGroup=!0,c.dir=e.dir?T(e.dir):void 0,c.padX=M,c.padTop=r.height>0?r.height+16:We,c.padBottom=M,c.minW=r.width+2*M-12}else{let r=ue(e.shape),l=e.img||e.icon||ce(r)?e.label:void 0,u=o(l,i,L,a,he,n),d,f,p=0;if(e.img||e.icon){let t=e.img?80:48,n=$(e.assetWidth,t),r=$(e.assetHeight,t);d=Math.max(n,u.width+8),f=r+(u.height>0?u.height+6:0),p=e.pos===`t`?-r/2:r/2,u.height===0&&(p=0)}else{let e=ae(r,u.width,u.height);d=e.w,f=e.h,p=e.dy}s={node:e,style:t,label:u,shape:r,w:d,h:f,dy:p,loops:0},c=E(d,f)}c.seq=V.length,V.push(s),H.push(c)}F.nodes.forEach((e,t)=>{H[t].parent=e.parentId===void 0?-1:B.get(e.parentId)??-1});let U=de?`TB`:T(h.direction),ge=e=>{let t;for(let n=H[e].parent,r=0;n>=0&&t===void 0&&r<1e4;n=H[n].parent,r++)t=H[n].dir;return t??=U,t===`LR`||t===`RL`};V.forEach((e,t)=>{e.node.isGroup?H[t].span=1/0:!e.node.img&&!e.node.icon&&(H[t].span=se(e.shape,e.w,e.h,ge(t)))});let W=[],_e=[],G=[];for(let e of F.edges){let t=B.get(e.start),n=B.get(e.end);if(t===void 0||n===void 0)continue;let r=o(e.label,e.labelType===`markdown`,L,me,he);t===n&&(V[t].loops++,ge(t)?H[t].h+=2*(Ge+(r.height>0?r.height+8:0)):H[t].w+=2*(Ge+(r.width>0?r.width+12:0))),G.push(e),_e.push(r),W.push({src:t,dst:n,minlen:e.minlen??1,labelW:r.width>0?r.width+12:0,labelH:r.height>0?r.height+4:0,route:[],labelX:0,labelY:0})}let ve={nodeSep:Je(P,`nodeSpacing`,Ve)*(j?.5:1),edgeSep:He,rankSep:Je(P,`rankSpacing`,Ue)*(j?.75:1),portSep:20,tracks:typeof P.curve==`string`&&/^step/.test(P.curve),straight:P.curve===`linear`,headRoom:l(`arrow_point`)},ye=A?A.layout(H,W,U,ve,j):C(H,W,U,ve),K=D(h.title,L,I,j?_(v):4e3),be=K.height>0?K.height+12:0,q=Math.max(ye.width,K.width),xe=R+(q-ye.width)/2,Se=R+be;w(H,W,xe,Se);let J=Math.ceil(q+2*R),Ce=Math.ceil(ye.height+be+2*R),Y=[],we=new Map,Te=!1;for(let e of H)e.isGroup&&(Te=!0);if(Te)for(let e of W)x(we,e.route);let X=``,Ee=``,De=``;for(let n=0;n<V.length;n++){let r=V[n],o=H[n],l=r.node,u=o.x,d=o.y,f=e(l.cssClasses.replace(/^default\s?/,``)),p=a(l.id);if(o.isGroup&&A?.drawGroup&&o.parent<0){X+=A.drawGroup(o,r.label,r.style,f,p,U,z);continue}if(o.isGroup){let e=b(o,r.label.width,we,M),a=d-o.h/2+8+r.label.height/2,c=` class="pele-cluster-label" fill="var(--_m)"${r.style.text}`,l=y(o,r.label.width,e,we);l&&(Ee+=S(r.label,e,a,c,p,H,n,z)),X+=`<g class="pele-cluster${f}" data-id="${p}"><rect x="${t(u-o.w/2)}" y="${t(d-o.h/2)}" width="${t(o.w)}" height="${t(o.h)}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${i(r.style.shape)}/>`+(l?``:s(r.label,e,a,c,z))+`</g>`;continue}let m=r.w,h=r.h,g;if(l.img){let e=$(l.assetWidth,80),n=$(l.assetHeight,80),i=r.label.height>0?l.pos===`t`?h/2-n:-h/2:-n/2,a=ee(re(l.img),v);g=a===void 0?``:`<image href="${c(a)}" x="${t(-e/2)}" y="${t(i)}" width="${t(e)}" height="${t(n)}" preserveAspectRatio="${l.constraint===`on`?`xMidYMid meet`:`none`}"/>`}else if(l.icon){let e=$(l.assetHeight,48),n=r.label.height>0?l.pos===`t`?h/2-e:-h/2:-e/2,i=l.shape===`icon`?``:l.shape===`iconCircle`?`<circle cy="${t(n+e/2)}" r="${t(e/2)}"${Ke}${r.style.shape}/>`:`<rect x="${t(-e/2)}" y="${t(n)}" width="${t(e)}" height="${t(e)}" rx="${l.shape===`iconRounded`?8:0}"${Ke}${r.style.shape}/>`,o=e*.6;g=i+`<svg class="pele-icon" data-icon="${a(l.icon)}" x="${t(-o/2)}" y="${t(n+(e-o)/2)}" width="${t(o)}" height="${t(o)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${z?.(l.icon)??``}</svg>`}else g=ie(r.shape,m,h,Ke+r.style.shape,qe+r.style.line);let _=s(r.label,0,r.dy,` class="pele-label"${r.style.text}`,z);if(/ internal-link(?: |$)/.test(f+` `)&&l.label&&v.links!==!1){let e=pe(l.label),t=k(ne(e),v)!==void 0,n=c(e);_=`<a class="internal-link"${t?` href="${n}"${te(v)}`:``} data-href="${n}">${_}</a>`,Y.push({id:l.id,href:e,internal:!0})}let x=g+_;l.tooltip&&(x=`<title>${a(l.tooltip)}</title>`+x),l.link&&(x=O(x,l.link,l.id,Y,v,l.linkTarget?` target="${c(l.linkTarget)}"`:``)),De+=`<g class="pele-node pele-shape-${r.shape}${f}" data-id="${p}" transform="translate(${t(u)},${t(d)})">${x}</g>`}let Z=u();for(let e=0;e<W.length;e++){let t=W[e];t.src===t.dst||G[e].thickness===`invisible`||t.route.length<6||(Z.add(t.src,oe(t.route,0,H[t.src]),G[e].arrowTypeStart),Z.add(t.dst,oe(t.route,t.route.length-3,H[t.dst]),G[e].arrowTypeEnd))}let Oe=``,Q=``,ke=new Map;for(let t=0;t<W.length;t++){let n=W[t],i=G[t],o=_e[t],s=i.style.length>0||i.cssCompiledStyles.length>0?r(i.cssCompiledStyles.concat(i.style)):void 0;if(i.thickness!==`invisible`){let t=i.arrowTypeStart,r=i.arrowTypeEnd,o;if(n.src===n.dst){let e=V[n.src],t=ke.get(n.src)??0;ke.set(n.src,t+1),o=m(H[n.src],e.w,e.h,t,ge(n.src),Ge,l(r),n)}else{let e=n.route.slice(),a=Z.of(n.src,oe(e,0,H[n.src])),s=Z.of(n.dst,oe(e,e.length-3,H[n.dst]));le(e,0,V[n.src],H[n.src]),le(e,e.length-3,V[n.dst],H[n.dst]),o=f(e,i.curve,l(t),l(r),a,s)}let u=s?.stroke&&i.thickness!==`invisible`?c(s.stroke):`var(--_l)`,d=``;i.thickness===`thick`?d+=` stroke-width="2.5"`:i.thickness===`dotted`&&(d+=` stroke-dasharray="3 4"`);let h=e(i.classes.replace(/edge-thickness-normal|edge-pattern-solid|flowchart-link/g,``));Oe+=`<g class="pele-edge${h}" data-id="${a(i.id)}"${s?.line??``}><path d="${o.d}"${d}/>`+p(t,o.sx,o.sy,o.sdx,o.sdy,u)+p(r,o.ex,o.ey,o.edx,o.edy,u)+`</g>`}if(o.width>0){let e=n.labelX,t=n.labelY;Q+=d(i.id,o,e,t,s?.text??``,z)}}return{svg:n(A?.type??`flowchart`,J,Ce,I,v,h,s(K,J/2,R+K.height/2,` class="pele-title" font-weight="var(--_tw)"`)+(X?`<g class="pele-clusters">${X}</g>`:``)+(Oe?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${Oe}</g>`:``)+(Ee?`<g class="pele-cluster-titles">${Ee}</g>`:``)+(Q?`<g class="pele-edge-labels" font-size="${me}">${Q}</g>`:``)+`<g class="pele-nodes">${De}</g>`),width:J,height:Ce,links:Y}}var Ze={type:`flowchart`,math:!0,parse(e,t,n,r,i){let a=new z({inheritDir:(t.flowchart??{}).inheritDir===!0,maxEdges:i.maxEdges});return n&&(a.title=n),Fe(e,a),a},render:Ye};export{Ye as n,Ze as t};
9
- //# sourceMappingURL=O65XPQGZ-BeKB0m-p.js.map
9
+ //# sourceMappingURL=O65XPQGZ-BEfVfDlS.js.map
@@ -1,3 +1,3 @@
1
- import{d as e,f as t,g as n,o as r,r as i,t as a}from"./77XECAW3-CjIq7P_x.js";import{s as o}from"./N3JZAHOW-2wC96xvZ.js";import{t as s}from"./DKTLEL5E-DciMwFJ1.js";import{i as c,n as l,r as u,t as d}from"./WEVWDWVA-oFS2VG1Y.js";import{n as f,t as p}from"./5GK6JWQ2-BVM9871F.js";import{PeleError as m,_ as h,i as g,r as _,u as v}from"./lazy-D6W01WxZ.js";var y=class{type=`timeline`;title;accTitle;accDescr;direction=`LR`;sections=[];periods=[];currentSection=``;getCommonDb(){return this}setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
1
+ import{d as e,f as t,g as n,o as r,r as i,t as a}from"./77XECAW3-TL2w7pHK.js";import{s as o}from"./N3JZAHOW-C6sq5aqx.js";import{t as s}from"./DKTLEL5E-DciMwFJ1.js";import{i as c,n as l,r as u,t as d}from"./WEVWDWVA-DS9YO9IT.js";import{n as f,t as p}from"./5GK6JWQ2-BSIhKcw-.js";import{PeleError as m,_ as h,i as g,r as _,u as v}from"./lazy-DyNR0b0B.js";var y=class{type=`timeline`;title;accTitle;accDescr;direction=`LR`;sections=[];periods=[];currentSection=``;getCommonDb(){return this}setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
2
2
  `)}setDirection(e){this.direction=e}addSection(e){this.currentSection=e,this.sections.push(e)}addTask(e,t,n){this.periods.push({text:e,events:n?[n]:[],section:this.currentSection,sectionIndex:this.sections.length-1})}addEvent(e){let t=this.periods[this.periods.length-1];if(!t)throw new m(`An event needs a time period before it.`,`semantic`,{type:`timeline`});t.events.push(e)}},b=[`$end`,`EOF`,`INVALID`,`NEWLINE`,`timeline`,`timeline_lr`,`timeline_td`,`title`,`acc_title`,`acc_title_value`,`acc_descr`,`acc_descr_value`,`acc_descr_multiline_value`,`section`,`period`,`event`];function x(e){let t=e.length,n=[],r=[],i=[],a={types:n,texts:r,starts:i},o=0,s=(t,a)=>{n.push(t),r.push(e.slice(o,a)),i.push(o),o=a};for(;o=u(e,o),!(o>=t);){let n=e.charCodeAt(o),r=o+1;if(n===10){for(;e.charCodeAt(r)===10;)r++;s(3,r);continue}if(c(e,o,`timeline`)){for(r=o+8;e.charCodeAt(r)===32||e.charCodeAt(r)===9;)r++;let t=c(e,r,`lr`);if(r>o+8&&(t||c(e,r,`td`))&&!g(e.charCodeAt(r+2))){s(t?5:6,r+2);continue}if(!g(e.charCodeAt(o+8))){s(4,o+8);continue}}if(c(e,o,`title`)&&_(e.charCodeAt(o+5))&&o+6<t&&e.charCodeAt(o+6)!==10){s(7,l(e,o+6));continue}if(r=d(e,o,a,8),r!==o){o=r;continue}if(c(e,o,`section`)&&_(e.charCodeAt(o+7))){for(r=o+8;r<t&&e.charCodeAt(r)!==58&&e.charCodeAt(r)!==10;)r++;if(r>o+8){s(13,r);continue}}if(n!==58){r=o+1;for(let n=e.charCodeAt(r);r<t&&n!==35&&n!==58&&n!==10;n=e.charCodeAt(++r));s(14,r);continue}if(_(e.charCodeAt(o+1))){for(r=o+2;r<t;r++){let t=e.charCodeAt(r);if(t===10||t===58&&_(e.charCodeAt(r+1)))break}if(r>o+2){s(15,r);continue}}s(2,o+1)}return(i.length===0||i[i.length-1]<t)&&s(1,t),s(0,t),a}var S=`'EOF', 'SPACE', 'NEWLINE', 'title', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'section', 'period', 'event'`;function C(e,t){let{types:n,texts:r,starts:i}=x(e),a=(t,r)=>{let a=n[t]===0?`1`:b[n[t]];throw v(`timeline`,e,i[t],`Expecting ${r}, got '${a}'`)},o=n[0];o!==4&&o!==5&&o!==6&&a(0,`'timeline', 'timeline_lr', 'timeline_td'`),o!==4&&t.setDirection(o===5?`LR`:`TD`);for(let e=1;;e++){let i=r[e];switch(n[e]){case 3:break;case 7:t.getCommonDb().setDiagramTitle(i.substring(6));break;case 8:t.getCommonDb().setAccTitle(r[++e].trim());break;case 10:t.getCommonDb().setAccDescription(r[++e].trim());break;case 12:t.getCommonDb().setAccDescription(i.trim());break;case 13:t.addSection(i.substring(8));break;case 14:t.addTask(i,0,``);break;case 15:t.addEvent(i.substring(2));break;case 1:return;default:a(e,S)}}}var w=12,ee=8,te=152,ne=216,re=264,T=20,E=20,D=14,O=8,k=8,A=12,ie=` fill="var(--_bg)"`,ae=` fill="none" stroke="var(--_b)"`;function j(e,n,i,a,o){return`<rect x="${t(e)}" y="${t(n)}" width="${t(i)}" height="${t(a)}"${r(o)}/>`}function M(e,t,n){return e.direction===`TD`?N(e,t,n,!0):s(n,r=>N(e,t,n,r))}function N(r,s,c,l){let u=c.fontSize??16,d=Math.round(u*.875),m=c.measurer??h(c.fontFamily),g=c.padding??8,_=s.timeline?.disableMulticolor!==!0,v=r.periods,y=r.sections.length>0,b=r.sections.map((e,t)=>({section:t,periods:[]})),x={section:-1,periods:[]};v.forEach((e,t)=>(b[e.sectionIndex]??x).periods.push(t)),x.periods.length>0&&b.unshift(x);let S=l&&c.maxWidth!==void 0&&c.maxWidth>0?c.maxWidth-2*g:1/0,C=E+D*2+4*w,M=Math.min(te,Math.max(80,Math.round((S-C)*.38))),N=Math.min(re,Math.max(110,S-C-M)),P=M,F=()=>l?N:P,I=v.map(e=>f(e.text,m,u,P)),L=v.map(e=>e.events.map(e=>f(e,m,d,F()))),R=0;for(let e of I)R=Math.max(R,e.width);if(!l)for(let e of L)for(let t of e)R=Math.max(R,t.width);let z=R>P;if(l)for(let e of L)for(let t of e)z||=t.width>N;z&&(P=Math.min(Math.max(Math.ceil(R),M),S===1/0?ne:M),I=v.map(e=>p(e.text,m,u,P)),L=v.map(e=>e.events.map(e=>p(e,m,d,F()))));let oe=Math.round(u*1.5),B=P+2*w,V=F()+2*w,H=e=>Math.max(e.height,oe)+2*ee,U=e=>Math.max(e.height,Math.round(d*1.5))+2*ee,se=(t,n)=>t.section>=0?e(t.section):y?`var(--_m)`:e(_?n:0),ce=!1;for(let e of L)e.length>0&&(ce=!0);let W=0;for(let e of b)W+=Math.max(e.periods.length,1);let G=B+T,K=v.length>0,q=l?B+(ce?E+D*2+V:K?E+A:0):W>0?W*G-T+(K?A+8:0):0,J=p(r.title,m,u,Math.max(q,320),1),le=J.height>0?J.height+16:0,ue=Math.max(q,J.width),Y=g+(ue-q)/2,X=g+le,de=(e,t)=>p(r.sections[e.section],m,u,t-2*w,1),fe=(t,n,r,i,o,s)=>j(r,i,o,s,` fill="${e(t.section)}"`)+a(n,r+o/2,i+s/2,` font-weight="var(--_hw)"`+ie),pe=(e,t,n,r,i)=>j(n,r,B,i,` fill="${t}"`)+a(I[e],n+B/2,r+i/2,ie),me=(e,t,n,r,i)=>`<g class="pele-node pele-event">`+j(n,r,V,i,` fill="${t}" fill-opacity="0.16"`)+a(e,n+V/2,r+i/2,` font-size="${d}"`)+`</g>`,he=(e,n,r)=>`<circle class="pele-dot" cx="${t(e)}" cy="${t(n)}" r="4" fill="${r}" stroke="var(--_bg)" stroke-width="2"/>`,ge=e=>e.section>=0?`<g class="pele-cluster pele-section" data-id="${i(r.sections[e.section].trim())}">`:``,_e=e=>`<g class="pele-node pele-period" data-id="${i(v[e].text.trim())}">`,Z=``,Q;if(l){let e=Y+B+E,n=e+D,r=n+D,i=X;for(let a of b){if(Z+=ge(a),a.section>=0){let e=de(a,q),t=H(e);Z+=fe(a,e,Y,i,q,t),i+=t+k+4}for(let o of a.periods){let s=se(a,o),c=H(I[o]),l=L[o].length>0?U(L[o][0]):c,u=i+Math.max(c,l)/2,d=`M${t(Y+B)},${t(u)}H${t(e)}`,f=``,p=u-l/2,m=u;for(let e of L[o]){let i=U(e);m=p+i/2,d+=`M${t(n)},${t(m)}H${t(r)}`,f+=me(e,s,r,p,i),p+=i+O}f&&(d+=`M${t(e)},${t(u)}H${t(n)}V${t(m)}`),Z+=_e(o)+pe(o,s,Y,u-c/2,c)+`<path class="pele-edge" d="${d}"${ae}/>`+he(e,u,s)+f+`</g>`,i=Math.max(u+c/2,p-O)+T}a.periods.length===0&&(i+=T-k-4),a.section>=0&&(Z+=`</g>`)}if(b.length>0&&(i-=T),K){let n=i+A+8;Z=`<path class="pele-axis" d="M${t(e)},${t(X)}V${t(n-8+1)}" fill="none" stroke="var(--_l)"/>`+o(`arrow_point`,e,n,0,1,`var(--_l)`)+Z,i=n}Q=i+g}else{let e=0,n=b.map(t=>{if(t.section<0)return;let n=de(t,Math.max(t.periods.length,1)*G-T);return e=Math.max(e,H(n)),n}),r=0;for(let e of I)r=Math.max(r,H(e));let i=X+(y?e+k:0),a=i+r+(r>0?E:0),s=a+E,c=K?a+A:X+e,l=0;if(b.forEach((o,u)=>{let d=Math.max(o.periods.length,1),f=Y+l*G;Z+=ge(o);let p=n[u];p&&(Z+=fe(o,p,f,X,d*G-T,e)),o.periods.forEach((e,n)=>{let l=se(o,e),u=f+n*G,d=u+B/2,p=`M${t(d)},${t(i+r)}V${t(L[e].length>0?s:a)}`,m=``,h=s;for(let n of L[e]){let e=U(n);h>s&&(p+=`M${t(d)},${t(h-O)}V${t(h)}`),m+=me(n,l,u,h,e),h+=e+O}c=Math.max(c,h-O),Z+=_e(e)+pe(e,l,u,i,r)+`<path class="pele-edge" d="${p}"${ae}/>`+he(d,a,l)+m+`</g>`}),o.section>=0&&(Z+=`</g>`),l+=d}),K){let e=Y+q;Z=`<path class="pele-axis" d="M${t(Y)},${t(a)}H${t(e-8+1)}" fill="none" stroke="var(--_l)"/>`+o(`arrow_point`,e,a,1,0,`var(--_l)`)+Z}Q=c+g}let $=Math.ceil(ue+2*g),ve=Math.ceil(Math.max(Q,g*2)),ye=a(J,$/2,g+J.height/2,` class="pele-title" font-weight="var(--_tw)"`)+Z;return{svg:n(`timeline`,$,ve,u,c,r,ye),width:$,height:ve,links:[]}}var P={type:`timeline`,parse(e,t,n){let r=new y;return r.title=n,C(e,r),r},render:M};export{P as timeline};
3
- //# sourceMappingURL=O7XIQ6OM-1wrcdCMc.js.map
3
+ //# sourceMappingURL=O7XIQ6OM-BUiRjV87.js.map