ranui 0.2.1-alpha.1 → 0.2.1-alpha.3

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 (310) hide show
  1. package/dist/abnfDiagram-VRR7QNED-CH_pIv_l.cjs +1 -0
  2. package/dist/abnfDiagram-VRR7QNED-CTsqwzwi.js +95 -0
  3. package/dist/arc-D25LhgTs.cjs +1 -0
  4. package/dist/arc-DRPGof21.js +82 -0
  5. package/dist/architecture-TIHT7OUA-BbBd15_y.cjs +1 -0
  6. package/dist/architecture-TIHT7OUA-pbFO1xSx.js +5 -0
  7. package/dist/architectureDiagram-ZJ3FMSHR-8mjyXr-w.js +4279 -0
  8. package/dist/architectureDiagram-ZJ3FMSHR-D_jWFFZx.cjs +36 -0
  9. package/dist/array-By5736M5.js +7 -0
  10. package/dist/array-C3cbN3GY.cjs +1 -0
  11. package/dist/blockDiagram-677ZJIJ3-3F79MOSt.js +3321 -0
  12. package/dist/blockDiagram-677ZJIJ3-Cx35khWe.cjs +132 -0
  13. package/dist/builder.d.ts +2 -2
  14. package/dist/builder.js +39 -34
  15. package/dist/{builtin-D9djWkCE.js → builtin-BkM0LLof.js} +83 -76
  16. package/dist/button-D0zcnKnG.js +117 -0
  17. package/dist/button.js +1 -1
  18. package/dist/c4Diagram-LMCZKHZV-Cxn_gqu_.js +3064 -0
  19. package/dist/c4Diagram-LMCZKHZV-TRNb3Gvl.cjs +10 -0
  20. package/dist/{card-CqJa4Q_v.js → card-CygMndQS.js} +2 -2
  21. package/dist/card.js +1 -1
  22. package/dist/channel-C9WSNwcS.cjs +1 -0
  23. package/dist/channel-k5-UxdcV.js +5 -0
  24. package/dist/{checkbox-CThC9-vy.js → checkbox-D5om9aJO.js} +10 -10
  25. package/dist/checkbox.js +1 -1
  26. package/dist/chunk-2Q5K7J3B-CTMy5FII.cjs +1 -0
  27. package/dist/chunk-2Q5K7J3B-DlFVJRAn.js +15 -0
  28. package/dist/chunk-32BRIVSS-BXVdG_nV.cjs +1 -0
  29. package/dist/chunk-32BRIVSS-jAuAwMVV.js +68 -0
  30. package/dist/chunk-52WLFC77-BChUrU24.cjs +10 -0
  31. package/dist/chunk-52WLFC77-wpL7en7e.js +630 -0
  32. package/dist/chunk-5VM5RSS4-Cni2Ogq2.js +19 -0
  33. package/dist/chunk-5VM5RSS4-DudUFQ_Z.cjs +15 -0
  34. package/dist/chunk-7BUUIJ7U-9hiBbc7O.js +87 -0
  35. package/dist/chunk-7BUUIJ7U-DMv_UkjI.cjs +1 -0
  36. package/dist/chunk-C7G6YPKG-CA-DNpvI.js +71 -0
  37. package/dist/chunk-C7G6YPKG-CKEeW9TM.cjs +1 -0
  38. package/dist/chunk-EX3LRPZG-BCmf0iDq.js +2137 -0
  39. package/dist/chunk-EX3LRPZG-DbfbNdXo.cjs +231 -0
  40. package/dist/chunk-FWX5IMBZ-D11-gbhc.cjs +1 -0
  41. package/dist/chunk-FWX5IMBZ-DZ5VYvm5.js +60 -0
  42. package/dist/chunk-HOUHSVGY-BGB3dOvI.cjs +1 -0
  43. package/dist/chunk-HOUHSVGY-DRQcQeMT.js +268 -0
  44. package/dist/chunk-ICXQ74PX-BbT9JaEW.cjs +2 -0
  45. package/dist/chunk-ICXQ74PX-DR8rL-xF.js +1377 -0
  46. package/dist/chunk-JWPE2WC7-CGEmUMMZ.js +8 -0
  47. package/dist/chunk-JWPE2WC7-D8EnWK1B.cjs +1 -0
  48. package/dist/chunk-KEIR6QF5-B2Op7cFH.js +22155 -0
  49. package/dist/chunk-KEIR6QF5-C4fcHpY0.cjs +161 -0
  50. package/dist/chunk-MOJQB5TN-BC46HDyu.js +516 -0
  51. package/dist/chunk-MOJQB5TN-oOeq982_.cjs +88 -0
  52. package/dist/chunk-OGEWGWER-BV51ll2w.js +33 -0
  53. package/dist/chunk-OGEWGWER-DX8sW1dT.cjs +1 -0
  54. package/dist/chunk-PUDLZKDR-48YaqVoF.cjs +156 -0
  55. package/dist/chunk-PUDLZKDR-NdMR0Ft5.js +4282 -0
  56. package/dist/chunk-Q4XR5HBZ-3BHjjc9u.js +1709 -0
  57. package/dist/chunk-Q4XR5HBZ-aBnPq509.cjs +70 -0
  58. package/dist/chunk-RYQCIY6F-BER2T9t0.js +246 -0
  59. package/dist/chunk-RYQCIY6F-DVRzSnsI.cjs +1 -0
  60. package/dist/chunk-V7JOEXUC-Cr_hr02u.js +3467 -0
  61. package/dist/chunk-V7JOEXUC-DHizzTla.cjs +206 -0
  62. package/dist/chunk-VAUOI2AC-DfQf5L2_.cjs +1 -0
  63. package/dist/chunk-VAUOI2AC-izt0o4id.js +11 -0
  64. package/dist/chunk-VR4S4FIN-CJi5okl4.js +26 -0
  65. package/dist/chunk-VR4S4FIN-KiwnPF31.cjs +1 -0
  66. package/dist/chunk-WYO6CB5R-DDHkKowO.js +4535 -0
  67. package/dist/chunk-WYO6CB5R-u4mJNOcO.cjs +127 -0
  68. package/dist/chunk-XXDRQBXY-BB1i_53q.js +9 -0
  69. package/dist/chunk-XXDRQBXY-C8VGLZmt.cjs +1 -0
  70. package/dist/chunk-Y2CYZVJY-0JxdZxki.js +13 -0
  71. package/dist/chunk-Y2CYZVJY-DPaYLFFP.cjs +1 -0
  72. package/dist/chunk-ZGVPDNZ5-6uMbTJXy.js +3841 -0
  73. package/dist/chunk-ZGVPDNZ5-Cw5_HJba.cjs +62 -0
  74. package/dist/chunk-ZIRB5QZD-C7OH2FI2.js +1280 -0
  75. package/dist/chunk-ZIRB5QZD-aLu-4ITN.cjs +32 -0
  76. package/dist/classDiagram-OUVF2IWQ-D6rqYIh0.cjs +1 -0
  77. package/dist/classDiagram-OUVF2IWQ-Df0ghim9.js +30 -0
  78. package/dist/classDiagram-v2-EOCWNBFH-D6rqYIh0.cjs +1 -0
  79. package/dist/classDiagram-v2-EOCWNBFH-Df0ghim9.js +30 -0
  80. package/dist/{colorpicker-XNxDRcQ-.js → colorpicker-qWnaTlYX.js} +8 -8
  81. package/dist/colorpicker.js +1 -1
  82. package/dist/components/glass/index.d.ts +52 -0
  83. package/dist/components/icon/core-icons.d.ts +13 -0
  84. package/dist/components/icon/index.d.ts +1 -1
  85. package/dist/components/mermaid/index.d.ts +52 -0
  86. package/dist/components/modal/index.d.ts +9 -0
  87. package/dist/content-Rry-U6ir.js +39 -0
  88. package/dist/content.js +5 -0
  89. package/dist/cose-bilkent-JH36ORCC-BUxFTdey.cjs +1 -0
  90. package/dist/cose-bilkent-JH36ORCC-DTwvJlGw.js +2353 -0
  91. package/dist/cynefin-VYW2F7L2-6c1GOGXW.cjs +1 -0
  92. package/dist/cynefin-VYW2F7L2-ALQKF7N6.js +5 -0
  93. package/dist/cynefinDiagram-TSTJHNR4-Bjt4QTVh.js +355 -0
  94. package/dist/cynefinDiagram-TSTJHNR4-ISDORSxO.cjs +62 -0
  95. package/dist/cytoscape.esm-CFq1_DTa.js +18906 -0
  96. package/dist/cytoscape.esm-pygMw4dR.cjs +321 -0
  97. package/dist/dagre-D1-W1tt6.cjs +1 -0
  98. package/dist/dagre-D8GLTwuf.js +1578 -0
  99. package/dist/dagre-VKFMJZFB-DXI69qAN.cjs +4 -0
  100. package/dist/dagre-VKFMJZFB-Dfku86Az.js +341 -0
  101. package/dist/defaultLocale-0M_kMcEH.js +184 -0
  102. package/dist/defaultLocale-DSqtvhxg.cjs +1 -0
  103. package/dist/diagram-FQU43EPY-BAiRt5eL.cjs +3 -0
  104. package/dist/diagram-FQU43EPY-BvQ5jmVn.js +452 -0
  105. package/dist/diagram-G47NLZAW-DGnmEa8u.cjs +24 -0
  106. package/dist/diagram-G47NLZAW-DT2BBA0T.js +498 -0
  107. package/dist/diagram-NH7WQ7WH-DxgkStA3.cjs +24 -0
  108. package/dist/diagram-NH7WQ7WH-W7jg4Vh8.js +135 -0
  109. package/dist/diagram-OA4YK3LP-DkvFII73.cjs +30 -0
  110. package/dist/diagram-OA4YK3LP-jU--aqQl.js +317 -0
  111. package/dist/diagram-WEI45ONY-C_Qhf4ny.js +215 -0
  112. package/dist/diagram-WEI45ONY-XvzRFmmY.cjs +41 -0
  113. package/dist/dist-C0Fwsvsq.js +70 -0
  114. package/dist/dist-C20XxSsP.cjs +1 -0
  115. package/dist/{dropdown-CCvsambb.js → dropdown-DzdAR1nI.js} +4 -4
  116. package/dist/dropdown.js +1 -1
  117. package/dist/ebnfDiagram-CCIWWBDH-Cu8bAlhC.cjs +1 -0
  118. package/dist/ebnfDiagram-CCIWWBDH-Gnr20Oc1.js +112 -0
  119. package/dist/erDiagram-Q63AITRT-CxLSa9Yv.cjs +85 -0
  120. package/dist/erDiagram-Q63AITRT-D0Hh9b-W.js +1822 -0
  121. package/dist/eventmodeling-45OFAUF4-C6VXxUn1.cjs +1 -0
  122. package/dist/eventmodeling-45OFAUF4-DMpGs2yI.js +5 -0
  123. package/dist/factory-BkvRcCOx.js +482 -0
  124. package/dist/flowDiagram-23GEKE2U-B6gASEYG.cjs +1 -0
  125. package/dist/flowDiagram-23GEKE2U-BY4wE2vw.js +19 -0
  126. package/dist/{form-Ceq3uJzz.js → form-CUJpeQ7Q.js} +5 -5
  127. package/dist/form.js +1 -1
  128. package/dist/ganttDiagram-NO4QXBWP-B40Eabk0.js +3125 -0
  129. package/dist/ganttDiagram-NO4QXBWP-DZT79qJr.cjs +292 -0
  130. package/dist/gitGraph-TEB2WS4Q-BbtF3MDr.cjs +1 -0
  131. package/dist/gitGraph-TEB2WS4Q-D6Ru11Cs.js +5 -0
  132. package/dist/gitGraphDiagram-IHSO6WYX-BUJNSssA.js +754 -0
  133. package/dist/gitGraphDiagram-IHSO6WYX-DW06165m.cjs +106 -0
  134. package/dist/glass-Bj1Zf8Hy.js +115 -0
  135. package/dist/glass.js +5 -0
  136. package/dist/graphlib-CCKThIKP.js +1104 -0
  137. package/dist/graphlib-Du-578Js.cjs +1 -0
  138. package/dist/{icon-C_ENrJ3F.js → icon-CtlZJISZ.js} +77 -25
  139. package/dist/icon.js +1 -1
  140. package/dist/icons.js +1 -1
  141. package/dist/iife/button.iife.js +1 -1
  142. package/dist/iife/card.iife.js +1 -1
  143. package/dist/iife/checkbox.iife.js +1 -1
  144. package/dist/iife/colorpicker.iife.js +2 -2
  145. package/dist/iife/content.iife.js +1 -0
  146. package/dist/iife/dropdown.iife.js +1 -1
  147. package/dist/iife/form.iife.js +1 -1
  148. package/dist/iife/glass.iife.js +1 -0
  149. package/dist/iife/icon.iife.js +1 -1
  150. package/dist/iife/image.iife.js +1 -1
  151. package/dist/iife/input.iife.js +1 -1
  152. package/dist/iife/loading.iife.js +1 -1
  153. package/dist/iife/math.iife.js +14 -14
  154. package/dist/iife/mermaid.iife.js +3535 -0
  155. package/dist/iife/message.iife.js +1 -1
  156. package/dist/iife/modal.iife.js +1 -1
  157. package/dist/iife/player.iife.js +8 -8
  158. package/dist/iife/popover.iife.js +1 -1
  159. package/dist/iife/progress.iife.js +1 -1
  160. package/dist/iife/radar.iife.js +1 -1
  161. package/dist/iife/route.iife.js +1 -1
  162. package/dist/iife/router.iife.js +1 -1
  163. package/dist/iife/scratch.iife.js +1 -1
  164. package/dist/iife/section.iife.js +1 -1
  165. package/dist/iife/select.iife.js +1 -1
  166. package/dist/iife/skeleton.iife.js +1 -1
  167. package/dist/iife/tab.iife.js +1 -1
  168. package/dist/iife/tabpane.iife.js +1 -1
  169. package/dist/{image-B7MBI5n_.js → image-ILZNlaGc.js} +4 -4
  170. package/dist/image.js +1 -1
  171. package/dist/index.cjs +38 -37
  172. package/dist/index.d.ts +8 -0
  173. package/dist/index.iife.js +3623 -88
  174. package/dist/index.js +88 -84
  175. package/dist/info-DKCQHKI2-DNOtUIin.cjs +1 -0
  176. package/dist/info-DKCQHKI2-Df7h9MSE.js +5 -0
  177. package/dist/infoDiagram-FWYZ7A6U-C8dZc-Ki.cjs +2 -0
  178. package/dist/infoDiagram-FWYZ7A6U-Dc0m9qAx.js +21 -0
  179. package/dist/init-1VpIn1S3.js +16 -0
  180. package/dist/init-CbDwVtpO.cjs +1 -0
  181. package/dist/{input-RNqdEHPf.js → input-CDH6zY9I.js} +6 -6
  182. package/dist/input.js +1 -1
  183. package/dist/ishikawaDiagram-FXEZZL3T-BugNyysB.cjs +70 -0
  184. package/dist/ishikawaDiagram-FXEZZL3T-DuFtHOmf.js +742 -0
  185. package/dist/journeyDiagram-5HDEW3XC-Bshelnhq.js +928 -0
  186. package/dist/journeyDiagram-5HDEW3XC-ItmURvA2.cjs +139 -0
  187. package/dist/kanban-definition-HUTT4EX6-BL512R2A.cjs +89 -0
  188. package/dist/kanban-definition-HUTT4EX6-Dogv2paU.js +1050 -0
  189. package/dist/katex-Cq3Y8cmK.cjs +257 -0
  190. package/dist/katex-Pg2EqTH0.js +23485 -0
  191. package/dist/line-BIPmUVxO.js +33 -0
  192. package/dist/line-CAB5QHC6.cjs +1 -0
  193. package/dist/linear-B2AM4ZBe.js +259 -0
  194. package/dist/linear-CSAfNEpl.cjs +1 -0
  195. package/dist/{link-DURZzd7u.js → link-BCrmHvXP.js} +3 -3
  196. package/dist/link.js +1 -1
  197. package/dist/{loading-B9MFI03l.js → loading-DJWGih1g.js} +4 -4
  198. package/dist/loading.js +1 -1
  199. package/dist/map-BC2bk_rV.cjs +1 -0
  200. package/dist/map-DMSWkcq6.js +208 -0
  201. package/dist/{math-CudIwEXZ.js → math-DRmkEDSQ.js} +4 -4
  202. package/dist/math.js +1 -1
  203. package/dist/mermaid-CMhm7npE.js +261 -0
  204. package/dist/mermaid-parser.core-DYumW1vq.cjs +6 -0
  205. package/dist/mermaid-parser.core-uIDZYuBu.js +654 -0
  206. package/dist/mermaid.core-B2d5lQW2.js +1085 -0
  207. package/dist/mermaid.core-a1hgpWfs.cjs +10 -0
  208. package/dist/mermaid.js +5 -0
  209. package/dist/{message-DW7qWpEm.js → message-BpYJBvYn.js} +6 -6
  210. package/dist/message.js +1 -1
  211. package/dist/mindmap-definition-LN4V7U3C-DYZgIZym.cjs +96 -0
  212. package/dist/mindmap-definition-LN4V7U3C-f7s5ZePP.js +1070 -0
  213. package/dist/{modal-CrvGKL2B.js → modal-BeQlDYDP.js} +40 -24
  214. package/dist/modal.js +1 -1
  215. package/dist/ordinal-BMN81JG2.js +64 -0
  216. package/dist/ordinal-BplLHIij.cjs +1 -0
  217. package/dist/packet-7NZHBO7P-4PLslLZJ.js +5 -0
  218. package/dist/packet-7NZHBO7P-DeyLCrSn.cjs +1 -0
  219. package/dist/path-Bja5PoYn.js +82 -0
  220. package/dist/path-DmfWsuKi.cjs +1 -0
  221. package/dist/pegDiagram-2B236MQR-B-Xeh55J.js +107 -0
  222. package/dist/pegDiagram-2B236MQR-Bo5Nj40u.cjs +1 -0
  223. package/dist/pie-RZYD4A2V-DBE9a8Kz.js +5 -0
  224. package/dist/pie-RZYD4A2V-pDNZ2ZyB.cjs +1 -0
  225. package/dist/pieDiagram-ENE6RG2P-BkSiP4iu.cjs +39 -0
  226. package/dist/pieDiagram-ENE6RG2P-CVSE95zc.js +207 -0
  227. package/dist/{player-BKQaaT7o.js → player-CQ4e3Yeo.js} +196 -195
  228. package/dist/player.js +1 -1
  229. package/dist/{popover-CvYIVgUS.js → popover-eZMnL1F3.js} +22 -54
  230. package/dist/popover.js +1 -1
  231. package/dist/{progress-C6jctsFH.js → progress-DyHgW4Ep.js} +5 -5
  232. package/dist/progress.js +1 -1
  233. package/dist/quadrantDiagram-ABIIQ3AL-BDmdDGsh.cjs +7 -0
  234. package/dist/quadrantDiagram-ABIIQ3AL-TJ8FmqES.js +2058 -0
  235. package/dist/{radar-BUb4EzmG.js → radar-D21Rccap.js} +5 -5
  236. package/dist/radar-I7S5WNFK-CY5ycn2a.cjs +1 -0
  237. package/dist/radar-I7S5WNFK-DFTxtd_t.js +5 -0
  238. package/dist/radar.js +1 -1
  239. package/dist/railroad-3IZDKUUU-DALJwv16.js +5 -0
  240. package/dist/railroad-3IZDKUUU-DGzXHqt7.cjs +1 -0
  241. package/dist/railroad-abnf-AHOZXSZD-BCIHdSw6.cjs +1 -0
  242. package/dist/railroad-abnf-AHOZXSZD-CntW2udQ.js +5 -0
  243. package/dist/railroad-ebnf-EBAXGLYW-4vFZrfHF.cjs +1 -0
  244. package/dist/railroad-ebnf-EBAXGLYW-s_1ZOb_9.js +5 -0
  245. package/dist/railroad-peg-LSFZ7HO6-CaM5A0Ml.js +5 -0
  246. package/dist/railroad-peg-LSFZ7HO6-D_oFW1Bo.cjs +1 -0
  247. package/dist/railroadDiagram-RFXS5EU6-0lS5wYI7.js +83 -0
  248. package/dist/railroadDiagram-RFXS5EU6-DJKAtnQk.cjs +1 -0
  249. package/dist/ranui.css +1 -1
  250. package/dist/requirementDiagram-TGXJPOKE-Bg701bNl.cjs +84 -0
  251. package/dist/requirementDiagram-TGXJPOKE-viCQLyJd.js +2301 -0
  252. package/dist/rolldown-runtime-9ZSF5uba.js +16 -0
  253. package/dist/rolldown-runtime-CAnuVJ4g.cjs +1 -0
  254. package/dist/rough.esm-BWe9E0Nz.js +1387 -0
  255. package/dist/rough.esm-BfSi6CZE.cjs +1 -0
  256. package/dist/{route-Djrf9UR_.js → route-pR5P4ann.js} +10 -10
  257. package/dist/route.js +1 -1
  258. package/dist/{router-BU2KhtxV.js → router-CewzSH7O.js} +5 -5
  259. package/dist/router.js +1 -1
  260. package/dist/sankeyDiagram-HTMAVEWB-CV6_AuMF.js +974 -0
  261. package/dist/sankeyDiagram-HTMAVEWB-K-nGMsuS.cjs +40 -0
  262. package/dist/{scratch-CO4I2dIa.js → scratch-BFVsgl-7.js} +2 -2
  263. package/dist/scratch.js +1 -1
  264. package/dist/{section-CsUkp8bv.js → section-DSPCsIxv.js} +2 -2
  265. package/dist/section.js +1 -1
  266. package/dist/{select-Dn26ajJZ.js → select-B58nMfB1.js} +13 -13
  267. package/dist/select.js +1 -1
  268. package/dist/sequenceDiagram-DBY2YBRQ-4GdkLnUr.cjs +162 -0
  269. package/dist/sequenceDiagram-DBY2YBRQ-B9WNesh2.js +4326 -0
  270. package/dist/sizeCapture-X5ZJPWSS-BUY3-n09.cjs +1 -0
  271. package/dist/sizeCapture-X5ZJPWSS-D7rGsqTl.js +48 -0
  272. package/dist/{skeleton-BuMLhvzQ.js → skeleton-DoHYMsTn.js} +5 -5
  273. package/dist/skeleton.js +1 -1
  274. package/dist/src-C9EhKhbk.cjs +1 -0
  275. package/dist/src-DtRLxcYO.js +2104 -0
  276. package/dist/stateDiagram-2N3HPSRC-B7VpgjJu.cjs +1 -0
  277. package/dist/stateDiagram-2N3HPSRC-DxH4BMSh.js +237 -0
  278. package/dist/stateDiagram-v2-6OUMAXLB-CQv7GIaO.cjs +1 -0
  279. package/dist/stateDiagram-v2-6OUMAXLB-CWfn6e7n.js +30 -0
  280. package/dist/swimlanes-5IMT3BWC-DcADNGpg.js +5258 -0
  281. package/dist/swimlanes-5IMT3BWC-o-MjdPlw.cjs +1 -0
  282. package/dist/swimlanesDiagram-G3AALYLV-D-rmAGky.cjs +8 -0
  283. package/dist/swimlanesDiagram-G3AALYLV-DDtDtl1L.js +31 -0
  284. package/dist/{tab-40fDkuox.js → tab-BRPdZ9Ws.js} +5 -5
  285. package/dist/tab.js +1 -1
  286. package/dist/{tabpane-F4Pd7JtC.js → tabpane-Owf72hw_.js} +5 -5
  287. package/dist/tabpane.js +1 -1
  288. package/dist/{theme-switch-B09egc6h.js → theme-switch-CZDIIonc.js} +4 -4
  289. package/dist/theme-switch.js +1 -1
  290. package/dist/timeline-definition-FHXFAJF6-C80VjPLh.js +1119 -0
  291. package/dist/timeline-definition-FHXFAJF6-DOwvOb3S.cjs +120 -0
  292. package/dist/treeView-QDETBFTQ-B1Ejxfpg.cjs +1 -0
  293. package/dist/treeView-QDETBFTQ-vTKOZls1.js +5 -0
  294. package/dist/treemap-6X3UGDF4-D0FeO_NX.cjs +1 -0
  295. package/dist/treemap-6X3UGDF4-Ddzv6Gqd.js +5 -0
  296. package/dist/utils/builder/core.d.ts +133 -3
  297. package/dist/utils/builder/index.d.ts +1 -1
  298. package/dist/{utils-DBfrRFoE.js → utils-D1iZnChu.js} +38 -31
  299. package/dist/vennDiagram-L72KCM5P-BYHB7OW8.js +1955 -0
  300. package/dist/vennDiagram-L72KCM5P-CidVJK6y.cjs +34 -0
  301. package/dist/wardley-OPB4EBWU-C1hXbbD4.cjs +1 -0
  302. package/dist/wardley-OPB4EBWU-DBgFLc64.js +5 -0
  303. package/dist/wardleyDiagram-EHGQE667--ubmCaWM.js +652 -0
  304. package/dist/wardleyDiagram-EHGQE667-K6ckkRZS.cjs +78 -0
  305. package/dist/xychartDiagram-FW5EYKEG-CzdokxrM.cjs +7 -0
  306. package/dist/xychartDiagram-FW5EYKEG-DLqWcTPt.js +2154 -0
  307. package/docs/BUILDER.md +155 -2
  308. package/package.json +7 -1
  309. package/dist/button-BfYw0fes.js +0 -117
  310. package/dist/factory-DCrO37si.js +0 -334
@@ -0,0 +1 @@
1
+ const l=require("./chunk-Y2CYZVJY-DPaYLFFP.cjs"),qe=require("./src-C9EhKhbk.cjs"),Bo=require("./chunk-WYO6CB5R-u4mJNOcO.cjs"),Ne=require("./chunk-ICXQ74PX-BbT9JaEW.cjs");require("./chunk-HOUHSVGY-BGB3dOvI.cjs");require("./chunk-Q4XR5HBZ-aBnPq509.cjs");const Eo=require("./chunk-7BUUIJ7U-DMv_UkjI.cjs"),vr=require("./chunk-OGEWGWER-DX8sW1dT.cjs"),wr=require("./graphlib-Du-578Js.cjs"),Er=require("./chunk-RYQCIY6F-DVRzSnsI.cjs");require("./chunk-C7G6YPKG-CKEeW9TM.cjs");const Oe=require("./chunk-ZGVPDNZ5-Cw5_HJba.cjs"),ce=require("./chunk-52WLFC77-BChUrU24.cjs");async function ko(t,e){const n=new wr.Graph({multigraph:!0,compound:!0}),o=[...e.edges],s=Bo.getConfig2(),r=t.insert("g").attr("class","root"),i=r.insert("g").attr("class","clusters"),a=r.insert("g").attr("class","edges edgePath"),d=r.insert("g").attr("class","edgeLabels"),c=r.insert("g").attr("class","nodes"),g=new Map,_=t.node()!=null;await Promise.all(e.nodes.map(async x=>{if(x.isGroup)n.setNode(x.id,{...x});else{if(_){const h=await Oe.insertNode(c,x,{config:s,dir:x.dir}),m=h.node()?.getBBox()??{width:0,height:0};g.set(x.id,h),x.width=m.width,x.height=m.height}n.setNode(x.id,{...x})}}));for(const x of o)n.setEdge(x.start,x.end,{...x},x.id),e.edges.some(h=>h.id===x.id)||e.edges.push(x);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:x}=await Promise.resolve().then(()=>require("./sizeCapture-X5ZJPWSS-BUY3-n09.cjs"));x(t,e)}return{graph:n,groups:{clusters:i,edgePaths:a,edgeLabels:d,nodes:c,rootGroups:r},nodeElements:g}}l.__name(ko,"createGraphWithElements");var To=5,Ge=1e-5,$e=1e-6;function Ke(t){const e=[];for(let n=0;n<t.length-1;n++)e.push({a:t[n],b:t[n+1]});return e}l.__name(Ke,"buildSegmentList");function Fo(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=o.x-n.x,a=o.y-n.y,d=s*a-r*i;if(d===0)return null;const c=n.x-t.x,g=n.y-t.y,_=(c*a-g*i)/d,x=(c*r-g*s)/d;return _<=$e||_>=1-$e||x<=$e||x>=1-$e?null:{point:{x:t.x+_*s,y:t.y+_*r},tA:_,tB:x}}l.__name(Fo,"segmentIntersection");function Sn(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}l.__name(Sn,"isHorizontalSeg");function Do(t){const e=[];for(let n=0;n<t.length;n++){const o=t[n],s=Ke(o.points);for(let r=n+1;r<t.length;r++){const i=t[r],a=Ke(i.points);for(const[d,c]of s.entries())for(const[g,_]of a.entries()){const x=Fo(c.a,c.b,_.a,_.b);if(!x)continue;const h=Sn(c);h!==Sn(_)&&h?e.push({jumpEdgeId:o.id,otherEdgeId:i.id,segIndex:d,t:x.tA,point:x.point}):e.push({jumpEdgeId:i.id,otherEdgeId:o.id,segIndex:g,t:x.tB,point:x.point})}}}return e}l.__name(Do,"findEdgeIntersections");function te(t){const e=Math.round(t*1e3)/1e3;return Number.isInteger(e)?`${e}`:`${e}`}l.__name(te,"fmt");function we(t){return`${te(t.x)},${te(t.y)}`}l.__name(we,"pointToString");function Ho(t){const e=t.b.x-t.a.x,n=t.b.y-t.a.y;return Math.abs(e)>=Math.abs(n)?e>=0?1:0:n>=0?1:0}l.__name(Ho,"getArcSweepFlag");var Tr=.001;function Xo(t,e){if(t.length<2)return t.map(r=>({...r}));const n=t.map(r=>({...r})),o=e.arrowTypeStart&&Eo.markerOffsets[e.arrowTypeStart];if(o){const r=t[0],i=t[1],a=Math.atan2(i.y-r.y,i.x-r.x);n[0].x=r.x+o*Math.cos(a),n[0].y=r.y+o*Math.sin(a)}const s=e.arrowTypeEnd&&Eo.markerOffsets[e.arrowTypeEnd];if(s){const r=t.length,i=t[r-2],a=t[r-1],d=Math.atan2(a.y-i.y,a.x-i.x);n[r-1].x=a.x-s*Math.cos(d),n[r-1].y=a.y-s*Math.sin(d)}return n}l.__name(Xo,"applyMarkerOffsets");function Yo(t,e,n,o,s){const r=t.point.x,i=t.point.y,a={x:r-e*t.r,y:i-n*t.r},d={x:r+e*t.r,y:i+n*t.r},c=[`L${we(a)}`];return s==="arc"?c.push(`A${te(t.r)},${te(t.r)} 0 0 ${o} ${we(d)}`):c.push(`M${we(d)}`),c}l.__name(Yo,"emitJump");function Cn(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=n.x-e.x,a=n.y-e.y,d=Math.hypot(s,r),c=Math.hypot(i,a);if(d<Ge||c<Ge)return null;const g=s/d,_=r/d,x=i/c,h=a/c,m=g*x+_*h,f=Math.acos(Math.max(-1,Math.min(1,m)));if(f<Ge||Math.abs(Math.PI-f)<Ge)return null;const b=Math.min(o/Math.sin(f/2),d/2,c/2);return{startX:e.x-g*b,startY:e.y-_*b,endX:e.x+x*b,endY:e.y+h*b,ctrlX:e.x,ctrlY:e.y,cutLen:b}}l.__name(Cn,"computeRoundedCorner");function Go(t,e,n){const o=t.points;if(o.length<2)return"";const s=Xo(o,t),r=t.curve==="rounded",i=Ke(s),a=new Map;for(const c of e){const g=i[c.segIndex];if(!g)continue;const _=Math.hypot(g.b.x-g.a.x,g.b.y-g.a.y),x=a.get(c.segIndex)??[];x.push({t:c.t,point:c.point,d:c.t*_,r:n.jumpRadius}),a.set(c.segIndex,x)}const d=[`M${we(s[0])}`];for(let c=0;c<i.length;c++){const g=i[c],_=Math.hypot(g.b.x-g.a.x,g.b.y-g.a.y),x=_===0?0:(g.b.x-g.a.x)/_,h=_===0?0:(g.b.y-g.a.y)/_,m=Ho(g);let f=0;if(r&&c>0){const w=Cn(s[c-1],s[c],s[c+1]??s[c],To);w&&(f=w.cutLen)}let b=_,v=null;r&&c<i.length-1&&(v=Cn(s[c],s[c+1],s[c+2]??s[c+1],To),v&&(b=_-v.cutLen));const I=[...a.get(c)??[]].sort((w,L)=>w.t-L.t);for(const w of I)w.r=Math.min(w.r,w.d-f,b-w.d);for(let w=0;w<I.length-1;w++){const L=I[w+1].d-I[w].d;if(I[w].r+I[w+1].r>L){const p=L/2;I[w].r=Math.min(I[w].r,p),I[w+1].r=Math.min(I[w+1].r,p)}}for(const w of I)w.r<Tr||d.push(...Yo(w,x,h,m,n.jumpStyle));r&&v?(d.push(`L${te(v.startX)},${te(v.startY)}`),d.push(`Q${te(v.ctrlX)},${te(v.ctrlY)} ${te(v.endX)},${te(v.endY)}`)):d.push(`L${we(g.b)}`)}return d.join(" ")}l.__name(Go,"rewriteEdgePath");function $o(t){return/^[\d\s+,.LMelm-]*$/.test(t)}l.__name($o,"isStraightPath");function zo(t){return t?t==="linear"||t==="rounded"||t==="step"||t==="stepBefore"||t==="stepAfter":!0}l.__name(zo,"curveSupportsLineHops");function Vo(t){if(!t)return null;try{const e=typeof atob=="function"?atob(t):Buffer.from(t,"base64").toString(),n=JSON.parse(e);if(!Array.isArray(n))return null;const o=[];for(const s of n)s&&typeof s.x=="number"&&typeof s.y=="number"&&o.push({x:s.x,y:s.y});return o.length>=2?o:null}catch{return null}}l.__name(Vo,"decodeDataPoints");function jo(t,e,n){if(!n.enabled)return;const o=t.node();if(!o)return;const s=new Map;for(const c of e)s.set(c.id,c);const r=[],i=new Map;for(const c of e){const g=typeof CSS<"u"&&CSS.escape?CSS.escape(c.id):c.id,_=o.querySelector(`path[data-id="${g}"]`);if(!_)continue;i.set(c.id,_);const x=Vo(_.getAttribute("data-points"))??c.points;r.push({...c,points:x})}const a=Do(r);if(a.length===0)return;const d=new Map;for(const c of a){const g=d.get(c.jumpEdgeId)??[];g.push(c),d.set(c.jumpEdgeId,g)}for(const c of r){const g=d.get(c.id);if(!g||g.length===0)continue;const _=s.get(c.id)?.curve;if(_!==void 0&&!zo(_))continue;const x=i.get(c.id);if(!x||_===void 0&&!$o(x.getAttribute("d")??""))continue;const h=x.getAttribute("style")??"",m=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(h),f=m?Number.parseFloat(m[1]):null,b=m?Number.parseFloat(m[2]):null,v=Go(c,g,n);if(x.setAttribute("d",v),f!==null&&b!==null&&typeof x.getTotalLength=="function"){const I=x.getTotalLength(),w=`0 ${f} ${Math.max(0,I-f-b)} ${b}`,L=h.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${w};`).replace(/;\s*;+/g,";");x.setAttribute("style",L)}}}l.__name(jo,"applyLineJumpsToSvg");async function Uo(t,e){for(const s of t.nodes)s.isGroup?await Oe.insertCluster(e.clusters,s):Oe.positionNode(s);const n=new Map;for(const s of t.nodes)s?.id&&n.set(s.id,s);for(const s of t.edges){const r=s.start?n.get(s.start)??{}:{},i=s.end?n.get(s.end)??{}:{},a=ce.insertEdge(e.edgePaths,{...s},{},t.type,r,i,t.diagramId);s.label&&await ce.insertEdgeLabel(e.rootGroups,s),s.label&&Wo(s,a)}const o=t.config?.swimlane?.lineHops;if(o!==!1){const s=o==="gap"?"gap":"arc",r=t.edges.filter(i=>Array.isArray(i.points)&&i.points.length>=2).map(i=>({id:i.id,points:i.points,curve:i.curve,arrowTypeStart:i.arrowTypeStart,arrowTypeEnd:i.arrowTypeEnd}));jo(e.edgePaths,r,{enabled:!0,jumpRadius:6,jumpStyle:s})}}l.__name(Uo,"adjustLayout");function Wo(t,e){const n=e?.updatedPath??e?.originalPath,{subGraphTitleTotalMargin:o}=vr.getSubGraphTitleMargins({flowchart:Bo.getConfig().flowchart??{}});if(t.label){const s=ce.edgeLabels.get(t.id);let r=t.x,i=t.y;if(n){const a=Ne.utils_default.calcLabelPosition(n);qe.log.debug("Moving label "+t.label+" from (",r,",",i,") to (",a.x,",",a.y,") abc88"),e&&(r=a.x,i=a.y)}s.attr("transform",`translate(${r}, ${i+o/2})`)}if(t?.startLabelLeft){const s=ce.terminalLabels.get(t.id).startLeft;let r=t?.x,i=t?.y;if(n){const a=Ne.utils_default.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);r=a.x,i=a.y}s.attr("transform",`translate(${r}, ${i})`)}if(t.startLabelRight){const s=ce.terminalLabels.get(t.id).startRight;let r=t.x,i=t.y;if(n){const a=Ne.utils_default.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);r=a.x,i=a.y}s.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelLeft){const s=ce.terminalLabels.get(t.id).endLeft;let r=t.x,i=t.y;if(n){const a=Ne.utils_default.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);r=a.x,i=a.y}s.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelRight){const s=ce.terminalLabels.get(t.id).endRight;let r=t.x,i=t.y;if(n){const a=Ne.utils_default.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);r=a.x,i=a.y}s.attr("transform",`translate(${r}, ${i})`)}}l.__name(Wo,"positionEdgeLabel");var _n="__swimlane_default__",Ar=21,Ao=20;function Ln(t){return Math.max(t.padding??Ao,Ao)}l.__name(Ln,"topLaneHorizontalPadding");function qo(t){const{x:e,y:n,width:o,height:s}=t,r=t.swimlaneContentTop;if(typeof e!="number"||typeof n!="number"||typeof o!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<=0||s<=0){delete t.groupTitleRect;return}const i=n-s/2,a=Math.min(r,n+s/2),d=i+Math.min(Ar,Math.max(0,a-i));if(d<=i){delete t.groupTitleRect;return}t.groupTitleRect={left:e-o/2,right:e+o/2,top:i,bottom:d}}l.__name(qo,"assignTopLaneTitleRect");function Ko(t){const e=t.direction,n=t.nodes??=[];for(const r of t.nodes??[])r.isGroup&&!r.parentId&&(r.shape="swimlane",e&&(r.direction=e));const o=n.filter(r=>!r.isGroup&&!r.parentId);if(o.length===0)return;let s=n.find(r=>r.id===_n);s?s.isGroup&&(s.shape="swimlane",e&&(s.direction=e)):(s={id:_n,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},n.push(s));for(const r of o)r.parentId=_n}l.__name(Ko,"prepareLayoutForSwimlanes");function Jo(t){const e=new Map;for(const i of t.nodes??[])e.set(i.id,i);const n=[];for(const i of t.edges??[]){const a=typeof i.start=="string"?i.start:void 0,d=typeof i.end=="string"?i.end:void 0;!a||!d||i.labelNodeId||n.push({id:i.id,src:a,dst:d,ref:i})}const o=t.nodes??[],s=o.filter(i=>i.isGroup),r=o.filter(i=>!i.isGroup);return{nodes:[...[...s].reverse(),...r].map(i=>i.id),edges:n,layout:t,nodeById:e}}l.__name(Jo,"toGraphView");function Zo(t,e,n,o){const{layout:s}=t,r=t.nodeById,i=o?.layerGap??100,a=o?.nodeGap??40;let d=0;for(const x of e.layers){let h=0;for(const m of x){const f=r.get(m);if(!f){h++;continue}f.layer=d,f.order=h;const b=n.x[m]??h*a,v=n.y[m]??d*i;f.x=b,f.y=v,h++}d++}const c=s.nodes??[],g=new Map,_=[];for(const x of c){if(!x?.isGroup)continue;x.parentId||_.push(x);const h=c.filter(I=>I.parentId===x.id);let m=1/0,f=-1/0,b=1/0,v=-1/0;for(const I of h){const w=I.x??n.x[I.id],L=I.y??n.y[I.id],p=I.width??0,M=I.height??0;w!=null&&L!=null&&(m=Math.min(m,w-p/2),f=Math.max(f,w+p/2),b=Math.min(b,L-M/2),v=Math.max(v,L+M/2))}if(m===1/0||b===1/0)x.x=x.x??0,x.y=x.y??0,x.width=x.width??0,x.height=x.height??0;else{const I=x.padding??20,w=x.parentId?I:2*Ln(x),L=I,p=Math.max(0,f-m)+w,M=Math.max(0,v-b)+L,T=(m+f)/2,N=(b+v)/2;x.x=T,x.y=N,x.width=p,x.height=M,g.set(x.id,{minX:m,maxX:f,minY:b,maxY:v})}}if(_.length>0&&g.size>0){let x=1/0,h=-1/0,m=0;for(const f of _){const b=f.padding??20;b>m&&(m=b);const v=g.get(f.id);v&&(x=Math.min(x,v.minY),h=Math.max(h,v.maxY))}if(x!==1/0&&h!==-1/0){const f=Math.max(0,h-x)+2*Math.max(m,36),b=(x+h)/2;for(const M of _)M.y=b,M.height=f,M.swimlaneContentTop=x;const v=[..._].sort((M,T)=>(M.x??0)-(T.x??0)),I=[],w=[],L=[];for(const M of v){const T=g.get(M.id);if(!T)continue;const N=Math.max(0,T.maxX-T.minX)+2*Ln(M),R=(T.minX+T.maxX)/2;I.push(M.id),w.push(R),L.push(N)}const p=I.length;if(p>0){const M=new Map;if(p===1)M.set(I[0],L[0]);else{const T=[];for(let B=0;B<p-1;B++)T.push(w[B+1]-w[B]);const N=new Array(p);N[0]=0;for(let B=0;B<p-1;B++)N[B+1]=2*T[B]-N[B];let R=0,A=Number.POSITIVE_INFINITY;for(let B=0;B<p;B++){const X=L[B];B%2===0?R=Math.max(R,X-N[B]):A=Math.min(A,N[B]-X)}let k=R;R<=A?k=(R+A)/2:k=R;for(let B=0;B<p;B++){const X=N[B]+(B%2===0?k:-k),K=Math.max(L[B],X);M.set(I[B],K)}}for(const T of _){const N=M.get(T.id);N!=null&&(T.width=N),qo(T)}}}}}l.__name(Zo,"writeBackToLayoutData");var Rr="[EdgeLabelNodes]";function Qo(t){const e=[],n=[],o=new Map;for(const i of t.nodes)o.set(i.id,i);for(const i of t.edges){if(!i.label||i.label.length===0||i.isLayoutOnly||i.labelNodeId)continue;const a=i.start?o.get(i.start):void 0,d=i.end?o.get(i.end):void 0;if(!a||!d){qe.log.warn(Rr,`Edge ${i.id} has missing source or target node`);continue}const c=`edge-label-${i.start}-${i.end}-${i.id}`,g=a.parentId!==d.parentId?d.parentId:a.parentId,_={id:c,label:i.label,edgeStart:i.start??"",edgeEnd:i.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:g,isGroup:!1,labelStyle:Array.isArray(i.labelStyle)?i.labelStyle[0]:i.labelStyle??"",...a.dir?{dir:a.dir}:{}};e.push(_),i.labelNodeId=c,i.label=void 0,i.text=void 0;const x={id:`${i.id}-to-label`,start:i.start,end:c,type:"normal",isLayoutOnly:!0},h={id:`${i.id}-from-label`,start:c,end:i.end,type:"normal",isLayoutOnly:!0};n.push(x,h)}const s=[...t.nodes,...e],r=[...t.edges,...n];return{...t,nodes:s,edges:r}}l.__name(Qo,"createEdgeLabelNodes");var kt=.001;function no(t){const e=t.x??0,n=t.y??0,o=t.width??0,s=t.height??0;return o>0&&s>0?{cx:e,cy:n,rect:Ee(e,n,o,s)}:void 0}l.__name(no,"measuredNodeRect");function oo(t){if(t.isGroup)return;const e=no(t);if(e)return{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}}l.__name(oo,"nodeBoundsInfoFor");function Zt(t,e,n=kt){return Math.abs(t.x-e.x)<n&&Math.abs(t.y-e.y)<n}l.__name(Zt,"samePoint");function ft(t,e,n=kt){return Math.abs(t.x-e.x)<n}l.__name(ft,"sameX");function dt(t,e,n=kt){return Math.abs(t.y-e.y)<n}l.__name(dt,"sameY");function Lt(t,e,n=kt){return dt(t,e,n)&&Math.abs(t.x-e.x)>n}l.__name(Lt,"isHorizontalSegment");function vt(t,e,n=kt){return ft(t,e,n)&&Math.abs(t.y-e.y)>n}l.__name(vt,"isVerticalSegment");function Gt(t,e,n,o){return Math.max(0,Math.min(Math.max(t,e),Math.max(n,o))-Math.max(Math.min(t,e),Math.min(n,o)))}l.__name(Gt,"overlapLength");function ne(t,e,n=kt){return t.horizontal&&e.horizontal&&dt(t.a,e.a,n)?Gt(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&&ft(t.a,e.a,n)?Gt(t.a.y,t.b.y,e.a.y,e.b.y):0}l.__name(ne,"sameAxisSegmentOverlapLength");function Te(t,e=kt){const n=[];for(let o=0;o<t.length-1;o++){const s=t[o],r=t[o+1],i=Lt(s,r,e),a=vt(s,r,e);(i||a)&&n.push({index:o,a:s,b:r,horizontal:i,vertical:a})}return n}l.__name(Te,"orthogonalSegmentsForPoints");function qt(t,e=kt){const n=Te(t,e);let o=0;for(let s=1;s<n.length;s++)n[s-1].horizontal!==n[s].horizontal&&o++;return o}l.__name(qt,"countOrthogonalBends");function gt(t,e=kt){const n=[];for(const o of t){const s=n.length>0?n[n.length-1]:void 0;(!s||!Zt(s,o,e))&&n.push({x:o.x,y:o.y})}return n}l.__name(gt,"dedupeConsecutivePoints");function so(t,e=kt){if(!t||t.length!==4)return;const[n,o,s,r]=t;return Lt(n,o,e)&&vt(o,s,e)&&Lt(s,r,e)?{kind:"HVH",p0:n,p1:o,p2:s,p3:r}:vt(n,o,e)&&Lt(o,s,e)&&vt(s,r,e)?{kind:"VHV",p0:n,p1:o,p2:s,p3:r}:void 0}l.__name(so,"classifyThreeSegmentRoute");function cn(t,e,n,o=0){const s=Math.min(t.x,e.x),r=Math.max(t.x,e.x),i=Math.min(t.y,e.y),a=Math.max(t.y,e.y);return r>n.left-o&&s<n.right+o&&a>n.top-o&&i<n.bottom+o}l.__name(cn,"segmentBoundsOverlapRect");function ro(t,e,n=0){return t.x>e.left+n&&t.x<e.right-n&&t.y>e.top+n&&t.y<e.bottom-n}l.__name(ro,"pointInsideRect");function ts(t,e){return t.left<=e.left&&t.right>=e.right&&t.top<=e.top&&t.bottom>=e.bottom}l.__name(ts,"rectContainsRect");function Je(t,e){return t.left<e.right&&t.right>e.left&&t.top<e.bottom&&t.bottom>e.top}l.__name(Je,"rectsOverlap");function vn(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}l.__name(vn,"inflateRect");function Ee(t,e,n,o){return{left:t-n/2,right:t+n/2,top:e-o/2,bottom:e+o/2}}l.__name(Ee,"rectFromCenterSize");function Vt(t){return no(t)?.rect}l.__name(Vt,"rectOfNodeBounds");function Me(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}l.__name(Me,"portForRectSide");function io(t,e,n,o,s,r=kt){const i=e==="left"||e==="right",a=o==="left"||o==="right";if(i&&a){if(e==="right"&&o==="left"&&t.x<n.x||e==="left"&&o==="right"&&t.x>n.x){if(dt(t,n,r))return[t,n];const g=(t.x+n.x)/2;return[t,{x:g,y:t.y},{x:g,y:n.y},n]}if(e===o){if(dt(t,n,r))return;const g=e==="left"?Math.min(t.x,n.x)-s:Math.max(t.x,n.x)+s;return[t,{x:g,y:t.y},{x:g,y:n.y},n]}return}if(!i&&!a){if(e===o){if(ft(t,n,r))return;const _=e==="top"?Math.min(t.y,n.y)-s:Math.max(t.y,n.y)+s;return[t,{x:t.x,y:_},{x:n.x,y:_},n]}if(!(e==="bottom"&&o==="top"&&t.y<n.y||e==="top"&&o==="bottom"&&t.y>n.y))return;if(ft(t,n,r))return[t,n];const g=(t.y+n.y)/2;return[t,{x:t.x,y:g},{x:n.x,y:g},n]}if(i&&!a){const g=e==="right"&&n.x>t.x||e==="left"&&n.x<t.x,_=o==="top"&&t.y<n.y||o==="bottom"&&t.y>n.y;return g&&_?[t,{x:n.x,y:t.y},n]:void 0}const d=e==="bottom"&&n.y>t.y||e==="top"&&n.y<t.y,c=o==="left"&&t.x<n.x||o==="right"&&t.x>n.x;return d&&c?[t,{x:t.x,y:n.y},n]:void 0}l.__name(io,"buildOrthogonalPortPath");function co(t,e,n,o){return e==="left"||e==="right"?[t,{x:o,y:t.y},{x:o,y:n.y},n]:[t,{x:t.x,y:o},{x:n.x,y:o},n]}l.__name(co,"buildSameSideTrackPath");function an(t){const e=new Map,n=[];for(const o of t){if(o.isEdgeLabel)continue;const s=oo(o);s&&(e.set(s.id,s),n.push({id:s.id,rect:s.rect}))}return{nodeInfoById:e,realNodeRects:n}}l.__name(an,"collectRealNodeBounds");function pe(t){const e=[],n=[];for(const o of t){const s=oo(o);if(!s)continue;const r={id:s.id,rect:s.rect};o.isEdgeLabel?n.push(r):e.push(r)}return{realNodeRects:e,labelNodeRects:n}}l.__name(pe,"collectNodeRectEntries");function es(t,{includeEdgeLabels:e=!0}={}){const n=[];for(const o of t){if(o.isGroup||!e&&o.isEdgeLabel)continue;const s=o.x??0,r=o.y??0,i=o.width??0,a=o.height??0;n.push({nodeId:o.id,...Ee(s,r,i,a)})}return n}l.__name(es,"collectLayoutNodeRects");function ao(t,e,n=kt){const o=t.start,s=t.end;if(!o||!s)return;const r=e.get(o),i=e.get(s);if(!(!r||!i))return{srcId:o,dstId:s,srcInfo:r,dstInfo:i,collinearX:Math.abs(r.cx-i.cx)<n,collinearY:Math.abs(r.cy-i.cy)<n}}l.__name(ao,"getNodePairGeometry");function Et(t,e,n,o=[],s=0){for(const r of n)if(!o.includes(r.id)&&cn(t,e,r.rect,-s))return!0;return!1}l.__name(Et,"segmentHitsAnyRect");function lo(t,e,n,o,s=kt,r=1e-6){const i=dt(t,e,s),a=ft(t,e,s),d=dt(n,o,s),c=ft(n,o,s);if(i&&d||a&&c||!(i||a)||!(d||c))return!1;const g=i?{a:t,b:e}:{a:n,b:o},_=a?{a:t,b:e}:{a:n,b:o},x=g.a.y,h=Math.min(g.a.x,g.b.x),m=Math.max(g.a.x,g.b.x),f=_.a.x,b=Math.min(_.a.y,_.b.y),v=Math.max(_.a.y,_.b.y);if(f<h||f>m||x<b||x>v)return!1;const I=Math.abs(f-g.a.x)<r&&Math.abs(x-g.a.y)<r||Math.abs(f-g.b.x)<r&&Math.abs(x-g.b.y)<r,w=Math.abs(f-_.a.x)<r&&Math.abs(x-_.a.y)<r||Math.abs(f-_.b.x)<r&&Math.abs(x-_.b.y)<r;return!(I&&w)}l.__name(lo,"orthogonalSegmentsCross");function ns(t,e,n,o,s=kt){const r=dt(t,e,s),i=ft(t,e,s),a=dt(n,o,s),d=ft(n,o,s);return i&&d&&ft(t,n,s)?Gt(t.y,e.y,n.y,o.y)>s:r&&a&&dt(t,n,s)?Gt(t.x,e.x,n.x,o.x)>s:!1}l.__name(ns,"sameAxisSegmentsOverlap");function Ze(t,e,n,o,{epsilon:s=kt,skipDegenerateOther:r=!1}={}){for(const i of n){if(i===o||i.isLayoutOnly)continue;const a=i.points;if(!(!a||a.length<2))for(let d=0;d<a.length-1;d++){const c=a[d],g=a[d+1];if(!(r&&Zt(c,g,s))&&(lo(t,e,c,g,s)||ns(t,e,c,g,s)))return!0}}return!1}l.__name(Ze,"segmentConflictsWithAnyEdge");function ae(t,e,n,o,s=kt){const r=dt(t,e,s),i=ft(t,e,s),a=dt(n,o,s),d=ft(n,o,s);if(!(r&&d||i&&a))return!1;const c=r?{a:t,b:e}:{a:n,b:o},g=r?{a:n,b:o}:{a:t,b:e},_=c.a.y,x=Math.min(c.a.x,c.b.x),h=Math.max(c.a.x,c.b.x),m=g.a.x,f=Math.min(g.a.y,g.b.y),b=Math.max(g.a.y,g.b.y);return m>x+s&&m<h-s&&_>f+s&&_<b-s}l.__name(ae,"orthogonalSegmentsStrictlyCross");function wn(t,e,n){const o=Math.min(e,n),s=Math.max(e,n);return t>o+kt&&t<s-kt}l.__name(wn,"strictlyBetween");function os(t,e,n){return ft(t,e)&&ft(e,n)?wn(e.y,t.y,n.y):dt(t,e)&&dt(e,n)?wn(e.x,t.x,n.x):!1}l.__name(os,"isCollinearIntermediate");function ss(t){let e=!1;const n=[];for(let o=0;o<t.length;o++){const s=n[n.length-1],r=t[o],i=o+1<t.length?t[o+1]:void 0;if(s&&i){if(Zt(s,i)){o++,e=!0;continue}if(os(s,r,i)){e=!0;continue}}n.push(r)}return{points:n,changed:e}}l.__name(ss,"simplifyPolylineOnce");function Qe(t){const e=[t[0]];for(let o=1;o<t.length;o++){const s=e[e.length-1],r=t[o];if(!ft(s,r)&&!dt(s,r)){const i=e.length>=2?e[e.length-2]:void 0,a=i&&ft(i,s)?{x:s.x,y:r.y}:{x:r.x,y:s.y};e.push(a)}e.push(r)}const n=[];for(const o of e){const s=n[n.length-1];(!s||!Zt(s,o))&&n.push(o)}return n}l.__name(Qe,"orthogonalizePolyline");function oe(t){if(t.length<3)return t;let e=[...t];for(let n=0;n<32;n++){const o=ss(e);if(e=o.points,!o.changed)break}return e}l.__name(oe,"simplifyPolyline");var Q=.001,Nr=.5,Ro=4;function fo(t,e,n){const o=t;if(o.isLayoutOnly||!o.points||o.points.length<n)return;const s=o.start?e.get(o.start):void 0,r=o.end?e.get(o.end):void 0;return{edge:o,points:o.points,srcRect:s?Vt(s):void 0,dstRect:r?Vt(r):void 0}}l.__name(fo,"endpointContextFor");function rs(t,e,n){if(dt(t,e,Q))return{x:t.x<n.left?n.left:n.right,y:t.y};if(ft(t,e,Q)){const o=t.y<n.top?n.top:n.bottom;return{x:t.x,y:o}}return{x:Math.min(n.right,Math.max(n.left,t.x)),y:Math.min(n.bottom,Math.max(n.top,t.y))}}l.__name(rs,"segmentEnterPoint");function En(t,e,n){const o=n?1:-1;let s=n?0:t.length-1;for(;s>=0&&s<t.length&&ro(t[s],e,Nr);)s+=o;if(s<0||s>=t.length)return t;const r=s-o;if(r<0||r>=t.length)return t;const i=rs(t[s],t[r],e);return n?[i,...t.slice(s)]:[...t.slice(0,s+1),i]}l.__name(En,"clipEndpoint");function is(t,e){for(const n of t){const o=fo(n,e,2);if(!o)continue;let s=[...o.points];o.srcRect&&(s=En(s,o.srcRect,!0)),o.dstRect&&(s=En(s,o.dstRect,!1)),s=oe(Qe(s)),s=uo(s,o.srcRect,o.dstRect),o.edge.points=oe(Qe(s))}}l.__name(is,"clipEdgeEndpointsToNodeBoundaries");function Tn(t,e,n,o=!1){if(dt(t,e,Q)){if(e.y<n.top-Q||e.y>n.bottom+Q)return e;if(o){if(t.x<n.left-Q)return{x:n.left,y:t.y};if(t.x>n.right+Q)return{x:n.right,y:t.y}}return{x:Math.abs(e.x-n.left)<=Math.abs(e.x-n.right)?n.left:n.right,y:t.y}}if(ft(t,e,Q)){if(e.x<n.left-Q||e.x>n.right+Q)return e;if(o){if(t.y<n.top-Q)return{x:t.x,y:n.top};if(t.y>n.bottom+Q)return{x:t.x,y:n.bottom}}const s=Math.abs(e.y-n.top)<=Math.abs(e.y-n.bottom);return{x:t.x,y:s?n.top:n.bottom}}return e}l.__name(Tn,"snapEndpointToBoundary");function tn(t,e,n){const o=t[e];for(let s=e+n;s>=0&&s<t.length;s+=n){const r=t[s];if(!Zt(r,o,Q))return r}return t[e+n]}l.__name(tn,"firstDistinctAdjacent");function en(t,e){const n=t+Ro,o=e-Ro;return n<=o?{lo:n,hi:o}:{lo:(t+e)/2,hi:(t+e)/2}}l.__name(en,"cornerClearanceRange");function An(t,e,n){const{lo:o,hi:s}=en(e,n);return Math.min(s,Math.max(o,t))}l.__name(An,"clampToCornerClearance");function cs(t){const e=Math.max(...t.map(o=>o.lo)),n=Math.min(...t.map(o=>o.hi));if(!(e>n))return{lo:e,hi:n}}l.__name(cs,"intersectRanges");function Rn(t,e){return e==="left"||e==="right"?en(t.top,t.bottom):en(t.left,t.right)}l.__name(Rn,"clearanceRangeForSide");function nn(t,e,n){const o=t.y>=n.top-Q&&t.y<=n.bottom+Q,s=t.x>=n.left-Q&&t.x<=n.right+Q;if(dt(t,e,Q)&&o){if(Math.abs(t.x-n.left)<Q)return"left";if(Math.abs(t.x-n.right)<Q)return"right"}if(ft(t,e,Q)&&s){if(Math.abs(t.y-n.top)<Q)return"top";if(Math.abs(t.y-n.bottom)<Q)return"bottom"}}l.__name(nn,"terminalSideForSegment");function Pe(t){return t==="left"||t==="right"}l.__name(Pe,"isHorizontalSide");function as(t,e,n,o,s){const r=[],i=n?nn(t,e,n):void 0,a=o?nn(e,t,o):void 0;return n&&i&&Pe(i)===s&&r.push(Rn(n,i)),o&&a&&Pe(a)===s&&r.push(Rn(o,a)),r.length>0?cs(r):void 0}l.__name(as,"straightClearanceRange");function Nn(t,e,n,o,s){const r=as(t,e,n,o,s);if(!r)return;const i=s?t.y:t.x,a=Math.min(r.hi,Math.max(r.lo,i));if(!(Math.abs(a-i)<Q))return s?[{x:t.x,y:a},{x:e.x,y:a}]:[{x:a,y:t.y},{x:a,y:e.y}]}l.__name(Nn,"clearStraightEndpointCornerAxis");function uo(t,e,n){if(t.length!==2)return t;const[o,s]=t;return dt(o,s,Q)?Nn(o,s,e,n,!0)??t:ft(o,s,Q)?Nn(o,s,e,n,!1)??t:t}l.__name(uo,"clearStraightEndpointCornerConnections");function ls(t,e,n){return Pe(n)?{x:t.x,y:An(t.y,e.top,e.bottom)}:{x:An(t.x,e.left,e.right),y:t.y}}l.__name(ls,"cornerClearedEndpoint");function fs(t,e,n,o,s,r){const i=t.map(a=>({...a}));for(let a=e;a>=0&&a<t.length;a+=n){const d=t[a];if(r&&!dt(d,o,Q)||!r&&!ft(d,o,Q))break;r?i[a].y=s.y:i[a].x=s.x}return i}l.__name(fs,"moveCollinearEndpointRun");function On(t,e,n){if(t.length<2)return t;const o=n?0:t.length-1,s=n?1:-1,r=t[o],i=tn(t,o,s);if(!i)return t;const a=nn(r,i,e);if(!a)return t;const d=Pe(a),c=ls(r,e,a);return Zt(r,c,Q)?t:fs(t,o,s,r,c,d)}l.__name(On,"clearEndpointCornerConnection");function Pn(t,e,n){const o=Math.min(t.x,e.x)>=n.left-Q&&Math.max(t.x,e.x)<=n.right+Q,s=Math.min(t.y,e.y)>=n.top-Q&&Math.max(t.y,e.y)<=n.bottom+Q;if(Math.abs(t.y-n.top)<Q&&Math.abs(e.y-n.top)<Q&&o)return"top";if(Math.abs(t.y-n.bottom)<Q&&Math.abs(e.y-n.bottom)<Q&&o)return"bottom";if(Math.abs(t.x-n.left)<Q&&Math.abs(e.x-n.left)<Q&&s)return"left";if(Math.abs(t.x-n.right)<Q&&Math.abs(e.x-n.right)<Q&&s)return"right"}l.__name(Pn,"borderSideForSegment");function Bn(t,e,n,o){switch(t){case"top":return ft(e,n,Q)&&n.y<o.top-Q;case"bottom":return ft(e,n,Q)&&n.y>o.bottom+Q;case"left":return dt(e,n,Q)&&n.x<o.left-Q;case"right":return dt(e,n,Q)&&n.x>o.right+Q}}l.__name(Bn,"leavesOutward");function kn(t,e,n){if(t.length<3)return t;if(n){const r=Pn(t[0],t[1],e);return r&&Bn(r,t[1],t[2],e)?t.slice(1):t}const o=t.length-1,s=Pn(t[o-1],t[o],e);return s&&Bn(s,t[o-1],t[o-2],e)?t.slice(0,o):t}l.__name(kn,"collapseOwnBorderStub");function ds(t,e,n){let o=t;if(e){const r=tn(o,0,1);if(r){const i=Tn(r,o[0],e);i!==o[0]&&(o=[i,...o.slice(1)])}o=kn(o,e,!0)}if(n){const r=o.length-1,i=tn(o,r,-1);if(i){const a=Tn(i,o[r],n,!0);a!==o[r]&&(o=[...o.slice(0,r),a])}o=kn(o,n,!1)}const s=uo(o,e,n);return s!==o||o.length===2?s:(e&&(o=On(o,e,!0)),n&&(o=On(o,n,!1)),o)}l.__name(ds,"snapAndCollapseEndpoints");function Fn(t,e){for(const n of t){const o=fo(n,e,2);if(!o)continue;const s=ds(gt(o.points,Q),o.srcRect,o.dstRect);if(s.length<3){o.edge.points=s;continue}const r=[s[0],{...s[0]},...s.slice(1,-1),s[s.length-1],{...s[s.length-1]}];o.edge.points=r}}l.__name(Fn,"prepareEdgeEndpointsForRenderer");function ho(t){return new Map(t.map(e=>[e.id,e]))}l.__name(ho,"buildNodeMap");function us(t,e){let n=t.parentId,o=null;for(;n;){const s=e.get(n);if(!s?.isGroup)break;o=s.id,n=s.parentId}return o}l.__name(us,"resolveTopLevelGroupId");function Dn(t,e){let n=0,o=t.parentId;for(;o;){const s=e.get(o);if(!s?.isGroup)break;n++,o=s.parentId}return n}l.__name(Dn,"groupDepth");function go(t){let e=1/0,n=-1/0,o=1/0,s=-1/0;for(const r of t){const i=r.x,a=r.y;if(typeof i!="number"||typeof a!="number")continue;const d=r.width??0,c=r.height??0;e=Math.min(e,i-d/2),n=Math.max(n,i+d/2),o=Math.min(o,a-c/2),s=Math.max(s,a+c/2)}return e===1/0||o===1/0?null:{minX:e,maxX:n,minY:o,maxY:s}}l.__name(go,"boundsForChildren");function hs(t,e){const n=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+n,t.height=Math.max(0,e.maxY-e.minY)+n}l.__name(hs,"applyGroupBounds");function gs(t){const e=ho(t),n=t.filter(o=>o.isGroup&&o.parentId).sort((o,s)=>Dn(s,e)-Dn(o,e));for(const o of n){const s=go(t.filter(r=>r.parentId===o.id));s&&hs(o,s)}}l.__name(gs,"recomputeNestedGroupBounds");function on(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(d=>!d.isGroup);let r=1/0,i=-1/0;for(const d of s){const c=d[e];typeof c=="number"&&(r=Math.min(r,c),i=Math.max(i,c))}if(!Number.isFinite(r)||!Number.isFinite(i))return!1;const a=l.__name(d=>r+i-d,"mirror");for(const d of n){const c=d[e];typeof c=="number"&&(d[e]=a(c));const g=d.groupTitleRect;g&&(d.groupTitleRect=e==="x"?{...g,left:a(g.right),right:a(g.left)}:{...g,top:a(g.bottom),bottom:a(g.top)})}for(const d of o)for(const c of d.points??[])c[e]=a(c[e]);return!0}l.__name(on,"mirrorAxis");function ms(t){return(t.nodes??[]).some(e=>!e.isGroup)?on(t,"y"):!0}l.__name(ms,"applyBtDirectionTransform");function ps(t,e="LR"){const n=t.nodes??[],o=t.edges??[],s=n.filter(R=>!R.isGroup);let r=1/0,i=1/0;for(const R of s){const A=R.x??0,k=R.y??0;A<r&&(r=A),k<i&&(i=k)}if(!Number.isFinite(r)||!Number.isFinite(i))return!1;const a=36;let d=0,c=0;for(const R of s)d+=R.width??0,c+=R.height??0;const g=d/s.length,_=c/s.length,x=_>0?Math.max(1,g/_):1;for(const R of s){const A=R.x??0,k=((R.y??0)-i)*x+a,B=A-r;R.x=k,R.y=B}for(const R of o)if(R.points)for(const A of R.points){const k=A.x,B=(A.y-i)*x+a,X=k-r;A.x=B,A.y=X}gs(n);const h=n.filter(R=>R.isGroup&&!R.parentId);if(h.length===0)return e==="RL"&&on(t,"x"),!0;const m=ho(n),f=new Map;for(const R of n){if(R.isGroup)continue;const A=us(R,m);if(!A)continue;const k=f.get(A)??[];k.push(R),f.set(A,k)}let b=0;for(const R of h){const A=R.padding??0;A>b&&(b=A)}const v=[];let I=1/0,w=-1/0;for(const R of h){const A=go(f.get(R.id)??[]);A&&(I=Math.min(I,A.minX),w=Math.max(w,A.maxX),v.push({lane:R,contentTop:A.minY,contentBottom:A.maxY,centerY:(A.minY+A.maxY)/2}))}if(I===1/0||w===-1/0)return!0;const L=Math.max(0,w-I)+2*Math.max(b,10),p=a+L,M=(I+w)/2-L/2-a,T=M+p/2,N=Math.max(b,a);v.sort((R,A)=>R.centerY-A.centerY);for(let R=0;R<v.length;R++){const A=v[R];let k,B;if(R===0?k=A.contentTop-N:k=(v[R-1].contentBottom+A.contentTop)/2,R===v.length-1)B=A.contentBottom+N;else{const tt=v[R+1];B=(A.contentBottom+tt.contentTop)/2}const X=Math.max(0,B-k),K=(k+B)/2;A.lane.x=T,A.lane.y=K,A.lane.width=p,A.lane.height=X,A.lane.swimlaneContentTop=A.contentTop,A.lane.groupTitleRect={left:M,right:M+a,top:k,bottom:B}}return e==="RL"&&on(t,"x"),!0}l.__name(ps,"applyLrDirectionTransform");var Qt=1e-6,ze=8,Or=[0,ze,-ze,2*ze,-2*ze];function ys(t,e){const{nodeInfoById:n,realNodeRects:o}=an(e);for(const s of t){if(s.isLayoutOnly)continue;const r=s.points;if(!r||r.length<4)continue;const i=so(gt(r,Qt),Qt);if(!i)continue;const{p3:a}=i,d=i.kind==="HVH",c=ao(s,n,Qt);if(!c)continue;const{srcId:g,dstId:_,srcInfo:x,dstInfo:h,collinearX:m,collinearY:f}=c;if(m||f)continue;let b;const v=x.rect;for(const I of Or){let w,L,p;if(d){const A=h.cy>x.cy?v.bottom:v.top,k=x.cx+I;if(k<=v.left+Qt||k>=v.right-Qt)continue;w={x:k,y:A},L={x:k,y:a.y},p={x:a.x,y:a.y}}else{const A=h.cx>x.cx?v.right:v.left,k=x.cy+I;if(k<=v.top+Qt||k>=v.bottom-Qt)continue;w={x:A,y:k},L={x:a.x,y:k},p={x:a.x,y:a.y}}const M=Zt(w,L,Qt),T=Zt(L,p,Qt);if(M&&T||!M&&Et(w,L,o,[g],1)||!T&&Et(L,p,o,[_],1))continue;const N=!M&&Ze(w,L,t,s,{epsilon:Qt,skipDegenerateOther:!0}),R=!T&&Ze(L,p,t,s,{epsilon:Qt,skipDegenerateOther:!0});if(!(N||R)){M?b=[L,p]:T?b=[w,L]:b=[w,L,p];break}}b&&(s.points=b)}}l.__name(ys,"portSwapToLShape");function xs(t,e){const{realNodeRects:r,labelNodeRects:i}=pe(e.values());for(const a of t){if(a.isLayoutOnly)continue;const d=a.points;if(!d||d.length<4)continue;const c=gt(d,.001);if(c.length<4)continue;const g=c.length-1,_=c[g],x=c[g-1],h=c[g-2],m=_.x-x.x,f=_.y-x.y,b=Math.hypot(m,f);if(b>=10||b<.001)continue;const v=x.x-h.x,I=x.y-h.y;if(Math.hypot(v,I)<.001)continue;const w=Lt(x,_,.001),L=vt(x,_,.001),p=Lt(h,x,.001),M=vt(h,x,.001);if(!(w&&M||L&&p))continue;const T=a.end,N=a.start,R=T?e.get(T):void 0;if(!R)continue;const A=R.x??0,k=R.y??0,B=Vt(R);if(!B)continue;let X,K;if(M){const st=I<0;X={x:A,y:h.y},K={x:A,y:st?B.bottom:B.top}}else{const st=v>0;X={x:h.x,y:k},K={x:st?B.right:B.left,y:k}}if(Et(X,K,r,T?[T]:[],-2)||Et(X,K,i,[],-2))continue;if(N){const st=e.get(N),W=st?Vt(st):void 0;if(W&&ro(X,W,2))continue}const tt=l.__name((st,W)=>`${st.x.toFixed(3)},${st.y.toFixed(3)}|${W.x.toFixed(3)},${W.y.toFixed(3)}`,"ownSegmentKey"),et=new Set;for(let st=0;st<c.length-1;st++)et.add(tt(c[st],c[st+1]));const _t=l.__name((st,W)=>{for(const Z of t){if(Z===a||Z.isLayoutOnly)continue;const ot=Z.points;if(!(!ot||ot.length<2))for(let ct=0;ct<ot.length-1;ct++){const xt=ot[ct],bt=ot[ct+1];if(!et.has(tt(xt,bt))&&ae(st,W,xt,bt,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(_t(X,K))continue;if(g-3>=0){const st=c[g-3],W=[N,T].filter(Z=>!!Z);if(Et(st,X,r,W,-2)||_t(st,X))continue}const yt=[...c.slice(0,g-2),X,K];a.points=yt;const Pt=a.labelNodeId;if(Pt){const st=e.get(Pt);if(st){const W=st.width??0,Z=st.height??0;if(W>0&&Z>0){let ot,ct,xt=-1;for(let bt=0;bt<yt.length-1;bt++){const St=yt[bt],jt=yt[bt+1],Kt=Math.hypot(jt.x-St.x,jt.y-St.y),se=dt(St,jt,.001),re=ft(St,jt,.001);(se&&Kt>=W+2||re&&Kt>=Z+2)&&Kt>xt&&(xt=Kt,ot=(St.x+jt.x)/2,ct=(St.y+jt.y)/2)}ot!==void 0&&ct!==void 0&&(st.x=ot,st.y=ct)}}}}}l.__name(xs,"collapseShortTerminalStub");var J=.001,Bt=8,rt=Te,bn=l.__name((t,e)=>ft(t,e,J)||dt(t,e,J),"orthogonallyAligned");function _s(t,e){const s=l.__name((h,m)=>{const f=h.x??0,b=h.y??0,v=m.x-f,I=m.y-b;let w=(h.width??0)/2,L=(h.height??0)/2;return Math.abs(I)*w>Math.abs(v)*L?(I<0&&(L=-L),{x:f+(I===0?0:L*v/I),y:b+L}):(v<0&&(w=-w),{x:f+w,y:b+(v===0?0:w*I/v)})},"rectIntersect"),r=l.__name((h,m)=>{const f=gt(h.points??[]);if(f.length<2)return;const b=m?h.start:h.end,v=b?e.get(b):void 0,I=v?Vt(v):void 0;if(!v||!b||!I)return;const w=m?f[0]:f[f.length-1],L=m?f[1]:f[f.length-2],p=s(v,w);let M=w;if(bn(L,p)&&(M=L),ft(p,M,J))return{edge:h,edgeId:String(h.id??""),nodeId:b,atStart:m,orientation:"V",coord:p.x,min:Math.min(p.y,M.y),max:Math.max(p.y,M.y),boundary:p,railEnd:M,rect:I};if(dt(p,M,J))return{edge:h,edgeId:String(h.id??""),nodeId:b,atStart:m,orientation:"H",coord:p.y,min:Math.min(p.x,M.x),max:Math.max(p.x,M.x),boundary:p,railEnd:M,rect:I}},"terminalLaneFor"),i=l.__name((h,m)=>Math.max(0,Math.min(h.max,m.max)-Math.max(h.min,m.min)),"projectedOverlapLength"),a=l.__name((h,m)=>h.nodeId!==m.nodeId||h.orientation!==m.orientation?!1:h.orientation==="H"?(Math.abs(h.boundary.x-h.rect.left)<1||Math.abs(h.boundary.x-h.rect.right)<1)&&ft(h.boundary,m.boundary,1):(Math.abs(h.boundary.y-h.rect.top)<1||Math.abs(h.boundary.y-h.rect.bottom)<1)&&dt(h.boundary,m.boundary,1),"sameTerminalFace"),d=l.__name((h,m)=>h.nodeId!==m.nodeId||h.orientation!==m.orientation?!1:i(h,m)>=Bt&&Math.abs(h.coord-m.coord)<.5,"exactTerminalLaneConflict"),c=l.__name((h,m)=>{if(h.nodeId!==m.nodeId||h.orientation!==m.orientation||h.orientation!=="H"||h.atStart===m.atStart)return!1;const f=i(h,m);if(f<Bt)return!1;const b=h.rect.bottom-h.rect.top;return f<b||f>2*b?!1:a(h,m)&&Math.abs(h.coord-m.coord)<16},"nearTerminalLaneConflict"),g=l.__name((h,m)=>{const f=gt(h.edge.points??[]);if(f.length<2)return;const b=h.orientation==="V"?{x:h.boundary.x+m,y:h.boundary.y}:{x:h.boundary.x,y:h.boundary.y+m},v=h.orientation==="V"?{x:h.railEnd.x+m,y:h.railEnd.y}:{x:h.railEnd.x,y:h.railEnd.y+m};if(!l.__name(()=>Math.abs(h.boundary.y-h.rect.top)<1||Math.abs(h.boundary.y-h.rect.bottom)<1?dt(b,h.boundary,J)&&b.x>=h.rect.left+1&&b.x<=h.rect.right-1:Math.abs(h.boundary.x-h.rect.left)<1||Math.abs(h.boundary.x-h.rect.right)<1?ft(b,h.boundary,J)&&b.y>=h.rect.top+1&&b.y<=h.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(h.atStart){const p=f.length>1&&Zt(f[1],h.railEnd,J),M=f.slice(p?2:1),T=M[0];return T&&!bn(T,v)?void 0:[b,v,...M]}const I=f.length>1&&Zt(f[f.length-2],h.railEnd,J),w=f.slice(0,I?-2:-1),L=w[w.length-1];if(!(L&&!bn(L,v)))return[...w,v,b]},"shiftedCandidate"),_=l.__name(h=>{const m=h.edge,f=gt(m.points??[]);if(f.length!==2)return!1;const b=m.start,v=m.end,I=b?e.get(b):void 0,w=v?e.get(v):void 0;if(!I||!w)return!1;const L=I.x??0,p=I.y??0,M=w.x??0,T=w.y??0,[N,R]=f;return dt(N,R,J)&&Math.abs(p-T)<1&&Math.abs(L-M)>1||ft(N,R,J)&&Math.abs(L-M)<1&&Math.abs(p-T)>1},"laneIsStraightCollinearConnector"),x=[-7,7,-14,14,-21,21];for(let h=0;h<8;h++){const m=t.filter(b=>!b.isLayoutOnly).flatMap(b=>[r(b,!0),r(b,!1)]).filter(b=>!!b);let f=!1;for(let b=0;b<m.length&&!f;b++)for(let v=b+1;v<m.length&&!f;v++){const I=m[b],w=m[v];if(I.edge===w.edge||!(d(I,w)||c(I,w)))continue;const L=!d(I,w),p=[I,w].sort((M,T)=>{const N=_(M),R=_(T);return N!==R?Number(N)-Number(R):+!T.atStart-+!M.atStart});for(const M of p){for(const T of x){const N=g(M,T);if(!N)continue;const R=r({...M.edge,points:N},M.atStart);if(!(!R||m.some(A=>A.edge!==M.edge&&(d(R,A)||L&&c(R,A))))){M.edge.points=N,f=!0;break}}if(f)break}}if(!f)return}}l.__name(_s,"separateSharedRenderedTerminalLanes");function bs(t,e){const{realNodeRects:o,labelNodeRects:s}=pe(e.values()),r=l.__name((a,d)=>{const c=a.start,g=a.end,_=rt(d);if(_.length!==d.length-1)return!1;const x=[c,g].filter(h=>!!h);for(const h of _)if(Et(h.a,h.b,o,x,-2)||Et(h.a,h.b,s,[],-2))return!1;for(const h of t){if(h===a||h.isLayoutOnly)continue;const m=h.points;if(!(!m||m.length<2)){for(const f of _)for(const b of rt(gt(m)))if(ne(f,b,.5)>=Bt||ae(f.a,f.b,b.a,b.b,J))return!1}}return!0},"candidateIsSafe"),i=l.__name((a,d)=>{if(d+4>=a.length)return;const c=a[d],g=a[d+1],_=a[d+2],x=a[d+3],h=a[d+4],m=Lt(c,g)&&vt(g,_)&&Lt(_,x)&&vt(x,h)&&ft(c,x,J)&&ft(c,h,J)&&ft(g,_,J)&&(g.x-c.x)*(x.x-_.x)<0,f=vt(c,g)&&Lt(g,_)&&vt(_,x)&&Lt(x,h)&&dt(c,x,J)&&dt(c,h,J)&&dt(g,_,J)&&(g.y-c.y)*(x.y-_.y)<0;if(m||f)return gt([...a.slice(0,d+1),h,...a.slice(d+5)]);if(d+5>=a.length)return;const b=a[d+5],v=vt(c,g)&&Lt(g,_)&&vt(_,x)&&Lt(x,h)&&vt(h,b)&&ft(c,h,J)&&ft(c,b,J)&&ft(_,x,J)&&(_.x-g.x)*(h.x-x.x)<0,I=Lt(c,g)&&vt(g,_)&&Lt(_,x)&&vt(x,h)&&Lt(h,b)&&dt(c,h,J)&&dt(c,b,J)&&dt(_,x,J)&&(_.y-g.y)*(h.y-x.y)<0;if(!(!v&&!I))return gt([...a.slice(0,d+1),b,...a.slice(d+6)])},"withoutDogleg");for(let a=0;a<8;a++){let d=!1;for(const c of t){if(c.isLayoutOnly)continue;const g=gt(c.points??[]);for(let _=0;_<=g.length-5;_++){const x=i(g,_);if(!(!x||!r(c,x))){c.points=x,d=!0;break}}if(d)break}if(!d)return}}l.__name(bs,"collapseRedundantRectangularDoglegs");function Hn(t,e){const{realNodeRects:r,labelNodeRects:i}=pe(e.values()),a=t.filter(m=>!m.isLayoutOnly),d=l.__name((m,f,b)=>gt(m===f?b??[]:m.points??[]),"pointsFor"),c=l.__name((m,f)=>{let b=0;for(let v=0;v<a.length;v++){const I=rt(d(a[v],m,f));for(let w=v+1;w<a.length;w++){const L=rt(d(a[w],m,f));for(const p of I)for(const M of L)ae(p.a,p.b,M.a,M.b,J)&&b++}}return b},"strictCrossingCount"),g=l.__name(m=>{const f=rt(m);if(f.length!==3)return;const b=f[1];if(!(f[0].horizontal===b.horizontal||f[2].horizontal===b.horizontal))return{index:b.index,horizontal:b.horizontal,vertical:b.vertical,segment:b}},"middleRail"),_=l.__name((m,f)=>{const b=[m.start,m.end].filter(v=>!!v);return r.filter(v=>{if(b.includes(v.id))return!1;const I=v.rect;return f.horizontal?Gt(f.a.x,f.b.x,I.left,I.right)>=Bt&&f.a.y>=I.top-2&&f.a.y<=I.bottom+2:Gt(f.a.y,f.b.y,I.top,I.bottom)>=Bt&&f.a.x>=I.left-2&&f.a.x<=I.right+2})},"blockingRectsFor"),x=l.__name((m,f,b)=>{const v=m.map(w=>({...w}));if(f.horizontal)v[f.index].y=b,v[f.index+1].y=b;else if(f.vertical)v[f.index].x=b,v[f.index+1].x=b;else return;const I=oe(gt(v));return rt(I).length===I.length-1?I:void 0},"candidateByMovingRail"),h=l.__name((m,f,b)=>{const v=[m.start,m.end].filter(w=>!!w),I=rt(f);if(I.length!==f.length-1)return!1;for(const w of I)if(Et(w.a,w.b,r,v,-2)||Et(w.a,w.b,i,[],-2))return!1;for(const w of a)if(w!==m){for(const L of I)for(const p of rt(d(w)))if(ne(L,p,.5)>=Bt)return!1}return c(m,f)<=b},"candidateIsSafe");for(let m=0;m<8;m++){const f=c();let b=!1;for(const v of a){const I=d(v),w=g(I);if(!w)continue;const L=_(v,w.segment);if(L.length===0)continue;const p=w.horizontal?[Math.min(...L.map(M=>M.rect.top))-20,Math.max(...L.map(M=>M.rect.bottom))+20]:[Math.min(...L.map(M=>M.rect.left))-20,Math.max(...L.map(M=>M.rect.right))+20];for(const M of p){const T=x(I,w.segment,M);if(!(!T||!h(v,T,f))){v.points=T,b=!0;break}}if(b)break}if(!b)return}}l.__name(Hn,"liftObstacleHuggingSameSideRails");function Xn(t,e){const o=l.__name(d=>{const c=d.groupTitleRect;if(!(!c||typeof c.left!="number"||typeof c.right!="number"||typeof c.top!="number"||typeof c.bottom!="number"||!Number.isFinite(c.left)||!Number.isFinite(c.right)||!Number.isFinite(c.top)||!Number.isFinite(c.bottom)||c.right<=c.left||c.bottom<=c.top))return{left:c.left,right:c.right,top:c.top,bottom:c.bottom}},"validTitleRect"),s=l.__name(d=>{if(!d.isGroup||d.parentId)return;const c=d.direction,g=typeof c=="string"?c.toUpperCase():"";if(g==="LR"||g==="RL"||g==="BT")return;const _=o(d),x=d.y,h=d.height;if(!_||typeof x!="number"||typeof h!="number"||!Number.isFinite(x)||!Number.isFinite(h)||h<=0)return;const m=_.right-_.left,f=_.bottom-_.top;if(!(f<=0||m<f))return{node:d,rect:_}},"topLaneTitleFor"),r=l.__name((d,c)=>{if(!d.horizontal)return!1;const g=d.a.y;return g<=c.top+J||g>=c.bottom-J?!1:Gt(d.a.x,d.b.x,c.left,c.right)>=Bt},"horizontalSegmentIntersectsTitle"),i=[...e.values()].map(s).filter(d=>!!d);if(i.length===0)return;let a=0;for(const d of t){if(d.isLayoutOnly)continue;const c=gt(d.points??[]);for(const g of rt(c))for(const _ of i)r(g,_.rect)&&(a=Math.max(a,_.rect.bottom-g.a.y+4))}if(!(a<=J))for(const d of i){const c=d.node.y,g=d.node.height;typeof c!="number"||typeof g!="number"||!Number.isFinite(c)||!Number.isFinite(g)||g<=0||(d.node.y=c-a/2,d.node.height=g+a,d.node.groupTitleRect={...d.rect,top:d.rect.top-a,bottom:d.rect.bottom-a})}}l.__name(Xn,"liftTopLaneTitleBandsAboveRails");function Yn(t,e){const o=l.__name(c=>{const g=c.groupTitleRect;if(!(!g||typeof g.left!="number"||typeof g.right!="number"||typeof g.top!="number"||typeof g.bottom!="number"||!Number.isFinite(g.left)||!Number.isFinite(g.right)||!Number.isFinite(g.top)||!Number.isFinite(g.bottom)||g.right<=g.left||g.bottom<=g.top))return{left:g.left,right:g.right,top:g.top,bottom:g.bottom}},"validTitleRect"),s=l.__name(c=>{if(!c.isGroup||c.parentId||c.direction!=="LR")return;const g=o(c),_=c.x,x=c.width;if(!g||typeof _!="number"||typeof x!="number"||!Number.isFinite(_)||!Number.isFinite(x)||x<=0)return;const h=g.right-g.left,m=g.bottom-g.top;if(!(h<=0||m<h))return{node:c,rect:g}},"leftLaneTitleFor"),r=l.__name((c,g)=>{if(!c.vertical)return!1;const _=c.a.x;return _<=g.left+J||_>=g.right-J?!1:Gt(c.a.y,c.b.y,g.top,g.bottom)>=Bt},"verticalSegmentIntersectsTitle"),i=l.__name((c,g)=>{if(!c.horizontal)return!1;const _=c.a.y;return _<=g.top+J||_>=g.bottom-J?!1:Gt(c.a.x,c.b.x,g.left,g.right)>=Bt},"horizontalSegmentIntersectsTitle"),a=[...e.values()].map(s).filter(c=>!!c);if(a.length===0)return;let d=0;for(const c of t){if(c.isLayoutOnly)continue;const g=gt(c.points??[]);for(const _ of rt(g))for(const x of a)if(r(_,x.rect))d=Math.max(d,x.rect.right-_.a.x+4);else if(i(_,x.rect)){const h=Math.min(_.a.x,_.b.x);d=Math.max(d,x.rect.right-h+4)}}if(!(d<=J))for(const c of a){const g=c.node.x,_=c.node.width;typeof g!="number"||typeof _!="number"||!Number.isFinite(g)||!Number.isFinite(_)||_<=0||(c.node.x=g-d/2,c.node.width=_+d,c.node.groupTitleRect={...c.rect,left:c.rect.left-d,right:c.rect.right-d})}}l.__name(Yn,"shiftLeftLaneTitleBandsLeftOfRails");function Ms(t,e){const{realNodeRects:o}=pe(e.values()),s=t.filter(m=>!m.isLayoutOnly),r=l.__name((m,f=new Map)=>gt(f.get(m)??m.points??[]),"replacementPointsFor"),i=l.__name((m=new Map)=>{let f=0;for(let b=0;b<s.length;b++){const v=rt(r(s[b],m));for(let I=b+1;I<s.length;I++){const w=rt(r(s[I],m));for(const L of v)for(const p of w)ae(L.a,L.b,p.a,p.b,J)&&f++}}return f},"crossingCount"),a=l.__name((m=new Map)=>s.reduce((f,b)=>f+qt(r(b,m)),0),"totalBends"),d=l.__name(m=>{const f=r(m);if(f.length<4)return;const b=f[f.length-2],v=f[f.length-1];if(!(!Lt(b,v,J)&&!vt(b,v,J)))return{tailStart:b,terminal:v}},"terminalTailFor"),c=l.__name((m,f)=>{const b=r(m);if(b.length<3)return;const v=b[0],I=b[1];let w;if(Lt(v,I,J))w={x:I.x,y:f.tailStart.y};else if(vt(v,I,J))w={x:f.tailStart.x,y:I.y};else return;const L=oe(gt([v,I,w,f.tailStart,f.terminal]));return rt(L).length===L.length-1?L:void 0},"candidateWithDestinationTail"),g=l.__name((m,f)=>{const b=[m.start,m.end].filter(v=>!!v);for(const v of rt(f))if(Et(v.a,v.b,o,b,-2))return!0;return!1},"pathHasNodeHit"),_=l.__name((m,f,b)=>{for(const v of s)if(v!==m){for(const I of rt(f))for(const w of rt(r(v,b)))if(ne(I,w,.5)>=Bt)return!0}return!1},"pathHasSharedTrack"),x=l.__name((m,f,b)=>!g(m,f)&&!_(m,f,b),"candidateIsSafe"),h=l.__name(()=>{const m=new Map;for(const f of s){const b=f.end;if(!b||!e.has(b)||r(f).length<4)continue;const v=m.get(b)??[];v.push(f),m.set(b,v)}return m},"edgesByDestination");for(let m=0;m<4;m++){const f=i();if(f===0)return;const b=a();let v,I=f,w=b;for(const L of h().values())for(let p=0;p<L.length;p++)for(let M=p+1;M<L.length;M++){const T=L[p],N=L[M],R=d(T),A=d(N);if(!R||!A)continue;const k=c(T,A),B=c(N,R);if(!k||!B)continue;const X=new Map([[T,k],[N,B]]);if(!x(T,k,X)||!x(N,B,X))continue;const K=i(X),tt=a(X);K>=f||K>I||K===I&&tt>=w||(v=X,I=K,w=tt)}if(!v)return;for(const[L,p]of v)L.points=p}}l.__name(Ms,"swapDestinationTerminalTailsToReduceCrossings");function Is(t,e){const{realNodeRects:r,labelNodeRects:i}=pe(e.values()),a=t.filter(L=>!L.isLayoutOnly),d=l.__name((L,p=new Map)=>gt(p.get(L)??L.points??[]),"replacementPointsFor"),c=l.__name((L=new Map)=>{let p=0;for(let M=0;M<a.length;M++){const T=rt(d(a[M],L));for(let N=M+1;N<a.length;N++){const R=rt(d(a[N],L));for(const A of T)for(const k of R)ae(A.a,A.b,k.a,k.b,J)&&p++}}return p},"strictCrossingCount"),g=l.__name((L=new Map)=>a.reduce((p,M)=>p+qt(d(M,L)),0),"totalBends"),_=l.__name(L=>{const p=L.start,M=L.end,T=p?e.get(p):void 0,N=M?e.get(M):void 0,R=T?Vt(T):void 0,A=N?Vt(N):void 0;return R&&A?{src:R,dst:A}:void 0},"endpointRectsFor"),x=l.__name((L,p,M)=>{if(M.index<=0||M.index+1>=p.length-1)return;const T=_(L);if(T){if(M.vertical){const N=M.a.x,R=Math.min(T.src.left,T.dst.left),A=Math.max(T.src.right,T.dst.right),k=N<R-J?"left":N>A+J?"right":void 0;return k?{edge:L,points:p,segmentIndex:M.index,axis:"vertical",side:k,coord:N,min:Math.min(M.a.y,M.b.y),max:Math.max(M.a.y,M.b.y)}:void 0}if(M.horizontal){const N=M.a.y,R=Math.min(T.src.top,T.dst.top),A=Math.max(T.src.bottom,T.dst.bottom),k=N<R-J?"top":N>A+J?"bottom":void 0;return k?{edge:L,points:p,segmentIndex:M.index,axis:"horizontal",side:k,coord:N,min:Math.min(M.a.x,M.b.x),max:Math.max(M.a.x,M.b.x)}:void 0}}},"externalRailForSegment"),h=l.__name(()=>{const L=[];for(const p of a){const M=d(p);for(const T of rt(M)){const N=x(p,M,T);N&&L.push(N)}}return L},"collectExternalRails"),m=l.__name((L,p)=>L.edge!==p.edge&&L.axis===p.axis&&L.side===p.side&&Gt(L.min,L.max,p.min,p.max)>=Bt,"railsInteract"),f=l.__name(L=>{const p=[],M=new Set;for(const T of L){if(M.has(T))continue;const N=[T],R=[];for(M.add(T);N.length>0;){const A=N.pop();R.push(A);for(const k of L)!M.has(k)&&m(A,k)&&(M.add(k),N.push(k))}R.length>1&&p.push(R)}return p},"connectedComponents"),b=l.__name(L=>{const p=[];for(const M of L)p.some(T=>Math.abs(T-M.coord)<J)||p.push(M.coord);for(;p.length<L.length;){const M=Math.min(...p),T=Math.max(...p),N=L[0].side;p.push(N==="left"||N==="top"?M-12*(L.length-p.length):T+12*(L.length-p.length))}return p},"uniqueCoordsFor"),v=l.__name(L=>{const p=L.map(N=>N.coord),M=b(L),T=[];if(L.length<=6){const N=new Array(M.length).fill(!1),R=[],A=l.__name(()=>{if(R.length===L.length){R.some((k,B)=>Math.abs(k-p[B])>=J)&&T.push([...R]);return}for(const[k,B]of M.entries())N[k]||(N[k]=!0,R.push(B),A(),R.pop(),N[k]=!1)},"visit");return A(),T}for(let N=0;N<p.length;N++)for(let R=N+1;R<p.length;R++){const A=[...p];[A[N],A[R]]=[A[R],A[N]],T.push(A)}return T},"coordinateAssignmentsFor"),I=l.__name((L,p)=>{const M=new Map;for(const[N,R]of L.entries()){const A=p[N],k=M.get(R.edge)??R.points.map(B=>({x:B.x,y:B.y}));R.axis==="vertical"?(k[R.segmentIndex].x=A,k[R.segmentIndex+1].x=A):(k[R.segmentIndex].y=A,k[R.segmentIndex+1].y=A),M.set(R.edge,k)}const T=new Map;for(const[N,R]of M){const A=oe(gt(R));if(rt(A).length!==A.length-1)return;T.set(N,A)}return T},"replacementsForAssignment"),w=l.__name(L=>{for(const[p,M]of L){const T=[p.start,p.end].filter(N=>!!N);for(const N of rt(M))if(Et(N.a,N.b,r,T,-2)||Et(N.a,N.b,i,[],-2))return!1}for(let p=0;p<a.length;p++){const M=a[p],T=L.has(M),N=rt(d(M,L));for(let R=p+1;R<a.length;R++){const A=a[R];if(!T&&!L.has(A))continue;const k=rt(d(A,L));for(const B of N)for(const X of k)if(ne(B,X,.5)>=Bt)return!1}}return!0},"candidateIsSafe");for(let L=0;L<4;L++){const p=c();if(p===0)return;let M,T=p,N=g(),R=Number.POSITIVE_INFINITY;for(const A of f(h()))for(const k of v(A)){const B=I(A,k);if(!B||!w(B))continue;const X=c(B);if(X>=p)continue;const K=g(B),tt=A.reduce((et,_t,yt)=>et+Math.abs(k[yt]-_t.coord),0);X>T||X===T&&(K>N||K===N&&tt>=R)||(M=B,T=X,N=K,R=tt)}if(!M)return;for(const[A,k]of M)A.points=k}}l.__name(Is,"reassignCrossingExternalRailChannels");function Ss(t,e){const{realNodeRects:o,labelNodeRects:s}=pe(e.values()),r=t.filter(h=>!h.isLayoutOnly),i=l.__name((h,m,f)=>gt(h===m?f??[]:h.points??[]),"pointsFor"),a=l.__name(h=>rt(h).reduce((m,f)=>{const b=f.a.x-f.b.x,v=f.a.y-f.b.y;return m+Math.hypot(b,v)},0),"pathLength"),d=l.__name((h,m)=>{let f=0;for(let b=0;b<r.length;b++){const v=rt(i(r[b],h,m));for(let I=b+1;I<r.length;I++){const w=rt(i(r[I],h,m));for(const L of v)for(const p of w)ae(L.a,L.b,p.a,p.b,J)&&f++}}return f},"strictCrossingCount"),c=l.__name((h,m)=>{if(h.horizontal){const f=h.a.y;return(Math.abs(f-m.top)<1||Math.abs(f-m.bottom)<1)&&Gt(h.a.x,h.b.x,m.left,m.right)>=Bt}if(h.vertical){const f=h.a.x;return(Math.abs(f-m.left)<1||Math.abs(f-m.right)<1)&&Gt(h.a.y,h.b.y,m.top,m.bottom)>=Bt}return!1},"segmentRunsAlongRectBorder"),g=l.__name(h=>{const m=[h.start,h.end].filter(b=>!!b),f=[];for(const b of m){const v=e.get(b),I=v?Vt(v):void 0;I&&f.push(I)}return f},"endpointRectsFor"),_=l.__name((h,m)=>{if(m+3>=h.length)return[];const f=h[m],b=h[m+1],v=h[m+2],I=h[m+3],w=Lt(f,b,J)&&vt(b,v,J)&&Lt(v,I,J),L=vt(f,b,J)&&Lt(b,v,J)&&vt(v,I,J);if(!w&&!L)return[];if(!(w?Math.sign(b.x-f.x)!==Math.sign(I.x-v.x):Math.sign(b.y-f.y)!==Math.sign(I.y-v.y)))return[];const p=ft(f,I,J)||dt(f,I,J)?[]:[{x:f.x,y:I.y},{x:I.x,y:f.y}],M=p.length===0?[[...h.slice(0,m+1),...h.slice(m+3)]]:p.map(N=>[...h.slice(0,m+1),N,...h.slice(m+3)]),T=new Set;return M.map(N=>oe(gt(N))).filter(N=>{if(rt(N).length!==N.length-1||!N.some(A=>Zt(A,I,J)))return!1;const R=N.map(A=>`${A.x.toFixed(3)},${A.y.toFixed(3)}`).join("|");return T.has(R)?!1:(T.add(R),!0)})},"shortcutCandidatesAt"),x=l.__name((h,m,f)=>{const b=[h.start,h.end].filter(I=>!!I),v=g(h);for(const I of rt(m))if(Et(I.a,I.b,o,b,-2)||Et(I.a,I.b,s,[],-2)||v.some(w=>c(I,w)))return!1;for(const I of r)if(I!==h){for(const w of rt(m))for(const L of rt(i(I)))if(ne(w,L,.5)>=Bt)return!1}return d(h,m)<=f},"candidateIsSafe");for(let h=0;h<8;h++){const m=d();let f,b,v=m,I=Number.POSITIVE_INFINITY,w=Number.POSITIVE_INFINITY;for(const L of r){const p=i(L),M=qt(p,J),T=a(p);for(let N=0;N<=p.length-4;N++)for(const R of _(p,N)){const A=qt(R,J),k=a(R);if(!(A<M||A===M&&k<T-J)||!x(L,R,m))continue;const B=d(L,R);B>v||B===v&&(A>I||A===I&&k>=w)||(f=L,b=R,v=B,I=A,w=k)}}if(!f||!b)return;f.points=b}}l.__name(Ss,"shortcutRedundantOrthogonalJogs");function Cs(t,e){const i=[];for(const O of e.values()){if(O.isGroup||O.isEdgeLabel)continue;const F=O.x??0,D=O.y??0,V=Vt(O);V&&i.push({id:String(O.id??""),cx:F,cy:D,rect:V})}if(i.length===0)return;const a=new Map(i.map(O=>[O.id,O])),d=i.map(O=>({id:O.id,rect:O.rect})),c=["top","bottom","left","right"],g={top:Math.min(...i.map(O=>O.rect.top))-20,bottom:Math.max(...i.map(O=>O.rect.bottom))+20,left:Math.min(...i.map(O=>O.rect.left))-20,right:Math.max(...i.map(O=>O.rect.right))+20},_=t.filter(O=>!O.isLayoutOnly),x=new Map(_.map((O,F)=>[O,F])),h=l.__name(O=>{const F=O==="left"||O==="top"?-1:1,D=[];for(let V=0;V<=2;V++)D.push(g[O]+F*20*V);return D},"outwardTracksForSide"),m=l.__name((O,F=new Map)=>gt(F.get(O)??O.points??[]),"replacementPointsFor"),f=l.__name((O,F)=>{let D=0;for(const V of O)for(const u of F)ae(V.a,V.b,u.a,u.b,J)&&D++;return D},"crossingCountBetweenSegments"),b=l.__name((O,F)=>f(rt(O),rt(F)),"crossingCountBetweenPaths"),v=l.__name((O=new Map)=>{let F=0;const D=[],V=new Set,u=[],y=l.__name(S=>{V.has(S)||(V.add(S),u.push(S))},"addEdge");for(let S=0;S<_.length;S++){const C=_[S],E=m(C,O);for(let P=S+1;P<_.length;P++){const $=_[P],q=b(E,m($,O));q>0&&(F+=q,D.push({first:C,second:$,count:q}),y(C),y($))}}return u.sort((S,C)=>(x.get(S)??0)-(x.get(C)??0)),{count:F,pairs:D,edgeSet:V,edges:u}},"crossingSnapshot"),I=l.__name((O,F)=>{const D=new Set(F.keys());if(D.size===0)return O.count;let V=0;for(const y of O.pairs)(D.has(y.first)||D.has(y.second))&&(V+=y.count);let u=0;for(let y=0;y<_.length;y++){const S=_[y],C=D.has(S),E=m(S,F);for(let P=y+1;P<_.length;P++){const $=_[P];!C&&!D.has($)||(u+=b(E,m($,F)))}}return O.count-V+u},"crossingCountWithReplacements"),w=l.__name(O=>{const F=new Map;for(const u of O.pairs){const y=F.get(u.first)??new Set;y.add(u.second),F.set(u.first,y);const S=F.get(u.second)??new Set;S.add(u.first),F.set(u.second,S)}const D=[],V=new Set;for(const u of O.edges){if(V.has(u))continue;const y=[u],S=[];for(V.add(u);y.length>0;){const C=y.pop();S.push(C);for(const E of F.get(C)??[])V.has(E)||(V.add(E),y.push(E))}S.sort((C,E)=>(x.get(C)??0)-(x.get(E)??0)),S.length>1&&D.push(S)}return D},"crossingComponents"),L=l.__name(O=>[O.start,O.end].filter(F=>!!F),"endpointIdsFor"),p=l.__name(O=>{const F=[];for(const D of w(O)){const V=new Set(D),u=new Set(D.flatMap(S=>L(S))),y=[...D];for(const S of _)V.has(S)||L(S).some(C=>u.has(C))&&y.push(S);y.sort((S,C)=>(x.get(S)??0)-(x.get(C)??0)),F.push(y)}return F},"pairSearchGroups"),M=l.__name((O,F,D)=>I(O,new Map([[F,D]])),"crossingCountWithSingleReplacement"),T=l.__name(O=>{const F=new Map;for(const D of O.pairs)F.set(D.first,(F.get(D.first)??0)+D.count),F.set(D.second,(F.get(D.second)??0)+D.count);return F},"currentCrossingsByEdge"),N=l.__name(O=>O.slice(1).reduce((F,D,V)=>{const u=O[V];return F+Math.abs(D.x-u.x)+Math.abs(D.y-u.y)},0),"pathLength"),R=l.__name((O=new Map)=>_.reduce((F,D)=>F+qt(m(D,O)),0),"totalBends"),A=l.__name((O=new Map)=>_.reduce((F,D)=>F+N(m(D,O)),0),"totalLength"),k=l.__name((O,F,D=new Map)=>{const V=rt(F);for(const u of _)if(u!==O){for(const y of V)for(const S of rt(m(u,D)))if(ne(y,S,.5)>=Bt)return!0}return!1},"pathHasSegmentConflict"),B=l.__name((O,F)=>{const D=[O.start,O.end].filter(V=>!!V);for(const V of rt(F))if(Et(V.a,V.b,d,D,-2))return!0;return!1},"pathHitsNode"),X=l.__name((O,F)=>{const D=oe(gt(F));rt(D).length===D.length-1&&O.push(D)},"pushOrthogonalCandidate"),K=l.__name(O=>O==="left"||O==="right","sideIsHorizontal"),tt=l.__name((O,F,D)=>{switch(F){case"left":return Math.min(O.x,D.x)-20;case"right":return Math.max(O.x,D.x)+20;case"top":return Math.min(O.y,D.y)-20;case"bottom":return Math.max(O.y,D.y)+20}},"localTrackForSameSide"),et=l.__name((O,F,D,V)=>{const u=D==="left"||D==="top"?-1:1,y=[tt(F,D,V),g[D]];for(const S of y)for(let C=0;C<=2;C++)X(O,co(F,D,V,S+u*20*C))},"addSameSideCandidates"),_t=l.__name((O,F,D,V,u)=>{for(const y of h(D))for(const S of h(u))X(O,[F,{x:y,y:F.y},{x:y,y:S},{x:V.x,y:S},V])},"addHorizontalToVerticalCandidates"),yt=l.__name((O,F,D,V,u)=>{for(const y of h(D))for(const S of h(u))X(O,[F,{x:F.x,y},{x:S,y},{x:S,y:V.y},V])},"addVerticalToHorizontalCandidates"),Pt=l.__name((O,F,D,V,u)=>{const y=[...h("top"),...h("bottom")];for(const S of h(D))for(const C of h(u))for(const E of y)X(O,[F,{x:S,y:F.y},{x:S,y:E},{x:C,y:E},{x:C,y:V.y},V])},"addHorizontalPairCandidates"),st=l.__name((O,F,D,V,u)=>{const y=[...h("left"),...h("right")];for(const S of h(D))for(const C of h(u))for(const E of y)X(O,[F,{x:F.x,y:S},{x:E,y:S},{x:E,y:C},{x:V.x,y:C},V])},"addVerticalPairCandidates"),W=l.__name(O=>{const F=new Set;return O.map(D=>gt(D)).filter(D=>{const V=D.map(u=>`${u.x.toFixed(3)},${u.y.toFixed(3)}`).join("|");return F.has(V)||D.length<2?!1:(F.add(V),!0)})},"dedupeCandidatePaths"),Z=l.__name((O,F,D,V)=>{const u=[],y=io(O,F,D,V,20,J);y&&X(u,y),F===V&&et(u,O,F,D);const S=K(F),C=K(V);return S&&!C?_t(u,O,F,D,V):!S&&C?yt(u,O,F,D,V):S?Pt(u,O,F,D,V):st(u,O,F,D,V),W(u)},"buildCandidatesForSides"),ot=l.__name((O,F,D,V)=>{const u=[...h("left"),...h("right")],y=[...h("top"),...h("bottom")];for(const S of c){const C=Me(V,S),E=S==="top"||S==="bottom"?h(S):y;for(const P of u){X(O,[F,D,{x:P,y:D.y},{x:P,y:C.y},C]);for(const $ of E)X(O,[F,D,{x:P,y:D.y},{x:P,y:$},{x:C.x,y:$},C])}}},"addVerticalDepartureOuterTrackCandidates"),ct=l.__name((O,F,D,V)=>{const u=[...h("left"),...h("right")],y=[...h("top"),...h("bottom")];for(const S of c){const C=Me(V,S),E=S==="left"||S==="right"?h(S):u;for(const P of y){X(O,[F,D,{x:D.x,y:P},{x:C.x,y:P},C]);for(const $ of E)X(O,[F,D,{x:D.x,y:P},{x:$,y:P},{x:$,y:C.y},C])}}},"addHorizontalDepartureOuterTrackCandidates"),xt=l.__name(O=>{const F=O.start,D=O.end,V=D?a.get(D):void 0;if(!F||!V)return[];const u=gt(O.points??[]);if(u.length<4)return[];const y=u[0],S=u[1],C=[];return vt(y,S,J)?ot(C,y,S,V):Lt(y,S,J)&&ct(C,y,S,V),C},"terminalPreservingOuterTrackCandidates"),bt=l.__name(O=>{const F=O.start,D=O.end,V=F?a.get(F):void 0,u=D?a.get(D):void 0;if(!V||!u)return[];const y=[];for(const S of c){const C=Me(V,S);for(const E of c)y.push(...Z(C,S,Me(u,E),E))}return y.push(...xt(O)),y},"candidatePathsFor"),St=l.__name(()=>new Map(_.map(O=>[O,rt(m(O))])),"currentSegmentsByEdge"),jt=l.__name((O,F,D)=>{const V=new Set;for(const u of _){if(u===O)continue;const y=D.get(u)??rt(m(u));F.some(S=>y.some(C=>ne(S,C,.5)>=Bt))&&V.add(u)}return V},"sharedTrackConflictsFor"),Kt=l.__name((O,F,D,V)=>{const u=new Set;return bt(O).map(y=>oe(gt(y))).filter(y=>{if(B(O,y))return!1;const S=y.map(C=>`${C.x.toFixed(3)},${C.y.toFixed(3)}`).join("|");return u.has(S)||y.length<2?!1:(u.add(S),!0)}).map(y=>{const S=rt(y);let C=0;for(const E of _)E!==O&&(C+=f(S,D.get(E)??rt(m(E))));return{candidate:y,candidateSegments:S,crossings:F.count-(V.get(O)??0)+C,bends:qt(y,J),totalBends:qt(y),length:N(y)}}).filter(({crossings:y})=>y<=F.count).sort((y,S)=>y.crossings-S.crossings||y.bends-S.bends||y.length-S.length).slice(0,48).map(y=>({path:y.candidate,segments:y.candidateSegments,sharedTrackConflicts:jt(O,y.candidateSegments,D),totalBends:y.totalBends,length:y.length}))},"pairCandidatesFor"),se=l.__name((O,F,D,V,u,y)=>{let S=0;for(const E of O.pairs)(E.first===F||E.second===F||E.first===V||E.second===V)&&(S+=E.count);let C=f(D.segments,u.segments);for(const E of _){if(E===F||E===V)continue;const P=y.get(E)??rt(m(E));C+=f(D.segments,P)+f(u.segments,P)}return O.count-S+C},"pairCrossingCount"),re=l.__name((O,F)=>{for(const D of O.sharedTrackConflicts)if(D!==F)return!1;return!0},"conflictsOnlyWith"),ke=l.__name((O,F)=>O.segments.some(D=>F.segments.some(V=>ne(D,V,.5)>=Bt)),"candidatesShareTrack"),Ie=l.__name((O,F,D,V)=>re(F,D.edge)&&re(V,O.edge)&&!ke(F,V),"pairCandidatesAreCompatible"),Re=l.__name((O,F,D,V,u)=>{const y=se(O.current,F.edge,D,V.edge,u,O.baseSegments);if(!(y>=O.current.count))return{replacements:new Map([[F.edge,D.path],[V.edge,u.path]]),crossings:y,bends:O.currentBends-(O.baseBendsByEdge.get(F.edge)??0)-(O.baseBendsByEdge.get(V.edge)??0)+D.totalBends+u.totalBends,length:O.currentLength-(O.baseLengthByEdge.get(F.edge)??0)-(O.baseLengthByEdge.get(V.edge)??0)+D.length+u.length}},"scorePairReplacement"),dn=l.__name((O,F)=>O.crossings<F.crossings||O.crossings===F.crossings&&(O.bends<F.bends||O.bends===F.bends&&O.length<F.length),"pairScoreIsBetter"),un=l.__name((O,F,D,V)=>{let u=V;for(const y of F.candidates)for(const S of D.candidates){if(!Ie(F,y,D,S))continue;const C=Re(O,F,y,D,S);C&&dn(C,u)&&(u=C)}return u},"bestScoreForOptionPair"),hn=l.__name(O=>{const F=R(),D=A(),V=St(),u=T(O),y=new Map(_.map(q=>[q,qt(m(q))])),S=new Map(_.map(q=>[q,N(m(q))])),C=new Map,E=p(O);for(const q of E)for(const Y of q){if(C.has(Y))continue;const H=Kt(Y,O,V,u);H.length>0&&C.set(Y,{edge:Y,candidates:H})}let P={replacements:new Map,crossings:O.count,bends:F,length:D};const $={current:O,currentBends:F,currentLength:D,baseBendsByEdge:y,baseLengthByEdge:S,baseSegments:V};for(const q of E){const Y=new Set(q.filter(U=>O.edgeSet.has(U))),H=q.map(U=>C.get(U)).filter(U=>!!U);for(let U=0;U<H.length;U++){const at=H[U];for(let Mt=U+1;Mt<H.length;Mt++){const nt=H[Mt];!Y.has(at.edge)&&!Y.has(nt.edge)||(P=un($,at,nt,P))}}}return P.replacements.size>0?P.replacements:void 0},"bestPairedReplacement");for(let O=0;O<4;O++){const F=v(),D=F.count;if(D===0)return;let V,u,y=D,S=Number.POSITIVE_INFINITY;for(const E of F.edges){const P=qt(m(E),J);for(const $ of bt(E)){const q=B(E,$),Y=!q&&k(E,$),H=M(F,E,$),U=qt($,J);q||Y||(H<D||H===D&&U<P)&&(H>y||H===y&&U>=S||(V=E,u=$,y=H,S=U))}}if(V&&u){V.points=u;continue}const C=hn(F);if(!C)return;for(const[E,P]of C)E.points=P}}l.__name(Cs,"resolveRenderedOrthogonalCrossings");var me=.001,Pr=8;function Ls(t,e){const{nodeInfoById:n,realNodeRects:o}=an(e),s=["top","bottom","left","right"],r=20,i={top:Math.min(...o.map(f=>f.rect.top))-r,bottom:Math.max(...o.map(f=>f.rect.bottom))+r,left:Math.min(...o.map(f=>f.rect.left))-r,right:Math.max(...o.map(f=>f.rect.right))+r},a=l.__name((f,b,v,I)=>{const w=[],L=io(f,b,v,I,r,me);return L&&w.push(L),b===I&&w.push(co(f,b,v,i[b])),w},"buildOrthogonalPathCandidates"),d=l.__name((f,b)=>{for(let v=0;v<f.length-1;v++){const I=f[v],w=f[v+1];if(Et(I,w,o,b,1))return!0}return!1},"pathHitsNode"),c=l.__name((f,b,v=!1)=>{let I=0;const w=Te(f,me),L=b.start,p=b.end;for(const M of t){if(M===b||M.isLayoutOnly)continue;const T=M.start,N=M.end;if(!v&&L&&p&&(T===L||T===p||N===L||N===p))continue;const R=M.points;if(!(!R||R.length<2))for(const A of w)for(const k of Te(R,me)){if(lo(A.a,A.b,k.a,k.b,me,me)){I++;continue}ne(A,k,me)>=Pr&&I++}}return I},"pathConflictCount"),g=4,_=l.__name((f,b)=>{const v=Math.abs(f.y-b.rect.top),I=Math.abs(f.y-b.rect.bottom),w=Math.abs(f.x-b.rect.left),L=Math.abs(f.x-b.rect.right);let p="top",M=v;return I<M&&(p="bottom",M=I),w<M&&(p="left",M=w),L<M&&(p="right",M=L),p},"nearestSideOfRect"),x=new Map,h=l.__name((f,b,v)=>{const I=x.get(f)??[];I.push({side:b,edgeId:v}),x.set(f,I)},"addFaceClaim");for(const f of t){if(f.isLayoutOnly)continue;const b=f.points??[];if(b.length<1)continue;const v=f.id??"",I=f.start,w=f.end;if(I){const L=n.get(I);L&&h(I,_(b[0],L),v)}if(w){const L=n.get(w);L&&h(w,_(b[b.length-1],L),v)}}const m=l.__name((f,b,v)=>x.get(f)?.some(I=>I.edgeId!==v&&I.side===b)??!1,"faceIsClaimed");for(const f of t){if(f.isLayoutOnly)continue;const b=f.points;if(!b||b.length<2)continue;const v=qt(b,me);if(v<g)continue;const I=f.start,w=f.end;if(!I||!w)continue;const L=n.get(I),p=n.get(w);if(!L||!p)continue;const M=f.id??"",T=c(b,f,!0),N=c(b,f);let R,A=T,k=v;for(const B of s){if(m(I,B,M))continue;const X=Me(L,B);for(const K of s){if(m(w,K,M))continue;const tt=Me(p,K);for(const et of a(X,B,tt,K)){if(d(et,[I,w]))continue;const _t=qt(et,me);if(T>0){const yt=c(et,f,!0);if(yt>A||yt===A&&_t>=k)continue;A=yt,k=_t,R=et;continue}c(et,f)>N||_t<k&&(k=_t,R=et)}}}if(R){f.points=R;const B=x.get(I);B&&x.set(I,B.filter(K=>K.edgeId!==M));const X=x.get(w);X&&x.set(w,X.filter(K=>K.edgeId!==M)),h(I,_(R[0],L),M),h(w,_(R[R.length-1],p),M)}}}l.__name(Ls,"simplifyDetouredEdges");var zt=.001,No=10,Ve=7;function Gn(t,e){const n=e?0:t.length-1,o=e?1:-1,s=t[n],r=t[n+o];if(!s||!r)return;const i=r.x-s.x,a=r.y-s.y;if(!(Math.abs(i)+Math.abs(a)<zt)){if(Math.abs(a)<=zt){const d=s.x+Math.sign(i)*No;return{left:Math.min(s.x,d),right:Math.max(s.x,d),top:s.y-Ve,bottom:s.y+Ve}}if(Math.abs(i)<=zt){const d=s.y+Math.sign(a)*No;return{left:s.x-Ve,right:s.x+Ve,top:Math.min(s.y,d),bottom:Math.max(s.y,d)}}return{left:Math.min(s.x,r.x),right:Math.max(s.x,r.x),top:Math.min(s.y,r.y),bottom:Math.max(s.y,r.y)}}}l.__name(Gn,"markerClearanceRectFor");function vs(t){return{left:Math.min(t.left,t.right),right:Math.max(t.left,t.right),top:Math.min(t.top,t.bottom),bottom:Math.max(t.top,t.bottom)}}l.__name(vs,"normalizeRect");function $n(t,e){const n=gt(e);return[Gn(n,!0),Gn(n,!1)].some(o=>o&&Je(t,vs(o)))}l.__name($n,"labelOverlapsOwnMarker");function Ue(t,e){const n=[];for(const m of t){if(m.isLayoutOnly)continue;const f=m.points;if(!(!f||f.length<2))for(let b=0;b<f.length-1;b++)n.push({edgeId:m.id,p1:f[b],p2:f[b+1]})}const o=[],s=[];for(const m of e.values()){const f=m.isGroup,b=m.parentId;if(f&&!b){const I=Vt(m);I&&s.push({id:m.id,rect:I});continue}if(f||m.isEdgeLabel)continue;const v=Vt(m);v&&o.push({nodeId:m.id,rect:v})}const r=3,i=1,a=12,d=l.__name((m,f)=>{const b=vn(f,r);for(const{nodeId:v,rect:I}of o)if(v!==m&&Je(b,I))return!0;return!1},"labelOverlapsForeignNode"),c=l.__name((m,f)=>{const b=vn(f,r);for(const v of n)if(v.edgeId!==m&&cn(v.p1,v.p2,b))return!0;return!1},"labelOverlapsForeignEdge"),g=l.__name((m,f,b)=>d(m,b)||c(f,b),"labelOverlapsAnything"),_=[],x=l.__name(m=>{for(const{id:f,rect:b}of s)if(ts(b,m))return f},"findContainingLane"),h=l.__name((m,f)=>_.some(b=>b.labelId!==m&&Je(f,b.rect)),"overlapsPlacedLabel");for(const m of t){if(m.isLayoutOnly)continue;const f=m.labelNodeId;if(!f)continue;const b=e.get(f);if(!b)continue;const v=m.points;if(!v||v.length<2)continue;const I=b.width??0,w=b.height??0;if(I<=0||w<=0)continue;const L=[];for(let W=0;W<v.length-1;W++){const Z=v[W],ot=v[W+1],ct=Math.abs(Z.x-ot.x),xt=Math.abs(Z.y-ot.y);ct<zt&&xt<zt||ct>=zt&&xt>=zt||L.push({idx:W,length:ct+xt,orientation:ct>=zt?"horizontal":"vertical",midX:(Z.x+ot.x)/2,midY:(Z.y+ot.y)/2})}if(L.length===0)continue;const p=L.length>=3?L.filter(W=>W.idx>0&&W.idx<L.length-1):L,M=p.length>0?p:L,T=I>=w?"horizontal":"vertical",N=l.__name(W=>[...W].sort((Z,ot)=>{const ct=Z.orientation===T;if(ct!==(ot.orientation===T))return ct?-1:1;const xt=Z.length>=(Z.orientation==="horizontal"?I:w)+2;return xt!==ot.length>=(ot.orientation==="horizontal"?I:w)+2?xt?-1:1:ot.length-Z.length}),"rankSegments"),R=L[0],A=L[L.length-1],k=[.5,.25,.75,.05,.95,.15,.85,.1,.9],B=l.__name((W,Z)=>{const ot=v[W.idx],ct=v[W.idx+1];return{midX:ot.x+(ct.x-ot.x)*Z,midY:ot.y+(ct.y-ot.y)*Z}},"anchorAtT"),X=l.__name((W,Z,ot)=>Math.min(ot,Math.max(Z,W)),"clamp"),K=l.__name((W,Z)=>W.midX>=Z.left-zt&&W.midX<=Z.right+zt&&W.midY>=Z.top-zt&&W.midY<=Z.bottom+zt,"pointInsideRectInclusive"),tt=l.__name(W=>{const Z=Ee(W.midX,W.midY,I,w),ot=x(Z);if(ot)return{laneId:ot,anchor:W,rect:Z};const ct=s.find(({rect:re})=>K(W,re));if(!ct)return;const xt=ct.rect.left+I/2+i,bt=ct.rect.right-I/2-i,St=ct.rect.top+w/2+i,jt=ct.rect.bottom-w/2-i;if(xt>bt||St>jt)return;const Kt={midX:X(W.midX,xt,bt),midY:X(W.midY,St,jt)},se=Ee(Kt.midX,Kt.midY,I,w);return K(W,se)?{laneId:ct.id,anchor:Kt,rect:se}:void 0},"placementForAnchor"),et=l.__name((W,Z,ot)=>W.orientation==="horizontal"?Math.abs(Z.midX-ot.x):Math.abs(Z.midY-ot.y),"distanceAlongSegment"),_t=l.__name((W,Z)=>{const ot=(W.orientation==="horizontal"?I/2:w/2)+a;if(W===R){const ct=v[W.idx];if(et(W,Z,ct)+zt<ot)return!1}if(W===A){const ct=v[W.idx+1];if(et(W,Z,ct)+zt<ot)return!1}return!0},"labelClearsTerminalEndpoints"),yt=l.__name(W=>{const Z=N(W);for(const ot of Z)for(const ct of k){const xt=B(ot,ct);if(!_t(ot,xt))continue;const bt=tt(xt);if(bt&&!$n(bt.rect,v)&&!h(f,bt.rect)&&!g(f,m.id,bt.rect))return{laneId:bt.laneId,anchor:bt.anchor}}},"tryPool"),Pt=l.__name((W,Z,ot=!1)=>{const ct=N(W);for(const xt of ct){const bt={midX:xt.midX,midY:xt.midY};if(Z&&!_t(xt,bt))continue;const St=tt(bt);if(St&&!$n(St.rect,v)&&!h(f,St.rect)&&!d(f,St.rect)&&(ot||!c(m.id,St.rect)))return{laneId:St.laneId,anchor:St.anchor}}},"findLaneContainingFallback"),st=yt(M)??(M.length<L.length?yt(L):void 0)??Pt(L,!0)??Pt(L,!1)??Pt(L,!1,!0);if(st){b.x=st.anchor.midX,b.y=st.anchor.midY,b.parentId=st.laneId;const W=Ee(st.anchor.midX,st.anchor.midY,I,w),Z=_.findIndex(ot=>ot.labelId===f);Z>=0?_[Z]={labelId:f,rect:W}:_.push({labelId:f,rect:W})}}}l.__name(Ue,"anchorLabelsToPolyline");var Mn=1e-6,Oo=8/2,Br=3;function zn(t,e){return t<e?`${t}::${e}`:`${e}::${t}`}l.__name(zn,"pairKey");function ws(t,e){const{nodeInfoById:n,realNodeRects:o}=an(e),s=new Map;for(const i of e){const a=i.id;if(!i.isGroup&&i.isEdgeLabel){s.set(a,{w:i.width??0,h:i.height??0});continue}}const r=l.__name((i,a,d,c)=>{const g=zn(a,d);let _=0;const x=l.__name(h=>{if(!h)return;const m=s.get(h);if(!m)return;const f=c==="x"?m.w/2:m.h/2;f>_&&(_=f)},"consider");x(i.labelNodeId);for(const h of t){if(h===i||h.isLayoutOnly)continue;const m=h.start,f=h.end;!m||!f||zn(m,f)===g&&x(h.labelNodeId)}return _>0?_+Br:0},"labelClearanceFor");for(const i of t){if(i.isLayoutOnly)continue;const a=i.points;if(!so(a,Mn))continue;const d=ao(i,n,Mn);if(!d)continue;const{srcId:c,dstId:g,srcInfo:_,dstInfo:x,collinearX:h,collinearY:m}=d;if(h===m)continue;let f,b;if(h){const L=x.cy>_.cy;f={x:_.cx,y:L?_.rect.bottom:_.rect.top},b={x:x.cx,y:L?x.rect.top:x.rect.bottom}}else{const L=x.cx>_.cx;f={x:L?_.rect.right:_.rect.left,y:_.cy},b={x:L?x.rect.left:x.rect.right,y:x.cy}}if(Et(f,b,o,[c,g],1))continue;const v=r(i,c,g,h?"x":"y"),I=v>Oo?v:Oo,w=[0,I,-I];for(const L of w){const p={...f},M={...b};if(h){if(p.x+=L,M.x+=L,p.x<=_.rect.left||p.x>=_.rect.right||M.x<=x.rect.left||M.x>=x.rect.right)continue}else if(p.y+=L,M.y+=L,p.y<=_.rect.top||p.y>=_.rect.bottom||M.y<=x.rect.top||M.y>=x.rect.bottom)continue;if(!Et(p,M,o,[c,g],1)&&!Ze(p,M,t,i,{epsilon:Mn})){i.points=[p,M];break}}}}l.__name(ws,"straightenCollinearSiblingDetours");function Vn(t,e){const{realNodeRects:d,labelNodeRects:c}=pe(e.values()),g=l.__name((p,M)=>Te(M,.001).map(T=>({...T,edge:p,interior:T.index>=1&&T.index<=M.length-3})),"segmentsFor"),_=l.__name(()=>{const p=[];for(const M of t){if(M.isLayoutOnly)continue;const T=M.points;!T||T.length<2||p.push(...g(M,gt(T)))}return p},"allSegments"),x=l.__name((p,M)=>p.horizontal&&M.horizontal?Gt(p.a.x,p.b.x,M.a.x,M.b.x)>=8&&Math.abs(p.a.y-M.a.y)<7:p.vertical&&M.vertical?Gt(p.a.y,p.b.y,M.a.y,M.b.y)>=8&&Math.abs(p.a.x-M.a.x)<7:!1,"hasCrowdedParallelTrack"),h=l.__name((p,M)=>{const T=p.start,N=p.end,R=g(p,M);if(R.length!==M.length-1)return!1;const A=[T,N].filter(B=>!!B),k=p.labelNodeId?[p.labelNodeId]:[];for(const B of R)if(Et(B.a,B.b,d,A,-2)||Et(B.a,B.b,c,k,-2))return!1;for(const B of t){if(B===p||B.isLayoutOnly)continue;const X=B.points;if(!(!X||X.length<2)){for(const K of R)for(const tt of g(B,gt(X)))if(x(K,tt)||ae(K.a,K.b,tt.a,tt.b,.001))return!1}}return!0},"candidateIsSafe"),m=l.__name((p,M)=>{const T=gt(p.edge.points??[]);if(T.length<4||p.index>=T.length-1)return;const N=T.map(R=>({...R}));if(p.horizontal)N[p.index].y+=M,N[p.index+1].y+=M;else if(p.vertical)N[p.index].x+=M,N[p.index+1].x+=M;else return;return g(p.edge,N).length===N.length-1?N:void 0},"shiftedCandidate"),f=l.__name((p,M)=>({x:p.x??(M.left+M.right)/2,y:p.y??(M.top+M.bottom)/2}),"nodeCenter"),b=l.__name(p=>{const M=p.edge,T=gt(M.points??[]);if(T.length!==4||p.index!==1)return;const N=M.start?e.get(M.start):void 0,R=M.end?e.get(M.end):void 0,A=N?Vt(N):void 0,k=R?Vt(R):void 0,B=T.slice(p.index+2);if(!(!N||!R||!A||!k||B.length===0))return{sourceCenter:f(N,A),targetCenter:f(R,k),sourceRect:A,tail:B}},"sourceDetourContextFor"),v=l.__name((p,M,T,N,R,A)=>{const k=N.y>=T.y,B=k?R.bottom:R.top,X=B+(k?20:-20);if(k&&p.b.y<=X+.001||!k&&p.b.y>=X-.001)return;const K=p.a.x+M;return gt([{x:T.x,y:B},{x:T.x,y:X},{x:K,y:X},{x:K,y:p.b.y},...A],.001)},"verticalSourceDetour"),I=l.__name((p,M,T,N,R,A)=>{const k=N.x>=T.x,B=k?R.right:R.left,X=B+(k?20:-20);if(k&&p.b.x<=X+.001||!k&&p.b.x>=X-.001)return;const K=p.a.y+M;return gt([{x:B,y:T.y},{x:X,y:T.y},{x:X,y:K},{x:p.b.x,y:K},...A],.001)},"horizontalSourceDetour"),w=l.__name((p,M)=>{const T=b(p);if(T){if(p.vertical)return v(p,M,T.sourceCenter,T.targetCenter,T.sourceRect,T.tail);if(p.horizontal)return I(p,M,T.sourceCenter,T.targetCenter,T.sourceRect,T.tail)}},"sourceDetourCandidate"),L=[-7,7,-14,14,-21,21];for(let p=0;p<12;p++){const M=_();let T=!1;for(let N=0;N<M.length&&!T;N++)for(let R=N+1;R<M.length&&!T;R++){const A=M[N],k=M[R];if(A.edge===k.edge||!x(A,k))continue;const B=[A,k].filter(X=>X.interior);for(const X of B){for(const K of L){const tt=m(X,K);if(tt&&h(X.edge,tt)){X.edge.points=tt,T=!0;break}const et=w(X,K);if(et&&h(X.edge,et)){X.edge.points=et,T=!0;break}}if(T)break}}if(!T)return}}l.__name(Vn,"nudgeSharedInteriorSubpaths");function Es(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=o.x-n.x,a=o.y-n.y,d=s*a-r*i;if(Math.abs(d)<1e-10)return!1;const c=n.x-t.x,g=n.y-t.y,_=(c*a-g*i)/d,x=(c*r-g*s)/d,h=.01;return _>h&&_<1-h&&x>h&&x<1-h}l.__name(Es,"segmentsIntersect");function Ts(t){const e=t.nodes??[],n=t.edges??[],o=[];if(!n.length||!e.length)return o;const s=es(e),r=[];for(const a of n){if(a.isLayoutOnly)continue;const d=a.points;if(!d||d.length<2)continue;const c=a.start,g=a.end,_=a.labelNodeId,x=a.id??`${c}->${g}`;for(const h of s)if(!(h.nodeId===c||h.nodeId===g)&&!(_&&h.nodeId===_)){for(let m=0;m<d.length-1;m++)if(cn(d[m],d[m+1],h,-1)){o.push({type:"edge-node-overlap",edgeId:x,targetId:h.nodeId,detail:`segment ${m} passes through node "${h.nodeId}"`});break}}for(let h=0;h<d.length-1;h++)r.push({edgeId:x,start:c,end:g,p1:d[h],p2:d[h+1]})}const i=new Set;for(let a=0;a<r.length;a++)for(let d=a+1;d<r.length;d++){const c=r[a],g=r[d];if(c.edgeId!==g.edgeId&&!(c.start===g.start||c.start===g.end||c.end===g.start||c.end===g.end)&&Es(c.p1,c.p2,g.p1,g.p2)){const _=c.edgeId<g.edgeId?`${c.edgeId}|${g.edgeId}`:`${g.edgeId}|${c.edgeId}`;i.has(_)||(i.add(_),o.push({type:"edge-edge-crossing",edgeId:c.edgeId,targetId:g.edgeId,detail:`edges "${c.edgeId}" and "${g.edgeId}" cross`}))}}if(o.length>0){const a=o.filter(c=>c.type==="edge-node-overlap").length,d=o.filter(c=>c.type==="edge-edge-crossing").length;qe.log.warn(`[SWIMLANE_VALIDATE] ${o.length} issue(s) detected: ${a} edge-node overlap(s), ${d} edge crossing(s)`);for(const c of o)qe.log.warn(`[SWIMLANE_VALIDATE] ${c.type}: ${c.detail}`)}return o}l.__name(Ts,"validateSwimlanesLayout");function As(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(a=>!a.isGroup);if((e==="LR"||e==="RL")&&s.length>0&&!ps(t,e)||e==="BT"&&s.length>0&&!ms(t))return;for(const a of o){if(a.isLayoutOnly)continue;const d=a.points;!d||d.length<2||(a.points=oe(Qe(d)))}Ls(o,n),ws(o,n),ys(o,n);const r=new Map;for(const a of n)r.set(String(a.id),a);Ue(o,r),is(o,r),xs(o,r),Vn(o,r),_s(o,r),bs(o,r),Hn(o,r),Ms(o,r);const i=l.__name(()=>{Cs(o,r),Is(o,r),Ss(o,r),Ue(o,r),Fn(o,r),Hn(o,r),Ue(o,r),Fn(o,r)},"finalizeRenderedEdges");i(),Vn(o,r),i(),Xn(o,r),Yn(o,r),Xn(o,r),Yn(o,r)}l.__name(As,"postProcessSwimlaneLayout");function ye(t){const e=new Map(t.nodeById),n=new Set,o=[];for(const s of t.edges){if(!e.has(s.src)||!e.has(s.dst))continue;const r=`${s.id}:${s.src}->${s.dst}`;n.has(r)||(n.add(r),o.push(s))}return{nodes:[...e.keys()],edges:o,layout:t.layout,nodeById:e}}l.__name(ye,"normalizeGraph");function mo(t,e){return t.edges.filter(n=>n.dst===e)}l.__name(mo,"incoming");function Rs(t){const e=new Map;for(const n of t.nodes)e.set(n,[]);for(const n of t.edges)e.get(n.src).push(n.dst);return e}l.__name(Rs,"buildSuccessorMap");function po(t){const e=Rs(t);for(const n of e.values())n.sort((o,s)=>o.localeCompare(s));return e}l.__name(po,"buildSortedSuccessorMap");function yo(t){const e=new Map;for(const n of t.nodes)e.set(n,0);for(const n of t.edges)e.set(n.dst,(e.get(n.dst)??0)+1);return e}l.__name(yo,"buildInDegreeMap");function xo(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}l.__name(xo,"sortedZeroInDegreeNodes");function ln(t,e=()=>!0){const n=new Map,o=new Map;for(const s of t.nodes)n.set(s,[]),o.set(s,[]);for(const s of t.edges)e(s)&&(o.get(s.src).push(s.dst),n.get(s.dst).push(s.src));return{preds:n,succs:o}}l.__name(ln,"buildPredecessorSuccessorMaps");function _o(t,e,n,o){let s=0;for(const i of t.nodes)o?.skipGroups&&t.nodeById.get(i)?.isGroup||(s=Math.max(s,n[i]??0));const r=Array.from({length:s+1},()=>[]);for(const i of e)o?.skipGroups&&t.nodeById.get(i)?.isGroup||r[Math.max(0,n[i]??0)].push(i);return r}l.__name(_o,"buildLayersFromRanks");function Be(t){const e=yo(t),n=xo(e),o=[],s=po(t);for(;n.length;){const r=n.shift();o.push(r);for(const i of s.get(r)??[])if(e.set(i,(e.get(i)??0)-1),(e.get(i)??0)===0){let a=0;for(;a<n.length&&n[a]<i;)a++;n.splice(a,0,i)}}return o.length===t.nodes.length?o:null}l.__name(Be,"topoSortIfAcyclic");function Ae(t){const e=new Map;let n=0;for(const o of t)e.set(o,n),n++;return e}l.__name(Ae,"buildLayerIndex");function bo(t){const e=new Array(t.length),n=l.__name((o,s)=>{if(s-o<=1)return 0;const r=o+s>>1;let i=n(o,r)+n(r,s),a=o,d=r,c=o;for(;a<r||d<s;)d>=s||a<r&&t[a]<=t[d]?e[c++]=t[a++]:(e[c++]=t[d++],i+=r-a);for(let g=o;g<s;g++)t[g]=e[g];return i},"count");return n(0,t.length)}l.__name(bo,"countInversions");function Ns(t){const e=ye(t),n=new Map;for(const c of e.nodes)n.set(c,[]);for(const c of e.edges)n.get(c.src).push(c);for(const c of n.values())c.sort((g,_)=>g.dst===_.dst?g.id.localeCompare(_.id):g.dst.localeCompare(_.dst));const o=Object.create(null);for(const c of e.nodes)o[c]=0;const s=[],r=l.__name(c=>{o[c]=1;for(const g of n.get(c)??[]){const _=g.dst;o[_]===0?r(_):o[_]===1&&s.push(g)}o[c]=2},"dfs"),i=[...e.nodes].sort((c,g)=>c.localeCompare(g));for(const c of i)o[c]===0&&r(c);const a=new Set(s.map(c=>`${c.id}:${c.src}->${c.dst}`)),d=e.edges.map(c=>a.has(`${c.id}:${c.src}->${c.dst}`)?{id:c.id,src:c.dst,dst:c.src,weight:c.weight,ref:c.ref}:c);return{acyclic:{nodes:[...e.nodes],edges:d,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:s}}l.__name(Ns,"removeCycles_DFS");function Os(t){const e=new Map,n=l.__name(o=>{if(e.has(o))return e.get(o);const s=t.nodeById.get(o);if(!s)return e.set(o,null),null;const r=s.parentId;if(!r)return e.set(o,null),null;const i=n(r)??r;return e.set(o,i),i},"resolve");for(const o of t.nodes)n(o);return e}l.__name(Os,"buildTopLaneMap");function le(t){const e=Os(t);return n=>e.get(n)??null}l.__name(le,"createTopLaneResolver");function fn(t){const e=[];for(const n of t.layout.nodes??[])n.isGroup&&!n.parentId&&e.push(n.id);return[...new Set(e)].reverse()}l.__name(fn,"buildTopLaneOrder");function Mo(t,e){const n=fn(t);if(!e||e.length===0)return n;const o=new Set(n),s=new Set,r=[];for(const i of e)!o.has(i)||s.has(i)||(s.add(i),r.push(i));for(const i of n)s.has(i)||r.push(i);return r}l.__name(Mo,"resolveTopLaneOrder");var kr={EPSILON:1e-6},sn={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},Po={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Ps(t,e){const n=ye(t),o=e?.laneOf??(()=>null),s=e?.rankHint,{preds:r}=ln(n);for(const p of r.values())p.sort((M,T)=>M.localeCompare(T));const i=Be(n)??[...n.nodes].sort((p,M)=>p.localeCompare(M)),a=new Map;for(const[p,M]of i.entries())a.set(M,p);const d=new Map,c=new Map;for(const p of n.nodes)c.set(p,[]);for(const p of i){const M=(r.get(p)??[]).filter(T=>d.has(T));if(M.length>0){const T=Bs(p,M,{laneOf:o,rankHint:s,topoIndex:a});d.set(p,T),c.get(T).push(p)}else d.has(p)||d.set(p,null)}for(const p of n.nodes)d.has(p)||d.set(p,null);const g=new Set;for(const p of n.nodes)(d.get(p)??null)===null&&g.add(p);const _=[...g].sort((p,M)=>{const T=a.get(p)??0,N=a.get(M)??0;return T===N?p.localeCompare(M):T-N}),x=ks(n),h=new Map;for(const[p,M]of x.entries())h.set(p,[...M].sort((T,N)=>T.localeCompare(N)));const m=Fs(h),f=Ds(h),b=new Map;for(const p of n.nodes)b.set(p,[]);for(const p of f)for(const M of p.nodes){const T=b.get(M);T?T.push(p.id):b.set(M,[p.id])}const v=[],I=[],w=new Set,L=l.__name(p=>{if(!w.has(p)){w.add(p),v.push(p);for(const M of c.get(p)??[])L(M);I.push(p)}},"walk");for(const p of _)L(p);for(const p of i)L(p);return{parent:d,children:c,roots:_,componentOf:m,blocks:f,nodeBlocks:b,adjacency:h,preorder:v,postorder:I,topologicalOrder:i}}l.__name(Ps,"buildDrivingTree");function Bs(t,e,n){const o=n.laneOf(t);return[...e].sort((s,r)=>{const i=n.laneOf(s),a=n.laneOf(r),d=i!=null&&i===o;if(d!==(a!=null&&a===o))return d?-1:1;const c=n.rankHint?.[s],g=n.rankHint?.[r];if(c!=null&&g!=null&&c!==g)return g-c;const _=n.topoIndex.get(s)??0,x=n.topoIndex.get(r)??0;return _!==x?_-x:s.localeCompare(r)})[0]}l.__name(Bs,"chooseParent");function ks(t){const e=new Map;for(const n of t.nodes)e.set(n,new Set);for(const n of t.edges)e.get(n.src).add(n.dst),e.get(n.dst).add(n.src);return e}l.__name(ks,"buildAdjacency");function Fs(t){const e=new Map;let n=0;for(const o of t.keys()){if(e.has(o))continue;const s=[o];for(;s.length>0;){const r=s.pop();if(!e.has(r)){e.set(r,n);for(const i of t.get(r)??[])e.has(i)||s.push(i)}}n++}return e}l.__name(Fs,"assignComponents");function Ds(t){const e=new Map,n=new Map,o=[],s=[];let r=0;const i=l.__name((a,d)=>{e.set(a,++r),n.set(a,r);for(const c of t.get(a)??[])c!==d&&(e.has(c)?(e.get(c)??0)<(e.get(a)??0)&&(o.push([a,c]),n.set(a,Math.min(n.get(a)??r,e.get(c)??r))):(o.push([a,c]),i(c,a),n.set(a,Math.min(n.get(a)??r,n.get(c)??r)),(n.get(c)??0)>=(e.get(a)??0)&&s.push(Hs(a,c,o,s.length))))},"visit");for(const a of t.keys())e.has(a)||i(a,null);return s}l.__name(Ds,"computeBlocks");function Hs(t,e,n,o){const s=[],r=new Set;for(;n.length>0;){const i=n.pop();if(s.push(i),r.add(i[0]),r.add(i[1]),i[0]===t&&i[1]===e||i[0]===e&&i[1]===t)break}return{id:o,edges:s,nodes:[...r]}}l.__name(Hs,"popBlock");function Xs(t,e,n){const o=[...t.nodes],s=new Map;for(const[I,w]of o.entries())s.set(w,I);const r=o.length,i=new Array(r).fill(-1),a=new Array(r).fill(0),d=[],c=new Set;for(const I of o){const w=n.parent.get(I)??null,L=s.get(I);L!=null&&w==null&&(i[L]=-1,a[L]=0,c.has(I)||(c.add(I),d.push(I)))}for(;d.length>0;){const I=d.shift(),w=s.get(I);if(w==null)continue;const L=n.children.get(I)??[];for(const p of L){if(c.has(p))continue;const M=s.get(p);M!=null&&(i[M]=w,a[M]=a[w]+1,c.add(p),d.push(p))}}for(const I of o){if(c.has(I))continue;const w=s.get(I);w!=null&&(i[w]=-1,a[w]=0,c.add(I))}const g=Math.max(1,Math.ceil(Math.log2(Math.max(1,r)))+1),_=Array.from({length:g},()=>new Array(r).fill(-1));for(let I=0;I<r;I++)_[0][I]=i[I];for(let I=1;I<g;I++)for(let w=0;w<r;w++){const L=_[I-1][w];_[I][w]=L===-1?-1:_[I-1][L]}const x=l.__name((I,w)=>{if(I===-1||w===-1)return-1;a[I]<a[w]&&([I,w]=[w,I]);const L=a[I]-a[w];for(let p=0;p<g;p++)if(L>>p&1&&(I=_[p][I],I===-1))return-1;if(I===w)return I;for(let p=g-1;p>=0;p--){const M=_[p][I],T=_[p][w];M===-1||T===-1||M!==T&&(I=M,w=T)}return _[0][I]},"lcaIndex"),h=Array.from({length:r},()=>new Map);for(const I of t.edges){let w=I.src,L=I.dst,p=e[w],M=e[L];if(p==null||M==null||(p>M&&([w,L]=[L,w],[p,M]=[M,p]),p==null||M==null||p===M))continue;const T=s.get(w),N=s.get(L);if(T==null||N==null)continue;const R=x(T,N);if(R===-1)continue;const A=h[R];for(let k=p;k<M;k++)A.set(k,(A.get(k)??0)+1)}const m=new Map,f=l.__name((I,w)=>{if(w.size!==0)for(const[L,p]of w)I.set(L,(I.get(L)??0)+p)},"mergeInto"),b=new Set,v=l.__name(I=>{const w=s.get(I);b.add(I);const L=w==null?void 0:h[w],p=L?new Map(L):new Map,M=n.children.get(I)??[];for(const T of M){const N=v(T),R=e[I];if(R!=null){let A=m.get(I);A||(A=new Map,m.set(I,A));let k=N.get(R)??0;const B=e[T];B!=null&&B>R&&(k+=1),A.set(T,k)}f(p,N)}return p},"dfs");for(const I of n.roots)b.has(I)||v(I);for(const I of o)b.has(I)||v(I);return m}l.__name(Xs,"computeSubtreeCrossCounts");function Ys(t,e,n){const o=new Map,s=l.__name(r=>{let i=n[r]??0;const a=[...e.get(r)??[]];a.sort(Io(n));for(const d of a){s(d);const c=o.get(d);c!=null&&(i=Math.min(i,c))}o.set(r,i)},"annotate");for(const r of t)s(r);return o}l.__name(Ys,"annotateMinimumLayers");function Io(t){return(e,n)=>{const o=t[e]??0,s=t[n]??0;return o===s?e.localeCompare(n):o-s}}l.__name(Io,"compareByRankThenId");function Gs(t,e,n,o){let s=0;for(const d of e){const c=n[d]??0;c>s&&(s=c)}const r=Array.from({length:s+1},()=>[]),i=new Set,a=l.__name(d=>{if(i.has(d))return;i.add(d);const c=n[d]??0;r[c]||(r[c]=[]),r[c].push(d);for(const g of o(d))a(g)},"emit");for(const d of t)a(d);for(const d of e)if(!i.has(d)){const c=n[d]??0;r[c]||(r[c]=[]),r[c].push(d),i.add(d)}return r}l.__name(Gs,"emitNodesInTreeOrder");function $s(t){const e=[];for(const n of t){const o=new Set,s=[];for(const r of n)o.has(r)||(o.add(r),s.push(r));e.push(s)}return e}l.__name($s,"deduplicateLayers");function zs(t,e,n,o){return s=>{const r=t.get(s)??[];if(r.length===0)return[];const i=e[s]??0,a=[],d=[],c=n.get(s);for(const g of r){const _=o.get(g)??i;_>i?a.push({child:g,min:_}):d.push(g)}return a.sort((g,_)=>g.min===_.min?g.child.localeCompare(_.child):g.min-_.min),d.sort((g,_)=>{const x=c?.get(g)??0,h=c?.get(_)??0;if(x!==h)return x-h;const m=o.get(g)??i,f=o.get(_)??i;return m!==f?m-f:g.localeCompare(_)}),[...a.map(g=>g.child),...d]}}l.__name(zs,"createChildOrderer");function rn(t,e,n){const o=Ps(t,{rankHint:e,laneOf:n}),{children:s,roots:r}=o;for(const g of t.nodes)s.has(g)||s.set(g,[]);const i=Xs(t,e,o),a=[...r].sort(Io(e)),d=zs(s,e,i,Ys(a,s,e));let c=Gs(a,t.nodes,e,d);return c=$s(c),c}l.__name(rn,"buildMultitreeLayerOrder");function Vs(t,e,n){const o=new Set(t),s=new Set(e),r=Ae(e),i=[];for(const a of n)o.has(a.src)&&s.has(a.dst)&&i.push(r.get(a.dst));return bo(i)}l.__name(Vs,"countCrossingsBetweenAdjacent");function jn(t,e,n){const o=[];for(const r of e){const i=n[r.src],a=n[r.dst];if(i==null||a==null||i===a)continue;let d=r.src,c=r.dst,g=i,_=a;i>a&&(d=r.dst,c=r.src,g=a,_=i);for(let x=g;x<_;x++)o.push({id:`${r.id}@${x}`,src:d,dst:c,ref:r.ref})}let s=0;for(let r=0;r+1<t.length;r++)s+=Vs(t[r],t[r+1],o);return s}l.__name(jn,"totalCrossings");function js(t,e){const n={...e},{preds:o}=ln(t),s=le(t);let r=jn(rn(t,n,s),t.edges,n);const i=sn.MAX_CROSSING_OPTIMIZATION_PASSES;for(let a=0;a<i;a++){let d=!1;const c=[...t.nodes].sort((g,_)=>(n[_]??0)-(n[g]??0));for(const g of c){const _=n[g]??0;if(_===0)continue;let x=0;for(const f of o.get(g)??[])x=Math.max(x,(n[f]??0)+1);if(x>=_)continue;const h=_;n[g]=x;const m=jn(rn(t,n,s),t.edges,n);m<r?(r=m,d=!0):n[g]=h}if(!d)break}return n}l.__name(js,"optimizeRanksByCrossings");function Us(t,e){const n=le(t),o=[...t.nodes].sort((s,r)=>(e[s]??0)-(e[r]??0)||s.localeCompare(r));for(const s of o){const r=n(s);if(!r)continue;const i=t.edges.filter(f=>f.src===s);if(i.length===0)continue;let a=!1,d=0;for(const f of i){const b=n(f.dst);b==null||b===r?a=!0:d++}if(d===0||a)continue;let c=0,g=!1;for(const f of t.edges){if(f.dst!==s)continue;const b=n(f.src);b&&(b===r?g=!0:c++)}if(c>0||!g)continue;const _=e[s]??0,x=_+d;let h=0;for(const f of t.edges)f.dst===s&&(h=Math.max(h,(e[f.src]??0)+1));const m=Math.max(_,h,x);m!==_&&(e[s]=m)}}l.__name(Us,"adjustCrossLaneSources");function Ws(t,e){const n=ye(t),o=Be(n)??[...n.nodes].sort(),s=e?.compactSingleInput??!1,r=le(n);let i=Object.create(null);for(const a of o){const d=mo(n,a),c=e?.ignoreCrossLaneEdges?d.filter(g=>{const _=r(g.src),x=r(a);return!_||!x?!0:_===x}):d;if(c.length===0)i[a]=0;else if(s&&c.length===1){const g=c[0].src;r(g)!==r(a)?i[a]=i[g]??0:i[a]=(i[g]??0)+1}else{let g=-1/0;for(const _ of c)g=Math.max(g,(i[_.src]??0)+1);i[a]=g===-1/0?0:g}}return(e?.optimizeRanksByCrossings??!1)&&(i=js(n,i)),e?.ignoreCrossLaneEdges&&Us(n,i),{layers:rn(n,i,r),rankOf:i,dummy:new Set}}l.__name(Ws,"assignLayers_LongestPath");function qs(t,e){const n=ye(t),o={...Ws(n,{compactSingleInput:e?.compactSingleInput,ignoreCrossLaneEdges:e?.ignoreCrossLaneEdges,optimizeRanksByCrossings:e?.optimizeRanksByCrossings}).rankOf},s=le(n),{preds:r,succs:i}=ln(n,x=>{if(e?.ignoreCrossLaneEdges){const h=s(x.src),m=s(x.dst);if(h&&m&&h!==m)return!1}return!0}),a=Be(n)??[...n.nodes],d=[...a].reverse(),c=l.__name((x,h)=>{let m=0;for(const v of r.get(x)??[])m=Math.max(m,(o[v]??0)+1);let f=Number.POSITIVE_INFINITY;const b=i.get(x)??[];return b.length>0&&(f=Math.min(...b.map(v=>(o[v]??0)-1))),Number.isFinite(f)||(f=Math.max(m,h)),Math.min(Math.max(h,m),f)},"clampFeasible"),g=sn.GRAVITY_ITERATIONS,_=l.__name(x=>{let h=!1;for(const m of x){const f=r.get(m)??[],b=i.get(m)??[];if(f.length===0&&b.length===0)continue;const v=f.length>0?f.reduce((p,M)=>p+(o[M]??0)+1,0)/f.length:o[m]??0,I=b.length>0?b.reduce((p,M)=>p+(o[M]??0)-1,0)/b.length:o[m]??0,w=Math.round((v+I)/2),L=c(m,w);L!==o[m]&&(o[m]=L,h=!0)}return h},"relaxOrder");for(let x=0;x<g;x++){const h=_(a),m=_(d);if(!h&&!m)break}for(const x of a){let h=0;for(const m of r.get(x)??[])h=Math.max(h,(o[m]??0)+1);(o[x]??0)<h&&(o[x]=h)}for(const x of d){const h=i.get(x)??[];if(h.length>0){const m=Math.min(...h.map(f=>(o[f]??0)-1));(o[x]??0)>m&&(o[x]=m)}}return{layers:_o(n,a,o),rankOf:o,dummy:new Set}}l.__name(qs,"assignLayers_Gravity");function Ks(t){const e=yo(t),n=po(t);let o=xo(e);const s=[];for(;o.length>0;){const r=[];for(const i of o){s.push(i);for(const a of n.get(i)??[])e.set(a,(e.get(a)??0)-1),(e.get(a)??0)===0&&r.push(a)}o=r.sort((i,a)=>i.localeCompare(a))}return s.length===t.nodes.length?s:null}l.__name(Ks,"topoSortByGenerationIfAcyclic");function Js(t,e){const n=ye(t),o=e?.direction==="LR"?Ks(n)??[...n.nodes].sort():Be(n)??[...n.nodes].sort(),s=le(n),r=l.__name(c=>s(c)??c,"laneOf"),i=Object.create(null),a=new Map,d=l.__name((c,g)=>e?.ignoreCrossLaneEdges??!0?r(c)===r(g)?1:0:1,"edgeWeight");for(const c of o){if(n.nodeById.get(c)?.isGroup)continue;const g=mo(n,c);let _=0;if(g.length>0)for(const f of g){const b=f.src,v=i[b]??0;_=Math.max(_,v+d(b,c))}const x=r(c),h=a.get(x)??0,m=Math.max(_,h);i[c]=m,a.set(x,m+1)}return{layers:_o(n,o,i,{skipGroups:!0}),rankOf:i,dummy:new Set}}l.__name(Js,"assignLayers_LaneAwareCompact");function Zs(t,e){const n=ye(e),{rankOf:o}=t,s=t.layers.map(x=>[...x]),r=new Set(t.dummy?[...t.dummy]:[]);let i=0;const a=new Map(n.nodeById),d=l.__name(x=>{const h=`placeholder-${i++}`,m={id:h,isGroup:!1,isDummy:!0,width:0,height:0};for(a.set(h,m),r.add(h);s.length<=x;)s.push([]);return s[x].push(h),o[h]=x,h},"addDummyAt"),c=[...n.edges].sort((x,h)=>x.id===h.id?x.src===h.src?x.dst.localeCompare(h.dst):x.src.localeCompare(h.src):x.id.localeCompare(h.id)),g=[];for(const x of c){const h=o[x.src]??0,m=o[x.dst]??0;if(m-h<=1){g.push(x);continue}let f=x.src;for(let v=h+1,I=0;v<m;v++,I++){const w=d(v);g.push({id:`${x.id}#${I}`,src:f,dst:w,weight:x.weight,ref:x.ref}),f=w}const b=m-h-2;g.push({id:`${x.id}#${Math.max(b+1,0)}`,src:f,dst:x.dst,weight:x.weight,ref:x.ref})}const _={nodes:[...n.nodes,...[...r].filter(x=>!n.nodes.includes(x))],edges:g,layout:n.layout,nodeById:a};return{layering:{layers:s,rankOf:o,dummy:r},graphWithDummies:_}}l.__name(Zs,"makeProperLayering");function Un(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const n=[...t].sort((o,s)=>o-s);return e%2===1?n[(e-1)/2]:.5*(n[e/2-1]+n[e/2])}l.__name(Un,"median");function Wn(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((e,n)=>e+n,0)/t.length}l.__name(Wn,"barycenter");function Qs(t,e,n,o){const s=new Map;for(const r of t)s.set(r,[]);for(const r of n)o==="down"?e.has(r.src)&&s.has(r.dst)&&s.get(r.dst).push(e.get(r.src)):e.has(r.dst)&&s.has(r.src)&&s.get(r.src).push(e.get(r.dst));return s}l.__name(Qs,"neighborPositionsFor");function tr(t,e,n){const o=n.get(t)??0,s=n.get(e)??0;return o!==s?o-s:t.localeCompare(e)}l.__name(tr,"currentOrderTieBreak");function qn(t,e,n){const o=new Set(t),s=new Set(e),r=Ae(t),i=Ae(e),a=[];for(const d of n)o.has(d.src)&&s.has(d.dst)&&a.push({u:r.get(d.src),v:i.get(d.dst)});return a.sort((d,c)=>d.u===c.u?d.v-c.v:d.u-c.u),bo(a.map(d=>d.v))}l.__name(qn,"countCrossingsBetweenAdjacent");function We(t,e,n){return[...t].sort((o,s)=>{const r=Un(e.get(o)??[]),i=Un(e.get(s)??[]);return r===i?tr(o,s,n):isFinite(r)?isFinite(i)?r-i:-1:1})}l.__name(We,"sortByHeuristic");function Kn(t,e,n,o,s,r){const i=Ae(t),a=Ae(e),d=Qs(e,i,n,o);if(!s||!r||r.length===0)return We(e,d,a);const c=new Map;for(const x of e){const h=s(x),m=c.get(h)??[];m.push(x),c.set(h,m)}const g=[];for(const x of r){const h=c.get(x);if(!h||h.length===0)continue;const m=We(h,d,a);g.push(...m)}const _=c.get(null);if(_&&_.length>0){const x=We(_,d,a);for(const h of x){const m=Wn(d.get(h)??[]);let f=g.length;if(isFinite(m)){for(const[b,v]of g.entries())if(m<Wn(d.get(v)??[])){f=b;break}}g.splice(f,0,h)}}return g}l.__name(Kn,"reorderLayer");function Jn(t,e,n,o,s){const r=[...e],i=new Set(t),a=new Set(e),d=o?new Set(o):null,c=n.filter(f=>i.has(f.src)&&a.has(f.dst)),g=d?n.filter(f=>a.has(f.src)&&d.has(f.dst)):void 0,_=l.__name(f=>{let b=qn(t,f,c);return g&&o&&(b+=qn(f,o,g)),b},"crossingScore"),x=s?new Map:null;if(s&&x)for(const f of e)x.set(f,s(f));let h=!0,m=_(r);for(;h;){h=!1;for(let f=0;f+1<r.length;f++){if(x&&x.get(r[f])!==x.get(r[f+1]))continue;const b=m;[r[f],r[f+1]]=[r[f+1],r[f]];const v=_(r);v<b?(m=v,h=!0):[r[f],r[f+1]]=[r[f+1],r[f]]}}return r}l.__name(Jn,"transposeImprove");function er(t,e,n){const o=t.layers.map(a=>[...a]),s=e.edges,r=le(e),i=Mo(e,n?.laneOrder);for(let a=0;a<3;a++){for(let d=1;d<o.length;d++)o[d]=Kn(o[d-1],o[d],s,"down",r,i),o[d]=Jn(o[d-1],o[d],s,o[d+1],r);for(let d=o.length-2;d>=0;d--)o[d]=Kn(o[d+1],o[d],s,"up",r,i),o[d]=Jn(o[d+1],o[d],s,o[d-1],r)}return{layers:o}}l.__name(er,"orderLayers");function nr(t,e,n){const o=n?.layerGap??Po.DEFAULT_LAYER_GAP,s=n?.nodeGap??Po.DEFAULT_NODE_GAP,r=n?.laneGap??s*2,i=n?.direction??"TB",a=i==="LR"||i==="RL",d=t.layers,c=Object.create(null),g=Object.create(null),_=l.__name(A=>e.nodeById.get(A),"getNode"),x=l.__name(A=>_(A)?.width??0,"getWidth"),h=l.__name(A=>_(A)?.height??0,"getHeight"),m=le(e),f=Mo(e,n?.laneOrder),b=d.map(A=>A.reduce((k,B)=>Math.max(k,h(B)),0)),v=[];if(a)for(let A=0;A+1<d.length;A++){const k=d[A].reduce((yt,Pt)=>Math.max(yt,x(Pt)),0),B=d[A+1].reduce((yt,Pt)=>Math.max(yt,x(Pt)),0),X=b[A],K=b[A+1],tt=X/2+K/2,et=(k+B)/2,_t=Math.max(0,et-tt-o);v.push(_t)}const I=new Set;for(const A of d)for(const k of A)I.add(m(k));const w=I.has(null),L=f.filter(A=>I.has(A)),p=[...w?[null]:[],...L],M=Object.create(null);for(const A of L)M[A]=0;w&&(M.null=0);for(const A of d){const k=Object.create(null),B=[];for(const X of A){const K=m(X);K===null?B.push(X):(k[K]||=[]).push(X)}for(const[X,K]of Object.entries(k)){const tt=K.reduce((et,_t)=>et+x(_t),0)+s*Math.max(0,K.length-1);M[X]=Math.max(M[X]??0,tt)}if(w&&B.length){const X=B.reduce((K,tt)=>K+x(tt),0)+s*Math.max(0,B.length-1);M.null=Math.max(M.null??0,X)}}const T=new Map;{const A=p.map(B=>(B===null?M.null:M[B])??0);let k=-(A.reduce((B,X)=>B+X,0)+r*Math.max(0,p.length-1))/2;for(let B=0;B<p.length;B++){const X=p[B],K=A[B]??0,tt=k+K/2;T.set(X,tt),k+=K,B<p.length-1&&(k+=r)}}let N=0;for(const[A,k]of d.entries()){const B=b[A]??0,X=new Map;for(const tt of k){const et=m(tt),_t=X.get(et)??[];_t.push(tt),X.set(et,_t)}for(const tt of p){const et=X.get(tt)??[];if(et.length===0)continue;const _t=T.get(tt);if(et.length===1){const yt=et[0];c[yt]=_t,g[yt]=N+B/2}else{const yt=et.map(st=>x(st));let Pt=_t-(yt.reduce((st,W)=>st+W,0)+s*(et.length-1))/2;for(const[st,W]of et.entries()){const Z=yt[st];c[W]=Pt+Z/2,g[W]=N+B/2,Pt+=Z+s}}}const K=v[A]??0;N+=B+o+K}const R=new Map;for(const A of e.edges){const k=A.ref.id;R.has(k)||R.set(k,[]),R.get(k).push(A)}for(const[,A]of R){if(A.length===0)continue;const k=A[0].ref,B=k.start,X=k.end;if(B==null||X==null)continue;const K=Math.round(((c[B]??0)+(c[X]??0))/2),tt=new Set;for(const et of A)tt.add(et.src),tt.add(et.dst);for(const et of tt)et===B||et===X||e.nodeById.get(et)?.isDummy&&(c[et]=K)}return{x:c,y:g}}l.__name(nr,"assignCoordinates");var or=8;function sr(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e=Math.imul(e,16777619);return e>>>0}l.__name(sr,"hashString");function rr(t){let e=t>>>0;return()=>{e+=1831565813;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}l.__name(rr,"mulberry32");function ir(t,e){const n=[...t],o=rr(e);for(let s=n.length-1;s>0;s--){const r=Math.floor(o()*(s+1));[n[s],n[r]]=[n[r],n[s]]}return n}l.__name(ir,"deterministicShuffle");function cr(t,e){let n=0;for(const[o,s]of t.entries())n+=Math.abs(o-(e.get(s)??o));return n}l.__name(cr,"sourceDistance");function Zn(t,e){const n=new Map;for(const[s,r]of t.entries())n.set(r,s);let o=0;for(const{a:s,b:r,weight:i}of e){const a=n.get(s),d=n.get(r);a==null||d==null||(o+=i*Math.abs(a-d))}return o}l.__name(Zn,"laneArrangementCost");function ar(t){const e=fn(t);if(e.length<2)return[];const n=new Map(e.map((r,i)=>[r,i])),o=le(t),s=new Map;for(const r of t.layout.edges??[]){if(r.isLayoutOnly)continue;const i=typeof r.start=="string"?r.start:void 0,a=typeof r.end=="string"?r.end:void 0;if(!i||!a||!t.nodeById.has(i)||!t.nodeById.has(a))continue;const d=o(i),c=o(a);if(!d||!c||d===c)continue;const g=n.get(d),_=n.get(c);if(g==null||_==null)continue;const[x,h]=g<=_?[d,c]:[c,d],m=`${x}\0${h}`,f=s.get(m);f?f.weight++:s.set(m,{a:x,b:h,weight:1})}return[...s.values()]}l.__name(ar,"buildWeightedLaneEdges");function Qn(t,e,n){const o=[...t];let s=Zn(o,e),r=!0,i=0;const a=Math.max(1,o.length);for(;r&&i<a;){r=!1,i++;for(let d=0;d+1<o.length;d++){[o[d],o[d+1]]=[o[d+1],o[d]];const c=Zn(o,e);c<s?(s=c,r=!0):[o[d],o[d+1]]=[o[d+1],o[d]]}}return{order:o,cost:s,sourceDistance:cr(o,n)}}l.__name(Qn,"greedySwitch");function lr(t,e){return t.cost!==e.cost?t.cost<e.cost:t.sourceDistance<e.sourceDistance}l.__name(lr,"isBetterCandidate");function fr(t,e,n){const o=[...e].sort((s,r)=>s.a===r.a?s.b.localeCompare(r.b):s.a.localeCompare(r.a)).map(({a:s,b:r,weight:i})=>`${s}:${r}:${i}`).join("|");return sr(`${t.join("|")}#${o}#${n}`)}l.__name(fr,"seedForRestart");function dr(t,e={}){const n=fn(t);if(n.length<2)return n;const o=ar(t);if(o.length===0)return n;const s=new Map(n.map((a,d)=>[a,d]));let r=Qn(n,o,s);const i=Math.max(0,e.restarts??or);for(let a=0;a<i;a++){const d=Qn(ir(n,fr(n,o,a)),o,s);lr(d,r)&&(r=d)}return r.order}l.__name(dr,"optimizeTopLaneOrder");function ur(t,e){const n=e?.ignoreCrossLaneEdges??!0,o=e?.optimizeRanksByCrossings??!0,s=ye(t),r=e?.automaticLaneOrdering?dr(s,{restarts:or}):void 0,i=Ns(s),a=i.acyclic,{layering:d,graphWithDummies:c}=Zs(n?Js(a,{compactSingleInput:e?.compactSingleInput??sn.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!0,direction:e?.direction}):qs(a,{compactSingleInput:e?.compactSingleInput??sn.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:o}),a),g=er(d,c,{laneOrder:r}),_=nr(g,c,{layerGap:e?.layerGap,nodeGap:e?.nodeGap,direction:e?.direction,laneOrder:r});return{acyclic:a,reversed:i.reversed,layering:d,ordered:g,coordinates:_}}l.__name(ur,"sugiyamaLayout");var it=kr.EPSILON,Fr=8,_e=15,ve=15,je=25,Jt=20,In=10;function to(t,e,n){const o=t.x??0,s=t.y??0,r=e.x-o,i=e.y-s,a=Math.abs(r),d=Math.abs(i);return a<it&&d<it?n:d>it&&d*3>=a?i>0?"bottom":"top":a>it?r>0?"right":"left":n}l.__name(to,"chooseOrthogonalSide");function eo(t,e){return Math.abs(t.to-e.from)<it||Math.abs(t.to-e.to)<it?t.to:t.from}l.__name(eo,"sharedLineEndpointCoord");function be(t,e){return t.orient==="vertical"?{x:t.coord,y:e}:{x:e,y:t.coord}}l.__name(be,"pointOnLine");function hr(t,e){const n=t.nodes??[],o=t.edges??[],s=[];for(const u of o)u.isLayoutOnly||s.push({...u,__originalEdge:u});const r=new Map,i=new Map,a=[],d=e==="LR";for(const u of n)r.set(u.id,u);const c=n.filter(u=>u.isGroup&&!u.parentId);for(const u of c){const y={id:u.id},S=l.__name(C=>{i.set(C.id,y),n.filter(E=>E.parentId===C.id).forEach(S)},"assignLane");S(u)}const g=n.filter(u=>!u.isGroup&&!u.isEdgeLabel).map(u=>{const y=u.width??10,S=u.height??10,C=u.x??0,E=u.y??0,P=Fr;return{nodeId:u.id,minX:C-y/2-P,maxX:C+y/2+P,minY:E-S/2-P,maxY:E+S/2+P,visualXHalfExtent:d?S/2+P:y/2+P}}),_=l.__name((u,y,S,C)=>{let E=a.find(P=>P.orientation===u&&Math.abs(P.coord-y)<1);return E||(E={id:`pipe-${u}-${y.toFixed(0)}`,orientation:u,coord:y,spanMin:S,spanMax:C,tracks:[]},a.push(E)),E.spanMin=Math.min(E.spanMin,S),E.spanMax=Math.max(E.spanMax,C),E},"getOrAddPipe"),x=l.__name((u,y)=>{const S=u.width??10,C=u.height??10,E=u.x??0,P=u.y??0;switch(y){case"top":return{x:E,y:P-C/2};case"bottom":return{x:E,y:P+C/2};case"left":return{x:E-S/2,y:P};case"right":return{x:E+S/2,y:P}}},"portForSide"),h=l.__name((u,y,S)=>x(u,to(u,y,S?"bottom":"top")),"getOrthogonalPort"),m=[],f=[],b=new Set,v=1e3,I=l.__name((u,y,S)=>{if(m.length===0)return 0;const C=Math.abs(y.y-S.y)<it,E=Math.abs(y.x-S.x)<it;if(!C&&!E)return 0;let P=0;if(C){const $=y.y,q=Math.min(y.x,S.x)-it,Y=Math.max(y.x,S.x)+it;if(Y<=q)return 0;for(const H of m)H.edgeIndex===u||H.orientation!=="vertical"||H.pipe.coord<q||H.pipe.coord>Y||H.from-it<=$&&H.to+it>=$&&(P+=v)}else if(E){const $=y.x,q=Math.min(y.y,S.y)-it,Y=Math.max(y.y,S.y)+it;if(Y<=q)return 0;for(const H of m)H.edgeIndex===u||H.orientation!=="horizontal"||H.pipe.coord<q||H.pipe.coord>Y||H.from-it<=$&&H.to+it>=$&&(P+=v)}return P},"crossingPenalty"),w=s.map((u,y)=>{if(!u.start||!u.end)return{idx:y,crossLane:0,dx:0,dy:0};const S=r.get(u.start),C=r.get(u.end),E=i.get(u.start),P=i.get(u.end);return{idx:y,crossLane:E&&P&&E.id!==P.id?1:0,dx:S&&C?Math.abs((C.x??0)-(S.x??0)):0,dy:S&&C?Math.abs((C.y??0)-(S.y??0)):0}}).sort((u,y)=>{if(u.crossLane!==y.crossLane)return y.crossLane-u.crossLane;const S=u.dx+u.dy,C=y.dx+y.dy;return Math.abs(S-C)>1?S-C:u.idx-y.idx}).map(u=>u.idx),L=l.__name((u,y,S,C)=>{const E=Math.min(u.x,y.x),P=Math.max(u.x,y.x),$=Math.min(u.y,y.y),q=Math.max(u.y,y.y);return!!g.find(Y=>S&&Y.nodeId===S||C&&Y.nodeId===C?!1:Math.abs(u.x-y.x)>it?Y.minY<u.y&&Y.maxY>u.y&&Y.maxX>E&&Y.minX<P:Y.minX<u.x&&Y.maxX>u.x&&Y.maxY>$&&Y.minY<q)},"isSegmentBlocked"),p=new Map,M=new Map;for(const u of s)!u.start||!u.end||u.start===u.end||(M.set(u.start,(M.get(u.start)??0)+1),M.set(u.end,(M.get(u.end)??0)+1));const T=l.__name((u,y)=>to(u,y,"bottom"),"determineSide"),N=new Map;for(const[u,y]of s.entries()){if(!y.start||!y.end||y.start===y.end||y.points&&y.points.length>0)continue;const S=r.get(y.start),C=r.get(y.end);if(!S||!C)continue;const E=(C.x??0)-(S.x??0),P=(C.y??0)-(S.y??0);N.set(u,{edgeIdx:u,srcId:y.start,dstId:y.end,srcSide:T(S,{x:C.x??0,y:C.y??0}),dstSide:T(C,{x:S.x??0,y:S.y??0}),absDx:Math.abs(E),absDy:Math.abs(P),dxSign:Math.sign(E),dySign:Math.sign(P)})}const R=l.__name(u=>u.srcSide==="top"||u.srcSide==="bottom"?u.absDx===0?1/0:u.absDy/u.absDx:u.absDy===0?1/0:u.absDx/u.absDy,"preferenceStrength"),A=l.__name(u=>u.srcSide==="top"||u.srcSide==="bottom"?u.dxSign>=0?"right":"left":u.dySign>=0?"bottom":"top","secondarySide"),k=new Map;for(const u of N.values()){const y=`${u.srcId}:${u.srcSide}`;k.has(y)||k.set(y,[]),k.get(y).push(u)}const B=new Map,X=l.__name((u,y)=>`${u}:${y}`,"loadKey");for(const u of N.values())B.set(X(u.srcId,u.srcSide),(B.get(X(u.srcId,u.srcSide))??0)+1),B.set(X(u.dstId,u.dstSide),(B.get(X(u.dstId,u.dstSide))??0)+1);for(const u of k.values())if(!(u.length<2)){u.sort((y,S)=>{const C=R(y),E=R(S);return Math.abs(C-E)>1e-9?E-C:y.edgeIdx-S.edgeIdx});for(let y=1;y<u.length;y++){const S=u[y],C=A(S),E=B.get(X(S.srcId,S.srcSide))??0,P=B.get(X(S.srcId,C))??0;P>=E||(B.set(X(S.srcId,S.srcSide),E-1),B.set(X(S.srcId,C),P+1),S.srcSide=C)}}const K=l.__name(u=>{const y=u?.shape;return y==="question"||y==="diamond"},"isDiamondNode"),tt=new Map;for(const u of N.values())tt.has(u.dstId)||tt.set(u.dstId,new Set),tt.get(u.dstId).add(u.dstSide);for(const u of N.values()){if(!K(r.get(u.srcId)))continue;const y=tt.get(u.srcId);if(!y?.has(u.srcSide))continue;const S=A(u);if(y.has(S)||(B.get(X(u.srcId,S))??0)>0)continue;const C=B.get(X(u.srcId,u.srcSide))??0;B.set(X(u.srcId,u.srcSide),Math.max(0,C-1)),B.set(X(u.srcId,S),1),u.srcSide=S}for(const u of N.values()){const{edgeIdx:y,srcId:S,dstId:C,srcSide:E,dstSide:P}=u,$=r.get(S),q=r.get(C),Y=`${S}:${E}:src`,H=E==="top"||E==="bottom"?q.x??0:q.y??0;p.has(Y)||p.set(Y,[]),p.get(Y).push({edgeIdx:y,oppositeCoord:H});const U=`${C}:${P}:dst`,at=P==="top"||P==="bottom"?$.x??0:$.y??0;p.has(U)||p.set(U,[]),p.get(U).push({edgeIdx:y,oppositeCoord:at})}const et=new Map,_t=8;for(const[u,y]of p){if(y.length<2)continue;y.sort((Mt,nt)=>Mt.oppositeCoord-nt.oppositeCoord);const S=u.split(":"),C=S.slice(0,-2).join(":"),E=S[S.length-2],P=S[S.length-1],$=r.get(C);if(!$)continue;const q=E==="left"||E==="right"?$.height??10:$.width??10,Y=$.shape,H=Y==="question"||Y==="diamond"?q*.3:q,U=Math.min(20,Math.max(_t,H/(y.length+1))),at=-(U*(y.length-1))/2;for(const[Mt,nt]of y.entries()){const ut=at+Mt*U,wt=`${nt.edgeIdx}:${P}`;et.set(wt,ut)}}const yt=l.__name(u=>!!s[u]?.labelNodeId,"edgeHasLabelNode"),Pt=l.__name((u,y)=>u?(p.get(`${u}:${y}:src`)??[]).some(({edgeIdx:S})=>yt(S))||(p.get(`${u}:${y}:dst`)??[]).some(({edgeIdx:S})=>yt(S)):!1,"faceHasLabelNode"),st=l.__name((u,y,S)=>y==="top"||y==="bottom"?{x:u.x+S,y:u.y}:{x:u.x,y:u.y+S},"applyPortOffset"),W=l.__name((u,y,S)=>{const C=N.get(u),E={x:S.x??0,y:S.y??0},P={x:y.x??0,y:y.y??0},$=C?.srcSide??T(y,E),q=C?.dstSide??T(S,P);let Y=C?x(y,C.srcSide):h(y,E,!0),H=C?x(S,C.dstSide):h(S,P,!1);const U=et.get(`${u}:src`),at=et.get(`${u}:dst`);return U!==void 0&&(Y=st(Y,$,U)),at!==void 0&&(H=st(H,q,at)),{pSrcPort:Y,pDstPort:H,srcSide:$,dstSide:q}},"portsForEdge");for(const u of w){const y=s[u];if(f[u]=[],!y.start||!y.end||y.points&&y.points.length>0||y.start===y.end)continue;const S=r.get(y.start),C=r.get(y.end);if(!S||!C)continue;const{pSrcPort:E,pDstPort:P,srcSide:$,dstSide:q}=W(u,S,C),Y={...E},H={...P},U=$==="top"||$==="bottom",at=q==="top"||q==="bottom";U?Y.y=E.y>(S.y??0)?E.y+Jt:E.y-Jt:Y.x=E.x>(S.x??0)?E.x+Jt:E.x-Jt,at?H.y=P.y>(C.y??0)?P.y+Jt:P.y-Jt:H.x=P.x>(C.x??0)?P.x+Jt:P.x-Jt;const Mt=l.__name((G,z)=>{for(const j of g)if(!z.includes(j.nodeId)&&G.x>j.minX&&G.x<j.maxX&&G.y>j.minY&&G.y<j.maxY)return{inside:!0,obstacle:j};return{inside:!1}},"isPointInObstacle"),nt=l.__name((G,z,j,lt,Tt)=>{if(Tt){const At=G.y>(z.y??0);return{x:(j.x??0)>=G.x?lt.maxX+_e:lt.minX-_e,y:At?lt.maxY+ve:lt.minY-ve,leavesPositiveSide:At}}const It=G.x>(z.x??0),Ct=(j.y??0)>=G.y;return{x:It?lt.maxX+_e:lt.minX-_e,y:Ct?lt.maxY+ve:lt.minY-ve,leavesPositiveSide:It}},"obstacleDetour");let ut=[];const wt=[y.start,y.end],Yt=Mt(Y,wt);if(Yt.inside&&Yt.obstacle){const G=Yt.obstacle;if(U){const z=nt(E,S,C,G,!0);Y.x=z.x,Y.y=z.y;const j=z.leavesPositiveSide?Math.min(G.minY-2,E.y+Jt):Math.max(G.maxY+2,E.y-Jt);ut=[{x:E.x,y:j},{x:z.x,y:j},{x:z.x,y:z.y}]}else{const z=nt(E,S,C,G,!1),j=z.leavesPositiveSide?Math.min(G.minX-2,E.x+Jt):Math.max(G.maxX+2,E.x-Jt);Y.x=z.x,Y.y=z.y,ut=[{x:j,y:E.y},{x:j,y:z.y},{x:z.x,y:z.y}]}}let ie=[];const Se=Mt(H,wt);if(Se.inside&&Se.obstacle){const G=Se.obstacle;if(at){const z=nt(P,C,S,G,!0);H.x=z.x,H.y=z.y,ie=[{x:z.x,y:z.y},{x:P.x,y:z.y}]}else{const z=nt(P,C,S,G,!1);H.x=z.x,H.y=z.y,ie=[{x:z.x,y:z.y},{x:z.x,y:P.y}]}}if(ut.length===0&&ie.length===0){const G=_e,z=Math.abs(Y.x-H.x)<G,j=Math.abs(Y.y-H.y)<G,lt=et.get(`${u}:src`)!==void 0||et.get(`${u}:dst`)!==void 0,Tt=(p.get(`${y.start??""}:${$}:src`)?.length??0)+(p.get(`${y.start??""}:${$}:dst`)?.length??0),It=(p.get(`${y.end??""}:${q}:src`)?.length??0)+(p.get(`${y.end??""}:${q}:dst`)?.length??0),Ct=Tt>1||It>1,At=M.get(y.start??"")??0,ht=M.get(y.end??"")??0,Xt=Tt>1&&Pt(y.start,$)||It>1&&Pt(y.end,q);if((z||j)&&!lt&&(!Ct||Ct&&!Xt&&(Tt<=1||At<=2)&&(It<=1||ht<=2))&&!L(E,P,y.start,y.end)){y.points=[{...E},{...Y},{...H},{...P}],b.add(u);const $t=j?"horizontal":"vertical",Rt=j?E.y:E.x,Ft=j?Math.min(E.x,P.x):Math.min(E.y,P.y),mt=j?Math.max(E.x,P.x):Math.max(E.y,P.y),Nt={id:`fast-path-${$t}-${Rt.toFixed(0)}-${u}`,orientation:$t,coord:Rt,spanMin:Ft,spanMax:mt,tracks:[]};m.push({edgeIndex:u,segmentIndex:0,orientation:$t,pipe:Nt,trackIndex:0,from:Ft,to:mt});continue}}Y.x=_("vertical",Y.x,Y.y,Y.y).coord,H.x=_("vertical",H.x,H.y,H.y).coord;let fe=Math.min(Y.x,H.x)-50,de=Math.max(Y.x,H.x)+50,Ce=Math.min(Y.y,H.y)-50,Le=Math.max(Y.y,H.y)+50;for(const G of g){const z=Math.min(Y.x,H.x),j=Math.max(Y.x,H.x),lt=Math.min(Y.y,H.y),Tt=Math.max(Y.y,H.y);G.minX<j&&G.maxX>z&&G.minY<Tt&&G.maxY>lt&&(fe=Math.min(fe,G.minX-je),de=Math.max(de,G.maxX+je),Ce=Math.min(Ce,G.minY-je),Le=Math.max(Le,G.maxY+je))}for(const G of g){if(G.maxX<fe||G.minX>de||G.maxY<Ce||G.minY>Le)continue;const z=_e;_("horizontal",G.minY-z,fe,de),_("horizontal",G.maxY+z,fe,de);const j=ve;_("vertical",G.minX-j,Ce,Le),_("vertical",G.maxX+j,Ce,Le)}_("horizontal",Y.y,fe,de),_("horizontal",H.y,fe,de);const yr=a.filter(G=>G.orientation==="horizontal"&&G.coord>=Ce&&G.coord<=Le),xr=a.filter(G=>G.orientation==="vertical"&&G.coord>=fe&&G.coord<=de),Fe=l.__name((G,z)=>`${G.toFixed(1)},${z.toFixed(1)}`,"getKey"),De=Fe(Y.x,Y.y),So=Fe(H.x,H.y),He=new Map,gn=new Map,mn=new Map,Xe=new Set,xe=[];He.set(De,0),mn.set(De,"n"),xe.push({key:De,f:Math.hypot(H.x-Y.x,H.y-Y.y),pt:Y}),Xe.add(De);let Dt=[];const ue=l.__name((G,z)=>L(G,z,y.start,y.end),"checkSegmentBlocked"),pn={x:H.x,y:Y.y},_r=ue(Y,pn),br=ue(pn,H),Mr=_r||br,yn={x:Y.x,y:H.y},Ir=ue(Y,yn),Sr=ue(yn,H);if(Mr?Ir||Sr||(Math.abs(Y.x-H.x)<it?Dt=[Y,H]:Dt=[Y,yn,H]):Math.abs(Y.y-H.y)<it||Math.abs(Y.x-H.x)<it?Dt=[Y,H]:Dt=[Y,pn,H],Dt.length===0)for(;xe.length>0;){xe.sort((ht,Xt)=>ht.f-Xt.f);const G=xe.shift();if(Xe.delete(G.key),G.key===So){let ht=So,Xt=H;for(Dt=[Xt];gn.has(ht);){const $t=gn.get(ht);Dt.unshift($t),Xt=$t,ht=Fe($t.x,$t.y)}break}const z=G.pt.x,j=G.pt.y,lt=xr.sort((ht,Xt)=>ht.coord-Xt.coord),Tt=lt.findIndex(ht=>Math.abs(ht.coord-z)<1),It=yr.sort((ht,Xt)=>ht.coord-Xt.coord),Ct=It.findIndex(ht=>Math.abs(ht.coord-j)<1),At=[];Tt>0&&At.push({x:lt[Tt-1].coord,y:j}),Tt>=0&&Tt<lt.length-1&&At.push({x:lt[Tt+1].coord,y:j}),Ct>0&&At.push({x:z,y:It[Ct-1].coord}),Ct>=0&&Ct<It.length-1&&At.push({x:z,y:It[Ct+1].coord});for(const ht of At){const Xt=Math.min(z,ht.x),$t=Math.max(z,ht.x),Rt=Math.min(j,ht.y),Ft=Math.max(j,ht.y);if(g.some(Wt=>Wt.nodeId===y.start||Wt.nodeId===y.end?!1:Xt!==$t?Wt.minY<j&&Wt.maxY>j&&Wt.maxX>Xt&&Wt.minX<$t:Wt.minX<z&&Wt.maxX>z&&Wt.maxY>Rt&&Wt.minY<Ft))continue;const mt=Fe(ht.x,ht.y),Nt=Math.abs(ht.x-z)+Math.abs(ht.y-j),Ut=I(u,G.pt,ht);let pt=0;const Ot=H.x-Y.x,he=H.y-Y.y,ge=ht.x-z,xn=ht.y-j;(he>10&&xn<-5||he<-10&&xn>5)&&(pt=Math.abs(xn)*100),(Ot>10&&ge<-5||Ot<-10&&ge>5)&&(pt+=Math.abs(ge)*50);let Co=0;const Lo=mn.get(G.key)??"n",vo=Math.abs(ge)>it?"h":"v";Lo!=="n"&&Lo!==vo&&(Co=50);const Cr=Nt+Ut+pt+Co,Ye=(He.get(G.key)??1/0)+Cr,wo=Math.abs(H.x-ht.x)+Math.abs(H.y-ht.y);if(Ye<(He.get(mt)??1/0))if(gn.set(mt,G.pt),He.set(mt,Ye),mn.set(mt,vo),!Xe.has(mt))xe.push({key:mt,f:Ye+wo,pt:ht}),Xe.add(mt);else{const Wt=xe.findIndex(Lr=>Lr.key===mt);Wt!==-1&&(xe[Wt].f=Ye+wo)}}}if(Dt.length===0&&(Dt=[Y,{x:Y.x,y:H.y},H]),Dt.length>4){const G=Dt[0],z=Dt[Dt.length-1];let j=Math.min(G.x,z.x),lt=Math.max(G.x,z.x),Tt=Math.min(G.y,z.y),It=Math.max(G.y,z.y);for(const Rt of Dt)j=Math.min(j,Rt.x),lt=Math.max(lt,Rt.x),Tt=Math.min(Tt,Rt.y),It=Math.max(It,Rt.y);const Ct=lt>Math.max(G.x,z.x),At=j<Math.min(G.x,z.x);if(d){const Rt=ve;if(Ct){const Ft=Math.max(G.x,z.x),mt=Math.min(G.y,z.y),Nt=Math.max(G.y,z.y),Ut=g.filter(pt=>pt.minX<Ft&&pt.maxX>Ft&&pt.minY<Nt&&pt.maxY>mt);if(Ut.length>0){let pt=Math.max(G.x,z.x);for(const Ot of Ut){const he=(Ot.minX+Ot.maxX)/2;if(Ot.visualXHalfExtent===void 0||isNaN(Ot.visualXHalfExtent))continue;const ge=he+Ot.visualXHalfExtent+Rt;pt=Math.max(pt,ge)}isNaN(pt)||(lt=pt)}}if(At){const Ft=g.filter(mt=>mt.minX<Math.min(G.x,z.x)+Rt&&mt.minY<Math.max(G.y,z.y)&&mt.maxY>Math.min(G.y,z.y));if(Ft.length>0){let mt=Math.min(G.x,z.x);for(const Nt of Ft){const Ut=(Nt.minX+Nt.maxX)/2-Nt.visualXHalfExtent-Rt;mt=Math.min(mt,Ut)}j=mt}}}const ht=l.__name(Rt=>{const Ft=z.y>G.y,mt=g.filter(pt=>{const Ot=Math.min(G.x,z.x)<pt.maxX&&Math.max(G.x,z.x)>pt.minX,he=Math.min(G.y,z.y)<pt.maxY&&Math.max(G.y,z.y)>pt.minY;return Ot&&he});let Nt=mt;if(d&&mt.length>0){const pt=mt.filter(Ot=>Ot.minX<Rt&&Ot.maxX>Rt);pt.length>0&&(Nt=pt)}if(Nt.length===0)return z.y;const Ut=_e;if(Ft){const pt=Math.max(...Nt.map(Ot=>Ot.maxY))+Ut;if(pt<z.y-it)return pt}else{const pt=Math.min(...Nt.map(Ot=>Ot.minY))-Ut;if(pt>z.y+it)return pt}return z.y},"findBestReturnY"),Xt=l.__name(Rt=>{const Ft=ht(Rt),mt={x:Rt,y:G.y},Nt={x:Rt,y:Ft},Ut={x:z.x,y:Ft},pt=ue(G,mt),Ot=ue(mt,Nt),he=ue(Nt,Ut),ge=Ft!==z.y?ue(Ut,z):!1;return!pt&&!Ot&&!he&&!ge?Math.abs(Ft-z.y)<it?[G,mt,Nt,z]:[G,mt,Nt,Ut,z]:null},"trySimplifyWithDetourX"),$t=Ct&&!At?Xt(lt):At&&!Ct?Xt(j):null;$t&&(Dt=$t)}const Ht=[E,...ut,...Dt,...ie.reverse(),P];if(Ht.length>=3){const G=Ht[Ht.length-1],z=Ht[Ht.length-2],j=Ht[Ht.length-3],lt=Math.abs(j.y-z.y)<it&&Math.abs(z.y-G.y)<it,Tt=Math.abs(j.x-z.x)<it&&Math.abs(z.x-G.x)<it;if(lt){const It=Math.sign(z.x-j.x),Ct=Math.sign(G.x-j.x);It!==0&&It===Ct&&Math.abs(z.x-j.x)>Math.abs(G.x-j.x)&&Ht.splice(-2,1)}else if(Tt){const It=Math.sign(z.y-j.y),Ct=Math.sign(G.y-j.y);It!==0&&It===Ct&&Math.abs(z.y-j.y)>Math.abs(G.y-j.y)&&Ht.splice(-2,1)}}const ee=[Ht[0]];for(let G=1;G<Ht.length-1;G++){if(G===1){ee.push(Ht[G]);continue}const z=ee[ee.length-1],j=Ht[G],lt=Ht[G+1];if(Math.abs(z.y-j.y)<it&&Math.abs(j.y-lt.y)<it){if(j.x>z.x!=lt.x>j.x){ee.push(j);continue}continue}if(Math.abs(z.x-j.x)<it&&Math.abs(j.x-lt.x)<it){if(j.y>z.y!=lt.y>j.y){ee.push(j);continue}continue}ee.push(j)}ee.push(Ht[Ht.length-1]);for(let G=0;G<ee.length-1;G++){const z=ee[G],j=ee[G+1],lt=Math.abs(z.x-j.x)<it?"vertical":"horizontal",Tt=lt==="vertical"?z.x:z.y,It=lt==="vertical"?Math.min(z.y,j.y):Math.min(z.x,j.x),Ct=lt==="vertical"?Math.max(z.y,j.y):Math.max(z.x,j.x),At=_(lt,Tt,It,Ct),ht={edgeIndex:u,segmentIndex:G,orientation:lt,pipe:At,trackIndex:0,from:It,to:Ct};m.push(ht),f[u].push(m.length-1),At.tracks[0]||(At.tracks[0]={index:0,coord:At.coord,segments:[]}),At.tracks[0].segments.push({edgeIndex:u,segmentIndex:G,from:It,to:Ct})}}const Z=l.__name((u,y)=>u.from<y.to&&y.from<u.to,"segmentsOverlap"),ot=l.__name((u,y,S,C)=>{const E=!C.segments.some($=>($.edgeIndex!==y.edgeIndex||$.segmentIndex!==y.segmentIndex)&&Z($,u)),P=!S.segments.some($=>($.edgeIndex!==u.edgeIndex||$.segmentIndex!==u.segmentIndex)&&Z($,y));return E&&P?(u.trackIndex=C.index,y.trackIndex=S.index,S.segments=[...S.segments.filter($=>$.edgeIndex!==u.edgeIndex||$.segmentIndex!==u.segmentIndex),{edgeIndex:y.edgeIndex,segmentIndex:y.segmentIndex,from:y.from,to:y.to}],C.segments=[...C.segments.filter($=>$.edgeIndex!==y.edgeIndex||$.segmentIndex!==y.segmentIndex),{edgeIndex:u.edgeIndex,segmentIndex:u.segmentIndex,from:u.from,to:u.to}],!0):!1},"trySwapSegmentsAcrossTracks"),ct=l.__name(u=>{const y=u.tracks.length;return u.tracks[y]={index:y,coord:u.coord,segments:[]},y},"createNewTrack"),xt=l.__name((u,y)=>{const S=u.pipe.tracks[u.trackIndex];S.segments=S.segments.filter(C=>C.edgeIndex!==u.edgeIndex||C.segmentIndex!==u.segmentIndex),u.trackIndex=y,u.pipe.tracks[y].segments.push({edgeIndex:u.edgeIndex,segmentIndex:u.segmentIndex,from:u.from,to:u.to})},"moveSegmentToTrack"),bt=l.__name((u,y)=>{const S=f[u.edgeIndex];for(const C of S){const E=m[C];E.pipe===u.pipe&&xt(E,y)}},"moveSegmentChainToTrack"),St=l.__name(u=>{const y=f[u.edgeIndex],S=y.indexOf(m.indexOf(u)),C=[];return S>0&&C.push(m[y[S-1]]),S<y.length-1&&C.push(m[y[S+1]]),C},"getAdjacentSegmentsAlongEdge"),jt=l.__name((u,y)=>{if(u.orientation===y.orientation)return!1;const S=u.orientation==="horizontal"?u:y,C=u.orientation==="horizontal"?y:u;return C.pipe.coord>S.from&&C.pipe.coord<S.to&&S.pipe.coord>C.from&&S.pipe.coord<C.to},"haveAnyCrossing"),Kt=l.__name((u,y)=>{for(const S of u.tracks)if(!S.segments.some(C=>(C.edgeIndex!==y.edgeIndex||C.segmentIndex!==y.segmentIndex)&&Z(C,y)))return S.index;return-1},"findAvailableTrack"),se=l.__name((u,y)=>{if(u.trackIndex===y.trackIndex)return Z(u,y);const S=St(u),C=St(y);return S.some(E=>C.some(P=>jt(E,P)))},"segmentsConflict"),re=l.__name((u,y,S)=>{if(ot(u,y,u.pipe.tracks[u.trackIndex],y.pipe.tracks[y.trackIndex]))return;const C=Kt(u.pipe,y);S(y,C!==-1?C:ct(u.pipe))},"resolveTrackConflict"),ke=l.__name(u=>{let y=0;for(let S=0;S<u.length;S++)for(let C=S+1;C<u.length;C++){const E=u[S],P=u[C];E.pipe===P.pipe&&se(E,P)&&(y++,re(E,P,bt))}return y},"resolveHandleConflicts"),Ie=new Map,Re=l.__name(u=>{if(Ie.has(u))return Ie.get(u);const y=f[u];if(y.length===0){const $={dest:0,deviation:0,base:0,delta:0};return Ie.set(u,$),$}const S=m[y[0]].pipe.coord;let C=S;for(let $=1;$<y.length;$++){const q=m[y[$]];if(q.orientation==="horizontal"){const Y=q.from,H=q.to;C=Math.abs(Y-S)>Math.abs(H-S)?Y:H;break}}const E=Math.abs(C-S),P={dest:C,deviation:E,base:S,delta:C-S};return Ie.set(u,P),P},"getDestInfo"),dn=l.__name(()=>{let u=0;const y=new Map;for(const[C,E]of s.entries())f[C].length!==0&&E.start&&(y.has(E.start)||y.set(E.start,[]),y.get(E.start).push(C));const S=l.__name(C=>{const E=s[C];if(!E.start||!E.end)return 0;const P=r.get(E.start),$=r.get(E.end);if(!P||!$)return 0;const q=($.x??0)-(P.x??0),Y=($.y??0)-(P.y??0);return Math.abs(q)+Math.abs(Y)},"getEdgeDistance");for(const C of y.values()){C.sort((P,$)=>{const q=Re(P),Y=Re($);if(Math.abs(q.deviation-Y.deviation)>1)return q.deviation-Y.deviation;if(Math.abs(q.dest-Y.dest)>1)return q.dest-Y.dest;const H=S(P),U=S($);if(Math.abs(H-U)>1)return U-H;const at=f[P].length,Mt=f[$].length;if(at!==Mt)return at-Mt;if(at===1){const nt=f[P][0],ut=f[$][0];if(m[nt]&&m[ut]){const wt=m[nt],Yt=m[ut],ie=Math.abs(wt.to-wt.from),Se=Math.abs(Yt.to-Yt.from);if(Math.abs(ie-Se)>1)return ie-Se}}return 0});const E=C.map(P=>m[f[P][0]]);u+=ke(E)}return u},"fixSourceHandleCrossings"),un=l.__name(()=>{let u=0;const y=new Map;for(const[S,C]of s.entries())f[S].length!==0&&C.end&&(y.has(C.end)||y.set(C.end,[]),y.get(C.end).push(S));for(const S of y.values()){S.sort((E,P)=>{const $=l.__name(H=>{const U=f[H];if(U.length<2)return 0;const at=m[U[U.length-2]];return Math.abs(at.to-at.from)},"getDist"),q=$(E),Y=$(P);return Math.abs(q-Y)>.1?q-Y:E-P});const C=S.map(E=>m[f[E][f[E].length-1]]);u+=ke(C)}return u},"fixTargetHandleCrossings"),hn=l.__name(()=>{let u=0;for(const y of a){const S=[];for(const C of y.tracks)for(const E of C.segments){const P=f[E.edgeIndex].find($=>m[$].segmentIndex===E.segmentIndex);P!==void 0&&S.push(m[P])}S.sort((C,E)=>C.edgeIndex-E.edgeIndex||C.segmentIndex-E.segmentIndex);for(let C=0;C<S.length;C++)for(let E=C+1;E<S.length;E++){const P=S[C],$=S[E];se(P,$)&&(u++,re(P,$,xt))}}return u},"fixPipeCrossings");let O=0;const F=10;for(;O<F;){let u=0;if(u+=dn(),u+=un(),u+=hn(),u===0)break;O++}const D=new Map;for(const u of a){const y=[];u.tracks.forEach(C=>{C.segments.forEach(E=>{y.push({edgeIndex:E.edgeIndex,segmentIndex:E.segmentIndex,trackIndex:C.index,from:E.from,to:E.to})})}),y.sort((C,E)=>C.from-E.from);const S=[];if(y.length>0){let C=[y[0]],E=y[0].to;for(let P=1;P<y.length;P++){const $=y[P];$.from<E?(C.push($),E=Math.max(E,$.to)):(S.push(C),C=[$],E=$.to)}S.push(C)}for(const C of S){const E=new Set;C.forEach(nt=>E.add(nt.trackIndex));const P=new Map;C.forEach(nt=>{const ut=Re(nt.edgeIndex);P.set(nt.trackIndex,(P.get(nt.trackIndex)??0)+ut.delta)});const $=[...E].filter(nt=>(P.get(nt)??0)<-1),q=[...E].filter(nt=>(P.get(nt)??0)>1),Y=[...E].filter(nt=>Math.abs(P.get(nt)??0)<=1);$.sort((nt,ut)=>(P.get(ut)??0)-(P.get(nt)??0)),q.sort((nt,ut)=>(P.get(nt)??0)-(P.get(ut)??0));const H=l.__name((nt,ut)=>{C.filter(wt=>wt.trackIndex===nt).forEach(wt=>{const Yt=b.has(wt.edgeIndex)?u.coord:ut;D.set(`${wt.edgeIndex}-${wt.segmentIndex}`,Yt)})},"assignCoord");let U=0;for(const nt of $)U++,H(nt,u.coord-U*In);if(Y.length===0&&E.size>0){const nt=[...E].sort((Yt,ie)=>Math.abs(P.get(Yt)??0)-Math.abs(P.get(ie)??0))[0],ut=$.indexOf(nt);ut!==-1&&$.splice(ut,1);const wt=q.indexOf(nt);wt!==-1&&q.splice(wt,1),Y.push(nt)}let at=0;for(const nt of Y){if(at===0)H(nt,u.coord);else{const ut=at%2===1?1:-1,wt=Math.ceil(at/2);H(nt,u.coord+ut*wt*In*.5)}at++}let Mt=0;for(const nt of q)Mt++,H(nt,u.coord+Mt*In)}}for(const[u,y]of s.entries()){const S=f[u]??[];if(S.length===0)continue;const C=[],{pSrcPort:E,pDstPort:P}=W(u,r.get(y.start),r.get(y.end)),$=S.map(H=>{const U=m[H],at=D.get(`${U.edgeIndex}-${U.segmentIndex}`)??U.pipe.coord;return{orient:U.orientation,coord:at,from:U.from,to:U.to}});C.push(E);for(let H=0;H<$.length;H++){const U=$[H],at=C[C.length-1],Mt=U.orient==="vertical"?at.y:at.x,nt=U.orient==="vertical"?at.x:at.y,ut=$[H+1],wt=H<$.length-1;if(Math.abs(nt-U.coord)>it&&C.push(be(U,Mt)),wt&&ut.orient===U.orient)if(Math.abs(U.coord-ut.coord)>it){const Yt=U.orient==="vertical"?(Mt+ut.from)/2:eo(U,ut);C.push(be(U,Yt),be(ut,Yt))}else(H===0||H===$.length-2)&&C.push(be(U,eo(U,ut)));else if(wt)C.push(be(U,ut.coord));else{const Yt=Math.abs(U.from-Mt)<Math.abs(U.to-Mt)?U.to:U.from;C.push(be(U,Yt))}}const q=C[C.length-1];(Math.abs(q.x-P.x)>it||Math.abs(q.y-P.y)>it)&&C.push(P);const Y=[];C.length>0&&Y.push(C[0]);for(let H=1;H<C.length;H++){const U=C[H],at=Y[Y.length-1];(Math.abs(U.x-at.x)>it||Math.abs(U.y-at.y)>it)&&Y.push(U)}y.points=Y}for(const u of s){const y=u.__originalEdge;y&&u.points&&(y.points=u.points)}t.edges=(t.edges??[]).filter(u=>!u.isLayoutOnly);const V=l.__name((u,y)=>{const S=y.x??0,C=y.y??0,E=y.width??0,P=y.height??0;if(E<=0||P<=0)return u;const $=S-E/2,q=S+E/2,Y=C-P/2,H=C+P/2;if(u.x<$||u.x>q||u.y<Y||u.y>H)return u;const U=u.x-$,at=q-u.x,Mt=u.y-Y,nt=H-u.y,ut=Math.min(U,at,Mt,nt);return ut===U?{x:$,y:u.y}:ut===at?{x:q,y:u.y}:ut===Mt?{x:u.x,y:Y}:{x:u.x,y:H}},"nodeBoundaryClamp");for(const u of t.edges){const y=u.points;if(!y||y.length<2)continue;const S=u.start,C=u.end,E=S?r.get(S):void 0,P=C?r.get(C):void 0;E&&(y[0]=V(y[0],E)),P&&(y[y.length-1]=V(y[y.length-1],P))}return t}l.__name(hr,"routeEdgesOrthogonal");function gr(t){return t.direction??"TB"}l.__name(gr,"getSwimlaneDirection");function mr(t){const e=Jo(t),n=t.config.flowchart?.nodeSpacing??40,o=t.config.flowchart?.rankSpacing??100,s=t.config.swimlane?.ignoreCrossLaneEdges??!0,r=t.config.swimlane?.optimizeRanksByCrossings??!0,i=t.config.swimlane?.automaticLaneOrdering??!1,a=gr(t),{ordered:d,coordinates:c}=ur(e,{nodeGap:n,layerGap:o,ignoreCrossLaneEdges:s,optimizeRanksByCrossings:r,automaticLaneOrdering:i,direction:a});Zo(e,d,c,{nodeGap:n,layerGap:o});for(const g of t.edges??[])delete g.points;hr(t,a);for(const g of t.edges??[])(!g.curve||g.curve==="basis")&&(g.curve="rounded");return As(t,a),Ts(t),a}l.__name(mr,"runSwimlaneLayoutCore");async function pr(t,e){const n=e.select("g");ce.markers_default(n,t.markers,t.type,t.diagramId),Oe.clear2(),ce.clear(),Oe.clear(),Er.clear(),Ko(t);const o=Qo(t);t.nodes=o.nodes,t.edges=o.edges;const{groups:s}=await ko(n,t);mr(t),await Uo(t,s)}l.__name(pr,"render");exports.render=pr;
@@ -0,0 +1,8 @@
1
+ const u=require("./chunk-Y2CYZVJY-DPaYLFFP.cjs");require("./src-C9EhKhbk.cjs");require("./chunk-WYO6CB5R-u4mJNOcO.cjs");require("./chunk-ICXQ74PX-BbT9JaEW.cjs");require("./chunk-HOUHSVGY-BGB3dOvI.cjs");require("./chunk-Q4XR5HBZ-aBnPq509.cjs");require("./chunk-7BUUIJ7U-DMv_UkjI.cjs");require("./chunk-OGEWGWER-DX8sW1dT.cjs");require("./chunk-32BRIVSS-BXVdG_nV.cjs");require("./chunk-XXDRQBXY-C8VGLZmt.cjs");require("./chunk-VR4S4FIN-KiwnPF31.cjs");require("./chunk-C7G6YPKG-CKEeW9TM.cjs");require("./chunk-ZGVPDNZ5-Cw5_HJba.cjs");require("./chunk-52WLFC77-BChUrU24.cjs");require("./chunk-FWX5IMBZ-D11-gbhc.cjs");require("./chunk-ZIRB5QZD-aLu-4ITN.cjs");const r=require("./chunk-PUDLZKDR-48YaqVoF.cjs");var i=r.createFlowDiagram({defaultLayout:"swimlane",styles:u.__name(e=>`${r.styles_default(e)}
2
+ .swimlane.cluster rect {
3
+ stroke: ${e.clusterBorder} !important;
4
+ }
5
+ [data-look="neo"].cluster rect {
6
+ filter: none;
7
+ }
8
+ `,"getStyles")});exports.diagram=i;
@@ -0,0 +1,31 @@
1
+ import { n as r } from "./chunk-Y2CYZVJY-0JxdZxki.js";
2
+ import "./src-DtRLxcYO.js";
3
+ import "./chunk-WYO6CB5R-DDHkKowO.js";
4
+ import "./chunk-ICXQ74PX-DR8rL-xF.js";
5
+ import "./chunk-HOUHSVGY-DRQcQeMT.js";
6
+ import "./chunk-Q4XR5HBZ-3BHjjc9u.js";
7
+ import "./chunk-7BUUIJ7U-9hiBbc7O.js";
8
+ import "./chunk-OGEWGWER-BV51ll2w.js";
9
+ import "./chunk-32BRIVSS-jAuAwMVV.js";
10
+ import "./chunk-XXDRQBXY-BB1i_53q.js";
11
+ import "./chunk-VR4S4FIN-CJi5okl4.js";
12
+ import "./chunk-C7G6YPKG-CA-DNpvI.js";
13
+ import "./chunk-ZGVPDNZ5-6uMbTJXy.js";
14
+ import "./chunk-52WLFC77-wpL7en7e.js";
15
+ import "./chunk-FWX5IMBZ-DZ5VYvm5.js";
16
+ import "./chunk-ZIRB5QZD-C7OH2FI2.js";
17
+ import { r as o, t as m } from "./chunk-PUDLZKDR-NdMR0Ft5.js";
18
+ var v = m({
19
+ defaultLayout: "swimlane",
20
+ styles: /* @__PURE__ */ r((t) => `${o(t)}
21
+ .swimlane.cluster rect {
22
+ stroke: ${t.clusterBorder} !important;
23
+ }
24
+ [data-look="neo"].cluster rect {
25
+ filter: none;
26
+ }
27
+ `, "getStyles")
28
+ });
29
+ export {
30
+ v as diagram
31
+ };
@@ -1,6 +1,6 @@
1
- import { a as b, i as f, n as v, r as d, s as c, t as p } from "./utils-DBfrRFoE.js";
1
+ import { a as b, c, n as f, o as v, r as d, t as p } from "./utils-D1iZnChu.js";
2
2
  import { t as u } from "./events-C59wGdni.js";
3
- import { _ as g, i as h, p as y } from "./factory-DCrO37si.js";
3
+ import { _ as g, i as h, p as y } from "./factory-BkvRcCOx.js";
4
4
  import { a as A, n as _ } from "./ssr-DSGwPtEd.js";
5
5
  var w = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transparent}.remove-wap-active-focus:active,.remove-wap-active-focus:focus{outline:0;-webkit-tap-highlight-color:transparent}.ran-tab ::slotted(r-tab){box-sizing:border-box;width:100%;height:100%;padding:10px;flex-shrink:0;overflow:auto;text-align:start}.ran-tab-header{position:relative;overflow:hidden;scroll-behavior:smooth}.ran-tab-header-nav{display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center}.ran-tab-header-nav::-webkit-scrollbar{display:none}.ran-tab-header-nav-item{flex-shrink:0}.ran-tab-header-nav .active{color:var(--ran-tab-active-color, var(--ran-color-primary, #006bff))}.ran-tab-header-line{position:absolute;width:0;margin-top:-2px;height:2px;border-radius:2px;background:var(--ran-tab-line-color, var(--ran-color-primary, #006bff));transition:var(--ran-tab-line-transition, left .2s, width .2s, transform .2s)}.ran-tab-content{overflow:hidden}.ran-tab-content-wrap{display:flex;width:100%;height:100%;transition:var(--ran-tab-content-transition, transform .2s)}:host([type="line"]) .ran-tab-header-nav-item{border:solid 1px transparent}:host([type="line"]) .ran-tab-header-nav .active{color:var(--ran-tab-line-color, var(--ran-color-primary, #006bff));border:solid 1px transparent;border-color:var(--ran-tab-border-color, var(--ran-color-border, rgba(0, 0, 0, .2))) var(--ran-tab-border-color, var(--ran-color-border, rgba(0, 0, 0, .2))) transparent;border-radius:var(--ran-tab-border-radius, var(--ran-radius-sm, .25em)) var(--ran-tab-border-radius, var(--ran-radius-sm, .25em)) 0 0}:host([type="line"]) .ran-tab-header-line{transition:none;visibility:hidden}:host([type="line"]) .ran-tab-header-line:after,:host([type="line"]) .ran-tab-header-line:before{content:"";position:absolute;visibility:visible;width:9999px;height:1px;bottom:0;background:var(--ran-tab-border-color, var(--ran-color-border, rgba(0, 0, 0, .2)))}:host([type="line"]) .ran-tab-header-line:after{left:100%}:host([type="line"]) .ran-tab-header-line:before{right:100%}:host([align="center"]) .ran-tab-header-nav{justify-content:center}:host([align="center"]) .ran-tab-header-line{left:50%}:host([align="end"]) .ran-tab-header-nav{justify-content:flex-end}', x = 0, m = class extends _ {
6
6
  static get observedAttributes() {
@@ -24,7 +24,7 @@ var w = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
24
24
  _tabsId;
25
25
  tabHeaderKeyMapIndex;
26
26
  constructor() {
27
- super(), this._tabsId = ++x, this._shadowDom = v(this, w), this.tabHeaderKeyMapIndex = {};
27
+ super(), this._tabsId = ++x, this._shadowDom = f(this, w), this.tabHeaderKeyMapIndex = {};
28
28
  const t = p(this._shadowDom, ".ran-tab", () => h().class("ran-tab").part("tabs").children(h().class("ran-tab-header").part("header").children(h().class("ran-tab-header-nav").part("nav"), h().class("ran-tab-header-line").part("indicator")), h().class("ran-tab-content").part("content").children(h().class("ran-tab-content-wrap").part("content-wrap").children(y()))).build());
29
29
  this._container = t, this._header = t.querySelector(".ran-tab-header"), this._nav = t.querySelector(".ran-tab-header-nav"), this._line = t.querySelector(".ran-tab-header-line"), this._content = t.querySelector(".ran-tab-content"), this._wrap = t.querySelector(".ran-tab-content-wrap"), this._slot = t.querySelector("slot"), this._nav.setAttribute("role", "tablist");
30
30
  }
@@ -56,10 +56,10 @@ var w = '.remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
56
56
  return d(this, "sheet");
57
57
  }
58
58
  set sheet(t) {
59
- f(this, "sheet", t);
59
+ b(this, "sheet", t);
60
60
  }
61
61
  handlerExternalCss = () => {
62
- b(this, this._shadowDom, "sheet", null, this.sheet);
62
+ v(this, this._shadowDom, "sheet", null, this.sheet);
63
63
  };
64
64
  initTabHeaderKeyMapIndex = (t, i) => {
65
65
  if (this.tabHeaderKeyMapIndex[t]) throw new Error("tab 组件的 key 值存在重复,或者某个 tab 组件缺少 key 属性");
package/dist/tab.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t } from "./tab-40fDkuox.js";
1
+ import { t } from "./tab-BRPdZ9Ws.js";
2
2
  export {
3
3
  t as Tabs,
4
4
  t as default
@@ -1,6 +1,6 @@
1
- import { a as s, i as r, n as a, t as n } from "./utils-DBfrRFoE.js";
1
+ import { a as s, n as r, o as a, t as n } from "./utils-D1iZnChu.js";
2
2
  import { t as h } from "./events-C59wGdni.js";
3
- import { p as o } from "./factory-DCrO37si.js";
3
+ import { p as o } from "./factory-BkvRcCOx.js";
4
4
  import { a as b, n as c } from "./ssr-DSGwPtEd.js";
5
5
  var u = ".remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transparent}.remove-wap-active-focus:active,.remove-wap-active-focus:focus{outline:0;-webkit-tap-highlight-color:transparent}", d = class extends c {
6
6
  static get observedAttributes() {
@@ -19,7 +19,7 @@ var u = ".remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
19
19
  parent;
20
20
  _shadowDom;
21
21
  constructor() {
22
- super(), this._shadowDom = a(this, u);
22
+ super(), this._shadowDom = r(this, u);
23
23
  const t = n(this._shadowDom, "slot", () => o().part("content").build());
24
24
  this._div = t;
25
25
  }
@@ -63,10 +63,10 @@ var u = ".remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
63
63
  return this.getAttribute("sheet");
64
64
  }
65
65
  set sheet(t) {
66
- r(this, "sheet", t);
66
+ s(this, "sheet", t);
67
67
  }
68
68
  handlerExternalCss = () => {
69
- s(this, this._shadowDom, "sheet", null, this.sheet);
69
+ a(this, this._shadowDom, "sheet", null, this.sheet);
70
70
  };
71
71
  initAttribute = () => {
72
72
  this.parent = this.parentNode, this.key && (this.parent?.updateAttribute(this.key, "icon", this.icon), this.parent?.updateAttribute(this.key, "iconSize", this.iconSize), this.parent?.updateAttribute(this.key, "effect", this.effect));
package/dist/tabpane.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t } from "./tabpane-F4Pd7JtC.js";
1
+ import { t } from "./tabpane-Owf72hw_.js";
2
2
  export {
3
3
  t as TabPane,
4
4
  t as default
@@ -1,4 +1,4 @@
1
- import { a as i, i as o, n as h, r as c, t as l } from "./utils-DBfrRFoE.js";
1
+ import { a as i, n as o, o as h, r as c, t as l } from "./utils-D1iZnChu.js";
2
2
  import { t as d } from "./events-C59wGdni.js";
3
3
  import { a as u, n as m } from "./ssr-DSGwPtEd.js";
4
4
  import { i as b, n as v } from "./theme-kOWZbKCq.js";
@@ -23,7 +23,7 @@ var g = ".remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
23
23
  _shadowDom;
24
24
  _group;
25
25
  constructor() {
26
- super(), this._shadowDom = h(this, g), this._group = l(this._shadowDom, ".ran-theme-switch", () => {
26
+ super(), this._shadowDom = o(this, g), this._group = l(this._shadowDom, ".ran-theme-switch", () => {
27
27
  const e = document.createElement("div");
28
28
  e.className = "ran-theme-switch", e.setAttribute("part", "switch"), e.setAttribute("role", "group");
29
29
  for (const t of a) {
@@ -37,7 +37,7 @@ var g = ".remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
37
37
  return c(this, "sheet");
38
38
  }
39
39
  set sheet(e) {
40
- o(this, "sheet", e);
40
+ i(this, "sheet", e);
41
41
  }
42
42
  get value() {
43
43
  return v() || "system";
@@ -86,7 +86,7 @@ var g = ".remove-wap-active-focus{outline:0;-webkit-tap-highlight-color:transpar
86
86
  };
87
87
  _handleSync = () => this._reflect();
88
88
  handlerExternalCss = () => {
89
- i(this, this._shadowDom, "sheet", null, this.sheet);
89
+ h(this, this._shadowDom, "sheet", null, this.sheet);
90
90
  };
91
91
  connectedCallback() {
92
92
  this.handlerExternalCss(), this._syncLabels(), this._reflect(), this._events.on(this._group, "click", this._handleClick), document.addEventListener(s, this._handleSync), typeof window < "u" && window.addEventListener("storage", this._handleSync);
@@ -1,4 +1,4 @@
1
- import { t as e } from "./theme-switch-B09egc6h.js";
1
+ import { t as e } from "./theme-switch-CZDIIonc.js";
2
2
  export {
3
3
  e as ThemeSwitch,
4
4
  e as default