@leanspec/ui 0.2.21 → 0.2.22

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 (129) hide show
  1. package/dist/assets/_baseUniq-D7Jo4wA--B2TRxPWE.js +1 -0
  2. package/dist/assets/{_baseUniq--5gbTAb8.js → _baseUniq-iT192ZJn.js} +1 -1
  3. package/dist/assets/{arc-4N6yDHjl.js → arc-BpF2CtTd.js} +1 -1
  4. package/dist/assets/arc-bSbgZKu2-DL3rNhb4.js +1 -0
  5. package/dist/assets/architectureDiagram-VXUJARFQ-B9csKaKv-CjjNwF-J.js +36 -0
  6. package/dist/assets/{architectureDiagram-VXUJARFQ-DDCzyF2V.js → architectureDiagram-VXUJARFQ-RJJR00DR.js} +1 -1
  7. package/dist/assets/{blockDiagram-VD42YOAC-CqzgSlfV.js → blockDiagram-VD42YOAC-1uTfdDe0.js} +1 -1
  8. package/dist/assets/blockDiagram-VD42YOAC-DrRsdznF-BABvqVBT.js +122 -0
  9. package/dist/assets/c4Diagram-YG6GDRKO-Di2rkJ8i-Ds0QfElR.js +10 -0
  10. package/dist/assets/{c4Diagram-YG6GDRKO-DcDDI9XD.js → c4Diagram-YG6GDRKO-f40n5_vc.js} +1 -1
  11. package/dist/assets/channel-B6afjgOL.js +1 -0
  12. package/dist/assets/channel-CTeTHv-y-DAoPNf9o.js +1 -0
  13. package/dist/assets/{chunk-4BX2VUAB-CVAs-OQz.js → chunk-4BX2VUAB-BWm6jvkB.js} +1 -1
  14. package/dist/assets/chunk-4BX2VUAB-Dkr-Egsj-hwESrSLd.js +1 -0
  15. package/dist/assets/{chunk-55IACEB6-Dd3NjClm-icx5kZVe.js → chunk-55IACEB6-D_uwi6CC-CwcdTnFf.js} +1 -1
  16. package/dist/assets/{chunk-55IACEB6-Ccr-HMFu.js → chunk-55IACEB6-SXD_npDw.js} +1 -1
  17. package/dist/assets/{chunk-B4BG7PRW-DLUrgkJI-Cic_-nsr.js → chunk-B4BG7PRW-BipBIVhj-1FtWONL8.js} +6 -6
  18. package/dist/assets/{chunk-B4BG7PRW-xLNbTmXA.js → chunk-B4BG7PRW-UGjCd_Gn.js} +1 -1
  19. package/dist/assets/chunk-DI55MBZ5-8tWOlvAD-Cye13dPz.js +220 -0
  20. package/dist/assets/{chunk-DI55MBZ5-BsHIkgDC.js → chunk-DI55MBZ5-BQAFhPjX.js} +1 -1
  21. package/dist/assets/{chunk-FMBD7UC4-6dsbMKM7-DZVEYpsF.js → chunk-FMBD7UC4-CLc8_72--CGehZjII.js} +1 -1
  22. package/dist/assets/{chunk-FMBD7UC4-CN5kw4_J.js → chunk-FMBD7UC4-GQVp2u3C.js} +1 -1
  23. package/dist/assets/chunk-QN33PNHL-QKH9jByz-BVKajMNG.js +1 -0
  24. package/dist/assets/{chunk-QN33PNHL-CHu6LVbN.js → chunk-QN33PNHL-xEzemp3c.js} +1 -1
  25. package/dist/assets/{chunk-QZHKN3VN-CVAEdzef-CICjYRZu.js → chunk-QZHKN3VN-BPpgPA2g-DfaPwKB_.js} +1 -1
  26. package/dist/assets/{chunk-QZHKN3VN-DOlyc5a_.js → chunk-QZHKN3VN-DmaRauNH.js} +1 -1
  27. package/dist/assets/{chunk-TZMSLE5B-qgYeZfVw.js → chunk-TZMSLE5B-Bx7Kyzw7.js} +1 -1
  28. package/dist/assets/{chunk-TZMSLE5B-Cc8_PJIq-DBNHj8Jc.js → chunk-TZMSLE5B-Coq49FaX-CdOY_0Y9.js} +1 -1
  29. package/dist/assets/classDiagram-2ON5EDUG-DDdP3lEc.js +1 -0
  30. package/dist/assets/classDiagram-2ON5EDUG-DYaKkEXb-BMs1bhMY.js +1 -0
  31. package/dist/assets/classDiagram-v2-WZHVMYZB-DDdP3lEc.js +1 -0
  32. package/dist/assets/classDiagram-v2-WZHVMYZB-DYaKkEXb-BMs1bhMY.js +1 -0
  33. package/dist/assets/clone-B4FGNCC9.js +1 -0
  34. package/dist/assets/clone-Ctm6tjrV-cgncjIrI.js +1 -0
  35. package/dist/assets/code-block-37QAKDTI-3zaK1Sok-DkWCKnjc.js +2 -0
  36. package/dist/assets/{cose-bilkent-S5V4N54A-aMn5Snue.js → cose-bilkent-S5V4N54A-OjaorTGT.js} +1 -1
  37. package/dist/assets/{cose-bilkent-S5V4N54A-0O3dLIoy-Au1JV0Hr.js → cose-bilkent-S5V4N54A-iUMgKFJZ-CcWe6Gov.js} +1 -1
  38. package/dist/assets/{cytoscape.esm-CjI2IsL8-U70Mzu-N.js → cytoscape.esm-Cvf3sx9F-DgU3JdRZ.js} +1 -1
  39. package/dist/assets/{dagre-6UL2VRFP-C0nN6YID.js → dagre-6UL2VRFP-BLazRBE2.js} +1 -1
  40. package/dist/assets/dagre-6UL2VRFP-CKc2IEbO-CPlhk_ig.js +4 -0
  41. package/dist/assets/{diagram-PSM6KHXK-DhvTMswv.js → diagram-PSM6KHXK-Cz_Zed26.js} +1 -1
  42. package/dist/assets/diagram-PSM6KHXK-DERIvROx-B9mGRCGq.js +24 -0
  43. package/dist/assets/diagram-QEK2KX5R-B6CdcylU-lSCL2dm4.js +43 -0
  44. package/dist/assets/{diagram-QEK2KX5R-w4lZ6XEJ.js → diagram-QEK2KX5R-BAMwQLy8.js} +1 -1
  45. package/dist/assets/diagram-S2PKOQOG-5f_4uCtF-CUC-ZBue.js +24 -0
  46. package/dist/assets/{diagram-S2PKOQOG-DOXHCu2g.js → diagram-S2PKOQOG-v5vZ9P70.js} +1 -1
  47. package/dist/assets/{erDiagram-Q2GNP2WA-CXv6THpi-Cd4jg1J5.js → erDiagram-Q2GNP2WA-CnN7DF_N-yqb-l1CZ.js} +5 -5
  48. package/dist/assets/{erDiagram-Q2GNP2WA-B0P-TPNi.js → erDiagram-Q2GNP2WA-DFCKi0mZ.js} +1 -1
  49. package/dist/assets/{flowDiagram-NV44I4VS-KDzE7AT1.js → flowDiagram-NV44I4VS-3Rq7lbgS.js} +1 -1
  50. package/dist/assets/flowDiagram-NV44I4VS-Dl3ZZj2W-C9K7yiSN.js +162 -0
  51. package/dist/assets/{ganttDiagram-JELNMOA3-Ce3vKfsr.js → ganttDiagram-JELNMOA3-D76DQdCK.js} +1 -1
  52. package/dist/assets/{ganttDiagram-JELNMOA3-CqVYbgbk-Dm-Q7o3L.js → ganttDiagram-JELNMOA3-q87tSGGF-CKPOItTI.js} +1 -1
  53. package/dist/assets/{gitGraphDiagram-NY62KEGX-DDQ3wMsb.js → gitGraphDiagram-NY62KEGX-Db2iqJeU.js} +1 -1
  54. package/dist/assets/gitGraphDiagram-NY62KEGX-NeHUXng4-DDlIETSy.js +65 -0
  55. package/dist/assets/{graph-CIQI-Qnx.js → graph-D9RB6DwV.js} +1 -1
  56. package/dist/assets/{graph-rt_wscbL-BYOC6Zos.js → graph-Da1z0n_J-yJ-tLMG7.js} +1 -1
  57. package/dist/assets/index-B7GqH6If.js +2542 -0
  58. package/dist/assets/index-Blg_AJgc.css +1 -0
  59. package/dist/assets/{infoDiagram-WHAUD3N6-CKi2MdjK.js → infoDiagram-WHAUD3N6-CgNeND0m.js} +1 -1
  60. package/dist/assets/infoDiagram-WHAUD3N6-Cj-s-gtw-B2FbdsVb.js +2 -0
  61. package/dist/assets/{journeyDiagram-XKPGCS4Q-BzZgPZwu-FS4BVd7N.js → journeyDiagram-XKPGCS4Q-BbXXFBC--Cb6ONhr6.js} +4 -4
  62. package/dist/assets/{journeyDiagram-XKPGCS4Q-C8gYN3B8.js → journeyDiagram-XKPGCS4Q-D0meuzwF.js} +1 -1
  63. package/dist/assets/{kanban-definition-3W4ZIXB7-CJBvuSy_.js → kanban-definition-3W4ZIXB7-BCx2MTD3.js} +1 -1
  64. package/dist/assets/kanban-definition-3W4ZIXB7-ClCUbNCO-DyL1fJFZ.js +89 -0
  65. package/dist/assets/{layout-CX9neEHw-DZXKxUst.js → layout-BoJlbrAK-CAQ1YqzH.js} +1 -1
  66. package/dist/assets/{layout-BoDR3kQT.js → layout-DFWNR-Y1.js} +1 -1
  67. package/dist/assets/{linear-CkUVga7d-DcwQdvDv.js → linear-4rmylyIU-DexK5wO7.js} +1 -1
  68. package/dist/assets/min-C8aXS73f-D0DvW8t2.js +1 -0
  69. package/dist/assets/{min-USsdh-HW.js → min-CRMSN7nx.js} +1 -1
  70. package/dist/assets/{mindmap-definition-VGOIOE7T-CahlRCoo.js → mindmap-definition-VGOIOE7T-BGABgSVt.js} +1 -1
  71. package/dist/assets/mindmap-definition-VGOIOE7T-BRNm-2aJ-DQQO6TMa.js +68 -0
  72. package/dist/assets/{pieDiagram-ADFJNKIX-B3ej6Rof.js → pieDiagram-ADFJNKIX-BAPQcD4y.js} +1 -1
  73. package/dist/assets/pieDiagram-ADFJNKIX-BVRqurYx-QWWibrkj.js +30 -0
  74. package/dist/assets/quadrantDiagram-AYHSOK5B-CcsZBY3e-DjxqpMlH.js +7 -0
  75. package/dist/assets/{quadrantDiagram-AYHSOK5B-Di2kSbDD.js → quadrantDiagram-AYHSOK5B-kNxQZTX1.js} +1 -1
  76. package/dist/assets/{requirementDiagram-UZGBJVZJ-BIKMHzOU.js → requirementDiagram-UZGBJVZJ-BZ08al2Y.js} +1 -1
  77. package/dist/assets/{requirementDiagram-UZGBJVZJ-MnXD59Yw-DoLLmzEr.js → requirementDiagram-UZGBJVZJ-CV5SUGj--Crvo94rv.js} +7 -7
  78. package/dist/assets/{sankeyDiagram-TZEHDZUN-Dfyu7oJ6-upd_w6uL.js → sankeyDiagram-TZEHDZUN-BFPvVGcz-DAajH7lE.js} +8 -8
  79. package/dist/assets/{sankeyDiagram-TZEHDZUN-B45aWneB.js → sankeyDiagram-TZEHDZUN-BQT0X4qe.js} +1 -1
  80. package/dist/assets/{sequenceDiagram-WL72ISMW-0WGvejjk.js → sequenceDiagram-WL72ISMW-BcmegQjZ.js} +1 -1
  81. package/dist/assets/sequenceDiagram-WL72ISMW-CQ5u3b_o-B7RzlL6P.js +145 -0
  82. package/dist/assets/{stateDiagram-FKZM4ZOC-CyN90BQP.js → stateDiagram-FKZM4ZOC-C-u3YY-3.js} +1 -1
  83. package/dist/assets/{stateDiagram-FKZM4ZOC-DYV-na53-BrTgUi_v.js → stateDiagram-FKZM4ZOC-zOb-V3pD-D2k2TVkN.js} +1 -1
  84. package/dist/assets/stateDiagram-v2-4FDKWEC3-CvvobAsa.js +1 -0
  85. package/dist/assets/stateDiagram-v2-4FDKWEC3-_Mzc1jVl-lAsEHEbp.js +1 -0
  86. package/dist/assets/timeline-definition-IT6M3QCI-B2T2QrC5-eoEFP1Po.js +61 -0
  87. package/dist/assets/{timeline-definition-IT6M3QCI-B_SrPNXx.js → timeline-definition-IT6M3QCI-Dx4HH0C5.js} +1 -1
  88. package/dist/assets/{treemap-KMMF4GRG-Bj5u1csA.js → treemap-KMMF4GRG-DfaADvmb.js} +1 -1
  89. package/dist/assets/{treemap-KMMF4GRG-l6HrdCLC-BpLaQV_H.js → treemap-KMMF4GRG-wB3pBnFc-DQrUn2c6.js} +59 -59
  90. package/dist/assets/{xychartDiagram-PRI3JC2R-CkfCv2o_-BblxmbGy.js → xychartDiagram-PRI3JC2R-BSPghzKh-CYIgkUk9.js} +3 -3
  91. package/dist/assets/{xychartDiagram-PRI3JC2R-Ca3wGEm0.js → xychartDiagram-PRI3JC2R-DusIzSwm.js} +1 -1
  92. package/dist/index.html +2 -2
  93. package/package.json +4 -7
  94. package/dist/assets/_baseUniq-KSDS6tgF-vSUSx1j2.js +0 -1
  95. package/dist/assets/arc-C-X5Xt_b-DxNTmc8E.js +0 -1
  96. package/dist/assets/architectureDiagram-VXUJARFQ-Bal8NTn4-C3CDAmmj.js +0 -36
  97. package/dist/assets/blockDiagram-VD42YOAC-B2gTo5wW-Chk-bWEZ.js +0 -122
  98. package/dist/assets/c4Diagram-YG6GDRKO-dIf_vNCY-B78U9OXb.js +0 -10
  99. package/dist/assets/channel-CXjddKEr.js +0 -1
  100. package/dist/assets/channel-klR7o7JB-D3KnrQ1u.js +0 -1
  101. package/dist/assets/chunk-4BX2VUAB-BQgzc1Sm-3MUJBN6J.js +0 -1
  102. package/dist/assets/chunk-DI55MBZ5-BwHLqSW9-Dg6tgfWJ.js +0 -220
  103. package/dist/assets/chunk-QN33PNHL-DHNejhbC-DbJMzG-e.js +0 -1
  104. package/dist/assets/classDiagram-2ON5EDUG-Cf3QVtDa.js +0 -1
  105. package/dist/assets/classDiagram-2ON5EDUG-D7bjndmT-0h2otGW6.js +0 -1
  106. package/dist/assets/classDiagram-v2-WZHVMYZB-Cf3QVtDa.js +0 -1
  107. package/dist/assets/classDiagram-v2-WZHVMYZB-D7bjndmT-0h2otGW6.js +0 -1
  108. package/dist/assets/clone-7srXemyd-DGxkCAtg.js +0 -1
  109. package/dist/assets/clone-DZrMJ9hz.js +0 -1
  110. package/dist/assets/code-block-37QAKDTI-MRm4xHKr-DLRpbM4W.js +0 -2
  111. package/dist/assets/dagre-6UL2VRFP-BqaZre9N-vdYA4a1q.js +0 -4
  112. package/dist/assets/diagram-PSM6KHXK-s2xYLlND-B6BOy07D.js +0 -24
  113. package/dist/assets/diagram-QEK2KX5R-D700jvoY-tTlqymfs.js +0 -43
  114. package/dist/assets/diagram-S2PKOQOG-BkgBSa1Q-59esupTS.js +0 -24
  115. package/dist/assets/flowDiagram-NV44I4VS-Dsrv00Gy-Cz-kjEu8.js +0 -162
  116. package/dist/assets/gitGraphDiagram-NY62KEGX-DOanbk62-D2EAn-OM.js +0 -65
  117. package/dist/assets/index-BXRJOAs4.js +0 -2540
  118. package/dist/assets/index-C5i0a-mH.css +0 -1
  119. package/dist/assets/infoDiagram-WHAUD3N6-Fq8ToFQ6-BmtVQ1WU.js +0 -2
  120. package/dist/assets/kanban-definition-3W4ZIXB7-CrmrjRAg-BJFHq-Xg.js +0 -89
  121. package/dist/assets/min-Ar5ebLd--DYc60i1a.js +0 -1
  122. package/dist/assets/mindmap-definition-VGOIOE7T-DeGZNL21-hbAsMota.js +0 -68
  123. package/dist/assets/pieDiagram-ADFJNKIX-C_V2NX6O-BNls6JWQ.js +0 -30
  124. package/dist/assets/quadrantDiagram-AYHSOK5B-B8fSnYQi-BEGj5HDN.js +0 -7
  125. package/dist/assets/sequenceDiagram-WL72ISMW-D2pgAoWi-CIx9uPOq.js +0 -145
  126. package/dist/assets/stateDiagram-v2-4FDKWEC3-Kp4sxr9o--i7eh5f-.js +0 -1
  127. package/dist/assets/stateDiagram-v2-4FDKWEC3-yJXh1tES.js +0 -1
  128. package/dist/assets/timeline-definition-IT6M3QCI-621ePKJ0-i5oeWE__.js +0 -61
  129. /package/dist/assets/{ordinal-DfAQgscy-Pc8f3NoK.js → ordinal-B6-f3MAq-Pc8f3NoK.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{bE as w,cY as j,cZ as F,c_ as _,c$ as H,bL as i,bJ as U,d0 as V,d1 as $,cP as Q,cU as Z,cQ as P,cO as q,d2 as z,d3 as K,d4 as W}from"./index-BXRJOAs4.js";import{i as b,G as B}from"./graph-CIQI-Qnx.js";import{l as L}from"./layout-BoDR3kQT.js";import{c as I}from"./clone-DZrMJ9hz.js";import{m as A}from"./min-USsdh-HW.js";import"./_baseUniq--5gbTAb8.js";function h(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ee(e),edges:ne(e)};return b(e.graph())||(t.value=I(e.graph())),t}function ee(e){return A(e.nodes(),function(t){var n=e.node(t),c=e.parent(t),r={v:t};return b(n)||(r.value=n),b(c)||(r.parent=c),r})}function ne(e){return A(e.edges(),function(t){var n=e.edge(t),c={v:t.v,w:t.w};return b(t.name)||(c.name=t.name),b(n)||(c.value=n),c})}var d=new Map,p=new Map,J=new Map,te=w(()=>{p.clear(),J.clear(),d.clear()},"clear"),D=w((e,t)=>{const n=p.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),se=w((e,t)=>{const n=p.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||D(e.v,t)||D(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),G=w((e,t,n,c)=>{i.warn("Copying children of ",e,"root",c,"data",t.node(e),c);const r=t.children(e)||[];e!==c&&r.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach(o=>{if(t.children(o).length>0)G(o,t,n,c);else{const l=t.node(o);i.info("cp ",o," to ",c," with parent ",e),n.setNode(o,l),c!==t.parent(o)&&(i.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==c&&o!==e?(i.debug("Setting parent",o,e),n.setParent(o,e)):(i.info("In copy ",e,"root",c,"data",t.node(e),c),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==c,"node!==clusterId",o!==e));const u=t.edges(o);i.debug("Copying Edges",u),u.forEach(a=>{i.info("Edge",a);const m=t.edge(a.v,a.w,a.name);i.info("Edge data",m,c);try{se(a,c)?(i.info("Copying as ",a.v,a.w,m,a.name),n.setEdge(a.v,a.w,m,a.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",a.v,"-->",a.w," rootId: ",c," clusterId:",e)}catch(v){i.error(v)}})}i.debug("Removing node",o),t.removeNode(o)})},"copy"),R=w((e,t)=>{const n=t.children(e);let c=[...n];for(const r of n)J.set(r,e),c=[...c,...R(r,t)];return c},"extractDescendants"),ie=w((e,t,n)=>{const c=e.edges().filter(a=>a.v===t||a.w===t),r=e.edges().filter(a=>a.v===n||a.w===n),o=c.map(a=>({v:a.v===t?n:a.v,w:a.w===t?t:a.w})),l=r.map(a=>({v:a.v,w:a.w}));return o.filter(a=>l.some(m=>a.v===m.v&&a.w===m.w))},"findCommonEdges"),C=w((e,t,n)=>{const c=t.children(e);if(i.trace("Searching children of id ",e,c),c.length<1)return e;let r;for(const o of c){const l=C(o,t,n),u=ie(t,n,l);if(l)if(u.length>0)r=l;else return l}return r},"findNonClusterChild"),k=w(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),re=w((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),p.set(n,R(n,e)),d.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const c=e.children(n),r=e.edges();c.length>0?(i.debug("Cluster identified",n,p),r.forEach(o=>{const l=D(o.v,n),u=D(o.w,n);l^u&&(i.warn("Edge: ",o," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",p.get(n)),d.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,p)});for(let n of d.keys()){const c=d.get(n).id,r=e.parent(c);r!==n&&d.has(r)&&!d.get(r).externalConnections&&(d.get(n).id=r)}e.edges().forEach(function(n){const c=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let r=n.v,o=n.w;if(i.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),r=k(n.v),o=k(n.w),e.removeEdge(n.v,n.w,n.name),r!==n.v){const l=e.parent(r);d.get(l).externalConnections=!0,c.fromCluster=n.v}if(o!==n.w){const l=e.parent(o);d.get(l).externalConnections=!0,c.toCluster=n.w}i.warn("Fix Replacing with XXX",r,o,n.name),e.setEdge(r,o,c,n.name)}}),i.warn("Adjusted Graph",h(e)),T(e,0),i.trace(d)},"adjustClustersAndEdges"),T=w((e,t)=>{if(i.warn("extractor - ",t,h(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),c=!1;for(const r of n){const o=e.children(r);c=c||o.length>0}if(!c){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const r of n)if(i.debug("Extracting node",r,d,d.has(r)&&!d.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!d.has(r))i.debug("Not a cluster",r,t);else if(!d.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){i.warn("Cluster without external connections, without a parent and with children",r,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(r)?.clusterData?.dir&&(l=d.get(r).clusterData.dir,i.warn("Fixing dir",d.get(r).clusterData.dir,l));const u=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",h(e)),G(r,e,u,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:d.get(r).clusterData,label:d.get(r).label,graph:u}),i.warn("New graph after copy node: (",r,")",h(u)),i.debug("Old graph after copy",h(e))}else i.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!d.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),i.debug(d);n=e.nodes(),i.warn("New list of nodes",n);for(const r of n){const o=e.node(r);i.warn(" Now next level",r,o),o?.clusterNode&&T(o.graph,t+1)}},"extractor"),M=w((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(c=>{const r=e.children(c),o=M(e,r);n=[...n,...o]}),n},"sorter"),oe=w(e=>M(e,e.children()),"sortNodesByHierarchy"),Y=w(async(e,t,n,c,r,o)=>{i.warn("Graph in recursive render:XAX",h(t),r);const l=t.graph().rankdir;i.trace("Dir in recursive render - dir:",l);const u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));const a=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),v=u.insert("g").attr("class","edgeLabels"),X=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){const s=t.node(f);if(r!==void 0){const g=JSON.parse(JSON.stringify(r.clusterData));i.trace(`Setting data for parent cluster XXX
1
+ import{bE as w,cY as j,cZ as F,c_ as _,c$ as H,bL as i,bJ as U,d0 as V,d1 as $,cP as Q,cU as Z,cQ as P,cO as q,d2 as z,d3 as K,d4 as W}from"./index-B7GqH6If.js";import{i as b,G as B}from"./graph-D9RB6DwV.js";import{l as L}from"./layout-DFWNR-Y1.js";import{c as I}from"./clone-B4FGNCC9.js";import{m as A}from"./min-CRMSN7nx.js";import"./_baseUniq-iT192ZJn.js";function h(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ee(e),edges:ne(e)};return b(e.graph())||(t.value=I(e.graph())),t}function ee(e){return A(e.nodes(),function(t){var n=e.node(t),c=e.parent(t),r={v:t};return b(n)||(r.value=n),b(c)||(r.parent=c),r})}function ne(e){return A(e.edges(),function(t){var n=e.edge(t),c={v:t.v,w:t.w};return b(t.name)||(c.name=t.name),b(n)||(c.value=n),c})}var d=new Map,p=new Map,J=new Map,te=w(()=>{p.clear(),J.clear(),d.clear()},"clear"),D=w((e,t)=>{const n=p.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),se=w((e,t)=>{const n=p.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||D(e.v,t)||D(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),G=w((e,t,n,c)=>{i.warn("Copying children of ",e,"root",c,"data",t.node(e),c);const r=t.children(e)||[];e!==c&&r.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach(o=>{if(t.children(o).length>0)G(o,t,n,c);else{const l=t.node(o);i.info("cp ",o," to ",c," with parent ",e),n.setNode(o,l),c!==t.parent(o)&&(i.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==c&&o!==e?(i.debug("Setting parent",o,e),n.setParent(o,e)):(i.info("In copy ",e,"root",c,"data",t.node(e),c),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==c,"node!==clusterId",o!==e));const u=t.edges(o);i.debug("Copying Edges",u),u.forEach(a=>{i.info("Edge",a);const m=t.edge(a.v,a.w,a.name);i.info("Edge data",m,c);try{se(a,c)?(i.info("Copying as ",a.v,a.w,m,a.name),n.setEdge(a.v,a.w,m,a.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",a.v,"-->",a.w," rootId: ",c," clusterId:",e)}catch(v){i.error(v)}})}i.debug("Removing node",o),t.removeNode(o)})},"copy"),R=w((e,t)=>{const n=t.children(e);let c=[...n];for(const r of n)J.set(r,e),c=[...c,...R(r,t)];return c},"extractDescendants"),ie=w((e,t,n)=>{const c=e.edges().filter(a=>a.v===t||a.w===t),r=e.edges().filter(a=>a.v===n||a.w===n),o=c.map(a=>({v:a.v===t?n:a.v,w:a.w===t?t:a.w})),l=r.map(a=>({v:a.v,w:a.w}));return o.filter(a=>l.some(m=>a.v===m.v&&a.w===m.w))},"findCommonEdges"),C=w((e,t,n)=>{const c=t.children(e);if(i.trace("Searching children of id ",e,c),c.length<1)return e;let r;for(const o of c){const l=C(o,t,n),u=ie(t,n,l);if(l)if(u.length>0)r=l;else return l}return r},"findNonClusterChild"),k=w(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),re=w((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),p.set(n,R(n,e)),d.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const c=e.children(n),r=e.edges();c.length>0?(i.debug("Cluster identified",n,p),r.forEach(o=>{const l=D(o.v,n),u=D(o.w,n);l^u&&(i.warn("Edge: ",o," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",p.get(n)),d.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,p)});for(let n of d.keys()){const c=d.get(n).id,r=e.parent(c);r!==n&&d.has(r)&&!d.get(r).externalConnections&&(d.get(n).id=r)}e.edges().forEach(function(n){const c=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let r=n.v,o=n.w;if(i.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),r=k(n.v),o=k(n.w),e.removeEdge(n.v,n.w,n.name),r!==n.v){const l=e.parent(r);d.get(l).externalConnections=!0,c.fromCluster=n.v}if(o!==n.w){const l=e.parent(o);d.get(l).externalConnections=!0,c.toCluster=n.w}i.warn("Fix Replacing with XXX",r,o,n.name),e.setEdge(r,o,c,n.name)}}),i.warn("Adjusted Graph",h(e)),T(e,0),i.trace(d)},"adjustClustersAndEdges"),T=w((e,t)=>{if(i.warn("extractor - ",t,h(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),c=!1;for(const r of n){const o=e.children(r);c=c||o.length>0}if(!c){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const r of n)if(i.debug("Extracting node",r,d,d.has(r)&&!d.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!d.has(r))i.debug("Not a cluster",r,t);else if(!d.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){i.warn("Cluster without external connections, without a parent and with children",r,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(r)?.clusterData?.dir&&(l=d.get(r).clusterData.dir,i.warn("Fixing dir",d.get(r).clusterData.dir,l));const u=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",h(e)),G(r,e,u,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:d.get(r).clusterData,label:d.get(r).label,graph:u}),i.warn("New graph after copy node: (",r,")",h(u)),i.debug("Old graph after copy",h(e))}else i.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!d.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),i.debug(d);n=e.nodes(),i.warn("New list of nodes",n);for(const r of n){const o=e.node(r);i.warn(" Now next level",r,o),o?.clusterNode&&T(o.graph,t+1)}},"extractor"),M=w((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(c=>{const r=e.children(c),o=M(e,r);n=[...n,...o]}),n},"sorter"),oe=w(e=>M(e,e.children()),"sortNodesByHierarchy"),Y=w(async(e,t,n,c,r,o)=>{i.warn("Graph in recursive render:XAX",h(t),r);const l=t.graph().rankdir;i.trace("Dir in recursive render - dir:",l);const u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));const a=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),v=u.insert("g").attr("class","edgeLabels"),X=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){const s=t.node(f);if(r!==void 0){const g=JSON.parse(JSON.stringify(r.clusterData));i.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,f,`
3
3
  data=`,g.height,`
4
4
  Parent cluster`,r.height),t.setNode(r.id,g),t.parent(f)||(i.trace("Setting parent",f,r.id),t.setParent(f,r.id,g))}if(i.info("(Insert) Node XXX"+f+": "+JSON.stringify(t.node(f))),s?.clusterNode){i.info("Cluster identified XBX",f,s.width,t.node(f));const{ranksep:g,nodesep:E}=t.graph();s.graph.setGraph({...s.graph.graph(),ranksep:g+25,nodesep:E});const N=await Y(X,s.graph,n,c,t.node(f),o),x=N.elem;V(s,x),s.diff=N.diff||0,i.info("New compound node after recursive render XAX",f,"width",s.width,"height",s.height),$(x,s)}else t.children(f).length>0?(i.trace("Cluster - the non recursive path XBX",f,s.id,s,s.width,"Graph:",t),i.trace(C(s.id,t)),d.set(s.id,{id:C(s.id,t),node:s})):(i.trace("Node - the non recursive path XAX",f,X,t.node(f),l),await Q(X,t.node(f),{config:o,dir:l}))})),await w(async()=>{const f=t.edges().map(async function(s){const g=t.edge(s.v,s.w,s.name);i.info("Edge "+s.v+" -> "+s.w+": "+JSON.stringify(s)),i.info("Edge "+s.v+" -> "+s.w+": ",s," ",JSON.stringify(t.edge(s))),i.info("Fix",d,"ids:",s.v,s.w,"Translating: ",d.get(s.v),d.get(s.w)),await W(v,g)});await Promise.all(f)},"processEdges")(),i.info("Graph before layout:",JSON.stringify(h(t))),i.info("############################################# XXX"),i.info("### Layout ### XXX"),i.info("############################################# XXX"),L(t),i.info("Graph after layout:",JSON.stringify(h(t)));let O=0,{subGraphTitleTotalMargin:S}=Z(o);return await Promise.all(oe(t).map(async function(f){const s=t.node(f);if(i.info("Position XBX => "+f+": ("+s.x,","+s.y,") width: ",s.width," height: ",s.height),s?.clusterNode)s.y+=S,i.info("A tainted cluster node XBX1",f,s.id,s.width,s.height,s.x,s.y,t.parent(f)),d.get(s.id).node=s,P(s);else if(t.children(f).length>0){i.info("A pure cluster node XBX1",f,s.id,s.x,s.y,s.width,s.height,t.parent(f)),s.height+=S,t.node(s.parentId);const g=s?.padding/2||0,E=s?.labelBBox?.height||0,N=E-g||0;i.debug("OffsetY",N,"labelHeight",E,"halfPadding",g),await q(a,s),d.get(s.id).node=s}else{const g=t.node(s.parentId);s.y+=S/2,i.info("A regular node XBX1 - using the padding",s.id,"parent",s.parentId,s.width,s.height,s.x,s.y,"offsetY",s.offsetY,"parent",g,g?.offsetY,s),P(s)}})),t.edges().forEach(function(f){const s=t.edge(f);i.info("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(s),s),s.points.forEach(x=>x.y+=S/2);const g=t.node(f.v);var E=t.node(f.w);const N=z(m,s,d,n,g,E,c);K(s,N)}),t.nodes().forEach(function(f){const s=t.node(f);i.info(f,s.type,s.diff),s.isGroup&&(O=s.diff)}),i.warn("Returning from recursive render XAX",u,O),{elem:u,diff:O}},"recursiveRender"),ge=w(async(e,t)=>{const n=new B({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),c=t.select("g");j(c,e.markers,e.type,e.diagramId),F(),_(),H(),te(),e.nodes.forEach(o=>{n.setNode(o.id,{...o}),o.parentId&&n.setParent(o.id,o.parentId)}),i.debug("Edges:",e.edges),e.edges.forEach(o=>{if(o.start===o.end){const l=o.start,u=l+"---"+l+"---1",a=l+"---"+l+"---2",m=n.node(l);n.setNode(u,{domId:u,id:u,parentId:m.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(u,m.parentId),n.setNode(a,{domId:a,id:a,parentId:m.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(a,m.parentId);const v=structuredClone(o),X=structuredClone(o),y=structuredClone(o);v.label="",v.arrowTypeEnd="none",v.id=l+"-cyclic-special-1",X.arrowTypeStart="none",X.arrowTypeEnd="none",X.id=l+"-cyclic-special-mid",y.label="",m.isGroup&&(v.fromCluster=l,y.toCluster=l),y.id=l+"-cyclic-special-2",y.arrowTypeStart="none",n.setEdge(l,u,v,l+"-cyclic-special-0"),n.setEdge(u,a,X,l+"-cyclic-special-1"),n.setEdge(a,l,y,l+"-cyc<lic-special-2")}else n.setEdge(o.start,o.end,{...o},o.id)}),i.warn("Graph at first:",JSON.stringify(h(n))),re(n),i.warn("Graph after XAX:",JSON.stringify(h(n)));const r=U();await Y(c,n,e.type,e.diagramId,void 0,r)},"render");export{ge as render};
@@ -0,0 +1,4 @@
1
+ import{H as h,X as M,s as L,u as F,a as j,z as a,b as H,P as Y,o as z,v as Z,C as _,k as $,l as D,c as q,L as K,T as Q}from"./index-B7GqH6If.js";import{X as k,_ as b}from"./graph-Da1z0n_J-yJ-tLMG7.js";import{B as U}from"./layout-BoJlbrAK-CAQ1YqzH.js";import{a as V}from"./clone-Ctm6tjrV-cgncjIrI.js";import{M as G}from"./min-C8aXS73f-D0DvW8t2.js";import"./_baseUniq-D7Jo4wA--B2TRxPWE.js";function w(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:W(e),edges:ee(e)};return b(e.graph())||(r.value=V(e.graph())),r}function W(e){return G(e.nodes(),function(r){var n=e.node(r),s=e.parent(r),i={v:r};return b(n)||(i.value=n),b(s)||(i.parent=s),i})}function ee(e){return G(e.edges(),function(r){var n=e.edge(r),s={v:r.v,w:r.w};return b(r.name)||(s.name=r.name),b(n)||(s.value=n),s})}var o=new Map,X=new Map,P=new Map,ne=h(()=>{X.clear(),P.clear(),o.clear()},"clear"),x=h((e,r)=>{const n=X.get(r)||[];return a.trace("In isDescendant",r," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),re=h((e,r)=>{const n=X.get(r)||[];return a.info("Descendants of ",r," is ",n),a.info("Edge is ",e),e.v===r||e.w===r?!1:n?n.includes(e.v)||x(e.v,r)||x(e.w,r)||n.includes(e.w):(a.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),B=h((e,r,n,s)=>{a.warn("Copying children of ",e,"root",s,"data",r.node(e),s);const i=r.children(e)||[];e!==s&&i.push(e),a.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(d=>{if(r.children(d).length>0)B(d,r,n,s);else{const c=r.node(d);a.info("cp ",d," to ",s," with parent ",e),n.setNode(d,c),s!==r.parent(d)&&(a.warn("Setting parent",d,r.parent(d)),n.setParent(d,r.parent(d))),e!==s&&d!==e?(a.debug("Setting parent",d,e),n.setParent(d,e)):(a.info("In copy ",e,"root",s,"data",r.node(e),s),a.debug("Not Setting parent for node=",d,"cluster!==rootId",e!==s,"node!==clusterId",d!==e));const g=r.edges(d);a.debug("Copying Edges",g),g.forEach(u=>{a.info("Edge",u);const f=r.edge(u.v,u.w,u.name);a.info("Edge data",f,s);try{re(u,s)?(a.info("Copying as ",u.v,u.w,f,u.name),n.setEdge(u.v,u.w,f,u.name),a.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):a.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",s," clusterId:",e)}catch(v){a.error(v)}})}a.debug("Removing node",d),r.removeNode(d)})},"copy"),T=h((e,r)=>{const n=r.children(e);let s=[...n];for(const i of n)P.set(i,e),s=[...s,...T(i,r)];return s},"extractDescendants"),te=h((e,r,n)=>{const s=e.edges().filter(g=>g.v===r||g.w===r),i=e.edges().filter(g=>g.v===n||g.w===n),d=s.map(g=>({v:g.v===r?n:g.v,w:g.w===r?r:g.w})),c=i.map(g=>({v:g.v,w:g.w}));return d.filter(g=>c.some(u=>g.v===u.v&&g.w===u.w))},"findCommonEdges"),C=h((e,r,n)=>{const s=r.children(e);if(a.trace("Searching children of id ",e,s),s.length<1)return e;let i;for(const d of s){const c=C(d,r,n),g=te(r,n,c);if(c)if(g.length>0)i=c;else return c}return i},"findNonClusterChild"),O=h(e=>!o.has(e)||!o.get(e).externalConnections?e:o.has(e)?o.get(e).id:e,"getAnchorId"),ae=h((e,r)=>{if(!e||r>10){a.debug("Opting out, no graph ");return}else a.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(a.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),X.set(n,T(n,e)),o.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const s=e.children(n),i=e.edges();s.length>0?(a.debug("Cluster identified",n,X),i.forEach(d=>{const c=x(d.v,n),g=x(d.w,n);c^g&&(a.warn("Edge: ",d," leaves cluster ",n),a.warn("Descendants of XXX ",n,": ",X.get(n)),o.get(n).externalConnections=!0)})):a.debug("Not a cluster ",n,X)});for(let n of o.keys()){const s=o.get(n).id,i=e.parent(s);i!==n&&o.has(i)&&!o.get(i).externalConnections&&(o.get(n).id=i)}e.edges().forEach(function(n){const s=e.edge(n);a.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),a.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,d=n.w;if(a.warn("Fix XXX",o,"ids:",n.v,n.w,"Translating: ",o.get(n.v)," --- ",o.get(n.w)),o.get(n.v)||o.get(n.w)){if(a.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),i=O(n.v),d=O(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const c=e.parent(i);o.get(c).externalConnections=!0,s.fromCluster=n.v}if(d!==n.w){const c=e.parent(d);o.get(c).externalConnections=!0,s.toCluster=n.w}a.warn("Fix Replacing with XXX",i,d,n.name),e.setEdge(i,d,s,n.name)}}),a.warn("Adjusted Graph",w(e)),J(e,0),a.trace(o)},"adjustClustersAndEdges"),J=h((e,r)=>{if(a.warn("extractor - ",r,w(e),e.children("D")),r>10){a.error("Bailing out");return}let n=e.nodes(),s=!1;for(const i of n){const d=e.children(i);s=s||d.length>0}if(!s){a.debug("Done, no node has children",e.nodes());return}a.debug("Nodes = ",n,r);for(const i of n)if(a.debug("Extracting node",i,o,o.has(i)&&!o.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",r),!o.has(i))a.debug("Not a cluster",i,r);else if(!o.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){a.warn("Cluster without external connections, without a parent and with children",i,r);let d=e.graph().rankdir==="TB"?"LR":"TB";o.get(i)?.clusterData?.dir&&(d=o.get(i).clusterData.dir,a.warn("Fixing dir",o.get(i).clusterData.dir,d));const c=new k({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});a.warn("Old graph before copy",w(e)),B(i,e,c,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:o.get(i).clusterData,label:o.get(i).label,graph:c}),a.warn("New graph after copy node: (",i,")",w(c)),a.debug("Old graph after copy",w(e))}else a.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!o.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),r),a.debug(o);n=e.nodes(),a.warn("New list of nodes",n);for(const i of n){const d=e.node(i);a.warn(" Now next level",i,d),d?.clusterNode&&J(d.graph,r+1)}},"extractor"),A=h((e,r)=>{if(r.length===0)return[];let n=Object.assign([],r);return r.forEach(s=>{const i=e.children(s),d=A(e,i);n=[...n,...d]}),n},"sorter"),ie=h(e=>A(e,e.children()),"sortNodesByHierarchy"),R=h(async(e,r,n,s,i,d)=>{a.warn("Graph in recursive render:XAX",w(r),i);const c=r.graph().rankdir;a.trace("Dir in recursive render - dir:",c);const g=e.insert("g").attr("class","root");r.nodes()?a.info("Recursive render XXX",r.nodes()):a.info("No nodes found for",r),r.edges().length>0&&a.info("Recursive edges",r.edge(r.edges()[0]));const u=g.insert("g").attr("class","clusters"),f=g.insert("g").attr("class","edgePaths"),v=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(r.nodes().map(async function(l){const t=r.node(l);if(i!==void 0){const p=JSON.parse(JSON.stringify(i.clusterData));a.trace(`Setting data for parent cluster XXX
2
+ Node.id = `,l,`
3
+ data=`,p.height,`
4
+ Parent cluster`,i.height),r.setNode(i.id,p),r.parent(l)||(a.trace("Setting parent",l,i.id),r.setParent(l,i.id,p))}if(a.info("(Insert) Node XXX"+l+": "+JSON.stringify(r.node(l))),t?.clusterNode){a.info("Cluster identified XBX",l,t.width,r.node(l));const{ranksep:p,nodesep:N}=r.graph();t.graph.setGraph({...t.graph.graph(),ranksep:p+25,nodesep:N});const E=await R(y,t.graph,n,s,r.node(l),d),S=E.elem;Y(t,S),t.diff=E.diff||0,a.info("New compound node after recursive render XAX",l,"width",t.width,"height",t.height),z(S,t)}else r.children(l).length>0?(a.trace("Cluster - the non recursive path XBX",l,t.id,t,t.width,"Graph:",r),a.trace(C(t.id,r)),o.set(t.id,{id:C(t.id,r),node:t})):(a.trace("Node - the non recursive path XAX",l,y,r.node(l),c),await Z(y,r.node(l),{config:d,dir:c}))})),await h(async()=>{const l=r.edges().map(async function(t){const p=r.edge(t.v,t.w,t.name);a.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),a.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(r.edge(t))),a.info("Fix",o,"ids:",t.v,t.w,"Translating: ",o.get(t.v),o.get(t.w)),await _(v,p)});await Promise.all(l)},"processEdges")(),a.info("Graph before layout:",JSON.stringify(w(r))),a.info("############################################# XXX"),a.info("### Layout ### XXX"),a.info("############################################# XXX"),U(r),a.info("Graph after layout:",JSON.stringify(w(r)));let m=0,{subGraphTitleTotalMargin:I}=$(d);return await Promise.all(ie(r).map(async function(l){const t=r.node(l);if(a.info("Position XBX => "+l+": ("+t.x,","+t.y,") width: ",t.width," height: ",t.height),t?.clusterNode)t.y+=I,a.info("A tainted cluster node XBX1",l,t.id,t.width,t.height,t.x,t.y,r.parent(l)),o.get(t.id).node=t,D(t);else if(r.children(l).length>0){a.info("A pure cluster node XBX1",l,t.id,t.x,t.y,t.width,t.height,r.parent(l)),t.height+=I,r.node(t.parentId);const p=t?.padding/2||0,N=t?.labelBBox?.height||0,E=N-p||0;a.debug("OffsetY",E,"labelHeight",N,"halfPadding",p),await q(u,t),o.get(t.id).node=t}else{const p=r.node(t.parentId);t.y+=I/2,a.info("A regular node XBX1 - using the padding",t.id,"parent",t.parentId,t.width,t.height,t.x,t.y,"offsetY",t.offsetY,"parent",p,p?.offsetY,t),D(t)}})),r.edges().forEach(function(l){const t=r.edge(l);a.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(t),t),t.points.forEach(S=>S.y+=I/2);const p=r.node(l.v);var N=r.node(l.w);const E=K(f,t,o,n,p,N,s);Q(t,E)}),r.nodes().forEach(function(l){const t=r.node(l);a.info(l,t.type,t.diff),t.isGroup&&(m=t.diff)}),a.warn("Returning from recursive render XAX",g,m),{elem:g,diff:m}},"recursiveRender"),ue=h(async(e,r)=>{const n=new k({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),s=r.select("g");M(s,e.markers,e.type,e.diagramId),L(),F(),j(),ne(),e.nodes.forEach(d=>{n.setNode(d.id,{...d}),d.parentId&&n.setParent(d.id,d.parentId)}),a.debug("Edges:",e.edges),e.edges.forEach(d=>{if(d.start===d.end){const c=d.start,g=c+"---"+c+"---1",u=c+"---"+c+"---2",f=n.node(c);n.setNode(g,{domId:g,id:g,parentId:f.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(g,f.parentId),n.setNode(u,{domId:u,id:u,parentId:f.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(u,f.parentId);const v=structuredClone(d),y=structuredClone(d),m=structuredClone(d);v.label="",v.arrowTypeEnd="none",v.id=c+"-cyclic-special-1",y.arrowTypeStart="none",y.arrowTypeEnd="none",y.id=c+"-cyclic-special-mid",m.label="",f.isGroup&&(v.fromCluster=c,m.toCluster=c),m.id=c+"-cyclic-special-2",m.arrowTypeStart="none",n.setEdge(c,g,v,c+"-cyclic-special-0"),n.setEdge(g,u,y,c+"-cyclic-special-1"),n.setEdge(u,c,m,c+"-cyc<lic-special-2")}else n.setEdge(d.start,d.end,{...d},d.id)}),a.warn("Graph at first:",JSON.stringify(w(n))),ae(n),a.warn("Graph after XAX:",JSON.stringify(w(n)));const i=H();await R(s,n,e.type,e.diagramId,void 0,i)},"render");export{ue as render};
@@ -1,4 +1,4 @@
1
- import{bE as w,ca as te,cb as ae,ce as he,bM as ue,d_ as O,bL as J,d6 as U,d$ as P,bK as Y,bI as pe,bH as fe,bZ as ge,b_ as me,bG as ye,bF as Se,cc as ve,e0 as xe,c3 as be}from"./index-BXRJOAs4.js";import{s as we}from"./chunk-QN33PNHL-CHu6LVbN.js";import{p as Ce}from"./chunk-4BX2VUAB-CVAs-OQz.js";import{p as Te}from"./treemap-KMMF4GRG-Bj5u1csA.js";import"./min-USsdh-HW.js";import"./_baseUniq--5gbTAb8.js";function Le(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function $e(){return this.eachAfter(Le)}function Ae(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function Fe(t,a){for(var l=this,n=[l],o,s,d=-1;l=n.pop();)if(t.call(a,l,++d,this),o=l.children)for(s=o.length-1;s>=0;--s)n.push(o[s]);return this}function ke(t,a){for(var l=this,n=[l],o=[],s,d,h,g=-1;l=n.pop();)if(o.push(l),s=l.children)for(d=0,h=s.length;d<h;++d)n.push(s[d]);for(;l=o.pop();)t.call(a,l,++g,this);return this}function Me(t,a){let l=-1;for(const n of this)if(t.call(a,n,++l,this))return n}function Ne(t){return this.eachAfter(function(a){for(var l=+t(a.data)||0,n=a.children,o=n&&n.length;--o>=0;)l+=n[o].value;a.value=l})}function _e(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function ze(t){for(var a=this,l=Ve(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var o=n.length;t!==l;)n.splice(o,0,t),t=t.parent;return n}function Ve(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),o=null;for(t=l.pop(),a=n.pop();t===a;)o=t,t=l.pop(),a=n.pop();return o}function De(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Pe(){return Array.from(this)}function Be(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ee(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*Re(){var t=this,a,l=[t],n,o,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(o=0,s=n.length;o<s;++o)l.push(n[o]);while(l.length)}function Q(t,a){t instanceof Map?(t=[void 0,t],a===void 0&&(a=Ie)):a===void 0&&(a=He);for(var l=new Z(t),n,o=[l],s,d,h,g;n=o.pop();)if((d=a(n.data))&&(g=(d=Array.from(d)).length))for(n.children=d,h=g-1;h>=0;--h)o.push(s=d[h]=new Z(d[h])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Ge)}function We(){return Q(this).eachBefore(Oe)}function He(t){return t.children}function Ie(t){return Array.isArray(t)?t[1]:null}function Oe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ge(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Z(t){this.data=t,this.depth=this.height=0,this.parent=null}Z.prototype=Q.prototype={constructor:Z,count:$e,each:Ae,eachAfter:ke,eachBefore:Fe,find:Me,sum:Ne,sort:_e,path:ze,ancestors:De,descendants:Pe,leaves:Be,links:Ee,copy:We,[Symbol.iterator]:Re};function qe(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function q(t){return function(){return t}}function Xe(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function je(t,a,l,n,o){for(var s=t.children,d,h=-1,g=s.length,c=t.value&&(n-a)/t.value;++h<g;)d=s[h],d.y0=l,d.y1=o,d.x0=a,d.x1=a+=d.value*c}function Ye(t,a,l,n,o){for(var s=t.children,d,h=-1,g=s.length,c=t.value&&(o-l)/t.value;++h<g;)d=s[h],d.x0=a,d.x1=n,d.y0=l,d.y1=l+=d.value*c}var Ze=(1+Math.sqrt(5))/2;function Ke(t,a,l,n,o,s){for(var d=[],h=a.children,g,c,u=0,b=0,r=h.length,x,S,v=a.value,p,m,M,k,V,R,N;u<r;){x=o-l,S=s-n;do p=h[b++].value;while(!p&&b<r);for(m=M=p,R=Math.max(S/x,x/S)/(v*t),N=p*p*R,V=Math.max(M/N,N/m);b<r;++b){if(p+=c=h[b].value,c<m&&(m=c),c>M&&(M=c),N=p*p*R,k=Math.max(M/N,N/m),k>V){p-=c;break}V=k}d.push(g={value:p,dice:x<S,children:h.slice(u,b)}),g.dice?je(g,l,n,o,v?n+=S*p/v:s):Ye(g,l,n,v?l+=x*p/v:o,s),v-=p,u=b}return d}const Ue=(function t(a){function l(n,o,s,d,h){Ke(a,n,o,s,d,h)}return l.ratio=function(n){return t((n=+n)>1?n:1)},l})(Ze);function Je(){var t=Ue,a=!1,l=1,n=1,o=[0],s=G,d=G,h=G,g=G,c=G;function u(r){return r.x0=r.y0=0,r.x1=l,r.y1=n,r.eachBefore(b),o=[0],a&&r.eachBefore(Xe),r}function b(r){var x=o[r.depth],S=r.x0+x,v=r.y0+x,p=r.x1-x,m=r.y1-x;p<S&&(S=p=(S+p)/2),m<v&&(v=m=(v+m)/2),r.x0=S,r.y0=v,r.x1=p,r.y1=m,r.children&&(x=o[r.depth+1]=s(r)/2,S+=c(r)-x,v+=d(r)-x,p-=h(r)-x,m-=g(r)-x,p<S&&(S=p=(S+p)/2),m<v&&(v=m=(v+m)/2),t(r,S,v,p,m))}return u.round=function(r){return arguments.length?(a=!!r,u):a},u.size=function(r){return arguments.length?(l=+r[0],n=+r[1],u):[l,n]},u.tile=function(r){return arguments.length?(t=qe(r),u):t},u.padding=function(r){return arguments.length?u.paddingInner(r).paddingOuter(r):u.paddingInner()},u.paddingInner=function(r){return arguments.length?(s=typeof r=="function"?r:q(+r),u):s},u.paddingOuter=function(r){return arguments.length?u.paddingTop(r).paddingRight(r).paddingBottom(r).paddingLeft(r):u.paddingTop()},u.paddingTop=function(r){return arguments.length?(d=typeof r=="function"?r:q(+r),u):d},u.paddingRight=function(r){return arguments.length?(h=typeof r=="function"?r:q(+r),u):h},u.paddingBottom=function(r){return arguments.length?(g=typeof r=="function"?r:q(+r),u):g},u.paddingLeft=function(r){return arguments.length?(c=typeof r=="function"?r:q(+r),u):c},u}var E,ne=(E=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=pe,this.getAccTitle=fe,this.setDiagramTitle=ge,this.getDiagramTitle=me,this.getAccDescription=ye,this.setAccDescription=Se}getNodes(){return this.nodes}getConfig(){const a=ve,l=ae();return te({...a.treemap,...l.treemap??{}})}addNode(a,l){this.nodes.push(a),this.levels.set(a,l),l===0&&(this.outerNodes.push(a),this.root??=a)}getRoot(){return{name:"",children:this.outerNodes}}addClass(a,l){const n=this.classes.get(a)??{id:a,styles:[],textStyles:[]},o=l.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");o&&o.forEach(s=>{xe(s)&&(n?.textStyles?n.textStyles.push(s):n.textStyles=[s]),n?.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){return this.classes.get(a)?.styles??[]}clear(){be(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(E,"TreeMapDB"),E);function le(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const o={name:n.name,children:n.type==="Leaf"?void 0:[]};for(o.classSelector=n?.classSelector,n?.cssCompiledStyles&&(o.cssCompiledStyles=[n.cssCompiledStyles]),n.type==="Leaf"&&n.value!==void 0&&(o.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(o);else{const s=l[l.length-1].node;s.children?s.children.push(o):s.children=[o]}n.type!=="Leaf"&&l.push({node:o,level:n.level})}),a}w(le,"buildHierarchy");var Qe=w((t,a)=>{Ce(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const d=s.item;if(!d)continue;const h=s.indent?parseInt(s.indent):0,g=et(d),c=d.classSelector?a.getStylesForClass(d.classSelector):[],u=c.length>0?c.join(";"):void 0,b={level:h,name:g,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:u};l.push(b)}const n=le(l),o=w((s,d)=>{for(const h of s)a.addNode(h,d),h.children&&h.children.length>0&&o(h.children,d+1)},"addNodesRecursively");o(n,0)},"populate"),et=w(t=>t.name?String(t.name):"","getItemName"),re={parser:{yy:void 0},parse:w(async t=>{try{const l=await Te("treemap",t);J.debug("Treemap AST:",l);const n=re.parser?.yy;if(!(n instanceof ne))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Qe(l,n)}catch(a){throw J.error("Error parsing treemap:",a),a}},"parse")},tt=10,B=10,X=25,at=w((t,a,l,n)=>{const o=n.db,s=o.getConfig(),d=s.padding??tt,h=o.getDiagramTitle(),g=o.getRoot(),{themeVariables:c}=ae();if(!g)return;const u=h?30:0,b=he(a),r=s.nodeWidth?s.nodeWidth*B:960,x=s.nodeHeight?s.nodeHeight*B:500,S=r,v=x+u;b.attr("viewBox",`0 0 ${S} ${v}`),ue(b,v,S,s.useMaxWidth);let p;try{const e=s.valueFormat||",";if(e==="$0,0")p=w(i=>"$"+O(",")(i),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const i=/\.\d+/.exec(e),f=i?i[0]:"";p=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const i=e.substring(1);p=w(f=>"$"+O(i||"")(f),"valueFormat")}else p=O(e)}catch(e){J.error("Error creating format function:",e),p=O(",")}const m=U().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),M=U().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),k=U().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);h&&b.append("text").attr("x",S/2).attr("y",u/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const V=b.append("g").attr("transform",`translate(0, ${u})`).attr("class","treemapContainer"),R=Q(g).sum(e=>e.value??0).sort((e,i)=>(i.value??0)-(e.value??0)),ee=Je().size([r,x]).paddingTop(e=>e.children&&e.children.length>0?X+B:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?B:0).paddingRight(e=>e.children&&e.children.length>0?B:0).paddingBottom(e=>e.children&&e.children.length>0?B:0).round(!0)(R),se=ee.descendants().filter(e=>e.children&&e.children.length>0),W=V.selectAll(".treemapSection").data(se).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",X).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),W.append("clipPath").attr("id",(e,i)=>`clip-section-${a}-${i}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",X),W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,i)=>`treemapSection section${i}`).attr("fill",e=>m(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>M(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const i=P({cssCompiledStyles:e.data.cssCompiledStyles});return i.nodeStyles+";"+i.borderStyles.join(";")}),W.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",X/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(e.depth===0)return"display: none;";const i="dominant-baseline: middle; font-size: 12px; fill:"+k(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const i=Y(this),f=e.data.name;i.text(f);const C=e.x1-e.x0,L=6;let $;s.showValues!==!1&&e.value?$=C-10-30-10-L:$=C-L-6;const A=Math.max(15,$),y=i.node();if(y.getComputedTextLength()>A){let T=f;for(;T.length>0;){if(T=f.substring(0,T.length-1),T.length===0){i.text("..."),y.getComputedTextLength()>A&&i.text("");break}if(i.text(T+"..."),y.getComputedTextLength()<=A)break}}}),s.showValues!==!1&&W.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",X/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?p(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const i="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+k(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")});const ie=ee.leaves(),j=V.selectAll(".treemapLeafGroup").data(ie).enter().append("g").attr("class",(e,i)=>`treemapNode treemapLeafGroup leaf${i}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);j.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?m(e.parent.data.name):m(e.data.name)).attr("style",e=>P({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?m(e.parent.data.name):m(e.data.name)).attr("stroke-width",3),j.append("clipPath").attr("id",(e,i)=>`clip-${a}-${i}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),j.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const i="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+k(e.data.name)+";",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,i)=>`url(#clip-${a}-${i})`).text(e=>e.data.name).each(function(e){const i=Y(this),f=e.x1-e.x0,C=e.y1-e.y0,L=i.node(),$=4,D=f-2*$,A=C-2*$;if(D<10||A<10){i.style("display","none");return}let y=parseInt(i.style("font-size"),10);const _=8,F=28,T=.6,z=6,H=2;for(;L.getComputedTextLength()>D&&y>_;)y--,i.style("font-size",`${y}px`);let I=Math.max(z,Math.min(F,Math.round(y*T))),K=y+H+I;for(;K>A&&y>_&&(y--,I=Math.max(z,Math.min(F,Math.round(y*T))),!(I<z&&y===_));)i.style("font-size",`${y}px`),K=y+H+I;i.style("font-size",`${y}px`),(L.getComputedTextLength()>D||y<_||A<y)&&i.style("display","none")}),s.showValues!==!1&&j.append("text").attr("class","treemapValue").attr("x",i=>(i.x1-i.x0)/2).attr("y",function(i){return(i.y1-i.y0)/2}).attr("style",i=>{const f="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+k(i.data.name)+";",C=P({cssCompiledStyles:i.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(i,f)=>`url(#clip-${a}-${f})`).text(i=>i.value?p(i.value):"").each(function(i){const f=Y(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=Y(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const $=parseFloat(L.style("font-size")),D=28,A=.6,y=6,_=2,F=Math.max(y,Math.min(D,Math.round($*A)));f.style("font-size",`${F}px`);const z=(i.y1-i.y0)/2+$/2+_;f.attr("y",z);const H=i.x1-i.x0,ce=i.y1-i.y0-4,de=H-8;f.node().getComputedTextLength()>de||z+F>ce||F<y?f.style("display","none"):f.style("display",null)});const oe=s.diagramPadding??8;we(b,oe,"flowchart",s?.useMaxWidth||!1)},"draw"),nt=w(function(t,a){return a.db.getClasses()},"getClasses"),lt={draw:at,getClasses:nt},rt={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},st=w(({treemap:t}={})=>{const a=te(rt,t);return`
1
+ import{bE as w,ca as te,cb as ae,ce as he,bM as ue,d_ as O,bL as J,d6 as U,d$ as P,bK as Y,bI as pe,bH as fe,bZ as ge,b_ as me,bG as ye,bF as Se,cc as ve,e0 as xe,c3 as be}from"./index-B7GqH6If.js";import{s as we}from"./chunk-QN33PNHL-xEzemp3c.js";import{p as Ce}from"./chunk-4BX2VUAB-BWm6jvkB.js";import{p as Te}from"./treemap-KMMF4GRG-DfaADvmb.js";import"./min-CRMSN7nx.js";import"./_baseUniq-iT192ZJn.js";function Le(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function $e(){return this.eachAfter(Le)}function Ae(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function Fe(t,a){for(var l=this,n=[l],o,s,d=-1;l=n.pop();)if(t.call(a,l,++d,this),o=l.children)for(s=o.length-1;s>=0;--s)n.push(o[s]);return this}function ke(t,a){for(var l=this,n=[l],o=[],s,d,h,g=-1;l=n.pop();)if(o.push(l),s=l.children)for(d=0,h=s.length;d<h;++d)n.push(s[d]);for(;l=o.pop();)t.call(a,l,++g,this);return this}function Me(t,a){let l=-1;for(const n of this)if(t.call(a,n,++l,this))return n}function Ne(t){return this.eachAfter(function(a){for(var l=+t(a.data)||0,n=a.children,o=n&&n.length;--o>=0;)l+=n[o].value;a.value=l})}function _e(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function ze(t){for(var a=this,l=Ve(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var o=n.length;t!==l;)n.splice(o,0,t),t=t.parent;return n}function Ve(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),o=null;for(t=l.pop(),a=n.pop();t===a;)o=t,t=l.pop(),a=n.pop();return o}function De(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Pe(){return Array.from(this)}function Be(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ee(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*Re(){var t=this,a,l=[t],n,o,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(o=0,s=n.length;o<s;++o)l.push(n[o]);while(l.length)}function Q(t,a){t instanceof Map?(t=[void 0,t],a===void 0&&(a=Ie)):a===void 0&&(a=He);for(var l=new Z(t),n,o=[l],s,d,h,g;n=o.pop();)if((d=a(n.data))&&(g=(d=Array.from(d)).length))for(n.children=d,h=g-1;h>=0;--h)o.push(s=d[h]=new Z(d[h])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Ge)}function We(){return Q(this).eachBefore(Oe)}function He(t){return t.children}function Ie(t){return Array.isArray(t)?t[1]:null}function Oe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ge(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Z(t){this.data=t,this.depth=this.height=0,this.parent=null}Z.prototype=Q.prototype={constructor:Z,count:$e,each:Ae,eachAfter:ke,eachBefore:Fe,find:Me,sum:Ne,sort:_e,path:ze,ancestors:De,descendants:Pe,leaves:Be,links:Ee,copy:We,[Symbol.iterator]:Re};function qe(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function q(t){return function(){return t}}function Xe(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function je(t,a,l,n,o){for(var s=t.children,d,h=-1,g=s.length,c=t.value&&(n-a)/t.value;++h<g;)d=s[h],d.y0=l,d.y1=o,d.x0=a,d.x1=a+=d.value*c}function Ye(t,a,l,n,o){for(var s=t.children,d,h=-1,g=s.length,c=t.value&&(o-l)/t.value;++h<g;)d=s[h],d.x0=a,d.x1=n,d.y0=l,d.y1=l+=d.value*c}var Ze=(1+Math.sqrt(5))/2;function Ke(t,a,l,n,o,s){for(var d=[],h=a.children,g,c,u=0,b=0,r=h.length,x,S,v=a.value,p,m,M,k,V,R,N;u<r;){x=o-l,S=s-n;do p=h[b++].value;while(!p&&b<r);for(m=M=p,R=Math.max(S/x,x/S)/(v*t),N=p*p*R,V=Math.max(M/N,N/m);b<r;++b){if(p+=c=h[b].value,c<m&&(m=c),c>M&&(M=c),N=p*p*R,k=Math.max(M/N,N/m),k>V){p-=c;break}V=k}d.push(g={value:p,dice:x<S,children:h.slice(u,b)}),g.dice?je(g,l,n,o,v?n+=S*p/v:s):Ye(g,l,n,v?l+=x*p/v:o,s),v-=p,u=b}return d}const Ue=(function t(a){function l(n,o,s,d,h){Ke(a,n,o,s,d,h)}return l.ratio=function(n){return t((n=+n)>1?n:1)},l})(Ze);function Je(){var t=Ue,a=!1,l=1,n=1,o=[0],s=G,d=G,h=G,g=G,c=G;function u(r){return r.x0=r.y0=0,r.x1=l,r.y1=n,r.eachBefore(b),o=[0],a&&r.eachBefore(Xe),r}function b(r){var x=o[r.depth],S=r.x0+x,v=r.y0+x,p=r.x1-x,m=r.y1-x;p<S&&(S=p=(S+p)/2),m<v&&(v=m=(v+m)/2),r.x0=S,r.y0=v,r.x1=p,r.y1=m,r.children&&(x=o[r.depth+1]=s(r)/2,S+=c(r)-x,v+=d(r)-x,p-=h(r)-x,m-=g(r)-x,p<S&&(S=p=(S+p)/2),m<v&&(v=m=(v+m)/2),t(r,S,v,p,m))}return u.round=function(r){return arguments.length?(a=!!r,u):a},u.size=function(r){return arguments.length?(l=+r[0],n=+r[1],u):[l,n]},u.tile=function(r){return arguments.length?(t=qe(r),u):t},u.padding=function(r){return arguments.length?u.paddingInner(r).paddingOuter(r):u.paddingInner()},u.paddingInner=function(r){return arguments.length?(s=typeof r=="function"?r:q(+r),u):s},u.paddingOuter=function(r){return arguments.length?u.paddingTop(r).paddingRight(r).paddingBottom(r).paddingLeft(r):u.paddingTop()},u.paddingTop=function(r){return arguments.length?(d=typeof r=="function"?r:q(+r),u):d},u.paddingRight=function(r){return arguments.length?(h=typeof r=="function"?r:q(+r),u):h},u.paddingBottom=function(r){return arguments.length?(g=typeof r=="function"?r:q(+r),u):g},u.paddingLeft=function(r){return arguments.length?(c=typeof r=="function"?r:q(+r),u):c},u}var E,ne=(E=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=pe,this.getAccTitle=fe,this.setDiagramTitle=ge,this.getDiagramTitle=me,this.getAccDescription=ye,this.setAccDescription=Se}getNodes(){return this.nodes}getConfig(){const a=ve,l=ae();return te({...a.treemap,...l.treemap??{}})}addNode(a,l){this.nodes.push(a),this.levels.set(a,l),l===0&&(this.outerNodes.push(a),this.root??=a)}getRoot(){return{name:"",children:this.outerNodes}}addClass(a,l){const n=this.classes.get(a)??{id:a,styles:[],textStyles:[]},o=l.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");o&&o.forEach(s=>{xe(s)&&(n?.textStyles?n.textStyles.push(s):n.textStyles=[s]),n?.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){return this.classes.get(a)?.styles??[]}clear(){be(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(E,"TreeMapDB"),E);function le(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const o={name:n.name,children:n.type==="Leaf"?void 0:[]};for(o.classSelector=n?.classSelector,n?.cssCompiledStyles&&(o.cssCompiledStyles=[n.cssCompiledStyles]),n.type==="Leaf"&&n.value!==void 0&&(o.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(o);else{const s=l[l.length-1].node;s.children?s.children.push(o):s.children=[o]}n.type!=="Leaf"&&l.push({node:o,level:n.level})}),a}w(le,"buildHierarchy");var Qe=w((t,a)=>{Ce(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const d=s.item;if(!d)continue;const h=s.indent?parseInt(s.indent):0,g=et(d),c=d.classSelector?a.getStylesForClass(d.classSelector):[],u=c.length>0?c.join(";"):void 0,b={level:h,name:g,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:u};l.push(b)}const n=le(l),o=w((s,d)=>{for(const h of s)a.addNode(h,d),h.children&&h.children.length>0&&o(h.children,d+1)},"addNodesRecursively");o(n,0)},"populate"),et=w(t=>t.name?String(t.name):"","getItemName"),re={parser:{yy:void 0},parse:w(async t=>{try{const l=await Te("treemap",t);J.debug("Treemap AST:",l);const n=re.parser?.yy;if(!(n instanceof ne))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Qe(l,n)}catch(a){throw J.error("Error parsing treemap:",a),a}},"parse")},tt=10,B=10,X=25,at=w((t,a,l,n)=>{const o=n.db,s=o.getConfig(),d=s.padding??tt,h=o.getDiagramTitle(),g=o.getRoot(),{themeVariables:c}=ae();if(!g)return;const u=h?30:0,b=he(a),r=s.nodeWidth?s.nodeWidth*B:960,x=s.nodeHeight?s.nodeHeight*B:500,S=r,v=x+u;b.attr("viewBox",`0 0 ${S} ${v}`),ue(b,v,S,s.useMaxWidth);let p;try{const e=s.valueFormat||",";if(e==="$0,0")p=w(i=>"$"+O(",")(i),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const i=/\.\d+/.exec(e),f=i?i[0]:"";p=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const i=e.substring(1);p=w(f=>"$"+O(i||"")(f),"valueFormat")}else p=O(e)}catch(e){J.error("Error creating format function:",e),p=O(",")}const m=U().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),M=U().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),k=U().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);h&&b.append("text").attr("x",S/2).attr("y",u/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const V=b.append("g").attr("transform",`translate(0, ${u})`).attr("class","treemapContainer"),R=Q(g).sum(e=>e.value??0).sort((e,i)=>(i.value??0)-(e.value??0)),ee=Je().size([r,x]).paddingTop(e=>e.children&&e.children.length>0?X+B:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?B:0).paddingRight(e=>e.children&&e.children.length>0?B:0).paddingBottom(e=>e.children&&e.children.length>0?B:0).round(!0)(R),se=ee.descendants().filter(e=>e.children&&e.children.length>0),W=V.selectAll(".treemapSection").data(se).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",X).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),W.append("clipPath").attr("id",(e,i)=>`clip-section-${a}-${i}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",X),W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,i)=>`treemapSection section${i}`).attr("fill",e=>m(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>M(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const i=P({cssCompiledStyles:e.data.cssCompiledStyles});return i.nodeStyles+";"+i.borderStyles.join(";")}),W.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",X/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(e.depth===0)return"display: none;";const i="dominant-baseline: middle; font-size: 12px; fill:"+k(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const i=Y(this),f=e.data.name;i.text(f);const C=e.x1-e.x0,L=6;let $;s.showValues!==!1&&e.value?$=C-10-30-10-L:$=C-L-6;const A=Math.max(15,$),y=i.node();if(y.getComputedTextLength()>A){let T=f;for(;T.length>0;){if(T=f.substring(0,T.length-1),T.length===0){i.text("..."),y.getComputedTextLength()>A&&i.text("");break}if(i.text(T+"..."),y.getComputedTextLength()<=A)break}}}),s.showValues!==!1&&W.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",X/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?p(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const i="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+k(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")});const ie=ee.leaves(),j=V.selectAll(".treemapLeafGroup").data(ie).enter().append("g").attr("class",(e,i)=>`treemapNode treemapLeafGroup leaf${i}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);j.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?m(e.parent.data.name):m(e.data.name)).attr("style",e=>P({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?m(e.parent.data.name):m(e.data.name)).attr("stroke-width",3),j.append("clipPath").attr("id",(e,i)=>`clip-${a}-${i}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),j.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const i="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+k(e.data.name)+";",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,i)=>`url(#clip-${a}-${i})`).text(e=>e.data.name).each(function(e){const i=Y(this),f=e.x1-e.x0,C=e.y1-e.y0,L=i.node(),$=4,D=f-2*$,A=C-2*$;if(D<10||A<10){i.style("display","none");return}let y=parseInt(i.style("font-size"),10);const _=8,F=28,T=.6,z=6,H=2;for(;L.getComputedTextLength()>D&&y>_;)y--,i.style("font-size",`${y}px`);let I=Math.max(z,Math.min(F,Math.round(y*T))),K=y+H+I;for(;K>A&&y>_&&(y--,I=Math.max(z,Math.min(F,Math.round(y*T))),!(I<z&&y===_));)i.style("font-size",`${y}px`),K=y+H+I;i.style("font-size",`${y}px`),(L.getComputedTextLength()>D||y<_||A<y)&&i.style("display","none")}),s.showValues!==!1&&j.append("text").attr("class","treemapValue").attr("x",i=>(i.x1-i.x0)/2).attr("y",function(i){return(i.y1-i.y0)/2}).attr("style",i=>{const f="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+k(i.data.name)+";",C=P({cssCompiledStyles:i.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(i,f)=>`url(#clip-${a}-${f})`).text(i=>i.value?p(i.value):"").each(function(i){const f=Y(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=Y(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const $=parseFloat(L.style("font-size")),D=28,A=.6,y=6,_=2,F=Math.max(y,Math.min(D,Math.round($*A)));f.style("font-size",`${F}px`);const z=(i.y1-i.y0)/2+$/2+_;f.attr("y",z);const H=i.x1-i.x0,ce=i.y1-i.y0-4,de=H-8;f.node().getComputedTextLength()>de||z+F>ce||F<y?f.style("display","none"):f.style("display",null)});const oe=s.diagramPadding??8;we(b,oe,"flowchart",s?.useMaxWidth||!1)},"draw"),nt=w(function(t,a){return a.db.getClasses()},"getClasses"),lt={draw:at,getClasses:nt},rt={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},st=w(({treemap:t}={})=>{const a=te(rt,t);return`
2
2
  .treemapNode.section {
3
3
  stroke: ${a.sectionStrokeColor};
4
4
  stroke-width: ${a.sectionStrokeWidth};
@@ -0,0 +1,24 @@
1
+ import{H as b,aB as ee,aC as te,aP as ie,ab as ce,z as J,bw as B,a5 as q,aa as de,a9 as he,ao as pe,ap as ue,a8 as fe,a7 as me,aD as ye,bx as ge,au as xe}from"./index-B7GqH6If.js";import{d as Se}from"./chunk-QN33PNHL-QKH9jByz-BVKajMNG.js";import{t as ve}from"./chunk-4BX2VUAB-Dkr-Egsj-hwESrSLd.js";import{F as Ce}from"./treemap-KMMF4GRG-wB3pBnFc-DQrUn2c6.js";import{n as H}from"./defaultLocale-D7EN2tov-DTlwZUNI.js";import{h as X}from"./ordinal-B6-f3MAq-Pc8f3NoK.js";import"./min-C8aXS73f-D0DvW8t2.js";import"./_baseUniq-D7Jo4wA--B2TRxPWE.js";import"./init-DjUOC4st-DHuO7-vr.js";function be(t){var a=0,n=t.children,r=n&&n.length;if(!r)a=1;else for(;--r>=0;)a+=n[r].value;t.value=a}function $e(){return this.eachAfter(be)}function we(t,a){let n=-1;for(const r of this)t.call(a,r,++n,this);return this}function Le(t,a){for(var n=this,r=[n],o,s,d=-1;n=r.pop();)if(t.call(a,n,++d,this),o=n.children)for(s=o.length-1;s>=0;--s)r.push(o[s]);return this}function Te(t,a){for(var n=this,r=[n],o=[],s,d,h,f=-1;n=r.pop();)if(o.push(n),s=n.children)for(d=0,h=s.length;d<h;++d)r.push(s[d]);for(;n=o.pop();)t.call(a,n,++f,this);return this}function Me(t,a){let n=-1;for(const r of this)if(t.call(a,r,++n,this))return r}function ke(t){return this.eachAfter(function(a){for(var n=+t(a.data)||0,r=a.children,o=r&&r.length;--o>=0;)n+=r[o].value;a.value=n})}function ze(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function Fe(t){for(var a=this,n=Ae(a,t),r=[a];a!==n;)a=a.parent,r.push(a);for(var o=r.length;t!==n;)r.splice(o,0,t),t=t.parent;return r}function Ae(t,a){if(t===a)return t;var n=t.ancestors(),r=a.ancestors(),o=null;for(t=n.pop(),a=r.pop();t===a;)o=t,t=n.pop(),a=r.pop();return o}function Pe(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Be(){return Array.from(this)}function We(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function De(){var t=this,a=[];return t.each(function(n){n!==t&&a.push({source:n.parent,target:n})}),a}function*Ne(){var t=this,a,n=[t],r,o,s;do for(a=n.reverse(),n=[];t=a.pop();)if(yield t,r=t.children)for(o=0,s=r.length;o<s;++o)n.push(r[o]);while(n.length)}function U(t,a){t instanceof Map?(t=[void 0,t],a===void 0&&(a=He)):a===void 0&&(a=Ie);for(var n=new O(t),r,o=[n],s,d,h,f;r=o.pop();)if((d=a(r.data))&&(f=(d=Array.from(d)).length))for(r.children=d,h=f-1;h>=0;--h)o.push(s=d[h]=new O(d[h])),s.parent=r,s.depth=r.depth+1;return n.eachBefore(Ee)}function Re(){return U(this).eachBefore(Ve)}function Ie(t){return t.children}function He(t){return Array.isArray(t)?t[1]:null}function Ve(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ee(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function O(t){this.data=t,this.depth=this.height=0,this.parent=null}O.prototype=U.prototype={constructor:O,count:$e,each:we,eachAfter:Te,eachBefore:Le,find:Me,sum:ke,sort:ze,path:Fe,ancestors:Pe,descendants:Be,leaves:We,links:De,copy:Re,[Symbol.iterator]:Ne};function Ge(t){if(typeof t!="function")throw new Error;return t}function V(){return 0}function E(t){return function(){return t}}function je(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Ke(t,a,n,r,o){for(var s=t.children,d,h=-1,f=s.length,i=t.value&&(r-a)/t.value;++h<f;)d=s[h],d.y0=n,d.y1=o,d.x0=a,d.x1=a+=d.value*i}function Qe(t,a,n,r,o){for(var s=t.children,d,h=-1,f=s.length,i=t.value&&(o-n)/t.value;++h<f;)d=s[h],d.x0=a,d.x1=r,d.y0=n,d.y1=n+=d.value*i}var _e=(1+Math.sqrt(5))/2;function qe(t,a,n,r,o,s){for(var d=[],h=a.children,f,i,p=0,C=0,l=h.length,v,x,S=a.value,u,y,A,M,P,D,L;p<l;){v=o-n,x=s-r;do u=h[C++].value;while(!u&&C<l);for(y=A=u,D=Math.max(x/v,v/x)/(S*t),L=u*u*D,P=Math.max(A/L,L/y);C<l;++C){if(u+=i=h[C].value,i<y&&(y=i),i>A&&(A=i),L=u*u*D,M=Math.max(A/L,L/y),M>P){u-=i;break}P=M}d.push(f={value:u,dice:v<x,children:h.slice(p,C)}),f.dice?Ke(f,n,r,o,S?r+=x*u/S:s):Qe(f,n,r,S?n+=v*u/S:o,s),S-=u,p=C}return d}const Oe=(function t(a){function n(r,o,s,d,h){qe(a,r,o,s,d,h)}return n.ratio=function(r){return t((r=+r)>1?r:1)},n})(_e);function Xe(){var t=Oe,a=!1,n=1,r=1,o=[0],s=V,d=V,h=V,f=V,i=V;function p(l){return l.x0=l.y0=0,l.x1=n,l.y1=r,l.eachBefore(C),o=[0],a&&l.eachBefore(je),l}function C(l){var v=o[l.depth],x=l.x0+v,S=l.y0+v,u=l.x1-v,y=l.y1-v;u<x&&(x=u=(x+u)/2),y<S&&(S=y=(S+y)/2),l.x0=x,l.y0=S,l.x1=u,l.y1=y,l.children&&(v=o[l.depth+1]=s(l)/2,x+=i(l)-v,S+=d(l)-v,u-=h(l)-v,y-=f(l)-v,u<x&&(x=u=(x+u)/2),y<S&&(S=y=(S+y)/2),t(l,x,S,u,y))}return p.round=function(l){return arguments.length?(a=!!l,p):a},p.size=function(l){return arguments.length?(n=+l[0],r=+l[1],p):[n,r]},p.tile=function(l){return arguments.length?(t=Ge(l),p):t},p.padding=function(l){return arguments.length?p.paddingInner(l).paddingOuter(l):p.paddingInner()},p.paddingInner=function(l){return arguments.length?(s=typeof l=="function"?l:E(+l),p):s},p.paddingOuter=function(l){return arguments.length?p.paddingTop(l).paddingRight(l).paddingBottom(l).paddingLeft(l):p.paddingTop()},p.paddingTop=function(l){return arguments.length?(d=typeof l=="function"?l:E(+l),p):d},p.paddingRight=function(l){return arguments.length?(h=typeof l=="function"?l:E(+l),p):h},p.paddingBottom=function(l){return arguments.length?(f=typeof l=="function"?l:E(+l),p):f},p.paddingLeft=function(l){return arguments.length?(i=typeof l=="function"?l:E(+l),p):i},p}var Z,ae=(Z=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=de,this.getAccTitle=he,this.setDiagramTitle=pe,this.getDiagramTitle=ue,this.getAccDescription=fe,this.setAccDescription=me}getNodes(){return this.nodes}getConfig(){const t=ye,a=te();return ee({...t.treemap,...a.treemap??{}})}addNode(t,a){this.nodes.push(t),this.levels.set(t,a),a===0&&(this.outerNodes.push(t),this.root??=t)}getRoot(){return{name:"",children:this.outerNodes}}addClass(t,a){const n=this.classes.get(t)??{id:t,styles:[],textStyles:[]},r=a.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");r&&r.forEach(o=>{ge(o)&&(n?.textStyles?n.textStyles.push(o):n.textStyles=[o]),n?.styles?n.styles.push(o):n.styles=[o]}),this.classes.set(t,n)}getClasses(){return this.classes}getStylesForClass(t){return this.classes.get(t)?.styles??[]}clear(){xe(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},b(Z,"TreeMapDB"),Z);function ne(t){if(!t.length)return[];const a=[],n=[];return t.forEach(r=>{const o={name:r.name,children:r.type==="Leaf"?void 0:[]};for(o.classSelector=r?.classSelector,r?.cssCompiledStyles&&(o.cssCompiledStyles=[r.cssCompiledStyles]),r.type==="Leaf"&&r.value!==void 0&&(o.value=r.value);n.length>0&&n[n.length-1].level>=r.level;)n.pop();if(n.length===0)a.push(o);else{const s=n[n.length-1].node;s.children?s.children.push(o):s.children=[o]}r.type!=="Leaf"&&n.push({node:o,level:r.level})}),a}b(ne,"buildHierarchy");var Ze=b((t,a)=>{ve(t,a);const n=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const d=s.item;if(!d)continue;const h=s.indent?parseInt(s.indent):0,f=Je(d),i=d.classSelector?a.getStylesForClass(d.classSelector):[],p=i.length>0?i.join(";"):void 0,C={level:h,name:f,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:p};n.push(C)}const r=ne(n),o=b((s,d)=>{for(const h of s)a.addNode(h,d),h.children&&h.children.length>0&&o(h.children,d+1)},"addNodesRecursively");o(r,0)},"populate"),Je=b(t=>t.name?String(t.name):"","getItemName"),re={parser:{yy:void 0},parse:b(async t=>{try{const a=await Ce("treemap",t);J.debug("Treemap AST:",a);const n=re.parser?.yy;if(!(n instanceof ae))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ze(a,n)}catch(a){throw J.error("Error parsing treemap:",a),a}},"parse")},Ue=10,W=10,G=25,Ye=b((t,a,n,r)=>{const o=r.db,s=o.getConfig(),d=s.padding??Ue,h=o.getDiagramTitle(),f=o.getRoot(),{themeVariables:i}=te();if(!f)return;const p=h?30:0,C=ie(a),l=s.nodeWidth?s.nodeWidth*W:960,v=s.nodeHeight?s.nodeHeight*W:500,x=l,S=v+p;C.attr("viewBox",`0 0 ${x} ${S}`),ce(C,S,x,s.useMaxWidth);let u;try{const e=s.valueFormat||",";if(e==="$0,0")u=b(c=>"$"+H(",")(c),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const c=/\.\d+/.exec(e),g=c?c[0]:"";u=b($=>"$"+H(","+g)($),"valueFormat")}else if(e.startsWith("$")){const c=e.substring(1);u=b(g=>"$"+H(c||"")(g),"valueFormat")}else u=H(e)}catch(e){J.error("Error creating format function:",e),u=H(",")}const y=X().range(["transparent",i.cScale0,i.cScale1,i.cScale2,i.cScale3,i.cScale4,i.cScale5,i.cScale6,i.cScale7,i.cScale8,i.cScale9,i.cScale10,i.cScale11]),A=X().range(["transparent",i.cScalePeer0,i.cScalePeer1,i.cScalePeer2,i.cScalePeer3,i.cScalePeer4,i.cScalePeer5,i.cScalePeer6,i.cScalePeer7,i.cScalePeer8,i.cScalePeer9,i.cScalePeer10,i.cScalePeer11]),M=X().range([i.cScaleLabel0,i.cScaleLabel1,i.cScaleLabel2,i.cScaleLabel3,i.cScaleLabel4,i.cScaleLabel5,i.cScaleLabel6,i.cScaleLabel7,i.cScaleLabel8,i.cScaleLabel9,i.cScaleLabel10,i.cScaleLabel11]);h&&C.append("text").attr("x",x/2).attr("y",p/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const P=C.append("g").attr("transform",`translate(0, ${p})`).attr("class","treemapContainer"),D=U(f).sum(e=>e.value??0).sort((e,c)=>(c.value??0)-(e.value??0)),L=Xe().size([l,v]).paddingTop(e=>e.children&&e.children.length>0?G+W:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?W:0).paddingRight(e=>e.children&&e.children.length>0?W:0).paddingBottom(e=>e.children&&e.children.length>0?W:0).round(!0)(D),le=L.descendants().filter(e=>e.children&&e.children.length>0),N=P.selectAll(".treemapSection").data(le).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);N.append("rect").attr("width",e=>e.x1-e.x0).attr("height",G).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),N.append("clipPath").attr("id",(e,c)=>`clip-section-${a}-${c}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",G),N.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,c)=>`treemapSection section${c}`).attr("fill",e=>y(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>A(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const c=B({cssCompiledStyles:e.data.cssCompiledStyles});return c.nodeStyles+";"+c.borderStyles.join(";")}),N.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",G/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(e.depth===0)return"display: none;";const c="dominant-baseline: middle; font-size: 12px; fill:"+M(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",g=B({cssCompiledStyles:e.data.cssCompiledStyles});return c+g.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const c=q(this),g=e.data.name;c.text(g);const $=e.x1-e.x0,k=6;let z;s.showValues!==!1&&e.value?z=$-10-30-10-k:z=$-k-6;const T=Math.max(15,z),w=c.node();if(w.getComputedTextLength()>T){let m=g;for(;m.length>0;){if(m=g.substring(0,m.length-1),m.length===0){c.text("..."),w.getComputedTextLength()>T&&c.text("");break}if(c.text(m+"..."),w.getComputedTextLength()<=T)break}}}),s.showValues!==!1&&N.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",G/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?u(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const c="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+M(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",g=B({cssCompiledStyles:e.data.cssCompiledStyles});return c+g.labelStyles.replace("color:","fill:")});const se=L.leaves(),j=P.selectAll(".treemapLeafGroup").data(se).enter().append("g").attr("class",(e,c)=>`treemapNode treemapLeafGroup leaf${c}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);j.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("style",e=>B({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("stroke-width",3),j.append("clipPath").attr("id",(e,c)=>`clip-${a}-${c}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),j.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const c="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+M(e.data.name)+";",g=B({cssCompiledStyles:e.data.cssCompiledStyles});return c+g.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,c)=>`url(#clip-${a}-${c})`).text(e=>e.data.name).each(function(e){const c=q(this),g=e.x1-e.x0,$=e.y1-e.y0,k=c.node(),z=4,T=g-2*z,w=$-2*z;if(T<10||w<10){c.style("display","none");return}let m=parseInt(c.style("font-size"),10);const F=8,R=28,K=.6,I=6,Q=2;for(;k.getComputedTextLength()>T&&m>F;)m--,c.style("font-size",`${m}px`);let _=Math.max(I,Math.min(R,Math.round(m*K))),Y=m+Q+_;for(;Y>w&&m>F&&(m--,_=Math.max(I,Math.min(R,Math.round(m*K))),!(_<I&&m===F));)c.style("font-size",`${m}px`),Y=m+Q+_;c.style("font-size",`${m}px`),(k.getComputedTextLength()>T||m<F||w<m)&&c.style("display","none")}),s.showValues!==!1&&j.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>{const c="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+M(e.data.name)+";",g=B({cssCompiledStyles:e.data.cssCompiledStyles});return c+g.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,c)=>`url(#clip-${a}-${c})`).text(e=>e.value?u(e.value):"").each(function(e){const c=q(this),g=this.parentNode;if(!g){c.style("display","none");return}const $=q(g).select(".treemapLabel");if($.empty()||$.style("display")==="none"){c.style("display","none");return}const k=parseFloat($.style("font-size")),z=28,T=.6,w=6,m=2,F=Math.max(w,Math.min(z,Math.round(k*T)));c.style("font-size",`${F}px`);const R=(e.y1-e.y0)/2+k/2+m;c.attr("y",R);const K=e.x1-e.x0,I=e.y1-e.y0-4,Q=K-8;c.node().getComputedTextLength()>Q||R+F>I||F<w?c.style("display","none"):c.style("display",null)});const oe=s.diagramPadding??8;Se(C,oe,"flowchart",s?.useMaxWidth||!1)},"draw"),et=b(function(t,a){return a.db.getClasses()},"getClasses"),tt={draw:Ye,getClasses:et},at={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},nt=b(({treemap:t}={})=>{const a=ee(at,t);return`
2
+ .treemapNode.section {
3
+ stroke: ${a.sectionStrokeColor};
4
+ stroke-width: ${a.sectionStrokeWidth};
5
+ fill: ${a.sectionFillColor};
6
+ }
7
+ .treemapNode.leaf {
8
+ stroke: ${a.leafStrokeColor};
9
+ stroke-width: ${a.leafStrokeWidth};
10
+ fill: ${a.leafFillColor};
11
+ }
12
+ .treemapLabel {
13
+ fill: ${a.labelColor};
14
+ font-size: ${a.labelFontSize};
15
+ }
16
+ .treemapValue {
17
+ fill: ${a.valueColor};
18
+ font-size: ${a.valueFontSize};
19
+ }
20
+ .treemapTitle {
21
+ fill: ${a.titleColor};
22
+ font-size: ${a.titleFontSize};
23
+ }
24
+ `},"getStyles"),rt=nt,ft={parser:re,get db(){return new ae},renderer:tt,styles:rt};export{ft as diagram};
@@ -0,0 +1,43 @@
1
+ import{H as l,a7 as S,a8 as F,ap as I,ao as z,a9 as P,aa as E,aP as R,au as D,aB as v,aC as C,aD as B,z as G,b6 as H}from"./index-B7GqH6If.js";import{t as j}from"./chunk-4BX2VUAB-Dkr-Egsj-hwESrSLd.js";import{F as V}from"./treemap-KMMF4GRG-wB3pBnFc-DQrUn2c6.js";import"./min-C8aXS73f-D0DvW8t2.js";import"./_baseUniq-D7Jo4wA--B2TRxPWE.js";var h={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},w={axes:[],curves:[],options:h},x=structuredClone(w),W=B.radar,Z=l(()=>v({...W,...C().radar}),"getConfig"),b=l(()=>x.axes,"getAxes"),_=l(()=>x.curves,"getCurves"),J=l(()=>x.options,"getOptions"),K=l(a=>{x.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Q=l(a=>{x.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:X(t.entries)}))},"setCurves"),X=l(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=b();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>s.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=l(a=>{const t=a.reduce((e,r)=>(e[r.name]=r,e),{});x.options={showLegend:t.showLegend?.value??h.showLegend,ticks:t.ticks?.value??h.ticks,max:t.max?.value??h.max,min:t.min?.value??h.min,graticule:t.graticule?.value??h.graticule}},"setOptions"),N=l(()=>{D(),x=structuredClone(w)},"clear"),f={getAxes:b,getCurves:_,getOptions:J,setAxes:K,setCurves:Q,setOptions:q,getConfig:Z,clear:N,setAccTitle:E,getAccTitle:P,setDiagramTitle:z,getDiagramTitle:I,getAccDescription:F,setAccDescription:S},U=l(a=>{j(a,f);const{axes:t,curves:e,options:r}=a;f.setAxes(t),f.setCurves(e),f.setOptions(r)},"populate"),Y={parse:l(async a=>{const t=await V("radar",a);G.debug(t),U(t)},"parse")},tt=l((a,t,e,r)=>{const s=r.db,n=s.getAxes(),o=s.getCurves(),i=s.getOptions(),c=s.getConfig(),d=s.getDiagramTitle(),p=R(t),g=et(p,c),u=i.max??Math.max(...o.map(y=>Math.max(...y.entries))),m=i.min,$=Math.min(c.width,c.height)/2;at(g,n,$,i.ticks,i.graticule),rt(g,n,$,c),M(g,n,o,m,u,i.graticule,c),A(g,o,i.showLegend,c),g.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),et=l((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return a.attr("viewbox",`0 0 ${e} ${r}`).attr("width",e).attr("height",r),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),at=l((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n<r;n++){const o=e*(n+1)/r;a.append("circle").attr("r",o).attr("class","radarGraticule")}else if(s==="polygon"){const n=t.length;for(let o=0;o<r;o++){const i=e*(o+1)/r,c=t.map((d,p)=>{const g=2*p*Math.PI/n-Math.PI/2,u=i*Math.cos(g),m=i*Math.sin(g);return`${u},${m}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),rt=l((a,t,e,r)=>{const s=t.length;for(let n=0;n<s;n++){const o=t[n].label,i=2*n*Math.PI/s-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(i)).attr("y2",e*r.axisScaleFactor*Math.sin(i)).attr("class","radarAxisLine"),a.append("text").text(o).attr("x",e*r.axisLabelFactor*Math.cos(i)).attr("y",e*r.axisLabelFactor*Math.sin(i)).attr("class","radarAxisLabel")}},"drawAxes");function M(a,t,e,r,s,n,o){const i=t.length,c=Math.min(o.width,o.height)/2;e.forEach((d,p)=>{if(d.entries.length!==i)return;const g=d.entries.map((u,m)=>{const $=2*Math.PI*m/i-Math.PI/2,y=L(u,r,s,c),k=y*Math.cos($),O=y*Math.sin($);return{x:k,y:O}});n==="circle"?a.append("path").attr("d",T(g,o.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",g.map(u=>`${u.x},${u.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}l(M,"drawCurves");function L(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}l(L,"relativeRadius");function T(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const n=a[(s-1+e)%e],o=a[s],i=a[(s+1)%e],c=a[(s+2)%e],d={x:o.x+(i.x-n.x)*t,y:o.y+(i.y-n.y)*t},p={x:i.x-(c.x-o.x)*t,y:i.y-(c.y-o.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${i.x},${i.y}`}return`${r} Z`}l(T,"closedRoundCurve");function A(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,n=-(r.height/2+r.marginTop)*3/4,o=20;t.forEach((i,c)=>{const d=a.append("g").attr("transform",`translate(${s}, ${n+c*o})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(i.label)})}l(A,"drawLegend");var st={draw:tt},it=l((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
2
+ .radarCurve-${r} {
3
+ color: ${s};
4
+ fill: ${s};
5
+ fill-opacity: ${t.curveOpacity};
6
+ stroke: ${s};
7
+ stroke-width: ${t.curveStrokeWidth};
8
+ }
9
+ .radarLegendBox-${r} {
10
+ fill: ${s};
11
+ fill-opacity: ${t.curveOpacity};
12
+ stroke: ${s};
13
+ }
14
+ `}return e},"genIndexStyles"),nt=l(a=>{const t=H(),e=C(),r=v(t,e.themeVariables),s=v(r.radar,a);return{themeVariables:r,radarOptions:s}},"buildRadarStyleOptions"),ot=l(({radar:a}={})=>{const{themeVariables:t,radarOptions:e}=nt(a);return`
15
+ .radarTitle {
16
+ font-size: ${t.fontSize};
17
+ color: ${t.titleColor};
18
+ dominant-baseline: hanging;
19
+ text-anchor: middle;
20
+ }
21
+ .radarAxisLine {
22
+ stroke: ${e.axisColor};
23
+ stroke-width: ${e.axisStrokeWidth};
24
+ }
25
+ .radarAxisLabel {
26
+ dominant-baseline: middle;
27
+ text-anchor: middle;
28
+ font-size: ${e.axisLabelFontSize}px;
29
+ color: ${e.axisColor};
30
+ }
31
+ .radarGraticule {
32
+ fill: ${e.graticuleColor};
33
+ fill-opacity: ${e.graticuleOpacity};
34
+ stroke: ${e.graticuleColor};
35
+ stroke-width: ${e.graticuleStrokeWidth};
36
+ }
37
+ .radarLegendText {
38
+ text-anchor: start;
39
+ font-size: ${e.legendFontSize}px;
40
+ dominant-baseline: hanging;
41
+ }
42
+ ${it(t,e)}
43
+ `},"styles"),ut={parser:Y,db:f,renderer:st,styles:ot};export{ut as diagram};
@@ -1,4 +1,4 @@
1
- import{bE as l,bF as k,bG as I,b_ as R,bZ as E,bH as F,bI as _,ce as D,c3 as G,ca as y,cb as b,cc as P,bL as z,cv as H}from"./index-BXRJOAs4.js";import{p as V}from"./chunk-4BX2VUAB-CVAs-OQz.js";import{p as W}from"./treemap-KMMF4GRG-Bj5u1csA.js";import"./min-USsdh-HW.js";import"./_baseUniq--5gbTAb8.js";var m={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},C={axes:[],curves:[],options:m},h=structuredClone(C),B=P.radar,j=l(()=>y({...B,...b().radar}),"getConfig"),w=l(()=>h.axes,"getAxes"),Z=l(()=>h.curves,"getCurves"),N=l(()=>h.options,"getOptions"),U=l(a=>{h.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),X=l(a=>{h.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Y(t.entries)}))},"setCurves"),Y=l(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=w();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>s.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=l(a=>{const t=a.reduce((e,r)=>(e[r.name]=r,e),{});h.options={showLegend:t.showLegend?.value??m.showLegend,ticks:t.ticks?.value??m.ticks,max:t.max?.value??m.max,min:t.min?.value??m.min,graticule:t.graticule?.value??m.graticule}},"setOptions"),J=l(()=>{G(),h=structuredClone(C)},"clear"),$={getAxes:w,getCurves:Z,getOptions:N,setAxes:U,setCurves:X,setOptions:q,getConfig:j,clear:J,setAccTitle:_,getAccTitle:F,setDiagramTitle:E,getDiagramTitle:R,getAccDescription:I,setAccDescription:k},K=l(a=>{V(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),Q={parse:l(async a=>{const t=await W("radar",a);z.debug(t),K(t)},"parse")},tt=l((a,t,e,r)=>{const s=r.db,o=s.getAxes(),i=s.getCurves(),n=s.getOptions(),c=s.getConfig(),d=s.getDiagramTitle(),u=D(t),p=et(u,c),g=n.max??Math.max(...i.map(f=>Math.max(...f.entries))),x=n.min,v=Math.min(c.width,c.height)/2;at(p,o,v,n.ticks,n.graticule),rt(p,o,v,c),M(p,o,i,x,g,n.graticule,c),T(p,i,n.showLegend,c),p.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),et=l((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return a.attr("viewbox",`0 0 ${e} ${r}`).attr("width",e).attr("height",r),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),at=l((a,t,e,r,s)=>{if(s==="circle")for(let o=0;o<r;o++){const i=e*(o+1)/r;a.append("circle").attr("r",i).attr("class","radarGraticule")}else if(s==="polygon"){const o=t.length;for(let i=0;i<r;i++){const n=e*(i+1)/r,c=t.map((d,u)=>{const p=2*u*Math.PI/o-Math.PI/2,g=n*Math.cos(p),x=n*Math.sin(p);return`${g},${x}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),rt=l((a,t,e,r)=>{const s=t.length;for(let o=0;o<s;o++){const i=t[o].label,n=2*o*Math.PI/s-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(n)).attr("y2",e*r.axisScaleFactor*Math.sin(n)).attr("class","radarAxisLine"),a.append("text").text(i).attr("x",e*r.axisLabelFactor*Math.cos(n)).attr("y",e*r.axisLabelFactor*Math.sin(n)).attr("class","radarAxisLabel")}},"drawAxes");function M(a,t,e,r,s,o,i){const n=t.length,c=Math.min(i.width,i.height)/2;e.forEach((d,u)=>{if(d.entries.length!==n)return;const p=d.entries.map((g,x)=>{const v=2*Math.PI*x/n-Math.PI/2,f=A(g,r,s,c),O=f*Math.cos(v),S=f*Math.sin(v);return{x:O,y:S}});o==="circle"?a.append("path").attr("d",L(p,i.curveTension)).attr("class",`radarCurve-${u}`):o==="polygon"&&a.append("polygon").attr("points",p.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${u}`)})}l(M,"drawCurves");function A(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}l(A,"relativeRadius");function L(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const o=a[(s-1+e)%e],i=a[s],n=a[(s+1)%e],c=a[(s+2)%e],d={x:i.x+(n.x-o.x)*t,y:i.y+(n.y-o.y)*t},u={x:n.x-(c.x-i.x)*t,y:n.y-(c.y-i.y)*t};r+=` C${d.x},${d.y} ${u.x},${u.y} ${n.x},${n.y}`}return`${r} Z`}l(L,"closedRoundCurve");function T(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,o=-(r.height/2+r.marginTop)*3/4,i=20;t.forEach((n,c)=>{const d=a.append("g").attr("transform",`translate(${s}, ${o+c*i})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(n.label)})}l(T,"drawLegend");var st={draw:tt},nt=l((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
1
+ import{bE as l,bF as k,bG as I,b_ as R,bZ as E,bH as F,bI as _,ce as D,c3 as G,ca as y,cb as b,cc as P,bL as z,cv as H}from"./index-B7GqH6If.js";import{p as V}from"./chunk-4BX2VUAB-BWm6jvkB.js";import{p as W}from"./treemap-KMMF4GRG-DfaADvmb.js";import"./min-CRMSN7nx.js";import"./_baseUniq-iT192ZJn.js";var m={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},C={axes:[],curves:[],options:m},h=structuredClone(C),B=P.radar,j=l(()=>y({...B,...b().radar}),"getConfig"),w=l(()=>h.axes,"getAxes"),Z=l(()=>h.curves,"getCurves"),N=l(()=>h.options,"getOptions"),U=l(a=>{h.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),X=l(a=>{h.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Y(t.entries)}))},"setCurves"),Y=l(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=w();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>s.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=l(a=>{const t=a.reduce((e,r)=>(e[r.name]=r,e),{});h.options={showLegend:t.showLegend?.value??m.showLegend,ticks:t.ticks?.value??m.ticks,max:t.max?.value??m.max,min:t.min?.value??m.min,graticule:t.graticule?.value??m.graticule}},"setOptions"),J=l(()=>{G(),h=structuredClone(C)},"clear"),$={getAxes:w,getCurves:Z,getOptions:N,setAxes:U,setCurves:X,setOptions:q,getConfig:j,clear:J,setAccTitle:_,getAccTitle:F,setDiagramTitle:E,getDiagramTitle:R,getAccDescription:I,setAccDescription:k},K=l(a=>{V(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),Q={parse:l(async a=>{const t=await W("radar",a);z.debug(t),K(t)},"parse")},tt=l((a,t,e,r)=>{const s=r.db,o=s.getAxes(),i=s.getCurves(),n=s.getOptions(),c=s.getConfig(),d=s.getDiagramTitle(),u=D(t),p=et(u,c),g=n.max??Math.max(...i.map(f=>Math.max(...f.entries))),x=n.min,v=Math.min(c.width,c.height)/2;at(p,o,v,n.ticks,n.graticule),rt(p,o,v,c),M(p,o,i,x,g,n.graticule,c),T(p,i,n.showLegend,c),p.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),et=l((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return a.attr("viewbox",`0 0 ${e} ${r}`).attr("width",e).attr("height",r),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),at=l((a,t,e,r,s)=>{if(s==="circle")for(let o=0;o<r;o++){const i=e*(o+1)/r;a.append("circle").attr("r",i).attr("class","radarGraticule")}else if(s==="polygon"){const o=t.length;for(let i=0;i<r;i++){const n=e*(i+1)/r,c=t.map((d,u)=>{const p=2*u*Math.PI/o-Math.PI/2,g=n*Math.cos(p),x=n*Math.sin(p);return`${g},${x}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),rt=l((a,t,e,r)=>{const s=t.length;for(let o=0;o<s;o++){const i=t[o].label,n=2*o*Math.PI/s-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(n)).attr("y2",e*r.axisScaleFactor*Math.sin(n)).attr("class","radarAxisLine"),a.append("text").text(i).attr("x",e*r.axisLabelFactor*Math.cos(n)).attr("y",e*r.axisLabelFactor*Math.sin(n)).attr("class","radarAxisLabel")}},"drawAxes");function M(a,t,e,r,s,o,i){const n=t.length,c=Math.min(i.width,i.height)/2;e.forEach((d,u)=>{if(d.entries.length!==n)return;const p=d.entries.map((g,x)=>{const v=2*Math.PI*x/n-Math.PI/2,f=A(g,r,s,c),O=f*Math.cos(v),S=f*Math.sin(v);return{x:O,y:S}});o==="circle"?a.append("path").attr("d",L(p,i.curveTension)).attr("class",`radarCurve-${u}`):o==="polygon"&&a.append("polygon").attr("points",p.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${u}`)})}l(M,"drawCurves");function A(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}l(A,"relativeRadius");function L(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const o=a[(s-1+e)%e],i=a[s],n=a[(s+1)%e],c=a[(s+2)%e],d={x:i.x+(n.x-o.x)*t,y:i.y+(n.y-o.y)*t},u={x:n.x-(c.x-i.x)*t,y:n.y-(c.y-i.y)*t};r+=` C${d.x},${d.y} ${u.x},${u.y} ${n.x},${n.y}`}return`${r} Z`}l(L,"closedRoundCurve");function T(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,o=-(r.height/2+r.marginTop)*3/4,i=20;t.forEach((n,c)=>{const d=a.append("g").attr("transform",`translate(${s}, ${o+c*i})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(n.label)})}l(T,"drawLegend");var st={draw:tt},nt=l((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
2
2
  .radarCurve-${r} {
3
3
  color: ${s};
4
4
  fill: ${s};
@@ -0,0 +1,24 @@
1
+ import{H as f,aB as w,aP as B,ab as v,z as m,aa as P,a9 as z,ao as F,ap as T,a8 as S,a7 as W,aC as D,aD as E,au as H}from"./index-B7GqH6If.js";import{t as A}from"./chunk-4BX2VUAB-Dkr-Egsj-hwESrSLd.js";import{F as R}from"./treemap-KMMF4GRG-wB3pBnFc-DQrUn2c6.js";import"./min-C8aXS73f-D0DvW8t2.js";import"./_baseUniq-D7Jo4wA--B2TRxPWE.js";var Y=E.packet,u,x=(u=class{constructor(){this.packet=[],this.setAccTitle=P,this.getAccTitle=z,this.setDiagramTitle=F,this.getDiagramTitle=T,this.getAccDescription=S,this.setAccDescription=W}getConfig(){const t=w({...Y,...D().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){H(),this.packet=[]}},f(u,"PacketDB"),u),G=1e4,M=f((t,e)=>{A(t,e);let r=-1,o=[],l=1;const{bitsPerRow:n}=e.getConfig();for(let{start:a,end:i,bits:d,label:c}of t.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??=r+1,a!==r+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${r+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??=a+(d??1)-1,d??=i-a+1,r=i,m.debug(`Packet block ${a} - ${r} with label ${c}`);o.length<=n+1&&e.getPacket().length<G;){const[p,s]=j({start:a,end:i,bits:d,label:c},l,n);if(o.push(p),p.end+1===l*n&&(e.pushWord(o),o=[],l++),!s)break;({start:a,end:i,bits:d,label:c}=s)}}e.pushWord(o)},"populate"),j=f((t,e,r)=>{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const o=e*r-1,l=e*r;return[{start:t.start,end:o,label:t.label,bits:o-t.start},{start:l,end:t.end,label:t.label,bits:t.end-l}]},"getNextFittingBlock"),y={parser:{yy:void 0},parse:f(async t=>{const e=await R("packet",t),r=y.parser?.yy;if(!(r instanceof x))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");m.debug(e),M(e,r)},"parse")},I=f((t,e,r,o)=>{const l=o.db,n=l.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=n,p=l.getPacket(),s=l.getDiagramTitle(),h=a+i,b=h*(p.length+1)-(s?0:a),k=d*c+2,g=B(e);g.attr("viewbox",`0 0 ${k} ${b}`),v(g,b,k,n.useMaxWidth);for(const[C,$]of p.entries())K(g,$,C,n);g.append("text").text(s).attr("x",k/2).attr("y",b-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),K=f((t,e,r,{rowHeight:o,paddingX:l,paddingY:n,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=t.append("g"),p=r*(o+n)+n;for(const s of e){const h=s.start%i*a+1,b=(s.end-s.start+1)*a-l;if(c.append("rect").attr("x",h).attr("y",p).attr("width",b).attr("height",o).attr("class","packetBlock"),c.append("text").attr("x",h+b/2).attr("y",p+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!d)continue;const k=s.end===s.start,g=p-2;c.append("text").attr("x",h+(k?b/2:0)).attr("y",g).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(s.start),k||c.append("text").attr("x",h+b).attr("y",g).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),L={draw:I},N={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},X=f(({packet:t}={})=>{const e=w(N,t);return`
2
+ .packetByte {
3
+ font-size: ${e.byteFontSize};
4
+ }
5
+ .packetByte.start {
6
+ fill: ${e.startByteColor};
7
+ }
8
+ .packetByte.end {
9
+ fill: ${e.endByteColor};
10
+ }
11
+ .packetLabel {
12
+ fill: ${e.labelColor};
13
+ font-size: ${e.labelFontSize};
14
+ }
15
+ .packetTitle {
16
+ fill: ${e.titleColor};
17
+ font-size: ${e.titleFontSize};
18
+ }
19
+ .packetBlock {
20
+ stroke: ${e.blockStrokeColor};
21
+ stroke-width: ${e.blockStrokeWidth};
22
+ fill: ${e.blockFillColor};
23
+ }
24
+ `},"styles"),_={parser:y,get db(){return new x},renderer:L,styles:X};export{_ as diagram};
@@ -1,4 +1,4 @@
1
- import{bE as f,ca as m,ce as B,bM as C,bL as w,bI as S,bH as D,bZ as T,b_ as E,bG as F,bF as P,cb as z,cc as A,c3 as W}from"./index-BXRJOAs4.js";import{p as _}from"./chunk-4BX2VUAB-CVAs-OQz.js";import{p as L}from"./treemap-KMMF4GRG-Bj5u1csA.js";import"./min-USsdh-HW.js";import"./_baseUniq--5gbTAb8.js";var M=A.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=S,this.getAccTitle=D,this.setDiagramTitle=T,this.getDiagramTitle=E,this.getAccDescription=F,this.setAccDescription=P}getConfig(){const t=m({...M,...z().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){W(),this.packet=[]}},f(u,"PacketDB"),u),N=1e4,I=f((e,t)=>{_(e,t);let r=-1,o=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??=r+1,a!==r+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${r+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??=a+(d??1)-1,d??=i-a+1,r=i,w.debug(`Packet block ${a} - ${r} with label ${c}`);o.length<=l+1&&t.getPacket().length<N;){const[p,s]=Y({start:a,end:i,bits:d,label:c},n,l);if(o.push(p),p.end+1===n*l&&(t.pushWord(o),o=[],n++),!s)break;({start:a,end:i,bits:d,label:c}=s)}}t.pushWord(o)},"populate"),Y=f((e,t,r)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*r)return[e,void 0];const o=t*r-1,n=t*r;return[{start:e.start,end:o,label:e.label,bits:o-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:f(async e=>{const t=await L("packet",e),r=x.parser?.yy;if(!(r instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),I(t,r)},"parse")},G=f((e,t,r,o)=>{const n=o.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),s=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(s?0:a),b=d*c+2,k=B(t);k.attr("viewbox",`0 0 ${b} ${g}`),C(k,g,b,l.useMaxWidth);for(const[y,$]of p.entries())H(k,$,y,l);k.append("text").text(s).attr("x",b/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),H=f((e,t,r,{rowHeight:o,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=r*(o+l)+l;for(const s of t){const h=s.start%i*a+1,g=(s.end-s.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",o).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!d)continue;const b=s.end===s.start,k=p-2;c.append("text").attr("x",h+(b?g/2:0)).attr("y",k).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",b?"middle":"start").text(s.start),b||c.append("text").attr("x",h+g).attr("y",k).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),O={draw:G},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},K=f(({packet:e}={})=>{const t=m(j,e);return`
1
+ import{bE as f,ca as m,ce as B,bM as C,bL as w,bI as S,bH as D,bZ as T,b_ as E,bG as F,bF as P,cb as z,cc as A,c3 as W}from"./index-B7GqH6If.js";import{p as _}from"./chunk-4BX2VUAB-BWm6jvkB.js";import{p as L}from"./treemap-KMMF4GRG-DfaADvmb.js";import"./min-CRMSN7nx.js";import"./_baseUniq-iT192ZJn.js";var M=A.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=S,this.getAccTitle=D,this.setDiagramTitle=T,this.getDiagramTitle=E,this.getAccDescription=F,this.setAccDescription=P}getConfig(){const t=m({...M,...z().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){W(),this.packet=[]}},f(u,"PacketDB"),u),N=1e4,I=f((e,t)=>{_(e,t);let r=-1,o=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??=r+1,a!==r+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${r+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??=a+(d??1)-1,d??=i-a+1,r=i,w.debug(`Packet block ${a} - ${r} with label ${c}`);o.length<=l+1&&t.getPacket().length<N;){const[p,s]=Y({start:a,end:i,bits:d,label:c},n,l);if(o.push(p),p.end+1===n*l&&(t.pushWord(o),o=[],n++),!s)break;({start:a,end:i,bits:d,label:c}=s)}}t.pushWord(o)},"populate"),Y=f((e,t,r)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*r)return[e,void 0];const o=t*r-1,n=t*r;return[{start:e.start,end:o,label:e.label,bits:o-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:f(async e=>{const t=await L("packet",e),r=x.parser?.yy;if(!(r instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),I(t,r)},"parse")},G=f((e,t,r,o)=>{const n=o.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),s=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(s?0:a),b=d*c+2,k=B(t);k.attr("viewbox",`0 0 ${b} ${g}`),C(k,g,b,l.useMaxWidth);for(const[y,$]of p.entries())H(k,$,y,l);k.append("text").text(s).attr("x",b/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),H=f((e,t,r,{rowHeight:o,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=r*(o+l)+l;for(const s of t){const h=s.start%i*a+1,g=(s.end-s.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",o).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!d)continue;const b=s.end===s.start,k=p-2;c.append("text").attr("x",h+(b?g/2:0)).attr("y",k).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",b?"middle":"start").text(s.start),b||c.append("text").attr("x",h+g).attr("y",k).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),O={draw:G},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},K=f(({packet:e}={})=>{const t=m(j,e);return`
2
2
  .packetByte {
3
3
  font-size: ${t.byteFontSize};
4
4
  }
@@ -1,9 +1,9 @@
1
- import{g as vt}from"./chunk-55IACEB6-Dd3NjClm-icx5kZVe.js";import{d as Dt}from"./chunk-QN33PNHL-DHNejhbC-DbJMzG-e.js";import{H as o,aa as $t,a9 as Lt,a7 as wt,a8 as Mt,ao as Ft,ap as Bt,z as V,a as D,au as Yt,at as Pt,aw as zt,az as Kt,al as Zt,am as Gt,a5 as Ut,an as jt}from"./index-BXRJOAs4.js";import{t as Wt}from"./channel-klR7o7JB-D3KnrQ1u.js";var ut=(function(){var e=o(function(m,a,r,n){for(r=r||{},n=m.length;n--;r[m[n]]=a);return r},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],u=[1,10],c=[1,11],l=[1,12],y=[1,13],A=[1,20],b=[1,21],E=[1,22],$=[1,23],q=[1,24],S=[1,19],K=[1,25],L=[1,26],R=[1,18],J=[1,33],tt=[1,34],et=[1,35],st=[1,36],it=[1,37],yt=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],O=[1,42],T=[1,43],w=[1,52],M=[40,50,68,69],F=[1,63],B=[1,61],N=[1,58],Y=[1,62],P=[1,64],Z=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],dt=[63,64,65,66,67],pt=[1,81],_t=[1,80],ft=[1,78],bt=[1,79],gt=[6,10,42,47],x=[6,10,13,41,42,47,48,49],G=[1,89],U=[1,88],j=[1,87],z=[19,56],mt=[1,98],Et=[1,97],nt=[19,56,58,60],at={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:o(function(m,a,r,n,h,t,p){var s=t.length-1;switch(h){case 1:break;case 2:this.$=[];break;case 3:t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 5:this.$=t[s];break;case 6:case 7:this.$=[];break;case 8:n.addEntity(t[s-4]),n.addEntity(t[s-2]),n.addRelationship(t[s-4],t[s],t[s-2],t[s-3]);break;case 9:n.addEntity(t[s-8]),n.addEntity(t[s-4]),n.addRelationship(t[s-8],t[s],t[s-4],t[s-5]),n.setClass([t[s-8]],t[s-6]),n.setClass([t[s-4]],t[s-2]);break;case 10:n.addEntity(t[s-6]),n.addEntity(t[s-2]),n.addRelationship(t[s-6],t[s],t[s-2],t[s-3]),n.setClass([t[s-6]],t[s-4]);break;case 11:n.addEntity(t[s-6]),n.addEntity(t[s-4]),n.addRelationship(t[s-6],t[s],t[s-4],t[s-5]),n.setClass([t[s-4]],t[s-2]);break;case 12:n.addEntity(t[s-3]),n.addAttributes(t[s-3],t[s-1]);break;case 13:n.addEntity(t[s-5]),n.addAttributes(t[s-5],t[s-1]),n.setClass([t[s-5]],t[s-3]);break;case 14:n.addEntity(t[s-2]);break;case 15:n.addEntity(t[s-4]),n.setClass([t[s-4]],t[s-2]);break;case 16:n.addEntity(t[s]);break;case 17:n.addEntity(t[s-2]),n.setClass([t[s-2]],t[s]);break;case 18:n.addEntity(t[s-6],t[s-4]),n.addAttributes(t[s-6],t[s-1]);break;case 19:n.addEntity(t[s-8],t[s-6]),n.addAttributes(t[s-8],t[s-1]),n.setClass([t[s-8]],t[s-3]);break;case 20:n.addEntity(t[s-5],t[s-3]);break;case 21:n.addEntity(t[s-7],t[s-5]),n.setClass([t[s-7]],t[s-2]);break;case 22:n.addEntity(t[s-3],t[s-1]);break;case 23:n.addEntity(t[s-5],t[s-3]),n.setClass([t[s-5]],t[s]);break;case 24:case 25:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 26:case 27:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 32:n.setDirection("TB");break;case 33:n.setDirection("BT");break;case 34:n.setDirection("RL");break;case 35:n.setDirection("LR");break;case 36:this.$=t[s-3],n.addClass(t[s-2],t[s-1]);break;case 37:case 38:case 56:case 64:this.$=[t[s]];break;case 39:case 40:this.$=t[s-2].concat([t[s]]);break;case 41:this.$=t[s-2],n.setClass(t[s-1],t[s]);break;case 42:this.$=t[s-3],n.addCssStyles(t[s-2],t[s-1]);break;case 43:this.$=[t[s]];break;case 44:t[s-2].push(t[s]),this.$=t[s-2];break;case 46:this.$=t[s-1]+t[s];break;case 54:case 76:case 77:this.$=t[s].replace(/"/g,"");break;case 55:case 78:this.$=t[s];break;case 57:t[s].push(t[s-1]),this.$=t[s];break;case 58:this.$={type:t[s-1],name:t[s]};break;case 59:this.$={type:t[s-2],name:t[s-1],keys:t[s]};break;case 60:this.$={type:t[s-2],name:t[s-1],comment:t[s]};break;case 61:this.$={type:t[s-3],name:t[s-2],keys:t[s-1],comment:t[s]};break;case 62:case 63:case 66:this.$=t[s];break;case 65:t[s-2].push(t[s]),this.$=t[s-2];break;case 67:this.$=t[s].replace(/"/g,"");break;case 68:this.$={cardA:t[s],relType:t[s-1],cardB:t[s-2]};break;case 69:this.$=n.Cardinality.ZERO_OR_ONE;break;case 70:this.$=n.Cardinality.ZERO_OR_MORE;break;case 71:this.$=n.Cardinality.ONE_OR_MORE;break;case 72:this.$=n.Cardinality.ONLY_ONE;break;case 73:this.$=n.Cardinality.MD_PARENT;break;case 74:this.$=n.Identification.NON_IDENTIFYING;break;case 75:this.$=n.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:u,24:c,26:l,28:y,29:14,30:15,31:16,32:17,33:A,34:b,35:E,36:$,37:q,40:S,43:K,44:L,50:R},e(i,[2,7],{1:[2,1]}),e(i,[2,3]),{9:27,11:9,22:u,24:c,26:l,28:y,29:14,30:15,31:16,32:17,33:A,34:b,35:E,36:$,37:q,40:S,43:K,44:L,50:R},e(i,[2,5]),e(i,[2,6]),e(i,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:J,64:tt,65:et,66:st,67:it}),{23:[1,38]},{25:[1,39]},{27:[1,40]},e(i,[2,27]),e(i,[2,28]),e(i,[2,29]),e(i,[2,30]),e(i,[2,31]),e(yt,[2,54]),e(yt,[2,55]),e(i,[2,32]),e(i,[2,33]),e(i,[2,34]),e(i,[2,35]),{16:41,40:O,41:T},{16:44,40:O,41:T},{16:45,40:O,41:T},e(i,[2,4]),{11:46,40:S,50:R},{16:47,40:O,41:T},{18:48,19:[1,49],51:50,52:51,56:w},{11:53,40:S,50:R},{62:54,68:[1,55],69:[1,56]},e(M,[2,69]),e(M,[2,70]),e(M,[2,71]),e(M,[2,72]),e(M,[2,73]),e(i,[2,24]),e(i,[2,25]),e(i,[2,26]),{13:F,38:57,41:B,42:N,45:59,46:60,48:Y,49:P},e(Z,[2,37]),e(Z,[2,38]),{16:65,40:O,41:T,42:N},{13:F,38:66,41:B,42:N,45:59,46:60,48:Y,49:P},{13:[1,67],15:[1,68]},e(i,[2,17],{61:32,12:69,17:[1,70],42:N,63:J,64:tt,65:et,66:st,67:it}),{19:[1,71]},e(i,[2,14]),{18:72,19:[2,56],51:50,52:51,56:w},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:J,64:tt,65:et,66:st,67:it},e(dt,[2,74]),e(dt,[2,75]),{6:pt,10:_t,39:77,42:ft,47:bt},{40:[1,82],41:[1,83]},e(gt,[2,43],{46:84,13:F,41:B,48:Y,49:P}),e(x,[2,45]),e(x,[2,50]),e(x,[2,51]),e(x,[2,52]),e(x,[2,53]),e(i,[2,41],{42:N}),{6:pt,10:_t,39:85,42:ft,47:bt},{14:86,40:G,50:U,70:j},{16:90,40:O,41:T},{11:91,40:S,50:R},{18:92,19:[1,93],51:50,52:51,56:w},e(i,[2,12]),{19:[2,57]},e(z,[2,58],{54:94,55:95,57:96,59:mt,60:Et}),e([19,56,59,60],[2,63]),e(i,[2,22],{15:[1,100],17:[1,99]}),e([40,50],[2,68]),e(i,[2,36]),{13:F,41:B,45:101,46:60,48:Y,49:P},e(i,[2,47]),e(i,[2,48]),e(i,[2,49]),e(Z,[2,39]),e(Z,[2,40]),e(x,[2,46]),e(i,[2,42]),e(i,[2,8]),e(i,[2,76]),e(i,[2,77]),e(i,[2,78]),{13:[1,102],42:N},{13:[1,104],15:[1,103]},{19:[1,105]},e(i,[2,15]),e(z,[2,59],{55:106,58:[1,107],60:Et}),e(z,[2,60]),e(nt,[2,64]),e(z,[2,67]),e(nt,[2,66]),{18:108,19:[1,109],51:50,52:51,56:w},{16:110,40:O,41:T},e(gt,[2,44],{46:84,13:F,41:B,48:Y,49:P}),{14:111,40:G,50:U,70:j},{16:112,40:O,41:T},{14:113,40:G,50:U,70:j},e(i,[2,13]),e(z,[2,61]),{57:114,59:mt},{19:[1,115]},e(i,[2,20]),e(i,[2,23],{17:[1,116],42:N}),e(i,[2,11]),{13:[1,117],42:N},e(i,[2,10]),e(nt,[2,65]),e(i,[2,18]),{18:118,19:[1,119],51:50,52:51,56:w},{14:120,40:G,50:U,70:j},{19:[1,121]},e(i,[2,21]),e(i,[2,9]),e(i,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:o(function(m,a){if(a.recoverable)this.trace(m);else{var r=new Error(m);throw r.hash=a,r}},"parseError"),parse:o(function(m){var a=this,r=[0],n=[],h=[null],t=[],p=this.table,s="",X=0,kt=0,Rt=2,St=1,Ct=t.slice.call(arguments,1),d=Object.create(this.lexer),C={yy:{}};for(var rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,rt)&&(C.yy[rt]=this.yy[rt]);d.setInput(m,C.yy),C.yy.lexer=d,C.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var ct=d.yylloc;t.push(ct);var It=d.options&&d.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xt(f){r.length=r.length-2*f,h.length=h.length-f,t.length=t.length-f}o(xt,"popStack");function Ot(){var f;return f=n.pop()||d.lex()||St,typeof f!="number"&&(f instanceof Array&&(n=f,f=n.pop()),f=a.symbols_[f]||f),f}o(Ot,"lex");for(var _,I,g,ot,v={},Q,k,Tt,H;;){if(I=r[r.length-1],this.defaultActions[I]?g=this.defaultActions[I]:((_===null||typeof _>"u")&&(_=Ot()),g=p[I]&&p[I][_]),typeof g>"u"||!g.length||!g[0]){var lt="";H=[];for(Q in p[I])this.terminals_[Q]&&Q>Rt&&H.push("'"+this.terminals_[Q]+"'");d.showPosition?lt="Parse error on line "+(X+1)+`:
1
+ import{g as $t}from"./chunk-55IACEB6-D_uwi6CC-CwcdTnFf.js";import{d as Dt}from"./chunk-QN33PNHL-QKH9jByz-BVKajMNG.js";import{H as o,aa as vt,a9 as wt,a7 as Lt,a8 as Mt,ao as Ft,ap as Bt,b as q,z as D,au as Yt,at as Pt,aw as zt,az as Zt,al as Kt,am as Gt,a5 as Ut,an as jt}from"./index-B7GqH6If.js";import{t as Wt}from"./channel-CTeTHv-y-DAoPNf9o.js";var ut=(function(){var e=o(function(m,a,r,n){for(r=r||{},n=m.length;n--;r[m[n]]=a);return r},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],u=[1,10],c=[1,11],l=[1,12],y=[1,13],A=[1,20],b=[1,21],E=[1,22],v=[1,23],V=[1,24],O=[1,19],Z=[1,25],w=[1,26],R=[1,18],J=[1,33],tt=[1,34],et=[1,35],st=[1,36],it=[1,37],yt=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],S=[1,42],T=[1,43],L=[1,52],M=[40,50,68,69],F=[1,63],B=[1,61],N=[1,58],Y=[1,62],P=[1,64],K=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],dt=[63,64,65,66,67],pt=[1,81],_t=[1,80],ft=[1,78],bt=[1,79],gt=[6,10,42,47],x=[6,10,13,41,42,47,48,49],G=[1,89],U=[1,88],j=[1,87],z=[19,56],mt=[1,98],Et=[1,97],nt=[19,56,58,60],at={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:o(function(m,a,r,n,h,t,p){var s=t.length-1;switch(h){case 1:break;case 2:this.$=[];break;case 3:t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 5:this.$=t[s];break;case 6:case 7:this.$=[];break;case 8:n.addEntity(t[s-4]),n.addEntity(t[s-2]),n.addRelationship(t[s-4],t[s],t[s-2],t[s-3]);break;case 9:n.addEntity(t[s-8]),n.addEntity(t[s-4]),n.addRelationship(t[s-8],t[s],t[s-4],t[s-5]),n.setClass([t[s-8]],t[s-6]),n.setClass([t[s-4]],t[s-2]);break;case 10:n.addEntity(t[s-6]),n.addEntity(t[s-2]),n.addRelationship(t[s-6],t[s],t[s-2],t[s-3]),n.setClass([t[s-6]],t[s-4]);break;case 11:n.addEntity(t[s-6]),n.addEntity(t[s-4]),n.addRelationship(t[s-6],t[s],t[s-4],t[s-5]),n.setClass([t[s-4]],t[s-2]);break;case 12:n.addEntity(t[s-3]),n.addAttributes(t[s-3],t[s-1]);break;case 13:n.addEntity(t[s-5]),n.addAttributes(t[s-5],t[s-1]),n.setClass([t[s-5]],t[s-3]);break;case 14:n.addEntity(t[s-2]);break;case 15:n.addEntity(t[s-4]),n.setClass([t[s-4]],t[s-2]);break;case 16:n.addEntity(t[s]);break;case 17:n.addEntity(t[s-2]),n.setClass([t[s-2]],t[s]);break;case 18:n.addEntity(t[s-6],t[s-4]),n.addAttributes(t[s-6],t[s-1]);break;case 19:n.addEntity(t[s-8],t[s-6]),n.addAttributes(t[s-8],t[s-1]),n.setClass([t[s-8]],t[s-3]);break;case 20:n.addEntity(t[s-5],t[s-3]);break;case 21:n.addEntity(t[s-7],t[s-5]),n.setClass([t[s-7]],t[s-2]);break;case 22:n.addEntity(t[s-3],t[s-1]);break;case 23:n.addEntity(t[s-5],t[s-3]),n.setClass([t[s-5]],t[s]);break;case 24:case 25:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 26:case 27:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 32:n.setDirection("TB");break;case 33:n.setDirection("BT");break;case 34:n.setDirection("RL");break;case 35:n.setDirection("LR");break;case 36:this.$=t[s-3],n.addClass(t[s-2],t[s-1]);break;case 37:case 38:case 56:case 64:this.$=[t[s]];break;case 39:case 40:this.$=t[s-2].concat([t[s]]);break;case 41:this.$=t[s-2],n.setClass(t[s-1],t[s]);break;case 42:this.$=t[s-3],n.addCssStyles(t[s-2],t[s-1]);break;case 43:this.$=[t[s]];break;case 44:t[s-2].push(t[s]),this.$=t[s-2];break;case 46:this.$=t[s-1]+t[s];break;case 54:case 76:case 77:this.$=t[s].replace(/"/g,"");break;case 55:case 78:this.$=t[s];break;case 57:t[s].push(t[s-1]),this.$=t[s];break;case 58:this.$={type:t[s-1],name:t[s]};break;case 59:this.$={type:t[s-2],name:t[s-1],keys:t[s]};break;case 60:this.$={type:t[s-2],name:t[s-1],comment:t[s]};break;case 61:this.$={type:t[s-3],name:t[s-2],keys:t[s-1],comment:t[s]};break;case 62:case 63:case 66:this.$=t[s];break;case 65:t[s-2].push(t[s]),this.$=t[s-2];break;case 67:this.$=t[s].replace(/"/g,"");break;case 68:this.$={cardA:t[s],relType:t[s-1],cardB:t[s-2]};break;case 69:this.$=n.Cardinality.ZERO_OR_ONE;break;case 70:this.$=n.Cardinality.ZERO_OR_MORE;break;case 71:this.$=n.Cardinality.ONE_OR_MORE;break;case 72:this.$=n.Cardinality.ONLY_ONE;break;case 73:this.$=n.Cardinality.MD_PARENT;break;case 74:this.$=n.Identification.NON_IDENTIFYING;break;case 75:this.$=n.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:u,24:c,26:l,28:y,29:14,30:15,31:16,32:17,33:A,34:b,35:E,36:v,37:V,40:O,43:Z,44:w,50:R},e(i,[2,7],{1:[2,1]}),e(i,[2,3]),{9:27,11:9,22:u,24:c,26:l,28:y,29:14,30:15,31:16,32:17,33:A,34:b,35:E,36:v,37:V,40:O,43:Z,44:w,50:R},e(i,[2,5]),e(i,[2,6]),e(i,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:J,64:tt,65:et,66:st,67:it}),{23:[1,38]},{25:[1,39]},{27:[1,40]},e(i,[2,27]),e(i,[2,28]),e(i,[2,29]),e(i,[2,30]),e(i,[2,31]),e(yt,[2,54]),e(yt,[2,55]),e(i,[2,32]),e(i,[2,33]),e(i,[2,34]),e(i,[2,35]),{16:41,40:S,41:T},{16:44,40:S,41:T},{16:45,40:S,41:T},e(i,[2,4]),{11:46,40:O,50:R},{16:47,40:S,41:T},{18:48,19:[1,49],51:50,52:51,56:L},{11:53,40:O,50:R},{62:54,68:[1,55],69:[1,56]},e(M,[2,69]),e(M,[2,70]),e(M,[2,71]),e(M,[2,72]),e(M,[2,73]),e(i,[2,24]),e(i,[2,25]),e(i,[2,26]),{13:F,38:57,41:B,42:N,45:59,46:60,48:Y,49:P},e(K,[2,37]),e(K,[2,38]),{16:65,40:S,41:T,42:N},{13:F,38:66,41:B,42:N,45:59,46:60,48:Y,49:P},{13:[1,67],15:[1,68]},e(i,[2,17],{61:32,12:69,17:[1,70],42:N,63:J,64:tt,65:et,66:st,67:it}),{19:[1,71]},e(i,[2,14]),{18:72,19:[2,56],51:50,52:51,56:L},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:J,64:tt,65:et,66:st,67:it},e(dt,[2,74]),e(dt,[2,75]),{6:pt,10:_t,39:77,42:ft,47:bt},{40:[1,82],41:[1,83]},e(gt,[2,43],{46:84,13:F,41:B,48:Y,49:P}),e(x,[2,45]),e(x,[2,50]),e(x,[2,51]),e(x,[2,52]),e(x,[2,53]),e(i,[2,41],{42:N}),{6:pt,10:_t,39:85,42:ft,47:bt},{14:86,40:G,50:U,70:j},{16:90,40:S,41:T},{11:91,40:O,50:R},{18:92,19:[1,93],51:50,52:51,56:L},e(i,[2,12]),{19:[2,57]},e(z,[2,58],{54:94,55:95,57:96,59:mt,60:Et}),e([19,56,59,60],[2,63]),e(i,[2,22],{15:[1,100],17:[1,99]}),e([40,50],[2,68]),e(i,[2,36]),{13:F,41:B,45:101,46:60,48:Y,49:P},e(i,[2,47]),e(i,[2,48]),e(i,[2,49]),e(K,[2,39]),e(K,[2,40]),e(x,[2,46]),e(i,[2,42]),e(i,[2,8]),e(i,[2,76]),e(i,[2,77]),e(i,[2,78]),{13:[1,102],42:N},{13:[1,104],15:[1,103]},{19:[1,105]},e(i,[2,15]),e(z,[2,59],{55:106,58:[1,107],60:Et}),e(z,[2,60]),e(nt,[2,64]),e(z,[2,67]),e(nt,[2,66]),{18:108,19:[1,109],51:50,52:51,56:L},{16:110,40:S,41:T},e(gt,[2,44],{46:84,13:F,41:B,48:Y,49:P}),{14:111,40:G,50:U,70:j},{16:112,40:S,41:T},{14:113,40:G,50:U,70:j},e(i,[2,13]),e(z,[2,61]),{57:114,59:mt},{19:[1,115]},e(i,[2,20]),e(i,[2,23],{17:[1,116],42:N}),e(i,[2,11]),{13:[1,117],42:N},e(i,[2,10]),e(nt,[2,65]),e(i,[2,18]),{18:118,19:[1,119],51:50,52:51,56:L},{14:120,40:G,50:U,70:j},{19:[1,121]},e(i,[2,21]),e(i,[2,9]),e(i,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:o(function(m,a){if(a.recoverable)this.trace(m);else{var r=new Error(m);throw r.hash=a,r}},"parseError"),parse:o(function(m){var a=this,r=[0],n=[],h=[null],t=[],p=this.table,s="",X=0,kt=0,Rt=2,Ot=1,Ct=t.slice.call(arguments,1),d=Object.create(this.lexer),C={yy:{}};for(var rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,rt)&&(C.yy[rt]=this.yy[rt]);d.setInput(m,C.yy),C.yy.lexer=d,C.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var ct=d.yylloc;t.push(ct);var It=d.options&&d.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xt(f){r.length=r.length-2*f,h.length=h.length-f,t.length=t.length-f}o(xt,"popStack");function St(){var f;return f=n.pop()||d.lex()||Ot,typeof f!="number"&&(f instanceof Array&&(n=f,f=n.pop()),f=a.symbols_[f]||f),f}o(St,"lex");for(var _,I,g,ot,$={},Q,k,Tt,H;;){if(I=r[r.length-1],this.defaultActions[I]?g=this.defaultActions[I]:((_===null||typeof _>"u")&&(_=St()),g=p[I]&&p[I][_]),typeof g>"u"||!g.length||!g[0]){var lt="";H=[];for(Q in p[I])this.terminals_[Q]&&Q>Rt&&H.push("'"+this.terminals_[Q]+"'");d.showPosition?lt="Parse error on line "+(X+1)+`:
2
2
  `+d.showPosition()+`
3
- Expecting `+H.join(", ")+", got '"+(this.terminals_[_]||_)+"'":lt="Parse error on line "+(X+1)+": Unexpected "+(_==St?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(lt,{text:d.match,token:this.terminals_[_]||_,line:d.yylineno,loc:ct,expected:H})}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+_);switch(g[0]){case 1:r.push(_),h.push(d.yytext),t.push(d.yylloc),r.push(g[1]),_=null,kt=d.yyleng,s=d.yytext,X=d.yylineno,ct=d.yylloc;break;case 2:if(k=this.productions_[g[1]][1],v.$=h[h.length-k],v._$={first_line:t[t.length-(k||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(k||1)].first_column,last_column:t[t.length-1].last_column},It&&(v._$.range=[t[t.length-(k||1)].range[0],t[t.length-1].range[1]]),ot=this.performAction.apply(v,[s,kt,X,C.yy,g[1],h,t].concat(Ct)),typeof ot<"u")return ot;k&&(r=r.slice(0,-1*k*2),h=h.slice(0,-1*k),t=t.slice(0,-1*k)),r.push(this.productions_[g[1]][0]),h.push(v.$),t.push(v._$),Tt=p[r[r.length-2]][r[r.length-1]],r.push(Tt);break;case 3:return!0}}return!0},"parse")},At=(function(){var m={EOF:1,parseError:o(function(a,r){if(this.yy.parser)this.yy.parser.parseError(a,r);else throw new Error(a)},"parseError"),setInput:o(function(a,r){return this.yy=r||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var r=a.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:o(function(a){var r=a.length,n=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var h=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var t=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===h.length?this.yylloc.first_column:0)+h[h.length-n.length].length-n[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[t[0],t[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
3
+ Expecting `+H.join(", ")+", got '"+(this.terminals_[_]||_)+"'":lt="Parse error on line "+(X+1)+": Unexpected "+(_==Ot?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(lt,{text:d.match,token:this.terminals_[_]||_,line:d.yylineno,loc:ct,expected:H})}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+_);switch(g[0]){case 1:r.push(_),h.push(d.yytext),t.push(d.yylloc),r.push(g[1]),_=null,kt=d.yyleng,s=d.yytext,X=d.yylineno,ct=d.yylloc;break;case 2:if(k=this.productions_[g[1]][1],$.$=h[h.length-k],$._$={first_line:t[t.length-(k||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(k||1)].first_column,last_column:t[t.length-1].last_column},It&&($._$.range=[t[t.length-(k||1)].range[0],t[t.length-1].range[1]]),ot=this.performAction.apply($,[s,kt,X,C.yy,g[1],h,t].concat(Ct)),typeof ot<"u")return ot;k&&(r=r.slice(0,-1*k*2),h=h.slice(0,-1*k),t=t.slice(0,-1*k)),r.push(this.productions_[g[1]][0]),h.push($.$),t.push($._$),Tt=p[r[r.length-2]][r[r.length-1]],r.push(Tt);break;case 3:return!0}}return!0},"parse")},At=(function(){var m={EOF:1,parseError:o(function(a,r){if(this.yy.parser)this.yy.parser.parseError(a,r);else throw new Error(a)},"parseError"),setInput:o(function(a,r){return this.yy=r||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var r=a.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:o(function(a){var r=a.length,n=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var h=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var t=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===h.length?this.yylloc.first_column:0)+h[h.length-n.length].length-n[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[t[0],t[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(a){this.unput(this.match.slice(a))},"less"),pastInput:o(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var a=this.pastInput(),r=new Array(a.length+1).join("-");return a+this.upcomingInput()+`
5
5
  `+r+"^"},"showPosition"),test_match:o(function(a,r){var n,h,t;if(this.options.backtrack_lexer&&(t={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(t.yylloc.range=this.yylloc.range.slice(0))),h=a[0].match(/(?:\r\n?|\n).*/g),h&&(this.yylineno+=h.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:h?h[h.length-1].length-h[h.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],n=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var p in t)this[p]=t[p];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,r,n,h;this._more||(this.yytext="",this.match="");for(var t=this._currentRules(),p=0;p<t.length;p++)if(n=this._input.match(this.rules[t[p]]),n&&(!r||n[0].length>r[0].length)){if(r=n,h=p,this.options.backtrack_lexer){if(a=this.test_match(n,t[p]),a!==!1)return a;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(a=this.test_match(r,t[h]),a!==!1?a:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var a=this.next();return a||this.lex()},"lex"),begin:o(function(a){this.conditionStack.push(a)},"begin"),popState:o(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:o(function(a){this.begin(a)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(a,r,n,h){switch(n){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 59;case 25:return 56;case 26:return 56;case 27:return 60;case 28:break;case 29:return this.popState(),19;case 30:return r.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 63;case 42:return 65;case 43:return 65;case 44:return 65;case 45:return 63;case 46:return 63;case 47:return 64;case 48:return 64;case 49:return 64;case 50:return 64;case 51:return 64;case 52:return 65;case 53:return 64;case 54:return 65;case 55:return 66;case 56:return 66;case 57:return 66;case 58:return 66;case 59:return 63;case 60:return 64;case 61:return 65;case 62:return 67;case 63:return 68;case 64:return 69;case 65:return 69;case 66:return 68;case 67:return 68;case 68:return 68;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 73:return r.yytext[0];case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}};return m})();at.lexer=At;function W(){this.yy={}}return o(W,"Parser"),W.prototype=at,at.Parser=W,new W})();ut.parser=ut;var Xt=ut,ht,Qt=(ht=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=$t,this.getAccTitle=Lt,this.setAccDescription=wt,this.getAccDescription=Mt,this.setDiagramTitle=Ft,this.getDiagramTitle=Bt,this.getConfig=o(()=>V().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,i=""){var u;return this.entities.has(e)?!((u=this.entities.get(e))!=null&&u.alias)&&i&&(this.entities.get(e).alias=i,D.info(`Add alias '${i}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:i,shape:"erBox",look:V().look??"default",cssClasses:"default",cssStyles:[]}),D.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,i){const u=this.addEntity(e);let c;for(c=i.length-1;c>=0;c--)i[c].keys||(i[c].keys=[]),i[c].comment||(i[c].comment=""),u.attributes.push(i[c]),D.debug("Added attribute ",i[c].name)}addRelationship(e,i,u,c){const l=this.entities.get(e),y=this.entities.get(u);if(!l||!y)return;const A={entityA:l.id,roleA:i,entityB:y.id,relSpec:c};this.relationships.push(A),D.debug("Added new relationship :",A)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let i=[];for(const u of e){const c=this.classes.get(u);c!=null&&c.styles&&(i=[...i,...c.styles??[]].map(l=>l.trim())),c!=null&&c.textStyles&&(i=[...i,...c.textStyles??[]].map(l=>l.trim()))}return i}addCssStyles(e,i){for(const u of e){const c=this.entities.get(u);if(!i||!c)return;for(const l of i)c.cssStyles.push(l)}}addClass(e,i){e.forEach(u=>{let c=this.classes.get(u);c===void 0&&(c={id:u,styles:[],textStyles:[]},this.classes.set(u,c)),i&&i.forEach(function(l){if(/color/.exec(l)){const y=l.replace("fill","bgFill");c.textStyles.push(y)}c.styles.push(l)})})}setClass(e,i){for(const u of e){const c=this.entities.get(u);if(c)for(const l of i)c.cssClasses+=" "+l}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Yt()}getData(){const e=[],i=[],u=V();for(const l of this.entities.keys()){const y=this.entities.get(l);y&&(y.cssCompiledStyles=this.getCompiledStyles(y.cssClasses.split(" ")),e.push(y))}let c=0;for(const l of this.relationships){const y={id:Pt(l.entityA,l.entityB,{prefix:"id",counter:c++}),type:"normal",curve:"basis",start:l.entityA,end:l.entityB,label:l.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:l.relSpec.cardB.toLowerCase(),arrowTypeEnd:l.relSpec.cardA.toLowerCase(),pattern:l.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:u.look};i.push(y)}return{nodes:e,edges:i,other:{},config:u,direction:"TB"}}},o(ht,"ErDB"),ht),Nt={};Kt(Nt,{draw:()=>Ht});var Ht=o(async function(e,i,u,c){D.info("REF0:"),D.info("Drawing er diagram (unified)",i);const{securityLevel:l,er:y,layout:A}=V(),b=c.db.getData(),E=vt(i,l);b.type=c.type,b.layoutAlgorithm=Zt(A),b.config.flowchart.nodeSpacing=y?.nodeSpacing||140,b.config.flowchart.rankSpacing=y?.rankSpacing||80,b.direction=c.db.getDirection(),b.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],b.diagramId=i,await Gt(b,E),b.layoutAlgorithm==="elk"&&E.select(".edges").lower();const $=E.selectAll('[id*="-background"]');Array.from($).length>0&&$.each(function(){const S=Ut(this),K=S.attr("id").replace("-background",""),L=E.select(`#${CSS.escape(K)}`);if(!L.empty()){const R=L.attr("transform");S.attr("transform",R)}}),jt.insertTitle(E,"erDiagramTitleText",y?.titleTopMargin??25,c.db.getDiagramTitle()),Dt(E,8,"erDiagram",y?.useMaxWidth??!0)},"draw"),Vt=o((e,i)=>{const u=Wt,c=u(e,"r"),l=u(e,"g"),y=u(e,"b");return zt(c,l,y,i)},"fade"),qt=o(e=>`
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var a=this.next();return a||this.lex()},"lex"),begin:o(function(a){this.conditionStack.push(a)},"begin"),popState:o(function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:o(function(a){this.begin(a)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(a,r,n,h){switch(n){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 59;case 25:return 56;case 26:return 56;case 27:return 60;case 28:break;case 29:return this.popState(),19;case 30:return r.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 63;case 42:return 65;case 43:return 65;case 44:return 65;case 45:return 63;case 46:return 63;case 47:return 64;case 48:return 64;case 49:return 64;case 50:return 64;case 51:return 64;case 52:return 65;case 53:return 64;case 54:return 65;case 55:return 66;case 56:return 66;case 57:return 66;case 58:return 66;case 59:return 63;case 60:return 64;case 61:return 65;case 62:return 67;case 63:return 68;case 64:return 69;case 65:return 69;case 66:return 68;case 67:return 68;case 68:return 68;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 73:return r.yytext[0];case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}};return m})();at.lexer=At;function W(){this.yy={}}return o(W,"Parser"),W.prototype=at,at.Parser=W,new W})();ut.parser=ut;var Xt=ut,ht,Qt=(ht=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=vt,this.getAccTitle=wt,this.setAccDescription=Lt,this.getAccDescription=Mt,this.setDiagramTitle=Ft,this.getDiagramTitle=Bt,this.getConfig=o(()=>q().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,i=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&i&&(this.entities.get(e).alias=i,D.info(`Add alias '${i}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:i,shape:"erBox",look:q().look??"default",cssClasses:"default",cssStyles:[]}),D.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,i){const u=this.addEntity(e);let c;for(c=i.length-1;c>=0;c--)i[c].keys||(i[c].keys=[]),i[c].comment||(i[c].comment=""),u.attributes.push(i[c]),D.debug("Added attribute ",i[c].name)}addRelationship(e,i,u,c){const l=this.entities.get(e),y=this.entities.get(u);if(!l||!y)return;const A={entityA:l.id,roleA:i,entityB:y.id,relSpec:c};this.relationships.push(A),D.debug("Added new relationship :",A)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let i=[];for(const u of e){const c=this.classes.get(u);c?.styles&&(i=[...i,...c.styles??[]].map(l=>l.trim())),c?.textStyles&&(i=[...i,...c.textStyles??[]].map(l=>l.trim()))}return i}addCssStyles(e,i){for(const u of e){const c=this.entities.get(u);if(!i||!c)return;for(const l of i)c.cssStyles.push(l)}}addClass(e,i){e.forEach(u=>{let c=this.classes.get(u);c===void 0&&(c={id:u,styles:[],textStyles:[]},this.classes.set(u,c)),i&&i.forEach(function(l){if(/color/.exec(l)){const y=l.replace("fill","bgFill");c.textStyles.push(y)}c.styles.push(l)})})}setClass(e,i){for(const u of e){const c=this.entities.get(u);if(c)for(const l of i)c.cssClasses+=" "+l}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Yt()}getData(){const e=[],i=[],u=q();for(const l of this.entities.keys()){const y=this.entities.get(l);y&&(y.cssCompiledStyles=this.getCompiledStyles(y.cssClasses.split(" ")),e.push(y))}let c=0;for(const l of this.relationships){const y={id:Pt(l.entityA,l.entityB,{prefix:"id",counter:c++}),type:"normal",curve:"basis",start:l.entityA,end:l.entityB,label:l.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:l.relSpec.cardB.toLowerCase(),arrowTypeEnd:l.relSpec.cardA.toLowerCase(),pattern:l.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:u.look};i.push(y)}return{nodes:e,edges:i,other:{},config:u,direction:"TB"}}},o(ht,"ErDB"),ht),Nt={};Zt(Nt,{draw:()=>Ht});var Ht=o(async function(e,i,u,c){D.info("REF0:"),D.info("Drawing er diagram (unified)",i);const{securityLevel:l,er:y,layout:A}=q(),b=c.db.getData(),E=$t(i,l);b.type=c.type,b.layoutAlgorithm=Kt(A),b.config.flowchart.nodeSpacing=y?.nodeSpacing||140,b.config.flowchart.rankSpacing=y?.rankSpacing||80,b.direction=c.db.getDirection(),b.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],b.diagramId=i,await Gt(b,E),b.layoutAlgorithm==="elk"&&E.select(".edges").lower();const v=E.selectAll('[id*="-background"]');Array.from(v).length>0&&v.each(function(){const O=Ut(this),Z=O.attr("id").replace("-background",""),w=E.select(`#${CSS.escape(Z)}`);if(!w.empty()){const R=w.attr("transform");O.attr("transform",R)}}),jt.insertTitle(E,"erDiagramTitleText",y?.titleTopMargin??25,c.db.getDiagramTitle()),Dt(E,8,"erDiagram",y?.useMaxWidth??!0)},"draw"),qt=o((e,i)=>{const u=Wt,c=u(e,"r"),l=u(e,"g"),y=u(e,"b");return zt(c,l,y,i)},"fade"),Vt=o(e=>`
7
7
  .entityBox {
8
8
  fill: ${e.mainBkg};
9
9
  stroke: ${e.nodeBorder};
@@ -19,7 +19,7 @@ Expecting `+H.join(", ")+", got '"+(this.terminals_[_]||_)+"'":lt="Parse error o
19
19
  }
20
20
 
21
21
  .labelBkg {
22
- background-color: ${Vt(e.tertiaryColor,.5)};
22
+ background-color: ${qt(e.tertiaryColor,.5)};
23
23
  }
24
24
 
25
25
  .edgeLabel .label {
@@ -57,4 +57,4 @@ Expecting `+H.join(", ")+", got '"+(this.terminals_[_]||_)+"'":lt="Parse error o
57
57
  stroke: ${e.lineColor} !important;
58
58
  stroke-width: 1;
59
59
  }
60
- `,"getStyles"),Jt=qt,ne={parser:Xt,get db(){return new Qt},renderer:Nt,styles:Jt};export{ne as diagram};
60
+ `,"getStyles"),Jt=Vt,ne={parser:Xt,get db(){return new Qt},renderer:Nt,styles:Jt};export{ne as diagram};