difit 4.0.2 → 4.0.4

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 (201) hide show
  1. package/README.ja.md +1 -0
  2. package/README.ko.md +1 -0
  3. package/README.md +1 -0
  4. package/README.zh.md +1 -0
  5. package/dist/cli/index.js +38 -28
  6. package/dist/cli/index.test.js +162 -77
  7. package/dist/cli/utils.js +4 -0
  8. package/dist/cli/utils.test.js +6 -1
  9. package/dist/client/assets/_baseFor-DKyA49xd.js +1 -0
  10. package/dist/client/assets/arc-COOp7iVe.js +1 -0
  11. package/dist/client/assets/architecture-YZFGNWBL-Cs2Q6RQP.js +1 -0
  12. package/dist/client/assets/architectureDiagram-Q4EWVU46-BO4dVPUA.js +36 -0
  13. package/dist/client/assets/blockDiagram-DXYQGD6D-CtNJnEWN.js +132 -0
  14. package/dist/client/assets/c4Diagram-AHTNJAMY-BqG-1m6C.js +10 -0
  15. package/dist/client/assets/channel-_xDT1u3-.js +1 -0
  16. package/dist/client/assets/chunk-2KRD3SAO-DqP2NJNd.js +1 -0
  17. package/dist/client/assets/chunk-336JU56O-D1qa7Qzb.js +2 -0
  18. package/dist/client/assets/chunk-426QAEUC-6J_A_wvD.js +1 -0
  19. package/dist/client/assets/{chunk-4BX2VUAB-CW45MZFx.js → chunk-4BX2VUAB-BT78EnQ6.js} +1 -1
  20. package/dist/client/assets/chunk-4TB4RGXK-C4w_Bwzw.js +206 -0
  21. package/dist/client/assets/{chunk-55IACEB6-Busc3sfI.js → chunk-55IACEB6-z3MQSTaj.js} +1 -1
  22. package/dist/client/assets/chunk-5FUZZQ4R-Chei69aj.js +62 -0
  23. package/dist/client/assets/chunk-5PVQY5BW-HgRiIs0X.js +2 -0
  24. package/dist/client/assets/chunk-67CJDMHE-B2q10-fp.js +1 -0
  25. package/dist/client/assets/chunk-7N4EOEYR-DPgxysWq.js +1 -0
  26. package/dist/client/assets/chunk-AA7GKIK3-BqmVmKLq.js +1 -0
  27. package/dist/client/assets/chunk-BSJP7CBP-CaIgleFn.js +1 -0
  28. package/dist/client/assets/chunk-CFjPhJqf.js +1 -0
  29. package/dist/client/assets/chunk-CIAEETIT-ByD-tlNF.js +1 -0
  30. package/dist/client/assets/{chunk-KX2RTZJC-DrhxxMOx.js → chunk-EDXVE4YY-d3RUKKAj.js} +1 -1
  31. package/dist/client/assets/chunk-ENJZ2VHE-CNq5Qmg9.js +10 -0
  32. package/dist/client/assets/{chunk-FMBD7UC4-BSsJVlRg.js → chunk-FMBD7UC4-DYfHJ6MV.js} +1 -1
  33. package/dist/client/assets/chunk-FOC6F5B3-BRpSWlZj.js +1 -0
  34. package/dist/client/assets/chunk-ICPOFSXX-B_MThwG6.js +122 -0
  35. package/dist/client/assets/chunk-K5T4RW27-DmamW1Ds.js +94 -0
  36. package/dist/client/assets/chunk-KGLVRYIC-CRbg4c4z.js +1 -0
  37. package/dist/client/assets/chunk-LIHQZDEY-CHQPSdB3.js +1 -0
  38. package/dist/client/assets/chunk-ORNJ4GCN-CIsQ4Zi4.js +1 -0
  39. package/dist/client/assets/{chunk-NQ4KR5QH-BZ86r2qK.js → chunk-OYMX7WX6-Cxi0kdGg.js} +25 -14
  40. package/dist/client/assets/chunk-QZHKN3VN-C0QzfgZ8.js +1 -0
  41. package/dist/client/assets/{chunk-PU5JKC2W-PQmA4K_y.js → chunk-U2HBQHQK-V_hneCfR.js} +6 -6
  42. package/dist/client/assets/{chunk-PQ6SQG4A-C9acTu_E.js → chunk-X2U36JSP-De4pvO-I.js} +1 -1
  43. package/dist/client/assets/{chunk-XPW4576I-CcqR6BsE.js → chunk-XPW4576I-B_osXKp6.js} +2 -2
  44. package/dist/client/assets/{chunk-JSJVCQXG-UCJub_Eo.js → chunk-YZCP3GAM-C_kqXssD.js} +1 -1
  45. package/dist/client/assets/chunk-ZZ45TVLE-B_xtlma5.js +1 -0
  46. package/dist/client/assets/classDiagram-6PBFFD2Q-5XrS-DAQ.js +1 -0
  47. package/dist/client/assets/classDiagram-v2-HSJHXN6E-Covl2vKy.js +1 -0
  48. package/dist/client/assets/clone-rhRH8pyW.js +1 -0
  49. package/dist/client/assets/cose-bilkent-S5V4N54A-BvXFc7Rr.js +1 -0
  50. package/dist/client/assets/cytoscape.esm-DRReFUEO.js +321 -0
  51. package/dist/client/assets/dagre-DU-XBdcU.js +1 -0
  52. package/dist/client/assets/dagre-KV5264BT-BWYGReXF.js +4 -0
  53. package/dist/client/assets/diagram-5BDNPKRD-DpUUhvWz.js +10 -0
  54. package/dist/client/assets/diagram-G4DWMVQ6-BJoTrUAx.js +24 -0
  55. package/dist/client/assets/diagram-MMDJMWI5-CAk1GW5g.js +43 -0
  56. package/dist/client/assets/diagram-TYMM5635-Cct6g7FA.js +24 -0
  57. package/dist/client/assets/dist-61sCfOmN.js +1 -0
  58. package/dist/client/assets/{erDiagram-INFDFZHY-ByL02DP-.js → erDiagram-SMLLAGMA-DHs2bXUj.js} +33 -18
  59. package/dist/client/assets/flatten-mnWyE-RB.js +1 -0
  60. package/dist/client/assets/flowDiagram-DWJPFMVM-DLu-6dfC.js +162 -0
  61. package/dist/client/assets/ganttDiagram-T4ZO3ILL-CMIzlKAR.js +292 -0
  62. package/dist/client/assets/gitGraph-7Q5UKJZL-A_wWsXju.js +1 -0
  63. package/dist/client/assets/gitGraphDiagram-UUTBAWPF-Bc_rL3_k.js +106 -0
  64. package/dist/client/assets/graphlib-BVMK0xYE.js +1 -0
  65. package/dist/client/assets/{index-Cn4K2uvR.css → index-Cq_APK7Y.css} +1 -1
  66. package/dist/client/assets/index-RcU838Ah.js +79 -0
  67. package/dist/client/assets/info-OMHHGYJF-Bv3kK2Bb.js +1 -0
  68. package/dist/client/assets/{infoDiagram-LFFYTUFH-CnmYkyCb.js → infoDiagram-42DDH7IO-Cf8u4jgP.js} +1 -1
  69. package/dist/client/assets/isEmpty-CiiIHfXR.js +1 -0
  70. package/dist/client/assets/ishikawaDiagram-UXIWVN3A-7n7DvfEb.js +70 -0
  71. package/dist/client/assets/{journeyDiagram-4ABVD52K-aRoH36nV.js → journeyDiagram-VCZTEJTY-BMkeQqJb.js} +2 -2
  72. package/dist/client/assets/{kanban-definition-K7BYSVSG-BGtGv5yb.js → kanban-definition-6JOO6SKY-B8KkeZLS.js} +2 -2
  73. package/dist/client/assets/katex-FOM3xZj7.js +257 -0
  74. package/dist/client/assets/line-CVpcI6kj.js +1 -0
  75. package/dist/client/assets/{linear-HJOLPv7E.js → linear-DmhiOOKU.js} +1 -1
  76. package/dist/client/assets/mermaid-parser.core-CnJ9Tv8l.js +4 -0
  77. package/dist/client/assets/mermaid.core-R7nXpPx-.js +11 -0
  78. package/dist/client/assets/{mindmap-definition-YRQLILUH-B8jMe7ir.js → mindmap-definition-QFDTVHPH-CwcHocMZ.js} +39 -11
  79. package/dist/client/assets/{ordinal-DIg8h6NI.js → ordinal-k--hYEme.js} +1 -1
  80. package/dist/client/assets/packet-4T2RLAQJ-D2q3-9ae.js +1 -0
  81. package/dist/client/assets/pie-ZZUOXDRM-GivlQcUF.js +1 -0
  82. package/dist/client/assets/pieDiagram-DEJITSTG-BVAn8Lmr.js +30 -0
  83. package/dist/client/assets/preload-helper-DSXbuxSR.js +1 -0
  84. package/dist/client/assets/prism-haskell-BP3SRvzt.js +1 -0
  85. package/dist/client/assets/prism-nix-CO4UPu3E.js +1 -0
  86. package/dist/client/assets/{quadrantDiagram-337W2JSQ-CQ1QKsru.js → quadrantDiagram-34T5L4WZ-C2XZ_zxa.js} +1 -1
  87. package/dist/client/assets/radar-PYXPWWZC-C9pD6VNR.js +1 -0
  88. package/dist/client/assets/reduce-BTlHjXna.js +1 -0
  89. package/dist/client/assets/requirementDiagram-MS252O5E-CfO16pkI.js +84 -0
  90. package/dist/client/assets/{sankeyDiagram-WA2Y5GQK-BQVbT6bS.js → sankeyDiagram-XADWPNL6-D_4_234M.js} +1 -1
  91. package/dist/client/assets/sequenceDiagram-FGHM5R23-B-yHKMuK.js +157 -0
  92. package/dist/client/assets/src-CjDs0_Ij.js +1 -0
  93. package/dist/client/assets/stateDiagram-FHFEXIEX-BeG2di4I.js +1 -0
  94. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DvcSq7KE.js +1 -0
  95. package/dist/client/assets/timeline-definition-GMOUNBTQ-DhtnMGcE.js +120 -0
  96. package/dist/client/assets/treeView-SZITEDCU-BSNk8_yV.js +1 -0
  97. package/dist/client/assets/treemap-W4RFUUIX-ym4zQztE.js +1 -0
  98. package/dist/client/assets/vennDiagram-DHZGUBPP-CBn69TcQ.js +34 -0
  99. package/dist/client/assets/wardley-RL74JXVD-B02H6ReJ.js +1 -0
  100. package/dist/client/assets/wardleyDiagram-NUSXRM2D-CEoSJmN1.js +20 -0
  101. package/dist/client/assets/{xychartDiagram-JWTSCODW-DeYZhM2j.js → xychartDiagram-5P7HB3ND-BZ_X9tkn.js} +6 -6
  102. package/dist/client/index.html +4 -2
  103. package/dist/server/git-diff-tui.d.ts +2 -2
  104. package/dist/server/git-diff-tui.js +14 -11
  105. package/dist/server/git-diff-tui.test.js +20 -4
  106. package/dist/server/git-diff.d.ts +3 -2
  107. package/dist/server/git-diff.js +30 -7
  108. package/dist/server/git-diff.test.js +60 -5
  109. package/dist/server/server.d.ts +2 -3
  110. package/dist/server/server.js +80 -55
  111. package/dist/server/server.test.js +110 -60
  112. package/dist/tui/App.d.ts +2 -2
  113. package/dist/tui/App.js +4 -3
  114. package/dist/types/diff.d.ts +8 -0
  115. package/dist/utils/diffSelection.d.ts +6 -0
  116. package/dist/utils/diffSelection.js +30 -0
  117. package/package.json +9 -9
  118. package/dist/client/assets/_basePickBy-hOr-yGsE.js +0 -1
  119. package/dist/client/assets/_baseUniq-b7bzdUSn.js +0 -1
  120. package/dist/client/assets/arc-D65wG9gm.js +0 -1
  121. package/dist/client/assets/architecture-PBZL5I3N-DFdrPtRG.js +0 -1
  122. package/dist/client/assets/architectureDiagram-2XIMDMQ5-CXJTJFYJ.js +0 -36
  123. package/dist/client/assets/blockDiagram-WCTKOSBZ-B60owdAn.js +0 -132
  124. package/dist/client/assets/c4Diagram-IC4MRINW-4tg2D_Vt.js +0 -10
  125. package/dist/client/assets/channel-DogeU0Wo.js +0 -1
  126. package/dist/client/assets/chunk-7E7YKBS2-BVR-8Pma.js +0 -1
  127. package/dist/client/assets/chunk-7R4GIKGN-DneC7PwP.js +0 -80
  128. package/dist/client/assets/chunk-C72U2L5F-CJr98gus.js +0 -1
  129. package/dist/client/assets/chunk-EGIJ26TM-iD_CSqpR.js +0 -1
  130. package/dist/client/assets/chunk-GEFDOKGD-eDUrsRgt.js +0 -2
  131. package/dist/client/assets/chunk-GLR3WWYH-NUOKNaxd.js +0 -2
  132. package/dist/client/assets/chunk-HHEYEP7N-DhuxpkmW.js +0 -1
  133. package/dist/client/assets/chunk-KYZI473N-Brv52ZeO.js +0 -53
  134. package/dist/client/assets/chunk-L3YUKLVL-BkBigLhQ.js +0 -1
  135. package/dist/client/assets/chunk-MX3YWQON-DHRoNbgW.js +0 -1
  136. package/dist/client/assets/chunk-O4XLMI2P-Sr33dk8c.js +0 -7
  137. package/dist/client/assets/chunk-OZEHJAEY-3F2ff7sj.js +0 -1
  138. package/dist/client/assets/chunk-QZHKN3VN-DMRW-mur.js +0 -1
  139. package/dist/client/assets/chunk-R5LLSJPH-ChexuO_S.js +0 -1
  140. package/dist/client/assets/chunk-WL4C6EOR-oxNV_hhM.js +0 -189
  141. package/dist/client/assets/chunk-XIRO2GV7-C9gOnffv.js +0 -1
  142. package/dist/client/assets/chunk-XZSTWKYB-C5JJ0TZR.js +0 -94
  143. package/dist/client/assets/chunk-YBOYWFTD-B6kAkNgH.js +0 -1
  144. package/dist/client/assets/classDiagram-VBA2DB6C-DlDUg6JI.js +0 -1
  145. package/dist/client/assets/classDiagram-v2-RAHNMMFH-BxzJfV1S.js +0 -1
  146. package/dist/client/assets/clone-DuY6BQEm.js +0 -1
  147. package/dist/client/assets/cose-bilkent-S5V4N54A-hlDud6Ym.js +0 -1
  148. package/dist/client/assets/cytoscape.esm-B3gzQ1NF.js +0 -321
  149. package/dist/client/assets/dagre-BwDYerGQ.js +0 -1
  150. package/dist/client/assets/dagre-KLK3FWXG-KnkMUlUE.js +0 -4
  151. package/dist/client/assets/diagram-E7M64L7V-DcTCIFUG.js +0 -24
  152. package/dist/client/assets/diagram-IFDJBPK2-COcDQunj.js +0 -43
  153. package/dist/client/assets/diagram-P4PSJMXO-DmgET9pD.js +0 -24
  154. package/dist/client/assets/dist-v55TM3-O.js +0 -1
  155. package/dist/client/assets/flowDiagram-PKNHOUZH-CW-lseYE.js +0 -162
  156. package/dist/client/assets/ganttDiagram-A5KZAMGK-BxLjKRld.js +0 -292
  157. package/dist/client/assets/gitGraph-HDMCJU4V-CjAGJiCH.js +0 -1
  158. package/dist/client/assets/gitGraphDiagram-K3NZZRJ6-DLEDjokx.js +0 -65
  159. package/dist/client/assets/graphlib-WkJoBgka.js +0 -1
  160. package/dist/client/assets/index-CizZxdOT.js +0 -79
  161. package/dist/client/assets/info-3K5VOQVL-CB6KpH1K.js +0 -1
  162. package/dist/client/assets/isArrayLikeObject-icl0H0jo.js +0 -1
  163. package/dist/client/assets/isEmpty-Du8sNmkE.js +0 -1
  164. package/dist/client/assets/ishikawaDiagram-PHBUUO56-zycn1mVK.js +0 -70
  165. package/dist/client/assets/katex-BJrMXEjr.js +0 -261
  166. package/dist/client/assets/line-Cm3ZuldI.js +0 -1
  167. package/dist/client/assets/math-CNhlSIO3.js +0 -1
  168. package/dist/client/assets/mermaid-parser.core-BvMqHn4b.js +0 -4
  169. package/dist/client/assets/mermaid.core-C4SvQTx9.js +0 -11
  170. package/dist/client/assets/packet-RMMSAZCW-CzbC-tXD.js +0 -1
  171. package/dist/client/assets/pie-UPGHQEXC-CmhYIo8p.js +0 -1
  172. package/dist/client/assets/pieDiagram-SKSYHLDU-CGWbtgxq.js +0 -30
  173. package/dist/client/assets/radar-KQ55EAFF-BCa9lsCc.js +0 -1
  174. package/dist/client/assets/requirementDiagram-Z7DCOOCP-Co1LyL5T.js +0 -73
  175. package/dist/client/assets/sequenceDiagram-2WXFIKYE-DGIEkdPm.js +0 -145
  176. package/dist/client/assets/src-DsmFf7gO.js +0 -1
  177. package/dist/client/assets/stateDiagram-RAJIS63D-DgjKbXnG.js +0 -1
  178. package/dist/client/assets/stateDiagram-v2-FVOUBMTO-gPrpjL74.js +0 -1
  179. package/dist/client/assets/timeline-definition-YZTLITO2-Dz2dVWjY.js +0 -61
  180. package/dist/client/assets/treemap-KZPCXAKY-DXiPfAB6.js +0 -1
  181. package/dist/client/assets/vennDiagram-LZ73GAT5-IIH5S1B6.js +0 -34
  182. /package/dist/client/assets/{array-DOVTz2Mq.js → array-BNor45A1.js} +0 -0
  183. /package/dist/client/assets/{defaultLocale-Ck2Xxk-C.js → defaultLocale-DPzUsThw.js} +0 -0
  184. /package/dist/client/assets/{init-Bft5Ffpj.js → init-C0L3woqb.js} +0 -0
  185. /package/dist/client/assets/{path-DfRbCp9y.js → path-sMK4d_s9.js} +0 -0
  186. /package/dist/client/assets/{prism-bash-6uMTC0Q2.js → prism-bash-iQBez6et.js} +0 -0
  187. /package/dist/client/assets/{prism-csharp-Dkc2OSmh.js → prism-csharp-C1RDHXRk.js} +0 -0
  188. /package/dist/client/assets/{prism-dart-iZy_wlz-.js → prism-dart-nIH9vDUM.js} +0 -0
  189. /package/dist/client/assets/{prism-elixir-BIzI9WJK.js → prism-elixir-DUMUOd7H.js} +0 -0
  190. /package/dist/client/assets/{prism-hcl-Bx2FGBKG.js → prism-hcl-C-ZHJGEE.js} +0 -0
  191. /package/dist/client/assets/{prism-java-DBXf7fH0.js → prism-java-scuShSv5.js} +0 -0
  192. /package/dist/client/assets/{prism-markup-templating-DS0ksKLt.js → prism-markup-templating-BFXREXfb.js} +0 -0
  193. /package/dist/client/assets/{prism-perl-BlhPiMfT.js → prism-perl-BBDKnHRR.js} +0 -0
  194. /package/dist/client/assets/{prism-php-DVtOAJsW.js → prism-php-DjIafOi_.js} +0 -0
  195. /package/dist/client/assets/{prism-protobuf-BUsrNVvv.js → prism-protobuf-BE1MoFmZ.js} +0 -0
  196. /package/dist/client/assets/{prism-ruby-Saes64I6.js → prism-ruby-CZ-lrXfL.js} +0 -0
  197. /package/dist/client/assets/{prism-scala-ANOINMog.js → prism-scala-DgnxHuDn.js} +0 -0
  198. /package/dist/client/assets/{prism-solidity-C5Mx5y66.js → prism-solidity-5fSUcW9Y.js} +0 -0
  199. /package/dist/client/assets/{prism-sql-D5pwK0Dp.js → prism-sql-CKkohPI_.js} +0 -0
  200. /package/dist/client/assets/{prism-vim-BSZSu-gX.js → prism-vim-CkRmxTmK.js} +0 -0
  201. /package/dist/client/assets/{rough.esm-KjoEK0it.js → rough.esm-DeLgKbOI.js} +0 -0
@@ -1,53 +0,0 @@
1
- import{i as e,l as t,n}from"./chunk-GEFDOKGD-eDUrsRgt.js";import{g as r,h as i,p as a}from"./src-DsmFf7gO.js";import{L as o,R as s,b as c,h as l,j as u,k as d,w as f,y as p}from"./chunk-7R4GIKGN-DneC7PwP.js";import{n as m,r as h}from"./chunk-PU5JKC2W-PQmA4K_y.js";import{n as g,t as _}from"./chunk-YBOYWFTD-B6kAkNgH.js";import{a as v,i as y,r as b,t as x}from"./chunk-PQ6SQG4A-C9acTu_E.js";import{t as S}from"./rough.esm-KjoEK0it.js";var C=i(async(n,r,i)=>{let s,u=r.useHtmlLabels||l(c()?.htmlLabels);s=i||`node default`;let d=n.insert(`g`).attr(`class`,s).attr(`id`,r.domId||r.id),f=d.insert(`g`).attr(`class`,`label`).attr(`style`,t(r.labelStyle)),p;p=r.label===void 0?``:typeof r.label==`string`?r.label:r.label[0];let h=!!r.icon||!!r.img,g=r.labelType===`markdown`,v=await m(f,o(e(p),c()),{useHtmlLabels:u,width:r.width||c().flowchart?.wrappingWidth,cssClasses:g?`markdown-node-label`:void 0,style:r.labelStyle,addSvgBackground:h,markdown:g},c()),y=v.getBBox(),b=(r?.padding??0)/2;if(u){let e=v.children[0],t=a(v);await _(e,p),y=e.getBoundingClientRect(),t.attr(`width`,y.width),t.attr(`height`,y.height)}return u?f.attr(`transform`,`translate(`+-y.width/2+`, `+-y.height/2+`)`):f.attr(`transform`,`translate(0, `+-y.height/2+`)`),r.centerLabel&&f.attr(`transform`,`translate(`+-y.width/2+`, `+-y.height/2+`)`),f.insert(`rect`,`:first-child`),{shapeSvg:d,bbox:y,halfPadding:b,label:f}},`labelHelper`),w=i(async(t,n,r)=>{let i=r.useHtmlLabels??f(c()),s=t.insert(`g`).attr(`class`,`label`).attr(`style`,r.labelStyle||``),l=await m(s,o(e(n),c()),{useHtmlLabels:i,width:r.width||c()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),u=l.getBBox(),d=r.padding/2;if(f(c())){let e=l.children[0],t=a(l);u=e.getBoundingClientRect(),t.attr(`width`,u.width),t.attr(`height`,u.height)}return i?s.attr(`transform`,`translate(`+-u.width/2+`, `+-u.height/2+`)`):s.attr(`transform`,`translate(0, `+-u.height/2+`)`),r.centerLabel&&s.attr(`transform`,`translate(`+-u.width/2+`, `+-u.height/2+`)`),s.insert(`rect`,`:first-child`),{shapeSvg:t,bbox:u,halfPadding:d,label:s}},`insertLabel`),T=i((e,t)=>{let n=t.node().getBBox();e.width=n.width,e.height=n.height},`updateNodeBounds`),E=i((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function D(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}i(D,`createPathFromPoints`);function O(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}i(O,`generateFullSineWavePoints`);function k(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}i(k,`generateCirclePoints`);var A=i((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),j=i(async(e,t,n,r=!1,i=!1)=>{let a=t||``;typeof a==`object`&&(a=a[0]);let o=c(),s=f(o);return await m(e,a,{style:n,isTitle:r,useHtmlLabels:s,markdown:!1,isNode:i,width:1/0},o)},`createLabel`),M=i((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),N=i(async(e,t)=>{r.info(`Creating subgraph rect for `,t.id,t);let n=c(),{themeVariables:i,handDrawnSeed:o}=n,{clusterBkg:s,clusterBorder:l}=i,{labelStyles:u,nodeStyles:d,borderStyles:p,backgroundStyles:h}=y(t),_=e.insert(`g`).attr(`class`,`cluster `+t.cssClasses).attr(`id`,t.id).attr(`data-look`,t.look),b=f(n),x=_.insert(`g`).attr(`class`,`cluster-label `),C;C=t.labelType===`markdown`?await m(x,t.label,{style:t.labelStyle,useHtmlLabels:b,isNode:!0,width:t.width}):await j(x,t.label,t.labelStyle||``,!1,!0);let w=C.getBBox();if(f(n)){let e=C.children[0],t=a(C);w=e.getBoundingClientRect(),t.attr(`width`,w.width),t.attr(`height`,w.height)}let T=t.width<=w.width+t.padding?w.width+t.padding:t.width;t.width<=w.width+t.padding?t.diff=(T-t.width)/2-t.padding:t.diff=-t.padding;let E=t.height,D=t.x-T/2,O=t.y-E/2;r.trace(`Data `,t,JSON.stringify(t));let k;if(t.look===`handDrawn`){let e=S.svg(_),n=v(t,{roughness:.7,fill:s,stroke:l,fillWeight:3,seed:o}),i=e.path(M(D,O,T,E,0),n);k=_.insert(()=>(r.debug(`Rough node insert CXC`,i),i),`:first-child`),k.select(`path:nth-child(2)`).attr(`style`,p.join(`;`)),k.select(`path`).attr(`style`,h.join(`;`).replace(`fill`,`stroke`))}else k=_.insert(`rect`,`:first-child`),k.attr(`style`,d).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,D).attr(`y`,O).attr(`width`,T).attr(`height`,E);let{subGraphTitleTopMargin:N}=g(n);if(x.attr(`transform`,`translate(${t.x-w.width/2}, ${t.y-t.height/2+N})`),u){let e=x.select(`span`);e&&e.attr(`style`,u)}let P=k.node().getBBox();return t.offsetX=0,t.width=P.width,t.height=P.height,t.offsetY=w.height-t.padding/2,t.intersect=function(e){return A(t,e)},{cluster:_,labelBBox:w}},`rect`),P={rect:N,squareRect:N,roundedWithTitle:i(async(e,t)=>{let n=c(),{themeVariables:r,handDrawnSeed:i}=n,{altBackground:o,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=r,d=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.id).attr(`data-id`,t.id).attr(`data-look`,t.look),p=d.insert(`g`,`:first-child`),m=d.insert(`g`).attr(`class`,`cluster-label`),h=d.append(`rect`),g=await j(m,t.label,t.labelStyle,void 0,!0),_=g.getBBox();if(f(n)){let e=g.children[0],t=a(g);_=e.getBoundingClientRect(),t.attr(`width`,_.width),t.attr(`height`,_.height)}let v=0*t.padding,y=v/2,b=(t.width<=_.width+t.padding?_.width+t.padding:t.width)+v;t.width<=_.width+t.padding?t.diff=(b-t.width)/2-t.padding:t.diff=-t.padding;let x=t.height+v,C=t.height+v-_.height-6,w=t.x-b/2,T=t.y-x/2;t.width=b;let E=t.y-t.height/2-y+_.height+2,D;if(t.look===`handDrawn`){let e=t.cssClasses.includes(`statediagram-cluster-alt`),n=S.svg(d),r=t.rx||t.ry?n.path(M(w,T,b,x,10),{roughness:.7,fill:l,fillStyle:`solid`,stroke:u,seed:i}):n.rectangle(w,T,b,x,{seed:i});D=d.insert(()=>r,`:first-child`);let a=n.rectangle(w,E,b,C,{fill:e?o:s,fillStyle:e?`hachure`:`solid`,stroke:u,seed:i});D=d.insert(()=>r,`:first-child`),h=d.insert(()=>a)}else D=p.insert(`rect`,`:first-child`),D.attr(`class`,`outer`).attr(`x`,w).attr(`y`,T).attr(`width`,b).attr(`height`,x).attr(`data-look`,t.look),h.attr(`class`,`inner`).attr(`x`,w).attr(`y`,E).attr(`width`,b).attr(`height`,C);return m.attr(`transform`,`translate(${t.x-_.width/2}, ${T+1-(f(n)?0:3)})`),t.height=D.node().getBBox().height,t.offsetX=0,t.offsetY=_.height-t.padding/2,t.labelBBox=_,t.intersect=function(e){return A(t,e)},{cluster:d,labelBBox:_}},`roundedWithTitle`),noteGroup:i((e,t)=>{let n=e.insert(`g`).attr(`class`,`note-cluster`).attr(`id`,t.id),r=n.insert(`rect`,`:first-child`),i=0*t.padding,a=i/2;r.attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,t.x-t.width/2-a).attr(`y`,t.y-t.height/2-a).attr(`width`,t.width+i).attr(`height`,t.height+i).attr(`fill`,`none`);let o=r.node().getBBox();return t.width=o.width,t.height=o.height,t.intersect=function(e){return A(t,e)},{cluster:n,labelBBox:{width:0,height:0}}},`noteGroup`),divider:i((e,t)=>{let{themeVariables:n,handDrawnSeed:r}=c(),{nodeBorder:i}=n,a=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.id).attr(`data-look`,t.look),o=a.insert(`g`,`:first-child`),s=0*t.padding,l=t.width+s;t.diff=-t.padding;let u=t.height+s,d=t.x-l/2,f=t.y-u/2;t.width=l;let p;if(t.look===`handDrawn`){let e=S.svg(a).rectangle(d,f,l,u,{fill:`lightgrey`,roughness:.5,strokeLineDash:[5],stroke:i,seed:r});p=a.insert(()=>e,`:first-child`)}else p=o.insert(`rect`,`:first-child`),p.attr(`class`,`divider`).attr(`x`,d).attr(`y`,f).attr(`width`,l).attr(`height`,u).attr(`data-look`,t.look);return t.height=p.node().getBBox().height,t.offsetX=0,t.offsetY=0,t.intersect=function(e){return A(t,e)},{cluster:a,labelBBox:{}}},`divider`),kanbanSection:i(async(e,t)=>{r.info(`Creating subgraph rect for `,t.id,t);let n=c(),{themeVariables:i,handDrawnSeed:o}=n,{clusterBkg:s,clusterBorder:l}=i,{labelStyles:u,nodeStyles:d,borderStyles:p,backgroundStyles:h}=y(t),_=e.insert(`g`).attr(`class`,`cluster `+t.cssClasses).attr(`id`,t.id).attr(`data-look`,t.look),b=f(n),x=_.insert(`g`).attr(`class`,`cluster-label `),C=await m(x,t.label,{style:t.labelStyle,useHtmlLabels:b,isNode:!0,width:t.width}),w=C.getBBox();if(f(n)){let e=C.children[0],t=a(C);w=e.getBoundingClientRect(),t.attr(`width`,w.width),t.attr(`height`,w.height)}let T=t.width<=w.width+t.padding?w.width+t.padding:t.width;t.width<=w.width+t.padding?t.diff=(T-t.width)/2-t.padding:t.diff=-t.padding;let E=t.height,D=t.x-T/2,O=t.y-E/2;r.trace(`Data `,t,JSON.stringify(t));let k;if(t.look===`handDrawn`){let e=S.svg(_),n=v(t,{roughness:.7,fill:s,stroke:l,fillWeight:4,seed:o}),i=e.path(M(D,O,T,E,t.rx),n);k=_.insert(()=>(r.debug(`Rough node insert CXC`,i),i),`:first-child`),k.select(`path:nth-child(2)`).attr(`style`,p.join(`;`)),k.select(`path`).attr(`style`,h.join(`;`).replace(`fill`,`stroke`))}else k=_.insert(`rect`,`:first-child`),k.attr(`style`,d).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,D).attr(`y`,O).attr(`width`,T).attr(`height`,E);let{subGraphTitleTopMargin:j}=g(n);if(x.attr(`transform`,`translate(${t.x-w.width/2}, ${t.y-t.height/2+j})`),u){let e=x.select(`span`);e&&e.attr(`style`,u)}let N=k.node().getBBox();return t.offsetX=0,t.width=N.width,t.height=N.height,t.offsetY=w.height-t.padding/2,t.intersect=function(e){return A(t,e)},{cluster:_,labelBBox:w}},`kanbanSection`)},F=new Map,I=i(async(e,t)=>{let n=await P[t.shape||`rect`](e,t);return F.set(t.id,n),n},`insertCluster`),L=i(()=>{F=new Map},`clear`);function R(e,t){return e.intersect(t)}i(R,`intersectNode`);var z=R;function B(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}i(B,`intersectEllipse`);var V=B;function ee(e,t,n){return V(e,t,t,n)}i(ee,`intersectCircle`);var te=ee;function ne(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&H(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&H(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}i(ne,`intersectLine`);function H(e,t){return e*t>0}i(H,`sameSign`);var U=ne;function re(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=U(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}i(re,`intersectPolygon`);var W={node:z,circle:te,ellipse:V,polygon:re,rect:A};function ie(e,n){let{labelStyles:i}=y(n);n.labelStyle=i;let a=E(n),o=a;a||(o=`anchor`);let s=e.insert(`g`).attr(`class`,o).attr(`id`,n.domId||n.id),{cssStyles:c}=n,l=S.svg(s),u=v(n,{fill:`black`,stroke:`none`,fillStyle:`solid`});n.look!==`handDrawn`&&(u.roughness=0);let d=l.circle(0,0,2,u),f=s.insert(()=>d,`:first-child`);return f.attr(`class`,`anchor`).attr(`style`,t(c)),T(n,f),n.intersect=function(e){return r.info(`Circle intersect`,n,1,e),W.circle(n,1,e)},s}i(ie,`anchor`);function ae(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}i(ae,`generateArcPoints`);async function oe(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.width+t.padding+20,s=a.height+t.padding,c=s/2,l=c/(2.5+s/50),{cssStyles:u}=t,d=[{x:o/2,y:-s/2},{x:-o/2,y:-s/2},...ae(-o/2,-s/2,-o/2,s/2,l,c,!1),{x:o/2,y:s/2},...ae(o/2,s/2,o/2,-s/2,l,c,!0)],f=S.svg(i),p=v(t,{});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let m=D(d),h=f.path(m,p),g=i.insert(()=>h,`:first-child`);return g.attr(`class`,`basic label-container`),u&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,u),r&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,r),g.attr(`transform`,`translate(${l/2}, 0)`),T(t,g),t.intersect=function(e){return W.polygon(t,d,e)},i}i(oe,`bowTieRect`);function G(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}i(G,`insertPolygonShape`);async function se(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.height+t.padding,s=a.width+t.padding+12,c=s,l=-o,u=[{x:12,y:l},{x:c,y:l},{x:c,y:0},{x:0,y:0},{x:0,y:l+12},{x:12,y:l}],d,{cssStyles:f}=t;if(t.look===`handDrawn`){let e=S.svg(i),n=v(t,{}),r=D(u),a=e.path(r,n);d=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-s/2}, ${o/2})`),f&&d.attr(`style`,f)}else d=G(i,s,o,u);return r&&d.attr(`style`,r),T(t,d),t.intersect=function(e){return W.polygon(t,u,e)},i}i(se,`card`);function ce(e,t){let{nodeStyles:n}=y(t);t.label=``;let r=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=S.svg(r),c=v(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=D(o),u=s.path(l,c),d=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return W.polygon(t,o,e)},r}i(ce,`choice`);async function le(e,n,i){let{labelStyles:a,nodeStyles:o}=y(n);n.labelStyle=a;let{shapeSvg:s,bbox:c,halfPadding:l}=await C(e,n,E(n)),u=i?.padding??l,d=c.width/2+u,f,{cssStyles:p}=n;if(n.look===`handDrawn`){let e=S.svg(s),r=v(n,{}),i=e.circle(0,0,d*2,r);f=s.insert(()=>i,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,t(p))}else f=s.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,o).attr(`r`,d).attr(`cx`,0).attr(`cy`,0);return T(n,f),n.calcIntersect=function(e,t){let n=e.width/2;return W.circle(e,n,t)},n.intersect=function(e){return r.info(`Circle intersect`,n,d,e),W.circle(n,d,e)},s}i(le,`circle`);function ue(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
2
- M ${i.x},${i.y} L ${o.x},${o.y}`}i(ue,`createLine`);function de(e,t){let{labelStyles:n,nodeStyles:i}=y(t);t.labelStyle=n,t.label=``;let a=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),o=Math.max(30,t?.width??0),{cssStyles:s}=t,c=S.svg(a),l=v(t,{});t.look!==`handDrawn`&&(l.roughness=0,l.fillStyle=`solid`);let u=c.circle(0,0,o*2,l),d=ue(o),f=c.path(d,l),p=a.insert(()=>u,`:first-child`);return p.insert(()=>f),s&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,s),i&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,i),T(t,p),t.intersect=function(e){return r.info(`crossedCircle intersect`,t,{radius:o,point:e}),W.circle(t,o,e)},a}i(de,`crossedCircle`);function K(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}i(K,`generateCirclePoints`);async function fe(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=a.width+(t.padding??0),c=a.height+(t.padding??0),l=Math.max(5,c*.1),{cssStyles:u}=t,d=[...K(s/2,-c/2,l,30,-90,0),{x:-s/2-l,y:l},...K(s/2+l*2,-l,l,20,-180,-270),...K(s/2+l*2,l,l,20,-90,-180),{x:-s/2-l,y:-c/2},...K(s/2,c/2,l,20,0,90)],f=[{x:s/2,y:-c/2-l},{x:-s/2,y:-c/2-l},...K(s/2,-c/2,l,20,-90,0),{x:-s/2-l,y:-l},...K(s/2+s*.1,-l,l,20,-180,-270),...K(s/2+s*.1,l,l,20,-90,-180),{x:-s/2-l,y:c/2},...K(s/2,c/2,l,20,0,90),{x:-s/2,y:c/2+l},{x:s/2,y:c/2+l}],p=S.svg(i),m=v(t,{fill:`none`});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=D(d).replace(`Z`,``),g=p.path(h,m),_=D(f),b=p.path(_,{...m}),x=i.insert(`g`,`:first-child`);return x.insert(()=>b,`:first-child`).attr(`stroke-opacity`,0),x.insert(()=>g,`:first-child`),x.attr(`class`,`text`),u&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,u),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),x.attr(`transform`,`translate(${l}, 0)`),o.attr(`transform`,`translate(${-s/2+l-(a.x-(a.left??0))},${-c/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,x),t.intersect=function(e){return W.polygon(t,f,e)},i}i(fe,`curlyBraceLeft`);function q(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:a,y:l})}return o}i(q,`generateCirclePoints`);async function pe(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=a.width+(t.padding??0),c=a.height+(t.padding??0),l=Math.max(5,c*.1),{cssStyles:u}=t,d=[...q(s/2,-c/2,l,20,-90,0),{x:s/2+l,y:-l},...q(s/2+l*2,-l,l,20,-180,-270),...q(s/2+l*2,l,l,20,-90,-180),{x:s/2+l,y:c/2},...q(s/2,c/2,l,20,0,90)],f=[{x:-s/2,y:-c/2-l},{x:s/2,y:-c/2-l},...q(s/2,-c/2,l,20,-90,0),{x:s/2+l,y:-l},...q(s/2+l*2,-l,l,20,-180,-270),...q(s/2+l*2,l,l,20,-90,-180),{x:s/2+l,y:c/2},...q(s/2,c/2,l,20,0,90),{x:s/2,y:c/2+l},{x:-s/2,y:c/2+l}],p=S.svg(i),m=v(t,{fill:`none`});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=D(d).replace(`Z`,``),g=p.path(h,m),_=D(f),b=p.path(_,{...m}),x=i.insert(`g`,`:first-child`);return x.insert(()=>b,`:first-child`).attr(`stroke-opacity`,0),x.insert(()=>g,`:first-child`),x.attr(`class`,`text`),u&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,u),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),x.attr(`transform`,`translate(${-l}, 0)`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)/2-(a.x-(a.left??0))},${-c/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,x),t.intersect=function(e){return W.polygon(t,f,e)},i}i(pe,`curlyBraceRight`);function J(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}i(J,`generateCirclePoints`);async function me(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=a.width+(t.padding??0),c=a.height+(t.padding??0),l=Math.max(5,c*.1),{cssStyles:u}=t,d=[...J(s/2,-c/2,l,30,-90,0),{x:-s/2-l,y:l},...J(s/2+l*2,-l,l,20,-180,-270),...J(s/2+l*2,l,l,20,-90,-180),{x:-s/2-l,y:-c/2},...J(s/2,c/2,l,20,0,90)],f=[...J(-s/2+l+l/2,-c/2,l,20,-90,-180),{x:s/2-l/2,y:l},...J(-s/2-l/2,-l,l,20,0,90),...J(-s/2-l/2,l,l,20,-90,0),{x:s/2-l/2,y:-l},...J(-s/2+l+l/2,c/2,l,30,-180,-270)],p=[{x:s/2,y:-c/2-l},{x:-s/2,y:-c/2-l},...J(s/2,-c/2,l,20,-90,0),{x:-s/2-l,y:-l},...J(s/2+l*2,-l,l,20,-180,-270),...J(s/2+l*2,l,l,20,-90,-180),{x:-s/2-l,y:c/2},...J(s/2,c/2,l,20,0,90),{x:-s/2,y:c/2+l},{x:s/2-l-l/2,y:c/2+l},...J(-s/2+l+l/2,-c/2,l,20,-90,-180),{x:s/2-l/2,y:l},...J(-s/2-l/2,-l,l,20,0,90),...J(-s/2-l/2,l,l,20,-90,0),{x:s/2-l/2,y:-l},...J(-s/2+l+l/2,c/2,l,30,-180,-270)],m=S.svg(i),h=v(t,{fill:`none`});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=D(d).replace(`Z`,``),_=m.path(g,h),b=D(f).replace(`Z`,``),x=m.path(b,h),w=D(p),O=m.path(w,{...h}),k=i.insert(`g`,`:first-child`);return k.insert(()=>O,`:first-child`).attr(`stroke-opacity`,0),k.insert(()=>_,`:first-child`),k.insert(()=>x,`:first-child`),k.attr(`class`,`text`),u&&t.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,u),r&&t.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,r),k.attr(`transform`,`translate(${l-l/4}, 0)`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)/2-(a.x-(a.left??0))},${-c/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,k),t.intersect=function(e){return W.polygon(t,p,e)},i}i(me,`curlyBraces`);async function he(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(80,(a.width+(t.padding??0)*2)*1.25,t?.width??0),s=Math.max(20,a.height+(t.padding??0)*2,t?.height??0),c=s/2,{cssStyles:l}=t,u=S.svg(i),d=v(t,{});t.look!==`handDrawn`&&(d.roughness=0,d.fillStyle=`solid`);let f=o,p=s,m=f-c,h=p/4,g=[{x:m,y:0},{x:h,y:0},{x:0,y:p/2},{x:h,y:p},{x:m,y:p},...k(-m,-p/2,c,50,270,90)],_=D(g),b=u.path(_,d),x=i.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container`),l&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,l),r&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,r),x.attr(`transform`,`translate(${-o/2}, ${-s/2})`),T(t,x),t.intersect=function(e){return W.polygon(t,g,e)},i}i(he,`curvedTrapezoid`);var ge=i((e,t,n,r,i,a)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createCylinderPathD`),_e=i((e,t,n,r,i,a)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createOuterCylinderPathD`),ve=i((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`);async function ye(e,n){let{labelStyles:r,nodeStyles:i}=y(n);n.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await C(e,n,E(n)),c=Math.max(o.width+n.padding,n.width??0),l=c/2,u=l/(2.5+c/50),d=Math.max(o.height+u+n.padding,n.height??0),f,{cssStyles:p}=n;if(n.look===`handDrawn`){let e=S.svg(a),t=_e(0,0,c,d,l,u),r=ve(0,u,c,d,l,u),i=e.path(t,v(n,{})),o=e.path(r,v(n,{fill:`none`}));f=a.insert(()=>o,`:first-child`),f=a.insert(()=>i,`:first-child`),f.attr(`class`,`basic label-container`),p&&f.attr(`style`,p)}else{let e=ge(0,0,c,d,l,u);f=a.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container`).attr(`style`,t(p)).attr(`style`,i)}return f.attr(`label-offset-y`,u),f.attr(`transform`,`translate(${-c/2}, ${-(d/2+u)})`),T(n,f),s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${-(o.height/2)+(n.padding??0)/1.5-(o.y-(o.top??0))})`),n.intersect=function(e){let t=W.rect(n,e),r=t.x-(n.x??0);if(l!=0&&(Math.abs(r)<(n.width??0)/2||Math.abs(r)==(n.width??0)/2&&Math.abs(t.y-(n.y??0))>(n.height??0)/2-u)){let i=u*u*(1-r*r/(l*l));i>0&&(i=Math.sqrt(i)),i=u-i,e.y-(n.y??0)>0&&(i=-i),t.y+=i}return t},a}i(ye,`cylinder`);async function be(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=a.width+t.padding,c=a.height+t.padding,l=c*.2,u=-s/2,d=-c/2-l/2,{cssStyles:f}=t,p=S.svg(i),m=v(t,{});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=[{x:u,y:d+l},{x:-u,y:d+l},{x:-u,y:-d},{x:u,y:-d},{x:u,y:d},{x:-u,y:d},{x:-u,y:d+l}],g=p.polygon(h.map(e=>[e.x,e.y]),m),_=i.insert(()=>g,`:first-child`);return _.attr(`class`,`basic label-container`),f&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,r),o.attr(`transform`,`translate(${u+(t.padding??0)/2-(a.x-(a.left??0))}, ${d+l+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,_),t.intersect=function(e){return W.rect(t,e)},i}i(be,`dividedRectangle`);async function xe(e,n){let{labelStyles:i,nodeStyles:a}=y(n);n.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c}=await C(e,n,E(n)),l=s.width/2+c+5,u=s.width/2+c,d,{cssStyles:f}=n;if(n.look===`handDrawn`){let e=S.svg(o),r=v(n,{roughness:.2,strokeWidth:2.5}),i=v(n,{roughness:.2,strokeWidth:1.5}),a=e.circle(0,0,l*2,r),s=e.circle(0,0,u*2,i);d=o.insert(`g`,`:first-child`),d.attr(`class`,t(n.cssClasses)).attr(`style`,t(f)),d.node()?.appendChild(a),d.node()?.appendChild(s)}else{d=o.insert(`g`,`:first-child`);let e=d.insert(`circle`,`:first-child`),t=d.insert(`circle`);d.attr(`class`,`basic label-container`).attr(`style`,a),e.attr(`class`,`outer-circle`).attr(`style`,a).attr(`r`,l).attr(`cx`,0).attr(`cy`,0),t.attr(`class`,`inner-circle`).attr(`style`,a).attr(`r`,u).attr(`cx`,0).attr(`cy`,0)}return T(n,d),n.intersect=function(e){return r.info(`DoubleCircle intersect`,n,l,e),W.circle(n,l,e)},o}i(xe,`doublecircle`);function Se(e,t,{config:{themeVariables:n}}){let{labelStyles:i,nodeStyles:a}=y(t);t.label=``,t.labelStyle=i;let o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=S.svg(o),{nodeBorder:l}=n,u=v(t,{fillStyle:`solid`});t.look!==`handDrawn`&&(u.roughness=0);let d=c.circle(0,0,14,u),f=o.insert(()=>d,`:first-child`);return f.selectAll(`path`).attr(`style`,`fill: ${l} !important;`),s&&s.length>0&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,a),T(t,f),t.intersect=function(e){return r.info(`filledCircle intersect`,t,{radius:7,point:e}),W.circle(t,7,e)},o}i(Se,`filledCircle`);async function Ce(e,t){let{labelStyles:n,nodeStyles:i}=y(t);t.labelStyle=n;let{shapeSvg:a,bbox:o,label:s}=await C(e,t,E(t)),c=o.width+(t.padding??0),l=c+o.height,u=c+o.height,d=[{x:0,y:-l},{x:u,y:-l},{x:u/2,y:0}],{cssStyles:f}=t,p=S.svg(a),m=v(t,{});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=D(d),g=p.path(h,m),_=a.insert(()=>g,`:first-child`).attr(`transform`,`translate(${-l/2}, ${l/2})`);return f&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,f),i&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,i),t.width=c,t.height=l,T(t,_),s.attr(`transform`,`translate(${-o.width/2-(o.x-(o.left??0))}, ${-l/2+(t.padding??0)/2+(o.y-(o.top??0))})`),t.intersect=function(e){return r.info(`Triangle intersect`,t,d,e),W.polygon(t,d,e)},a}i(Ce,`flippedTriangle`);function we(e,t,{dir:n,config:{state:r,themeVariables:i}}){let{nodeStyles:a}=y(t);t.label=``;let o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=Math.max(70,t?.width??0),l=Math.max(10,t?.height??0);n===`LR`&&(c=Math.max(10,t?.width??0),l=Math.max(70,t?.height??0));let u=-1*c/2,d=-1*l/2,f=S.svg(o),p=v(t,{stroke:i.lineColor,fill:i.lineColor});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let m=f.rectangle(u,d,c,l,p),h=o.insert(()=>m,`:first-child`);s&&t.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,a),T(t,h);let g=r?.padding??0;return t.width&&t.height&&(t.width+=g/2||0,t.height+=g/2||0),t.intersect=function(e){return W.rect(t,e)},o}i(we,`forkJoin`);async function Te(e,t){let{labelStyles:n,nodeStyles:i}=y(t);t.labelStyle=n;let{shapeSvg:a,bbox:o}=await C(e,t,E(t)),s=Math.max(80,o.width+(t.padding??0)*2,t?.width??0),c=Math.max(50,o.height+(t.padding??0)*2,t?.height??0),l=c/2,{cssStyles:u}=t,d=S.svg(a),f=v(t,{});t.look!==`handDrawn`&&(f.roughness=0,f.fillStyle=`solid`);let p=[{x:-s/2,y:-c/2},{x:s/2-l,y:-c/2},...k(-s/2+l,0,l,50,90,270),{x:s/2-l,y:c/2},{x:-s/2,y:c/2}],m=D(p),h=d.path(m,f),g=a.insert(()=>h,`:first-child`);return g.attr(`class`,`basic label-container`),u&&t.look!==`handDrawn`&&g.selectChildren(`path`).attr(`style`,u),i&&t.look!==`handDrawn`&&g.selectChildren(`path`).attr(`style`,i),T(t,g),t.intersect=function(e){return r.info(`Pill intersect`,t,{radius:l,point:e}),W.polygon(t,p,e)},a}i(Te,`halfRoundedRectangle`);var Ee=i((e,t,n,r,i)=>[`M${e+i},${t}`,`L${e+n-i},${t}`,`L${e+n},${t-r/2}`,`L${e+n-i},${t-r}`,`L${e+i},${t-r}`,`L${e},${t-r/2}`,`Z`].join(` `),`createHexagonPathD`);async function De(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.height+t.padding,s=o/4,c=a.width+2*s+t.padding,l=[{x:s,y:0},{x:c-s,y:0},{x:c,y:-o/2},{x:c-s,y:-o},{x:s,y:-o},{x:0,y:-o/2}],u,{cssStyles:d}=t;if(t.look===`handDrawn`){let e=S.svg(i),n=v(t,{}),r=Ee(0,0,c,o,s),a=e.path(r,n);u=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-c/2}, ${o/2})`),d&&u.attr(`style`,d)}else u=G(i,c,o,l);return r&&u.attr(`style`,r),t.width=c,t.height=o,T(t,u),t.intersect=function(e){return W.polygon(t,l,e)},i}i(De,`hexagon`);async function Oe(e,t){let{labelStyles:n,nodeStyles:i}=y(t);t.label=``,t.labelStyle=n;let{shapeSvg:a}=await C(e,t,E(t)),o=Math.max(30,t?.width??0),s=Math.max(30,t?.height??0),{cssStyles:c}=t,l=S.svg(a),u=v(t,{});t.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let d=[{x:0,y:0},{x:o,y:0},{x:0,y:s},{x:o,y:s}],f=D(d),p=l.path(f,u),m=a.insert(()=>p,`:first-child`);return m.attr(`class`,`basic label-container`),c&&t.look!==`handDrawn`&&m.selectChildren(`path`).attr(`style`,c),i&&t.look!==`handDrawn`&&m.selectChildren(`path`).attr(`style`,i),m.attr(`transform`,`translate(${-o/2}, ${-s/2})`),T(t,m),t.intersect=function(e){return r.info(`Pill intersect`,t,{points:d}),W.polygon(t,d,e)},a}i(Oe,`hourglass`);async function ke(e,t,{config:{themeVariables:n,flowchart:i}}){let{labelStyles:a}=y(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,label:f}=await C(e,t,`icon-shape default`),p=t.pos===`t`,m=c,g=c,{nodeBorder:_}=n,{stylesMap:b}=x(t),w=-g/2,E=-m/2,D=t.label?8:0,O=S.svg(u),k=v(t,{stroke:`none`,fill:`none`});t.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`);let A=O.rectangle(w,E,g,m,k),j=Math.max(g,d.width),M=m+d.height+D,N=O.rectangle(-j/2,-M/2,j,M,{...k,fill:`transparent`,stroke:`none`}),P=u.insert(()=>A,`:first-child`),F=u.insert(()=>N);if(t.icon){let e=u.append(`g`);e.html(`<g>${await h(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${p?d.height/2+D/2-i/2-o:-d.height/2-D/2-i/2-o})`),e.attr(`style`,`color: ${b.get(`stroke`)??_};`)}return f.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${p?-M/2:M/2-d.height})`),P.attr(`transform`,`translate(0,${p?d.height/2+D/2:-d.height/2-D/2})`),T(t,F),t.intersect=function(e){if(r.info(`iconSquare intersect`,t,e),!t.label)return W.rect(t,e);let n=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=p?[{x:n-d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2+d.height+D},{x:n+g/2,y:i-a/2+d.height+D},{x:n+g/2,y:i+a/2},{x:n-g/2,y:i+a/2},{x:n-g/2,y:i-a/2+d.height+D},{x:n-d.width/2,y:i-a/2+d.height+D}]:[{x:n-g/2,y:i-a/2},{x:n+g/2,y:i-a/2},{x:n+g/2,y:i-a/2+m},{x:n+d.width/2,y:i-a/2+m},{x:n+d.width/2/2,y:i+a/2},{x:n-d.width/2,y:i+a/2},{x:n-d.width/2,y:i-a/2+m},{x:n-g/2,y:i-a/2+m}],W.polygon(t,o,e)},u}i(ke,`icon`);async function Ae(e,t,{config:{themeVariables:n,flowchart:i}}){let{labelStyles:a}=y(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,label:f}=await C(e,t,`icon-shape default`),p=t.label?8:0,m=t.pos===`t`,{nodeBorder:g,mainBkg:_}=n,{stylesMap:b}=x(t),w=S.svg(u),E=v(t,{});t.look!==`handDrawn`&&(E.roughness=0,E.fillStyle=`solid`),E.stroke=b.get(`fill`)??_;let D=u.append(`g`);t.icon&&D.html(`<g>${await h(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let O=D.node().getBBox(),k=O.width,A=O.height,j=O.x,M=O.y,N=Math.max(k,A)*Math.SQRT2+40,P=w.circle(0,0,N,E),F=Math.max(N,d.width),I=N+d.height+p,L=w.rectangle(-F/2,-I/2,F,I,{...E,fill:`transparent`,stroke:`none`}),R=u.insert(()=>P,`:first-child`),z=u.insert(()=>L);return D.attr(`transform`,`translate(${-k/2-j},${m?d.height/2+p/2-A/2-M:-d.height/2-p/2-A/2-M})`),D.attr(`style`,`color: ${b.get(`stroke`)??g};`),f.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${m?-I/2:I/2-d.height})`),R.attr(`transform`,`translate(0,${m?d.height/2+p/2:-d.height/2-p/2})`),T(t,z),t.intersect=function(e){return r.info(`iconSquare intersect`,t,e),W.rect(t,e)},u}i(Ae,`iconCircle`);async function je(e,t,{config:{themeVariables:n,flowchart:i}}){let{labelStyles:a}=y(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,halfPadding:f,label:p}=await C(e,t,`icon-shape default`),m=t.pos===`t`,g=c+f*2,_=c+f*2,{nodeBorder:b,mainBkg:w}=n,{stylesMap:E}=x(t),D=-_/2,O=-g/2,k=t.label?8:0,A=S.svg(u),j=v(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`),j.stroke=E.get(`fill`)??w;let N=A.path(M(D,O,_,g,5),j),P=Math.max(_,d.width),F=g+d.height+k,I=A.rectangle(-P/2,-F/2,P,F,{...j,fill:`transparent`,stroke:`none`}),L=u.insert(()=>N,`:first-child`).attr(`class`,`icon-shape2`),R=u.insert(()=>I);if(t.icon){let e=u.append(`g`);e.html(`<g>${await h(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${m?d.height/2+k/2-i/2-o:-d.height/2-k/2-i/2-o})`),e.attr(`style`,`color: ${E.get(`stroke`)??b};`)}return p.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${m?-F/2:F/2-d.height})`),L.attr(`transform`,`translate(0,${m?d.height/2+k/2:-d.height/2-k/2})`),T(t,R),t.intersect=function(e){if(r.info(`iconSquare intersect`,t,e),!t.label)return W.rect(t,e);let n=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=m?[{x:n-d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2+d.height+k},{x:n+_/2,y:i-a/2+d.height+k},{x:n+_/2,y:i+a/2},{x:n-_/2,y:i+a/2},{x:n-_/2,y:i-a/2+d.height+k},{x:n-d.width/2,y:i-a/2+d.height+k}]:[{x:n-_/2,y:i-a/2},{x:n+_/2,y:i-a/2},{x:n+_/2,y:i-a/2+g},{x:n+d.width/2,y:i-a/2+g},{x:n+d.width/2/2,y:i+a/2},{x:n-d.width/2,y:i+a/2},{x:n-d.width/2,y:i-a/2+g},{x:n-_/2,y:i-a/2+g}],W.polygon(t,o,e)},u}i(je,`iconRounded`);async function Me(e,t,{config:{themeVariables:n,flowchart:i}}){let{labelStyles:a}=y(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,halfPadding:f,label:p}=await C(e,t,`icon-shape default`),m=t.pos===`t`,g=c+f*2,_=c+f*2,{nodeBorder:b,mainBkg:w}=n,{stylesMap:E}=x(t),D=-_/2,O=-g/2,k=t.label?8:0,A=S.svg(u),j=v(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`),j.stroke=E.get(`fill`)??w;let N=A.path(M(D,O,_,g,.1),j),P=Math.max(_,d.width),F=g+d.height+k,I=A.rectangle(-P/2,-F/2,P,F,{...j,fill:`transparent`,stroke:`none`}),L=u.insert(()=>N,`:first-child`),R=u.insert(()=>I);if(t.icon){let e=u.append(`g`);e.html(`<g>${await h(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${m?d.height/2+k/2-i/2-o:-d.height/2-k/2-i/2-o})`),e.attr(`style`,`color: ${E.get(`stroke`)??b};`)}return p.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${m?-F/2:F/2-d.height})`),L.attr(`transform`,`translate(0,${m?d.height/2+k/2:-d.height/2-k/2})`),T(t,R),t.intersect=function(e){if(r.info(`iconSquare intersect`,t,e),!t.label)return W.rect(t,e);let n=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=m?[{x:n-d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2},{x:n+d.width/2,y:i-a/2+d.height+k},{x:n+_/2,y:i-a/2+d.height+k},{x:n+_/2,y:i+a/2},{x:n-_/2,y:i+a/2},{x:n-_/2,y:i-a/2+d.height+k},{x:n-d.width/2,y:i-a/2+d.height+k}]:[{x:n-_/2,y:i-a/2},{x:n+_/2,y:i-a/2},{x:n+_/2,y:i-a/2+g},{x:n+d.width/2,y:i-a/2+g},{x:n+d.width/2/2,y:i+a/2},{x:n-d.width/2,y:i+a/2},{x:n-d.width/2,y:i-a/2+g},{x:n-_/2,y:i-a/2+g}],W.polygon(t,o,e)},u}i(Me,`iconSquare`);async function Ne(e,t,{config:{flowchart:n}}){let i=new Image;i.src=t?.img??``,await i.decode();let a=Number(i.naturalWidth.toString().replace(`px`,``)),o=Number(i.naturalHeight.toString().replace(`px`,``));t.imageAspectRatio=a/o;let{labelStyles:s}=y(t);t.labelStyle=s;let c=n?.wrappingWidth;t.defaultWidth=n?.wrappingWidth;let l=Math.max(t.label?c??0:0,t?.assetWidth??a),u=t.constraint===`on`&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:l,d=t.constraint===`on`?u/t.imageAspectRatio:t?.assetHeight??o;t.width=Math.max(u,c??0);let{shapeSvg:f,bbox:p,label:m}=await C(e,t,`image-shape default`),h=t.pos===`t`,g=-u/2,_=-d/2,b=t.label?8:0,x=S.svg(f),w=v(t,{});t.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let E=x.rectangle(g,_,u,d,w),D=Math.max(u,p.width),O=d+p.height+b,k=x.rectangle(-D/2,-O/2,D,O,{...w,fill:`none`,stroke:`none`}),A=f.insert(()=>E,`:first-child`),j=f.insert(()=>k);if(t.img){let e=f.append(`image`);e.attr(`href`,t.img),e.attr(`width`,u),e.attr(`height`,d),e.attr(`preserveAspectRatio`,`none`),e.attr(`transform`,`translate(${-u/2},${h?O/2-d:-O/2})`)}return m.attr(`transform`,`translate(${-p.width/2-(p.x-(p.left??0))},${h?-d/2-p.height/2-b/2:d/2-p.height/2+b/2})`),A.attr(`transform`,`translate(0,${h?p.height/2+b/2:-p.height/2-b/2})`),T(t,j),t.intersect=function(e){if(r.info(`iconSquare intersect`,t,e),!t.label)return W.rect(t,e);let n=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=h?[{x:n-p.width/2,y:i-a/2},{x:n+p.width/2,y:i-a/2},{x:n+p.width/2,y:i-a/2+p.height+b},{x:n+u/2,y:i-a/2+p.height+b},{x:n+u/2,y:i+a/2},{x:n-u/2,y:i+a/2},{x:n-u/2,y:i-a/2+p.height+b},{x:n-p.width/2,y:i-a/2+p.height+b}]:[{x:n-u/2,y:i-a/2},{x:n+u/2,y:i-a/2},{x:n+u/2,y:i-a/2+d},{x:n+p.width/2,y:i-a/2+d},{x:n+p.width/2/2,y:i+a/2},{x:n-p.width/2,y:i+a/2},{x:n-p.width/2,y:i-a/2+d},{x:n-u/2,y:i-a/2+d}],W.polygon(t,o,e)},f}i(Ne,`imageSquare`);async function Pe(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+(t.padding??0)*2,t?.width??0),s=Math.max(a.height+(t.padding??0)*2,t?.height??0),c=[{x:0,y:0},{x:o,y:0},{x:o+3*s/6,y:-s},{x:-3*s/6,y:-s}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=S.svg(i),n=v(t,{}),r=D(c),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2}, ${s/2})`),u&&l.attr(`style`,u)}else l=G(i,o,s,c);return r&&l.attr(`style`,r),t.width=o,t.height=s,T(t,l),t.intersect=function(e){return W.polygon(t,c,e)},i}i(Pe,`inv_trapezoid`);async function Y(e,n,r){let{labelStyles:i,nodeStyles:a}=y(n);n.labelStyle=i;let{shapeSvg:o,bbox:s}=await C(e,n,E(n)),c=Math.max(s.width+r.labelPaddingX*2,n?.width||0),l=Math.max(s.height+r.labelPaddingY*2,n?.height||0),u=-c/2,d=-l/2,f,{rx:p,ry:m}=n,{cssStyles:h}=n;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),n.look===`handDrawn`){let e=S.svg(o),r=v(n,{}),i=p||m?e.path(M(u,d,c,l,p||0),r):e.rectangle(u,d,c,l,r);f=o.insert(()=>i,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,t(h))}else f=o.insert(`rect`,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,a).attr(`rx`,t(p)).attr(`ry`,t(m)).attr(`x`,u).attr(`y`,d).attr(`width`,c).attr(`height`,l);return T(n,f),n.calcIntersect=function(e,t){return W.rect(e,t)},n.intersect=function(e){return W.rect(n,e)},o}i(Y,`drawRect`);async function Fe(e,t){let{shapeSvg:n,bbox:r,label:i}=await C(e,t,`label`),a=n.insert(`rect`,`:first-child`);return a.attr(`width`,.1).attr(`height`,.1),n.attr(`class`,`label edgeLabel`),i.attr(`transform`,`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),T(t,a),t.intersect=function(e){return W.rect(t,e)},n}i(Fe,`labelRect`);async function Ie(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+(t.padding??0),t?.width??0),s=Math.max(a.height+(t.padding??0),t?.height??0),c=[{x:0,y:0},{x:o+3*s/6,y:0},{x:o,y:-s},{x:-(3*s)/6,y:-s}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=S.svg(i),n=v(t,{}),r=D(c),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2}, ${s/2})`),u&&l.attr(`style`,u)}else l=G(i,o,s,c);return r&&l.attr(`style`,r),t.width=o,t.height=s,T(t,l),t.intersect=function(e){return W.polygon(t,c,e)},i}i(Ie,`lean_left`);async function Le(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+(t.padding??0),t?.width??0),s=Math.max(a.height+(t.padding??0),t?.height??0),c=[{x:-3*s/6,y:0},{x:o,y:0},{x:o+3*s/6,y:-s},{x:0,y:-s}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=S.svg(i),n=v(t,{}),r=D(c),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2}, ${s/2})`),u&&l.attr(`style`,u)}else l=G(i,o,s,c);return r&&l.attr(`style`,r),t.width=o,t.height=s,T(t,l),t.intersect=function(e){return W.polygon(t,c,e)},i}i(Le,`lean_right`);function Re(e,t){let{labelStyles:n,nodeStyles:i}=y(t);t.label=``,t.labelStyle=n;let a=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:o}=t,s=Math.max(35,t?.width??0),c=Math.max(35,t?.height??0),l=[{x:s,y:0},{x:0,y:c+7/2},{x:s-14,y:c+7/2},{x:0,y:2*c},{x:s,y:c-7/2},{x:14,y:c-7/2}],u=S.svg(a),d=v(t,{});t.look!==`handDrawn`&&(d.roughness=0,d.fillStyle=`solid`);let f=D(l),p=u.path(f,d),m=a.insert(()=>p,`:first-child`);return o&&t.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,o),i&&t.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,i),m.attr(`transform`,`translate(-${s/2},${-c})`),T(t,m),t.intersect=function(e){return r.info(`lightningBolt intersect`,t,e),W.polygon(t,l,e)},a}i(Re,`lightningBolt`);var ze=i((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createCylinderPathD`),Be=i((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createOuterCylinderPathD`),Ve=i((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`);async function He(e,n){let{labelStyles:r,nodeStyles:i}=y(n);n.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await C(e,n,E(n)),c=Math.max(o.width+(n.padding??0),n.width??0),l=c/2,u=l/(2.5+c/50),d=Math.max(o.height+u+(n.padding??0),n.height??0),f=d*.1,p,{cssStyles:m}=n;if(n.look===`handDrawn`){let e=S.svg(a),t=Be(0,0,c,d,l,u,f),r=Ve(0,u,c,d,l,u),i=v(n,{}),o=e.path(t,i),s=e.path(r,i);a.insert(()=>s,`:first-child`).attr(`class`,`line`),p=a.insert(()=>o,`:first-child`),p.attr(`class`,`basic label-container`),m&&p.attr(`style`,m)}else{let e=ze(0,0,c,d,l,u,f);p=a.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container`).attr(`style`,t(m)).attr(`style`,i)}return p.attr(`label-offset-y`,u),p.attr(`transform`,`translate(${-c/2}, ${-(d/2+u)})`),T(n,p),s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${-(o.height/2)+u-(o.y-(o.top??0))})`),n.intersect=function(e){let t=W.rect(n,e),r=t.x-(n.x??0);if(l!=0&&(Math.abs(r)<(n.width??0)/2||Math.abs(r)==(n.width??0)/2&&Math.abs(t.y-(n.y??0))>(n.height??0)/2-u)){let i=u*u*(1-r*r/(l*l));i>0&&(i=Math.sqrt(i)),i=u-i,e.y-(n.y??0)>0&&(i=-i),t.y+=i}return t},a}i(He,`linedCylinder`);async function Ue(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/4,u=c+l,{cssStyles:d}=t,f=S.svg(i),p=v(t,{});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let m=[{x:-s/2-s/2*.1,y:-u/2},{x:-s/2-s/2*.1,y:u/2},...O(-s/2-s/2*.1,u/2,s/2+s/2*.1,u/2,l,.8),{x:s/2+s/2*.1,y:-u/2},{x:-s/2-s/2*.1,y:-u/2},{x:-s/2,y:-u/2},{x:-s/2,y:u/2*1.1},{x:-s/2,y:-u/2}],h=f.polygon(m.map(e=>[e.x,e.y]),p),g=i.insert(()=>h,`:first-child`);return g.attr(`class`,`basic label-container`),d&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,d),r&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,r),g.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)+s/2*.1/2-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l/2-(a.y-(a.top??0))})`),T(t,g),t.intersect=function(e){return W.polygon(t,m,e)},i}i(Ue,`linedWaveEdgedRect`);async function We(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=-s/2,u=-c/2,{cssStyles:d}=t,f=S.svg(i),p=v(t,{}),m=[{x:l-5,y:u+5},{x:l-5,y:u+c+5},{x:l+s-5,y:u+c+5},{x:l+s-5,y:u+c},{x:l+s,y:u+c},{x:l+s,y:u+c-5},{x:l+s+5,y:u+c-5},{x:l+s+5,y:u-5},{x:l+5,y:u-5},{x:l+5,y:u},{x:l,y:u},{x:l,y:u+5}],h=[{x:l,y:u+5},{x:l+s-5,y:u+5},{x:l+s-5,y:u+c},{x:l+s,y:u+c},{x:l+s,y:u},{x:l,y:u}];t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let g=D(m),_=f.path(g,p),b=D(h),x=f.path(b,{...p,fill:`none`}),w=i.insert(()=>x,`:first-child`);return w.insert(()=>_,`:first-child`),w.attr(`class`,`basic label-container`),d&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,d),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),o.attr(`transform`,`translate(${-(a.width/2)-5-(a.x-(a.left??0))}, ${-(a.height/2)+5-(a.y-(a.top??0))})`),T(t,w),t.intersect=function(e){return W.polygon(t,m,e)},i}i(We,`multiRect`);async function Ge(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/4,u=c+l,d=-s/2,f=-u/2,{cssStyles:p}=t,m=O(d-5,f+u+5,d+s-5,f+u+5,l,.8),h=m?.[m.length-1],g=[{x:d-5,y:f+5},{x:d-5,y:f+u+5},...m,{x:d+s-5,y:h.y-5},{x:d+s,y:h.y-5},{x:d+s,y:h.y-10},{x:d+s+5,y:h.y-10},{x:d+s+5,y:f-5},{x:d+5,y:f-5},{x:d+5,y:f},{x:d,y:f},{x:d,y:f+5}],_=[{x:d,y:f+5},{x:d+s-5,y:f+5},{x:d+s-5,y:h.y-5},{x:d+s,y:h.y-5},{x:d+s,y:f},{x:d,y:f}],b=S.svg(i),x=v(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let w=D(g),k=b.path(w,x),A=D(_),j=b.path(A,x),M=i.insert(()=>k,`:first-child`);return M.insert(()=>j),M.attr(`class`,`basic label-container`),p&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),M.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-(a.width/2)-5-(a.x-(a.left??0))}, ${-(a.height/2)+5-l/2-(a.y-(a.top??0))})`),T(t,M),t.intersect=function(e){return W.polygon(t,g,e)},i}i(Ge,`multiWaveEdgedRectangle`);async function Ke(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=y(t);t.labelStyle=r,t.useHtmlLabels||f(p())||(t.centerLabel=!0);let{shapeSvg:a,bbox:o,label:s}=await C(e,t,E(t)),c=Math.max(o.width+(t.padding??0)*2,t?.width??0),l=Math.max(o.height+(t.padding??0)*2,t?.height??0),u=-c/2,d=-l/2,{cssStyles:m}=t,h=S.svg(a),g=v(t,{fill:n.noteBkgColor,stroke:n.noteBorderColor});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=h.rectangle(u,d,c,l,g),b=a.insert(()=>_,`:first-child`);return b.attr(`class`,`basic label-container`),m&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,m),i&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,i),s.attr(`transform`,`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),T(t,b),t.intersect=function(e){return W.rect(t,e)},a}i(Ke,`note`);var qe=i((e,t,n)=>[`M${e+n/2},${t}`,`L${e+n},${t-n/2}`,`L${e+n/2},${t-n}`,`L${e},${t-n/2}`,`Z`].join(` `),`createDecisionBoxPathD`);async function Je(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.width+t.padding+(a.height+t.padding),s=.5,c=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=S.svg(i),n=v(t,{}),r=qe(0,0,o),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2+s}, ${o/2})`),u&&l.attr(`style`,u)}else l=G(i,o,o,c),l.attr(`transform`,`translate(${-o/2+s}, ${o/2})`);return r&&l.attr(`style`,r),T(t,l),t.calcIntersect=function(e,t){let n=e.width,r=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}],i=W.polygon(e,r,t);return{x:i.x-.5,y:i.y-.5}},t.intersect=function(e){return this.calcIntersect(t,e)},i}i(Je,`question`);async function Ye(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0),t?.width??0),c=Math.max(a.height+(t.padding??0),t?.height??0),l=-s/2,u=-c/2,d=u/2,f=[{x:l+d,y:u},{x:l,y:0},{x:l+d,y:-u},{x:-l,y:-u},{x:-l,y:u}],{cssStyles:p}=t,m=S.svg(i),h=v(t,{});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=D(f),_=m.path(g,h),b=i.insert(()=>_,`:first-child`);return b.attr(`class`,`basic label-container`),p&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,r),b.attr(`transform`,`translate(${-d/2},0)`),o.attr(`transform`,`translate(${-d/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),T(t,b),t.intersect=function(e){return W.polygon(t,f,e)},i}i(Ye,`rect_left_inv_arrow`);async function Xe(e,t){let{labelStyles:n,nodeStyles:i}=y(t);t.labelStyle=n;let o;o=t.cssClasses?`node `+t.cssClasses:`node default`;let s=e.insert(`g`).attr(`class`,o).attr(`id`,t.domId||t.id),l=s.insert(`g`),u=s.insert(`g`).attr(`class`,`label`).attr(`style`,i),d=t.description,p=t.label,m=await j(u,p,t.labelStyle,!0,!0),h={width:0,height:0};if(f(c())){let e=m.children[0],t=a(m);h=e.getBoundingClientRect(),t.attr(`width`,h.width),t.attr(`height`,h.height)}r.info(`Text 2`,d);let g=d||[],_=m.getBBox(),b=await j(u,Array.isArray(g)?g.join(`<br/>`):g,t.labelStyle,!0,!0),x=b.children[0],C=a(b);h=x.getBoundingClientRect(),C.attr(`width`,h.width),C.attr(`height`,h.height);let w=(t.padding||0)/2;a(b).attr(`transform`,`translate( `+(h.width>_.width?0:(_.width-h.width)/2)+`, `+(_.height+w+5)+`)`),a(m).attr(`transform`,`translate( `+(h.width<_.width?0:-(_.width-h.width)/2)+`, 0)`),h=u.node().getBBox(),u.attr(`transform`,`translate(`+-h.width/2+`, `+(-h.height/2-w+3)+`)`);let E=h.width+(t.padding||0),D=h.height+(t.padding||0),O=-h.width/2-w,k=-h.height/2-w,A,N;if(t.look===`handDrawn`){let e=S.svg(s),n=v(t,{}),i=e.path(M(O,k,E,D,t.rx||0),n),a=e.line(-h.width/2-w,-h.height/2-w+_.height+w,h.width/2+w,-h.height/2-w+_.height+w,n);N=s.insert(()=>(r.debug(`Rough node insert CXC`,i),a),`:first-child`),A=s.insert(()=>(r.debug(`Rough node insert CXC`,i),i),`:first-child`)}else A=l.insert(`rect`,`:first-child`),N=l.insert(`line`),A.attr(`class`,`outer title-state`).attr(`style`,i).attr(`x`,-h.width/2-w).attr(`y`,-h.height/2-w).attr(`width`,h.width+(t.padding||0)).attr(`height`,h.height+(t.padding||0)),N.attr(`class`,`divider`).attr(`x1`,-h.width/2-w).attr(`x2`,h.width/2+w).attr(`y1`,-h.height/2-w+_.height+w).attr(`y2`,-h.height/2-w+_.height+w);return T(t,A),t.intersect=function(e){return W.rect(t,e)},s}i(Xe,`rectWithTitle`);async function Ze(e,t){return Y(e,t,{rx:5,ry:5,classes:``,labelPaddingX:(t?.padding||0)*1,labelPaddingY:(t?.padding||0)*1})}i(Ze,`roundedRect`);async function Qe(e,n){let{labelStyles:r,nodeStyles:i}=y(n);n.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await C(e,n,E(n)),c=n?.padding??0,l=Math.max(o.width+(n.padding??0)*2,n?.width??0),u=Math.max(o.height+(n.padding??0)*2,n?.height??0),d=-o.width/2-c,f=-o.height/2-c,{cssStyles:p}=n,m=S.svg(a),h=v(n,{});n.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=[{x:d,y:f},{x:d+l+8,y:f},{x:d+l+8,y:f+u},{x:d-8,y:f+u},{x:d-8,y:f},{x:d,y:f},{x:d,y:f+u}],_=m.polygon(g.map(e=>[e.x,e.y]),h),b=a.insert(()=>_,`:first-child`);return b.attr(`class`,`basic label-container`).attr(`style`,t(p)),i&&n.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,i),p&&n.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,i),s.attr(`transform`,`translate(${-l/2+4+(n.padding??0)-(o.x-(o.left??0))},${-u/2+(n.padding??0)-(o.y-(o.top??0))})`),T(n,b),n.intersect=function(e){return W.rect(n,e)},a}i(Qe,`shadedProcess`);async function $e(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=-s/2,u=-c/2,{cssStyles:d}=t,f=S.svg(i),p=v(t,{});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let m=[{x:l,y:u},{x:l,y:u+c},{x:l+s,y:u+c},{x:l+s,y:u-c/2}],h=D(m),g=f.path(h,p),_=i.insert(()=>g,`:first-child`);return _.attr(`class`,`basic label-container`),d&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,d),r&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,r),_.attr(`transform`,`translate(0, ${c/4})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))}, ${-c/4+(t.padding??0)-(a.y-(a.top??0))})`),T(t,_),t.intersect=function(e){return W.polygon(t,m,e)},i}i($e,`slopedRect`);async function et(e,t){return Y(e,t,{rx:0,ry:0,classes:``,labelPaddingX:t.labelPaddingX??(t?.padding||0)*2,labelPaddingY:(t?.padding||0)*1})}i(et,`squareRect`);async function tt(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.height+t.padding,s=a.width+o/4+t.padding,c=o/2,{cssStyles:l}=t,u=S.svg(i),d=v(t,{});t.look!==`handDrawn`&&(d.roughness=0,d.fillStyle=`solid`);let f=[{x:-s/2+c,y:-o/2},{x:s/2-c,y:-o/2},...k(-s/2+c,0,c,50,90,270),{x:s/2-c,y:o/2},...k(s/2-c,0,c,50,270,450)],p=D(f),m=u.path(p,d),h=i.insert(()=>m,`:first-child`);return h.attr(`class`,`basic label-container outer-path`),l&&t.look!==`handDrawn`&&h.selectChildren(`path`).attr(`style`,l),r&&t.look!==`handDrawn`&&h.selectChildren(`path`).attr(`style`,r),T(t,h),t.intersect=function(e){return W.polygon(t,f,e)},i}i(tt,`stadium`);async function nt(e,t){return Y(e,t,{rx:5,ry:5,classes:`flowchart-node`})}i(nt,`state`);function rt(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=y(t);t.labelStyle=r;let{cssStyles:a}=t,{lineColor:o,stateBorder:s,nodeBorder:c}=n,l=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),u=S.svg(l),d=v(t,{});t.look!==`handDrawn`&&(d.roughness=0,d.fillStyle=`solid`);let f=u.circle(0,0,14,{...d,stroke:o,strokeWidth:2}),p=s??c,m=u.circle(0,0,5,{...d,fill:p,stroke:p,strokeWidth:2,fillStyle:`solid`}),h=l.insert(()=>f,`:first-child`);return h.insert(()=>m),a&&h.selectAll(`path`).attr(`style`,a),i&&h.selectAll(`path`).attr(`style`,i),T(t,h),t.intersect=function(e){return W.circle(t,7,e)},l}i(rt,`stateEnd`);function it(e,t,{config:{themeVariables:n}}){let{lineColor:r}=n,i=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),a;if(t.look===`handDrawn`){let e=S.svg(i).circle(0,0,14,b(r));a=i.insert(()=>e),a.attr(`class`,`state-start`).attr(`r`,7).attr(`width`,14).attr(`height`,14)}else a=i.insert(`circle`,`:first-child`),a.attr(`class`,`state-start`).attr(`r`,7).attr(`width`,14).attr(`height`,14);return T(t,a),t.intersect=function(e){return W.circle(t,7,e)},i}i(it,`stateStart`);async function at(e,n){let{labelStyles:r,nodeStyles:i}=y(n);n.labelStyle=r;let{shapeSvg:a,bbox:o}=await C(e,n,E(n)),s=(n?.padding||0)/2,c=o.width+n.padding,l=o.height+n.padding,u=-o.width/2-s,d=-o.height/2-s,f=[{x:0,y:0},{x:c,y:0},{x:c,y:-l},{x:0,y:-l},{x:0,y:0},{x:-8,y:0},{x:c+8,y:0},{x:c+8,y:-l},{x:-8,y:-l},{x:-8,y:0}];if(n.look===`handDrawn`){let e=S.svg(a),r=v(n,{}),i=e.rectangle(u-8,d,c+16,l,r),o=e.line(u,d,u,d+l,r),s=e.line(u+c,d,u+c,d+l,r);a.insert(()=>o,`:first-child`),a.insert(()=>s,`:first-child`);let f=a.insert(()=>i,`:first-child`),{cssStyles:p}=n;f.attr(`class`,`basic label-container`).attr(`style`,t(p)),T(n,f)}else{let e=G(a,c,l,f);i&&e.attr(`style`,i),T(n,e)}return n.intersect=function(e){return W.polygon(n,f,e)},a}i(at,`subroutine`);async function ot(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+(t.padding??0)*2,t?.width??0),s=Math.max(a.height+(t.padding??0)*2,t?.height??0),c=-o/2,l=-s/2,u=.2*s,d=.2*s,{cssStyles:f}=t,p=S.svg(i),m=v(t,{}),h=[{x:c-u/2,y:l},{x:c+o+u/2,y:l},{x:c+o+u/2,y:l+s},{x:c-u/2,y:l+s}],g=[{x:c+o-u/2,y:l+s},{x:c+o+u/2,y:l+s},{x:c+o+u/2,y:l+s-d}];t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let _=D(h),b=p.path(_,m),x=D(g),w=p.path(x,{...m,fillStyle:`solid`}),O=i.insert(()=>w,`:first-child`);return O.insert(()=>b,`:first-child`),O.attr(`class`,`basic label-container`),f&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),T(t,O),t.intersect=function(e){return W.polygon(t,h,e)},i}i(ot,`taggedRect`);async function st(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/4,u=.2*s,d=.2*c,f=c+l,{cssStyles:p}=t,m=S.svg(i),h=v(t,{});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=[{x:-s/2-s/2*.1,y:f/2},...O(-s/2-s/2*.1,f/2,s/2+s/2*.1,f/2,l,.8),{x:s/2+s/2*.1,y:-f/2},{x:-s/2-s/2*.1,y:-f/2}],_=-s/2+s/2*.1,b=-f/2-d*.4,x=[{x:_+s-u,y:(b+c)*1.4},{x:_+s,y:b+c-d},{x:_+s,y:(b+c)*.9},...O(_+s,(b+c)*1.3,_+s-u,(b+c)*1.5,-c*.03,.5)],w=D(g),k=m.path(w,h),A=D(x),j=m.path(A,{...h,fillStyle:`solid`}),M=i.insert(()=>j,`:first-child`);return M.insert(()=>k,`:first-child`),M.attr(`class`,`basic label-container`),p&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),M.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l/2-(a.y-(a.top??0))})`),T(t,M),t.intersect=function(e){return W.polygon(t,g,e)},i}i(st,`taggedWaveEdgedRectangle`);async function ct(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+t.padding,t?.width||0),s=Math.max(a.height+t.padding,t?.height||0),c=-o/2,l=-s/2,u=i.insert(`rect`,`:first-child`);return u.attr(`class`,`text`).attr(`style`,r).attr(`rx`,0).attr(`ry`,0).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),T(t,u),t.intersect=function(e){return W.rect(t,e)},i}i(ct,`text`);var lt=i((e,t,n,r,i,a)=>`M${e},${t}
3
- a${i},${a} 0,0,1 0,${-r}
4
- l${n},0
5
- a${i},${a} 0,0,1 0,${r}
6
- M${n},${-r}
7
- a${i},${a} 0,0,0 0,${r}
8
- l${-n},0`,`createCylinderPathD`),ut=i((e,t,n,r,i,a)=>[`M${e},${t}`,`M${e+n},${t}`,`a${i},${a} 0,0,0 0,${-r}`,`l${-n},0`,`a${i},${a} 0,0,0 0,${r}`,`l${n},0`].join(` `),`createOuterCylinderPathD`),dt=i((e,t,n,r,i,a)=>[`M${e+n/2},${-r/2}`,`a${i},${a} 0,0,0 0,${r}`].join(` `),`createInnerCylinderPathD`);async function ft(e,n){let{labelStyles:r,nodeStyles:i}=y(n);n.labelStyle=r;let{shapeSvg:a,bbox:o,label:s,halfPadding:c}=await C(e,n,E(n)),l=n.look===`neo`?c*2:c,u=o.height+l,d=u/2,f=d/(2.5+u/50),p=o.width+f+l,{cssStyles:m}=n,h;if(n.look===`handDrawn`){let e=S.svg(a),t=ut(0,0,p,u,f,d),r=dt(0,0,p,u,f,d),i=e.path(t,v(n,{})),o=e.path(r,v(n,{fill:`none`}));h=a.insert(()=>o,`:first-child`),h=a.insert(()=>i,`:first-child`),h.attr(`class`,`basic label-container`),m&&h.attr(`style`,m)}else{let e=lt(0,0,p,u,f,d);h=a.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container`).attr(`style`,t(m)).attr(`style`,i),h.attr(`class`,`basic label-container`),m&&h.selectAll(`path`).attr(`style`,m),i&&h.selectAll(`path`).attr(`style`,i)}return h.attr(`label-offset-x`,f),h.attr(`transform`,`translate(${-p/2}, ${u/2} )`),s.attr(`transform`,`translate(${-(o.width/2)-f-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),T(n,h),n.intersect=function(e){let t=W.rect(n,e),r=t.y-(n.y??0);if(d!=0&&(Math.abs(r)<(n.height??0)/2||Math.abs(r)==(n.height??0)/2&&Math.abs(t.x-(n.x??0))>(n.width??0)/2-f)){let i=f*f*(1-r*r/(d*d));i!=0&&(i=Math.sqrt(Math.abs(i))),i=f-i,e.x-(n.x??0)>0&&(i=-i),t.x+=i}return t},a}i(ft,`tiltedCylinder`);async function pt(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.width+t.padding,s=a.height+t.padding,c=[{x:-3*s/6,y:0},{x:o+3*s/6,y:0},{x:o,y:-s},{x:0,y:-s}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=S.svg(i),n=v(t,{}),r=D(c),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2}, ${s/2})`),u&&l.attr(`style`,u)}else l=G(i,o,s,c);return r&&l.attr(`style`,r),t.width=o,t.height=s,T(t,l),t.intersect=function(e){return W.polygon(t,c,e)},i}i(pt,`trapezoid`);async function mt(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(60,a.width+(t.padding??0)*2,t?.width??0),s=Math.max(20,a.height+(t.padding??0)*2,t?.height??0),{cssStyles:c}=t,l=S.svg(i),u=v(t,{});t.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let d=[{x:-o/2*.8,y:-s/2},{x:o/2*.8,y:-s/2},{x:o/2,y:-s/2*.6},{x:o/2,y:s/2},{x:-o/2,y:s/2},{x:-o/2,y:-s/2*.6}],f=D(d),p=l.path(f,u),m=i.insert(()=>p,`:first-child`);return m.attr(`class`,`basic label-container`),c&&t.look!==`handDrawn`&&m.selectChildren(`path`).attr(`style`,c),r&&t.look!==`handDrawn`&&m.selectChildren(`path`).attr(`style`,r),T(t,m),t.intersect=function(e){return W.polygon(t,d,e)},i}i(mt,`trapezoidalPentagon`);async function ht(e,t){let{labelStyles:n,nodeStyles:i}=y(t);t.labelStyle=n;let{shapeSvg:a,bbox:o,label:s}=await C(e,t,E(t)),l=t.useHtmlLabels||f(c()),u=o.width+(t.padding??0),d=u+o.height,p=u+o.height,m=[{x:0,y:0},{x:p,y:0},{x:p/2,y:-d}],{cssStyles:h}=t,g=S.svg(a),_=v(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let b=D(m),x=g.path(b,_),w=a.insert(()=>x,`:first-child`).attr(`transform`,`translate(${-d/2}, ${d/2})`);return h&&t.look!==`handDrawn`&&w.selectChildren(`path`).attr(`style`,h),i&&t.look!==`handDrawn`&&w.selectChildren(`path`).attr(`style`,i),t.width=u,t.height=d,T(t,w),s.attr(`transform`,`translate(${-o.width/2-(o.x-(o.left??0))}, ${d/2-(o.height+(t.padding??0)/(l?2:1)-(o.y-(o.top??0)))})`),t.intersect=function(e){return r.info(`Triangle intersect`,t,m,e),W.polygon(t,m,e)},a}i(ht,`triangle`);async function gt(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/8,u=c+l,{cssStyles:d}=t,f=70-s,p=f>0?f/2:0,m=S.svg(i),h=v(t,{});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=[{x:-s/2-p,y:u/2},...O(-s/2-p,u/2,s/2+p,u/2,l,.8),{x:s/2+p,y:-u/2},{x:-s/2-p,y:-u/2}],_=D(g),b=m.path(_,h),x=i.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container`),d&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,d),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),x.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l-(a.y-(a.top??0))})`),T(t,x),t.intersect=function(e){return W.polygon(t,g,e)},i}i(gt,`waveEdgedRectangle`);async function _t(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+(t.padding??0)*2,t?.width??0),s=Math.max(a.height+(t.padding??0)*2,t?.height??0),c=o/s,l=o,u=s;l>u*c?u=l/c:l=u*c,l=Math.max(l,100),u=Math.max(u,50);let d=Math.min(u*.2,u/4),f=u+d*2,{cssStyles:p}=t,m=S.svg(i),h=v(t,{});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=[{x:-l/2,y:f/2},...O(-l/2,f/2,l/2,f/2,d,1),{x:l/2,y:-f/2},...O(l/2,-f/2,-l/2,-f/2,d,-1)],_=D(g),b=m.path(_,h),x=i.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container`),p&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),T(t,x),t.intersect=function(e){return W.polygon(t,g,e)},i}i(_t,`waveRectangle`);async function vt(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=-s/2,u=-c/2,{cssStyles:d}=t,f=S.svg(i),p=v(t,{}),m=[{x:l-5,y:u-5},{x:l-5,y:u+c},{x:l+s,y:u+c},{x:l+s,y:u-5}],h=`M${l-5},${u-5} L${l+s},${u-5} L${l+s},${u+c} L${l-5},${u+c} L${l-5},${u-5}
9
- M${l-5},${u} L${l+s},${u}
10
- M${l},${u-5} L${l},${u+c}`;t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let g=f.path(h,p),_=i.insert(()=>g,`:first-child`);return _.attr(`transform`,`translate(${5/2}, ${5/2})`),_.attr(`class`,`basic label-container`),d&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,d),r&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,r),o.attr(`transform`,`translate(${-(a.width/2)+5/2-(a.x-(a.left??0))}, ${-(a.height/2)+5/2-(a.y-(a.top??0))})`),T(t,_),t.intersect=function(e){return W.polygon(t,m,e)},i}i(vt,`windowPane`);async function yt(e,t){let r=t;if(r.alias&&(t.label=r.alias),t.look===`handDrawn`){let{themeVariables:n}=p(),{background:r}=n;await yt(e,{...t,id:t.id+`-background`,look:`default`,cssStyles:[`stroke: none`,`fill: ${r}`]})}let i=p();t.useHtmlLabels=i.htmlLabels;let o=i.er?.diagramPadding??10,s=i.er?.entityPadding??6,{cssStyles:c}=t,{labelStyles:u,nodeStyles:d}=y(t);if(r.attributes.length===0&&t.label){let r={rx:0,ry:0,labelPaddingX:o,labelPaddingY:o*1.5,classes:``};n(t.label,i)+r.labelPaddingX*2<i.er.minEntityWidth&&(t.width=i.er.minEntityWidth);let a=await Y(e,t,r);if(!l(i.htmlLabels)){let e=a.select(`text`),t=e.node()?.getBBox();e.attr(`transform`,`translate(${-t.width/2}, 0)`)}return a}i.htmlLabels||(o*=1.25,s*=1.25);let f=E(t);f||=`node default`;let m=e.insert(`g`).attr(`class`,f).attr(`id`,t.domId||t.id),h=await X(m,t.label??``,i,0,0,[`name`],u);h.height+=s;let g=0,_=[],b=[],x=0,C=0,w=0,D=0,O=!0,k=!0;for(let e of r.attributes){let t=await X(m,e.type,i,0,g,[`attribute-type`],u);x=Math.max(x,t.width+o);let n=await X(m,e.name,i,0,g,[`attribute-name`],u);C=Math.max(C,n.width+o);let r=await X(m,e.keys.join(),i,0,g,[`attribute-keys`],u);w=Math.max(w,r.width+o);let a=await X(m,e.comment,i,0,g,[`attribute-comment`],u);D=Math.max(D,a.width+o);let c=Math.max(t.height,n.height,r.height,a.height)+s;b.push({yOffset:g,rowHeight:c}),g+=c}let A=4;w<=o&&(O=!1,w=0,A--),D<=o&&(k=!1,D=0,A--);let j=m.node().getBBox();if(h.width+o*2-(x+C+w+D)>0){let e=h.width+o*2-(x+C+w+D);x+=e/A,C+=e/A,w>0&&(w+=e/A),D>0&&(D+=e/A)}let M=x+C+w+D,N=S.svg(m),P=v(t,{});t.look!==`handDrawn`&&(P.roughness=0,P.fillStyle=`solid`);let F=0;b.length>0&&(F=b.reduce((e,t)=>e+(t?.rowHeight??0),0));let I=Math.max(j.width+o*2,t?.width||0,M),L=Math.max((F??0)+h.height,t?.height||0),R=-I/2,z=-L/2;m.selectAll(`g:not(:first-child)`).each((e,t,n)=>{let r=a(n[t]),i=r.attr(`transform`),c=0,l=0;if(i){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(i);e&&(c=parseFloat(e[1]),l=parseFloat(e[2]),r.attr(`class`).includes(`attribute-name`)?c+=x:r.attr(`class`).includes(`attribute-keys`)?c+=x+C:r.attr(`class`).includes(`attribute-comment`)&&(c+=x+C+w))}r.attr(`transform`,`translate(${R+o/2+c}, ${l+z+h.height+s/2})`)}),m.select(`.name`).attr(`transform`,`translate(`+-h.width/2+`, `+(z+s/2)+`)`);let B=N.rectangle(R,z,I,L,P),V=m.insert(()=>B,`:first-child`).attr(`style`,c.join(``)),{themeVariables:ee}=p(),{rowEven:te,rowOdd:ne,nodeBorder:H}=ee;_.push(0);for(let[e,t]of b.entries()){let n=(e+1)%2==0&&t.yOffset!==0,r=N.rectangle(R,h.height+z+t?.yOffset,I,t?.rowHeight,{...P,fill:n?te:ne,stroke:H});m.insert(()=>r,`g.label`).attr(`style`,c.join(``)).attr(`class`,`row-rect-${n?`even`:`odd`}`)}let U=N.line(R,h.height+z,I+R,h.height+z,P);m.insert(()=>U).attr(`class`,`divider`),U=N.line(x+R,h.height+z,x+R,L+z,P),m.insert(()=>U).attr(`class`,`divider`),O&&(U=N.line(x+C+R,h.height+z,x+C+R,L+z,P),m.insert(()=>U).attr(`class`,`divider`)),k&&(U=N.line(x+C+w+R,h.height+z,x+C+w+R,L+z,P),m.insert(()=>U).attr(`class`,`divider`));for(let e of _)U=N.line(R,h.height+z+e,I+R,h.height+z+e,P),m.insert(()=>U).attr(`class`,`divider`);if(T(t,V),d&&t.look!==`handDrawn`){let e=d.split(`;`)?.filter(e=>e.includes(`stroke`))?.map(e=>`${e}`).join(`; `);m.selectAll(`path`).attr(`style`,e??``),m.selectAll(`.row-rect-even path`).attr(`style`,d)}return t.intersect=function(e){return W.rect(t,e)},m}i(yt,`erBox`);async function X(e,t,r,i=0,o=0,s=[],c=``){let d=e.insert(`g`).attr(`class`,`label ${s.join(` `)}`).attr(`transform`,`translate(${i}, ${o})`).attr(`style`,c);t!==u(t)&&(t=u(t),t=t.replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`));let f=d.node().appendChild(await m(d,t,{width:n(t,r)+100,style:c,useHtmlLabels:r.htmlLabels},r));if(t.includes(`&lt;`)||t.includes(`&gt;`)){let e=f.children[0];for(e.textContent=e.textContent.replaceAll(`&lt;`,`<`).replaceAll(`&gt;`,`>`);e.childNodes[0];)e=e.childNodes[0],e.textContent=e.textContent.replaceAll(`&lt;`,`<`).replaceAll(`&gt;`,`>`)}let p=f.getBBox();if(l(r.htmlLabels)){let e=f.children[0];e.style.textAlign=`start`;let t=a(f);p=e.getBoundingClientRect(),t.attr(`width`,p.width),t.attr(`height`,p.height)}return p}i(X,`addText`);async function bt(e,t,n,r,i=n.class.padding??12){let a=r?0:3,o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId||t.id),s=null,c=null,l=null,u=null,d=0,f=0,p=0;if(s=o.insert(`g`).attr(`class`,`annotation-group text`),t.annotations.length>0){let e=t.annotations[0];await Z(s,{text:`\xAB${e}\xBB`},0),d=s.node().getBBox().height}c=o.insert(`g`).attr(`class`,`label-group text`),await Z(c,t,0,[`font-weight: bolder`]);let m=c.node().getBBox();f=m.height,l=o.insert(`g`).attr(`class`,`members-group text`);let h=0;for(let e of t.members){let t=await Z(l,e,h,[e.parseClassifier()]);h+=t+a}p=l.node().getBBox().height,p<=0&&(p=i/2),u=o.insert(`g`).attr(`class`,`methods-group text`);let g=0;for(let e of t.methods){let t=await Z(u,e,g,[e.parseClassifier()]);g+=t+a}let _=o.node().getBBox();if(s!==null){let e=s.node().getBBox();s.attr(`transform`,`translate(${-e.width/2})`)}return c.attr(`transform`,`translate(${-m.width/2}, ${d})`),_=o.node().getBBox(),l.attr(`transform`,`translate(0, ${d+f+i*2})`),_=o.node().getBBox(),u.attr(`transform`,`translate(0, ${d+f+(p?p+i*4:i*2)})`),_=o.node().getBBox(),{shapeSvg:o,bbox:_}}i(bt,`textHelper`);async function Z(t,r,o,c=[]){let u=t.insert(`g`).attr(`class`,`label`).attr(`style`,c.join(`; `)),f=p(),h=`useHtmlLabels`in r?r.useHtmlLabels:l(f.htmlLabels)??!0,g=``;g=`text`in r?r.text:r.label,!h&&g.startsWith(`\\`)&&(g=g.substring(1)),d(g)&&(h=!0);let _=await m(u,s(e(g)),{width:n(g,f)+50,classes:`markdown-node-label`,useHtmlLabels:h},f),v,y=1;if(h){let e=_.children[0],t=a(_);y=e.innerHTML.split(`<br>`).length,e.innerHTML.includes(`</math>`)&&(y+=e.innerHTML.split(`<mrow>`).length-1);let n=e.getElementsByTagName(`img`);if(n){let e=g.replace(/<img[^>]*>/g,``).trim()===``;await Promise.all([...n].map(t=>new Promise(n=>{function r(){if(t.style.display=`flex`,t.style.flexDirection=`column`,e){let e=f.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,n=parseInt(e,10)*5+`px`;t.style.minWidth=n,t.style.maxWidth=n}else t.style.width=`100%`;n(t)}i(r,`setupImage`),setTimeout(()=>{t.complete&&r()}),t.addEventListener(`error`,r),t.addEventListener(`load`,r)})))}v=e.getBoundingClientRect(),t.attr(`width`,v.width),t.attr(`height`,v.height)}else{c.includes(`font-weight: bolder`)&&a(_).selectAll(`tspan`).attr(`font-weight`,``),y=_.children.length;let e=_.children[0];(_.textContent===``||_.textContent.includes(`&gt`))&&(e.textContent=g[0]+g.substring(1).replaceAll(`&gt;`,`>`).replaceAll(`&lt;`,`<`).trim(),g[1]===` `&&(e.textContent=e.textContent[0]+` `+e.textContent.substring(1))),e.textContent===`undefined`&&(e.textContent=``),v=_.getBBox()}return u.attr(`transform`,`translate(0,`+(-v.height/(2*y)+o)+`)`),v.height}i(Z,`addText`);async function xt(e,t){let n=c(),r=n.class.padding??12,i=r,o=t.useHtmlLabels??l(n.htmlLabels)??!0,s=t;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:u,bbox:d}=await bt(e,t,n,o,i),{labelStyles:f,nodeStyles:p}=y(t);t.labelStyle=f,t.cssStyles=s.styles||``;let m=s.styles?.join(`;`)||p||``;t.cssStyles||=m.replaceAll(`!important`,``).split(`;`);let h=s.members.length===0&&s.methods.length===0&&!n.class?.hideEmptyMembersBox,g=S.svg(u),_=v(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let b=d.width,x=d.height;s.members.length===0&&s.methods.length===0?x+=i:s.members.length>0&&s.methods.length===0&&(x+=i*2);let C=-b/2,w=-x/2,E=g.rectangle(C-r,w-r-(h?r:s.members.length===0&&s.methods.length===0?-r/2:0),b+2*r,x+2*r+(h?r*2:s.members.length===0&&s.methods.length===0?-r:0),_),D=u.insert(()=>E,`:first-child`);D.attr(`class`,`basic label-container`);let O=D.node().getBBox();u.selectAll(`.text`).each((e,t,n)=>{let i=a(n[t]),c=i.attr(`transform`),l=0;if(c){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(c);e&&(l=parseFloat(e[2]))}let d=l+w+r-(h?r:s.members.length===0&&s.methods.length===0?-r/2:0);o||(d-=4);let f=C;(i.attr(`class`).includes(`label-group`)||i.attr(`class`).includes(`annotation-group`))&&(f=-i.node()?.getBBox().width/2||0,u.selectAll(`text`).each(function(e,t,n){window.getComputedStyle(n[t]).textAnchor===`middle`&&(f=0)})),i.attr(`transform`,`translate(${f}, ${d})`)});let k=u.select(`.annotation-group`).node().getBBox().height-(h?r/2:0)||0,A=u.select(`.label-group`).node().getBBox().height-(h?r/2:0)||0,j=u.select(`.members-group`).node().getBBox().height-(h?r/2:0)||0;if(s.members.length>0||s.methods.length>0||h){let e=g.line(O.x,k+A+w+r,O.x+O.width,k+A+w+r,_);u.insert(()=>e).attr(`class`,`divider`).attr(`style`,m)}if(h||s.members.length>0||s.methods.length>0){let e=g.line(O.x,k+A+j+w+i*2+r,O.x+O.width,k+A+j+w+r+i*2,_);u.insert(()=>e).attr(`class`,`divider`).attr(`style`,m)}if(s.look!==`handDrawn`&&u.selectAll(`path`).attr(`style`,m),D.select(`:nth-child(2)`).attr(`style`,m),u.selectAll(`.divider`).select(`path`).attr(`style`,m),t.labelStyle?u.selectAll(`span`).attr(`style`,t.labelStyle):u.selectAll(`span`).attr(`style`,m),!o){let e=RegExp(/color\s*:\s*([^;]*)/),t=e.exec(m);if(t){let e=t[0].replace(`color`,`fill`);u.selectAll(`tspan`).attr(`style`,e)}else if(f){let t=e.exec(f);if(t){let e=t[0].replace(`color`,`fill`);u.selectAll(`tspan`).attr(`style`,e)}}}return T(t,D),t.intersect=function(e){return W.rect(t,e)},u}i(xt,`classBox`);async function St(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let i=t,o=t,s=`verifyMethod`in t,c=E(t),l=e.insert(`g`).attr(`class`,c).attr(`id`,t.domId??t.id),u;u=s?await Q(l,`&lt;&lt;${i.type}&gt;&gt;`,0,t.labelStyle):await Q(l,`&lt;&lt;Element&gt;&gt;`,0,t.labelStyle);let d=u,f=await Q(l,i.name,d,t.labelStyle+`; font-weight: bold;`);if(d+=f+20,s){let e=await Q(l,`${i.requirementId?`ID: ${i.requirementId}`:``}`,d,t.labelStyle);d+=e;let n=await Q(l,`${i.text?`Text: ${i.text}`:``}`,d,t.labelStyle);d+=n;let r=await Q(l,`${i.risk?`Risk: ${i.risk}`:``}`,d,t.labelStyle);d+=r,await Q(l,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:``}`,d,t.labelStyle)}else{let e=await Q(l,`${o.type?`Type: ${o.type}`:``}`,d,t.labelStyle);d+=e,await Q(l,`${o.docRef?`Doc Ref: ${o.docRef}`:``}`,d,t.labelStyle)}let p=(l.node()?.getBBox().width??200)+20,m=(l.node()?.getBBox().height??200)+20,h=-p/2,g=-m/2,_=S.svg(l),b=v(t,{});t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=_.rectangle(h,g,p,m,b),C=l.insert(()=>x,`:first-child`);if(C.attr(`class`,`basic label-container`).attr(`style`,r),l.selectAll(`.label`).each((e,t,n)=>{let r=a(n[t]),i=r.attr(`transform`),o=0,s=0;if(i){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(i);e&&(o=parseFloat(e[1]),s=parseFloat(e[2]))}let c=s-m/2,l=h+20/2;(t===0||t===1)&&(l=o),r.attr(`transform`,`translate(${l}, ${c+20})`)}),d>u+f+20){let e=_.line(h,g+u+f+20,h+p,g+u+f+20,b);l.insert(()=>e).attr(`style`,r)}return T(t,C),t.intersect=function(e){return W.rect(t,e)},l}i(St,`requirementBox`);async function Q(t,r,i,o=``){if(r===``)return 0;let l=t.insert(`g`).attr(`class`,`label`).attr(`style`,o),u=c(),d=u.htmlLabels??!0,f=await m(l,s(e(r)),{width:n(r,u)+50,classes:`markdown-node-label`,useHtmlLabels:d,style:o},u),p;if(d){let e=f.children[0],t=a(f);p=e.getBoundingClientRect(),t.attr(`width`,p.width),t.attr(`height`,p.height)}else{let e=f.children[0];for(let t of e.children)t.textContent=t.textContent.replaceAll(`&gt;`,`>`).replaceAll(`&lt;`,`<`),o&&t.setAttribute(`style`,o);p=f.getBBox(),p.height+=6}return l.attr(`transform`,`translate(${-p.width/2},${-p.height/2+i})`),p.height}i(Q,`addText`);var Ct=i(e=>{switch(e){case`Very High`:return`red`;case`High`:return`orange`;case`Medium`:return null;case`Low`:return`blue`;case`Very Low`:return`lightblue`}},`colorFromPriority`);async function wt(e,t,{config:n}){let{labelStyles:r,nodeStyles:i}=y(t);t.labelStyle=r||``;let a=t.width;t.width=(t.width??200)-10;let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=t.padding||10,u=``,d;`ticket`in t&&t.ticket&&n?.kanban?.ticketBaseUrl&&(u=n?.kanban?.ticketBaseUrl.replace(`#TICKET#`,t.ticket),d=o.insert(`svg:a`,`:first-child`).attr(`class`,`kanban-ticket-link`).attr(`xlink:href`,u).attr(`target`,`_blank`));let f={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||``,width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1},p,m;d?{label:p,bbox:m}=await w(d,`ticket`in t&&t.ticket||``,f):{label:p,bbox:m}=await w(o,`ticket`in t&&t.ticket||``,f);let{label:h,bbox:g}=await w(o,`assigned`in t&&t.assigned||``,f);t.width=a;let _=t?.width||0,b=Math.max(m.height,g.height)/2,x=Math.max(s.height+20,t?.height||0)+b,D=-_/2,O=-x/2;c.attr(`transform`,`translate(`+(l-_/2)+`, `+(-b-s.height/2)+`)`),p.attr(`transform`,`translate(`+(l-_/2)+`, `+(-b+s.height/2)+`)`),h.attr(`transform`,`translate(`+(l+_/2-g.width-20)+`, `+(-b+s.height/2)+`)`);let k,{rx:A,ry:j}=t,{cssStyles:N}=t;if(t.look===`handDrawn`){let e=S.svg(o),n=v(t,{}),r=A||j?e.path(M(D,O,_,x,A||0),n):e.rectangle(D,O,_,x,n);k=o.insert(()=>r,`:first-child`),k.attr(`class`,`basic label-container`).attr(`style`,N||null)}else{k=o.insert(`rect`,`:first-child`),k.attr(`class`,`basic label-container __APA__`).attr(`style`,i).attr(`rx`,A??5).attr(`ry`,j??5).attr(`x`,D).attr(`y`,O).attr(`width`,_).attr(`height`,x);let e=`priority`in t&&t.priority;if(e){let t=o.append(`line`),n=D+2,r=O+Math.floor((A??0)/2),i=O+x-Math.floor((A??0)/2);t.attr(`x1`,n).attr(`y1`,r).attr(`x2`,n).attr(`y2`,i).attr(`stroke-width`,`4`).attr(`stroke`,Ct(e))}}return T(t,k),t.height=x,t.intersect=function(e){return W.rect(t,e)},o}i(wt,`kanbanItem`);async function Tt(e,n){let{labelStyles:i,nodeStyles:a}=y(n);n.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c,label:l}=await C(e,n,E(n)),u=s.width+10*c,d=s.height+8*c,f=.15*u,{cssStyles:p}=n,m=s.width+20,h=s.height+20,g=Math.max(u,m),_=Math.max(d,h);l.attr(`transform`,`translate(${-s.width/2}, ${-s.height/2})`);let b,x=`M0 0
11
- a${f},${f} 1 0,0 ${g*.25},${-1*_*.1}
12
- a${f},${f} 1 0,0 ${g*.25},0
13
- a${f},${f} 1 0,0 ${g*.25},0
14
- a${f},${f} 1 0,0 ${g*.25},${_*.1}
15
-
16
- a${f},${f} 1 0,0 ${g*.15},${_*.33}
17
- a${f*.8},${f*.8} 1 0,0 0,${_*.34}
18
- a${f},${f} 1 0,0 ${-1*g*.15},${_*.33}
19
-
20
- a${f},${f} 1 0,0 ${-1*g*.25},${_*.15}
21
- a${f},${f} 1 0,0 ${-1*g*.25},0
22
- a${f},${f} 1 0,0 ${-1*g*.25},0
23
- a${f},${f} 1 0,0 ${-1*g*.25},${-1*_*.15}
24
-
25
- a${f},${f} 1 0,0 ${-1*g*.1},${-1*_*.33}
26
- a${f*.8},${f*.8} 1 0,0 0,${-1*_*.34}
27
- a${f},${f} 1 0,0 ${g*.1},${-1*_*.33}
28
- H0 V0 Z`;if(n.look===`handDrawn`){let e=S.svg(o),r=v(n,{}),i=e.path(x,r);b=o.insert(()=>i,`:first-child`),b.attr(`class`,`basic label-container`).attr(`style`,t(p))}else b=o.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`d`,x);return b.attr(`transform`,`translate(${-g/2}, ${-_/2})`),T(n,b),n.calcIntersect=function(e,t){return W.rect(e,t)},n.intersect=function(e){return r.info(`Bang intersect`,n,e),W.rect(n,e)},o}i(Tt,`bang`);async function Et(e,n){let{labelStyles:i,nodeStyles:a}=y(n);n.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c,label:l}=await C(e,n,E(n)),u=s.width+2*c,d=s.height+2*c,f=.15*u,p=.25*u,m=.35*u,h=.2*u,{cssStyles:g}=n,_,b=`M0 0
29
- a${f},${f} 0 0,1 ${u*.25},${-1*u*.1}
30
- a${m},${m} 1 0,1 ${u*.4},${-1*u*.1}
31
- a${p},${p} 1 0,1 ${u*.35},${u*.2}
32
-
33
- a${f},${f} 1 0,1 ${u*.15},${d*.35}
34
- a${h},${h} 1 0,1 ${-1*u*.15},${d*.65}
35
-
36
- a${p},${f} 1 0,1 ${-1*u*.25},${u*.15}
37
- a${m},${m} 1 0,1 ${-1*u*.5},0
38
- a${f},${f} 1 0,1 ${-1*u*.25},${-1*u*.15}
39
-
40
- a${f},${f} 1 0,1 ${-1*u*.1},${-1*d*.35}
41
- a${h},${h} 1 0,1 ${u*.1},${-1*d*.65}
42
- H0 V0 Z`;if(n.look===`handDrawn`){let e=S.svg(o),r=v(n,{}),i=e.path(b,r);_=o.insert(()=>i,`:first-child`),_.attr(`class`,`basic label-container`).attr(`style`,t(g))}else _=o.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`d`,b);return l.attr(`transform`,`translate(${-s.width/2}, ${-s.height/2})`),_.attr(`transform`,`translate(${-u/2}, ${-d/2})`),T(n,_),n.calcIntersect=function(e,t){return W.rect(e,t)},n.intersect=function(e){return r.info(`Cloud intersect`,n,e),W.rect(n,e)},o}i(Et,`cloud`);async function Dt(e,t){let{labelStyles:n,nodeStyles:r}=y(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,halfPadding:o,label:s}=await C(e,t,E(t)),c=a.width+8*o,l=a.height+2*o,u=`
43
- M${-c/2} ${l/2-5}
44
- v${-l+10}
45
- q0,-5 5,-5
46
- h${c-10}
47
- q5,0 5,5
48
- v${l-10}
49
- q0,5 -5,5
50
- h${-c+10}
51
- q-5,0 -5,-5
52
- Z
53
- `,d=i.append(`path`).attr(`id`,`node-`+t.id).attr(`class`,`node-bkg node-`+t.type).attr(`style`,r).attr(`d`,u);return i.append(`line`).attr(`class`,`node-line-`).attr(`x1`,-c/2).attr(`y1`,l/2).attr(`x2`,c/2).attr(`y2`,l/2),s.attr(`transform`,`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>s.node()),T(t,d),t.calcIntersect=function(e,t){return W.rect(e,t)},t.intersect=function(e){return W.rect(t,e)},i}i(Dt,`defaultMindmapNode`);async function Ot(e,t){return le(e,t,{padding:t.padding??0})}i(Ot,`mindmapCircle`);var kt=[{semanticName:`Process`,name:`Rectangle`,shortName:`rect`,description:`Standard process shape`,aliases:[`proc`,`process`,`rectangle`],internalAliases:[`squareRect`],handler:et},{semanticName:`Event`,name:`Rounded Rectangle`,shortName:`rounded`,description:`Represents an event`,aliases:[`event`],internalAliases:[`roundedRect`],handler:Ze},{semanticName:`Terminal Point`,name:`Stadium`,shortName:`stadium`,description:`Terminal point`,aliases:[`terminal`,`pill`],handler:tt},{semanticName:`Subprocess`,name:`Framed Rectangle`,shortName:`fr-rect`,description:`Subprocess`,aliases:[`subprocess`,`subproc`,`framed-rectangle`,`subroutine`],handler:at},{semanticName:`Database`,name:`Cylinder`,shortName:`cyl`,description:`Database storage`,aliases:[`db`,`database`,`cylinder`],handler:ye},{semanticName:`Start`,name:`Circle`,shortName:`circle`,description:`Starting point`,aliases:[`circ`],handler:le},{semanticName:`Bang`,name:`Bang`,shortName:`bang`,description:`Bang`,aliases:[`bang`],handler:Tt},{semanticName:`Cloud`,name:`Cloud`,shortName:`cloud`,description:`cloud`,aliases:[`cloud`],handler:Et},{semanticName:`Decision`,name:`Diamond`,shortName:`diam`,description:`Decision-making step`,aliases:[`decision`,`diamond`,`question`],handler:Je},{semanticName:`Prepare Conditional`,name:`Hexagon`,shortName:`hex`,description:`Preparation or condition step`,aliases:[`hexagon`,`prepare`],handler:De},{semanticName:`Data Input/Output`,name:`Lean Right`,shortName:`lean-r`,description:`Represents input or output`,aliases:[`lean-right`,`in-out`],internalAliases:[`lean_right`],handler:Le},{semanticName:`Data Input/Output`,name:`Lean Left`,shortName:`lean-l`,description:`Represents output or input`,aliases:[`lean-left`,`out-in`],internalAliases:[`lean_left`],handler:Ie},{semanticName:`Priority Action`,name:`Trapezoid Base Bottom`,shortName:`trap-b`,description:`Priority action`,aliases:[`priority`,`trapezoid-bottom`,`trapezoid`],handler:pt},{semanticName:`Manual Operation`,name:`Trapezoid Base Top`,shortName:`trap-t`,description:`Represents a manual task`,aliases:[`manual`,`trapezoid-top`,`inv-trapezoid`],internalAliases:[`inv_trapezoid`],handler:Pe},{semanticName:`Stop`,name:`Double Circle`,shortName:`dbl-circ`,description:`Represents a stop point`,aliases:[`double-circle`],internalAliases:[`doublecircle`],handler:xe},{semanticName:`Text Block`,name:`Text Block`,shortName:`text`,description:`Text block`,handler:ct},{semanticName:`Card`,name:`Notched Rectangle`,shortName:`notch-rect`,description:`Represents a card`,aliases:[`card`,`notched-rectangle`],handler:se},{semanticName:`Lined/Shaded Process`,name:`Lined Rectangle`,shortName:`lin-rect`,description:`Lined process shape`,aliases:[`lined-rectangle`,`lined-process`,`lin-proc`,`shaded-process`],handler:Qe},{semanticName:`Start`,name:`Small Circle`,shortName:`sm-circ`,description:`Small starting point`,aliases:[`start`,`small-circle`],internalAliases:[`stateStart`],handler:it},{semanticName:`Stop`,name:`Framed Circle`,shortName:`fr-circ`,description:`Stop point`,aliases:[`stop`,`framed-circle`],internalAliases:[`stateEnd`],handler:rt},{semanticName:`Fork/Join`,name:`Filled Rectangle`,shortName:`fork`,description:`Fork or join in process flow`,aliases:[`join`],internalAliases:[`forkJoin`],handler:we},{semanticName:`Collate`,name:`Hourglass`,shortName:`hourglass`,description:`Represents a collate operation`,aliases:[`hourglass`,`collate`],handler:Oe},{semanticName:`Comment`,name:`Curly Brace`,shortName:`brace`,description:`Adds a comment`,aliases:[`comment`,`brace-l`],handler:fe},{semanticName:`Comment Right`,name:`Curly Brace`,shortName:`brace-r`,description:`Adds a comment`,handler:pe},{semanticName:`Comment with braces on both sides`,name:`Curly Braces`,shortName:`braces`,description:`Adds a comment`,handler:me},{semanticName:`Com Link`,name:`Lightning Bolt`,shortName:`bolt`,description:`Communication link`,aliases:[`com-link`,`lightning-bolt`],handler:Re},{semanticName:`Document`,name:`Document`,shortName:`doc`,description:`Represents a document`,aliases:[`doc`,`document`],handler:gt},{semanticName:`Delay`,name:`Half-Rounded Rectangle`,shortName:`delay`,description:`Represents a delay`,aliases:[`half-rounded-rectangle`],handler:Te},{semanticName:`Direct Access Storage`,name:`Horizontal Cylinder`,shortName:`h-cyl`,description:`Direct access storage`,aliases:[`das`,`horizontal-cylinder`],handler:ft},{semanticName:`Disk Storage`,name:`Lined Cylinder`,shortName:`lin-cyl`,description:`Disk storage`,aliases:[`disk`,`lined-cylinder`],handler:He},{semanticName:`Display`,name:`Curved Trapezoid`,shortName:`curv-trap`,description:`Represents a display`,aliases:[`curved-trapezoid`,`display`],handler:he},{semanticName:`Divided Process`,name:`Divided Rectangle`,shortName:`div-rect`,description:`Divided process shape`,aliases:[`div-proc`,`divided-rectangle`,`divided-process`],handler:be},{semanticName:`Extract`,name:`Triangle`,shortName:`tri`,description:`Extraction process`,aliases:[`extract`,`triangle`],handler:ht},{semanticName:`Internal Storage`,name:`Window Pane`,shortName:`win-pane`,description:`Internal storage`,aliases:[`internal-storage`,`window-pane`],handler:vt},{semanticName:`Junction`,name:`Filled Circle`,shortName:`f-circ`,description:`Junction point`,aliases:[`junction`,`filled-circle`],handler:Se},{semanticName:`Loop Limit`,name:`Trapezoidal Pentagon`,shortName:`notch-pent`,description:`Loop limit step`,aliases:[`loop-limit`,`notched-pentagon`],handler:mt},{semanticName:`Manual File`,name:`Flipped Triangle`,shortName:`flip-tri`,description:`Manual file operation`,aliases:[`manual-file`,`flipped-triangle`],handler:Ce},{semanticName:`Manual Input`,name:`Sloped Rectangle`,shortName:`sl-rect`,description:`Manual input step`,aliases:[`manual-input`,`sloped-rectangle`],handler:$e},{semanticName:`Multi-Document`,name:`Stacked Document`,shortName:`docs`,description:`Multiple documents`,aliases:[`documents`,`st-doc`,`stacked-document`],handler:Ge},{semanticName:`Multi-Process`,name:`Stacked Rectangle`,shortName:`st-rect`,description:`Multiple processes`,aliases:[`procs`,`processes`,`stacked-rectangle`],handler:We},{semanticName:`Stored Data`,name:`Bow Tie Rectangle`,shortName:`bow-rect`,description:`Stored data`,aliases:[`stored-data`,`bow-tie-rectangle`],handler:oe},{semanticName:`Summary`,name:`Crossed Circle`,shortName:`cross-circ`,description:`Summary`,aliases:[`summary`,`crossed-circle`],handler:de},{semanticName:`Tagged Document`,name:`Tagged Document`,shortName:`tag-doc`,description:`Tagged document`,aliases:[`tag-doc`,`tagged-document`],handler:st},{semanticName:`Tagged Process`,name:`Tagged Rectangle`,shortName:`tag-rect`,description:`Tagged process`,aliases:[`tagged-rectangle`,`tag-proc`,`tagged-process`],handler:ot},{semanticName:`Paper Tape`,name:`Flag`,shortName:`flag`,description:`Paper tape`,aliases:[`paper-tape`],handler:_t},{semanticName:`Odd`,name:`Odd`,shortName:`odd`,description:`Odd shape`,internalAliases:[`rect_left_inv_arrow`],handler:Ye},{semanticName:`Lined Document`,name:`Lined Document`,shortName:`lin-doc`,description:`Lined document`,aliases:[`lined-document`],handler:Ue}],At=i(()=>{let e=[...Object.entries({state:nt,choice:ce,note:Ke,rectWithTitle:Xe,labelRect:Fe,iconSquare:Me,iconCircle:Ae,icon:ke,iconRounded:je,imageSquare:Ne,anchor:ie,kanbanItem:wt,mindmapCircle:Ot,defaultMindmapNode:Dt,classBox:xt,erBox:yt,requirementBox:St}),...kt.flatMap(e=>[e.shortName,...`aliases`in e?e.aliases:[],...`internalAliases`in e?e.internalAliases:[]].map(t=>[t,e.handler]))];return Object.fromEntries(e)},`generateShapeMap`)();function jt(e){return e in At}i(jt,`isValidShape`);var $=new Map;async function Mt(e,t,n){let r,i;t.shape===`rect`&&(t.rx&&t.ry?t.shape=`roundedRect`:t.shape=`squareRect`);let a=t.shape?At[t.shape]:void 0;if(!a)throw Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let o;n.config.securityLevel===`sandbox`?o=`_top`:t.linkTarget&&(o=t.linkTarget||`_blank`),r=e.insert(`svg:a`).attr(`xlink:href`,t.link).attr(`target`,o??null),i=await a(r,t,n)}else i=await a(e,t,n),r=i;return t.tooltip&&i.attr(`title`,t.tooltip),$.set(t.id,r),t.haveCallback&&r.attr(`class`,r.attr(`class`)+` clickable`),r}i(Mt,`insertNode`);var Nt=i((e,t)=>{$.set(t.id,e)},`setNodeElem`),Pt=i(()=>{$.clear()},`clear`),Ft=i(e=>{let t=$.get(e.id);r.trace(`Transforming node`,e.diff,e,`translate(`+(e.x-e.width/2-5)+`, `+e.width/2+`)`);let n=e.diff||0;return e.clusterNode?t.attr(`transform`,`translate(`+(e.x+n-e.width/2)+`, `+(e.y-e.height/2-8)+`)`):t.attr(`transform`,`translate(`+e.x+`, `+e.y+`)`),n},`positionNode`);export{Mt as a,Ft as c,I as i,Nt as l,Pt as n,jt as o,j as r,C as s,L as t,T as u};
@@ -1 +0,0 @@
1
- import{f as e,g as t,h as n,i as r,m as i,p as a,s as o,t as s,u as c}from"./chunk-XZSTWKYB-C5JJ0TZR.js";var l=class extends s{static{e(this,`RadarTokenBuilder`)}constructor(){super([`radar-beta`])}},u={parser:{TokenBuilder:e(()=>new l,`TokenBuilder`),ValueConverter:e(()=>new r,`ValueConverter`)}};function d(e=a){let r=i(t(e),o),s=i(n({shared:r}),c,u);return r.ServiceRegistry.register(s),{shared:r,Radar:s}}e(d,`createRadarServices`);export{d as n,u as t};
@@ -1 +0,0 @@
1
- import{h as e}from"./src-DsmFf7gO.js";var t=e((e,t)=>{if(t)return`translate(`+-e.width/2+`, `+-e.height/2+`)`;let n=e.x??0,r=e.y??0;return`translate(`+-(n+e.width/2)+`, `+-(r+e.height/2)+`)`},`computeLabelTransform`),n={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4},r={arrow_point:9,arrow_cross:12.5,arrow_circle:12.5};function i(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=a(e),t=a(t);let[n,r]=[e.x,e.y],[i,o]=[t.x,t.y],s=i-n,c=o-r;return{angle:Math.atan(c/s),deltaX:s,deltaY:c}}e(i,`calculateDeltaAndAngle`);var a=e(e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,`pointTransformer`),o=e(t=>({x:e(function(e,r,o){let s=0,c=a(o[0]).x<a(o[o.length-1]).x?`left`:`right`;if(r===0&&Object.hasOwn(n,t.arrowTypeStart)){let{angle:e,deltaX:r}=i(o[0],o[1]);s=n[t.arrowTypeStart]*Math.cos(e)*(r>=0?1:-1)}else if(r===o.length-1&&Object.hasOwn(n,t.arrowTypeEnd)){let{angle:e,deltaX:r}=i(o[o.length-1],o[o.length-2]);s=n[t.arrowTypeEnd]*Math.cos(e)*(r>=0?1:-1)}let l=Math.abs(a(e).x-a(o[o.length-1]).x),u=Math.abs(a(e).y-a(o[o.length-1]).y),d=Math.abs(a(e).x-a(o[0]).x),f=Math.abs(a(e).y-a(o[0]).y),p=n[t.arrowTypeStart],m=n[t.arrowTypeEnd];if(l<m&&l>0&&u<m){let e=m+1-l;e*=c===`right`?-1:1,s-=e}if(d<p&&d>0&&f<p){let e=p+1-d;e*=c===`right`?-1:1,s+=e}return a(e).x+s},`x`),y:e(function(e,r,o){let s=0,c=a(o[0]).y<a(o[o.length-1]).y?`down`:`up`;if(r===0&&Object.hasOwn(n,t.arrowTypeStart)){let{angle:e,deltaY:r}=i(o[0],o[1]);s=n[t.arrowTypeStart]*Math.abs(Math.sin(e))*(r>=0?1:-1)}else if(r===o.length-1&&Object.hasOwn(n,t.arrowTypeEnd)){let{angle:e,deltaY:r}=i(o[o.length-1],o[o.length-2]);s=n[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(r>=0?1:-1)}let l=Math.abs(a(e).y-a(o[o.length-1]).y),u=Math.abs(a(e).x-a(o[o.length-1]).x),d=Math.abs(a(e).y-a(o[0]).y),f=Math.abs(a(e).x-a(o[0]).x),p=n[t.arrowTypeStart],m=n[t.arrowTypeEnd];if(l<m&&l>0&&u<m){let e=m+1-l;e*=c===`up`?-1:1,s-=e}if(d<p&&d>0&&f<p){let e=p+1-d;e*=c===`up`?-1:1,s+=e}return a(e).y+s},`y`)}),`getLineFunctionsWithOffset`);export{r as i,o as n,n as r,t};
@@ -1,7 +0,0 @@
1
- import{C as e,D as t,E as n,O as r,S as i,T as a,_ as o,b as s,h as c,v as l,w as u,x as d,y as f}from"./chunk-GEFDOKGD-eDUrsRgt.js";import{g as p,h as m,p as h}from"./src-DsmFf7gO.js";import{b as g,w as _}from"./chunk-7R4GIKGN-DneC7PwP.js";import{t as v}from"./line-Cm3ZuldI.js";import{n as y}from"./chunk-PU5JKC2W-PQmA4K_y.js";import{i as b,n as x,r as S,t as C}from"./chunk-MX3YWQON-DHRoNbgW.js";import{n as w}from"./chunk-YBOYWFTD-B6kAkNgH.js";import{i as T,n as ee}from"./chunk-PQ6SQG4A-C9acTu_E.js";import{t as te}from"./rough.esm-KjoEK0it.js";import{r as E}from"./chunk-KYZI473N-Brv52ZeO.js";var D=m((e,t,n,r,i,a)=>{t.arrowTypeStart&&k(e,`start`,t.arrowTypeStart,n,r,i,a),t.arrowTypeEnd&&k(e,`end`,t.arrowTypeEnd,n,r,i,a)},`addEdgeMarkers`),O={arrow_cross:{type:`cross`,fill:!1},arrow_point:{type:`point`,fill:!0},arrow_barb:{type:`barb`,fill:!0},arrow_circle:{type:`circle`,fill:!1},aggregation:{type:`aggregation`,fill:!1},extension:{type:`extension`,fill:!1},composition:{type:`composition`,fill:!0},dependency:{type:`dependency`,fill:!0},lollipop:{type:`lollipop`,fill:!1},only_one:{type:`onlyOne`,fill:!1},zero_or_one:{type:`zeroOrOne`,fill:!1},one_or_more:{type:`oneOrMore`,fill:!1},zero_or_more:{type:`zeroOrMore`,fill:!1},requirement_arrow:{type:`requirement_arrow`,fill:!1},requirement_contains:{type:`requirement_contains`,fill:!1}},k=m((e,t,n,r,i,a,o)=>{let s=O[n];if(!s){p.warn(`Unknown arrow type: ${n}`);return}let c=`${i}_${a}-${s.type}${t===`start`?`Start`:`End`}`;if(o&&o.trim()!==``){let n=`${c}_${o.replace(/[^\dA-Za-z]/g,`_`)}`;if(!document.getElementById(n)){let e=document.getElementById(c);if(e){let t=e.cloneNode(!0);t.id=n,t.querySelectorAll(`path, circle, line`).forEach(e=>{e.setAttribute(`stroke`,o),s.fill&&e.setAttribute(`fill`,o)}),e.parentNode?.appendChild(t)}}e.attr(`marker-${t}`,`url(${r}#${n})`)}else e.attr(`marker-${t}`,`url(${r}#${c})`)},`addEdgeMarker`),ne=m(e=>typeof e==`string`?e:g()?.flowchart?.curve,`resolveEdgeCurveType`),A=new Map,j=new Map,M=m(()=>{A.clear(),j.clear()},`clear`),N=m(e=>e?typeof e==`string`?e:e.reduce((e,t)=>e+`;`+t,``):``,`getLabelStyles`),P=m(async(e,t)=>{let n=g(),r=_(n),{labelStyles:i}=T(t);t.labelStyle=i;let a=e.insert(`g`).attr(`class`,`edgeLabel`),o=a.insert(`g`).attr(`class`,`label`).attr(`data-id`,t.id),s=t.labelType===`markdown`,c=await y(e,t.label,{style:N(t.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1,markdown:s,width:void 0},n);o.node().appendChild(c),p.info(`abc82`,t,t.labelType);let l=c.getBBox(),u=l;if(r){let e=c.children[0],t=h(c);l=e.getBoundingClientRect(),u=l,t.attr(`width`,l.width),t.attr(`height`,l.height)}else{let e=h(c).select(`text`).node();e&&typeof e.getBBox==`function`&&(u=e.getBBox())}o.attr(`transform`,C(u,r)),A.set(t.id,a),t.width=l.width,t.height=l.height;let d;if(t.startLabelLeft){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),a=await E(i,t.startLabelLeft,N(t.labelStyle)||``,!1,!1);d=a;let o=a.getBBox();if(r){let e=a.children[0],t=h(a);o=e.getBoundingClientRect(),t.attr(`width`,o.width),t.attr(`height`,o.height)}i.attr(`transform`,C(o,r)),j.get(t.id)||j.set(t.id,{}),j.get(t.id).startLeft=n,F(d,t.startLabelLeft)}if(t.startLabelRight){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),a=await E(i,t.startLabelRight,N(t.labelStyle)||``,!1,!1);d=a,i.node().appendChild(a);let o=a.getBBox();if(r){let e=a.children[0],t=h(a);o=e.getBoundingClientRect(),t.attr(`width`,o.width),t.attr(`height`,o.height)}i.attr(`transform`,C(o,r)),j.get(t.id)||j.set(t.id,{}),j.get(t.id).startRight=n,F(d,t.startLabelRight)}if(t.endLabelLeft){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),a=await E(i,t.endLabelLeft,N(t.labelStyle)||``,!1,!1);d=a;let o=a.getBBox();if(r){let e=a.children[0],t=h(a);o=e.getBoundingClientRect(),t.attr(`width`,o.width),t.attr(`height`,o.height)}i.attr(`transform`,C(o,r)),n.node().appendChild(a),j.get(t.id)||j.set(t.id,{}),j.get(t.id).endLeft=n,F(d,t.endLabelLeft)}if(t.endLabelRight){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),a=await E(i,t.endLabelRight,N(t.labelStyle)||``,!1,!1);d=a;let o=a.getBBox();if(r){let e=a.children[0],t=h(a);o=e.getBoundingClientRect(),t.attr(`width`,o.width),t.attr(`height`,o.height)}i.attr(`transform`,C(o,r)),n.node().appendChild(a),j.get(t.id)||j.set(t.id,{}),j.get(t.id).endRight=n,F(d,t.endLabelRight)}return c},`insertEdgeLabel`);function F(e,t){_(g())&&e&&(e.style.width=t.length*9+`px`,e.style.height=`12px`)}m(F,`setTerminalWidth`);var I=m((e,t)=>{p.debug(`Moving label abc88 `,e.id,e.label,A.get(e.id),t);let n=t.updatedPath?t.updatedPath:t.originalPath,{subGraphTitleTotalMargin:r}=w(g());if(e.label){let i=A.get(e.id),a=e.x,o=e.y;if(n){let r=c.calcLabelPosition(n);p.debug(`Moving label `+e.label+` from (`,a,`,`,o,`) to (`,r.x,`,`,r.y,`) abc88`),t.updatedPath&&(a=r.x,o=r.y)}i.attr(`transform`,`translate(${a}, ${o+r/2})`)}if(e.startLabelLeft){let t=j.get(e.id).startLeft,r=e.x,i=e.y;if(n){let t=c.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.startLabelRight){let t=j.get(e.id).startRight,r=e.x,i=e.y;if(n){let t=c.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelLeft){let t=j.get(e.id).endLeft,r=e.x,i=e.y;if(n){let t=c.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelRight){let t=j.get(e.id).endRight,r=e.x,i=e.y;if(n){let t=c.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}},`positionEdgeLabel`),L=m((e,t)=>{let n=e.x,r=e.y,i=Math.abs(t.x-n),a=Math.abs(t.y-r),o=e.width/2,s=e.height/2;return i>=o||a>=s},`outsideNode`),R=m((e,t,n)=>{p.debug(`intersection calc abc89:
2
- outsidePoint: ${JSON.stringify(t)}
3
- insidePoint : ${JSON.stringify(n)}
4
- node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let r=e.x,i=e.y,a=Math.abs(r-n.x),o=e.width/2,s=n.x<t.x?o-a:o+a,c=e.height/2,l=Math.abs(t.y-n.y),u=Math.abs(t.x-n.x);if(Math.abs(i-t.y)*o>Math.abs(r-t.x)*c){let e=n.y<t.y?t.y-c-i:i-c-t.y;s=u*e/l;let r={x:n.x<t.x?n.x+s:n.x-u+s,y:n.y<t.y?n.y+l-e:n.y-l+e};return s===0&&(r.x=t.x,r.y=t.y),u===0&&(r.x=t.x),l===0&&(r.y=t.y),p.debug(`abc89 top/bottom calc, Q ${l}, q ${e}, R ${u}, r ${s}`,r),r}else{s=n.x<t.x?t.x-o-r:r-o-t.x;let e=l*s/u,i=n.x<t.x?n.x+u-s:n.x-u+s,a=n.y<t.y?n.y+e:n.y-e;return p.debug(`sides calc abc89, Q ${l}, q ${e}, R ${u}, r ${s}`,{_x:i,_y:a}),s===0&&(i=t.x,a=t.y),u===0&&(i=t.x),l===0&&(a=t.y),{x:i,y:a}}},`intersection`),z=m((e,t)=>{p.warn(`abc88 cutPathAtIntersect`,e,t);let n=[],r=e[0],i=!1;return e.forEach(e=>{if(p.info(`abc88 checking point`,e,t),!L(t,e)&&!i){let a=R(t,r,e);p.debug(`abc88 inside`,e,r,a),p.debug(`abc88 intersection`,a,t);let o=!1;n.forEach(e=>{o||=e.x===a.x&&e.y===a.y}),n.some(e=>e.x===a.x&&e.y===a.y)?p.warn(`abc88 no intersect`,a,n):n.push(a),i=!0}else p.warn(`abc88 outside`,e,r),r=e,i||n.push(e)}),p.debug(`returning points`,n),n},`cutPathAtIntersect`);function B(e){let t=[],n=[];for(let r=1;r<e.length-1;r++){let i=e[r-1],a=e[r],o=e[r+1];(i.x===a.x&&a.y===o.y&&Math.abs(a.x-o.x)>5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===o.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-o.y)>5)&&(t.push(a),n.push(r))}return{cornerPoints:t,cornerPointPositions:n}}m(B,`extractCornerPoints`);var V=m(function(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=n/Math.sqrt(r*r+i*i);return{x:t.x-a*r,y:t.y-a*i}},`findAdjacentPoint`),H=m(function(e){let{cornerPointPositions:t}=B(e),n=[];for(let r=0;r<e.length;r++)if(t.includes(r)){let t=e[r-1],i=e[r+1],a=e[r],o=V(t,a,5),s=V(i,a,5),c=s.x-o.x,l=s.y-o.y;n.push(o);let u=Math.sqrt(2)*2,d={x:a.x,y:a.y};Math.abs(i.x-t.x)>10&&Math.abs(i.y-t.y)>=10?(p.debug(`Corner point fixing`,Math.abs(i.x-t.x),Math.abs(i.y-t.y)),d=a.x===o.x?{x:c<0?o.x-5+u:o.x+5-u,y:l<0?o.y-u:o.y+u}:{x:c<0?o.x-u:o.x+u,y:l<0?o.y-5+u:o.y+5-u}):p.debug(`Corner point skipping fixing`,Math.abs(i.x-t.x),Math.abs(i.y-t.y)),n.push(d,s)}else n.push(e[r]);return n},`fixCorners`),re=m((e,t,n)=>{let r=e-t-n,i=Math.floor(r/4);return`0 ${t} ${Array(i).fill(`2 2`).join(` `)} ${n}`},`generateDashArray`),U=m(function(m,_,y,S,C,w,T,E=!1){let{handDrawnSeed:O}=g(),k=_.points,A=!1,j=C;var M=w;let N=[];for(let e in _.cssCompiledStyles)ee(e)||N.push(_.cssCompiledStyles[e]);p.debug(`UIO intersect check`,_.points,M.x,j.x),M.intersect&&j.intersect&&!E&&(k=k.slice(1,_.points.length-1),k.unshift(j.intersect(k[0])),p.debug(`Last point UIO`,_.start,`-->`,_.end,k[k.length-1],M,M.intersect(k[k.length-1])),k.push(M.intersect(k[k.length-1])));let P=btoa(JSON.stringify(k));_.toCluster&&(p.info(`to cluster abc88`,y.get(_.toCluster)),k=z(_.points,y.get(_.toCluster).node),A=!0),_.fromCluster&&(p.debug(`from cluster abc88`,y.get(_.fromCluster),JSON.stringify(k,null,2)),k=z(k.reverse(),y.get(_.fromCluster).node).reverse(),A=!0);let F=k.filter(e=>!Number.isNaN(e.y)),I=ne(_.curve);I!==`rounded`&&(F=H(F));let L=r;switch(I){case`linear`:L=r;break;case`basis`:L=a;break;case`cardinal`:L=u;break;case`bumpX`:L=n;break;case`bumpY`:L=t;break;case`catmullRom`:L=e;break;case`monotoneX`:L=d;break;case`monotoneY`:L=i;break;case`natural`:L=s;break;case`step`:L=f;break;case`stepAfter`:L=o;break;case`stepBefore`:L=l;break;case`rounded`:L=r;break;default:L=a}let{x:R,y:B}=x(_),V=v().x(R).y(B).curve(L),U;switch(_.thickness){case`normal`:U=`edge-thickness-normal`;break;case`thick`:U=`edge-thickness-thick`;break;case`invisible`:U=`edge-thickness-invisible`;break;default:U=`edge-thickness-normal`}switch(_.pattern){case`solid`:U+=` edge-pattern-solid`;break;case`dotted`:U+=` edge-pattern-dotted`;break;case`dashed`:U+=` edge-pattern-dashed`;break;default:U+=` edge-pattern-solid`}let G,q=I===`rounded`?W(K(F,_),5):V(F),J=Array.isArray(_.style)?_.style:[_.style],Y=J.find(e=>e?.startsWith(`stroke:`)),X=``;_.animate&&(X=`edge-animation-fast`),_.animation&&(X=`edge-animation-`+_.animation);let Z=!1;if(_.look===`handDrawn`){let e=te.svg(m);Object.assign([],F);let t=e.path(q,{roughness:.3,seed:O});U+=` transition`,G=h(t).select(`path`).attr(`id`,_.id).attr(`class`,` `+U+(_.classes?` `+_.classes:``)+(X?` `+X:``)).attr(`style`,J?J.reduce((e,t)=>e+`;`+t,``):``);let n=G.attr(`d`);G.attr(`d`,n),m.node().appendChild(G.node())}else{let e=N.join(`;`),t=J?J.reduce((e,t)=>e+t+`;`,``):``,n=(e?e+`;`+t+`;`:t)+`;`+(J?J.reduce((e,t)=>e+`;`+t,``):``);G=m.append(`path`).attr(`d`,q).attr(`id`,_.id).attr(`class`,` `+U+(_.classes?` `+_.classes:``)+(X?` `+X:``)).attr(`style`,n),Y=n.match(/stroke:([^;]+)/)?.[1],Z=_.animate===!0||!!_.animation||e.includes(`animation`);let r=G.node(),i=typeof r.getTotalLength==`function`?r.getTotalLength():0,a=b[_.arrowTypeStart]||0,o=b[_.arrowTypeEnd]||0;if(_.look===`neo`&&!Z){let e=`stroke-dasharray: ${_.pattern===`dotted`||_.pattern===`dashed`?re(i,a,o):`0 ${a} ${i-a-o} ${o}`}; stroke-dashoffset: 0;`;G.attr(`style`,e+G.attr(`style`))}}G.attr(`data-edge`,!0),G.attr(`data-et`,`edge`),G.attr(`data-id`,_.id),G.attr(`data-points`,P),_.showPoints&&F.forEach(e=>{m.append(`circle`).style(`stroke`,`red`).style(`fill`,`red`).attr(`r`,1).attr(`cx`,e.x).attr(`cy`,e.y)});let Q=``;(g().flowchart.arrowMarkerAbsolute||g().state.arrowMarkerAbsolute)&&(Q=window.location.protocol+`//`+window.location.host+window.location.pathname+window.location.search,Q=Q.replace(/\(/g,`\\(`).replace(/\)/g,`\\)`)),p.info(`arrowTypeStart`,_.arrowTypeStart),p.info(`arrowTypeEnd`,_.arrowTypeEnd),D(G,_,Q,T,S,Y);let ie=Math.floor(k.length/2),ae=k[ie];c.isLabelCoordinateInPath(ae,G.attr(`d`))||(A=!0);let $={};return A&&($.updatedPath=k),$.originalPath=_.points,$},`insertEdge`);function W(e,t){if(e.length<2)return``;let n=``,r=e.length,i=1e-5;for(let a=0;a<r;a++){let o=e[a],s=e[a-1],c=e[a+1];if(a===0)n+=`M${o.x},${o.y}`;else if(a===r-1)n+=`L${o.x},${o.y}`;else{let e=o.x-s.x,r=o.y-s.y,a=c.x-o.x,l=c.y-o.y,u=Math.hypot(e,r),d=Math.hypot(a,l);if(u<i||d<i){n+=`L${o.x},${o.y}`;continue}let f=e/u,p=r/u,m=a/d,h=l/d,g=f*m+p*h,_=Math.acos(Math.max(-1,Math.min(1,g)));if(_<i||Math.abs(Math.PI-_)<i){n+=`L${o.x},${o.y}`;continue}let v=Math.min(t/Math.sin(_/2),u/2,d/2),y=o.x-f*v,b=o.y-p*v,x=o.x+m*v,S=o.y+h*v;n+=`L${y},${b}`,n+=`Q${o.x},${o.y} ${x},${S}`}}return n}m(W,`generateRoundedPath`);function G(e,t){if(!e||!t)return{angle:0,deltaX:0,deltaY:0};let n=t.x-e.x,r=t.y-e.y;return{angle:Math.atan2(r,n),deltaX:n,deltaY:r}}m(G,`calculateDeltaAndAngle`);function K(e,t){let n=e.map(e=>({...e}));if(e.length>=2&&S[t.arrowTypeStart]){let r=S[t.arrowTypeStart],i=e[0],a=e[1],{angle:o}=G(i,a),s=r*Math.cos(o),c=r*Math.sin(o);n[0].x=i.x+s,n[0].y=i.y+c}let r=e.length;if(r>=2&&S[t.arrowTypeEnd]){let i=S[t.arrowTypeEnd],a=e[r-1],o=e[r-2],{angle:s}=G(o,a),c=i*Math.cos(s),l=i*Math.sin(s);n[r-1].x=a.x-c,n[r-1].y=a.y-l}return n}m(K,`applyMarkerOffsetsToPoints`);var q=m((e,t,n,r)=>{t.forEach(t=>{J[t](e,n,r)})},`insertMarkers`),J={extension:m((e,t,n)=>{p.trace(`Making markers for `,n),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionStart`).attr(`class`,`marker extension `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,7 L18,13 V 1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionEnd`).attr(`class`,`marker extension `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 V 13 L18,7 Z`)},`extension`),composition:m((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionStart`).attr(`class`,`marker composition `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionEnd`).attr(`class`,`marker composition `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`composition`),aggregation:m((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationStart`).attr(`class`,`marker aggregation `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationEnd`).attr(`class`,`marker aggregation `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`aggregation`),dependency:m((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyStart`).attr(`class`,`marker dependency `+t).attr(`refX`,6).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 5,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyEnd`).attr(`class`,`marker dependency `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L14,7 L9,1 Z`)},`dependency`),lollipop:m((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopStart`).attr(`class`,`marker lollipop `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopEnd`).attr(`class`,`marker lollipop `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6)},`lollipop`),point:m((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-pointEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,4.5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 5 L 10 10 L 10 0 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`)},`point`),circle:m((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-circleEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,11).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,-1).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`)},`circle`),cross:m((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-crossEnd`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,12).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-crossStart`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,-1).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`)},`cross`),barb:m((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`barb`),only_one:m((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneStart`).attr(`class`,`marker onlyOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).append(`path`).attr(`d`,`M9,0 L9,18 M15,0 L15,18`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneEnd`).attr(`class`,`marker onlyOne `+t).attr(`refX`,18).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).append(`path`).attr(`d`,`M3,0 L3,18 M9,0 L9,18`)},`only_one`),zero_or_one:m((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneStart`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`orient`,`auto`);r.append(`circle`).attr(`fill`,`white`).attr(`cx`,21).attr(`cy`,9).attr(`r`,6),r.append(`path`).attr(`d`,`M9,0 L9,18`);let i=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneEnd`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,30).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`orient`,`auto`);i.append(`circle`).attr(`fill`,`white`).attr(`cx`,9).attr(`cy`,9).attr(`r`,6),i.append(`path`).attr(`d`,`M21,0 L21,18`)},`zero_or_one`),one_or_more:m((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreStart`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`orient`,`auto`).append(`path`).attr(`d`,`M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreEnd`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,27).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`orient`,`auto`).append(`path`).attr(`d`,`M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18`)},`one_or_more`),zero_or_more:m((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreStart`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`orient`,`auto`);r.append(`circle`).attr(`fill`,`white`).attr(`cx`,48).attr(`cy`,18).attr(`r`,6),r.append(`path`).attr(`d`,`M0,18 Q18,0 36,18 Q18,36 0,18`);let i=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreEnd`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,39).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`orient`,`auto`);i.append(`circle`).attr(`fill`,`white`).attr(`cx`,9).attr(`cy`,18).attr(`r`,6),i.append(`path`).attr(`d`,`M21,18 Q39,0 57,18 Q39,36 21,18`)},`zero_or_more`),requirement_arrow:m((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_arrowEnd`).attr(`refX`,20).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).append(`path`).attr(`d`,`M0,0
5
- L20,10
6
- M20,10
7
- L0,20`)},`requirement_arrow`),requirement_contains:m((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_containsStart`).attr(`refX`,0).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).append(`g`);r.append(`circle`).attr(`cx`,10).attr(`cy`,10).attr(`r`,9).attr(`fill`,`none`),r.append(`line`).attr(`x1`,1).attr(`x2`,19).attr(`y1`,10).attr(`y2`,10),r.append(`line`).attr(`y1`,1).attr(`y2`,19).attr(`x1`,10).attr(`x2`,10)},`requirement_contains`)},Y=q;export{I as a,Y as i,U as n,P as r,M as t};
@@ -1 +0,0 @@
1
- import{d as e,f as t,g as n,h as r,m as i,n as a,p as o,s,t as c}from"./chunk-XZSTWKYB-C5JJ0TZR.js";var l=class extends c{static{t(this,`TreemapTokenBuilder`)}constructor(){super([`treemap`])}},u=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,d=class extends a{static{t(this,`TreemapValueConverter`)}runCustomConverter(e,t,n){if(e.name===`NUMBER2`)return parseFloat(t.replace(/,/g,``));if(e.name===`SEPARATOR`||e.name===`STRING2`)return t.substring(1,t.length-1);if(e.name===`INDENTATION`)return t.length;if(e.name===`ClassDef`){if(typeof t!=`string`)return t;let e=u.exec(t);if(e)return{$type:`ClassDefStatement`,className:e[1],styleText:e[2]||void 0}}}};function f(e){let t=e.validation.TreemapValidator,n=e.validation.ValidationRegistry;if(n){let e={Treemap:t.checkSingleRoot.bind(t)};n.register(e,t)}}t(f,`registerValidationChecks`);var p=class{static{t(this,`TreemapValidator`)}checkSingleRoot(e,t){let n;for(let r of e.TreemapRows)r.item&&(n===void 0&&r.indent===void 0?n=0:(r.indent===void 0||n!==void 0&&n>=parseInt(r.indent,10))&&t(`error`,`Multiple root nodes are not allowed in a treemap.`,{node:r,property:`item`}))}},m={parser:{TokenBuilder:t(()=>new l,`TokenBuilder`),ValueConverter:t(()=>new d,`ValueConverter`)},validation:{TreemapValidator:t(()=>new p,`TreemapValidator`)}};function h(t=o){let a=i(n(t),s),c=i(r({shared:a}),e,m);return a.ServiceRegistry.register(c),f(c),{shared:a,Treemap:c}}t(h,`createTreemapServices`);export{h as n,m as t};
@@ -1 +0,0 @@
1
- import{h as e}from"./src-DsmFf7gO.js";var t=class{constructor(e){this.init=e,this.records=this.init()}static{e(this,`ImperativeState`)}reset(){this.records=this.init()}};export{t};
@@ -1 +0,0 @@
1
- import{f as e,g as t,h as n,m as r,n as i,p as a,r as o,s,t as c}from"./chunk-XZSTWKYB-C5JJ0TZR.js";var l=class extends c{static{e(this,`ArchitectureTokenBuilder`)}constructor(){super([`architecture`])}},u=class extends i{static{e(this,`ArchitectureValueConverter`)}runCustomConverter(e,t,n){if(e.name===`ARCH_ICON`)return t.replace(/[()]/g,``).trim();if(e.name===`ARCH_TEXT_ICON`)return t.replace(/["()]/g,``);if(e.name===`ARCH_TITLE`){let e=t.replace(/^\[|]$/g,``).trim();return(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1),e=e.replace(/\\"/g,`"`).replace(/\\'/g,`'`)),e.trim()}}},d={parser:{TokenBuilder:e(()=>new l,`TokenBuilder`),ValueConverter:e(()=>new u,`ValueConverter`)}};function f(e=a){let i=r(t(e),s),c=r(n({shared:i}),o,d);return i.ServiceRegistry.register(c),{shared:i,Architecture:c}}e(f,`createArchitectureServices`);export{f as n,d as t};