gitnexus 1.6.5-rc.9 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/_shared/scope-resolution/finalize-algorithm.js +10 -2
  2. package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -1
  3. package/dist/_shared/scope-resolution/method-dispatch-index.d.ts +26 -0
  4. package/dist/_shared/scope-resolution/method-dispatch-index.d.ts.map +1 -1
  5. package/dist/_shared/scope-resolution/method-dispatch-index.js +22 -3
  6. package/dist/_shared/scope-resolution/method-dispatch-index.js.map +1 -1
  7. package/dist/_shared/scope-resolution/registries/lookup-core.js +18 -1
  8. package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -1
  9. package/dist/_shared/scope-resolution/symbol-definition.d.ts +2 -0
  10. package/dist/_shared/scope-resolution/symbol-definition.d.ts.map +1 -1
  11. package/dist/cli/ai-context.d.ts +1 -0
  12. package/dist/cli/ai-context.js +70 -16
  13. package/dist/cli/analyze.d.ts +30 -2
  14. package/dist/cli/analyze.js +45 -5
  15. package/dist/cli/index.js +8 -1
  16. package/dist/cli/setup.js +18 -0
  17. package/dist/cli/wiki.d.ts +2 -0
  18. package/dist/cli/wiki.js +11 -0
  19. package/dist/core/augmentation/engine.js +24 -4
  20. package/dist/core/incremental/shadow-candidates.d.ts +44 -0
  21. package/dist/core/incremental/shadow-candidates.js +74 -0
  22. package/dist/core/incremental/subgraph-extract.d.ts +64 -0
  23. package/dist/core/incremental/subgraph-extract.js +111 -0
  24. package/dist/core/ingestion/call-processor.d.ts +12 -1
  25. package/dist/core/ingestion/call-processor.js +183 -47
  26. package/dist/core/ingestion/class-extractors/configs/c-cpp.js +38 -0
  27. package/dist/core/ingestion/class-extractors/generic.js +8 -0
  28. package/dist/core/ingestion/class-types.d.ts +15 -0
  29. package/dist/core/ingestion/community-processor.js +18 -0
  30. package/dist/core/ingestion/import-resolvers/standard.d.ts +5 -0
  31. package/dist/core/ingestion/import-resolvers/standard.js +31 -1
  32. package/dist/core/ingestion/import-resolvers/utils.js +4 -0
  33. package/dist/core/ingestion/languages/c-cpp.js +20 -2
  34. package/dist/core/ingestion/languages/cpp/adl.d.ts +141 -0
  35. package/dist/core/ingestion/languages/cpp/adl.js +478 -0
  36. package/dist/core/ingestion/languages/cpp/arity-metadata.d.ts +18 -0
  37. package/dist/core/ingestion/languages/cpp/arity-metadata.js +170 -0
  38. package/dist/core/ingestion/languages/cpp/arity.d.ts +17 -0
  39. package/dist/core/ingestion/languages/cpp/arity.js +31 -0
  40. package/dist/core/ingestion/languages/cpp/captures.d.ts +2 -0
  41. package/dist/core/ingestion/languages/cpp/captures.js +1131 -0
  42. package/dist/core/ingestion/languages/cpp/conversion-rank.d.ts +31 -0
  43. package/dist/core/ingestion/languages/cpp/conversion-rank.js +47 -0
  44. package/dist/core/ingestion/languages/cpp/file-local-linkage.d.ts +118 -0
  45. package/dist/core/ingestion/languages/cpp/file-local-linkage.js +266 -0
  46. package/dist/core/ingestion/languages/cpp/header-scan.d.ts +8 -0
  47. package/dist/core/ingestion/languages/cpp/header-scan.js +50 -0
  48. package/dist/core/ingestion/languages/cpp/import-decomposer.d.ts +19 -0
  49. package/dist/core/ingestion/languages/cpp/import-decomposer.js +111 -0
  50. package/dist/core/ingestion/languages/cpp/import-target.d.ts +10 -0
  51. package/dist/core/ingestion/languages/cpp/import-target.js +13 -0
  52. package/dist/core/ingestion/languages/cpp/index.d.ts +11 -0
  53. package/dist/core/ingestion/languages/cpp/index.js +11 -0
  54. package/dist/core/ingestion/languages/cpp/inline-namespaces.d.ts +67 -0
  55. package/dist/core/ingestion/languages/cpp/inline-namespaces.js +176 -0
  56. package/dist/core/ingestion/languages/cpp/interpret.d.ts +35 -0
  57. package/dist/core/ingestion/languages/cpp/interpret.js +113 -0
  58. package/dist/core/ingestion/languages/cpp/merge-bindings.d.ts +13 -0
  59. package/dist/core/ingestion/languages/cpp/merge-bindings.js +29 -0
  60. package/dist/core/ingestion/languages/cpp/query.d.ts +3 -0
  61. package/dist/core/ingestion/languages/cpp/query.js +508 -0
  62. package/dist/core/ingestion/languages/cpp/range-bindings.d.ts +20 -0
  63. package/dist/core/ingestion/languages/cpp/range-bindings.js +212 -0
  64. package/dist/core/ingestion/languages/cpp/scope-resolver.d.ts +17 -0
  65. package/dist/core/ingestion/languages/cpp/scope-resolver.js +246 -0
  66. package/dist/core/ingestion/languages/cpp/simple-hooks.d.ts +24 -0
  67. package/dist/core/ingestion/languages/cpp/simple-hooks.js +62 -0
  68. package/dist/core/ingestion/languages/cpp/two-phase-lookup.d.ts +76 -0
  69. package/dist/core/ingestion/languages/cpp/two-phase-lookup.js +195 -0
  70. package/dist/core/ingestion/languages/java/arity-metadata.d.ts +18 -0
  71. package/dist/core/ingestion/languages/java/arity-metadata.js +40 -0
  72. package/dist/core/ingestion/languages/java/arity.d.ts +10 -0
  73. package/dist/core/ingestion/languages/java/arity.js +24 -0
  74. package/dist/core/ingestion/languages/java/cache-stats.d.ts +15 -0
  75. package/dist/core/ingestion/languages/java/cache-stats.js +26 -0
  76. package/dist/core/ingestion/languages/java/captures.d.ts +17 -0
  77. package/dist/core/ingestion/languages/java/captures.js +187 -0
  78. package/dist/core/ingestion/languages/java/import-decomposer.d.ts +18 -0
  79. package/dist/core/ingestion/languages/java/import-decomposer.js +85 -0
  80. package/dist/core/ingestion/languages/java/import-target.d.ts +17 -0
  81. package/dist/core/ingestion/languages/java/import-target.js +100 -0
  82. package/dist/core/ingestion/languages/java/index.d.ts +29 -0
  83. package/dist/core/ingestion/languages/java/index.js +29 -0
  84. package/dist/core/ingestion/languages/java/interpret.d.ts +13 -0
  85. package/dist/core/ingestion/languages/java/interpret.js +131 -0
  86. package/dist/core/ingestion/languages/java/merge-bindings.d.ts +12 -0
  87. package/dist/core/ingestion/languages/java/merge-bindings.js +40 -0
  88. package/dist/core/ingestion/languages/java/query.d.ts +30 -0
  89. package/dist/core/ingestion/languages/java/query.js +192 -0
  90. package/dist/core/ingestion/languages/java/receiver-binding.d.ts +11 -0
  91. package/dist/core/ingestion/languages/java/receiver-binding.js +95 -0
  92. package/dist/core/ingestion/languages/java/scope-resolver.d.ts +50 -0
  93. package/dist/core/ingestion/languages/java/scope-resolver.js +74 -0
  94. package/dist/core/ingestion/languages/java/simple-hooks.d.ts +13 -0
  95. package/dist/core/ingestion/languages/java/simple-hooks.js +34 -0
  96. package/dist/core/ingestion/languages/java.js +11 -0
  97. package/dist/core/ingestion/languages/php/arity-metadata.d.ts +28 -0
  98. package/dist/core/ingestion/languages/php/arity-metadata.js +63 -0
  99. package/dist/core/ingestion/languages/php/arity.d.ts +25 -0
  100. package/dist/core/ingestion/languages/php/arity.js +40 -0
  101. package/dist/core/ingestion/languages/php/cache-stats.d.ts +15 -0
  102. package/dist/core/ingestion/languages/php/cache-stats.js +26 -0
  103. package/dist/core/ingestion/languages/php/captures.d.ts +34 -0
  104. package/dist/core/ingestion/languages/php/captures.js +739 -0
  105. package/dist/core/ingestion/languages/php/import-decomposer.d.ts +28 -0
  106. package/dist/core/ingestion/languages/php/import-decomposer.js +265 -0
  107. package/dist/core/ingestion/languages/php/import-target.d.ts +47 -0
  108. package/dist/core/ingestion/languages/php/import-target.js +100 -0
  109. package/dist/core/ingestion/languages/php/index.d.ts +68 -0
  110. package/dist/core/ingestion/languages/php/index.js +72 -0
  111. package/dist/core/ingestion/languages/php/interpret.d.ts +36 -0
  112. package/dist/core/ingestion/languages/php/interpret.js +241 -0
  113. package/dist/core/ingestion/languages/php/merge-bindings.d.ts +19 -0
  114. package/dist/core/ingestion/languages/php/merge-bindings.js +47 -0
  115. package/dist/core/ingestion/languages/php/namespace-siblings.d.ts +51 -0
  116. package/dist/core/ingestion/languages/php/namespace-siblings.js +288 -0
  117. package/dist/core/ingestion/languages/php/query.d.ts +32 -0
  118. package/dist/core/ingestion/languages/php/query.js +326 -0
  119. package/dist/core/ingestion/languages/php/receiver-binding.d.ts +36 -0
  120. package/dist/core/ingestion/languages/php/receiver-binding.js +128 -0
  121. package/dist/core/ingestion/languages/php/scope-resolver.d.ts +23 -0
  122. package/dist/core/ingestion/languages/php/scope-resolver.js +358 -0
  123. package/dist/core/ingestion/languages/php/simple-hooks.d.ts +42 -0
  124. package/dist/core/ingestion/languages/php/simple-hooks.js +111 -0
  125. package/dist/core/ingestion/languages/php.d.ts +0 -7
  126. package/dist/core/ingestion/languages/php.js +15 -0
  127. package/dist/core/ingestion/markdown-processor.js +6 -1
  128. package/dist/core/ingestion/model/symbol-table.d.ts +1 -0
  129. package/dist/core/ingestion/model/symbol-table.js +3 -0
  130. package/dist/core/ingestion/parsing-processor.d.ts +22 -2
  131. package/dist/core/ingestion/parsing-processor.js +123 -50
  132. package/dist/core/ingestion/pipeline-phases/cross-file-impl.js +54 -2
  133. package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +5 -0
  134. package/dist/core/ingestion/pipeline-phases/parse-impl.js +119 -11
  135. package/dist/core/ingestion/pipeline-phases/parse.d.ts +14 -0
  136. package/dist/core/ingestion/pipeline.d.ts +13 -0
  137. package/dist/core/ingestion/registry-primary-flag.js +2 -0
  138. package/dist/core/ingestion/scope-extractor.js +4 -0
  139. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +167 -0
  140. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +3 -0
  141. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +1 -0
  142. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +12 -0
  143. package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.d.ts +1 -1
  144. package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +12 -2
  145. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +16 -0
  146. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +36 -0
  147. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +204 -13
  148. package/dist/core/ingestion/scope-resolution/passes/imported-return-types.js +1 -1
  149. package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.d.ts +55 -4
  150. package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.js +186 -5
  151. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +10 -1
  152. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +207 -9
  153. package/dist/core/ingestion/scope-resolution/pipeline/phase.js +13 -1
  154. package/dist/core/ingestion/scope-resolution/pipeline/registry.js +6 -0
  155. package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +17 -0
  156. package/dist/core/ingestion/scope-resolution/pipeline/run.js +86 -8
  157. package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +30 -0
  158. package/dist/core/ingestion/scope-resolution/scope/walkers.js +90 -8
  159. package/dist/core/ingestion/tree-sitter-queries.d.ts +2 -2
  160. package/dist/core/ingestion/tree-sitter-queries.js +23 -0
  161. package/dist/core/ingestion/utils/ast-helpers.js +6 -1
  162. package/dist/core/ingestion/utils/template-arguments.d.ts +11 -0
  163. package/dist/core/ingestion/utils/template-arguments.js +65 -0
  164. package/dist/core/ingestion/workers/parse-worker.d.ts +3 -0
  165. package/dist/core/ingestion/workers/parse-worker.js +42 -1
  166. package/dist/core/lbug/lbug-adapter.d.ts +39 -0
  167. package/dist/core/lbug/lbug-adapter.js +348 -48
  168. package/dist/core/run-analyze.d.ts +2 -0
  169. package/dist/core/run-analyze.js +323 -29
  170. package/dist/core/search/hybrid-search.d.ts +3 -0
  171. package/dist/core/search/hybrid-search.js +23 -6
  172. package/dist/core/wiki/generator.js +4 -3
  173. package/dist/core/wiki/html-viewer.js +2 -1
  174. package/dist/core/wiki/llm-client.d.ts +4 -0
  175. package/dist/core/wiki/llm-client.js +3 -3
  176. package/dist/core/wiki/mermaid-sanitizer.d.ts +2 -0
  177. package/dist/core/wiki/mermaid-sanitizer.js +100 -0
  178. package/dist/mcp/local/local-backend.js +20 -7
  179. package/dist/storage/file-hash.d.ts +47 -0
  180. package/dist/storage/file-hash.js +86 -0
  181. package/dist/storage/parse-cache.d.ts +73 -0
  182. package/dist/storage/parse-cache.js +253 -0
  183. package/dist/storage/repo-manager.d.ts +41 -1
  184. package/dist/storage/repo-manager.js +61 -6
  185. package/hooks/claude/gitnexus-hook.cjs +42 -4
  186. package/hooks/claude/hook-db-lock-probe.cjs +238 -0
  187. package/hooks/claude/hook-lock.cjs +119 -0
  188. package/hooks/claude/win-rm-list-json.ps1 +76 -0
  189. package/package.json +1 -1
  190. package/scripts/build.js +6 -2
  191. package/vendor/node_modules/node-addon-api/node_addon_api.target.mk +16 -16
  192. package/vendor/node_modules/node-addon-api/node_addon_api_except.target.mk +16 -16
  193. package/vendor/node_modules/node-addon-api/node_addon_api_except_all.target.mk +16 -16
  194. package/vendor/node_modules/node-addon-api/node_addon_api_maybe.target.mk +16 -16
  195. package/web/assets/{agent-BpHQleHE.js → agent-D2kLt6Dl.js} +91 -91
  196. package/web/assets/architecture-7EHR7CIX-6QZW5X65-BETj2x4g.js +1 -0
  197. package/web/assets/architectureDiagram-UL44E2DR-DvIkEGkp.js +36 -0
  198. package/web/assets/blockDiagram-7IZFK4PR-B4niSLvR.js +132 -0
  199. package/web/assets/{c4Diagram-DFAF54RM-DeJV1rCn.js → c4Diagram-Y2BXMSZH-DIzEXalR.js} +6 -6
  200. package/web/assets/chunk-2T2R6R2M-n6s9JZqv.js +4 -0
  201. package/web/assets/chunk-2UTLFMKG-CMBB1TMN.js +1 -0
  202. package/web/assets/{chunk-7RZVMHOQ-BdIU-RGO.js → chunk-3SSMPTDK-BzGeeheI.js} +1 -1
  203. package/web/assets/chunk-4R4BOZG6-mKhL59ul.js +159 -0
  204. package/web/assets/chunk-5IMINLNL-CnTLsXIV.js +1 -0
  205. package/web/assets/chunk-5VCL7Z4A-w1BCx98Z.js +1 -0
  206. package/web/assets/chunk-6764PJDD-ChwMM2z4.js +1 -0
  207. package/web/assets/chunk-67TQ5CYL-CChC2cAv.js +124 -0
  208. package/web/assets/chunk-7J6CGLKN-DT-b53FT.js +10 -0
  209. package/web/assets/chunk-7W6UQGC5-CgFyfZ6k.js +1 -0
  210. package/web/assets/chunk-AQ6EADP3-CCFje6lL.js +1 -0
  211. package/web/assets/{chunk-KSICW3F5-C2tZmXwv.js → chunk-AZZRMDJM-5E9ARdDQ.js} +1 -1
  212. package/web/assets/chunk-C62D2QBJ-CDAWj26E.js +1 -0
  213. package/web/assets/chunk-CEXFNPSA-D68Tk6ls.js +1 -0
  214. package/web/assets/chunk-INKRHTLW-ELpfuk9h.js +70 -0
  215. package/web/assets/chunk-J5EP6P6S-DxWW0yvu.js +1 -0
  216. package/web/assets/{chunk-AEOMTBSW-D7qjBMHW.js → chunk-JQRUD6KW-Dcq_Qnyy.js} +1 -1
  217. package/web/assets/chunk-KGFNY3KK-W-VR57xb.js +62 -0
  218. package/web/assets/chunk-KGYTTC2M-C6PHeuay.js +1 -0
  219. package/web/assets/chunk-KNLZD3CH-BuZBOcso.js +1 -0
  220. package/web/assets/chunk-KRXBNO2N-DH2NPM7I.js +1 -0
  221. package/web/assets/chunk-LCXTWHL2-CqJ0oo1x.js +231 -0
  222. package/web/assets/chunk-LII3EMHJ-3X33tCpU.js +1 -0
  223. package/web/assets/chunk-QA3QBVWF-D5Ha3GgB.js +2 -0
  224. package/web/assets/chunk-RERM46MO-DQNbXtfw.js +1 -0
  225. package/web/assets/chunk-RG4AUYOV-D0M6vdq9.js +206 -0
  226. package/web/assets/chunk-RKZBBQEN-BmTPLSyv.js +1 -0
  227. package/web/assets/chunk-RLI5ZMPA-DExu2DOK.js +1 -0
  228. package/web/assets/chunk-T2UQINTJ-kGYG7ppP.js +1 -0
  229. package/web/assets/chunk-T5OCTHI4--9wWpVws.js +1 -0
  230. package/web/assets/chunk-UP6H54XL-DsKdC6jC.js +1 -0
  231. package/web/assets/chunk-UXSXWOXI-DR81EqLr.js +1 -0
  232. package/web/assets/chunk-UY5QBCOK-Du-c56gs.js +1 -0
  233. package/web/assets/chunk-W44A43WB-lrCpuupA.js +1 -0
  234. package/web/assets/chunk-ZXARS5L4-CSZRiyOf.js +1 -0
  235. package/web/assets/classDiagram-KGZ6W3CR-BB-saqC1.js +1 -0
  236. package/web/assets/classDiagram-v2-72OJOZXJ-Bp2bAlS5.js +1 -0
  237. package/web/assets/cose-bilkent-UX7MHV2Q-BHv2bbtl.js +1 -0
  238. package/web/assets/dagre-ND4H6XIP-DsIr9MOv.js +4 -0
  239. package/web/assets/diagram-3NCE3AQN-BUxnDPOY.js +43 -0
  240. package/web/assets/diagram-GF46GFSD-BJTyqqvI.js +24 -0
  241. package/web/assets/diagram-HNR7UZ2L-fUWreZzx.js +3 -0
  242. package/web/assets/diagram-QXG6HAR7-DilMHamP.js +24 -0
  243. package/web/assets/diagram-WEQXMOUZ-8KUrarg1.js +10 -0
  244. package/web/assets/erDiagram-L5TCEMPS-Doj9mSiW.js +85 -0
  245. package/web/assets/eventmodeling-FCH6USID-MREXMVOE-B3myHUst.js +1 -0
  246. package/web/assets/{flowDiagram-OTCZ4VVT-aAZw4c_M.js → flowDiagram-H6V6AXG4-BOSR-i3p.js} +12 -12
  247. package/web/assets/ganttDiagram-JCBTUEKG-BHQssTz6.js +292 -0
  248. package/web/assets/gitGraph-WXDBUCRP-R675I2BI-DF3rtf4A.js +1 -0
  249. package/web/assets/gitGraphDiagram-S2ZK5IYY-CCwVLT__.js +106 -0
  250. package/web/assets/index-j4-NuleT.js +623 -0
  251. package/web/assets/info-J43DQDTF-KCYPFFUO-R4XV_akJ.js +1 -0
  252. package/web/assets/infoDiagram-3YFTVSEB-Ce_TvtaV.js +2 -0
  253. package/web/assets/{ishikawaDiagram-YMYX4NHK-BF8AtDaj.js → ishikawaDiagram-BNXS4ZKH-4MXIDCSF.js} +6 -6
  254. package/web/assets/journeyDiagram-M6C3CM3L-DNPYCpvq.js +139 -0
  255. package/web/assets/kanban-definition-75IXJCU3-yYdfm8Kk.js +89 -0
  256. package/web/assets/{katex-GD7MH7QM-CJiOjBBJ.js → katex-K3KEBU37-CrVLz8l7.js} +1 -1
  257. package/web/assets/mindmap-definition-2TDM6QVE-DFNEKM77.js +96 -0
  258. package/web/assets/packet-YPE3B663-LP52Z2RK-CgQPdNZa.js +1 -0
  259. package/web/assets/pie-LRSECV5Y-TCRJHUBD-BzWOwc_c.js +1 -0
  260. package/web/assets/pieDiagram-CU6KROY3-iZAqpvhd.js +30 -0
  261. package/web/assets/quadrantDiagram-VICAPDV7-bAm6Hi_5.js +7 -0
  262. package/web/assets/radar-GUYGQ44K-RDLRG3WG-B7KG0FN7.js +1 -0
  263. package/web/assets/requirementDiagram-JXO7QTGE-CtDijhnf.js +84 -0
  264. package/web/assets/sankeyDiagram-URQDO5SZ-LFJz53u5.js +40 -0
  265. package/web/assets/sequenceDiagram-VS2MUI6T-BdjvyCHM.js +162 -0
  266. package/web/assets/stateDiagram-7D4R322I-e5odN9fG.js +1 -0
  267. package/web/assets/stateDiagram-v2-36443NZ5-vPsvjR2D.js +1 -0
  268. package/web/assets/timeline-definition-O6YCAMPW-DPAksNQp.js +120 -0
  269. package/web/assets/treeView-BLDUP644-QA4HXRO3-CRSxEwLO.js +1 -0
  270. package/web/assets/treemap-LRROVOQU-LLAWBHMP-a0PfKoVn.js +1 -0
  271. package/web/assets/vennDiagram-MWXL3ELB-Dtlfdt7J.js +34 -0
  272. package/web/assets/wardley-L42UT6IY-5TKZOOLJ-BKQ6e5mC.js +1 -0
  273. package/web/assets/wardleyDiagram-CUQ6CDDI-B23uRMUC.js +78 -0
  274. package/web/assets/{xychartDiagram-ZHJ5623Y-DZ7fP1_3.js → xychartDiagram-N2JHSOCM-DxwHeksW.js} +6 -6
  275. package/web/index.html +13 -2
  276. package/web/assets/architecture-YZFGNWBL-S5CXDPWN-BUzkWgDl.js +0 -1
  277. package/web/assets/architectureDiagram-EMZXCZ2Q-CXbzok1G.js +0 -36
  278. package/web/assets/blockDiagram-IGV67L2C-DA1QJ4ZB.js +0 -132
  279. package/web/assets/chunk-3GS5O3IE-B8hpnia8.js +0 -231
  280. package/web/assets/chunk-3YCYZ6SJ-B-BVu21C.js +0 -1
  281. package/web/assets/chunk-6NTNNK5N-DW-jYSDr.js +0 -1
  282. package/web/assets/chunk-A34GCYZU-BbZl-IKy.js +0 -1
  283. package/web/assets/chunk-DJ7UZH7F-B5tMfF87.js +0 -1
  284. package/web/assets/chunk-DKKBVRCY-Djm-6K_e.js +0 -4
  285. package/web/assets/chunk-DU5LTGQ6-QPoynYcp.js +0 -1
  286. package/web/assets/chunk-FXACKDTF-jieSmbe2.js +0 -159
  287. package/web/assets/chunk-H3VCZNTA-8EMHZ3SV.js +0 -1
  288. package/web/assets/chunk-HN6EAY2L-CgE_agsD.js +0 -1
  289. package/web/assets/chunk-O5ABG6QK-DEZV1O19.js +0 -1
  290. package/web/assets/chunk-PK6DOVAG-BXv0JnsJ.js +0 -206
  291. package/web/assets/chunk-RNJOYNJ4-BiBkF9dN.js +0 -1
  292. package/web/assets/chunk-RWUO3TPN-DTWzAhQ1.js +0 -1
  293. package/web/assets/chunk-TBF5ZNIQ-BSl6s9lT.js +0 -1
  294. package/web/assets/chunk-TU3PZOEN-DE5Qhc0N.js +0 -1
  295. package/web/assets/chunk-TYMNRAUI-D1NDLIMG.js +0 -1
  296. package/web/assets/chunk-VELTKBKT-C9dVN39o.js +0 -1
  297. package/web/assets/chunk-W7ZLLLMY-Bu-cdLzs.js +0 -1
  298. package/web/assets/chunk-WSB5WSVC-Dor71SOz.js +0 -1
  299. package/web/assets/chunk-XGPFEOL4-CUonLRle.js +0 -1
  300. package/web/assets/classDiagram-PPOCWD7C-Cdd6UdVv.js +0 -1
  301. package/web/assets/classDiagram-v2-23LJLIIU-DNhxY2Ib.js +0 -1
  302. package/web/assets/cose-bilkent-PNC4W37J-DdZq7Qz_.js +0 -1
  303. package/web/assets/dagre-E77IOHMT-Cfj_6e17.js +0 -4
  304. package/web/assets/diagram-H7BISOXX-BNvpsrBv.js +0 -43
  305. package/web/assets/diagram-JC5VWROH-Cn0rtDbJ.js +0 -24
  306. package/web/assets/diagram-LXUTUG65-CHfoVKNm.js +0 -10
  307. package/web/assets/diagram-WEHSV5V5-BLxHksnu.js +0 -24
  308. package/web/assets/erDiagram-GCSMX5X6-DfdN6iqF.js +0 -85
  309. package/web/assets/ganttDiagram-MUNLMDZQ-BEfC_7Or.js +0 -292
  310. package/web/assets/gitGraph-7Q5UKJZL-54BCDZD5-B6ZeRLP0.js +0 -1
  311. package/web/assets/gitGraphDiagram-3HKGZ4G3-CG0kC8Q5.js +0 -106
  312. package/web/assets/index-3NUCUW2s.js +0 -886
  313. package/web/assets/info-OMHHGYJF-BF2H5H6G-BIOsZy0W.js +0 -1
  314. package/web/assets/infoDiagram-MN7RKWGX-DUoMH-pq.js +0 -2
  315. package/web/assets/journeyDiagram-SO5T7YLQ-BW8oKa3N.js +0 -139
  316. package/web/assets/kanban-definition-LJHFXRCJ-DzbOsR-2.js +0 -89
  317. package/web/assets/mindmap-definition-2EUWGEK5-BIXGQALq.js +0 -96
  318. package/web/assets/packet-4T2RLAQJ-EV4IVRXR-Bs7ysNMU.js +0 -1
  319. package/web/assets/pie-ZZUOXDRM-N23DN5KN-Csi8nnbH.js +0 -1
  320. package/web/assets/pieDiagram-3IATQBI2-QY-u7P6a.js +0 -30
  321. package/web/assets/quadrantDiagram-E256RVCF-Di4aNiU8.js +0 -7
  322. package/web/assets/radar-PYXPWWZC-P6TP7ZYP-DJlyXh2-.js +0 -1
  323. package/web/assets/requirementDiagram-M5DCFWZL-CzUUrhQD.js +0 -84
  324. package/web/assets/sankeyDiagram-L3NBLAOT-D2fbMiIU.js +0 -10
  325. package/web/assets/sequenceDiagram-ZOUHS735-BNdkqguh.js +0 -157
  326. package/web/assets/stateDiagram-MLPALWAM-51_Q2w2L.js +0 -1
  327. package/web/assets/stateDiagram-v2-B5LQ5ZB2-8nHs2aNE.js +0 -1
  328. package/web/assets/timeline-definition-5SPVSISX-DkMiGj4Z.js +0 -120
  329. package/web/assets/treeView-SZITEDCU-5DXDK3XO-Cy6P0_CZ.js +0 -1
  330. package/web/assets/treemap-W4RFUUIX-WYLRDWKO-C_pp1R7A.js +0 -1
  331. package/web/assets/vennDiagram-IE5QUKF5-BCxMmf9q.js +0 -34
  332. package/web/assets/wardley-RL74JXVD-BCRCBASE-CMStJhpn.js +0 -1
  333. package/web/assets/wardleyDiagram-XU3VSMPF-ijlLF77s.js +0 -20
  334. /package/web/assets/{context-builder-CqQNhRj1.js → context-builder-_HS0v2ma.js} +0 -0
@@ -1 +0,0 @@
1
- import{t as e}from"./chunk-VELTKBKT-C9dVN39o.js";import{$t as t,Gn as n,It as r,P as i,bn as a,en as o,fn as s,vn as c,zn as l}from"./index-3NUCUW2s.js";import"./chunk-H3VCZNTA-8EMHZ3SV.js";import{t as u}from"./chunk-HN6EAY2L-CgE_agsD.js";import"./chunk-TBF5ZNIQ-BSl6s9lT.js";import"./chunk-RWUO3TPN-DTWzAhQ1.js";import{t as d}from"./chunk-3YCYZ6SJ-B-BVu21C.js";import{n as f,r as p,t as m}from"./chunk-3GS5O3IE-B8hpnia8.js";var h=e(e=>e.append(`circle`).attr(`class`,`start-state`).attr(`r`,s().state.sizeUnit).attr(`cx`,s().state.padding+s().state.sizeUnit).attr(`cy`,s().state.padding+s().state.sizeUnit),`drawStartState`),g=e(e=>e.append(`line`).style(`stroke`,`grey`).style(`stroke-dasharray`,`3`).attr(`x1`,s().state.textHeight).attr(`class`,`divider`).attr(`x2`,s().state.textHeight*2).attr(`y1`,0).attr(`y2`,0),`drawDivider`),_=e((e,t)=>{let n=e.append(`text`).attr(`x`,2*s().state.padding).attr(`y`,s().state.textHeight+2*s().state.padding).attr(`font-size`,s().state.fontSize).attr(`class`,`state-title`).text(t.id),r=n.node().getBBox();return e.insert(`rect`,`:first-child`).attr(`x`,s().state.padding).attr(`y`,s().state.padding).attr(`width`,r.width+2*s().state.padding).attr(`height`,r.height+2*s().state.padding).attr(`rx`,s().state.radius),n},`drawSimpleState`),v=e((t,n)=>{let r=e(function(e,t,n){let r=e.append(`tspan`).attr(`x`,2*s().state.padding).text(t);n||r.attr(`dy`,s().state.textHeight)},`addTspan`),i=t.append(`text`).attr(`x`,2*s().state.padding).attr(`y`,s().state.textHeight+1.3*s().state.padding).attr(`font-size`,s().state.fontSize).attr(`class`,`state-title`).text(n.descriptions[0]).node().getBBox(),a=i.height,o=t.append(`text`).attr(`x`,s().state.padding).attr(`y`,a+s().state.padding*.4+s().state.dividerMargin+s().state.textHeight).attr(`class`,`state-description`),c=!0,l=!0;n.descriptions.forEach(function(e){c||(r(o,e,l),l=!1),c=!1});let u=t.append(`line`).attr(`x1`,s().state.padding).attr(`y1`,s().state.padding+a+s().state.dividerMargin/2).attr(`y2`,s().state.padding+a+s().state.dividerMargin/2).attr(`class`,`descr-divider`),d=o.node().getBBox(),f=Math.max(d.width,i.width);return u.attr(`x2`,f+3*s().state.padding),t.insert(`rect`,`:first-child`).attr(`x`,s().state.padding).attr(`y`,s().state.padding).attr(`width`,f+2*s().state.padding).attr(`height`,d.height+a+2*s().state.padding).attr(`rx`,s().state.radius),t},`drawDescrState`),y=e((e,t,n)=>{let r=s().state.padding,i=2*s().state.padding,a=e.node().getBBox(),o=a.width,c=a.x,l=e.append(`text`).attr(`x`,0).attr(`y`,s().state.titleShift).attr(`font-size`,s().state.fontSize).attr(`class`,`state-title`).text(t.id),u=l.node().getBBox().width+i,d=Math.max(u,o);d===o&&(d+=i);let f,p=e.node().getBBox();t.doc,f=c-r,u>o&&(f=(o-d)/2+r),Math.abs(c-p.x)<r&&u>o&&(f=c-(u-o)/2);let m=1-s().state.textHeight;return e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,m).attr(`class`,n?`alt-composit`:`composit`).attr(`width`,d).attr(`height`,p.height+s().state.textHeight+s().state.titleShift+1).attr(`rx`,`0`),l.attr(`x`,f+r),u<=o&&l.attr(`x`,c+(d-i)/2-u/2+r),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,s().state.titleShift-s().state.textHeight-s().state.padding).attr(`width`,d).attr(`height`,s().state.textHeight*3).attr(`rx`,s().state.radius),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,s().state.titleShift-s().state.textHeight-s().state.padding).attr(`width`,d).attr(`height`,p.height+3+2*s().state.textHeight).attr(`rx`,s().state.radius),e},`addTitleAndBox`),b=e(e=>(e.append(`circle`).attr(`class`,`end-state-outer`).attr(`r`,s().state.sizeUnit+s().state.miniPadding).attr(`cx`,s().state.padding+s().state.sizeUnit+s().state.miniPadding).attr(`cy`,s().state.padding+s().state.sizeUnit+s().state.miniPadding),e.append(`circle`).attr(`class`,`end-state-inner`).attr(`r`,s().state.sizeUnit).attr(`cx`,s().state.padding+s().state.sizeUnit+2).attr(`cy`,s().state.padding+s().state.sizeUnit+2)),`drawEndState`),x=e((e,t)=>{let n=s().state.forkWidth,r=s().state.forkHeight;if(t.parentId){let e=n;n=r,r=e}return e.append(`rect`).style(`stroke`,`black`).style(`fill`,`black`).attr(`width`,n).attr(`height`,r).attr(`x`,s().state.padding).attr(`y`,s().state.padding)},`drawForkJoinState`),S=e((e,t,n,i)=>{let a=0,o=i.append(`text`);o.style(`text-anchor`,`start`),o.attr(`class`,`noteText`);let c=e.replace(/\r\n/g,`<br/>`);c=c.replace(/\n/g,`<br/>`);let l=c.split(r.lineBreakRegex),u=1.25*s().state.noteMargin;for(let e of l){let r=e.trim();if(r.length>0){let e=o.append(`tspan`);if(e.text(r),u===0){let t=e.node().getBBox();u+=t.height}a+=u,e.attr(`x`,t+s().state.noteMargin),e.attr(`y`,n+a+1.25*s().state.noteMargin)}}return{textWidth:o.node().getBBox().width,textHeight:a}},`_drawLongText`),C=e((e,t)=>{t.attr(`class`,`state-note`);let n=t.append(`rect`).attr(`x`,0).attr(`y`,s().state.padding),{textWidth:r,textHeight:i}=S(e,0,0,t.append(`g`));return n.attr(`height`,i+2*s().state.noteMargin),n.attr(`width`,r+s().state.noteMargin*2),n},`drawNote`),w=e(function(e,t){let n=t.id,r={id:n,label:t.id,width:0,height:0},i=e.append(`g`).attr(`id`,n).attr(`class`,`stateGroup`);t.type===`start`&&h(i),t.type===`end`&&b(i),(t.type===`fork`||t.type===`join`)&&x(i,t),t.type===`note`&&C(t.note.text,i),t.type===`divider`&&g(i),t.type===`default`&&t.descriptions.length===0&&_(i,t),t.type===`default`&&t.descriptions.length>0&&v(i,t);let a=i.node().getBBox();return r.width=a.width+2*s().state.padding,r.height=a.height+2*s().state.padding,r},`drawState`),T=0,E=e(function(t,l,u){let d=e(function(e){switch(e){case f.relationType.AGGREGATION:return`aggregation`;case f.relationType.EXTENSION:return`extension`;case f.relationType.COMPOSITION:return`composition`;case f.relationType.DEPENDENCY:return`dependency`}},`getRelationType`);l.points=l.points.filter(e=>!Number.isNaN(e.y));let p=l.points,m=a().x(function(e){return e.x}).y(function(e){return e.y}).curve(c),h=t.append(`path`).attr(`d`,m(p)).attr(`id`,`edge`+T).attr(`class`,`transition`),g=``;if(s().state.arrowMarkerAbsolute&&(g=o(!0)),h.attr(`marker-end`,`url(`+g+`#`+d(f.relationType.DEPENDENCY)+`End)`),u.title!==void 0){let e=t.append(`g`).attr(`class`,`stateLabel`),{x:a,y:o}=i.calcLabelPosition(l.points),c=r.getRows(u.title),d=0,f=[],p=0,m=0;for(let t=0;t<=c.length;t++){let r=e.append(`text`).attr(`text-anchor`,`middle`).text(c[t]).attr(`x`,a).attr(`y`,o+d),i=r.node().getBBox();p=Math.max(p,i.width),m=Math.min(m,i.x),n.info(i.x,a,o+d),d===0&&(d=r.node().getBBox().height,n.info(`Title height`,d,o)),f.push(r)}let h=d*c.length;if(c.length>1){let e=(c.length-1)*d*.5;f.forEach((t,n)=>t.attr(`y`,o+n*d-e)),h=d*c.length}let g=e.node().getBBox();e.insert(`rect`,`:first-child`).attr(`class`,`box`).attr(`x`,a-p/2-s().state.padding/2).attr(`y`,o-h/2-s().state.padding/2-3.5).attr(`width`,p+s().state.padding).attr(`height`,h+s().state.padding),n.info(g)}T++},`drawEdge`),D,O={},k=e(function(){},`setConf`),A=e(function(e){e.append(`defs`).append(`marker`).attr(`id`,`dependencyEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`insertMarkers`),j=e(function(e,r,i,a){D=s().state;let o=s().securityLevel,c;o===`sandbox`&&(c=l(`#i`+r));let u=l(o===`sandbox`?c.nodes()[0].contentDocument.body:`body`),d=o===`sandbox`?c.nodes()[0].contentDocument:document;n.debug(`Rendering diagram `+e);let f=u.select(`[id='${r}']`);A(f),N(a.db.getRootDoc(),f.append(`g`).attr(`id`,r+`-root`),void 0,!1,u,d,a);let p=D.padding,m=f.node().getBBox(),h=m.width+p*2,g=m.height+p*2;t(f,g,h*1.75,D.useMaxWidth),f.attr(`viewBox`,`${m.x-D.padding} ${m.y-D.padding} `+h+` `+g)},`draw`),M=e(e=>e?e.length*D.fontSizeFactor:1,`getLabelWidth`),N=e((e,t,i,a,o,s,c)=>{let l=new u({compound:!0,multigraph:!0}),f,p=!0;for(f=0;f<e.length;f++)if(e[f].stmt===`relation`){p=!1;break}i?l.setGraph({rankdir:`LR`,multigraph:!0,compound:!0,ranker:`tight-tree`,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,isMultiGraph:!0}):l.setGraph({rankdir:`TB`,multigraph:!0,compound:!0,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,ranker:`tight-tree`,isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});let m=c.db.getStates(),h=c.db.getRelations(),g=Object.keys(m);for(let e of g){let n=m[e];i&&(n.parentId=i);let r;if(n.doc){let e=t.append(`g`).attr(`id`,n.id).attr(`class`,`stateGroup`);if(r=N(n.doc,e,n.id,!a,o,s,c),!0){e=y(e,n,a);let t=e.node().getBBox();r.width=t.width,r.height=t.height+D.padding/2,O[n.id]={y:D.compositTitleSize}}}else r=w(t,n,l);if(n.note){let e=w(t,{descriptions:[],id:n.id+`-note`,note:n.note,type:`note`},l);n.note.position===`left of`?(l.setNode(r.id+`-note`,e),l.setNode(r.id,r)):(l.setNode(r.id,r),l.setNode(r.id+`-note`,e)),l.setParent(r.id,r.id+`-group`),l.setParent(r.id+`-note`,r.id+`-group`)}else l.setNode(r.id,r)}n.debug(`Count=`,l.nodeCount(),l);let _=0;h.forEach(function(e){_++,n.debug(`Setting edge`,e),l.setEdge(e.id1,e.id2,{relation:e,width:M(e.title),height:D.labelHeight*r.getRows(e.title).length,labelpos:`c`},`id`+_)}),d(l),n.debug(`Graph after layout`,l.nodes());let v=t.node();l.nodes().forEach(function(e){e!==void 0&&l.node(e)!==void 0?(n.warn(`Node `+e+`: `+JSON.stringify(l.node(e))),o.select(`#`+v.id+` #`+e).attr(`transform`,`translate(`+(l.node(e).x-l.node(e).width/2)+`,`+(l.node(e).y+(O[e]?O[e].y:0)-l.node(e).height/2)+` )`),o.select(`#`+v.id+` #`+e).attr(`data-x-shift`,l.node(e).x-l.node(e).width/2),s.querySelectorAll(`#`+v.id+` #`+e+` .divider`).forEach(e=>{let t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(`data-x-shift`),10),Number.isNaN(r)&&(r=0)),e.setAttribute(`x1`,0-r+8),e.setAttribute(`x2`,n-r-8)})):n.debug(`No Node `+e+`: `+JSON.stringify(l.node(e)))});let b=v.getBBox();l.edges().forEach(function(e){e!==void 0&&l.edge(e)!==void 0&&(n.debug(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(l.edge(e))),E(t,l.edge(e),l.edge(e).relation))}),b=v.getBBox();let x={id:i||`root`,label:i||`root`,width:0,height:0};return x.width=b.width+2*D.padding,x.height=b.height+2*D.padding,n.debug(`Doc rendered`,x,l),x},`renderDoc`),P={parser:m,get db(){return new f(1)},renderer:{setConf:k,draw:j},styles:p,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{P as diagram};
@@ -1 +0,0 @@
1
- import{t as e}from"./chunk-VELTKBKT-C9dVN39o.js";import"./index-3NUCUW2s.js";import"./chunk-TBF5ZNIQ-BSl6s9lT.js";import"./chunk-RWUO3TPN-DTWzAhQ1.js";import{i as t,n,r,t as i}from"./chunk-3GS5O3IE-B8hpnia8.js";var a={parser:i,get db(){return new n(2)},renderer:t,styles:r,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1,120 +0,0 @@
1
- import{i as e,t}from"./chunk-VELTKBKT-C9dVN39o.js";import{Gn as n,Gt as r,Hn as i,O as a,Pt as o,Vt as s,fn as c,ln as l,qt as u,rn as d,tn as f,un as p,zn as m}from"./index-3NUCUW2s.js";var h=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[6,11,13,14,15,17,19,20,23,24],r=[1,12],i=[1,13],a=[1,14],o=[1,15],s=[1,16],c=[1,19],l=[1,20],u={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:`error`,6:`EOF`,7:`timeline`,8:`timeline_lr`,9:`timeline_td`,11:`SPACE`,13:`NEWLINE`,14:`title`,15:`acc_title`,16:`acc_title_value`,17:`acc_descr`,18:`acc_descr_value`,19:`acc_descr_multiline_value`,20:`section`,23:`period`,24:`event`},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 3:r.setDirection(`LR`);break;case 4:r.setDirection(`TD`);break;case 5:this.$=[];break;case 6:a[s-1].push(a[s]),this.$=a[s-1];break;case 7:case 8:this.$=a[s];break;case 9:case 10:this.$=[];break;case 11:r.getCommonDb().setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 12:this.$=a[s].trim(),r.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=a[s].trim(),r.getCommonDb().setAccDescription(this.$);break;case 15:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 18:r.addTask(a[s],0,``),this.$=a[s];break;case 19:r.addEvent(a[s].substr(2)),this.$=a[s];break}},`anonymous`),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(n,[2,5],{5:6}),e(n,[2,2]),e(n,[2,3]),e(n,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:i,17:a,19:o,20:s,21:17,22:18,23:c,24:l},e(n,[2,10],{1:[2,1]}),e(n,[2,6]),{12:21,14:r,15:i,17:a,19:o,20:s,21:17,22:18,23:c,24:l},e(n,[2,8]),e(n,[2,9]),e(n,[2,11]),{16:[1,22]},{18:[1,23]},e(n,[2,14]),e(n,[2,15]),e(n,[2,16]),e(n,[2,17]),e(n,[2,18]),e(n,[2,19]),e(n,[2,7]),e(n,[2,12]),e(n,[2,13])],defaultActions:{},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,typeof h.yylloc>`u`&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e;return e=i.pop()||h.lex()||p,typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:((S===null||typeof S>`u`)&&(S=x()),T=s[w]&&s[w][S]),typeof T>`u`||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
- `+h.showPosition()+`
3
- Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),typeof E<`u`)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};u.lexer=(function(){return{EOF:1,parseError:t(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:t(function(e,t){return this.yy=t||this.yy||{},this._input=e,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:t(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:t(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:t(function(){return this._more=!0,this},`more`),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
- `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:t(function(e){this.unput(this.match.slice(e))},`less`),pastInput:t(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:t(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:t(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
- `+t+`^`},`showPosition`),test_match:t(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:t(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:t(function(){return this.next()||this.lex()},`lex`),begin:t(function(e){this.conditionStack.push(e)},`begin`),popState:t(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:t(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:t(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:t(function(e){this.begin(e)},`pushState`),stateStackSize:t(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:t(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin(`acc_title`),15;case 10:return this.popState(),`acc_title_value`;case 11:return this.begin(`acc_descr`),17;case 12:return this.popState(),`acc_descr_value`;case 13:this.begin(`acc_descr_multiline`);break;case 14:this.popState();break;case 15:return`acc_descr_multiline_value`;case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return`INVALID`}},`anonymous`),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}}})();function d(){this.yy={}}return t(d,`Parser`),d.prototype=u,u.Parser=d,new d})();h.parser=h;var g=h,_={};e(_,{addEvent:()=>M,addSection:()=>O,addTask:()=>j,addTaskOrg:()=>N,clear:()=>T,default:()=>ee,getCommonDb:()=>w,getDirection:()=>D,getSections:()=>k,getTasks:()=>A,setDirection:()=>E});var v=``,y=0,b=`LR`,x=[],S=[],C=[],w=t(()=>l,`getCommonDb`),T=t(function(){x.length=0,S.length=0,v=``,C.length=0,b=`LR`,p()},`clear`),E=t(function(e){b=e},`setDirection`),D=t(function(){return b},`getDirection`),O=t(function(e){v=e,x.push(e)},`addSection`),k=t(function(){return x},`getSections`),A=t(function(){let e=P(),t=0;for(;!e&&t<100;)e=P(),t++;return S.push(...C),S},`getTasks`),j=t(function(e,t,n){let r={id:y++,section:v,type:v,task:e,score:t||0,events:n?[n]:[]};C.push(r)},`addTask`),M=t(function(e){C.find(e=>e.id===y-1).events.push(e)},`addEvent`),N=t(function(e){let t={section:v,type:v,description:e,task:e,classes:[]};S.push(t)},`addTaskOrg`),P=t(function(){let e=t(function(e){return C[e].processed},`compileTask`),n=!0;for(let[t,r]of C.entries())e(t),n&&=r.processed;return n},`compileTasks`),ee={clear:T,getCommonDb:w,getDirection:D,setDirection:E,addSection:O,getSections:k,getTasks:A,addTask:j,addTaskOrg:N,addEvent:M},F=0,I=t(function(e,t){let n=e.append(`rect`);return n.attr(`x`,t.x),n.attr(`y`,t.y),n.attr(`fill`,t.fill),n.attr(`stroke`,t.stroke),n.attr(`width`,t.width),n.attr(`height`,t.height),n.attr(`rx`,t.rx),n.attr(`ry`,t.ry),t.class!==void 0&&n.attr(`class`,t.class),n},`drawRect`),te=t(function(e,n){let r=e.append(`circle`).attr(`cx`,n.cx).attr(`cy`,n.cy).attr(`class`,`face`).attr(`r`,15).attr(`stroke-width`,2).attr(`overflow`,`visible`),a=e.append(`g`);a.append(`circle`).attr(`cx`,n.cx-15/3).attr(`cy`,n.cy-15/3).attr(`r`,1.5).attr(`stroke-width`,2).attr(`fill`,`#666`).attr(`stroke`,`#666`),a.append(`circle`).attr(`cx`,n.cx+15/3).attr(`cy`,n.cy-15/3).attr(`r`,1.5).attr(`stroke-width`,2).attr(`fill`,`#666`).attr(`stroke`,`#666`);function o(e){let t=i().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(6.8181818181818175);e.append(`path`).attr(`class`,`mouth`).attr(`d`,t).attr(`transform`,`translate(`+n.cx+`,`+(n.cy+2)+`)`)}t(o,`smile`);function s(e){let t=i().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(6.8181818181818175);e.append(`path`).attr(`class`,`mouth`).attr(`d`,t).attr(`transform`,`translate(`+n.cx+`,`+(n.cy+7)+`)`)}t(s,`sad`);function c(e){e.append(`line`).attr(`class`,`mouth`).attr(`stroke`,2).attr(`x1`,n.cx-5).attr(`y1`,n.cy+7).attr(`x2`,n.cx+5).attr(`y2`,n.cy+7).attr(`class`,`mouth`).attr(`stroke-width`,`1px`).attr(`stroke`,`#666`)}return t(c,`ambivalent`),n.score>3?o(a):n.score<3?s(a):c(a),r},`drawFace`),ne=t(function(e,t){let n=e.append(`circle`);return n.attr(`cx`,t.cx),n.attr(`cy`,t.cy),n.attr(`class`,`actor-`+t.pos),n.attr(`fill`,t.fill),n.attr(`stroke`,t.stroke),n.attr(`r`,t.r),n.class!==void 0&&n.attr(`class`,n.class),t.title!==void 0&&n.append(`title`).text(t.title),n},`drawCircle`),L=t(function(e,t){let n=t.text.replace(/<br\s*\/?>/gi,` `),r=e.append(`text`);r.attr(`x`,t.x),r.attr(`y`,t.y),r.attr(`class`,`legend`),r.style(`text-anchor`,t.anchor),t.class!==void 0&&r.attr(`class`,t.class);let i=r.append(`tspan`);return i.attr(`x`,t.x+t.textMargin*2),i.text(n),r},`drawText`),re=t(function(e,n){function r(e,t,n,r,i){return e+`,`+t+` `+(e+n)+`,`+t+` `+(e+n)+`,`+(t+r-i)+` `+(e+n-i*1.2)+`,`+(t+r)+` `+e+`,`+(t+r)}t(r,`genPoints`);let i=e.append(`polygon`);i.attr(`points`,r(n.x,n.y,50,20,7)),i.attr(`class`,`labelBox`),n.y+=n.labelMargin,n.x+=.5*n.labelMargin,L(e,n)},`drawLabel`),R=t(function(e,t,n){let r=e.append(`g`),i=B();i.x=t.x,i.y=t.y,i.fill=t.fill,i.width=n.width,i.height=n.height,i.class=`journey-section section-type-`+t.num,i.rx=3,i.ry=3,I(r,i),V(n)(t.text,r,i.x,i.y,i.width,i.height,{class:`journey-section section-type-`+t.num},n,t.colour)},`drawSection`),z=-1,ie=t(function(e,t,n,r){let i=t.x+n.width/2,a=e.append(`g`);z++,a.append(`line`).attr(`id`,r+`-task`+z).attr(`x1`,i).attr(`y1`,t.y).attr(`x2`,i).attr(`y2`,450).attr(`class`,`task-line`).attr(`stroke-width`,`1px`).attr(`stroke-dasharray`,`4 2`).attr(`stroke`,`#666`),te(a,{cx:i,cy:300+(5-t.score)*30,score:t.score});let o=B();o.x=t.x,o.y=t.y,o.fill=t.fill,o.width=n.width,o.height=n.height,o.class=`task task-type-`+t.num,o.rx=3,o.ry=3,I(a,o),V(n)(t.task,a,o.x,o.y,o.width,o.height,{class:`task`},n,t.colour)},`drawTask`),ae=t(function(e,t){I(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:`rect`}).lower()},`drawBackgroundRect`),oe=t(function(){return{x:0,y:0,fill:void 0,"text-anchor":`start`,width:100,height:100,textMargin:0,rx:0,ry:0}},`getTextObj`),B=t(function(){return{x:0,y:0,width:100,anchor:`start`,height:100,rx:0,ry:0}},`getNoteRect`),V=(function(){function e(e,t,n,r,a,o,s,c){i(t.append(`text`).attr(`x`,n+a/2).attr(`y`,r+o/2+5).style(`font-color`,c).style(`text-anchor`,`middle`).text(e),s)}t(e,`byText`);function n(e,t,n,r,a,o,s,c,l){let{taskFontSize:u,taskFontFamily:d}=c,f=e.split(/<br\s*\/?>/gi);for(let e=0;e<f.length;e++){let c=e*u-u*(f.length-1)/2,p=t.append(`text`).attr(`x`,n+a/2).attr(`y`,r).attr(`fill`,l).style(`text-anchor`,`middle`).style(`font-size`,u).style(`font-family`,d);p.append(`tspan`).attr(`x`,n+a/2).attr(`dy`,c).text(f[e]),p.attr(`y`,r+o/2).attr(`dominant-baseline`,`central`).attr(`alignment-baseline`,`central`),i(p,s)}}t(n,`byTspan`);function r(e,t,r,a,o,s,c,l){let u=t.append(`switch`),d=u.append(`foreignObject`).attr(`x`,r).attr(`y`,a).attr(`width`,o).attr(`height`,s).attr(`position`,`fixed`).append(`xhtml:div`).style(`display`,`table`).style(`height`,`100%`).style(`width`,`100%`);d.append(`div`).attr(`class`,`label`).style(`display`,`table-cell`).style(`text-align`,`center`).style(`vertical-align`,`middle`).text(e),n(e,u,r,a,o,s,c,l),i(d,c)}t(r,`byFo`);function i(e,t){for(let n in t)n in t&&e.attr(n,t[n])}return t(i,`_setTextAttrs`),function(t){return t.textPlacement===`fo`?r:t.textPlacement===`old`?e:n}})(),se=t(function(e,t){F=0,z=-1,e.append(`defs`).append(`marker`).attr(`id`,t+`-arrowhead`).attr(`refX`,5).attr(`refY`,2).attr(`markerWidth`,6).attr(`markerHeight`,4).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0,0 V 4 L6,2 Z`)},`initGraphics`);function H(e,t){e.each(function(){var e=m(this),n=e.text().split(/(\s+|<br>)/).reverse(),r,i=[],a=1.1,o=e.attr(`y`),s=parseFloat(e.attr(`dy`)),c=e.text(null).append(`tspan`).attr(`x`,0).attr(`y`,o).attr(`dy`,s+`em`);for(let s=0;s<n.length;s++)r=n[n.length-1-s],i.push(r),c.text(i.join(` `).trim()),(c.node().getComputedTextLength()>t||r===`<br>`)&&(i.pop(),c.text(i.join(` `).trim()),i=r===`<br>`?[``]:[r],c=e.append(`tspan`).attr(`x`,0).attr(`y`,o).attr(`dy`,a+`em`).text(r))})}t(H,`wrap`);var ce=t(function(e,t,n,r,i,a=!1){let{theme:o,look:s}=r,c=o?.includes(`redux`),l=n%(r?.themeVariables?.THEME_COLOR_LIMIT??12)-1,u=e.append(`g`);t.section=l,u.attr(`class`,(t.class?t.class+` `:``)+`timeline-node `+(`section-`+l));let d=u.append(`g`),f=u.append(`g`),p=f.append(`text`).text(t.descr).attr(`dy`,`1em`).attr(`alignment-baseline`,`middle`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).call(H,t.width).node().getBBox(),h=r.fontSize?.replace?r.fontSize.replace(`px`,``):r.fontSize;if(t.height=p.height+h*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width+=2*t.padding,f.attr(`transform`,`translate(`+t.width/2+`, `+t.padding/2+`)`),c&&f.attr(`transform`,`translate(${t.width/2}, ${a?t.padding/2+3:t.padding})`),ue(d,t,l,i,r),s===`neo`&&(u.attr(`data-look`,`neo`),c)){let t=o.includes(`dark`),n=m(e.node()?.ownerSVGElement??e.node()),r=n.attr(`id`)??``,i=r?`${r}-drop-shadow`:`drop-shadow`;if(n.select(`#${i}`).empty()){let e=n.select(`defs`);(e.empty()?n.append(`defs`):e).append(`filter`).attr(`id`,i).attr(`height`,`130%`).attr(`width`,`130%`).append(`feDropShadow`).attr(`dx`,`4`).attr(`dy`,`4`).attr(`stdDeviation`,0).attr(`flood-opacity`,t?`0.2`:`0.06`).attr(`flood-color`,t?`#FFFFFF`:`#000000`)}}return t},`drawNode`),le=t(function(e,t,n){let r=e.append(`g`),i=r.append(`text`).text(t.descr).attr(`dy`,`1em`).attr(`alignment-baseline`,`middle`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).call(H,t.width).node().getBBox(),a=n.fontSize?.replace?n.fontSize.replace(`px`,``):n.fontSize;return r.remove(),i.height+a*1.1*.5+t.padding},`getVirtualNodeHeight`),ue=t(function(e,t,n,r,i){let{theme:a}=i,o=a?.includes(`redux`)?0:5,s=o>0?`M0 ${t.height-5} v${-t.height+10} q0,-${o},${o},-${o} h${t.width-10} q${o},0,${o},${o} v${t.height-5} H0 Z`:`M0 ${t.height-5} v${-(t.height-5)} h${t.width} v${t.height} H0 Z`;e.append(`path`).attr(`id`,r+`-node-`+ F++).attr(`class`,`node-bkg node-`+t.type).attr(`d`,s),a?.includes(`redux`)||e.append(`line`).attr(`class`,`node-line-`+n).attr(`x1`,0).attr(`y1`,t.height).attr(`x2`,t.width).attr(`y2`,t.height)},`defaultBkg`),U={drawRect:I,drawCircle:ne,drawSection:R,drawText:L,drawLabel:re,drawTask:ie,drawBackgroundRect:ae,getTextObj:oe,getNoteRect:B,initGraphics:se,drawNode:ce,getVirtualNodeHeight:le},de=t(function(e,t,i,a){let o=c(),{look:s,theme:l,themeVariables:u}=o,{useGradient:d,gradientStart:f,gradientStop:p}=u,h=o.timeline?.leftMargin??50;n.debug(`timeline`,a.db);let g=o.securityLevel,_;g===`sandbox`&&(_=m(`#i`+t));let v=m(g===`sandbox`?_.nodes()[0].contentDocument.body:`body`).select(`#`+t);v.append(`g`);let y=a.db.getTasks(),b=a.db.getCommonDb().getDiagramTitle();n.debug(`task`,y),U.initGraphics(v,t);let x=a.db.getSections();n.debug(`sections`,x);let S=0,C=0,w=0,T=0,E=50+h,D=50;T=50;let O=0,k=!0;x.forEach(function(e){let t={number:O,descr:e,section:O,width:150,padding:20,maxHeight:S},r=U.getVirtualNodeHeight(v,t,o);n.debug(`sectionHeight before draw`,r),S=Math.max(S,r+20)});let A=0,j=0;n.debug(`tasks.length`,y.length);for(let[e,t]of y.entries()){let r={number:e,descr:t,section:t.section,width:150,padding:20,maxHeight:C},i=U.getVirtualNodeHeight(v,r,o);n.debug(`taskHeight before draw`,i),C=Math.max(C,i+20),A=Math.max(A,t.events.length);let a=0;for(let e of t.events){let n={descr:e,section:t.section,number:t.section,width:150,padding:20,maxHeight:50};a+=U.getVirtualNodeHeight(v,n,o)}t.events.length>0&&(a+=(t.events.length-1)*10),j=Math.max(j,a)}n.debug(`maxSectionHeight before draw`,S),n.debug(`maxTaskHeight before draw`,C),x&&x.length>0?x.forEach(e=>{let r=y.filter(t=>t.section===e),i={number:O,descr:e,section:O,width:200*Math.max(r.length,1)-50,padding:20,maxHeight:S};n.debug(`sectionNode`,i);let a=v.append(`g`),s=U.drawNode(a,i,O,o,t);n.debug(`sectionNode output`,s),a.attr(`transform`,`translate(${E}, ${T})`),D+=S+50,r.length>0&&W(v,r,O,E,D,C,o,A,j,S,!1,t),E+=200*Math.max(r.length,1),D=T,O++}):(k=!1,W(v,y,O,E,D,C,o,A,j,S,!0,t));let M=v.node().getBBox();if(n.debug(`bounds`,M),b&&v.append(`text`).text(b).attr(`x`,s===`neo`?M.x*2+h:M.width/2-h).attr(`font-size`,`4ex`).attr(`font-weight`,`bold`).attr(`y`,20),w=k?S+C+150:C+100,v.append(`g`).attr(`class`,`lineWrapper`).append(`line`).attr(`x1`,h).attr(`y1`,w).attr(`x2`,M.width+3*h).attr(`y2`,w).attr(`stroke-width`,4).attr(`stroke`,`black`).attr(`marker-end`,`url(#${t}-arrowhead)`),s===`neo`&&d&&l!==`neutral`){let e=v.select(`defs`),t=(e.empty()?v.append(`defs`):e).append(`linearGradient`).attr(`id`,v.attr(`id`)+`-gradient`).attr(`gradientUnits`,`objectBoundingBox`).attr(`x1`,`0%`).attr(`y1`,`0%`).attr(`x2`,`100%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,f).attr(`stop-opacity`,1),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,p).attr(`stop-opacity`,1)}r(void 0,v,o.timeline?.padding??50,o.timeline?.useMaxWidth??!1)},`draw`),W=t(function(e,t,r,i,a,o,s,c,l,u,d,f){for(let c of t){let t={descr:c.task,section:r,number:r,width:150,padding:20,maxHeight:o};n.debug(`taskNode`,t);let u=e.append(`g`).attr(`class`,`taskWrapper`),p=U.drawNode(u,t,r,s,f).height;if(n.debug(`taskHeight after draw`,p),u.attr(`transform`,`translate(${i}, ${a})`),o=Math.max(o,p),c.events){let t=e.append(`g`).attr(`class`,`lineWrapper`),n=o;a+=100,n+=fe(e,c.events,r,i,a,s,f),a-=100,t.append(`line`).attr(`x1`,i+190/2).attr(`y1`,a+o).attr(`x2`,i+190/2).attr(`y2`,a+o+100+l+100).attr(`stroke-width`,2).attr(`stroke`,`black`).attr(`marker-end`,`url(#${f}-arrowhead)`).attr(`stroke-dasharray`,`5,5`)}i+=200,d&&!s.timeline?.disableMulticolor&&r++}a-=10},`drawTasks`),fe=t(function(e,t,r,i,a,o,s){let c=0,l=a;a+=100;for(let l of t){let t={descr:l,section:r,number:r,width:150,padding:20,maxHeight:50};n.debug(`eventNode`,t);let u=e.append(`g`).attr(`class`,`eventWrapper`),d=U.drawNode(u,t,r,o,s,!0).height;c+=d,u.attr(`transform`,`translate(${i}, ${a})`),a=a+10+d}return a=l,c},`drawEvents`),pe={setConf:t(()=>{},`setConf`),draw:de},G=200,K=5,me=G+K*2,q=G+100,he=q+K*2,J=10,ge=0,Y=20,X=20,Z=30,Q=50,_e=t(function(e,t,i,s){let l=c(),u=l.timeline?.leftMargin??50;n.debug(`timeline`,s.db);let d=o(t);d.append(`g`);let f=s.db.getTasks(),p=s.db.getCommonDb().getDiagramTitle();n.debug(`task`,f),U.initGraphics(d);let m=s.db.getSections();n.debug(`sections`,m);let h=0,g=0,_=50+u,v=50,y=v,b=_,x=me+X,S=he+Q,C=b+x,w=0,T=m&&m.length>0,E=T?C:_+x,D=Math.max(50,x+S-K*2);m.forEach(function(e){let t={number:w,descr:e,section:w,width:D,padding:K,maxHeight:h},r=U.getVirtualNodeHeight(d,t,l);n.debug(`sectionHeight before draw`,r),h=Math.max(h,r)});let O=0;n.debug(`tasks.length`,f.length);for(let[e,t]of f.entries()){let r={number:e,descr:t,section:t.section,width:G,padding:K,maxHeight:g},i=U.getVirtualNodeHeight(d,r,l);n.debug(`taskHeight before draw`,i),g=Math.max(g,i);let a=0;for(let e of t.events){let n={descr:e,section:t.section,number:t.section,width:q,padding:K,maxHeight:50};a+=U.getVirtualNodeHeight(d,n,l)}t.events.length>0&&(a+=(t.events.length-1)*J),O=Math.max(O,a)+ge}n.debug(`maxSectionHeight before draw`,h),n.debug(`maxTaskHeight before draw`,g);let k=Math.max(g,O)+Z;T?m.forEach(e=>{let t=f.filter(t=>t.section===e),r={number:w,descr:e,section:w,width:D,padding:K,maxHeight:h};n.debug(`sectionNode`,r);let i=d.append(`g`),a=U.drawNode(i,r,w,l);n.debug(`sectionNode output`,a);let o=E-x;i.attr(`transform`,`translate(${o}, ${v})`);let s=v+a.height+Y;t.length>0&&$(d,t,w,E,s,g,l,k,!1);let c=t.length,u=a.height+Y+k*Math.max(c,1)-(c>0?Z*2:0);v+=u,w++}):$(d,f,w,E,v,g,l,k,!0);let A=d.node()?.getBBox();if(!A)throw Error(`bbox not found`);if(n.debug(`bounds`,A),p){if(d.append(`text`).text(p).attr(`x`,A.width/2-u).attr(`font-size`,`4ex`).attr(`font-weight`,`bold`).attr(`y`,20),A=d.node()?.getBBox(),!A)throw Error(`bbox not found`);n.debug(`bounds after title`,A)}let[j]=a(l.fontSize),M=(j??16)*2,N=(j??16)*.5+20,P=d.append(`g`).attr(`class`,`lineWrapper`);P.append(`line`).attr(`x1`,E).attr(`y1`,y-M).attr(`x2`,E).attr(`y2`,A.y+A.height+N).attr(`stroke-width`,4).attr(`stroke`,`black`).attr(`marker-end`,`url(#arrowhead)`),P.lower(),r(void 0,d,l.timeline?.padding??50,l.timeline?.useMaxWidth??!1)},`draw`),$=t(function(e,t,r,i,a,o,s,c,l){for(let u of t){let t={descr:u.task,section:r,number:r,width:G,padding:K,maxHeight:o};n.debug(`taskNode`,t);let d=e.append(`g`).attr(`class`,`taskWrapper`),f=U.drawNode(d,t,r,s),p=f.height;n.debug(`taskHeight after draw`,p);let m=i-X-f.width;if(d.attr(`transform`,`translate(${m}, ${a})`),o=Math.max(o,p),u.events&&u.events.length>0){let t=a,n=i+Q;ve(e,u.events,r,i,n,t,s)}a+=c,l&&!s.timeline?.disableMulticolor&&r++}},`drawTasks`),ve=t(function(e,t,r,i,a,o,s){let c=o;for(let o of t){let t={descr:o,section:r,number:r,width:q,padding:K,maxHeight:0};n.debug(`eventNode`,t);let l=e.append(`g`).attr(`class`,`eventWrapper`),u=U.drawNode(l,t,r,s).height;l.attr(`transform`,`translate(${a}, ${c})`);let d=e.append(`g`).attr(`class`,`lineWrapper`),f=c+u/2;d.append(`line`).attr(`x1`,i).attr(`y1`,f).attr(`x2`,a).attr(`y2`,f).attr(`stroke-width`,2).attr(`stroke`,`black`).attr(`marker-end`,`url(#arrowhead)`).attr(`stroke-dasharray`,`5,5`),c=c+u+J}return c-o},`drawEvents`),ye={setConf:t(()=>{},`setConf`),draw:_e},be=t(e=>{let{theme:t}=s(),n=t?.includes(`dark`),r=t?.includes(`color`),i=e.svgId?.replace(/^#/,``)??``,a=i?`url(#${i}-drop-shadow)`:e.dropShadow??`none`,o=``;for(let t=0;t<e.THEME_COLOR_LIMIT;t++){let i=`${17-3*t}`,s=r?e.borderColorArray[t]:e.mainBkg,c=r?e.borderColorArray[t]:e.nodeBorder;o+=`
7
- .section-${t-1} rect,
8
- .section-${t-1} path,
9
- .section-${t-1} circle {
10
- fill: ${n&&r?e.mainBkg:s};
11
- stroke: ${c};
12
- stroke-width: ${e.strokeWidth};
13
- filter: ${a};
14
- }
15
-
16
- .section-${t-1} text {
17
- fill: ${e.nodeBorder};
18
- font-weight: ${e.fontWeight}
19
- }
20
-
21
- .node-icon-${t-1} {
22
- font-size: 40px;
23
- color: ${e[`cScaleLabel`+t]};
24
- }
25
-
26
- .section-edge-${t-1} {
27
- stroke: ${e[`cScale`+t]};
28
- }
29
-
30
- .edge-depth-${t-1} {
31
- stroke-width: ${i};
32
- }
33
-
34
- .section-${t-1} line {
35
- stroke: ${e[`cScaleInv`+t]};
36
- stroke-width: 3;
37
- }
38
-
39
- .lineWrapper line {
40
- stroke: ${e.nodeBorder};
41
- stroke-width:${e.strokeWidth}
42
- }
43
-
44
- .disabled,
45
- .disabled circle,
46
- .disabled text {
47
- fill: ${e.tertiaryColor??`lightgray`};
48
- }
49
-
50
- .disabled text {
51
- fill: ${e.clusterBorder??`#efefef`};
52
- }
53
- `}return o},`genReduxSections`),xe=t(e=>{let t=``;for(let t=0;t<e.THEME_COLOR_LIMIT;t++)e[`lineColor`+t]=e[`lineColor`+t]||e[`cScaleInv`+t],f(e[`lineColor`+t])?e[`lineColor`+t]=u(e[`lineColor`+t],20):e[`lineColor`+t]=d(e[`lineColor`+t],20);for(let n=0;n<e.THEME_COLOR_LIMIT;n++){let r=``+(17-3*n);t+=`
54
- .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} path {
55
- fill: ${e[`cScale`+n]};
56
- }
57
- .section-${n-1} text {
58
- fill: ${e[`cScaleLabel`+n]};
59
- }
60
- .node-icon-${n-1} {
61
- font-size: 40px;
62
- color: ${e[`cScaleLabel`+n]};
63
- }
64
- .section-edge-${n-1}{
65
- stroke: ${e[`cScale`+n]};
66
- }
67
- .edge-depth-${n-1}{
68
- stroke-width: ${r};
69
- }
70
- .section-${n-1} line {
71
- stroke: ${e[`cScaleInv`+n]} ;
72
- stroke-width: 3;
73
- }
74
-
75
- .lineWrapper line{
76
- stroke: ${e[`cScaleLabel`+n]} ;
77
- }
78
-
79
- .disabled, .disabled circle, .disabled text {
80
- fill: ${e.tertiaryColor??`lightgray`};
81
- }
82
- .disabled text {
83
- fill: ${e.clusterBorder??`#efefef`};
84
- }
85
- `}return t},`genSections`),Se=t(e=>{let{theme:t}=s(),n=t?.includes(`redux`),r=t===`neutral`,i=e.svgId?.replace(/^#/,``)??``,a=``;if(e.useGradient&&i&&e.THEME_COLOR_LIMIT&&!r)for(let t=0;t<e.THEME_COLOR_LIMIT;t++)a+=`
86
- .section-${t-1}[data-look="neo"] rect,
87
- .section-${t-1}[data-look="neo"] path,
88
- .section-${t-1}[data-look="neo"] circle {
89
- fill: ${e.mainBkg};
90
- stroke: url(#${i}-gradient);
91
- stroke-width: 2;
92
- }
93
- .section-${t-1}[data-look="neo"] line {
94
- stroke: url(#${i}-gradient);
95
- stroke-width: 2;
96
- }`;return`
97
- .edge {
98
- stroke-width: 3;
99
- }
100
- ${n?be(e):xe(e)}
101
- ${a}
102
- .section-root rect, .section-root path, .section-root circle {
103
- fill: ${e.git0};
104
- }
105
- .section-root text {
106
- fill: ${e.gitBranchLabel0};
107
- }
108
- .icon-container {
109
- height:100%;
110
- display: flex;
111
- justify-content: center;
112
- align-items: center;
113
- }
114
- .edge {
115
- fill: none;
116
- }
117
- .eventWrapper {
118
- filter: brightness(120%);
119
- }
120
- `},`getStyles`),Ce={db:_,renderer:{setConf:t(()=>{},`setConf`),draw:t((e,t,n,r)=>(r?.db?.getDirection?.()??`LR`)===`TD`?ye.draw(e,t,n,r):pe.draw(e,t,n,r),`draw`)},parser:g,styles:Se};export{Ce as diagram};
@@ -1 +0,0 @@
1
- import"./index-3NUCUW2s.js";import"./chunk-H3VCZNTA-8EMHZ3SV.js";import"./chunk-FXACKDTF-jieSmbe2.js";import{t as e}from"./chunk-RNJOYNJ4-BiBkF9dN.js";export{e as createTreeViewServices};
@@ -1 +0,0 @@
1
- import"./index-3NUCUW2s.js";import"./chunk-H3VCZNTA-8EMHZ3SV.js";import"./chunk-FXACKDTF-jieSmbe2.js";import{t as e}from"./chunk-WSB5WSVC-Dor71SOz.js";export{e as createTreemapServices};
@@ -1,34 +0,0 @@
1
- import{t as e}from"./chunk-VELTKBKT-C9dVN39o.js";import{$t as t,Kt as n,Pt as r,Qt as i,T as a,Vt as o,Yt as s,Zt as c,an as l,cn as u,j as d,nn as f,pn as p,qt as m,rn as h,tn as g,un as _,zn as v}from"./index-3NUCUW2s.js";var y=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[5,8],r=[7,8,11,12,17,19,22,24],i=[1,17],a=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],c=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],d=[1,56],f=[1,58],p=[1,59],m=[1,60],h=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],g={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:`error`,5:`VENN`,7:`EOF`,8:`NEWLINE`,11:`TITLE`,12:`SET`,14:`BRACKET_LABEL`,15:`COLON`,16:`NUMERIC`,17:`UNION`,19:`TEXT`,20:`IDENTIFIER`,21:`STRING`,22:`INDENT_TEXT`,24:`STYLE`,27:`COMMA`,31:`HEXCOLOR`,32:`RGBCOLOR`,33:`RGBACOLOR`},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:case 3:case 4:this.$=[];break;case 5:a[s-1].push(a[s]),this.$=a[s-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=a[s];break;case 8:r.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:r.addSubsetData([a[s]],void 0,void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 10:r.addSubsetData([a[s-1]],a[s],void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 11:r.addSubsetData([a[s-2]],void 0,parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 12:r.addSubsetData([a[s-3]],a[s-2],parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 13:if(a[s].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s]),r.addSubsetData(a[s],void 0,void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 14:if(a[s-1].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-1]),r.addSubsetData(a[s-1],a[s],void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 15:if(a[s-2].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-2]),r.addSubsetData(a[s-2],void 0,parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 16:if(a[s-3].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-3]),r.addSubsetData(a[s-3],a[s-2],parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 17:case 18:case 19:r.addTextData(a[s-1],a[s],void 0);break;case 20:case 21:r.addTextData(a[s-2],a[s-1],a[s]);break;case 23:r.addStyleData(a[s-1],a[s]);break;case 24:case 25:case 26:var c=r.getCurrentSets();if(!c)throw Error(`text requires set`);r.addTextData(c,a[s],void 0);break;case 27:case 28:var c=r.getCurrentSets();if(!c)throw Error(`text requires set`);r.addTextData(c,a[s-1],a[s]);break;case 29:case 41:this.$=[a[s]];break;case 30:case 42:this.$=[...a[s-2],a[s]];break;case 31:this.$=[a[s-2],a[s]];break;case 33:this.$=a[s].join(` `);break;case 34:this.$=[a[s]];break;case 35:a[s-1].push(a[s]),this.$=a[s-1];break;case 43:case 44:this.$=a[s];break}},`anonymous`),table:[t(n,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(n,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:i,21:a},{13:20,18:19,20:i,21:a},{13:20,18:21,20:i,21:a},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:i,21:a},t(r,[2,9],{14:[1,27],15:[1,28]}),t(o,[2,43]),t(o,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:c,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:i,21:a},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(o,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:c,26:51},{16:u,20:d,21:[1,53],28:52,29:54,30:55,31:f,32:p,33:m},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:d,31:f,32:p,33:m}),t(h,[2,34]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),t(h,[2,39]),t(h,[2,40]),t(h,[2,35])],defaultActions:{6:[2,1]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,typeof h.yylloc>`u`&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e;return e=i.pop()||h.lex()||p,typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:((S===null||typeof S>`u`)&&(S=x()),T=s[w]&&s[w][S]),typeof T>`u`||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
- `+h.showPosition()+`
3
- Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),typeof E<`u`)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};g.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,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:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
- `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
- `+t+`^`},`showPosition`),test_match:e(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,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(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:e(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:e(function(){return this.next()||this.lex()},`lex`),begin:e(function(e){this.conditionStack.push(e)},`begin`),popState:e(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:e(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:e(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:e(function(e){this.begin(e)},`pushState`),stateStackSize:e(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:e(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:break;case 3:if(e.getIndentMode&&e.getIndentMode())return e.consumeIndentText=!0,this.begin(`INITIAL`),22;break;case 4:break;case 5:e.setIndentMode&&e.setIndentMode(!1),this.begin(`INITIAL`),this.unput(t.yytext);break;case 6:return this.begin(`bol`),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(e.consumeIndentText)e.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return t.yytext=t.yytext.slice(2,-2),14;case 17:return t.yytext=t.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},`anonymous`),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}}})();function _(){this.yy={}}return e(_,`Parser`),_.prototype=g,g.Parser=_,new _})();y.parser=y;var b=y,x=[],S=[],C=[],w=new Set,T,E=!1,D=e((e,t,n)=>{let r=N(e).sort(),i=n??10/e.length**2;T=r,r.length===1&&w.add(r[0]),x.push({sets:r,size:i,label:t?k(t):void 0})},`addSubsetData`),O=e(()=>x,`getSubsetData`),k=e(e=>{let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?t.slice(1,-1):t},`normalizeText`),A=e(e=>e&&k(e),`normalizeStyleValue`),j=e((e,t,n)=>{let r=k(t);S.push({sets:N(e).sort(),id:r,label:n?k(n):void 0})},`addTextData`),M=e((e,t)=>{let n=N(e).sort(),r={};for(let[e,n]of t)r[e]=A(n)??n;C.push({targets:n,styles:r})},`addStyleData`),ee=e(()=>C,`getStyleData`),N=e(e=>e.map(e=>k(e)),`normalizeIdentifierList`),P=e(e=>{let t=N(e).filter(e=>!w.has(e));if(t.length>0)throw Error(`unknown set identifier: ${t.join(`, `)}`)},`validateUnionIdentifiers`),F=e(()=>S,`getTextData`),I=e(()=>T,`getCurrentSets`),L=e(()=>E,`getIndentMode`),te=e(e=>{E=e},`setIndentMode`),ne=u.venn;function re(){return d(ne,o().venn)}e(re,`getConfig`);var ie={getConfig:re,clear:e(()=>{_(),x.length=0,S.length=0,C.length=0,w.clear(),T=void 0,E=!1},`customClear`),setAccTitle:c,getAccTitle:p,setDiagramTitle:i,getDiagramTitle:l,getAccDescription:f,setAccDescription:n,addSubsetData:D,getSubsetData:O,addTextData:j,addStyleData:M,validateUnionIdentifiers:P,getTextData:F,getStyleData:ee,getCurrentSets:I,getIndentMode:L,setIndentMode:te},ae=e(e=>`
7
- .venn-title {
8
- font-size: 32px;
9
- fill: ${e.vennTitleTextColor};
10
- font-family: ${e.fontFamily};
11
- }
12
-
13
- .venn-circle text {
14
- font-size: 48px;
15
- font-family: ${e.fontFamily};
16
- }
17
-
18
- .venn-intersection text {
19
- font-size: 48px;
20
- fill: ${e.vennSetTextColor};
21
- font-family: ${e.fontFamily};
22
- }
23
-
24
- .venn-text-node {
25
- font-family: ${e.fontFamily};
26
- color: ${e.vennSetTextColor};
27
- }
28
- `,`getStyles`);function R(e,t){let n=se(e),r=n.filter(t=>oe(t,e)),i=0,a=0,o=[];if(r.length>1){let t=le(r);for(let e=0;e<r.length;++e){let n=r[e];n.angle=Math.atan2(n.x-t.x,n.y-t.y)}r.sort((e,t)=>t.angle-e.angle);let n=r[r.length-1];for(let t=0;t<r.length;++t){let s=r[t];a+=(n.x+s.x)*(s.y-n.y);let c={x:(s.x+n.x)/2,y:(s.y+n.y)/2},l=null;for(let t=0;t<s.parentIndex.length;++t)if(n.parentIndex.includes(s.parentIndex[t])){let r=e[s.parentIndex[t]],i=Math.atan2(s.x-r.x,s.y-r.y),a=Math.atan2(n.x-r.x,n.y-r.y),o=a-i;o<0&&(o+=2*Math.PI);let u=a-o/2,d=B(c,{x:r.x+r.radius*Math.sin(u),y:r.y+r.radius*Math.cos(u)});d>r.radius*2&&(d=r.radius*2),(l==null||l.width>d)&&(l={circle:r,width:d,p1:s,p2:n,large:d>r.radius,sweep:!0})}l!=null&&(o.push(l),i+=z(l.circle.radius,l.width),n=s)}}else{let t=e[0];for(let n=1;n<e.length;++n)e[n].radius<t.radius&&(t=e[n]);let n=!1;for(let r=0;r<e.length;++r)if(B(e[r],t)>Math.abs(t.radius-e[r].radius)){n=!0;break}n?i=a=0:(i=t.radius*t.radius*Math.PI,o.push({circle:t,p1:{x:t.x,y:t.y+t.radius},p2:{x:t.x-1e-10,y:t.y+t.radius},width:t.radius*2,large:!0,sweep:!0}))}return a/=2,t&&(t.area=i+a,t.arcArea=i,t.polygonArea=a,t.arcs=o,t.innerPoints=r,t.intersectionPoints=n),i+a}e(R,`intersectionArea`);function oe(e,t){return t.every(t=>B(e,t)<t.radius+1e-10)}e(oe,`containedInCircles`);function se(e){let t=[];for(let n=0;n<e.length;++n)for(let r=n+1;r<e.length;++r){let i=ce(e[n],e[r]);for(let e of i)e.parentIndex=[n,r],t.push(e)}return t}e(se,`getIntersectionPoints`);function z(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}e(z,`circleArea`);function B(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}e(B,`distance`);function V(e,t,n){if(n>=e+t)return 0;if(n<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);let r=e-(n*n-t*t+e*e)/(2*n),i=t-(n*n-e*e+t*t)/(2*n);return z(e,r)+z(t,i)}e(V,`circleOverlap`);function ce(e,t){let n=B(e,t),r=e.radius,i=t.radius;if(n>=r+i||n<=Math.abs(r-i))return[];let a=(r*r-i*i+n*n)/(2*n),o=Math.sqrt(r*r-a*a),s=e.x+a*(t.x-e.x)/n,c=e.y+a*(t.y-e.y)/n,l=-(t.y-e.y)*(o/n),u=-(t.x-e.x)*(o/n);return[{x:s+l,y:c-u},{x:s-l,y:c+u}]}e(ce,`circleCircleIntersection`);function le(e){let t={x:0,y:0};for(let n of e)t.x+=n.x,t.y+=n.y;return t.x/=e.length,t.y/=e.length,t}e(le,`getCenter`);function ue(e,t,n,r){r||={};let i=r.maxIterations||100,a=r.tolerance||1e-10,o=e(t),s=e(n),c=n-t;if(o*s>0)throw`Initial bisect points must have opposite signs`;if(o===0)return t;if(s===0)return n;for(let n=0;n<i;++n){c/=2;let n=t+c,r=e(n);if(r*o>=0&&(t=n),Math.abs(c)<a||r===0)return n}return t+c}e(ue,`bisect`);function H(e){let t=Array(e);for(let n=0;n<e;++n)t[n]=0;return t}e(H,`zeros`);function de(e,t){return H(e).map(()=>H(t))}e(de,`zerosM`);function U(e,t){let n=0;for(let r=0;r<e.length;++r)n+=e[r]*t[r];return n}e(U,`dot`);function W(e){return Math.sqrt(U(e,e))}e(W,`norm2`);function G(e,t,n){for(let r=0;r<t.length;++r)e[r]=t[r]*n}e(G,`scale`);function K(e,t,n,r,i){for(let a=0;a<e.length;++a)e[a]=t*n[a]+r*i[a]}e(K,`weightedSum`);function fe(t,n,r){r||={};let i=r.maxIterations||n.length*200,a=r.nonZeroDelta||1.05,o=r.zeroDelta||.001,s=r.minErrorDelta||1e-6,c=r.minErrorDelta||1e-5,l=r.rho===void 0?1:r.rho,u=r.chi===void 0?2:r.chi,d=r.psi===void 0?-.5:r.psi,f=r.sigma===void 0?.5:r.sigma,p,m=n.length,h=Array(m+1);h[0]=n,h[0].fx=t(n),h[0].id=0;for(let e=0;e<m;++e){let r=n.slice();r[e]=r[e]?r[e]*a:o,h[e+1]=r,h[e+1].fx=t(r),h[e+1].id=e+1}function g(e){for(let t=0;t<e.length;t++)h[m][t]=e[t];h[m].fx=e.fx}e(g,`updateSimplex`);let _=e((e,t)=>e.fx-t.fx,`sortOrder`),v=n.slice(),y=n.slice(),b=n.slice(),x=n.slice();for(let e=0;e<i;++e){if(h.sort(_),r.history){let e=h.map(e=>{let t=e.slice();return t.fx=e.fx,t.id=e.id,t});e.sort((e,t)=>e.id-t.id),r.history.push({x:h[0].slice(),fx:h[0].fx,simplex:e})}p=0;for(let e=0;e<m;++e)p=Math.max(p,Math.abs(h[0][e]-h[1][e]));if(Math.abs(h[0].fx-h[m].fx)<s&&p<c)break;for(let e=0;e<m;++e){v[e]=0;for(let t=0;t<m;++t)v[e]+=h[t][e];v[e]/=m}let e=h[m];if(K(y,1+l,v,-l,e),y.fx=t(y),y.fx<h[0].fx)K(x,1+u,v,-u,e),x.fx=t(x),x.fx<y.fx?g(x):g(y);else if(y.fx>=h[m-1].fx){let n=!1;if(y.fx>e.fx?(K(b,1+d,v,-d,e),b.fx=t(b),b.fx<e.fx?g(b):n=!0):(K(b,1-d*l,v,d*l,e),b.fx=t(b),b.fx<y.fx?g(b):n=!0),n){if(f>=1)break;for(let e=1;e<h.length;++e)K(h[e],1-f,h[0],f,h[e]),h[e].fx=t(h[e])}}else g(y)}return h.sort(_),{fx:h[0].fx,x:h[0]}}e(fe,`nelderMead`);function pe(t,n,r,i,a,o,s){let c=r.fx,l=U(r.fxprime,n),u=c,d=c,f=l,p=0;a||=1,o||=1e-6,s||=.1;function m(e,d,p){for(let m=0;m<16;++m)if(a=(e+d)/2,K(i.x,1,r.x,a,n),u=i.fx=t(i.x,i.fxprime),f=U(i.fxprime,n),u>c+o*a*l||u>=p)d=a;else{if(Math.abs(f)<=-s*l)return a;f*(d-e)>=0&&(d=e),e=a,p=u}return 0}e(m,`zoom`);for(let e=0;e<10;++e){if(K(i.x,1,r.x,a,n),u=i.fx=t(i.x,i.fxprime),f=U(i.fxprime,n),u>c+o*a*l||e&&u>=d)return m(p,a,d);if(Math.abs(f)<=-s*l)return a;if(f>=0)return m(a,p,u);d=u,p=a,a*=2}return a}e(pe,`wolfeLineSearch`);function me(e,t,n){let r={x:t.slice(),fx:0,fxprime:t.slice()},i={x:t.slice(),fx:0,fxprime:t.slice()},a=t.slice(),o,s,c=1,l;n||={},l=n.maxIterations||t.length*20,r.fx=e(r.x,r.fxprime),o=r.fxprime.slice(),G(o,r.fxprime,-1);for(let t=0;t<l;++t){if(c=pe(e,o,r,i,c),n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),!c)G(o,r.fxprime,-1);else{K(a,1,i.fxprime,-1,r.fxprime);let e=U(r.fxprime,r.fxprime),t=Math.max(0,U(a,i.fxprime)/e);K(o,t,o,-1,i.fxprime),s=r,r=i,i=s}if(W(r.fxprime)<=1e-5)break}return n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),r}e(me,`conjugateGradient`);function he(e,t={}){t.maxIterations=t.maxIterations||500;let n=t.initialLayout||be,r=t.lossFunction||J,i=_e(e,t),a=n(i,t),o=Object.keys(a),s=[];for(let e of o)s.push(a[e].x),s.push(a[e].y);let c=fe(e=>{let t={};for(let n=0;n<o.length;++n){let r=o[n];t[r]={x:e[2*n],y:e[2*n+1],radius:a[r].radius}}return r(t,i)},s,t).x;for(let e=0;e<o.length;++e){let t=o[e];a[t].x=c[2*e],a[t].y=c[2*e+1]}return a}e(he,`venn`);var ge=1e-10;function q(e,t,n){return Math.min(e,t)*Math.min(e,t)*Math.PI<=n+ge?Math.abs(e-t):ue(r=>V(e,t,r)-n,0,e+t)}e(q,`distanceFromIntersectArea`);function _e(t,n={}){let r=n.distinct,i=t.map(e=>Object.assign({},e));function a(e){return e.join(`;`)}if(e(a,`toKey`),r){let e=new Map;for(let t of i)for(let n=0;n<t.sets.length;n++){let r=String(t.sets[n]);e.set(r,t.size+(e.get(r)||0));for(let i=n+1;i<t.sets.length;i++){let n=String(t.sets[i]),a=`${r};${n}`,o=`${n};${r}`;e.set(a,t.size+(e.get(a)||0)),e.set(o,t.size+(e.get(o)||0))}}for(let t of i)t.sets.length<3&&(t.size=e.get(a(t.sets)))}let o=[],s=new Set;for(let e of i)if(e.sets.length===1)o.push(e.sets[0]);else if(e.sets.length===2){let t=e.sets[0],n=e.sets[1];s.add(a(e.sets)),s.add(a([n,t]))}o.sort((e,t)=>e===t?0:e<t?-1:1);for(let e=0;e<o.length;++e){let t=o[e];for(let n=e+1;n<o.length;++n){let e=o[n];s.has(a([t,e]))||i.push({sets:[t,e],size:0})}}return i}e(_e,`addMissingAreas`);function ve(e,t,n){let r=de(t.length,t.length),i=de(t.length,t.length);return e.filter(e=>e.sets.length===2).forEach(e=>{let a=n[e.sets[0]],o=n[e.sets[1]],s=q(Math.sqrt(t[a].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);r[a][o]=r[o][a]=s;let c=0;e.size+1e-10>=Math.min(t[a].size,t[o].size)?c=1:e.size<=1e-10&&(c=-1),i[a][o]=i[o][a]=c}),{distances:r,constraints:i}}e(ve,`getDistanceMatrices`);function ye(e,t,n,r){for(let e=0;e<t.length;++e)t[e]=0;let i=0;for(let a=0;a<n.length;++a){let o=e[2*a],s=e[2*a+1];for(let c=a+1;c<n.length;++c){let l=e[2*c],u=e[2*c+1],d=n[a][c],f=r[a][c],p=(l-o)*(l-o)+(u-s)*(u-s),m=Math.sqrt(p),h=p-d*d;f>0&&m<=d||f<0&&m>=d||(i+=2*h*h,t[2*a]+=4*h*(o-l),t[2*a+1]+=4*h*(s-u),t[2*c]+=4*h*(l-o),t[2*c+1]+=4*h*(u-s))}}return i}e(ye,`constrainedMDSGradient`);function be(e,t={}){let n=Se(e,t),r=t.lossFunction||J;if(e.length>=8){let i=xe(e,t),a=r(i,e),o=r(n,e);a+1e-8<o&&(n=i)}return n}e(be,`bestInitialLayout`);function xe(t,n={}){let r=n.restarts||10,i=[],a={};for(let e of t)e.sets.length===1&&(a[e.sets[0]]=i.length,i.push(e));let{distances:o,constraints:s}=ve(t,i,a),c=W(o.map(W))/o.length;o=o.map(e=>e.map(e=>e/c));let l=e((e,t)=>ye(e,t,o,s),`obj`),u=null;for(let e=0;e<r;++e){let e=me(l,H(o.length*2).map(Math.random),n);(!u||e.fx<u.fx)&&(u=e)}let d=u.x,f={};for(let e=0;e<i.length;++e){let t=i[e];f[t.sets[0]]={x:d[2*e]*c,y:d[2*e+1]*c,radius:Math.sqrt(t.size/Math.PI)}}if(n.history)for(let e of n.history)G(e.x,c);return f}e(xe,`constrainedMDSLayout`);function Se(t,n){let r=n&&n.lossFunction?n.lossFunction:J,i={},a={};for(let e of t)if(e.sets.length===1){let t=e.sets[0];i[t]={x:1e10,y:1e10,rowid:i.length,size:e.size,radius:Math.sqrt(e.size/Math.PI)},a[t]=[]}t=t.filter(e=>e.sets.length===2);for(let e of t){let t=e.weight==null?1:e.weight,n=e.sets[0],r=e.sets[1];e.size+ge>=Math.min(i[n].size,i[r].size)&&(t=0),a[n].push({set:r,size:e.size,weight:t}),a[r].push({set:n,size:e.size,weight:t})}let o=[];Object.keys(a).forEach(e=>{let t=0;for(let n=0;n<a[e].length;++n)t+=a[e][n].size*a[e][n].weight;o.push({set:e,size:t})});function s(e,t){return t.size-e.size}e(s,`sortOrder`),o.sort(s);let c={};function l(e){return e.set in c}e(l,`isPositioned`);function u(e,t){i[t].x=e.x,i[t].y=e.y,c[t]=!0}e(u,`positionSet`),u({x:0,y:0},o[0].set);for(let e=1;e<o.length;++e){let n=o[e].set,c=a[n].filter(l),f=i[n];if(c.sort(s),c.length===0)throw`ERROR: missing pairwise overlap information`;let p=[];for(var d=0;d<c.length;++d){let e=i[c[d].set],t=q(f.radius,e.radius,c[d].size);p.push({x:e.x+t,y:e.y}),p.push({x:e.x-t,y:e.y}),p.push({y:e.y+t,x:e.x}),p.push({y:e.y-t,x:e.x});for(let n=d+1;n<c.length;++n){let r=i[c[n].set],a=q(f.radius,r.radius,c[n].size),o=ce({x:e.x,y:e.y,radius:t},{x:r.x,y:r.y,radius:a});p.push(...o)}}let m=1e50,h=p[0];for(let e of p){i[n].x=e.x,i[n].y=e.y;let a=r(i,t);a<m&&(m=a,h=e)}u(h,n)}return i}e(Se,`greedyLayout`);function J(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=V(n.radius,i.radius,B(n,i))}else t=R(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight;n+=i*(t-r.size)*(t-r.size)}return n}e(J,`lossFunction`);function Ce(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=V(n.radius,i.radius,B(n,i))}else t=R(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight,a=Math.log((t+1)/(r.size+1));n+=i*a*a}return n}e(Ce,`logRatioLossFunction`);function we(e,t,n){if(n==null?e.sort((e,t)=>t.radius-e.radius):e.sort(n),e.length>0){let t=e[0].x,n=e[0].y;for(let r of e)r.x-=t,r.y-=n}if(e.length===2&&B(e[0],e[1])<Math.abs(e[1].radius-e[0].radius)&&(e[1].x=e[0].x+e[0].radius-e[1].radius-1e-10,e[1].y=e[0].y),e.length>1){let n=Math.atan2(e[1].x,e[1].y)-t,r=Math.cos(n),i=Math.sin(n);for(let t of e){let e=t.x,n=t.y;t.x=r*e-i*n,t.y=i*e+r*n}}if(e.length>2){let n=Math.atan2(e[2].x,e[2].y)-t;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let t=e[1].y/(1e-10+e[1].x);for(let n of e){var r=(n.x+t*n.y)/(1+t*t);n.x=2*r-n.x,n.y=2*r*t-n.y}}}}e(we,`orientateCircles`);function Te(t){t.forEach(e=>{e.parent=e});function n(e){return e.parent!==e&&(e.parent=n(e.parent)),e.parent}e(n,`find`);function r(e,t){let r=n(e);r.parent=n(t)}e(r,`union`);for(let e=0;e<t.length;++e)for(let n=e+1;n<t.length;++n){let i=t[e].radius+t[n].radius;B(t[e],t[n])+1e-10<i&&r(t[n],t[e])}let i=new Map;for(let e=0;e<t.length;++e){let r=n(t[e]).parent.setid;i.has(r)||i.set(r,[]),i.get(r).push(t[e])}return t.forEach(e=>{delete e.parent}),Array.from(i.values())}e(Te,`disjointCluster`);function Y(t){let n=e(e=>({max:t.reduce((t,n)=>Math.max(t,n[e]+n.radius),-1/0),min:t.reduce((t,n)=>Math.min(t,n[e]-n.radius),1/0)}),`minMax`);return{xRange:n(`x`),yRange:n(`y`)}}e(Y,`getBoundingBox`);function Ee(t,n,r){n??=Math.PI/2;let i=ke(t).map(e=>Object.assign({},e)),a=Te(i);for(let e of a){we(e,n,r);let t=Y(e);e.size=(t.xRange.max-t.xRange.min)*(t.yRange.max-t.yRange.min),e.bounds=t}a.sort((e,t)=>t.size-e.size),i=a[0];let o=i.bounds,s=(o.xRange.max-o.xRange.min)/50;function c(e,t,n){if(!e)return;let r=e.bounds,a,c;if(t)a=o.xRange.max-r.xRange.min+s;else{a=o.xRange.max-r.xRange.max;let e=(r.xRange.max-r.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;e<0&&(a+=e)}if(n)c=o.yRange.max-r.yRange.min+s;else{c=o.yRange.max-r.yRange.max;let e=(r.yRange.max-r.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;e<0&&(c+=e)}for(let t of e)t.x+=a,t.y+=c,i.push(t)}e(c,`addCluster`);let l=1;for(;l<a.length;)c(a[l],!0,!1),c(a[l+1],!1,!0),c(a[l+2],!0,!0),l+=3,o=Y(i);return Oe(i)}e(Ee,`normalizeSolution`);function De(e,t,n,r,i){let a=ke(e);t-=2*r,n-=2*r;let{xRange:o,yRange:s}=Y(a);if(o.max===o.min||s.max===s.min)return console.log(`not scaling solution: zero size detected`),e;let c,l;if(i){let e=Math.sqrt(i/Math.PI)*2;c=t/e,l=n/e}else c=t/(o.max-o.min),l=n/(s.max-s.min);let u=Math.min(l,c),d=(t-(o.max-o.min)*u)/2,f=(n-(s.max-s.min)*u)/2;return Oe(a.map(e=>({radius:u*e.radius,x:r+d+(e.x-o.min)*u,y:r+f+(e.y-s.min)*u,setid:e.setid})))}e(De,`scaleSolution`);function Oe(e){let t={};for(let n of e)t[n.setid]=n;return t}e(Oe,`toObjectNotation`);function ke(e){return Object.keys(e).map(t=>Object.assign(e[t],{setid:t}))}e(ke,`fromObjectNotation`);function Ae(t={}){let n=!1,r=600,i=350,a=15,o=1e3,s=Math.PI/2,c=!0,l=null,u=!0,d=!0,f=null,p=null,m=!1,h=null,g=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,_={},v=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:[`#1f77b4`,`#ff7f0e`,`#2ca02c`,`#d62728`,`#9467bd`,`#8c564b`,`#e377c2`,`#7f7f7f`,`#bcbd22`,`#17becf`],y=0,b=e(function(e){if(e in _)return _[e];var t=_[e]=v[y];return y+=1,y>=v.length&&(y=0),t},`colours`),x=he,S=J;function C(_){let v=_.datum(),y=new Set;v.forEach(e=>{e.size==0&&e.sets.length==1&&y.add(e.sets[0])}),v=v.filter(e=>!e.sets.some(e=>y.has(e)));let C={},w={};if(v.length>0){let e=x(v,{lossFunction:S,distinct:m});c&&(e=Ee(e,s,p)),C=De(e,r,i,a,l),w=Ne(C,v,g)}let T={};v.forEach(e=>{e.label&&(T[e.sets]=e.label)});function E(e){if(e.sets in T)return T[e.sets];if(e.sets.length==1)return``+e.sets[0]}e(E,`label`),_.selectAll(`svg`).data([C]).enter().append(`svg`);let D=_.select(`svg`);n?D.attr(`viewBox`,`0 0 ${r} ${i}`):D.attr(`width`,r).attr(`height`,i);let O={},k=!1;D.selectAll(`.venn-area path`).each(function(e){let t=this.getAttribute(`d`);e.sets.length==1&&t&&!m&&(k=!0,O[e.sets[0]]=Fe(t))});function A(e){return t=>Q(e.sets.map(e=>{let n=O[e],a=C[e];return n||={x:r/2,y:i/2,radius:1},a||={x:r/2,y:i/2,radius:1},{x:n.x*(1-t)+a.x*t,y:n.y*(1-t)+a.y*t,radius:n.radius*(1-t)+a.radius*t}}),h)}e(A,`pathTween`);let j=D.selectAll(`.venn-area`).data(v,e=>e.sets),M=j.enter().append(`g`).attr(`class`,e=>`venn-area venn-${e.sets.length==1?`circle`:`intersection`}${e.colour||e.color?` venn-coloured`:``}`).attr(`data-venn-sets`,e=>e.sets.join(`_`)),ee=M.append(`path`),N=M.append(`text`).attr(`class`,`label`).text(e=>E(e)).attr(`text-anchor`,`middle`).attr(`dy`,`.35em`).attr(`x`,r/2).attr(`y`,i/2);d&&(ee.style(`fill-opacity`,`0`).filter(e=>e.sets.length==1).style(`fill`,e=>e.colour?e.colour:e.color?e.color:b(e.sets)).style(`fill-opacity`,`.25`),N.style(`fill`,e=>e.colour||e.color?`#FFF`:t.textFill?t.textFill:e.sets.length==1?b(e.sets):`#444`));function P(e){return typeof e.transition==`function`?e.transition(`venn`).duration(o):e}e(P,`asTransition`);let F=_;k&&typeof F.transition==`function`?(F=P(_),F.selectAll(`path`).attrTween(`d`,A)):F.selectAll(`path`).attr(`d`,e=>Q(e.sets.map(e=>C[e])),h);let I=F.selectAll(`text`).filter(e=>e.sets in w).text(e=>E(e)).attr(`x`,e=>Math.floor(w[e.sets].x)).attr(`y`,e=>Math.floor(w[e.sets].y));u&&(k?`on`in I?I.on(`end`,X(C,E)):I.each(`end`,X(C,E)):I.each(X(C,E)));let L=P(j.exit()).remove();typeof j.transition==`function`&&L.selectAll(`path`).attrTween(`d`,A);let te=L.selectAll(`text`).attr(`x`,r/2).attr(`y`,i/2);return f!==null&&(N.style(`font-size`,`0px`),I.style(`font-size`,f),te.style(`font-size`,`0px`)),{circles:C,textCentres:w,nodes:j,enter:M,update:F,exit:L}}return e(C,`chart`),C.wrap=function(e){return arguments.length?(u=e,C):u},C.useViewBox=function(){return n=!0,C},C.width=function(e){return arguments.length?(r=e,C):r},C.height=function(e){return arguments.length?(i=e,C):i},C.padding=function(e){return arguments.length?(a=e,C):a},C.distinct=function(e){return arguments.length?(m=e,C):m},C.colours=function(e){return arguments.length?(b=e,C):b},C.colors=function(e){return arguments.length?(b=e,C):b},C.fontSize=function(e){return arguments.length?(f=e,C):f},C.round=function(e){return arguments.length?(h=e,C):h},C.duration=function(e){return arguments.length?(o=e,C):o},C.layoutFunction=function(e){return arguments.length?(x=e,C):x},C.normalize=function(e){return arguments.length?(c=e,C):c},C.scaleToFit=function(e){return arguments.length?(l=e,C):l},C.styled=function(e){return arguments.length?(d=e,C):d},C.orientation=function(e){return arguments.length?(s=e,C):s},C.orientationOrder=function(e){return arguments.length?(p=e,C):p},C.lossFunction=function(e){return arguments.length?(S=e===`default`?J:e===`logRatio`?Ce:e,C):S},C}e(Ae,`VennDiagram`);function X(t,n){return function(r){let i=this,a=t[r.sets[0]].radius||50,o=n(r)||``,s=o.split(/\s+/).reverse(),c=(o.length+s.length)/3,l=s.pop(),u=[l],d=0,f=1.1;i.textContent=null;let p=[];function m(e){let t=i.ownerDocument.createElementNS(i.namespaceURI,`tspan`);return t.textContent=e,p.push(t),i.append(t),t}e(m,`append`);let h=m(l);for(;l=s.pop(),l;){u.push(l);let e=u.join(` `);h.textContent=e,e.length>c&&h.getComputedTextLength()>a&&(u.pop(),h.textContent=u.join(` `),u=[l],h=m(l),d++)}let g=.35-d*f/2,_=i.getAttribute(`x`),v=i.getAttribute(`y`);p.forEach((e,t)=>{e.setAttribute(`x`,_),e.setAttribute(`y`,v),e.setAttribute(`dy`,`${g+t*f}em`)})}}e(X,`wrapText`);function Z(e,t,n){let r=t[0].radius-B(t[0],e);for(let n=1;n<t.length;++n){let i=t[n].radius-B(t[n],e);i<=r&&(r=i)}for(let t=0;t<n.length;++t){let i=B(n[t],e)-n[t].radius;i<=r&&(r=i)}return r}e(Z,`circleMargin`);function je(e,t,n){let r=[];for(let t of e)r.push({x:t.x,y:t.y}),r.push({x:t.x+t.radius/2,y:t.y}),r.push({x:t.x-t.radius/2,y:t.y}),r.push({x:t.x,y:t.y+t.radius/2}),r.push({x:t.x,y:t.y-t.radius/2});let i=r[0],a=Z(r[0],e,t);for(let n=1;n<r.length;++n){let o=Z(r[n],e,t);o>=a&&(i=r[n],a=o)}let o=fe(n=>-1*Z({x:n[0],y:n[1]},e,t),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,s={x:n?0:o[0],y:o[1]},c=!0;for(let t of e)if(B(s,t)>t.radius){c=!1;break}for(let e of t)if(B(s,e)<e.radius){c=!1;break}if(c)return s;if(e.length==1)return{x:e[0].x,y:e[0].y};let l={};return R(e,l),l.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:l.arcs.length==1?{x:l.arcs[0].circle.x,y:l.arcs[0].circle.y}:t.length?je(e,[]):le(l.arcs.map(e=>e.p1))}e(je,`computeTextCentre`);function Me(e){let t={},n=Object.keys(e);for(let e of n)t[e]=[];for(let r=0;r<n.length;r++){let i=n[r],a=e[i];for(let o=r+1;o<n.length;++o){let r=n[o],s=e[r],c=B(a,s);c+s.radius<=a.radius+1e-10?t[r].push(i):c+a.radius<=s.radius+1e-10&&t[i].push(r)}}return t}e(Me,`getOverlappingCircles`);function Ne(e,t,n){let r={},i=Me(e);for(let a=0;a<t.length;++a){let o=t[a].sets,s={},c={};for(let e=0;e<o.length;++e){s[o[e]]=!0;let t=i[o[e]];for(let e=0;e<t.length;++e)c[t[e]]=!0}let l=[],u=[];for(let t in e)t in s?l.push(e[t]):t in c||u.push(e[t]);let d=je(l,u,n);r[o]=d,d.disjoint&&t[a].size>0&&console.log(`WARNING: area `+o+` not represented on screen`)}return r}e(Ne,`computeTextCentres`);function Pe(e,t,n){let r=[];return r.push(`
29
- M`,e,t),r.push(`
30
- m`,-n,0),r.push(`
31
- a`,n,n,0,1,0,n*2,0),r.push(`
32
- a`,n,n,0,1,0,-n*2,0),r.join(` `)}e(Pe,`circlePath`);function Fe(e){let t=e.split(` `);return{x:Number.parseFloat(t[1]),y:Number.parseFloat(t[2]),radius:-Number.parseFloat(t[4])}}e(Fe,`circleFromPath`);function Ie(e){if(e.length===0)return[];let t={};return R(e,t),t.arcs}e(Ie,`intersectionAreaArcs`);function Le(e,t){if(e.length===0)return`M 0 0`;let n=10**(t||0),r=t==null?e=>e:e=>Math.round(e*n)/n;if(e.length==1){let t=e[0].circle;return Pe(r(t.x),r(t.y),r(t.radius))}let i=[`
33
- M`,r(e[0].p2.x),r(e[0].p2.y)];for(let t of e){let e=r(t.circle.radius);i.push(`
34
- A`,e,e,0,+!!t.large,+!!t.sweep,r(t.p1.x),r(t.p1.y))}return i.join(` `)}e(Le,`arcsToPath`);function Q(e,t){return Le(Ie(e),t)}e(Q,`intersectionAreaPath`);function Re(t,n={}){let{lossFunction:r,layoutFunction:i=he,normalize:a=!0,orientation:o=Math.PI/2,orientationOrder:s,width:c=600,height:l=350,padding:u=15,scaleToFit:d=!1,symmetricalTextCentre:f=!1,distinct:p,round:m=2}=n,h=i(t,{lossFunction:r===`default`||!r?J:r===`logRatio`?Ce:r,distinct:p});a&&(h=Ee(h,o,s));let g=De(h,c,l,u,d),_=Ne(g,t,f),v=new Map(Object.keys(g).map(e=>[e,{set:e,x:g[e].x,y:g[e].y,radius:g[e].radius}])),y=t.map(e=>{let t=e.sets.map(e=>v.get(e)),n=Ie(t);return{circles:t,arcs:n,path:Le(n,m),area:e,has:new Set(e.sets)}});function b(e){let t=``;for(let n of y)n.has.size>e.length&&e.every(e=>n.has.has(e))&&(t+=` `+n.path);return t}return e(b,`genDistinctPath`),y.map(({circles:e,arcs:t,path:n,area:r})=>({data:r,text:_[r.sets],circles:e,arcs:t,path:n,distinctPath:n+b(r.sets)}))}e(Re,`layout`);function ze(e){let t=new Map;for(let n of e){let e=n.targets.join(`|`),r=t.get(e);r?Object.assign(r,n.styles):t.set(e,{...n.styles})}return t}e(ze,`buildStyleByKey`);var Be=e((e,n,i,c)=>{let l=c.db,u=l.getConfig?.(),{themeVariables:d,look:f,handDrawnSeed:p}=o(),_=f===`handDrawn`,y=[d.venn1,d.venn2,d.venn3,d.venn4,d.venn5,d.venn6,d.venn7,d.venn8].filter(Boolean),b=l.getDiagramTitle?.(),x=l.getSubsetData(),S=l.getTextData(),C=ze(l.getStyleData()),w=u?.width??800,T=u?.height??450,E=w/1600,D=b?48*E:0,O=d.primaryTextColor??d.textColor,k=r(n);k.attr(`viewBox`,`0 0 ${w} ${T}`),b&&k.append(`text`).text(b).attr(`class`,`venn-title`).attr(`font-size`,`${32*E}px`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`x`,`50%`).attr(`y`,32*E).style(`fill`,d.vennTitleTextColor||d.titleColor);let A=v(document.createElement(`div`)),j=Ae().width(w).height(T-D);A.datum(x).call(j);let M=_?a.svg(A.select(`svg`).node()):void 0,ee=Re(x,{width:w,height:T-D,padding:u?.padding??15}),N=new Map;for(let e of ee){let t=$([...e.data.sets].sort());N.set(t,e)}S.length>0&&Ve(u,N,A,S,E,C);let P=g(d.background||`#f4f4f4`);A.selectAll(`.venn-circle`).each(function(e,t){let n=v(this),r=$([...e.sets].sort()),i=C.get(r),a=i?.fill||y[t%y.length]||d.primaryColor;n.classed(`venn-set-${t%8}`,!0);let o=i?.[`fill-opacity`]??.1,c=i?.stroke||a,l=i?.[`stroke-width`]||`${5*E}`;if(_&&M){let e=N.get(r);if(e&&e.circles.length>0){let r=e.circles[0],i=M.circle(r.x,r.y,r.radius*2,{roughness:.7,seed:p,fill:s(a,.7),fillStyle:`hachure`,fillWeight:2,hachureGap:8,hachureAngle:-41+t*60,stroke:c,strokeWidth:parseFloat(String(l))});n.select(`path`).remove(),n.node()?.insertBefore(i,n.select(`text`).node())}}else n.select(`path`).style(`fill`,a).style(`fill-opacity`,o).style(`stroke`,c).style(`stroke-width`,l).style(`stroke-opacity`,.95);let u=i?.color||(P?m(a,30):h(a,30));n.select(`text`).style(`font-size`,`${48*E}px`).style(`fill`,u)}),_&&M?A.selectAll(`.venn-intersection`).each(function(e){let t=v(this),n=$([...e.sets].sort()),r=C.get(n),i=r?.fill;if(i){let e=t.select(`path`),n=e.attr(`d`);if(n){let t=M.path(n,{roughness:.7,seed:p,fill:s(i,.3),fillStyle:`cross-hatch`,fillWeight:2,hachureGap:6,hachureAngle:60,stroke:`none`}),r=e.node();r?.parentNode?.insertBefore(t,r),e.remove()}}else t.select(`path`).style(`fill-opacity`,0);t.select(`text`).style(`font-size`,`${48*E}px`).style(`fill`,r?.color??d.vennSetTextColor??O)}):(A.selectAll(`.venn-intersection text`).style(`font-size`,`${48*E}px`).style(`fill`,e=>{let t=$([...e.sets].sort());return C.get(t)?.color??d.vennSetTextColor??O}),A.selectAll(`.venn-intersection path`).style(`fill-opacity`,e=>{let t=$([...e.sets].sort());return+!!C.get(t)?.fill}).style(`fill`,e=>{let t=$([...e.sets].sort());return C.get(t)?.fill??`transparent`}));let F=k.append(`g`).attr(`transform`,`translate(0, ${D})`),I=A.select(`svg`).node();if(I&&`childNodes`in I)for(let e of[...I.childNodes])F.node()?.appendChild(e);t(k,T,w,u?.useMaxWidth??!0)},`draw`);function $(e){return e.join(`|`)}e($,`stableSetsKey`);function Ve(e,t,n,r,i,a){let o=e?.useDebugLayout??!1,s=n.select(`svg`).append(`g`).attr(`class`,`venn-text-nodes`),c=new Map;for(let e of r){let t=$(e.sets),n=c.get(t);n?n.push(e):c.set(t,[e])}for(let[e,n]of c.entries()){let r=t.get(e);if(!r?.text)continue;let c=r.text.x,l=r.text.y,u=Math.min(...r.circles.map(e=>e.radius)),d=Math.min(...r.circles.map(e=>e.radius-Math.hypot(c-e.x,l-e.y))),f=Number.isFinite(d)?Math.max(0,d):0;f===0&&Number.isFinite(u)&&(f=u*.6);let p=s.append(`g`).attr(`class`,`venn-text-area`).attr(`font-size`,`${40*i}px`);o&&p.append(`circle`).attr(`class`,`venn-text-debug-circle`).attr(`cx`,c).attr(`cy`,l).attr(`r`,f).attr(`fill`,`none`).attr(`stroke`,`purple`).attr(`stroke-width`,1.5*i).attr(`stroke-dasharray`,`${6*i} ${4*i}`);let m=Math.max(80*i,f*2*.95),h=Math.max(60*i,f*2*.95),g=(r.data.label&&r.data.label.length>0?Math.min(32*i,f*.25):0)+(n.length<=2?30*i:0),_=c-m/2,v=l-h/2+g,y=Math.max(1,Math.ceil(Math.sqrt(n.length))),b=Math.max(1,Math.ceil(n.length/y)),x=m/y,S=h/b;for(let[e,t]of n.entries()){let n=e%y,r=Math.floor(e/y),s=_+x*(n+.5),c=v+S*(r+.5);o&&p.append(`rect`).attr(`class`,`venn-text-debug-cell`).attr(`x`,_+x*n).attr(`y`,v+S*r).attr(`width`,x).attr(`height`,S).attr(`fill`,`none`).attr(`stroke`,`teal`).attr(`stroke-width`,1*i).attr(`stroke-dasharray`,`${4*i} ${3*i}`);let l=x*.9,u=S*.9,d=p.append(`foreignObject`).attr(`class`,`venn-text-node-fo`).attr(`width`,l).attr(`height`,u).attr(`x`,s-l/2).attr(`y`,c-u/2).attr(`overflow`,`visible`),f=a.get(t.id)?.color,m=d.append(`xhtml:span`).attr(`class`,`venn-text-node`).style(`display`,`flex`).style(`width`,`100%`).style(`height`,`100%`).style(`white-space`,`normal`).style(`align-items`,`center`).style(`justify-content`,`center`).style(`text-align`,`center`).style(`overflow-wrap`,`normal`).style(`word-break`,`normal`).text(t.label??t.id);f&&m.style(`color`,f)}}}e(Ve,`renderTextNodes`);var He={parser:b,db:ie,renderer:{draw:Be},styles:ae};export{He as diagram};
@@ -1 +0,0 @@
1
- import"./index-3NUCUW2s.js";import"./chunk-H3VCZNTA-8EMHZ3SV.js";import"./chunk-FXACKDTF-jieSmbe2.js";import{t as e}from"./chunk-DJ7UZH7F-B5tMfF87.js";export{e as createWardleyServices};
@@ -1,20 +0,0 @@
1
- import{t as e}from"./chunk-VELTKBKT-C9dVN39o.js";import{$t as t,Gn as n,Kt as r,Pt as i,Qt as a,Zt as o,an as s,fn as c,mn as l,nn as u,pn as d,un as f}from"./index-3NUCUW2s.js";import"./chunk-H3VCZNTA-8EMHZ3SV.js";import"./chunk-FXACKDTF-jieSmbe2.js";import"./chunk-XGPFEOL4-CUonLRle.js";import{t as p}from"./chunk-AEOMTBSW-D7qjBMHW.js";import{t as m}from"./chunk-DKKBVRCY-Djm-6K_e.js";import"./chunk-DU5LTGQ6-QPoynYcp.js";import"./chunk-6NTNNK5N-DW-jYSDr.js";import"./chunk-RNJOYNJ4-BiBkF9dN.js";import"./chunk-A34GCYZU-BbZl-IKy.js";import"./chunk-W7ZLLLMY-Bu-cdLzs.js";import"./chunk-WSB5WSVC-Dor71SOz.js";import"./chunk-DJ7UZH7F-B5tMfF87.js";import"./chunk-TYMNRAUI-D1NDLIMG.js";var h=e((e,t)=>{let n=e<=1?e*100:e;if(n<0||n>100)throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return n},`toPercent`),g=e((e,t,n)=>({x:h(t,`${n} evolution`),y:h(e,`${n} visibility`)}),`toCoordinates`),_=e(e=>{if(e){if(e===`+<>`)return`bidirectional`;if(e===`+<`)return`backward`;if(e===`+>`)return`forward`}},`getFlowFromPort`),v=e(e=>{if(!e?.startsWith(`+`))return{};let t=/^\+'([^']*)'/.exec(e)?.[1];return e.includes(`<>`)?{flow:`bidirectional`,label:t}:e.includes(`<`)?{flow:`backward`,label:t}:e.includes(`>`)?{flow:`forward`,label:t}:{label:t}},`extractFlowFromArrow`),y=e((e,t)=>{if(p(e,t),e.size&&t.setSize(e.size.width,e.size.height),e.evolution){let n=e.evolution.stages.map(e=>e.secondName?`${e.name.trim()} / ${e.secondName.trim()}`:e.name.trim()),r=e.evolution.stages.filter(e=>e.boundary!==void 0).map(e=>e.boundary);t.updateAxes({stages:n,stageBoundaries:r})}if(e.anchors.forEach(e=>{let n=g(e.visibility,e.evolution,`Anchor "${e.name}"`);t.addNode(e.name,e.name,n.x,n.y,`anchor`)}),e.components.forEach(e=>{let n=g(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,i=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,a=e.decorator?.strategy;t.addNode(e.name,e.name,n.x,n.y,`component`,r,i,e.inertia,a)}),e.notes.forEach(e=>{let n=g(e.visibility,e.evolution,`Note "${e.text}"`);t.addNote(e.text,n.x,n.y)}),e.pipelines.forEach(e=>{let n=t.getNode(e.parent);if(!n||typeof n.y!=`number`)throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);let r=n.y;t.startPipeline(e.parent),e.components.forEach(n=>{let i=`${e.parent}_${n.name}`,a=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,o=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,s=h(n.evolution,`Pipeline component "${n.name}" evolution`);t.addNode(i,n.name,s,r,`pipeline-component`,a,o),t.addPipelineComponent(e.parent,i)})}),e.links.forEach(e=>{let n=!!e.arrow&&(e.arrow.includes(`-.->`)||e.arrow.includes(`.-.`)),r=_(e.fromPort)??_(e.toPort),{flow:i,label:a}=v(e.arrow);!r&&i&&(r=i);let o=e.linkLabel,s=a??o;t.addLink(e.from,e.to,n,s,r)}),e.evolves.forEach(e=>{let n=t.getNode(e.component);if(n?.y!==void 0){let r=h(e.target,`Evolve target for "${e.component}"`);t.addTrend(e.component,r,n.y)}}),e.annotations.length>0){let n=e.annotations[0],r=g(n.x,n.y,`Annotations box`);t.setAnnotationsBox(r.x,r.y)}e.annotation.forEach(e=>{let n=g(e.x,e.y,`Annotation ${e.number}`);t.addAnnotation(e.number,[{x:n.x,y:n.y}],e.text)}),e.accelerators.forEach(e=>{let n=g(e.x,e.y,`Accelerator "${e.name}"`);t.addAccelerator(e.name,n.x,n.y)}),e.deaccelerators.forEach(e=>{let n=g(e.x,e.y,`Deaccelerator "${e.name}"`);t.addDeaccelerator(e.name,n.x,n.y)})},`populateDb`),b={parser:{yy:void 0},parse:e(async e=>{let t=await m(`wardley`,e);n.debug(t);let r=b.parser?.yy;if(!r||typeof r.addNode!=`function`)throw Error(`parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);y(t,r)},`parse`)},x=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{e(this,`WardleyBuilder`)}addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){let n=this.pipelines.get(e);n&&n.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!=`number`||typeof t.y!=`number`)throw Error(`Node "${t.label}" is missing coordinates`);e.push(t)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function S(e){let t=c();return l(e.trim(),t)}e(S,`textSanitizer`);function C(){return c()[`wardley-beta`]}e(C,`getConfig`);function w(e,t,n,r,i,a,o,s,c){x.addNode({id:e,label:S(t),x:n,y:r,className:i,labelOffsetX:a,labelOffsetY:o,inertia:s,sourceStrategy:c})}e(w,`addNode`);function T(e,t,n=!1,r,i){x.addLink({source:e,target:t,dashed:n,label:r,flow:i})}e(T,`addLink`);function E(e,t,n){x.addTrend({nodeId:e,targetX:t,targetY:n})}e(E,`addTrend`);function D(e,t,n){x.addAnnotation({number:e,coordinates:t,text:n?S(n):void 0})}e(D,`addAnnotation`);function O(e,t,n){x.addNote({text:S(e),x:t,y:n})}e(O,`addNote`);function k(e,t,n){x.addAccelerator({name:S(e),x:t,y:n})}e(k,`addAccelerator`);function A(e,t,n){x.addDeaccelerator({name:S(e),x:t,y:n})}e(A,`addDeaccelerator`);function j(e,t){x.setAnnotationsBox(e,t)}e(j,`setAnnotationsBox`);function M(e,t){x.setSize(e,t)}e(M,`setSize`);function N(e){x.startPipeline(e)}e(N,`startPipeline`);function P(e,t){x.addPipelineComponent(e,t)}e(P,`addPipelineComponent`);function F(e){let t={};e.xLabel&&(t.xLabel=S(e.xLabel)),e.yLabel&&(t.yLabel=S(e.yLabel)),e.stages&&(t.stages=e.stages.map(e=>S(e))),e.stageBoundaries&&(t.stageBoundaries=e.stageBoundaries),x.setAxes(t)}e(F,`updateAxes`);function I(e){return x.getNode(e)}e(I,`getNode`);function L(){return x.build()}e(L,`getWardleyData`);function R(){x.clear(),f()}e(R,`clear`);var z={getConfig:C,addNode:w,addLink:T,addTrend:E,addAnnotation:D,addNote:O,addAccelerator:k,addDeaccelerator:A,setAnnotationsBox:j,setSize:M,startPipeline:N,addPipelineComponent:P,updateAxes:F,getNode:I,getWardleyData:L,clear:R,setAccTitle:o,getAccTitle:d,setDiagramTitle:a,getDiagramTitle:s,getAccDescription:u,setAccDescription:r},B=[`Genesis`,`Custom Built`,`Product`,`Commodity`],V=e(()=>{let{themeVariables:e}=c();return{backgroundColor:e.wardley?.backgroundColor??e.background??`#fff`,axisColor:e.wardley?.axisColor??`#000`,axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??`#222`,gridColor:e.wardley?.gridColor??`rgba(100, 100, 100, 0.2)`,componentFill:e.wardley?.componentFill??`#fff`,componentStroke:e.wardley?.componentStroke??`#000`,componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??`#222`,linkStroke:e.wardley?.linkStroke??`#000`,evolutionStroke:e.wardley?.evolutionStroke??`#dc3545`,annotationStroke:e.wardley?.annotationStroke??`#000`,annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??`#222`,annotationFill:e.wardley?.annotationFill??e.background??`#fff`}},`getTheme`),H=e(()=>{let e=c()[`wardley-beta`];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},`getConfigValues`),U={parser:b,db:z,renderer:{draw:e((r,a,o,s)=>{n.debug(`Rendering Wardley map
2
- `+r);let c=H(),l=V(),u=c.nodeRadius*1.6,d=s.db,f=d.getWardleyData(),p=d.getDiagramTitle(),m=f.size?.width??c.width,h=f.size?.height??c.height,g=i(a);g.selectAll(`*`).remove(),t(g,h,m,c.useMaxWidth),g.attr(`viewBox`,`0 0 ${m} ${h}`);let _=g.append(`g`).attr(`class`,`wardley-map`),v=g.append(`defs`);v.append(`marker`).attr(`id`,`arrow-${a}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto-start-reverse`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,l.evolutionStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-end-${a}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,l.linkStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-start-${a}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,1).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 10 0 L 0 5 L 10 10 z`).attr(`fill`,l.linkStroke).attr(`stroke`,`none`),_.append(`rect`).attr(`class`,`wardley-background`).attr(`width`,m).attr(`height`,h).attr(`fill`,l.backgroundColor);let y=m-c.padding*2,b=h-c.padding*2;p&&_.append(`text`).attr(`class`,`wardley-title`).attr(`x`,m/2).attr(`y`,c.padding/2).attr(`fill`,l.axisTextColor).attr(`font-size`,c.axisFontSize*1.05).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(p);let x=e(e=>c.padding+e/100*y,`projectX`),S=e(e=>h-c.padding-e/100*b,`projectY`),C=_.append(`g`).attr(`class`,`wardley-axes`);C.append(`line`).attr(`x1`,c.padding).attr(`x2`,m-c.padding).attr(`y1`,h-c.padding).attr(`y2`,h-c.padding).attr(`stroke`,l.axisColor).attr(`stroke-width`,1),C.append(`line`).attr(`x1`,c.padding).attr(`x2`,c.padding).attr(`y1`,c.padding).attr(`y2`,h-c.padding).attr(`stroke`,l.axisColor).attr(`stroke-width`,1);let w=f.axes.xLabel??`Evolution`,T=f.axes.yLabel??`Visibility`;C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-x`).attr(`x`,c.padding+y/2).attr(`y`,h-c.padding/4).attr(`fill`,l.axisTextColor).attr(`font-size`,c.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).text(w),C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-y`).attr(`x`,c.padding/3).attr(`y`,c.padding+b/2).attr(`fill`,l.axisTextColor).attr(`font-size`,c.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`transform`,`rotate(-90 ${c.padding/3} ${c.padding+b/2})`).text(T);let E=f.axes.stages&&f.axes.stages.length>0?f.axes.stages:B;if(E.length>0){let e=_.append(`g`).attr(`class`,`wardley-stages`),t=f.axes.stageBoundaries,n=[];if(t&&t.length===E.length){let e=0;t.forEach(t=>{n.push({start:e,end:t}),e=t})}else{let e=1/E.length;E.forEach((t,r)=>{n.push({start:r*e,end:(r+1)*e})})}E.forEach((t,r)=>{let i=n[r],a=c.padding+i.start*y,o=(a+(c.padding+i.end*y))/2;r>0&&e.append(`line`).attr(`x1`,a).attr(`x2`,a).attr(`y1`,c.padding).attr(`y2`,h-c.padding).attr(`stroke`,`#000`).attr(`stroke-width`,1).attr(`stroke-dasharray`,`5 5`).attr(`opacity`,.8),e.append(`text`).attr(`class`,`wardley-stage-label`).attr(`x`,o).attr(`y`,h-c.padding/1.5).attr(`fill`,l.axisTextColor).attr(`font-size`,c.axisFontSize-2).attr(`text-anchor`,`middle`).text(t)})}if(c.showGrid){let e=_.append(`g`).attr(`class`,`wardley-grid`);for(let t=1;t<4;t++){let n=t/4,r=c.padding+y*n;e.append(`line`).attr(`x1`,r).attr(`x2`,r).attr(`y1`,c.padding).attr(`y2`,h-c.padding).attr(`stroke`,l.gridColor).attr(`stroke-dasharray`,`2 6`),e.append(`line`).attr(`x1`,c.padding).attr(`x2`,m-c.padding).attr(`y1`,h-c.padding-b*n).attr(`y2`,h-c.padding-b*n).attr(`stroke`,l.gridColor).attr(`stroke-dasharray`,`2 6`)}}let D=new Map;if(f.nodes.forEach(e=>{D.set(e.id,{x:x(e.x),y:S(e.y),node:e})}),f.pipelines.length>0){let e=_.append(`g`).attr(`class`,`wardley-pipelines`),t=_.append(`g`).attr(`class`,`wardley-pipeline-links`);f.pipelines.forEach(n=>{if(n.componentIds.length===0)return;let r=n.componentIds.map(e=>({id:e,pos:D.get(e),node:f.nodes.find(t=>t.id===e)})).filter(e=>e.pos&&e.node).sort((e,t)=>e.node.x-t.node.x);for(let e=0;e<r.length-1;e++){let n=r[e],i=r[e+1];t.append(`line`).attr(`class`,`wardley-pipeline-evolution-link`).attr(`x1`,n.pos.x).attr(`y1`,n.pos.y).attr(`x2`,i.pos.x).attr(`y2`,i.pos.y).attr(`stroke`,l.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`)}let i=1/0,a=-1/0,o=0;if(n.componentIds.forEach(e=>{let t=D.get(e);t&&(i=Math.min(i,t.x),a=Math.max(a,t.x),o=t.y)}),i!==1/0&&a!==-1/0){let t=c.nodeRadius*4,r=o-t/2,s=D.get(n.nodeId);s&&(s.x=(i+a)/2,s.y=r-u/6),e.append(`rect`).attr(`class`,`wardley-pipeline-box`).attr(`x`,i-15).attr(`y`,r).attr(`width`,a-i+30).attr(`height`,t).attr(`fill`,`none`).attr(`stroke`,l.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}})}let O=_.append(`g`).attr(`class`,`wardley-links`),k=new Map;f.pipelines.forEach(e=>{k.set(e.nodeId,new Set(e.componentIds))});let A=f.links.filter(e=>!(!D.has(e.source)||!D.has(e.target)||k.get(e.target)?.has(e.source)));O.selectAll(`line`).data(A).enter().append(`line`).attr(`class`,e=>`wardley-link${e.dashed?` wardley-link--dashed`:``}`).attr(`x1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=f.nodes.find(t=>t.id===e.source).isPipelineParent?u/Math.sqrt(2):c.nodeRadius,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a);return t.x+i/o*r}).attr(`y1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=f.nodes.find(t=>t.id===e.source).isPipelineParent?u/Math.sqrt(2):c.nodeRadius,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a);return t.y+a/o*r}).attr(`x2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=f.nodes.find(t=>t.id===e.target).isPipelineParent?u/Math.sqrt(2):c.nodeRadius,i=t.x-n.x,a=t.y-n.y,o=Math.sqrt(i*i+a*a);return n.x+i/o*r}).attr(`y2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=f.nodes.find(t=>t.id===e.target).isPipelineParent?u/Math.sqrt(2):c.nodeRadius,i=t.x-n.x,a=t.y-n.y,o=Math.sqrt(i*i+a*a);return n.y+a/o*r}).attr(`stroke`,l.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,e=>e.dashed?`6 6`:null).attr(`marker-end`,e=>e.flow===`forward`||e.flow===`bidirectional`?`url(#link-arrow-end-${a})`:null).attr(`marker-start`,e=>e.flow===`backward`||e.flow===`bidirectional`?`url(#link-arrow-start-${a})`:null),O.selectAll(`text`).data(A.filter(e=>e.label)).enter().append(`text`).attr(`class`,`wardley-link-label`).attr(`x`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=n.y-t.y,a=n.x-t.x;return r+i/Math.sqrt(a*a+i*i)*8}).attr(`y`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.y+n.y)/2,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a);return r+-i/o*8}).attr(`fill`,l.axisTextColor).attr(`font-size`,c.labelFontSize).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`transform`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=(t.y+n.y)/2,a=n.x-t.x,o=n.y-t.y,s=Math.sqrt(a*a+o*o),c=o/s,l=-a/s,u=r+c*8,d=i+l*8,f=Math.atan2(o,a)*180/Math.PI;return(f>90||f<-90)&&(f+=180),`rotate(${f} ${u} ${d})`}).text(e=>e.label);let j=_.append(`g`).attr(`class`,`wardley-trends`),M=f.trends.map(e=>{let t=D.get(e.nodeId);if(!t)return null;let n=x(e.targetX),r=S(e.targetY),i=n-t.x,a=r-t.y,o=Math.sqrt(i*i+a*a),s=c.nodeRadius+2;return{origin:t,targetX:n,targetY:r,adjustedX2:o>s?n-i/o*s:n,adjustedY2:o>s?r-a/o*s:r}}).filter(e=>e!==null);j.selectAll(`line`).data(M).enter().append(`line`).attr(`class`,`wardley-trend`).attr(`x1`,e=>e.origin.x).attr(`y1`,e=>e.origin.y).attr(`x2`,e=>e.adjustedX2).attr(`y2`,e=>e.adjustedY2).attr(`stroke`,l.evolutionStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`).attr(`marker-end`,`url(#arrow-${a})`);let N=_.append(`g`).attr(`class`,`wardley-nodes`).selectAll(`g`).data(f.nodes).enter().append(`g`).attr(`class`,e=>[`wardley-node`,e.className?`wardley-node--${e.className}`:``].filter(Boolean).join(` `));N.filter(e=>e.sourceStrategy===`outsource`).append(`circle`).attr(`class`,`wardley-outsource-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,c.nodeRadius*2).attr(`fill`,`#666`).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`buy`).append(`circle`).attr(`class`,`wardley-buy-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,c.nodeRadius*2).attr(`fill`,`#ccc`).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`build`).append(`circle`).attr(`class`,`wardley-build-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,c.nodeRadius*2).attr(`fill`,`#eee`).attr(`stroke`,`#000`).attr(`stroke-width`,1);let P=N.filter(e=>e.sourceStrategy===`market`);P.append(`circle`).attr(`class`,`wardley-market-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,c.nodeRadius*2).attr(`fill`,`white`).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),N.filter(e=>!e.isPipelineParent&&e.sourceStrategy!==`market`&&e.className!==`anchor`).append(`circle`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,c.nodeRadius).attr(`fill`,l.componentFill).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1);let F=c.nodeRadius*.7,I=c.nodeRadius*1.2;if(P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x).attr(`y1`,e=>D.get(e.id).y-I).attr(`x2`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x).attr(`y2`,e=>D.get(e.id).y-I).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y-I).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,l.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,l.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,l.componentStroke).attr(`stroke-width`,2),N.filter(e=>e.isPipelineParent===!0).append(`rect`).attr(`x`,e=>D.get(e.id).x-u/2).attr(`y`,e=>D.get(e.id).y-u/2).attr(`width`,u).attr(`height`,u).attr(`fill`,l.componentFill).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.inertia===!0).append(`line`).attr(`class`,`wardley-inertia`).attr(`x1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?u/2+15:c.nodeRadius+15;return e.sourceStrategy&&(n+=c.nodeRadius+10),t.x+n}).attr(`y1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?u:c.nodeRadius*2;return t.y-n/2}).attr(`x2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?u/2+15:c.nodeRadius+15;return e.sourceStrategy&&(n+=c.nodeRadius+10),t.x+n}).attr(`y2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?u:c.nodeRadius*2;return t.y+n/2}).attr(`stroke`,l.componentStroke).attr(`stroke-width`,6),N.append(`text`).attr(`x`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetX===void 0?t.x:t.x+e.labelOffsetX;let n=c.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetX===void 0&&(n+=10);let r=e.labelOffsetX??n;return t.x+r}).attr(`y`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetY===void 0?t.y-3:t.y+e.labelOffsetY;let n=-c.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetY===void 0&&(n-=10);let r=e.labelOffsetY??n;return t.y+r}).attr(`class`,`wardley-node-label`).attr(`fill`,e=>e.className===`evolved`?l.evolutionStroke:e.className===`anchor`?`#000`:l.componentLabelColor).attr(`font-size`,c.labelFontSize).attr(`font-weight`,e=>e.className===`anchor`?`bold`:`normal`).attr(`text-anchor`,e=>e.className===`anchor`?`middle`:`start`).attr(`dominant-baseline`,e=>e.className===`anchor`?`middle`:`auto`).text(e=>e.label),f.annotations.length>0){let e=_.append(`g`).attr(`class`,`wardley-annotations`);if(f.annotations.forEach(t=>{let n=t.coordinates.map(e=>({x:x(e.x),y:S(e.y)}));if(n.length>1)for(let t=0;t<n.length-1;t++)e.append(`line`).attr(`class`,`wardley-annotation-line`).attr(`x1`,n[t].x).attr(`y1`,n[t].y).attr(`x2`,n[t+1].x).attr(`y2`,n[t+1].y).attr(`stroke`,l.axisColor).attr(`stroke-width`,1.5).attr(`stroke-dasharray`,`4 4`);n.forEach(n=>{let r=e.append(`g`).attr(`class`,`wardley-annotation`);r.append(`circle`).attr(`cx`,n.x).attr(`cy`,n.y).attr(`r`,10).attr(`fill`,`white`).attr(`stroke`,l.axisColor).attr(`stroke-width`,1.5),r.append(`text`).attr(`x`,n.x).attr(`y`,n.y).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,10).attr(`fill`,l.axisTextColor).attr(`font-weight`,`bold`).text(t.number)})}),f.annotationsBox){let t=x(f.annotationsBox.x),n=S(f.annotationsBox.y),r=e.append(`g`).attr(`class`,`wardley-annotations-box`),i=[...f.annotations].filter(e=>e.text).sort((e,t)=>e.number-t.number),a=[];if(i.forEach((e,i)=>{let o=r.append(`text`).attr(`x`,t+10).attr(`y`,n+10+(i+1)*16).attr(`font-size`,11).attr(`fill`,l.axisTextColor).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`middle`).text(`${e.number}. ${e.text}`);a.push(o)}),a.length>0){let e=0,o=0;a.forEach(t=>{let n=t.node(),r=n.getComputedTextLength();e=Math.max(e,r);let i=n.getBBox();o=Math.max(o,i.height)});let s=e+20+105,u=i.length*16+20+o/2,d=c.padding,f=m-c.padding-s,p=c.padding,g=h-c.padding-u;t=Math.max(d,Math.min(t,f)),n=Math.max(p,Math.min(n,g)),a.forEach((e,r)=>{e.attr(`x`,t+10).attr(`y`,n+10+(r+1)*16)}),r.insert(`rect`,`text`).attr(`x`,t).attr(`y`,n).attr(`width`,s).attr(`height`,u).attr(`fill`,`white`).attr(`stroke`,l.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}}}if(f.notes.length>0){let e=_.append(`g`).attr(`class`,`wardley-notes`);f.notes.forEach(t=>{let n=x(t.x),r=S(t.y);e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,`start`).attr(`font-size`,11).attr(`fill`,l.axisTextColor).attr(`font-weight`,`bold`).text(t.text)})}if(f.accelerators.length>0){let e=_.append(`g`).attr(`class`,`wardley-accelerators`);f.accelerators.forEach(t=>{let n=x(t.x),r=S(t.y),i=`
3
- M ${n} ${r-30/2}
4
- L ${n+60-20} ${r-30/2}
5
- L ${n+60-20} ${r-30/2-8}
6
- L ${n+60} ${r}
7
- L ${n+60-20} ${r+30/2+8}
8
- L ${n+60-20} ${r+30/2}
9
- L ${n} ${r+30/2}
10
- Z
11
- `;e.append(`path`).attr(`d`,i).attr(`fill`,`white`).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),e.append(`text`).attr(`x`,n+60/2).attr(`y`,r+30/2+15).attr(`text-anchor`,`middle`).attr(`font-size`,10).attr(`fill`,l.axisTextColor).attr(`font-weight`,`bold`).text(t.name)})}if(f.deaccelerators.length>0){let e=_.append(`g`).attr(`class`,`wardley-deaccelerators`);f.deaccelerators.forEach(t=>{let n=x(t.x),r=S(t.y),i=`
12
- M ${n+60} ${r-30/2}
13
- L ${n+20} ${r-30/2}
14
- L ${n+20} ${r-30/2-8}
15
- L ${n} ${r}
16
- L ${n+20} ${r+30/2+8}
17
- L ${n+20} ${r+30/2}
18
- L ${n+60} ${r+30/2}
19
- Z
20
- `;e.append(`path`).attr(`d`,i).attr(`fill`,`white`).attr(`stroke`,l.componentStroke).attr(`stroke-width`,1),e.append(`text`).attr(`x`,n+60/2).attr(`y`,r+30/2+15).attr(`text-anchor`,`middle`).attr(`font-size`,10).attr(`fill`,l.axisTextColor).attr(`font-weight`,`bold`).text(t.name)})}},`draw`)},styles:e(()=>``,`styles`)};export{U as diagram};