@mir-code/specs-platform 1.0.1
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.
- package/LICENSE +21 -0
- package/README.md +460 -0
- package/assets/specs-usage-statusline.sh +77 -0
- package/assets/template/.agents/README.md +123 -0
- package/assets/template/.agents/RUNTIME.md +64 -0
- package/assets/template/.agents/agents/discovery-agent.md +15 -0
- package/assets/template/.agents/agents/drawing-agent.md +15 -0
- package/assets/template/.agents/agents/feature-runner.md +15 -0
- package/assets/template/.agents/agents/refinement-runner.md +15 -0
- package/assets/template/.agents/agents/refinement.md +15 -0
- package/assets/template/.agents/project.md +158 -0
- package/assets/template/.agents/scripts/check-commit.mjs +70 -0
- package/assets/template/.agents/scripts/validate-spec.mjs +345 -0
- package/assets/template/.agents/skills/discovery-agent/SKILL.md +80 -0
- package/assets/template/.agents/skills/discovery-writing/SKILL.md +76 -0
- package/assets/template/.agents/skills/drawing-agent/SKILL.md +85 -0
- package/assets/template/.agents/skills/drawing-writing/SKILL.md +100 -0
- package/assets/template/.agents/skills/execution-protocol/SKILL.md +110 -0
- package/assets/template/.agents/skills/execution-protocol/references/git.md +104 -0
- package/assets/template/.agents/skills/execution-protocol/references/relatorio-halt.md +103 -0
- package/assets/template/.agents/skills/feature-runner/SKILL.md +81 -0
- package/assets/template/.agents/skills/feature-runner/references/divergencias.md +38 -0
- package/assets/template/.agents/skills/feature-runner/references/implementar.md +80 -0
- package/assets/template/.agents/skills/feature-runner/references/localizar.md +46 -0
- package/assets/template/.agents/skills/mermaid-diagramming/SKILL.md +198 -0
- package/assets/template/.agents/skills/prototype-check/SKILL.md +90 -0
- package/assets/template/.agents/skills/refinement/SKILL.md +136 -0
- package/assets/template/.agents/skills/refinement/references/estrutura.md +27 -0
- package/assets/template/.agents/skills/refinement/references/mapear-terreno.md +46 -0
- package/assets/template/.agents/skills/refinement/references/validar-renderizacao.md +29 -0
- package/assets/template/.agents/skills/refinement-runner/SKILL.md +145 -0
- package/assets/template/.agents/skills/requirements-closure/SKILL.md +236 -0
- package/assets/template/.agents/skills/spec-writing/SKILL.md +258 -0
- package/assets/template/.agents/skills/test-strategy/SKILL.md +176 -0
- package/assets/template/.agents/skills/verification/SKILL.md +143 -0
- package/assets/template/.specs/config.json +39 -0
- package/assets/template/.specs/discoveries/meta.json +4 -0
- package/assets/template/.specs/drawings/meta.json +4 -0
- package/assets/template/.specs/specs/_templates/task-backend.md +75 -0
- package/assets/template/.specs/specs/_templates/task-frontend.md +89 -0
- package/assets/template/.specs/specs/_templates/task-integracao.md +72 -0
- package/assets/template/.specs/specs/exemplo/feat-exemplo-primeira-task.md +82 -0
- package/assets/template/.specs/specs/exemplo/meta.json +8 -0
- package/assets/template/.specs/specs/exemplo/overview.md +45 -0
- package/assets/template/.specs/specs/meta.json +4 -0
- package/assets/template/SPECS.md +213 -0
- package/dist/chunk-SOOETS3N.js +3490 -0
- package/dist/chunk-SOOETS3N.js.map +1 -0
- package/dist/cli.js +15 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/ui/assets/abnfDiagram-VCTEODGH-DYXtkHNq.js +2 -0
- package/dist/ui/assets/abnfDiagram-VCTEODGH-DYXtkHNq.js.map +1 -0
- package/dist/ui/assets/arc-CJs0gz4E.js +2 -0
- package/dist/ui/assets/arc-CJs0gz4E.js.map +1 -0
- package/dist/ui/assets/architectureDiagram-5GKGNRK7-Br7ZNRfe.js +37 -0
- package/dist/ui/assets/architectureDiagram-5GKGNRK7-Br7ZNRfe.js.map +1 -0
- package/dist/ui/assets/blockDiagram-I7D4REHJ-172V7R5o.js +130 -0
- package/dist/ui/assets/blockDiagram-I7D4REHJ-172V7R5o.js.map +1 -0
- package/dist/ui/assets/c4Diagram-7LVT6UL2-B4AYFhRs.js +39 -0
- package/dist/ui/assets/c4Diagram-7LVT6UL2-B4AYFhRs.js.map +1 -0
- package/dist/ui/assets/channel-BfWO3B41.js +2 -0
- package/dist/ui/assets/channel-BfWO3B41.js.map +1 -0
- package/dist/ui/assets/chunk-2Q5K7J3B-B-u7gtZN.js +2 -0
- package/dist/ui/assets/chunk-2Q5K7J3B-B-u7gtZN.js.map +1 -0
- package/dist/ui/assets/chunk-5VM5RSS4-CjFDq_cq.js +16 -0
- package/dist/ui/assets/chunk-5VM5RSS4-CjFDq_cq.js.map +1 -0
- package/dist/ui/assets/chunk-F27PBJKO-BDYeB7B8.js +2 -0
- package/dist/ui/assets/chunk-F27PBJKO-BDYeB7B8.js.map +1 -0
- package/dist/ui/assets/chunk-IMKFNOWR-y2kXPnac.js +232 -0
- package/dist/ui/assets/chunk-IMKFNOWR-y2kXPnac.js.map +1 -0
- package/dist/ui/assets/chunk-JWPE2WC7-DyCryvDN.js +2 -0
- package/dist/ui/assets/chunk-JWPE2WC7-DyCryvDN.js.map +1 -0
- package/dist/ui/assets/chunk-POPQ4Y6H-DeaxKHvR.js +2 -0
- package/dist/ui/assets/chunk-POPQ4Y6H-DeaxKHvR.js.map +1 -0
- package/dist/ui/assets/chunk-SVP7TREG-CmcZEncL.js +89 -0
- package/dist/ui/assets/chunk-SVP7TREG-CmcZEncL.js.map +1 -0
- package/dist/ui/assets/chunk-TICWLB2K-Df1RRXWR.js +207 -0
- package/dist/ui/assets/chunk-TICWLB2K-Df1RRXWR.js.map +1 -0
- package/dist/ui/assets/chunk-XXDRQBXY-ClTat8Q0.js +2 -0
- package/dist/ui/assets/chunk-XXDRQBXY-ClTat8Q0.js.map +1 -0
- package/dist/ui/assets/classDiagram-ZZMXUADV-YTUiu8rF.js +2 -0
- package/dist/ui/assets/classDiagram-ZZMXUADV-YTUiu8rF.js.map +1 -0
- package/dist/ui/assets/classDiagram-v2-VYDZK3BY-YTUiu8rF.js +2 -0
- package/dist/ui/assets/classDiagram-v2-VYDZK3BY-YTUiu8rF.js.map +1 -0
- package/dist/ui/assets/cose-bilkent-JH36ORCC-QvqQLoy5.js +2 -0
- package/dist/ui/assets/cose-bilkent-JH36ORCC-QvqQLoy5.js.map +1 -0
- package/dist/ui/assets/cynefin-OW5HDTMX-BY6w3pAQ.js +179 -0
- package/dist/ui/assets/cynefin-OW5HDTMX-BY6w3pAQ.js.map +1 -0
- package/dist/ui/assets/cynefinDiagram-5FMLGOSQ-luPP4ha1.js +63 -0
- package/dist/ui/assets/cynefinDiagram-5FMLGOSQ-luPP4ha1.js.map +1 -0
- package/dist/ui/assets/cytoscape.esm-Ix0LnXOy.js +332 -0
- package/dist/ui/assets/cytoscape.esm-Ix0LnXOy.js.map +1 -0
- package/dist/ui/assets/dagre-GXQ25YYZ-DhpPwKqq.js +5 -0
- package/dist/ui/assets/dagre-GXQ25YYZ-DhpPwKqq.js.map +1 -0
- package/dist/ui/assets/defaultLocale-DX6XiGOO.js +2 -0
- package/dist/ui/assets/defaultLocale-DX6XiGOO.js.map +1 -0
- package/dist/ui/assets/diagram-S7CK7UJ4-B9wvQM0w.js +31 -0
- package/dist/ui/assets/diagram-S7CK7UJ4-B9wvQM0w.js.map +1 -0
- package/dist/ui/assets/diagram-UQ7AKVKN-gm1M_iZS.js +42 -0
- package/dist/ui/assets/diagram-UQ7AKVKN-gm1M_iZS.js.map +1 -0
- package/dist/ui/assets/diagram-VSXAHHWV-DkEB6nEx.js +4 -0
- package/dist/ui/assets/diagram-VSXAHHWV-DkEB6nEx.js.map +1 -0
- package/dist/ui/assets/diagram-VX7I27RA-Ce2F1bHi.js +25 -0
- package/dist/ui/assets/diagram-VX7I27RA-Ce2F1bHi.js.map +1 -0
- package/dist/ui/assets/diagram-Z3DM3KII-B5ArCh-E.js +25 -0
- package/dist/ui/assets/diagram-Z3DM3KII-B5ArCh-E.js.map +1 -0
- package/dist/ui/assets/ebnfDiagram-PWID7BFC-DgBM80MD.js +2 -0
- package/dist/ui/assets/ebnfDiagram-PWID7BFC-DgBM80MD.js.map +1 -0
- package/dist/ui/assets/erDiagram-RLTQ6QDP-C161af8G.js +100 -0
- package/dist/ui/assets/erDiagram-RLTQ6QDP-C161af8G.js.map +1 -0
- package/dist/ui/assets/flowDiagram-HODETNUW-B8N_WyW5.js +169 -0
- package/dist/ui/assets/flowDiagram-HODETNUW-B8N_WyW5.js.map +1 -0
- package/dist/ui/assets/ganttDiagram-EL5Y4UJY-CD2RJpTb.js +293 -0
- package/dist/ui/assets/ganttDiagram-EL5Y4UJY-CD2RJpTb.js.map +1 -0
- package/dist/ui/assets/gitGraphDiagram-WWUBYQGX-BrDAzeFT.js +107 -0
- package/dist/ui/assets/gitGraphDiagram-WWUBYQGX-BrDAzeFT.js.map +1 -0
- package/dist/ui/assets/index-CVWRdirI.css +32 -0
- package/dist/ui/assets/index-DoR97Zqf.js +408 -0
- package/dist/ui/assets/index-DoR97Zqf.js.map +1 -0
- package/dist/ui/assets/infoDiagram-27XIBGKW-HYGaMzrA.js +3 -0
- package/dist/ui/assets/infoDiagram-27XIBGKW-HYGaMzrA.js.map +1 -0
- package/dist/ui/assets/init-Gi6I4Gst.js +2 -0
- package/dist/ui/assets/init-Gi6I4Gst.js.map +1 -0
- package/dist/ui/assets/ishikawaDiagram-5VMMS53U-DXTLlBiw.js +71 -0
- package/dist/ui/assets/ishikawaDiagram-5VMMS53U-DXTLlBiw.js.map +1 -0
- package/dist/ui/assets/journeyDiagram-3NMN7TZE-DSJ8QN1S.js +140 -0
- package/dist/ui/assets/journeyDiagram-3NMN7TZE-DSJ8QN1S.js.map +1 -0
- package/dist/ui/assets/kanban-definition-UXKFOSKX-Bm5iz0k3.js +90 -0
- package/dist/ui/assets/kanban-definition-UXKFOSKX-Bm5iz0k3.js.map +1 -0
- package/dist/ui/assets/katex-C5jXJg4s.js +258 -0
- package/dist/ui/assets/katex-C5jXJg4s.js.map +1 -0
- package/dist/ui/assets/layout-DfJgW6eG.js +2 -0
- package/dist/ui/assets/layout-DfJgW6eG.js.map +1 -0
- package/dist/ui/assets/linear-B_kyVotV.js +2 -0
- package/dist/ui/assets/linear-B_kyVotV.js.map +1 -0
- package/dist/ui/assets/mermaid-block-CUJSBQFx.js +2 -0
- package/dist/ui/assets/mermaid-block-CUJSBQFx.js.map +1 -0
- package/dist/ui/assets/mermaid.core-ExHG1WnM.js +313 -0
- package/dist/ui/assets/mermaid.core-ExHG1WnM.js.map +1 -0
- package/dist/ui/assets/mindmap-definition-YA3MSWOX-B1Hh9dQz.js +97 -0
- package/dist/ui/assets/mindmap-definition-YA3MSWOX-B1Hh9dQz.js.map +1 -0
- package/dist/ui/assets/ordinal-Cboi1Yqb.js +2 -0
- package/dist/ui/assets/ordinal-Cboi1Yqb.js.map +1 -0
- package/dist/ui/assets/pegDiagram-XKGWAZYB-x242yOd7.js +2 -0
- package/dist/ui/assets/pegDiagram-XKGWAZYB-x242yOd7.js.map +1 -0
- package/dist/ui/assets/pieDiagram-E7YTZNPT-Dl-YP7Xs.js +40 -0
- package/dist/ui/assets/pieDiagram-E7YTZNPT-Dl-YP7Xs.js.map +1 -0
- package/dist/ui/assets/quadrantDiagram-AXDQQJYC-CMJ920V9.js +8 -0
- package/dist/ui/assets/quadrantDiagram-AXDQQJYC-CMJ920V9.js.map +1 -0
- package/dist/ui/assets/railroadDiagram-O6MQD6OU-1kV83y5t.js +2 -0
- package/dist/ui/assets/railroadDiagram-O6MQD6OU-1kV83y5t.js.map +1 -0
- package/dist/ui/assets/requirementDiagram-BXWQKSXE-BFd8ZZD3.js +85 -0
- package/dist/ui/assets/requirementDiagram-BXWQKSXE-BFd8ZZD3.js.map +1 -0
- package/dist/ui/assets/sankeyDiagram-P5KCCOFB-C0LZevnf.js +41 -0
- package/dist/ui/assets/sankeyDiagram-P5KCCOFB-C0LZevnf.js.map +1 -0
- package/dist/ui/assets/sequenceDiagram-WJ2MYXX4-BasIXLJ0.js +163 -0
- package/dist/ui/assets/sequenceDiagram-WJ2MYXX4-BasIXLJ0.js.map +1 -0
- package/dist/ui/assets/sizeCapture-INFHLROL-qAtnqB7N.js +2 -0
- package/dist/ui/assets/sizeCapture-INFHLROL-qAtnqB7N.js.map +1 -0
- package/dist/ui/assets/stateDiagram-D77RDMKH-CllWDWZP.js +2 -0
- package/dist/ui/assets/stateDiagram-D77RDMKH-CllWDWZP.js.map +1 -0
- package/dist/ui/assets/stateDiagram-v2-MP3YSRHH-Dwntf8Tk.js +2 -0
- package/dist/ui/assets/stateDiagram-v2-MP3YSRHH-Dwntf8Tk.js.map +1 -0
- package/dist/ui/assets/swimlanes-42K2YHIH-Bgt0KslH.js +2 -0
- package/dist/ui/assets/swimlanes-42K2YHIH-Bgt0KslH.js.map +1 -0
- package/dist/ui/assets/swimlanesDiagram-VR7AAH4N-C9abicdw.js +9 -0
- package/dist/ui/assets/swimlanesDiagram-VR7AAH4N-C9abicdw.js.map +1 -0
- package/dist/ui/assets/timeline-definition-24CTP7MA-BYO2h9Qr.js +121 -0
- package/dist/ui/assets/timeline-definition-24CTP7MA-BYO2h9Qr.js.map +1 -0
- package/dist/ui/assets/vennDiagram-4TSXK5OY-ZzyiwIUi.js +35 -0
- package/dist/ui/assets/vennDiagram-4TSXK5OY-ZzyiwIUi.js.map +1 -0
- package/dist/ui/assets/wardleyDiagram-VM6X3IG4-DfjKCK0N.js +79 -0
- package/dist/ui/assets/wardleyDiagram-VM6X3IG4-DfjKCK0N.js.map +1 -0
- package/dist/ui/assets/xychartDiagram-S5SC5T6Z-Z7daOfmM.js +8 -0
- package/dist/ui/assets/xychartDiagram-S5SC5T6Z-Z7daOfmM.js.map +1 -0
- package/dist/ui/favicon.svg +6 -0
- package/dist/ui/index.html +21 -0
- package/package.json +70 -0
- package/scripts/copy-ui.mjs +21 -0
- package/scripts/fix-node-pty-perms.cjs +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erDiagram-RLTQ6QDP-C161af8G.js","sources":["../../../../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-RLTQ6QDP.mjs"],"sourcesContent":["import {\n getDiagramElement\n} from \"./chunk-XXDRQBXY.mjs\";\nimport {\n setupViewPortForSVG\n} from \"./chunk-POPQ4Y6H.mjs\";\nimport {\n getRegisteredLayoutAlgorithm,\n render\n} from \"./chunk-TLUHSLCS.mjs\";\nimport \"./chunk-L3NEJ4N5.mjs\";\nimport \"./chunk-OSK3NFVY.mjs\";\nimport \"./chunk-GVQU2GXP.mjs\";\nimport \"./chunk-4HAMMTFA.mjs\";\nimport \"./chunk-P2QGCYS3.mjs\";\nimport \"./chunk-GMAD6QVW.mjs\";\nimport \"./chunk-PWAF6VOD.mjs\";\nimport {\n getEdgeId,\n utils_default\n} from \"./chunk-75Z2AOVW.mjs\";\nimport {\n clear,\n common_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-DU6HZSFF.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __export,\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/er/parser/erDiagram.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 9, 21, 23, 25, 27, 34, 37, 38, 39, 40, 41, 43, 46, 47, 51, 53, 54, 55], $V1 = [2, 2], $V2 = [1, 7], $V3 = [1, 9], $V4 = [1, 10], $V5 = [1, 11], $V6 = [1, 12], $V7 = [1, 30], $V8 = [1, 23], $V9 = [1, 24], $Va = [1, 25], $Vb = [1, 26], $Vc = [1, 27], $Vd = [1, 19], $Ve = [1, 28], $Vf = [1, 29], $Vg = [1, 20], $Vh = [1, 18], $Vi = [1, 21], $Vj = [1, 22], $Vk = [2, 6], $Vl = [6, 9, 21, 23, 25, 27, 33, 34, 37, 38, 39, 40, 41, 43, 46, 47, 51, 53, 54, 55], $Vm = [1, 36], $Vn = [1, 37], $Vo = [1, 38], $Vp = [1, 39], $Vq = [1, 40], $Vr = [6, 9, 12, 14, 16, 19, 20, 21, 23, 25, 27, 33, 34, 37, 38, 39, 40, 41, 43, 46, 47, 50, 51, 53, 54, 55, 69, 70, 71, 72, 73], $Vs = [1, 46], $Vt = [1, 47], $Vu = [1, 57], $Vv = [43, 51, 53, 54, 55, 74, 75], $Vw = [1, 70], $Vx = [1, 68], $Vy = [1, 65], $Vz = [1, 69], $VA = [1, 71], $VB = [6, 9, 12, 16, 21, 23, 25, 27, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 51, 52, 53, 54, 55, 69, 70, 71, 72, 73], $VC = [1, 78], $VD = [1, 77], $VE = [1, 76], $VF = [69, 70, 71, 72, 73], $VG = [1, 91], $VH = [6, 9, 45, 50], $VI = [6, 9, 12, 44, 45, 50, 51, 52], $VJ = [1, 101], $VK = [1, 100], $VL = [1, 99], $VM = [18, 61], $VN = [1, 110], $VO = [1, 109], $VP = [20, 43, 51, 53, 54, 55], $VQ = [18, 61, 64, 66];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"ER_DIAGRAM\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"statement\": 8, \"NEWLINE\": 9, \"entityName\": 10, \"relSpec\": 11, \"COLON\": 12, \"role\": 13, \"STYLE_SEPARATOR\": 14, \"idList\": 15, \"BLOCK_START\": 16, \"attributes\": 17, \"BLOCK_STOP\": 18, \"SQS\": 19, \"SQE\": 20, \"title\": 21, \"title_value\": 22, \"acc_title\": 23, \"acc_title_value\": 24, \"acc_descr\": 25, \"acc_descr_value\": 26, \"acc_descr_multiline_value\": 27, \"direction\": 28, \"classDefStatement\": 29, \"classStatement\": 30, \"styleStatement\": 31, \"subgraphHeader\": 32, \"END\": 33, \"SUBGRAPH\": 34, \"separator\": 35, \"subgraphTitle\": 36, \"direction_tb\": 37, \"direction_bt\": 38, \"direction_rl\": 39, \"direction_lr\": 40, \"CLASSDEF\": 41, \"stylesOpt\": 42, \"UNICODE_TEXT\": 43, \"STYLE_TEXT\": 44, \"COMMA\": 45, \"CLASS\": 46, \"STYLE\": 47, \"style\": 48, \"styleComponent\": 49, \"SEMI\": 50, \"NUM\": 51, \"BRKT\": 52, \"ENTITY_NAME\": 53, \"DECIMAL_NUM\": 54, \"ENTITY_ONE\": 55, \"attribute\": 56, \"attributeType\": 57, \"attributeName\": 58, \"attributeKeyTypeList\": 59, \"attributeComment\": 60, \"ATTRIBUTE_WORD\": 61, \"?\": 62, \"attributeKeyType\": 63, \",\": 64, \"ATTRIBUTE_KEY\": 65, \"COMMENT\": 66, \"cardinality\": 67, \"relType\": 68, \"ZERO_OR_ONE\": 69, \"ZERO_OR_MORE\": 70, \"ONE_OR_MORE\": 71, \"ONLY_ONE\": 72, \"MD_PARENT\": 73, \"NON_IDENTIFYING\": 74, \"IDENTIFYING\": 75, \"WORD\": 76, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"ER_DIAGRAM\", 6: \"EOF\", 9: \"NEWLINE\", 12: \"COLON\", 14: \"STYLE_SEPARATOR\", 16: \"BLOCK_START\", 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\", 33: \"END\", 34: \"SUBGRAPH\", 37: \"direction_tb\", 38: \"direction_bt\", 39: \"direction_rl\", 40: \"direction_lr\", 41: \"CLASSDEF\", 43: \"UNICODE_TEXT\", 44: \"STYLE_TEXT\", 45: \"COMMA\", 46: \"CLASS\", 47: \"STYLE\", 50: \"SEMI\", 51: \"NUM\", 52: \"BRKT\", 53: \"ENTITY_NAME\", 54: \"DECIMAL_NUM\", 55: \"ENTITY_ONE\", 61: \"ATTRIBUTE_WORD\", 62: \"?\", 64: \",\", 65: \"ATTRIBUTE_KEY\", 66: \"COMMENT\", 69: \"ZERO_OR_ONE\", 70: \"ZERO_OR_MORE\", 71: \"ONE_OR_MORE\", 72: \"ONLY_ONE\", 73: \"MD_PARENT\", 74: \"NON_IDENTIFYING\", 75: \"IDENTIFYING\", 76: \"WORD\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 1], [7, 1], [7, 1], [8, 5], [8, 9], [8, 7], [8, 7], [8, 4], [8, 6], [8, 3], [8, 5], [8, 1], [8, 3], [8, 7], [8, 9], [8, 6], [8, 8], [8, 4], [8, 6], [8, 2], [8, 2], [8, 2], [8, 1], [8, 1], [8, 1], [8, 1], [8, 1], [8, 3], [32, 3], [32, 6], [36, 1], [36, 2], [28, 1], [28, 1], [28, 1], [28, 1], [29, 4], [15, 1], [15, 1], [15, 3], [15, 3], [30, 3], [31, 4], [42, 1], [42, 3], [48, 1], [48, 2], [35, 1], [35, 1], [35, 1], [49, 1], [49, 1], [49, 1], [49, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [17, 1], [17, 2], [56, 2], [56, 3], [56, 3], [56, 4], [57, 1], [57, 2], [58, 1], [59, 1], [59, 3], [63, 1], [60, 1], [11, 3], [67, 1], [67, 1], [67, 1], [67, 1], [67, 1], [68, 1], [68, 1], [13, 1], [13, 1], [13, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n this.$ = $$[$0 - 1].concat($$[$0]);\n break;\n case 4:\n this.$ = $$[$0];\n break;\n case 5:\n case 6:\n this.$ = [];\n break;\n case 7:\n yy.addEntity($$[$0 - 4]);\n yy.addEntity($$[$0 - 2]);\n yy.addRelationship($$[$0 - 4], $$[$0], $$[$0 - 2], $$[$0 - 3]);\n this.$ = [$$[$0 - 4], $$[$0 - 2]];\n break;\n case 8:\n yy.addEntity($$[$0 - 8]);\n yy.addEntity($$[$0 - 4]);\n yy.addRelationship($$[$0 - 8], $$[$0], $$[$0 - 4], $$[$0 - 5]);\n yy.setClass([$$[$0 - 8]], $$[$0 - 6]);\n yy.setClass([$$[$0 - 4]], $$[$0 - 2]);\n this.$ = [$$[$0 - 8], $$[$0 - 4]];\n break;\n case 9:\n yy.addEntity($$[$0 - 6]);\n yy.addEntity($$[$0 - 2]);\n yy.addRelationship($$[$0 - 6], $$[$0], $$[$0 - 2], $$[$0 - 3]);\n yy.setClass([$$[$0 - 6]], $$[$0 - 4]);\n this.$ = [$$[$0 - 6], $$[$0 - 2]];\n break;\n case 10:\n yy.addEntity($$[$0 - 6]);\n yy.addEntity($$[$0 - 4]);\n yy.addRelationship($$[$0 - 6], $$[$0], $$[$0 - 4], $$[$0 - 5]);\n yy.setClass([$$[$0 - 4]], $$[$0 - 2]);\n this.$ = [$$[$0 - 6], $$[$0 - 4]];\n break;\n case 11:\n yy.addEntity($$[$0 - 3]);\n yy.addAttributes($$[$0 - 3], $$[$0 - 1]);\n this.$ = [$$[$0 - 3]];\n break;\n case 12:\n yy.addEntity($$[$0 - 5]);\n yy.addAttributes($$[$0 - 5], $$[$0 - 1]);\n yy.setClass([$$[$0 - 5]], $$[$0 - 3]);\n this.$ = [$$[$0 - 5]];\n break;\n case 13:\n yy.addEntity($$[$0 - 2]);\n this.$ = [$$[$0 - 2]];\n break;\n case 14:\n yy.addEntity($$[$0 - 4]);\n yy.setClass([$$[$0 - 4]], $$[$0 - 2]);\n this.$ = [$$[$0 - 4]];\n break;\n case 15:\n yy.addEntity($$[$0]);\n this.$ = [$$[$0]];\n break;\n case 16:\n yy.addEntity($$[$0 - 2]);\n yy.setClass([$$[$0 - 2]], $$[$0]);\n this.$ = [$$[$0 - 2]];\n break;\n case 17:\n yy.addEntity($$[$0 - 6], $$[$0 - 4]);\n yy.addAttributes($$[$0 - 6], $$[$0 - 1]);\n this.$ = [$$[$0 - 6]];\n break;\n case 18:\n yy.addEntity($$[$0 - 8], $$[$0 - 6]);\n yy.addAttributes($$[$0 - 8], $$[$0 - 1]);\n yy.setClass([$$[$0 - 8]], $$[$0 - 3]);\n this.$ = [$$[$0 - 8]];\n break;\n case 19:\n yy.addEntity($$[$0 - 5], $$[$0 - 3]);\n this.$ = [$$[$0 - 5]];\n break;\n case 20:\n yy.addEntity($$[$0 - 7], $$[$0 - 5]);\n yy.setClass([$$[$0 - 7]], $$[$0 - 2]);\n this.$ = [$$[$0 - 7]];\n break;\n case 21:\n yy.addEntity($$[$0 - 3], $$[$0 - 1]);\n break;\n case 22:\n yy.addEntity($$[$0 - 5], $$[$0 - 3]);\n yy.setClass([$$[$0 - 5]], $$[$0]);\n break;\n case 23:\n case 24:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 25:\n case 26:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 27:\n if (!yy.subgraphDepth) {\n yy.setDirection($$[$0].value);\n this.$ = [];\n } else {\n this.$ = $$[$0];\n }\n break;\n case 31:\n yy.subgraphDepth = (yy.subgraphDepth || 1) - 1;\n this.$ = yy.addSubGraph({ text: $$[$0 - 2].id }, $$[$0 - 1], { text: $$[$0 - 2].text });\n break;\n case 32:\n yy.subgraphDepth = (yy.subgraphDepth || 0) + 1;\n this.$ = { id: $$[$0 - 1], text: $$[$0 - 1] };\n break;\n case 33:\n yy.subgraphDepth = (yy.subgraphDepth || 0) + 1;\n this.$ = { id: $$[$0 - 4], text: $$[$0 - 2] };\n break;\n case 34:\n case 59:\n case 60:\n case 61:\n case 62:\n case 86:\n this.$ = $$[$0];\n break;\n case 35:\n this.$ = $$[$0 - 1] + \" \" + $$[$0];\n break;\n case 36:\n this.$ = { stmt: \"dir\", value: \"TB\" };\n break;\n case 37:\n this.$ = { stmt: \"dir\", value: \"BT\" };\n break;\n case 38:\n this.$ = { stmt: \"dir\", value: \"RL\" };\n break;\n case 39:\n this.$ = { stmt: \"dir\", value: \"LR\" };\n break;\n case 40:\n this.$ = $$[$0 - 3];\n yy.addClass($$[$0 - 2], $$[$0 - 1]);\n break;\n case 41:\n case 42:\n case 63:\n case 72:\n this.$ = [$$[$0]];\n break;\n case 43:\n case 44:\n this.$ = $$[$0 - 2].concat([$$[$0]]);\n break;\n case 45:\n this.$ = $$[$0 - 2];\n yy.setClass($$[$0 - 1], $$[$0]);\n break;\n case 46:\n ;\n this.$ = $$[$0 - 3];\n yy.addCssStyles($$[$0 - 2], $$[$0 - 1]);\n break;\n case 47:\n this.$ = [$$[$0]];\n break;\n case 48:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 50:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 58:\n case 84:\n case 85:\n this.$ = $$[$0].replace(/\"/g, \"\");\n break;\n case 64:\n $$[$0].push($$[$0 - 1]);\n this.$ = $$[$0];\n break;\n case 65:\n this.$ = { type: $$[$0 - 1], name: $$[$0] };\n break;\n case 66:\n this.$ = { type: $$[$0 - 2], name: $$[$0 - 1], keys: $$[$0] };\n break;\n case 67:\n this.$ = { type: $$[$0 - 2], name: $$[$0 - 1], comment: $$[$0] };\n break;\n case 68:\n this.$ = { type: $$[$0 - 3], name: $$[$0 - 2], keys: $$[$0 - 1], comment: $$[$0] };\n break;\n case 69:\n case 71:\n case 74:\n this.$ = $$[$0];\n break;\n case 70:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 73:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 75:\n this.$ = $$[$0].replace(/\"/g, \"\");\n break;\n case 76:\n this.$ = { cardA: $$[$0], relType: $$[$0 - 1], cardB: $$[$0 - 2] };\n break;\n case 77:\n this.$ = yy.Cardinality.ZERO_OR_ONE;\n break;\n case 78:\n this.$ = yy.Cardinality.ZERO_OR_MORE;\n break;\n case 79:\n this.$ = yy.Cardinality.ONE_OR_MORE;\n break;\n case 80:\n this.$ = yy.Cardinality.ONLY_ONE;\n break;\n case 81:\n this.$ = yy.Cardinality.MD_PARENT;\n break;\n case 82:\n this.$ = yy.Identification.NON_IDENTIFYING;\n break;\n case 83:\n this.$ = yy.Identification.IDENTIFYING;\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, $V1, { 5: 3 }), { 6: [1, 4], 7: 5, 8: 6, 9: $V2, 10: 8, 21: $V3, 23: $V4, 25: $V5, 27: $V6, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 34: $V7, 37: $V8, 38: $V9, 39: $Va, 40: $Vb, 41: $Vc, 43: $Vd, 46: $Ve, 47: $Vf, 51: $Vg, 53: $Vh, 54: $Vi, 55: $Vj }, o($V0, $Vk, { 1: [2, 1] }), o($Vl, [2, 3]), o($Vl, [2, 4]), o($Vl, [2, 5]), o($Vl, [2, 15], { 11: 31, 67: 35, 14: [1, 32], 16: [1, 33], 19: [1, 34], 69: $Vm, 70: $Vn, 71: $Vo, 72: $Vp, 73: $Vq }), { 22: [1, 41] }, { 24: [1, 42] }, { 26: [1, 43] }, o($Vl, [2, 26]), o($Vl, [2, 27]), o($Vl, [2, 28]), o($Vl, [2, 29]), o($Vl, [2, 30]), o($Vl, $V1, { 5: 44 }), o($Vr, [2, 58]), o($Vr, [2, 59]), o($Vr, [2, 60]), o($Vr, [2, 61]), o($Vr, [2, 62]), o($Vl, [2, 36]), o($Vl, [2, 37]), o($Vl, [2, 38]), o($Vl, [2, 39]), { 15: 45, 43: $Vs, 44: $Vt }, { 15: 48, 43: $Vs, 44: $Vt }, { 15: 49, 43: $Vs, 44: $Vt }, { 10: 50, 43: $Vd, 51: $Vg, 53: $Vh, 54: $Vi, 55: $Vj }, { 10: 51, 43: $Vd, 51: $Vg, 53: $Vh, 54: $Vi, 55: $Vj }, { 15: 52, 43: $Vs, 44: $Vt }, { 17: 53, 18: [1, 54], 56: 55, 57: 56, 61: $Vu }, { 10: 58, 43: $Vd, 51: $Vg, 53: $Vh, 54: $Vi, 55: $Vj }, { 68: 59, 74: [1, 60], 75: [1, 61] }, o($Vv, [2, 77]), o($Vv, [2, 78]), o($Vv, [2, 79]), o($Vv, [2, 80]), o($Vv, [2, 81]), o($Vl, [2, 23]), o($Vl, [2, 24]), o($Vl, [2, 25]), { 6: [1, 63], 7: 5, 8: 6, 9: $V2, 10: 8, 21: $V3, 23: $V4, 25: $V5, 27: $V6, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 33: [1, 62], 34: $V7, 37: $V8, 38: $V9, 39: $Va, 40: $Vb, 41: $Vc, 43: $Vd, 46: $Ve, 47: $Vf, 51: $Vg, 53: $Vh, 54: $Vi, 55: $Vj }, { 12: $Vw, 42: 64, 44: $Vx, 45: $Vy, 48: 66, 49: 67, 51: $Vz, 52: $VA }, o($VB, [2, 41]), o($VB, [2, 42]), { 15: 72, 43: $Vs, 44: $Vt, 45: $Vy }, { 12: $Vw, 42: 73, 44: $Vx, 45: $Vy, 48: 66, 49: 67, 51: $Vz, 52: $VA }, { 6: $VC, 9: $VD, 19: [1, 75], 35: 74, 50: $VE }, { 12: [1, 79], 14: [1, 80] }, o($Vl, [2, 16], { 67: 35, 11: 81, 16: [1, 82], 45: $Vy, 69: $Vm, 70: $Vn, 71: $Vo, 72: $Vp, 73: $Vq }), { 18: [1, 83] }, o($Vl, [2, 13]), { 17: 84, 18: [2, 63], 56: 55, 57: 56, 61: $Vu }, { 58: 85, 61: [1, 86] }, { 61: [2, 69], 62: [1, 87] }, { 20: [1, 88] }, { 67: 89, 69: $Vm, 70: $Vn, 71: $Vo, 72: $Vp, 73: $Vq }, o($VF, [2, 82]), o($VF, [2, 83]), o($Vl, [2, 31]), o($Vl, $Vk), { 6: $VC, 9: $VD, 35: 90, 45: $VG, 50: $VE }, { 43: [1, 92], 44: [1, 93] }, o($VH, [2, 47], { 49: 94, 12: $Vw, 44: $Vx, 51: $Vz, 52: $VA }), o($VI, [2, 49]), o($VI, [2, 54]), o($VI, [2, 55]), o($VI, [2, 56]), o($VI, [2, 57]), o($Vl, [2, 45], { 45: $Vy }), { 6: $VC, 9: $VD, 35: 95, 45: $VG, 50: $VE }, o($Vl, [2, 32]), { 10: 97, 36: 96, 43: $Vd, 51: $Vg, 53: $Vh, 54: $Vi, 55: $Vj }, o($Vl, [2, 51]), o($Vl, [2, 52]), o($Vl, [2, 53]), { 13: 98, 43: $VJ, 53: $VK, 76: $VL }, { 15: 102, 43: $Vs, 44: $Vt }, { 10: 103, 43: $Vd, 51: $Vg, 53: $Vh, 54: $Vi, 55: $Vj }, { 17: 104, 18: [1, 105], 56: 55, 57: 56, 61: $Vu }, o($Vl, [2, 11]), { 18: [2, 64] }, o($VM, [2, 65], { 59: 106, 60: 107, 63: 108, 65: $VN, 66: $VO }), o([18, 61, 65, 66], [2, 71]), { 61: [2, 70] }, o($Vl, [2, 21], { 14: [1, 112], 16: [1, 111] }), o([43, 51, 53, 54, 55], [2, 76]), o($Vl, [2, 40]), { 12: $Vw, 44: $Vx, 48: 113, 49: 67, 51: $Vz, 52: $VA }, o($VB, [2, 43]), o($VB, [2, 44]), o($VI, [2, 50]), o($Vl, [2, 46]), { 10: 115, 20: [1, 114], 43: $Vd, 51: $Vg, 53: $Vh, 54: $Vi, 55: $Vj }, o($VP, [2, 34]), o($Vl, [2, 7]), o($Vl, [2, 84]), o($Vl, [2, 85]), o($Vl, [2, 86]), { 12: [1, 116], 45: $Vy }, { 12: [1, 118], 14: [1, 117] }, { 18: [1, 119] }, o($Vl, [2, 14]), o($VM, [2, 66], { 60: 120, 64: [1, 121], 66: $VO }), o($VM, [2, 67]), o($VQ, [2, 72]), o($VM, [2, 75]), o($VQ, [2, 74]), { 17: 122, 18: [1, 123], 56: 55, 57: 56, 61: $Vu }, { 15: 124, 43: $Vs, 44: $Vt }, o($VH, [2, 48], { 49: 94, 12: $Vw, 44: $Vx, 51: $Vz, 52: $VA }), { 6: $VC, 9: $VD, 35: 125, 50: $VE }, o($VP, [2, 35]), { 13: 126, 43: $VJ, 53: $VK, 76: $VL }, { 15: 127, 43: $Vs, 44: $Vt }, { 13: 128, 43: $VJ, 53: $VK, 76: $VL }, o($Vl, [2, 12]), o($VM, [2, 68]), { 63: 129, 65: $VN }, { 18: [1, 130] }, o($Vl, [2, 19]), o($Vl, [2, 22], { 16: [1, 131], 45: $Vy }), o($Vl, [2, 33]), o($Vl, [2, 10]), { 12: [1, 132], 45: $Vy }, o($Vl, [2, 9]), o($VQ, [2, 73]), o($Vl, [2, 17]), { 17: 133, 18: [1, 134], 56: 55, 57: 56, 61: $Vu }, { 13: 135, 43: $VJ, 53: $VK, 76: $VL }, { 18: [1, 136] }, o($Vl, [2, 20]), o($Vl, [2, 8]), o($Vl, [2, 18])],\n defaultActions: { 84: [2, 64], 87: [2, 70] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.begin(\"acc_title\");\n return 23;\n break;\n case 1:\n this.popState();\n return \"acc_title_value\";\n break;\n case 2:\n this.begin(\"acc_descr\");\n return 25;\n break;\n case 3:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 4:\n this.begin(\"acc_descr_multiline\");\n break;\n case 5:\n this.popState();\n break;\n case 6:\n return \"acc_descr_multiline_value\";\n break;\n case 7:\n return 37;\n break;\n case 8:\n return 38;\n break;\n case 9:\n return 39;\n break;\n case 10:\n return 40;\n break;\n case 11:\n break;\n case 12:\n return 9;\n break;\n case 13:\n return 53;\n break;\n case 14:\n return 76;\n break;\n case 15:\n return 4;\n break;\n case 16:\n this.begin(\"block\");\n return 16;\n break;\n case 17:\n return 52;\n break;\n case 18:\n return 52;\n break;\n case 19:\n return 45;\n break;\n case 20:\n return 14;\n break;\n case 21:\n return 12;\n break;\n case 22:\n break;\n case 23:\n return 65;\n break;\n case 24:\n return 61;\n break;\n case 25:\n return 61;\n break;\n case 26:\n this.begin(\"block_bq\");\n break;\n case 27:\n return 61;\n break;\n case 28:\n this.popState();\n break;\n case 29:\n return 66;\n break;\n case 30:\n break;\n case 31:\n this.popState();\n return 18;\n break;\n case 32:\n return yy_.yytext[0];\n break;\n case 33:\n return 19;\n break;\n case 34:\n return 20;\n break;\n case 35:\n this.begin(\"style\");\n return 47;\n break;\n case 36:\n this.popState();\n return 9;\n break;\n case 37:\n break;\n case 38:\n return 12;\n break;\n case 39:\n return 45;\n break;\n case 40:\n return 52;\n break;\n case 41:\n this.begin(\"style\");\n return 41;\n break;\n case 42:\n return 46;\n break;\n case 43:\n return 34;\n break;\n case 44:\n return 33;\n break;\n case 45:\n return 69;\n break;\n case 46:\n return 71;\n break;\n case 47:\n return 71;\n break;\n case 48:\n return 71;\n break;\n case 49:\n return 69;\n break;\n case 50:\n return 69;\n break;\n case 51:\n return 70;\n break;\n case 52:\n return 70;\n break;\n case 53:\n return 70;\n break;\n case 54:\n return 70;\n break;\n case 55:\n return 70;\n break;\n case 56:\n return 71;\n break;\n case 57:\n return 70;\n break;\n case 58:\n return 71;\n break;\n case 59:\n return 72;\n break;\n case 60:\n return 72;\n break;\n case 61:\n return 54;\n break;\n case 62:\n return 72;\n break;\n case 63:\n return 72;\n break;\n case 64:\n return 72;\n break;\n case 65:\n return 55;\n break;\n case 66:\n return 51;\n break;\n case 67:\n return 72;\n break;\n case 68:\n return 69;\n break;\n case 69:\n return 70;\n break;\n case 70:\n return 71;\n break;\n case 71:\n return 73;\n break;\n case 72:\n return 74;\n break;\n case 73:\n return 75;\n break;\n case 74:\n return 75;\n break;\n case 75:\n return 74;\n break;\n case 76:\n return 74;\n break;\n case 77:\n return 74;\n break;\n case 78:\n return 44;\n break;\n case 79:\n return 50;\n break;\n case 80:\n return 43;\n break;\n case 81:\n return yy_.yytext[0];\n break;\n case 82:\n return 6;\n break;\n }\n }, \"anonymous\"),\n 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, /^(?:[ \\t\\r]+)/i, /^(?:[\\n]+)/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, /^(?:[^`]+)/i, /^(?:[`])/i, /^(?:\"[^\"]*\")/i, /^(?:[\\n]+)/i, /^(?:\\})/i, /^(?:.)/i, /^(?:\\[)/i, /^(?:\\])/i, /^(?:style\\b)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?::)/i, /^(?:,)/i, /^(?:#)/i, /^(?:classDef\\b)/i, /^(?:class\\b)/i, /^(?:subgraph\\b)/i, /^(?:end\\b\\s*)/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, /^(?:[0-9]+\\.[0-9]+)/i, /^(?:1(?=\\s+[A-Za-z_\"']))/i, /^(?:1(?=\\s+[0-9]))/i, /^(?:1(?=(--|\\.\\.|\\.-|-\\.)))/i, /^(?:1\\b)/i, /^(?:[0-9]+)/i, /^(?:\\|\\|)/i, /^(?:o\\|)/i, /^(?:o\\{)/i, /^(?:\\|\\{)/i, /^(?:u(?=[\\.\\-\\|]))/i, /^(?:\\.\\.)/i, /^(?:--)/i, /^(?:to\\b)/i, /^(?:optionally to\\b)/i, /^(?:\\.-)/i, /^(?:-\\.)/i, /^(?:([^\\x00-\\x7F]|\\w|-|\\*)+)/i, /^(?:;)/i, /^(?:([^\\x00-\\x7F]|\\w|-|\\*|\\.)+)/i, /^(?:.)/i, /^(?:$)/i],\n conditions: { \"style\": { \"rules\": [36, 37, 38, 39, 40, 78, 79], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [5, 6], \"inclusive\": false }, \"acc_descr\": { \"rules\": [3], \"inclusive\": false }, \"acc_title\": { \"rules\": [1], \"inclusive\": false }, \"block_bq\": { \"rules\": [27, 28], \"inclusive\": false }, \"block\": { \"rules\": [22, 23, 24, 25, 26, 29, 30, 31, 32], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 33, 34, 35, 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, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar erDiagram_default = parser;\n\n// src/diagrams/er/erDb.ts\nvar ErDB = class {\n constructor() {\n this.entities = /* @__PURE__ */ new Map();\n this.relationships = [];\n this.classes = /* @__PURE__ */ new Map();\n this.subgraphDepth = 0;\n // Public because JISON yy actions access it dynamically.\n this.subGraphs = [];\n this.subGraphLookup = /* @__PURE__ */ new Map();\n this.subCount = 0;\n this.direction = \"TB\";\n this.Cardinality = {\n ZERO_OR_ONE: \"ZERO_OR_ONE\",\n ZERO_OR_MORE: \"ZERO_OR_MORE\",\n ONE_OR_MORE: \"ONE_OR_MORE\",\n ONLY_ONE: \"ONLY_ONE\",\n MD_PARENT: \"MD_PARENT\"\n };\n this.Identification = {\n NON_IDENTIFYING: \"NON_IDENTIFYING\",\n IDENTIFYING: \"IDENTIFYING\"\n };\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setAccDescription = setAccDescription;\n this.getAccDescription = getAccDescription;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getConfig = /* @__PURE__ */ __name(() => getConfig().er, \"getConfig\");\n this.clear();\n this.addEntity = this.addEntity.bind(this);\n this.addAttributes = this.addAttributes.bind(this);\n this.addRelationship = this.addRelationship.bind(this);\n this.setDirection = this.setDirection.bind(this);\n this.addCssStyles = this.addCssStyles.bind(this);\n this.addClass = this.addClass.bind(this);\n this.setClass = this.setClass.bind(this);\n this.setAccTitle = this.setAccTitle.bind(this);\n this.setAccDescription = this.setAccDescription.bind(this);\n this.addSubGraph = this.addSubGraph.bind(this);\n }\n static {\n __name(this, \"ErDB\");\n }\n /**\n * Add entity\n * @param name - The name of the entity\n * @param alias - The alias of the entity\n */\n addEntity(name, alias = \"\") {\n if (!this.entities.has(name)) {\n this.entities.set(name, {\n id: `entity-${name}-${this.entities.size}`,\n label: name,\n attributes: [],\n alias,\n shape: \"erBox\",\n look: getConfig().look ?? \"default\",\n cssClasses: \"default\",\n cssStyles: [],\n labelType: \"markdown\"\n });\n log.info(\"Added new entity :\", name);\n } else if (!this.entities.get(name)?.alias && alias) {\n this.entities.get(name).alias = alias;\n log.info(`Add alias '${alias}' to entity '${name}'`);\n }\n return this.entities.get(name);\n }\n getEntity(name) {\n return this.entities.get(name);\n }\n getEntities() {\n return this.entities;\n }\n getClasses() {\n return this.classes;\n }\n addAttributes(entityName, attribs) {\n const entity = this.addEntity(entityName);\n let i;\n for (i = attribs.length - 1; i >= 0; i--) {\n if (!attribs[i].keys) {\n attribs[i].keys = [];\n }\n if (!attribs[i].comment) {\n attribs[i].comment = \"\";\n }\n entity.attributes.push(attribs[i]);\n log.debug(\"Added attribute \", attribs[i].name);\n }\n }\n /**\n * Add a relationship\n *\n * @param entA - The first entity in the relationship\n * @param rolA - The role played by the first entity in relation to the second\n * @param entB - The second entity in the relationship\n * @param rSpec - The details of the relationship between the two entities\n */\n addRelationship(entA, rolA, entB, rSpec) {\n let entityAId;\n if (this.subGraphLookup.has(entA)) {\n entityAId = entA;\n } else {\n const entityA = this.addEntity(entA);\n if (!entityA) {\n return;\n }\n entityAId = entityA.id;\n }\n let entityBId;\n if (this.subGraphLookup.has(entB)) {\n entityBId = entB;\n } else {\n const entityB = this.addEntity(entB);\n if (!entityB) {\n return;\n }\n entityBId = entityB.id;\n }\n const rel = {\n entityA: entityAId,\n roleA: rolA,\n entityB: entityBId,\n relSpec: rSpec\n };\n this.relationships.push(rel);\n log.debug(\"Added new relationship :\", rel);\n }\n getRelationships() {\n return this.relationships;\n }\n getDirection() {\n return this.direction;\n }\n setDirection(dir) {\n this.direction = dir;\n }\n getCompiledStyles(classDefs) {\n let compiledStyles = [];\n for (const customClass of classDefs) {\n const cssClass = this.classes.get(customClass);\n if (cssClass?.styles) {\n compiledStyles = [...compiledStyles, ...cssClass.styles ?? []].map((s) => s.trim());\n }\n if (cssClass?.textStyles) {\n compiledStyles = [...compiledStyles, ...cssClass.textStyles ?? []].map((s) => s.trim());\n }\n }\n return compiledStyles;\n }\n addCssStyles(ids, styles) {\n for (const id of ids) {\n const entity = this.entities.get(id);\n const subGraph = this.subGraphLookup.get(id);\n if (!styles) {\n continue;\n }\n if (entity) {\n for (const style of styles) {\n entity.cssStyles.push(style);\n }\n }\n if (subGraph) {\n if (!subGraph.cssStyles) {\n subGraph.cssStyles = [];\n }\n for (const style of styles) {\n subGraph.cssStyles.push(style);\n }\n }\n }\n }\n addClass(ids, style) {\n ids.forEach((id) => {\n let classNode = this.classes.get(id);\n if (classNode === void 0) {\n classNode = { id, styles: [], textStyles: [] };\n this.classes.set(id, classNode);\n }\n if (style) {\n style.forEach(function(s) {\n if (/color/.exec(s)) {\n const newStyle = s.replace(\"fill\", \"bgFill\");\n classNode.textStyles.push(newStyle);\n }\n classNode.styles.push(s);\n });\n }\n });\n }\n addSubGraph(_id, list, _title) {\n let id = _id.text.trim();\n let title = _title.text;\n const uniq = /* @__PURE__ */ __name((a) => {\n const seen = /* @__PURE__ */ new Set();\n let dir2;\n const nodeList2 = a.filter((item) => {\n if (item?.stmt) {\n if (item.stmt === \"dir\") {\n dir2 = item.value;\n }\n return false;\n }\n if (typeof item !== \"string\") {\n return false;\n }\n const trimmed = item.trim();\n if (!trimmed) {\n return false;\n }\n if (seen.has(trimmed)) {\n return false;\n }\n seen.add(trimmed);\n return true;\n });\n return { nodeList: nodeList2, dir: dir2 };\n }, \"uniq\");\n const result = uniq(list.flat());\n const nodeList = result.nodeList;\n const dir = result.dir;\n id = id ?? \"subGraph\" + this.subCount;\n title = title || \"\";\n title = this.sanitizeText(title);\n this.subCount = this.subCount + 1;\n const subGraph = {\n id,\n nodes: nodeList,\n title: title.trim(),\n classes: [],\n cssStyles: [],\n dir,\n labelType: this.sanitizeNodeLabelType(_title?.type)\n };\n log.info(\"Adding\", subGraph.id, subGraph.nodes, subGraph.dir);\n subGraph.nodes = this.makeUniq(subGraph, this.subGraphs).nodes;\n this.subGraphs.push(subGraph);\n this.subGraphLookup.set(id, subGraph);\n return id;\n }\n getSubGraphs() {\n return this.subGraphs;\n }\n setClass(ids, classNames) {\n for (const id of ids) {\n const entity = this.entities.get(id);\n if (entity) {\n for (const className of classNames) {\n entity.cssClasses += \" \" + className;\n }\n }\n const subGraph = this.subGraphLookup.get(id);\n if (subGraph) {\n for (const className of classNames) {\n subGraph.classes.push(className);\n }\n }\n }\n }\n /**\n * Build a quick lookup for all node IDs already assigned to existing subgraphs.\n */\n subgraphNodeCache(allSubgraphs) {\n const nodeCache = /* @__PURE__ */ new Set();\n for (const subGraph of allSubgraphs) {\n for (const id of subGraph.nodes) {\n nodeCache.add(id);\n }\n }\n return nodeCache;\n }\n /**\n * Filter out nodes that are already part of another subgraph,\n * keeping subgraph membership unique.\n */\n makeUniq(subGraph, allSubgraphs) {\n const existingNodes = this.subgraphNodeCache(allSubgraphs);\n const res = [];\n subGraph.nodes.forEach((_id, pos) => {\n if (existingNodes.has(_id)) {\n log.warn(`Entity '${_id}' already belongs to another subgraph and will be ignored`);\n } else {\n res.push(subGraph.nodes[pos]);\n }\n });\n return { nodes: res };\n }\n sanitizeText(txt) {\n return common_default.sanitizeText(txt, getConfig());\n }\n sanitizeNodeLabelType(labelType) {\n switch (labelType) {\n case \"markdown\":\n case \"string\":\n case \"text\":\n return labelType;\n default:\n return \"markdown\";\n }\n }\n clear() {\n this.entities = /* @__PURE__ */ new Map();\n this.classes = /* @__PURE__ */ new Map();\n this.relationships = [];\n this.subGraphs = [];\n this.subGraphLookup = /* @__PURE__ */ new Map();\n this.subCount = 0;\n this.subgraphDepth = 0;\n clear();\n }\n getData() {\n const nodes = [];\n const edges = [];\n const config = getConfig();\n const subGraphs = this.getSubGraphs();\n const parentDB = /* @__PURE__ */ new Map();\n const subGraphDB = /* @__PURE__ */ new Map();\n for (let i = subGraphs.length - 1; i >= 0; i--) {\n const subGraph = subGraphs[i];\n if (subGraph.nodes.length > 0) {\n subGraphDB.set(subGraph.id, true);\n }\n for (const id of subGraph.nodes) {\n parentDB.set(id, subGraph.id);\n }\n }\n for (let i = subGraphs.length - 1; i >= 0; i--) {\n const subGraph = subGraphs[i];\n nodes.push({\n id: subGraph.id,\n label: subGraph.title,\n labelStyle: \"\",\n labelType: subGraph.labelType,\n parentId: parentDB.get(subGraph.id),\n padding: 8,\n cssCompiledStyles: this.getCompiledStyles(subGraph.classes),\n cssStyles: subGraph.cssStyles,\n cssClasses: subGraph.classes.join(\" \"),\n shape: \"rect\",\n dir: subGraph.dir,\n isGroup: true,\n look: config.look\n });\n }\n const subGraphIds = new Set(subGraphs.map((sg) => sg.id));\n let colorIndex = 0;\n for (const entityKey of this.entities.keys()) {\n if (subGraphIds.has(entityKey)) {\n continue;\n }\n const entityNode = this.entities.get(entityKey);\n if (entityNode) {\n entityNode.cssCompiledStyles = this.getCompiledStyles(entityNode.cssClasses.split(\" \"));\n entityNode.colorIndex = colorIndex++;\n nodes.push({\n ...entityNode,\n parentId: parentDB.get(entityKey),\n isGroup: false\n });\n }\n }\n let count = 0;\n for (const relationship of this.relationships) {\n const edge = {\n id: getEdgeId(relationship.entityA, relationship.entityB, {\n prefix: \"id\",\n counter: count++\n }),\n type: \"normal\",\n curve: \"basis\",\n start: relationship.entityA,\n end: relationship.entityB,\n label: relationship.roleA,\n labelpos: \"c\",\n thickness: \"normal\",\n classes: \"relationshipLine\",\n arrowTypeStart: relationship.relSpec.cardB.toLowerCase(),\n arrowTypeEnd: relationship.relSpec.cardA.toLowerCase(),\n pattern: relationship.relSpec.relType == \"IDENTIFYING\" ? \"solid\" : \"dashed\",\n look: config.look,\n labelType: \"markdown\"\n };\n edges.push(edge);\n }\n return { nodes, edges, other: {}, config, direction: this.direction };\n }\n};\n\n// src/diagrams/er/erRenderer-unified.ts\nvar erRenderer_unified_exports = {};\n__export(erRenderer_unified_exports, {\n draw: () => draw\n});\nimport { select } from \"d3\";\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {\n log.info(\"REF0:\");\n log.info(\"Drawing er diagram (unified)\", id);\n const { securityLevel, er: conf, layout } = getConfig();\n const data4Layout = diag.db.getData();\n const svg = getDiagramElement(id, securityLevel);\n data4Layout.type = diag.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);\n data4Layout.config.flowchart.nodeSpacing = conf?.nodeSpacing || 140;\n data4Layout.config.flowchart.rankSpacing = conf?.rankSpacing || 80;\n data4Layout.direction = diag.db.getDirection();\n const { config } = data4Layout;\n const { look } = config;\n if (look === \"neo\") {\n data4Layout.markers = [\n \"only_one_neo\",\n \"zero_or_one_neo\",\n \"one_or_more_neo\",\n \"zero_or_more_neo\"\n ];\n } else {\n data4Layout.markers = [\"only_one\", \"zero_or_one\", \"one_or_more\", \"zero_or_more\"];\n }\n data4Layout.diagramId = id;\n await render(data4Layout, svg);\n if (data4Layout.layoutAlgorithm === \"elk\") {\n svg.select(\".edges\").lower();\n }\n const backgroundNodes = svg.selectAll('[id*=\"-background\"]');\n if (Array.from(backgroundNodes).length > 0) {\n backgroundNodes.each(function() {\n const backgroundNode = select(this);\n const backgroundId = backgroundNode.attr(\"id\");\n const nonBackgroundId = backgroundId.replace(\"-background\", \"\");\n const nonBackgroundNode = svg.select(`#${CSS.escape(nonBackgroundId)}`);\n if (!nonBackgroundNode.empty()) {\n const transform = nonBackgroundNode.attr(\"transform\");\n backgroundNode.attr(\"transform\", transform);\n }\n });\n }\n const padding = 8;\n utils_default.insertTitle(\n svg,\n \"erDiagramTitleText\",\n conf?.titleTopMargin ?? 25,\n diag.db.getDiagramTitle()\n );\n setupViewPortForSVG(svg, padding, \"erDiagram\", conf?.useMaxWidth ?? true);\n}, \"draw\");\n\n// src/diagrams/er/styles.ts\nimport * as khroma from \"khroma\";\nvar fade = /* @__PURE__ */ __name((color, opacity) => {\n const channel2 = khroma.channel;\n const r = channel2(color, \"r\");\n const g = channel2(color, \"g\");\n const b = channel2(color, \"b\");\n return khroma.rgba(r, g, b, opacity);\n}, \"fade\");\nvar COLOR_THEMES = /* @__PURE__ */ new Set([\"redux-color\", \"redux-dark-color\"]);\nvar genColor = /* @__PURE__ */ __name((options) => {\n const { theme, look, bkgColorArray, borderColorArray } = options;\n if (!COLOR_THEMES.has(theme)) {\n return \"\";\n }\n const hasBkgColors = bkgColorArray?.length > 0;\n let sections = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n sections += `\n\n [data-look=\"${look}\"][data-color-id=\"color-${i}\"].node path {\n stroke: ${borderColorArray[i]};\n ${hasBkgColors ? `fill: ${bkgColorArray[i]};` : \"\"}\n }\n\n [data-look=\"${look}\"][data-color-id=\"color-${i}\"].node rect {\n stroke: ${borderColorArray[i]};\n ${hasBkgColors ? `fill: ${bkgColorArray[i]};` : \"\"}\n }\n `;\n }\n return sections;\n}, \"genColor\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const { look, theme, erEdgeLabelBackground, strokeWidth } = options;\n return `\n ${genColor(options)}\n .entityBox {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${options.tertiaryColor};\n opacity: 0.7;\n background-color: ${options.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .labelBkg {\n background-color: ${COLOR_THEMES.has(theme) && erEdgeLabelBackground ? erEdgeLabelBackground : fade(options.tertiaryColor, 0.5)};\n }\n\n .edgeLabel {\n background-color: ${COLOR_THEMES.has(theme) && erEdgeLabelBackground ? erEdgeLabelBackground : options.edgeLabelBackground};\n }\n .edgeLabel .label rect {\n fill: ${COLOR_THEMES.has(theme) && erEdgeLabelBackground ? erEdgeLabelBackground : options.edgeLabelBackground};\n }\n .edgeLabel .label text {\n fill: ${options.textColor};\n }\n\n .edgeLabel .label {\n fill: ${options.nodeBorder};\n font-size: 14px;\n }\n\n .label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n\n .edge-pattern-dashed {\n stroke-dasharray: 8,8;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon\n {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: ${look === \"neo\" ? strokeWidth : \"1px\"};\n }\n\n .relationshipLine {\n stroke: ${options.lineColor};\n stroke-width: ${look === \"neo\" ? strokeWidth : \"1px\"};\n fill: none;\n }\n\n .marker {\n fill: none !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n }\n [data-look=neo].labelBkg {\n background-color: ${fade(options.tertiaryColor, 0.5)};\n }\n\n .cluster rect {\n fill: ${options.clusterBkg ?? options.mainBkg};\n stroke: ${options.clusterBorder ?? options.nodeBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor ?? options.textColor};\n }\n\n .cluster-label text {\n fill: ${options.titleColor ?? options.textColor};\n }\n`;\n}, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/er/erDiagram.ts\nvar diagram = {\n parser: erDiagram_default,\n get db() {\n return new ErDB();\n },\n renderer: erRenderer_unified_exports,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","k","v","o2","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","$Vt","$Vu","$Vv","$Vw","$Vx","$Vy","$Vz","$VA","$VB","$VC","$VD","$VE","$VF","$VG","$VH","$VI","$VJ","$VK","$VL","$VM","$VN","$VO","$VP","$VQ","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","popStack","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","erDiagram_default","ErDB","_a","setAccTitle","getAccTitle","setAccDescription","getAccDescription","setDiagramTitle","getDiagramTitle","getConfig","name","alias","log","entityName","attribs","entity","entA","rolA","entB","rSpec","entityAId","entityA","entityBId","entityB","rel","dir","classDefs","compiledStyles","customClass","cssClass","s","ids","styles","id","subGraph","style","classNode","newStyle","_id","list","_title","title","result","a","seen","dir2","item","trimmed","nodeList","classNames","className","allSubgraphs","nodeCache","existingNodes","res","pos","txt","common_default","labelType","clear","nodes","edges","config","subGraphs","parentDB","subGraphDB","subGraphIds","sg","colorIndex","entityKey","entityNode","count","relationship","edge","getEdgeId","erRenderer_unified_exports","__export","draw","text","_version","diag","securityLevel","conf","layout","data4Layout","svg","getDiagramElement","getRegisteredLayoutAlgorithm","look","render","backgroundNodes","backgroundNode","select","nonBackgroundId","nonBackgroundNode","transform","padding","utils_default","setupViewPortForSVG","fade","color","opacity","channel2","khroma.channel","g","b","khroma.rgba","COLOR_THEMES","genColor","options","theme","bkgColorArray","borderColorArray","hasBkgColors","sections","getStyles","erEdgeLabelBackground","strokeWidth","styles_default","diagram"],"mappings":"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,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG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,IAAK,IACH,MAAO,IAET,IAAK,IACH,MACF,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,KAAK,MAAM,UAAU,EACrB,MACF,IAAK,IACH,MAAO,IAET,IAAK,IACH,KAAK,SAAQ,EACb,MACF,IAAK,IACH,MAAO,IAET,IAAK,IACH,MACF,IAAK,IACH,YAAK,SAAQ,EACN,GAET,IAAK,IACH,OAAOD,EAAI,OAAO,CAAC,EAErB,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,YAAK,SAAQ,EACN,EAET,IAAK,IACH,MACF,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,I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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import{g as Xt}from"./chunk-5VM5RSS4-CjFDq_cq.js";import{g as Qt}from"./chunk-XXDRQBXY-ClTat8Q0.js";import{s as Jt}from"./chunk-POPQ4Y6H-DeaxKHvR.js";import{_ as k,b4 as Zt,F as Mt,l as $,c as ke,u as $t,v as e1,x as rt,b as t1,s as s1,n as i1,a as r1,g as a1,o as n1,k as u1,H as o1,J as l1,ca as c1,q as st,j as it,O as h1,p as d1,b7 as p1,r as f1}from"./mermaid.core-ExHG1WnM.js";import{f as g1}from"./chunk-F27PBJKO-BDYeB7B8.js";import{c as b1}from"./channel-BfWO3B41.js";var A1="flowchart-",Pe,k1=(Pe=class{constructor(){this.vertexCounter=0,this.config=ke(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=t1,this.setAccDescription=s1,this.setDiagramTitle=i1,this.getAccTitle=r1,this.getAccDescription=a1,this.getDiagramTitle=n1,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return u1.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const r of this.vertices.values())if(r.id===i)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,r,a,n,l,g,h={},m){var F,c;if(!i||i.trim().length===0)return;let u;if(m!==void 0){let d;m.includes(`
|
|
2
|
+
`)?d=m+`
|
|
3
|
+
`:d=`{
|
|
4
|
+
`+m+`
|
|
5
|
+
}`,u=o1(d,{schema:l1})}const x=this.subGraphLookup.get(i);if(x&&u){x.metadata={...x.metadata,...u};return}const y=this.edges.find(d=>d.id===i);if(y){const d=u;(d==null?void 0:d.animate)!==void 0&&(y.animate=d.animate),(d==null?void 0:d.animation)!==void 0&&(y.animation=d.animation),(d==null?void 0:d.curve)!==void 0&&(y.interpolate=d.curve);return}let w,A=this.vertices.get(i);if(A===void 0&&(r===void 0&&a===void 0&&n!==void 0&&n!==null&&$.warn(`Style applied to unknown node "${i}". This may indicate a typo. The node will be created automatically.`),A={id:i,labelType:"text",domId:A1+i+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(i,A)),this.vertexCounter++,r!==void 0?(this.config=ke(),w=this.sanitizeText(r.text.trim()),A.labelType=r.type,w.startsWith('"')&&w.endsWith('"')&&(w=w.substring(1,w.length-1)),A.text=w):A.text===void 0&&(A.text=i),a!==void 0&&(A.type=a),n!=null&&n.forEach(d=>{A.styles.push(d)}),l!=null&&l.forEach(d=>{A.classes.push(d)}),g!==void 0&&(A.dir=g),A.props===void 0?A.props=h:h!==void 0&&Object.assign(A.props,h),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!c1(u.shape))throw new Error(`No such shape: ${u.shape}.`);A.type=u==null?void 0:u.shape}u!=null&&u.label&&(A.text=u==null?void 0:u.label,A.labelType=this.sanitizeNodeLabelType(u==null?void 0:u.labelType)),u!=null&&u.icon&&(A.icon=u==null?void 0:u.icon,!((F=u.label)!=null&&F.trim())&&A.text===i&&(A.text="")),u!=null&&u.form&&(A.form=u==null?void 0:u.form),u!=null&&u.pos&&(A.pos=u==null?void 0:u.pos),u!=null&&u.img&&(A.img=u==null?void 0:u.img,!((c=u.label)!=null&&c.trim())&&A.text===i&&(A.text="")),u!=null&&u.constraint&&(A.constraint=u.constraint),u.w&&(A.assetWidth=Number(u.w)),u.h&&(A.assetHeight=Number(u.h))}}addSingleLink(i,r,a,n){const h={start:i,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};$.info("abc78 Got edge...",h);const m=a.text;if(m!==void 0&&(h.text=this.sanitizeText(m.text.trim()),h.text.startsWith('"')&&h.text.endsWith('"')&&(h.text=h.text.substring(1,h.text.length-1)),h.labelType=this.sanitizeNodeLabelType(m.type)),a!==void 0&&(h.type=a.type,h.stroke=a.stroke,h.length=a.length>10?10:a.length),n&&!this.edges.some(u=>u.id===n))h.id=n,h.isUserDefinedId=!0;else{const u=this.edges.filter(x=>x.start===h.start&&x.end===h.end);u.length===0?h.id=st(h.start,h.end,{counter:0,prefix:"L"}):h.id=st(h.start,h.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))$.info("Pushing edge..."),this.edges.push(h);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.
|
|
6
|
+
|
|
7
|
+
Initialize mermaid with maxEdges set to a higher number to allow more edges.
|
|
8
|
+
You cannot set this config via configuration inside the diagram as it is a secure config.
|
|
9
|
+
You have to call mermaid.initialize.`)}isLinkData(i){return i!==null&&typeof i=="object"&&"id"in i&&typeof i.id=="string"}addLink(i,r,a){const n=this.isLinkData(a)?a.id.replace("@",""):void 0;$.info("addLink",i,r,n);for(const l of i)for(const g of r){const h=l===i[i.length-1],m=g===r[0];h&&m?this.addSingleLink(l,g,a,n):this.addSingleLink(l,g,a,void 0)}}updateLinkInterpolate(i,r){i.forEach(a=>{a==="default"?this.edges.defaultInterpolate=r:this.edges[a].interpolate=r})}updateLink(i,r){i.forEach(a=>{var n,l,g,h,m,u;if(typeof a=="number"&&a>=this.edges.length)throw new Error(`The index ${a} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);a==="default"?this.edges.defaultStyle=r:(this.edges[a].style=r,(((l=(n=this.edges[a])==null?void 0:n.style)==null?void 0:l.length)??0)>0&&!((h=(g=this.edges[a])==null?void 0:g.style)!=null&&h.some(x=>x==null?void 0:x.startsWith("fill")))&&((u=(m=this.edges[a])==null?void 0:m.style)==null||u.push("fill:none")))})}addClass(i,r){const a=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i.split(",").forEach(n=>{let l=this.classes.get(n);l===void 0&&(l={id:n,styles:[],textStyles:[]},this.classes.set(n,l)),a!=null&&a.forEach(g=>{if(/color/.exec(g)){const h=g.replace("fill","bgFill");l.textStyles.push(h)}l.styles.push(g)})})}setDirection(i){this.direction=i.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(i,r){for(const a of i.split(",")){const n=this.vertices.get(a);n&&n.classes.push(r);const l=this.edges.find(h=>h.id===a);l&&l.classes.push(r);const g=this.subGraphLookup.get(a);g&&g.classes.push(r)}}setTooltip(i,r){if(r!==void 0){r=this.sanitizeText(r);for(const a of i.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(a):a,r)}}setClickFun(i,r,a){if(ke().securityLevel!=="loose"||r===void 0)return;let n=[];if(typeof a=="string"){n=a.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let g=0;g<n.length;g++){let h=n[g].trim();h.startsWith('"')&&h.endsWith('"')&&(h=h.substr(1,h.length-2)),n[g]=h}}n.length===0&&n.push(i);const l=this.vertices.get(i);l&&(l.haveCallback=!0,this.funs.push(()=>{const g=this.lookUpDomId(i),h=document.querySelector(`[id="${g}"]`);h!==null&&h.addEventListener("click",()=>{rt.runFunc(r,...n)},!1)}))}setLink(i,r,a){i.split(",").forEach(n=>{const l=this.vertices.get(n);l!==void 0&&(l.link=rt.formatUrl(r,this.config),l.linkTarget=a)}),this.setClass(i,"clickable")}getTooltip(i){return this.tooltips.get(i)}setClickEvent(i,r,a){i.split(",").forEach(n=>{this.setClickFun(n,r,a)}),this.setClass(i,"clickable")}bindFunctions(i){this.funs.forEach(r=>{r(i)})}getDirection(){var i;return(i=this.direction)==null?void 0:i.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(i){const r=g1();it(i).select("svg").selectAll("g.node").on("mouseover",l=>{var u;const g=it(l.currentTarget),h=g.attr("title");if(h===null)return;const m=(u=l.currentTarget)==null?void 0:u.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(g.attr("title")).style("left",window.scrollX+m.left+(m.right-m.left)/2+"px").style("top",window.scrollY+m.bottom+"px"),r.html(h1.sanitize(h)),g.classed("hover",!0)}).on("mouseout",l=>{r.transition().duration(500).style("opacity",0),it(l.currentTarget).classed("hover",!1)})}clear(i="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=i,this.config=ke(),d1()}setGen(i){this.version=i||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(i,r,a){let n=i.text.trim(),l=a.text;i===a&&/\s/.exec(a.text)&&(n=void 0);const h=k(w=>{const A={boolean:{},number:{},string:{}},F=[];let c;return{nodeList:w.filter(function(E){const G=typeof E;return E.stmt&&E.stmt==="dir"?(c=E.value,!1):E.trim()===""?!1:G in A?A[G].hasOwnProperty(E)?!1:A[G][E]=!0:F.includes(E)?!1:F.push(E)}),dir:c}},"uniq")(r.flat()),m=h.nodeList;let u=h.dir;const x=ke().flowchart??{};if(u=u??(x.inheritDir?this.getDirection()??ke().direction??void 0:void 0),this.version==="gen-1")for(let w=0;w<m.length;w++)m[w]=this.lookUpDomId(m[w]);n=n??"subGraph"+this.subCount,l=l||"",l=this.sanitizeText(l),this.subCount=this.subCount+1;const y={id:n,nodes:m,title:l.trim(),classes:[],dir:u,labelType:this.sanitizeNodeLabelType(a==null?void 0:a.type)};return $.info("Adding",y.id,y.nodes,y.dir),y.nodes=this.makeUniq(y,this.subGraphs).nodes,this.subGraphs.push(y),this.subGraphLookup.set(n,y),n}getPosForId(i){for(const[r,a]of this.subGraphs.entries())if(a.id===i)return r;return-1}indexNodes2(i,r){const a=this.subGraphs[r].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===i)return{result:!0,count:0};let n=0,l=1;for(;n<a.length;){const g=this.getPosForId(a[n]);if(g>=0){const h=this.indexNodes2(i,g);if(h.result)return{result:!0,count:l+h.count};l=l+h.count}n=n+1}return{result:!1,count:l}}getDepthFirstPos(i){return this.posCrossRef[i]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(i){let r=i.trim(),a="arrow_open";switch(r[0]){case"<":a="arrow_point",r=r.slice(1);break;case"x":a="arrow_cross",r=r.slice(1);break;case"o":a="arrow_circle",r=r.slice(1);break}let n="normal";return r.includes("=")&&(n="thick"),r.includes(".")&&(n="dotted"),{type:a,stroke:n}}countChar(i,r){const a=r.length;let n=0;for(let l=0;l<a;++l)r[l]===i&&++n;return n}destructEndLink(i){const r=i.trim();let a=r.slice(0,-1),n="arrow_open";switch(r.slice(-1)){case"x":n="arrow_cross",r.startsWith("x")&&(n="double_"+n,a=a.slice(1));break;case">":n="arrow_point",r.startsWith("<")&&(n="double_"+n,a=a.slice(1));break;case"o":n="arrow_circle",r.startsWith("o")&&(n="double_"+n,a=a.slice(1));break}let l="normal",g=a.length-1;a.startsWith("=")&&(l="thick"),a.startsWith("~")&&(l="invisible");const h=this.countChar(".",a);return h&&(l="dotted",g=h),{type:n,stroke:l,length:g}}destructLink(i,r){const a=this.destructEndLink(i);let n;if(r){if(n=this.destructStartLink(r),n.stroke!==a.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=a.type;else{if(n.type!==a.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=a.length,n}return a}exists(i,r){for(const a of i)if(a.nodes.includes(r))return!0;return!1}makeUniq(i,r){const a=[];return i.nodes.forEach((n,l)=>{this.exists(r,n)||a.push(i.nodes[l])}),{nodes:a}}getTypeFromVertex(i){if(i.img)return"imageSquare";if(i.icon)return i.form==="circle"?"iconCircle":i.form==="square"?"iconSquare":i.form==="rounded"?"iconRounded":"icon";switch(i.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return i.type}}findNode(i,r){return i.find(a=>a.id===r)}destructEdgeType(i){let r="none",a="arrow_point";switch(i){case"arrow_point":case"arrow_circle":case"arrow_cross":a=i;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=i.replace("double_",""),a=r;break}return{arrowTypeStart:r,arrowTypeEnd:a}}addNodeFromVertex(i,r,a,n,l,g){var x;const h=a.get(i.id),m=n.get(i.id)??!1,u=this.findNode(r,i.id);if(u)u.cssStyles=i.styles,u.cssCompiledStyles=this.getCompiledStyles(i.classes),u.cssClasses=i.classes.join(" ");else{const y={id:i.id,label:i.text,labelType:i.labelType,labelStyle:"",parentId:h,padding:((x=l.flowchart)==null?void 0:x.padding)||8,cssStyles:i.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...i.classes]),cssClasses:"default "+i.classes.join(" "),dir:i.dir,domId:i.domId,look:g,link:i.link,linkTarget:i.linkTarget,tooltip:this.getTooltip(i.id),icon:i.icon,pos:i.pos,img:i.img,assetWidth:i.assetWidth,assetHeight:i.assetHeight,constraint:i.constraint};m?r.push({...y,isGroup:!0,shape:"rect"}):r.push({...y,isGroup:!1,shape:this.getTypeFromVertex(i)})}}getCompiledStyles(i){let r=[];for(const a of i){const n=this.classes.get(a);n!=null&&n.styles&&(r=[...r,...n.styles??[]].map(l=>l.trim())),n!=null&&n.textStyles&&(r=[...r,...n.textStyles??[]].map(l=>l.trim()))}return r}getData(){var F;const i=ke(),r=[],a=[],n=this.getSubGraphs(),l=new Map,g=new Map,h=new Map;for(const c of n)for(const d of c.nodes)this.subGraphLookup.has(d)&&h.set(d,c.id);const m=k(c=>{var d,E;return((E=(d=this.subGraphLookup.get(c))==null?void 0:d.metadata)==null?void 0:E.view)==="collapsed"},"isCollapsed"),u=k(c=>{let d;const E=new Set;let G=c;for(;G!==void 0&&!E.has(G);)E.add(G),m(G)&&(d=G),G=h.get(G);return d},"outermostCollapsed"),x=new Set,y=new Map;for(const c of n){const d=u(c.id);if(d!==void 0){c.id!==d&&(x.add(c.id),y.set(c.id,d));for(const E of c.nodes)E!==d&&(x.add(E),y.set(E,d))}}for(let c=n.length-1;c>=0;c--){const d=n[c];if(!x.has(d.id)){d.nodes.length>0&&g.set(d.id,!0);for(const E of d.nodes)l.set(E,d.id)}}for(let c=n.length-1;c>=0;c--){const d=n[c];x.has(d.id)||(((F=d.metadata)==null?void 0:F.view)==="collapsed"?r.push({id:d.id,label:d.title,labelStyle:"",labelType:d.labelType,parentId:l.get(d.id),padding:8,cssCompiledStyles:this.getCompiledStyles(d.classes),cssClasses:d.classes.join(" "),shape:"collapsedGroup",dir:d.dir,isGroup:!1,look:i.look}):r.push({id:d.id,label:d.title,labelStyle:"",labelType:d.labelType,parentId:l.get(d.id),padding:8,cssCompiledStyles:this.getCompiledStyles(d.classes),cssClasses:d.classes.join(" "),shape:"rect",dir:d.dir,isGroup:!0,look:i.look}))}this.getVertices().forEach(c=>{x.has(c.id)||this.addNodeFromVertex(c,r,l,g,i,i.look||"classic")});const A=this.getEdges();return A.forEach((c,d)=>{var I;const{arrowTypeStart:E,arrowTypeEnd:G}=this.destructEdgeType(c.type),pe=[...A.defaultStyle??[]],fe=y.get(c.start)??c.start,V=y.get(c.end)??c.end;if(fe===V&&(y.has(c.start)||y.has(c.end)))return;c.style&&pe.push(...c.style);const R={id:st(fe,V,{counter:d,prefix:"L"},c.id),isUserDefinedId:c.isUserDefinedId,start:fe,end:V,type:c.type??"normal",label:c.text,labelType:c.labelType,labelpos:"c",thickness:c.stroke,minlen:c.length,classes:(c==null?void 0:c.stroke)==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:(c==null?void 0:c.stroke)==="invisible"||(c==null?void 0:c.type)==="arrow_open"?"none":E,arrowTypeEnd:(c==null?void 0:c.stroke)==="invisible"||(c==null?void 0:c.type)==="arrow_open"?"none":G,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(c.classes),labelStyle:pe,style:pe,pattern:c.stroke,look:i.look,animate:c.animate,animation:c.animation,curve:c.interpolate||this.edges.defaultInterpolate||((I=i.flowchart)==null?void 0:I.curve)};a.push(R)}),{nodes:r,edges:a,other:{},config:i}}defaultConfig(){return p1.flowchart}},k(Pe,"FlowDB"),Pe),m1=k(function(s,i){return i.db.getClasses()},"getClasses"),C1=k(async function(s,i,r,a){var y;$.info("REF0:"),$.info("Drawing state diagram (v2)",i);const{securityLevel:n,flowchart:l,layout:g}=ke();a.db.setDiagramId(i),$.debug("Before getData: ");const h=a.db.getData();$.debug("Data: ",h);const m=Qt(i,n),u=a.db.getDirection();h.type=a.type,h.layoutAlgorithm=$t(g),h.layoutAlgorithm==="dagre"&&g==="elk"&&$.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=u,h.nodeSpacing=(l==null?void 0:l.nodeSpacing)||50,h.rankSpacing=(l==null?void 0:l.rankSpacing)||50,h.markers=["point","circle","cross"],h.diagramId=i,$.debug("REF1:",h),await e1(h,m);const x=((y=h.config.flowchart)==null?void 0:y.diagramPadding)??8;rt.insertTitle(m,"flowchartTitleText",(l==null?void 0:l.titleTopMargin)||0,a.db.getDiagramTitle()),Jt(m,x,"flowchart",(l==null?void 0:l.useMaxWidth)||!1)},"draw"),T1={getClasses:m1,draw:C1},at=(function(){var s=k(function(Ae,p,f,b){for(f=f||{},b=Ae.length;b--;f[Ae[b]]=p);return f},"o"),i=[1,4],r=[1,3],a=[1,5],n=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],l=[2,2],g=[1,13],h=[1,14],m=[1,15],u=[1,16],x=[1,23],y=[1,25],w=[1,26],A=[1,27],F=[1,50],c=[1,49],d=[1,29],E=[1,30],G=[1,31],pe=[1,32],fe=[1,33],V=[1,45],R=[1,47],I=[1,43],P=[1,48],O=[1,44],M=[1,51],U=[1,46],z=[1,52],W=[1,53],Me=[1,34],Ue=[1,35],ze=[1,36],We=[1,37],je=[1,38],ge=[1,58],_=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],te=[1,62],se=[1,61],ie=[1,63],Se=[8,9,11,75,77,78],nt=[1,79],De=[1,92],ye=[1,97],xe=[1,96],Ee=[1,93],Fe=[1,89],_e=[1,95],Be=[1,91],ve=[1,98],Le=[1,94],Ve=[1,99],Ie=[1,90],me=[8,9,10,11,40,75,77,78],K=[8,9,10,11,40,46,75,77,78],X=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],ut=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],we=[44,60,89,102,105,106,109,111,114,115,116],ot=[1,122],lt=[1,123],Ke=[1,125],He=[1,124],ct=[44,60,62,74,89,102,105,106,109,111,114,115,116],ht=[1,134],dt=[1,148],pt=[1,149],ft=[1,150],gt=[1,151],bt=[1,136],At=[1,138],kt=[1,142],mt=[1,143],Ct=[1,144],Tt=[1,145],St=[1,146],Dt=[1,147],yt=[1,152],xt=[1,153],Et=[1,132],Ft=[1,133],_t=[1,140],Bt=[1,135],vt=[1,139],Lt=[1,137],Qe=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],Vt=[1,155],It=[1,157],L=[8,9,11],Q=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],C=[1,177],H=[1,173],Y=[1,174],T=[1,178],S=[1,175],D=[1,176],Re=[77,116,119],B=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],wt=[10,106],be=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],re=[1,248],ae=[1,246],ne=[1,250],ue=[1,244],oe=[1,245],le=[1,247],ce=[1,249],he=[1,251],Ne=[1,269],Rt=[8,9,11,106],ee=[8,9,10,11,60,84,105,106,109,110,111,112],Je={trace:k(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:k(function(p,f,b,o,v,e,Oe){var t=e.length-1;switch(v){case 2:this.$=[];break;case 3:(!Array.isArray(e[t])||e[t].length>0)&&e[t-1].push(e[t]),this.$=e[t-1];break;case 4:case 183:this.$=e[t];break;case 11:o.setDirection("TB"),this.$="TB";break;case 12:o.setDirection(e[t-1]),this.$=e[t-1];break;case 27:this.$=e[t-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=o.addSubGraph(e[t-6],e[t-1],e[t-4]);break;case 34:this.$=o.addSubGraph(e[t-3],e[t-1],e[t-3]);break;case 35:this.$=o.addSubGraph(void 0,e[t-1],void 0);break;case 37:this.$=e[t].trim(),o.setAccTitle(this.$);break;case 38:case 39:this.$=e[t].trim(),o.setAccDescription(this.$);break;case 43:this.$=e[t-1]+e[t];break;case 44:this.$=e[t];break;case 45:o.addVertex(e[t-1][e[t-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t]),o.addLink(e[t-3].stmt,e[t-1],e[t-2]),this.$={stmt:e[t-1],nodes:e[t-1].concat(e[t-3].nodes)};break;case 46:o.addLink(e[t-2].stmt,e[t],e[t-1]),this.$={stmt:e[t],nodes:e[t].concat(e[t-2].nodes)};break;case 47:o.addLink(e[t-3].stmt,e[t-1],e[t-2]),this.$={stmt:e[t-1],nodes:e[t-1].concat(e[t-3].nodes)};break;case 48:this.$={stmt:e[t-1],nodes:e[t-1]};break;case 49:o.addVertex(e[t-1][e[t-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t]),this.$={stmt:e[t-1],nodes:e[t-1],shapeData:e[t]};break;case 50:this.$={stmt:e[t],nodes:e[t]};break;case 51:this.$=[e[t]];break;case 52:o.addVertex(e[t-5][e[t-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t-4]),this.$=e[t-5].concat(e[t]);break;case 53:this.$=e[t-4].concat(e[t]);break;case 54:this.$=e[t];break;case 55:this.$=e[t-2],o.setClass(e[t-2],e[t]);break;case 56:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"square");break;case 57:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"doublecircle");break;case 58:this.$=e[t-5],o.addVertex(e[t-5],e[t-2],"circle");break;case 59:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"ellipse");break;case 60:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"stadium");break;case 61:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"subroutine");break;case 62:this.$=e[t-7],o.addVertex(e[t-7],e[t-1],"rect",void 0,void 0,void 0,Object.fromEntries([[e[t-5],e[t-3]]]));break;case 63:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"cylinder");break;case 64:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"round");break;case 65:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"diamond");break;case 66:this.$=e[t-5],o.addVertex(e[t-5],e[t-2],"hexagon");break;case 67:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"odd");break;case 68:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"trapezoid");break;case 69:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"inv_trapezoid");break;case 70:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"lean_right");break;case 71:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"lean_left");break;case 72:this.$=e[t],o.addVertex(e[t]);break;case 73:e[t-1].text=e[t],this.$=e[t-1];break;case 74:case 75:e[t-2].text=e[t-1],this.$=e[t-2];break;case 76:this.$=e[t];break;case 77:var N=o.destructLink(e[t],e[t-2]);this.$={type:N.type,stroke:N.stroke,length:N.length,text:e[t-1]};break;case 78:var N=o.destructLink(e[t],e[t-2]);this.$={type:N.type,stroke:N.stroke,length:N.length,text:e[t-1],id:e[t-3]};break;case 79:this.$={text:e[t],type:"text"};break;case 80:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 81:this.$={text:e[t],type:"string"};break;case 82:this.$={text:e[t],type:"markdown"};break;case 83:var N=o.destructLink(e[t]);this.$={type:N.type,stroke:N.stroke,length:N.length};break;case 84:var N=o.destructLink(e[t]);this.$={type:N.type,stroke:N.stroke,length:N.length,id:e[t-1]};break;case 85:this.$=e[t-1];break;case 86:this.$={text:e[t],type:"text"};break;case 87:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 88:this.$={text:e[t],type:"string"};break;case 89:case 104:this.$={text:e[t],type:"markdown"};break;case 101:this.$={text:e[t],type:"text"};break;case 102:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 103:this.$={text:e[t],type:"text"};break;case 105:this.$=e[t-4],o.addClass(e[t-2],e[t]);break;case 106:this.$=e[t-4],o.setClass(e[t-2],e[t]);break;case 107:case 115:this.$=e[t-1],o.setClickEvent(e[t-1],e[t]);break;case 108:case 116:this.$=e[t-3],o.setClickEvent(e[t-3],e[t-2]),o.setTooltip(e[t-3],e[t]);break;case 109:this.$=e[t-2],o.setClickEvent(e[t-2],e[t-1],e[t]);break;case 110:this.$=e[t-4],o.setClickEvent(e[t-4],e[t-3],e[t-2]),o.setTooltip(e[t-4],e[t]);break;case 111:this.$=e[t-2],o.setLink(e[t-2],e[t]);break;case 112:this.$=e[t-4],o.setLink(e[t-4],e[t-2]),o.setTooltip(e[t-4],e[t]);break;case 113:this.$=e[t-4],o.setLink(e[t-4],e[t-2],e[t]);break;case 114:this.$=e[t-6],o.setLink(e[t-6],e[t-4],e[t]),o.setTooltip(e[t-6],e[t-2]);break;case 117:this.$=e[t-1],o.setLink(e[t-1],e[t]);break;case 118:this.$=e[t-3],o.setLink(e[t-3],e[t-2]),o.setTooltip(e[t-3],e[t]);break;case 119:this.$=e[t-3],o.setLink(e[t-3],e[t-2],e[t]);break;case 120:this.$=e[t-5],o.setLink(e[t-5],e[t-4],e[t]),o.setTooltip(e[t-5],e[t-2]);break;case 121:this.$=e[t-4],o.addVertex(e[t-2],void 0,void 0,e[t]);break;case 122:this.$=e[t-4],o.updateLink([e[t-2]],e[t]);break;case 123:this.$=e[t-4],o.updateLink(e[t-2],e[t]);break;case 124:this.$=e[t-8],o.updateLinkInterpolate([e[t-6]],e[t-2]),o.updateLink([e[t-6]],e[t]);break;case 125:this.$=e[t-8],o.updateLinkInterpolate(e[t-6],e[t-2]),o.updateLink(e[t-6],e[t]);break;case 126:this.$=e[t-6],o.updateLinkInterpolate([e[t-4]],e[t]);break;case 127:this.$=e[t-6],o.updateLinkInterpolate(e[t-4],e[t]);break;case 128:case 130:this.$=[e[t]];break;case 129:case 131:e[t-2].push(e[t]),this.$=e[t-2];break;case 133:this.$=e[t-1]+e[t];break;case 181:this.$=e[t];break;case 182:this.$=e[t-1]+""+e[t];break;case 184:this.$=e[t-1]+""+e[t];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:i,10:r,12:a},{1:[3]},s(n,l,{5:6}),{4:7,9:i,10:r,12:a},{4:8,9:i,10:r,12:a},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:g,9:h,10:m,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:x,33:24,34:y,36:w,38:A,42:28,43:39,44:F,45:40,47:41,60:c,84:d,85:E,86:G,87:pe,88:fe,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W,121:Me,122:Ue,123:ze,124:We,125:je},s(n,[2,9]),s(n,[2,10]),s(n,[2,11]),{8:[1,55],9:[1,56],10:ge,15:54,18:57},s(_,[2,3]),s(_,[2,4]),s(_,[2,5]),s(_,[2,6]),s(_,[2,7]),s(_,[2,8]),{8:te,9:se,11:ie,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:te,9:se,11:ie,21:68},{8:te,9:se,11:ie,21:69},{8:te,9:se,11:ie,21:70},{8:te,9:se,11:ie,21:71},{8:te,9:se,11:ie,21:72},{8:te,9:se,10:[1,73],11:ie,21:74},s(_,[2,36]),{35:[1,75]},{37:[1,76]},s(_,[2,39]),s(Se,[2,50],{18:77,39:78,10:ge,40:nt}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:De,44:ye,60:xe,80:[1,87],89:Ee,95:[1,84],97:[1,85],101:86,105:Fe,106:_e,109:Be,111:ve,114:Le,115:Ve,116:Ie,120:88},s(_,[2,185]),s(_,[2,186]),s(_,[2,187]),s(_,[2,188]),s(_,[2,189]),s(me,[2,51]),s(me,[2,54],{46:[1,100]}),s(K,[2,72],{113:113,29:[1,101],44:F,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:c,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:V,102:R,105:I,106:P,109:O,111:M,114:U,115:z,116:W}),s(X,[2,181]),s(X,[2,142]),s(X,[2,143]),s(X,[2,144]),s(X,[2,145]),s(X,[2,146]),s(X,[2,147]),s(X,[2,148]),s(X,[2,149]),s(X,[2,150]),s(X,[2,151]),s(X,[2,152]),s(n,[2,12]),s(n,[2,18]),s(n,[2,19]),{9:[1,114]},s(ut,[2,26],{18:115,10:ge}),s(_,[2,27]),{42:116,43:39,44:F,45:40,47:41,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W},s(_,[2,40]),s(_,[2,41]),s(_,[2,42]),s(we,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ot,81:lt,116:Ke,119:He},{75:[1,126],77:[1,127]},s(ct,[2,83]),s(_,[2,28]),s(_,[2,29]),s(_,[2,30]),s(_,[2,31]),s(_,[2,32]),{10:ht,12:dt,14:pt,27:ft,28:128,32:gt,44:bt,60:At,75:kt,80:[1,130],81:[1,131],83:141,84:mt,85:Ct,86:Tt,87:St,88:Dt,89:yt,90:xt,91:129,105:Et,109:Ft,111:_t,114:Bt,115:vt,116:Lt},s(Qe,l,{5:154}),s(_,[2,37]),s(_,[2,38]),s(Se,[2,48],{44:Vt}),s(Se,[2,49],{18:156,10:ge,40:It}),s(me,[2,44]),{44:F,47:158,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W},{102:[1,159],103:160,105:[1,161]},{44:F,47:162,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W},{44:F,47:163,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W},s(L,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},s(L,[2,115],{120:168,10:[1,167],14:De,44:ye,60:xe,89:Ee,105:Fe,106:_e,109:Be,111:ve,114:Le,115:Ve,116:Ie}),s(L,[2,117],{10:[1,169]}),s(Q,[2,183]),s(Q,[2,170]),s(Q,[2,171]),s(Q,[2,172]),s(Q,[2,173]),s(Q,[2,174]),s(Q,[2,175]),s(Q,[2,176]),s(Q,[2,177]),s(Q,[2,178]),s(Q,[2,179]),s(Q,[2,180]),{44:F,47:170,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W},{30:171,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:179,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:181,50:[1,180],67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:182,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:183,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:184,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{109:[1,185]},{30:186,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:187,65:[1,188],67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:189,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:190,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{30:191,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},s(X,[2,182]),s(n,[2,20]),s(ut,[2,25]),s(Se,[2,46],{39:192,18:193,10:ge,40:nt}),s(we,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{77:[1,197],79:198,116:Ke,119:He},s(Re,[2,79]),s(Re,[2,81]),s(Re,[2,82]),s(Re,[2,168]),s(Re,[2,169]),{76:199,79:121,80:ot,81:lt,116:Ke,119:He},s(ct,[2,84]),{8:te,9:se,10:ht,11:ie,12:dt,14:pt,21:201,27:ft,29:[1,200],32:gt,44:bt,60:At,75:kt,83:141,84:mt,85:Ct,86:Tt,87:St,88:Dt,89:yt,90:xt,91:202,105:Et,109:Ft,111:_t,114:Bt,115:vt,116:Lt},s(B,[2,101]),s(B,[2,103]),s(B,[2,104]),s(B,[2,157]),s(B,[2,158]),s(B,[2,159]),s(B,[2,160]),s(B,[2,161]),s(B,[2,162]),s(B,[2,163]),s(B,[2,164]),s(B,[2,165]),s(B,[2,166]),s(B,[2,167]),s(B,[2,90]),s(B,[2,91]),s(B,[2,92]),s(B,[2,93]),s(B,[2,94]),s(B,[2,95]),s(B,[2,96]),s(B,[2,97]),s(B,[2,98]),s(B,[2,99]),s(B,[2,100]),{6:11,7:12,8:g,9:h,10:m,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:x,32:[1,203],33:24,34:y,36:w,38:A,42:28,43:39,44:F,45:40,47:41,60:c,84:d,85:E,86:G,87:pe,88:fe,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W,121:Me,122:Ue,123:ze,124:We,125:je},{10:ge,18:204},{44:[1,205]},s(me,[2,43]),{10:[1,206],44:F,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:113,114:U,115:z,116:W},{10:[1,207]},{10:[1,208],106:[1,209]},s(wt,[2,128]),{10:[1,210],44:F,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:113,114:U,115:z,116:W},{10:[1,211],44:F,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:113,114:U,115:z,116:W},{80:[1,212]},s(L,[2,109],{10:[1,213]}),s(L,[2,111],{10:[1,214]}),{80:[1,215]},s(Q,[2,184]),{80:[1,216],98:[1,217]},s(me,[2,55],{113:113,44:F,60:c,89:V,102:R,105:I,106:P,109:O,111:M,114:U,115:z,116:W}),{31:[1,218],67:C,82:219,116:T,117:S,118:D},s(be,[2,86]),s(be,[2,88]),s(be,[2,89]),s(be,[2,153]),s(be,[2,154]),s(be,[2,155]),s(be,[2,156]),{49:[1,220],67:C,82:219,116:T,117:S,118:D},{30:221,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{51:[1,222],67:C,82:219,116:T,117:S,118:D},{53:[1,223],67:C,82:219,116:T,117:S,118:D},{55:[1,224],67:C,82:219,116:T,117:S,118:D},{57:[1,225],67:C,82:219,116:T,117:S,118:D},{60:[1,226]},{64:[1,227],67:C,82:219,116:T,117:S,118:D},{66:[1,228],67:C,82:219,116:T,117:S,118:D},{30:229,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},{31:[1,230],67:C,82:219,116:T,117:S,118:D},{67:C,69:[1,231],71:[1,232],82:219,116:T,117:S,118:D},{67:C,69:[1,234],71:[1,233],82:219,116:T,117:S,118:D},s(Se,[2,45],{18:156,10:ge,40:It}),s(Se,[2,47],{44:Vt}),s(we,[2,75]),s(we,[2,74]),{62:[1,235],67:C,82:219,116:T,117:S,118:D},s(we,[2,77]),s(Re,[2,80]),{77:[1,236],79:198,116:Ke,119:He},{30:237,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},s(Qe,l,{5:238}),s(B,[2,102]),s(_,[2,35]),{43:239,44:F,45:40,47:41,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W},{10:ge,18:240},{10:re,60:ae,84:ne,92:241,105:ue,107:242,108:243,109:oe,110:le,111:ce,112:he},{10:re,60:ae,84:ne,92:252,104:[1,253],105:ue,107:242,108:243,109:oe,110:le,111:ce,112:he},{10:re,60:ae,84:ne,92:254,104:[1,255],105:ue,107:242,108:243,109:oe,110:le,111:ce,112:he},{105:[1,256]},{10:re,60:ae,84:ne,92:257,105:ue,107:242,108:243,109:oe,110:le,111:ce,112:he},{44:F,47:258,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W},s(L,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},s(L,[2,116]),s(L,[2,118],{10:[1,262]}),s(L,[2,119]),s(K,[2,56]),s(be,[2,87]),s(K,[2,57]),{51:[1,263],67:C,82:219,116:T,117:S,118:D},s(K,[2,64]),s(K,[2,59]),s(K,[2,60]),s(K,[2,61]),{109:[1,264]},s(K,[2,63]),s(K,[2,65]),{66:[1,265],67:C,82:219,116:T,117:S,118:D},s(K,[2,67]),s(K,[2,68]),s(K,[2,70]),s(K,[2,69]),s(K,[2,71]),s([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),s(we,[2,78]),{31:[1,266],67:C,82:219,116:T,117:S,118:D},{6:11,7:12,8:g,9:h,10:m,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:x,32:[1,267],33:24,34:y,36:w,38:A,42:28,43:39,44:F,45:40,47:41,60:c,84:d,85:E,86:G,87:pe,88:fe,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W,121:Me,122:Ue,123:ze,124:We,125:je},s(me,[2,53]),{43:268,44:F,45:40,47:41,60:c,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W},s(L,[2,121],{106:Ne}),s(Rt,[2,130],{108:270,10:re,60:ae,84:ne,105:ue,109:oe,110:le,111:ce,112:he}),s(ee,[2,132]),s(ee,[2,134]),s(ee,[2,135]),s(ee,[2,136]),s(ee,[2,137]),s(ee,[2,138]),s(ee,[2,139]),s(ee,[2,140]),s(ee,[2,141]),s(L,[2,122],{106:Ne}),{10:[1,271]},s(L,[2,123],{106:Ne}),{10:[1,272]},s(wt,[2,129]),s(L,[2,105],{106:Ne}),s(L,[2,106],{113:113,44:F,60:c,89:V,102:R,105:I,106:P,109:O,111:M,114:U,115:z,116:W}),s(L,[2,110]),s(L,[2,112],{10:[1,273]}),s(L,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:te,9:se,11:ie,21:278},s(_,[2,34]),s(me,[2,52]),{10:re,60:ae,84:ne,105:ue,107:279,108:243,109:oe,110:le,111:ce,112:he},s(ee,[2,133]),{14:De,44:ye,60:xe,89:Ee,101:280,105:Fe,106:_e,109:Be,111:ve,114:Le,115:Ve,116:Ie,120:88},{14:De,44:ye,60:xe,89:Ee,101:281,105:Fe,106:_e,109:Be,111:ve,114:Le,115:Ve,116:Ie,120:88},{98:[1,282]},s(L,[2,120]),s(K,[2,58]),{30:283,67:C,80:H,81:Y,82:172,116:T,117:S,118:D},s(K,[2,66]),s(Qe,l,{5:284}),s(Rt,[2,131],{108:270,10:re,60:ae,84:ne,105:ue,109:oe,110:le,111:ce,112:he}),s(L,[2,126],{120:168,10:[1,285],14:De,44:ye,60:xe,89:Ee,105:Fe,106:_e,109:Be,111:ve,114:Le,115:Ve,116:Ie}),s(L,[2,127],{120:168,10:[1,286],14:De,44:ye,60:xe,89:Ee,105:Fe,106:_e,109:Be,111:ve,114:Le,115:Ve,116:Ie}),s(L,[2,114]),{31:[1,287],67:C,82:219,116:T,117:S,118:D},{6:11,7:12,8:g,9:h,10:m,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:x,32:[1,288],33:24,34:y,36:w,38:A,42:28,43:39,44:F,45:40,47:41,60:c,84:d,85:E,86:G,87:pe,88:fe,89:V,102:R,105:I,106:P,109:O,111:M,113:42,114:U,115:z,116:W,121:Me,122:Ue,123:ze,124:We,125:je},{10:re,60:ae,84:ne,92:289,105:ue,107:242,108:243,109:oe,110:le,111:ce,112:he},{10:re,60:ae,84:ne,92:290,105:ue,107:242,108:243,109:oe,110:le,111:ce,112:he},s(K,[2,62]),s(_,[2,33]),s(L,[2,124],{106:Ne}),s(L,[2,125],{106:Ne})],defaultActions:{},parseError:k(function(p,f){if(f.recoverable)this.trace(p);else{var b=new Error(p);throw b.hash=f,b}},"parseError"),parse:k(function(p){var f=this,b=[0],o=[],v=[null],e=[],Oe=this.table,t="",N=0,Nt=0,Kt=2,Gt=1,Ht=e.slice.call(arguments,1),j=Object.create(this.lexer),Ce={yy:{}};for(var Ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ze)&&(Ce.yy[Ze]=this.yy[Ze]);j.setInput(p,Ce.yy),Ce.yy.lexer=j,Ce.yy.parser=this,typeof j.yylloc>"u"&&(j.yylloc={});var $e=j.yylloc;e.push($e);var Yt=j.options&&j.options.ranges;typeof Ce.yy.parseError=="function"?this.parseError=Ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function qt(J){b.length=b.length-2*J,v.length=v.length-J,e.length=e.length-J}k(qt,"popStack");function Pt(){var J;return J=o.pop()||j.lex()||Gt,typeof J!="number"&&(J instanceof Array&&(o=J,J=o.pop()),J=f.symbols_[J]||J),J}k(Pt,"lex");for(var q,Te,Z,et,Ge={},qe,de,Ot,Xe;;){if(Te=b[b.length-1],this.defaultActions[Te]?Z=this.defaultActions[Te]:((q===null||typeof q>"u")&&(q=Pt()),Z=Oe[Te]&&Oe[Te][q]),typeof Z>"u"||!Z.length||!Z[0]){var tt="";Xe=[];for(qe in Oe[Te])this.terminals_[qe]&&qe>Kt&&Xe.push("'"+this.terminals_[qe]+"'");j.showPosition?tt="Parse error on line "+(N+1)+`:
|
|
10
|
+
`+j.showPosition()+`
|
|
11
|
+
Expecting `+Xe.join(", ")+", got '"+(this.terminals_[q]||q)+"'":tt="Parse error on line "+(N+1)+": Unexpected "+(q==Gt?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(tt,{text:j.match,token:this.terminals_[q]||q,line:j.yylineno,loc:$e,expected:Xe})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+q);switch(Z[0]){case 1:b.push(q),v.push(j.yytext),e.push(j.yylloc),b.push(Z[1]),q=null,Nt=j.yyleng,t=j.yytext,N=j.yylineno,$e=j.yylloc;break;case 2:if(de=this.productions_[Z[1]][1],Ge.$=v[v.length-de],Ge._$={first_line:e[e.length-(de||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(de||1)].first_column,last_column:e[e.length-1].last_column},Yt&&(Ge._$.range=[e[e.length-(de||1)].range[0],e[e.length-1].range[1]]),et=this.performAction.apply(Ge,[t,Nt,N,Ce.yy,Z[1],v,e].concat(Ht)),typeof et<"u")return et;de&&(b=b.slice(0,-1*de*2),v=v.slice(0,-1*de),e=e.slice(0,-1*de)),b.push(this.productions_[Z[1]][0]),v.push(Ge.$),e.push(Ge._$),Ot=Oe[b[b.length-2]][b[b.length-1]],b.push(Ot);break;case 3:return!0}}return!0},"parse")},jt=(function(){var Ae={EOF:1,parseError:k(function(f,b){if(this.yy.parser)this.yy.parser.parseError(f,b);else throw new Error(f)},"parseError"),setInput:k(function(p,f){return this.yy=f||this.yy||{},this._input=p,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:k(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var f=p.match(/(?:\r\n?|\n).*/g);return f?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:k(function(p){var f=p.length,b=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-f),this.offset-=f;var o=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),b.length-1&&(this.yylineno-=b.length-1);var v=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:b?(b.length===o.length?this.yylloc.first_column:0)+o[o.length-b.length].length-b[0].length:this.yylloc.first_column-f},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-f]),this.yyleng=this.yytext.length,this},"unput"),more:k(function(){return this._more=!0,this},"more"),reject:k(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).
|
|
12
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:k(function(p){this.unput(this.match.slice(p))},"less"),pastInput:k(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:k(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:k(function(){var p=this.pastInput(),f=new Array(p.length+1).join("-");return p+this.upcomingInput()+`
|
|
13
|
+
`+f+"^"},"showPosition"),test_match:k(function(p,f){var b,o,v;if(this.options.backtrack_lexer&&(v={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&&(v.yylloc.range=this.yylloc.range.slice(0))),o=p[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,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(p[0].length),this.matched+=p[0],b=this.performAction.call(this,this.yy,this,f,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),b)return b;if(this._backtrack){for(var e in v)this[e]=v[e];return!1}return!1},"test_match"),next:k(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,f,b,o;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),e=0;e<v.length;e++)if(b=this._input.match(this.rules[v[e]]),b&&(!f||b[0].length>f[0].length)){if(f=b,o=e,this.options.backtrack_lexer){if(p=this.test_match(b,v[e]),p!==!1)return p;if(this._backtrack){f=!1;continue}else return!1}else if(!this.options.flex)break}return f?(p=this.test_match(f,v[o]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
14
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:k(function(){var f=this.next();return f||this.lex()},"lex"),begin:k(function(f){this.conditionStack.push(f)},"begin"),popState:k(function(){var f=this.conditionStack.length-1;return f>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:k(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:k(function(f){return f=this.conditionStack.length-1-Math.abs(f||0),f>=0?this.conditionStack[f]:"INITIAL"},"topState"),pushState:k(function(f){this.begin(f)},"pushState"),stateStackSize:k(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:k(function(f,b,o,v){switch(o){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;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 this.pushState("shapeData"),b.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const e=/\n\s*/g;return b.yytext=b.yytext.replace(e,"<br/>"),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return f.lex.firstGraph()&&this.begin("dir"),12;case 36:return f.lex.firstGraph()&&this.begin("dir"),12;case 37:return f.lex.firstGraph()&&this.begin("dir"),12;case 38:return f.lex.firstGraph()&&this.begin("dir"),12;case 39:return 27;case 40:return 32;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return 98;case 45:return this.popState(),13;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return this.popState(),14;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:return 111;case 64:return 46;case 65:return 60;case 66:return 44;case 67:return 8;case 68:return 106;case 69:return 115;case 70:return this.popState(),77;case 71:return this.pushState("edgeText"),75;case 72:return 119;case 73:return this.popState(),77;case 74:return this.pushState("thickEdgeText"),75;case 75:return 119;case 76:return this.popState(),77;case 77:return this.pushState("dottedEdgeText"),75;case 78:return 119;case 79:return 77;case 80:return this.popState(),53;case 81:return"TEXT";case 82:return this.pushState("ellipseText"),52;case 83:return this.popState(),55;case 84:return this.pushState("text"),54;case 85:return this.popState(),57;case 86:return this.pushState("text"),56;case 87:return 58;case 88:return this.pushState("text"),67;case 89:return this.popState(),64;case 90:return this.pushState("text"),63;case 91:return this.popState(),49;case 92:return this.pushState("text"),48;case 93:return this.popState(),69;case 94:return this.popState(),71;case 95:return 117;case 96:return this.pushState("trapText"),68;case 97:return this.pushState("trapText"),70;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 103:return 115;case 104:return 111;case 105:return 44;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;case 110:return this.pushState("text"),62;case 111:return this.popState(),51;case 112:return this.pushState("text"),50;case 113:return this.popState(),31;case 114:return this.pushState("text"),29;case 115:return this.popState(),66;case 116:return this.pushState("text"),65;case 117:return"TEXT";case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:swimlane-beta\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}};return Ae})();Je.lexer=jt;function Ye(){this.yy={}}return k(Ye,"Parser"),Ye.prototype=Je,Je.Parser=Ye,new Ye})();at.parser=at;var Ut=at,zt=Object.assign({},Ut);zt.parse=s=>{const i=s.replace(/}\s*\n/g,`}
|
|
15
|
+
`);return Ut.parse(i)};var S1=zt,D1=k((s,i)=>{const r=b1,a=r(s,"r"),n=r(s,"g"),l=r(s,"b");return f1(a,n,l,i)},"fade"),y1=k(s=>`.label {
|
|
16
|
+
font-family: ${s.fontFamily};
|
|
17
|
+
color: ${s.nodeTextColor||s.textColor};
|
|
18
|
+
}
|
|
19
|
+
.cluster-label text {
|
|
20
|
+
fill: ${s.titleColor};
|
|
21
|
+
}
|
|
22
|
+
.cluster-label span {
|
|
23
|
+
color: ${s.titleColor};
|
|
24
|
+
}
|
|
25
|
+
.cluster-label span p {
|
|
26
|
+
background-color: transparent;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.label text,span {
|
|
30
|
+
fill: ${s.nodeTextColor||s.textColor};
|
|
31
|
+
color: ${s.nodeTextColor||s.textColor};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.node rect,
|
|
35
|
+
.node circle,
|
|
36
|
+
.node ellipse,
|
|
37
|
+
.node polygon,
|
|
38
|
+
.node path {
|
|
39
|
+
fill: ${s.mainBkg};
|
|
40
|
+
stroke: ${s.nodeBorder};
|
|
41
|
+
stroke-width: ${s.strokeWidth??1}px;
|
|
42
|
+
}
|
|
43
|
+
.rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {
|
|
44
|
+
text-anchor: middle;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.node .katex path {
|
|
48
|
+
fill: #000;
|
|
49
|
+
stroke: #000;
|
|
50
|
+
stroke-width: 1px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.rough-node .label,.node .label, .image-shape .label, .icon-shape .label {
|
|
54
|
+
text-align: center;
|
|
55
|
+
}
|
|
56
|
+
.node.clickable {
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
.root .anchor path {
|
|
62
|
+
fill: ${s.lineColor} !important;
|
|
63
|
+
stroke-width: 0;
|
|
64
|
+
stroke: ${s.lineColor};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.arrowheadPath {
|
|
68
|
+
fill: ${s.arrowheadColor};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.edgePaths .path {
|
|
72
|
+
stroke: ${s.lineColor};
|
|
73
|
+
stroke-width: ${s.strokeWidth??2}px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.flowchart-link {
|
|
77
|
+
stroke: ${s.lineColor};
|
|
78
|
+
fill: none;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.edgeLabel {
|
|
82
|
+
background-color: ${s.edgeLabelBackground};
|
|
83
|
+
p {
|
|
84
|
+
background-color: ${s.edgeLabelBackground};
|
|
85
|
+
}
|
|
86
|
+
rect {
|
|
87
|
+
opacity: 0.5;
|
|
88
|
+
background-color: ${s.edgeLabelBackground};
|
|
89
|
+
fill: ${s.edgeLabelBackground};
|
|
90
|
+
}
|
|
91
|
+
text-align: center;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* For html labels only */
|
|
95
|
+
.labelBkg {
|
|
96
|
+
background-color: ${D1(s.edgeLabelBackground,.5)};
|
|
97
|
+
// background-color:
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.cluster rect {
|
|
101
|
+
fill: ${s.clusterBkg};
|
|
102
|
+
stroke: ${s.clusterBorder};
|
|
103
|
+
stroke-width: 1px;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.cluster text {
|
|
107
|
+
fill: ${s.titleColor};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.cluster span {
|
|
111
|
+
color: ${s.titleColor};
|
|
112
|
+
}
|
|
113
|
+
/* .cluster div {
|
|
114
|
+
color: ${s.titleColor};
|
|
115
|
+
} */
|
|
116
|
+
|
|
117
|
+
/* Collapsed subgraph node (@{ view: collapsed }) */
|
|
118
|
+
.node .collapsed-indicator {
|
|
119
|
+
fill: ${s.clusterBorder};
|
|
120
|
+
stroke: none;
|
|
121
|
+
opacity: 0.6;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.node .collapsed-separator {
|
|
125
|
+
stroke: ${s.clusterBorder};
|
|
126
|
+
stroke-width: 0.75px;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
div.mermaidTooltip {
|
|
130
|
+
position: absolute;
|
|
131
|
+
text-align: center;
|
|
132
|
+
max-width: 200px;
|
|
133
|
+
padding: 2px;
|
|
134
|
+
font-family: ${s.fontFamily};
|
|
135
|
+
font-size: 12px;
|
|
136
|
+
background: ${s.tertiaryColor};
|
|
137
|
+
border: 1px solid ${s.border2};
|
|
138
|
+
border-radius: 2px;
|
|
139
|
+
pointer-events: none;
|
|
140
|
+
z-index: 100;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.flowchartTitleText {
|
|
144
|
+
text-anchor: middle;
|
|
145
|
+
font-size: 18px;
|
|
146
|
+
fill: ${s.textColor};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
rect.text {
|
|
150
|
+
fill: none;
|
|
151
|
+
stroke-width: 0;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.icon-shape, .image-shape {
|
|
155
|
+
background-color: ${s.edgeLabelBackground};
|
|
156
|
+
p {
|
|
157
|
+
background-color: ${s.edgeLabelBackground};
|
|
158
|
+
padding: 2px;
|
|
159
|
+
}
|
|
160
|
+
.label rect {
|
|
161
|
+
opacity: 0.5;
|
|
162
|
+
background-color: ${s.edgeLabelBackground};
|
|
163
|
+
fill: ${s.edgeLabelBackground};
|
|
164
|
+
}
|
|
165
|
+
text-align: center;
|
|
166
|
+
}
|
|
167
|
+
${Xt()}
|
|
168
|
+
`,"getStyles"),x1=y1,Wt=k(({defaultLayout:s,styles:i=x1}={})=>({parser:S1,get db(){return new k1},renderer:T1,styles:i,init:k(r=>{r.flowchart||(r.flowchart={});const a=Zt().layout??s??r.layout;a&&Mt({layout:a}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,Mt({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),E1=Wt();const I1=Object.freeze(Object.defineProperty({__proto__:null,createFlowDiagram:Wt,diagram:E1},Symbol.toStringTag,{value:"Module"}));export{Wt as c,I1 as f,x1 as s};
|
|
169
|
+
//# sourceMappingURL=flowDiagram-HODETNUW-B8N_WyW5.js.map
|