jekyll-ham 1.0.2 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (369) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -6
  3. data/_layouts/default.html +6 -0
  4. data/_layouts/page.html +1 -1
  5. data/assets/bootstrap-icons.min.css +3 -3
  6. data/assets/fonts/bootstrap-icons.woff +0 -0
  7. data/assets/fonts/bootstrap-icons.woff2 +0 -0
  8. data/assets/mermaid/Diagram.d.ts +33 -0
  9. data/assets/mermaid/Tableau10-31042135.js +10 -0
  10. data/assets/mermaid/Tableau10-558cc280.js +9 -0
  11. data/assets/mermaid/__mocks__/mermaidAPI.d.ts +13 -0
  12. data/assets/mermaid/accessibility.d.ts +27 -0
  13. data/assets/mermaid/accessibility.spec.d.ts +1 -0
  14. data/assets/mermaid/arc-c0f908ab.js +148 -0
  15. data/assets/mermaid/arc-d1f6357e.js +86 -0
  16. data/assets/mermaid/array-2ff2c7a6.js +6 -0
  17. data/assets/mermaid/array-b7dcf730.js +6 -0
  18. data/assets/mermaid/assignWithDepth.d.ts +30 -0
  19. data/assets/mermaid/blockDiagram-5dc23a45.js +1230 -0
  20. data/assets/mermaid/blockDiagram-9f4a6865.js +1822 -0
  21. data/assets/mermaid/blockDiagram-efe38566.js +1818 -0
  22. data/assets/mermaid/c4Diagram-1e775db3.js +1579 -0
  23. data/assets/mermaid/c4Diagram-ae766693.js +2473 -0
  24. data/assets/mermaid/c4Diagram-af207393.js +2463 -0
  25. data/assets/mermaid/channel-ebbc4130.js +5 -0
  26. data/assets/mermaid/channel-f9001828.js +8 -0
  27. data/assets/mermaid/classDiagram-72b9c71d.js +356 -0
  28. data/assets/mermaid/classDiagram-f52caa06.js +220 -0
  29. data/assets/mermaid/classDiagram-fb54d2a0.js +363 -0
  30. data/assets/mermaid/classDiagram-v2-640c694e.js +206 -0
  31. data/assets/mermaid/classDiagram-v2-a2b738ad.js +298 -0
  32. data/assets/mermaid/classDiagram-v2-fedb80f6.js +290 -0
  33. data/assets/mermaid/clone-9ea6bfeb.js +8 -0
  34. data/assets/mermaid/clone-afc2f047.js +8 -0
  35. data/assets/mermaid/config.d.ts +98 -0
  36. data/assets/mermaid/config.spec.d.ts +1 -0
  37. data/assets/mermaid/config.type.d.ts +1534 -0
  38. data/assets/mermaid/createText-03b82060.js +2966 -0
  39. data/assets/mermaid/createText-b70fe78a.js +4929 -0
  40. data/assets/mermaid/createText-ca0c5216.js +251 -0
  41. data/assets/mermaid/dagre-wrapper/blockArrowHelper.d.ts +8 -0
  42. data/assets/mermaid/dagre-wrapper/clusters.d.ts +4 -0
  43. data/assets/mermaid/dagre-wrapper/createLabel.d.ts +9 -0
  44. data/assets/mermaid/dagre-wrapper/edgeMarker.d.ts +12 -0
  45. data/assets/mermaid/dagre-wrapper/edgeMarker.spec.d.ts +1 -0
  46. data/assets/mermaid/dagre-wrapper/edges.d.ts +14 -0
  47. data/assets/mermaid/dagre-wrapper/index.d.ts +1 -0
  48. data/assets/mermaid/dagre-wrapper/intersect/index.d.ts +13 -0
  49. data/assets/mermaid/dagre-wrapper/intersect/intersect-circle.d.ts +10 -0
  50. data/assets/mermaid/dagre-wrapper/intersect/intersect-ellipse.d.ts +11 -0
  51. data/assets/mermaid/dagre-wrapper/intersect/intersect-line.d.ts +13 -0
  52. data/assets/mermaid/dagre-wrapper/intersect/intersect-node.d.ts +6 -0
  53. data/assets/mermaid/dagre-wrapper/intersect/intersect-polygon.d.ts +10 -0
  54. data/assets/mermaid/dagre-wrapper/intersect/intersect-rect.d.ts +5 -0
  55. data/assets/mermaid/dagre-wrapper/markers.d.ts +2 -0
  56. data/assets/mermaid/dagre-wrapper/mermaid-graphlib.d.ts +8 -0
  57. data/assets/mermaid/dagre-wrapper/nodes.d.ts +4 -0
  58. data/assets/mermaid/dagre-wrapper/shapes/note.d.ts +2 -0
  59. data/assets/mermaid/dagre-wrapper/shapes/util.d.ts +14 -0
  60. data/assets/mermaid/defaultConfig.d.ts +12 -0
  61. data/assets/mermaid/diagram-api/comments.d.ts +6 -0
  62. data/assets/mermaid/diagram-api/comments.spec.d.ts +1 -0
  63. data/assets/mermaid/diagram-api/detectType.d.ts +42 -0
  64. data/assets/mermaid/diagram-api/diagram-orchestration.d.ts +1 -0
  65. data/assets/mermaid/diagram-api/diagram-orchestration.spec.d.ts +1 -0
  66. data/assets/mermaid/diagram-api/diagramAPI.d.ts +31 -0
  67. data/assets/mermaid/diagram-api/diagramAPI.spec.d.ts +1 -0
  68. data/assets/mermaid/diagram-api/frontmatter.d.ts +18 -0
  69. data/assets/mermaid/diagram-api/frontmatter.spec.d.ts +1 -0
  70. data/assets/mermaid/diagram-api/loadDiagram.d.ts +1 -0
  71. data/assets/mermaid/diagram-api/regexes.d.ts +3 -0
  72. data/assets/mermaid/diagram-api/types.d.ts +84 -0
  73. data/assets/mermaid/diagram.spec.d.ts +1 -0
  74. data/assets/mermaid/diagrams/block/blockDB.d.ts +54 -0
  75. data/assets/mermaid/diagrams/block/blockDetector.d.ts +3 -0
  76. data/assets/mermaid/diagrams/block/blockDiagram.d.ts +2 -0
  77. data/assets/mermaid/diagrams/block/blockRenderer.d.ts +15 -0
  78. data/assets/mermaid/diagrams/block/blockTypes.d.ts +36 -0
  79. data/assets/mermaid/diagrams/block/blockUtils.d.ts +1 -0
  80. data/assets/mermaid/diagrams/block/layout.d.ts +13 -0
  81. data/assets/mermaid/diagrams/block/layout.spec.d.ts +1 -0
  82. data/assets/mermaid/diagrams/block/parser/block.spec.d.ts +1 -0
  83. data/assets/mermaid/diagrams/block/renderHelpers.d.ts +10 -0
  84. data/assets/mermaid/diagrams/block/styles.d.ts +18 -0
  85. data/assets/mermaid/diagrams/c4/c4Db.d.ts +127 -0
  86. data/assets/mermaid/diagrams/c4/c4Detector.d.ts +3 -0
  87. data/assets/mermaid/diagrams/c4/c4Diagram.d.ts +2 -0
  88. data/assets/mermaid/diagrams/c4/c4Renderer.d.ts +12 -0
  89. data/assets/mermaid/diagrams/c4/styles.d.ts +2 -0
  90. data/assets/mermaid/diagrams/c4/svgDraw.d.ts +36 -0
  91. data/assets/mermaid/diagrams/class/classDb.d.ts +144 -0
  92. data/assets/mermaid/diagrams/class/classDetector-V2.d.ts +3 -0
  93. data/assets/mermaid/diagrams/class/classDetector.d.ts +3 -0
  94. data/assets/mermaid/diagrams/class/classDiagram-v2.d.ts +2 -0
  95. data/assets/mermaid/diagrams/class/classDiagram.d.ts +2 -0
  96. data/assets/mermaid/diagrams/class/classDiagram.spec.d.ts +1 -0
  97. data/assets/mermaid/diagrams/class/classRenderer-v2.d.ts +57 -0
  98. data/assets/mermaid/diagrams/class/classRenderer.d.ts +5 -0
  99. data/assets/mermaid/diagrams/class/classTypes.d.ts +78 -0
  100. data/assets/mermaid/diagrams/class/classTypes.spec.d.ts +1 -0
  101. data/assets/mermaid/diagrams/class/styles.d.ts +2 -0
  102. data/assets/mermaid/diagrams/class/svgDraw.d.ts +25 -0
  103. data/assets/mermaid/diagrams/common/common.d.ts +110 -0
  104. data/assets/mermaid/diagrams/common/common.spec.d.ts +1 -0
  105. data/assets/mermaid/diagrams/common/commonDb.d.ts +7 -0
  106. data/assets/mermaid/diagrams/common/commonTypes.d.ts +51 -0
  107. data/assets/mermaid/diagrams/common/svgDrawCommon.d.ts +15 -0
  108. data/assets/mermaid/diagrams/er/erDb.d.ts +49 -0
  109. data/assets/mermaid/diagrams/er/erDetector.d.ts +3 -0
  110. data/assets/mermaid/diagrams/er/erDiagram.d.ts +34 -0
  111. data/assets/mermaid/diagrams/er/erMarkers.d.ts +24 -0
  112. data/assets/mermaid/diagrams/er/erRenderer.d.ts +19 -0
  113. data/assets/mermaid/diagrams/er/erRenderer.spec.d.ts +1 -0
  114. data/assets/mermaid/diagrams/er/styles.d.ts +2 -0
  115. data/assets/mermaid/diagrams/error/errorDiagram.d.ts +3 -0
  116. data/assets/mermaid/diagrams/error/errorRenderer.d.ts +12 -0
  117. data/assets/mermaid/diagrams/flowchart/elk/detector.d.ts +3 -0
  118. data/assets/mermaid/diagrams/flowchart/elk/detector.spec.d.ts +1 -0
  119. data/assets/mermaid/diagrams/flowchart/elk/flowRenderer-elk.d.ts +10 -0
  120. data/assets/mermaid/diagrams/flowchart/elk/flowchart-elk-definition.d.ts +10 -0
  121. data/assets/mermaid/diagrams/flowchart/elk/render-utils.d.ts +5 -0
  122. data/assets/mermaid/diagrams/flowchart/elk/render-utils.spec.d.ts +1 -0
  123. data/assets/mermaid/diagrams/flowchart/elk/styles.d.ts +19 -0
  124. data/assets/mermaid/diagrams/flowchart/flowChartShapes.d.ts +9 -0
  125. data/assets/mermaid/diagrams/flowchart/flowDb.d.ts +87 -0
  126. data/assets/mermaid/diagrams/flowchart/flowDetector-v2.d.ts +3 -0
  127. data/assets/mermaid/diagrams/flowchart/flowDetector.d.ts +3 -0
  128. data/assets/mermaid/diagrams/flowchart/flowDiagram-v2.d.ts +57 -0
  129. data/assets/mermaid/diagrams/flowchart/flowDiagram.d.ts +57 -0
  130. data/assets/mermaid/diagrams/flowchart/flowRenderer-v2.d.ts +13 -0
  131. data/assets/mermaid/diagrams/flowchart/flowRenderer.d.ts +13 -0
  132. data/assets/mermaid/diagrams/flowchart/styles.d.ts +18 -0
  133. data/assets/mermaid/diagrams/gantt/ganttDb.d.ts +106 -0
  134. data/assets/mermaid/diagrams/gantt/ganttDb.spec.d.ts +1 -0
  135. data/assets/mermaid/diagrams/gantt/ganttDetector.d.ts +3 -0
  136. data/assets/mermaid/diagrams/gantt/ganttDiagram.d.ts +2 -0
  137. data/assets/mermaid/diagrams/gantt/ganttRenderer.d.ts +7 -0
  138. data/assets/mermaid/diagrams/gantt/styles.d.ts +2 -0
  139. data/assets/mermaid/diagrams/git/gitGraphAst.d.ts +61 -0
  140. data/assets/mermaid/diagrams/git/gitGraphDetector.d.ts +3 -0
  141. data/assets/mermaid/diagrams/git/gitGraphDiagram.d.ts +2 -0
  142. data/assets/mermaid/diagrams/git/gitGraphRenderer.d.ts +5 -0
  143. data/assets/mermaid/diagrams/git/styles.d.ts +2 -0
  144. data/assets/mermaid/diagrams/info/info.spec.d.ts +1 -0
  145. data/assets/mermaid/diagrams/info/infoDb.d.ts +5 -0
  146. data/assets/mermaid/diagrams/info/infoDetector.d.ts +2 -0
  147. data/assets/mermaid/diagrams/info/infoDiagram.d.ts +2 -0
  148. data/assets/mermaid/diagrams/info/infoRenderer.d.ts +4 -0
  149. data/assets/mermaid/diagrams/info/infoTypes.d.ts +9 -0
  150. data/assets/mermaid/diagrams/mindmap/detector.d.ts +3 -0
  151. data/assets/mermaid/diagrams/mindmap/mindmap-definition.d.ts +2 -0
  152. data/assets/mermaid/diagrams/mindmap/mindmap.spec.d.ts +1 -0
  153. data/assets/mermaid/diagrams/mindmap/mindmapDb.d.ts +30 -0
  154. data/assets/mermaid/diagrams/mindmap/mindmapRenderer.d.ts +21 -0
  155. data/assets/mermaid/diagrams/mindmap/mindmapTypes.d.ts +20 -0
  156. data/assets/mermaid/diagrams/mindmap/styles.d.ts +3 -0
  157. data/assets/mermaid/diagrams/mindmap/svgDraw.d.ts +13 -0
  158. data/assets/mermaid/diagrams/pie/pie.spec.d.ts +1 -0
  159. data/assets/mermaid/diagrams/pie/pieDb.d.ts +6 -0
  160. data/assets/mermaid/diagrams/pie/pieDetector.d.ts +2 -0
  161. data/assets/mermaid/diagrams/pie/pieDiagram.d.ts +2 -0
  162. data/assets/mermaid/diagrams/pie/pieRenderer.d.ts +13 -0
  163. data/assets/mermaid/diagrams/pie/pieStyles.d.ts +3 -0
  164. data/assets/mermaid/diagrams/pie/pieTypes.d.ts +53 -0
  165. data/assets/mermaid/diagrams/quadrant-chart/parser/quadrant.jison.spec.d.ts +1 -0
  166. data/assets/mermaid/diagrams/quadrant-chart/quadrantBuilder.d.ts +118 -0
  167. data/assets/mermaid/diagrams/quadrant-chart/quadrantDb.d.ts +38 -0
  168. data/assets/mermaid/diagrams/quadrant-chart/quadrantDetector.d.ts +3 -0
  169. data/assets/mermaid/diagrams/quadrant-chart/quadrantDiagram.d.ts +2 -0
  170. data/assets/mermaid/diagrams/quadrant-chart/quadrantRenderer.d.ts +6 -0
  171. data/assets/mermaid/diagrams/requirement/requirementDb.d.ts +70 -0
  172. data/assets/mermaid/diagrams/requirement/requirementDetector.d.ts +3 -0
  173. data/assets/mermaid/diagrams/requirement/requirementDiagram.d.ts +2 -0
  174. data/assets/mermaid/diagrams/requirement/requirementMarkers.d.ts +10 -0
  175. data/assets/mermaid/diagrams/requirement/requirementRenderer.d.ts +7 -0
  176. data/assets/mermaid/diagrams/requirement/styles.d.ts +2 -0
  177. data/assets/mermaid/diagrams/sankey/parser/sankey.spec.d.ts +1 -0
  178. data/assets/mermaid/diagrams/sankey/sankeyDB.d.ts +36 -0
  179. data/assets/mermaid/diagrams/sankey/sankeyDetector.d.ts +3 -0
  180. data/assets/mermaid/diagrams/sankey/sankeyDiagram.d.ts +2 -0
  181. data/assets/mermaid/diagrams/sankey/sankeyRenderer.d.ts +14 -0
  182. data/assets/mermaid/diagrams/sankey/sankeyUtils.d.ts +1 -0
  183. data/assets/mermaid/diagrams/sequence/sequenceDb.d.ts +153 -0
  184. data/assets/mermaid/diagrams/sequence/sequenceDetector.d.ts +3 -0
  185. data/assets/mermaid/diagrams/sequence/sequenceDiagram.d.ts +2 -0
  186. data/assets/mermaid/diagrams/sequence/sequenceRenderer.d.ts +202 -0
  187. data/assets/mermaid/diagrams/sequence/styles.d.ts +2 -0
  188. data/assets/mermaid/diagrams/sequence/svgDraw.d.ts +73 -0
  189. data/assets/mermaid/diagrams/state/id-cache.d.ts +11 -0
  190. data/assets/mermaid/diagrams/state/shapes.d.ts +14 -0
  191. data/assets/mermaid/diagrams/state/stateCommon.d.ts +22 -0
  192. data/assets/mermaid/diagrams/state/stateDb.d.ts +91 -0
  193. data/assets/mermaid/diagrams/state/stateDetector-V2.d.ts +3 -0
  194. data/assets/mermaid/diagrams/state/stateDetector.d.ts +3 -0
  195. data/assets/mermaid/diagrams/state/stateDiagram-v2.d.ts +2 -0
  196. data/assets/mermaid/diagrams/state/stateDiagram.d.ts +2 -0
  197. data/assets/mermaid/diagrams/state/stateRenderer-v2.d.ts +20 -0
  198. data/assets/mermaid/diagrams/state/stateRenderer.d.ts +7 -0
  199. data/assets/mermaid/diagrams/state/styles.d.ts +2 -0
  200. data/assets/mermaid/diagrams/timeline/detector.d.ts +3 -0
  201. data/assets/mermaid/diagrams/timeline/styles.d.ts +2 -0
  202. data/assets/mermaid/diagrams/timeline/svgDraw.d.ts +46 -0
  203. data/assets/mermaid/diagrams/timeline/timeline-definition.d.ts +10 -0
  204. data/assets/mermaid/diagrams/timeline/timelineDb.d.ts +20 -0
  205. data/assets/mermaid/diagrams/timeline/timelineRenderer.d.ts +19 -0
  206. data/assets/mermaid/diagrams/user-journey/journeyDb.d.ts +30 -0
  207. data/assets/mermaid/diagrams/user-journey/journeyDetector.d.ts +3 -0
  208. data/assets/mermaid/diagrams/user-journey/journeyDiagram.d.ts +2 -0
  209. data/assets/mermaid/diagrams/user-journey/journeyRenderer.d.ts +30 -0
  210. data/assets/mermaid/diagrams/user-journey/styles.d.ts +2 -0
  211. data/assets/mermaid/diagrams/user-journey/svgDraw.d.ts +20 -0
  212. data/assets/mermaid/diagrams/xychart/chartBuilder/components/axis/bandAxis.d.ts +12 -0
  213. data/assets/mermaid/diagrams/xychart/chartBuilder/components/axis/baseAxis.d.ts +38 -0
  214. data/assets/mermaid/diagrams/xychart/chartBuilder/components/axis/index.d.ts +12 -0
  215. data/assets/mermaid/diagrams/xychart/chartBuilder/components/axis/linearAxis.d.ts +11 -0
  216. data/assets/mermaid/diagrams/xychart/chartBuilder/components/chartTitle.d.ts +16 -0
  217. data/assets/mermaid/diagrams/xychart/chartBuilder/components/plot/barPlot.d.ts +12 -0
  218. data/assets/mermaid/diagrams/xychart/chartBuilder/components/plot/index.d.ts +20 -0
  219. data/assets/mermaid/diagrams/xychart/chartBuilder/components/plot/linePlot.d.ts +11 -0
  220. data/assets/mermaid/diagrams/xychart/chartBuilder/index.d.ts +5 -0
  221. data/assets/mermaid/diagrams/xychart/chartBuilder/interfaces.d.ts +132 -0
  222. data/assets/mermaid/diagrams/xychart/chartBuilder/orchestrator.d.ts +12 -0
  223. data/assets/mermaid/diagrams/xychart/chartBuilder/textDimensionCalculator.d.ts +10 -0
  224. data/assets/mermaid/diagrams/xychart/parser/xychart.jison.spec.d.ts +1 -0
  225. data/assets/mermaid/diagrams/xychart/xychartDb.d.ts +40 -0
  226. data/assets/mermaid/diagrams/xychart/xychartDetector.d.ts +3 -0
  227. data/assets/mermaid/diagrams/xychart/xychartDiagram.d.ts +2 -0
  228. data/assets/mermaid/diagrams/xychart/xychartRenderer.d.ts +6 -0
  229. data/assets/mermaid/docs/vite.config.d.ts +2 -0
  230. data/assets/mermaid/edges-066a5561.js +1840 -0
  231. data/assets/mermaid/edges-16357fde.js +1083 -0
  232. data/assets/mermaid/edges-ce5cfb7c.js +1840 -0
  233. data/assets/mermaid/erDiagram-09d1c15f.js +1176 -0
  234. data/assets/mermaid/erDiagram-543717f2.js +1321 -0
  235. data/assets/mermaid/erDiagram-c7ff1bec.js +931 -0
  236. data/assets/mermaid/errors.d.ts +3 -0
  237. data/assets/mermaid/flowDb-9a89ea33.js +1126 -0
  238. data/assets/mermaid/flowDb-ba9bd7fa.js +1713 -0
  239. data/assets/mermaid/flowDb-c1833063.js +1714 -0
  240. data/assets/mermaid/flowDiagram-aadb13b0.js +797 -0
  241. data/assets/mermaid/flowDiagram-b222e15a.js +614 -0
  242. data/assets/mermaid/flowDiagram-b5e7ba30.js +1278 -0
  243. data/assets/mermaid/flowDiagram-v2-13329dc7.js +40 -0
  244. data/assets/mermaid/flowDiagram-v2-54711e03.js +32 -0
  245. data/assets/mermaid/flowDiagram-v2-f2119625.js +25 -0
  246. data/assets/mermaid/flowchart-elk-definition-2d49707c.js +93397 -0
  247. data/assets/mermaid/flowchart-elk-definition-ae0efee6.js +814 -0
  248. data/assets/mermaid/flowchart-elk-definition-cf813a97.js +48407 -0
  249. data/assets/mermaid/ganttDiagram-12cf43db.js +3445 -0
  250. data/assets/mermaid/ganttDiagram-3c2fde2b.js +2501 -0
  251. data/assets/mermaid/ganttDiagram-b62c793e.js +2061 -0
  252. data/assets/mermaid/gitGraphDiagram-942e62fe.js +1800 -0
  253. data/assets/mermaid/gitGraphDiagram-b9392a12.js +1790 -0
  254. data/assets/mermaid/gitGraphDiagram-c3a0619c.js +1264 -0
  255. data/assets/mermaid/graph-0ee63739.js +881 -0
  256. data/assets/mermaid/graph-fe24fab6.js +1285 -0
  257. data/assets/mermaid/index-01f381cb.js +622 -0
  258. data/assets/mermaid/index-bb6d8841.js +373 -0
  259. data/assets/mermaid/index-fc479858.js +663 -0
  260. data/assets/mermaid/infoDiagram-2f5c50c0.js +319 -0
  261. data/assets/mermaid/infoDiagram-94cd232f.js +520 -0
  262. data/assets/mermaid/infoDiagram-d0d5c9bd.js +510 -0
  263. data/assets/mermaid/init-cc95ec8e.js +16 -0
  264. data/assets/mermaid/init-f9637058.js +16 -0
  265. data/assets/mermaid/interactionDb.d.ts +2 -0
  266. data/assets/mermaid/journeyDiagram-14fe341a.js +804 -0
  267. data/assets/mermaid/journeyDiagram-6625b456.js +1191 -0
  268. data/assets/mermaid/journeyDiagram-b56e6921.js +1183 -0
  269. data/assets/mermaid/katex-d90b6d29.js +11624 -0
  270. data/assets/mermaid/katex-ffb0e8f1.js +14432 -0
  271. data/assets/mermaid/layout-163b9689.js +2314 -0
  272. data/assets/mermaid/layout-fd473db2.js +1536 -0
  273. data/assets/mermaid/line-24d93f1b.js +34 -0
  274. data/assets/mermaid/line-87f517ef.js +50 -0
  275. data/assets/mermaid/linear-0ad15847.js +595 -0
  276. data/assets/mermaid/linear-9bcf74c4.js +447 -0
  277. data/assets/mermaid/logger.d.ts +9 -0
  278. data/assets/mermaid/mermaid-6dc72991.js +6461 -0
  279. data/assets/mermaid/mermaid-9f2aa176.js +8112 -0
  280. data/assets/mermaid/mermaid-dcacb631.js +12793 -0
  281. data/assets/mermaid/mermaid.core.mjs +14 -0
  282. data/assets/mermaid/mermaid.d.ts +146 -0
  283. data/assets/mermaid/mermaid.esm.min.mjs +4 -0
  284. data/assets/mermaid/mermaid.esm.mjs +4 -0
  285. data/assets/mermaid/mermaid.js +195755 -0
  286. data/assets/mermaid/mermaid.min.js +2029 -0
  287. data/assets/mermaid/mermaid.spec.d.ts +1 -0
  288. data/assets/mermaid/mermaidAPI.d.ts +170 -0
  289. data/assets/mermaid/mermaidAPI.spec.d.ts +1 -0
  290. data/assets/mermaid/mindmap-definition-307c710a.js +1177 -0
  291. data/assets/mermaid/mindmap-definition-696ddea4.js +32342 -0
  292. data/assets/mermaid/mindmap-definition-9399c7e6.js +18760 -0
  293. data/assets/mermaid/ordinal-475e0c0c.js +82 -0
  294. data/assets/mermaid/ordinal-5695958c.js +65 -0
  295. data/assets/mermaid/path-39bad7e2.js +118 -0
  296. data/assets/mermaid/path-428ebac9.js +91 -0
  297. data/assets/mermaid/pieDiagram-828dae43.js +502 -0
  298. data/assets/mermaid/pieDiagram-bb1d19e5.js +722 -0
  299. data/assets/mermaid/pieDiagram-e854eaf0.js +772 -0
  300. data/assets/mermaid/preprocess.d.ts +10 -0
  301. data/assets/mermaid/quadrantDiagram-25a9848b.js +1199 -0
  302. data/assets/mermaid/quadrantDiagram-5fa00455.js +904 -0
  303. data/assets/mermaid/quadrantDiagram-c759a472.js +1207 -0
  304. data/assets/mermaid/rendering-util/createText.d.ts +11 -0
  305. data/assets/mermaid/rendering-util/handle-markdown-text.d.ts +6 -0
  306. data/assets/mermaid/rendering-util/handle-markdown-text.spec.d.ts +1 -0
  307. data/assets/mermaid/rendering-util/selectSvgElement.d.ts +8 -0
  308. data/assets/mermaid/rendering-util/splitText.d.ts +24 -0
  309. data/assets/mermaid/rendering-util/splitText.spec.d.ts +1 -0
  310. data/assets/mermaid/rendering-util/uid.d.ts +8 -0
  311. data/assets/mermaid/requirementDiagram-03163dc4.js +769 -0
  312. data/assets/mermaid/requirementDiagram-87253d64.js +1098 -0
  313. data/assets/mermaid/requirementDiagram-a721e157.js +1091 -0
  314. data/assets/mermaid/sankeyDiagram-33525efb.js +1198 -0
  315. data/assets/mermaid/sankeyDiagram-52ec8976.js +818 -0
  316. data/assets/mermaid/sankeyDiagram-707fac0f.js +660 -0
  317. data/assets/mermaid/sequenceDiagram-6894f283.js +3346 -0
  318. data/assets/mermaid/sequenceDiagram-9813c129.js +3336 -0
  319. data/assets/mermaid/sequenceDiagram-b517d154.js +2234 -0
  320. data/assets/mermaid/setupGraphViewbox.d.ts +3 -0
  321. data/assets/mermaid/stateDiagram-5dee940d.js +474 -0
  322. data/assets/mermaid/stateDiagram-5ec31577.js +467 -0
  323. data/assets/mermaid/stateDiagram-fca82b5b.js +275 -0
  324. data/assets/mermaid/stateDiagram-v2-1992cada.js +333 -0
  325. data/assets/mermaid/stateDiagram-v2-992e82a1.js +325 -0
  326. data/assets/mermaid/stateDiagram-v2-ed04200a.js +190 -0
  327. data/assets/mermaid/styles-0784dbeb.js +1363 -0
  328. data/assets/mermaid/styles-11e81fdd.js +1089 -0
  329. data/assets/mermaid/styles-36a1a2e8.js +1483 -0
  330. data/assets/mermaid/styles-483fbfea.js +509 -0
  331. data/assets/mermaid/styles-727cdd61.js +571 -0
  332. data/assets/mermaid/styles-b83b31c9.js +1484 -0
  333. data/assets/mermaid/styles-cacbff60.js +960 -0
  334. data/assets/mermaid/styles-e75131e4.js +433 -0
  335. data/assets/mermaid/styles-f80da881.js +1363 -0
  336. data/assets/mermaid/styles.d.ts +12 -0
  337. data/assets/mermaid/styles.spec.d.ts +1 -0
  338. data/assets/mermaid/svgDrawCommon-5e1cfd1d.js +101 -0
  339. data/assets/mermaid/svgDrawCommon-d6ab583c.js +100 -0
  340. data/assets/mermaid/svgDrawCommon-ecc5f780.js +64 -0
  341. data/assets/mermaid/tests/MockedD3.d.ts +45 -0
  342. data/assets/mermaid/tests/setup.d.ts +1 -0
  343. data/assets/mermaid/tests/util.d.ts +3 -0
  344. data/assets/mermaid/themes/erDiagram-oldHardcodedValues.d.ts +7 -0
  345. data/assets/mermaid/themes/index.d.ts +24 -0
  346. data/assets/mermaid/themes/theme-base.d.ts +189 -0
  347. data/assets/mermaid/themes/theme-dark.d.ts +177 -0
  348. data/assets/mermaid/themes/theme-default.d.ts +188 -0
  349. data/assets/mermaid/themes/theme-forest.d.ts +185 -0
  350. data/assets/mermaid/themes/theme-helpers.d.ts +1 -0
  351. data/assets/mermaid/themes/theme-neutral.d.ts +182 -0
  352. data/assets/mermaid/timeline-definition-23ce0e2e.js +1211 -0
  353. data/assets/mermaid/timeline-definition-4ee9bff4.js +795 -0
  354. data/assets/mermaid/timeline-definition-bf702344.js +1219 -0
  355. data/assets/mermaid/types.d.ts +31 -0
  356. data/assets/mermaid/utils/imperativeState.d.ts +32 -0
  357. data/assets/mermaid/utils/imperativeState.spec.d.ts +1 -0
  358. data/assets/mermaid/utils/lineWithOffset.d.ts +5 -0
  359. data/assets/mermaid/utils/sanitizeDirective.d.ts +7 -0
  360. data/assets/mermaid/utils/subGraphTitleMargins.d.ts +8 -0
  361. data/assets/mermaid/utils/subGraphTitleMargins.spec.d.ts +1 -0
  362. data/assets/mermaid/utils.d.ts +286 -0
  363. data/assets/mermaid/utils.spec.d.ts +1 -0
  364. data/assets/mermaid/xychartDiagram-de2e5521.js +1800 -0
  365. data/assets/mermaid/xychartDiagram-e5e6b652.js +1284 -0
  366. data/assets/mermaid/xychartDiagram-f11f50a6.js +1745 -0
  367. data/assets/tables.css +23 -0
  368. data/assets/toURI.js +142 -0
  369. metadata +368 -7
@@ -0,0 +1,1285 @@
1
+ import { aK as isObjectLike, aL as baseGetTag, aM as Symbol$1, ah as isArray, ag as isArrayLike, aN as arrayLikeKeys, aO as baseKeys, aP as memoize, aQ as isArguments, aR as copyObject, ae as keysIn, aS as getPrototype, aT as cloneArrayBuffer, aU as cloneTypedArray, aV as getTag, aW as nodeUtil, an as baseUnary, a8 as isObject, aX as copyArray, aY as isBuffer, aZ as cloneBuffer, a_ as initCloneObject, a$ as Stack, am as assignValue, b0 as MapCache, af as eq, b1 as Uint8Array, b2 as isTypedArray, b3 as isLength, al as isIndex, ak as identity, ai as baseFor, b4 as Set, ac as baseRest, b5 as isArrayLikeObject, ao as constant, z as isFunction, b6 as isEmpty } from "./mermaid-dcacb631.js";
2
+ var symbolTag$3 = "[object Symbol]";
3
+ function isSymbol(value) {
4
+ return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$3;
5
+ }
6
+ function arrayMap(array, iteratee) {
7
+ var index = -1, length = array == null ? 0 : array.length, result = Array(length);
8
+ while (++index < length) {
9
+ result[index] = iteratee(array[index], index, array);
10
+ }
11
+ return result;
12
+ }
13
+ var INFINITY$2 = 1 / 0;
14
+ var symbolProto$2 = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto$2 ? symbolProto$2.toString : void 0;
15
+ function baseToString(value) {
16
+ if (typeof value == "string") {
17
+ return value;
18
+ }
19
+ if (isArray(value)) {
20
+ return arrayMap(value, baseToString) + "";
21
+ }
22
+ if (isSymbol(value)) {
23
+ return symbolToString ? symbolToString.call(value) : "";
24
+ }
25
+ var result = value + "";
26
+ return result == "0" && 1 / value == -INFINITY$2 ? "-0" : result;
27
+ }
28
+ function noop() {
29
+ }
30
+ function arrayEach(array, iteratee) {
31
+ var index = -1, length = array == null ? 0 : array.length;
32
+ while (++index < length) {
33
+ if (iteratee(array[index], index, array) === false) {
34
+ break;
35
+ }
36
+ }
37
+ return array;
38
+ }
39
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
40
+ var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
41
+ while (fromRight ? index-- : ++index < length) {
42
+ if (predicate(array[index], index, array)) {
43
+ return index;
44
+ }
45
+ }
46
+ return -1;
47
+ }
48
+ function baseIsNaN(value) {
49
+ return value !== value;
50
+ }
51
+ function strictIndexOf(array, value, fromIndex) {
52
+ var index = fromIndex - 1, length = array.length;
53
+ while (++index < length) {
54
+ if (array[index] === value) {
55
+ return index;
56
+ }
57
+ }
58
+ return -1;
59
+ }
60
+ function baseIndexOf(array, value, fromIndex) {
61
+ return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
62
+ }
63
+ function arrayIncludes(array, value) {
64
+ var length = array == null ? 0 : array.length;
65
+ return !!length && baseIndexOf(array, value, 0) > -1;
66
+ }
67
+ function keys(object) {
68
+ return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
69
+ }
70
+ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
71
+ function isKey(value, object) {
72
+ if (isArray(value)) {
73
+ return false;
74
+ }
75
+ var type = typeof value;
76
+ if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
77
+ return true;
78
+ }
79
+ return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
80
+ }
81
+ var MAX_MEMOIZE_SIZE = 500;
82
+ function memoizeCapped(func) {
83
+ var result = memoize(func, function(key) {
84
+ if (cache.size === MAX_MEMOIZE_SIZE) {
85
+ cache.clear();
86
+ }
87
+ return key;
88
+ });
89
+ var cache = result.cache;
90
+ return result;
91
+ }
92
+ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
93
+ var reEscapeChar = /\\(\\)?/g;
94
+ var stringToPath = memoizeCapped(function(string) {
95
+ var result = [];
96
+ if (string.charCodeAt(0) === 46) {
97
+ result.push("");
98
+ }
99
+ string.replace(rePropName, function(match, number, quote, subString) {
100
+ result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
101
+ });
102
+ return result;
103
+ });
104
+ const stringToPath$1 = stringToPath;
105
+ function toString(value) {
106
+ return value == null ? "" : baseToString(value);
107
+ }
108
+ function castPath(value, object) {
109
+ if (isArray(value)) {
110
+ return value;
111
+ }
112
+ return isKey(value, object) ? [value] : stringToPath$1(toString(value));
113
+ }
114
+ var INFINITY$1 = 1 / 0;
115
+ function toKey(value) {
116
+ if (typeof value == "string" || isSymbol(value)) {
117
+ return value;
118
+ }
119
+ var result = value + "";
120
+ return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
121
+ }
122
+ function baseGet(object, path) {
123
+ path = castPath(path, object);
124
+ var index = 0, length = path.length;
125
+ while (object != null && index < length) {
126
+ object = object[toKey(path[index++])];
127
+ }
128
+ return index && index == length ? object : void 0;
129
+ }
130
+ function get(object, path, defaultValue) {
131
+ var result = object == null ? void 0 : baseGet(object, path);
132
+ return result === void 0 ? defaultValue : result;
133
+ }
134
+ function arrayPush(array, values2) {
135
+ var index = -1, length = values2.length, offset = array.length;
136
+ while (++index < length) {
137
+ array[offset + index] = values2[index];
138
+ }
139
+ return array;
140
+ }
141
+ var spreadableSymbol = Symbol$1 ? Symbol$1.isConcatSpreadable : void 0;
142
+ function isFlattenable(value) {
143
+ return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
144
+ }
145
+ function baseFlatten(array, depth, predicate, isStrict, result) {
146
+ var index = -1, length = array.length;
147
+ predicate || (predicate = isFlattenable);
148
+ result || (result = []);
149
+ while (++index < length) {
150
+ var value = array[index];
151
+ if (depth > 0 && predicate(value)) {
152
+ if (depth > 1) {
153
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
154
+ } else {
155
+ arrayPush(result, value);
156
+ }
157
+ } else if (!isStrict) {
158
+ result[result.length] = value;
159
+ }
160
+ }
161
+ return result;
162
+ }
163
+ function arrayReduce(array, iteratee, accumulator, initAccum) {
164
+ var index = -1, length = array == null ? 0 : array.length;
165
+ if (initAccum && length) {
166
+ accumulator = array[++index];
167
+ }
168
+ while (++index < length) {
169
+ accumulator = iteratee(accumulator, array[index], index, array);
170
+ }
171
+ return accumulator;
172
+ }
173
+ function baseAssign(object, source) {
174
+ return object && copyObject(source, keys(source), object);
175
+ }
176
+ function baseAssignIn(object, source) {
177
+ return object && copyObject(source, keysIn(source), object);
178
+ }
179
+ function arrayFilter(array, predicate) {
180
+ var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
181
+ while (++index < length) {
182
+ var value = array[index];
183
+ if (predicate(value, index, array)) {
184
+ result[resIndex++] = value;
185
+ }
186
+ }
187
+ return result;
188
+ }
189
+ function stubArray() {
190
+ return [];
191
+ }
192
+ var objectProto$4 = Object.prototype;
193
+ var propertyIsEnumerable = objectProto$4.propertyIsEnumerable;
194
+ var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
195
+ var getSymbols = !nativeGetSymbols$1 ? stubArray : function(object) {
196
+ if (object == null) {
197
+ return [];
198
+ }
199
+ object = Object(object);
200
+ return arrayFilter(nativeGetSymbols$1(object), function(symbol) {
201
+ return propertyIsEnumerable.call(object, symbol);
202
+ });
203
+ };
204
+ const getSymbols$1 = getSymbols;
205
+ function copySymbols(source, object) {
206
+ return copyObject(source, getSymbols$1(source), object);
207
+ }
208
+ var nativeGetSymbols = Object.getOwnPropertySymbols;
209
+ var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
210
+ var result = [];
211
+ while (object) {
212
+ arrayPush(result, getSymbols$1(object));
213
+ object = getPrototype(object);
214
+ }
215
+ return result;
216
+ };
217
+ const getSymbolsIn$1 = getSymbolsIn;
218
+ function copySymbolsIn(source, object) {
219
+ return copyObject(source, getSymbolsIn$1(source), object);
220
+ }
221
+ function baseGetAllKeys(object, keysFunc, symbolsFunc) {
222
+ var result = keysFunc(object);
223
+ return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
224
+ }
225
+ function getAllKeys(object) {
226
+ return baseGetAllKeys(object, keys, getSymbols$1);
227
+ }
228
+ function getAllKeysIn(object) {
229
+ return baseGetAllKeys(object, keysIn, getSymbolsIn$1);
230
+ }
231
+ var objectProto$3 = Object.prototype;
232
+ var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
233
+ function initCloneArray(array) {
234
+ var length = array.length, result = new array.constructor(length);
235
+ if (length && typeof array[0] == "string" && hasOwnProperty$3.call(array, "index")) {
236
+ result.index = array.index;
237
+ result.input = array.input;
238
+ }
239
+ return result;
240
+ }
241
+ function cloneDataView(dataView, isDeep) {
242
+ var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
243
+ return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
244
+ }
245
+ var reFlags = /\w*$/;
246
+ function cloneRegExp(regexp) {
247
+ var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
248
+ result.lastIndex = regexp.lastIndex;
249
+ return result;
250
+ }
251
+ var symbolProto$1 = Symbol$1 ? Symbol$1.prototype : void 0, symbolValueOf$1 = symbolProto$1 ? symbolProto$1.valueOf : void 0;
252
+ function cloneSymbol(symbol) {
253
+ return symbolValueOf$1 ? Object(symbolValueOf$1.call(symbol)) : {};
254
+ }
255
+ var boolTag$2 = "[object Boolean]", dateTag$2 = "[object Date]", mapTag$3 = "[object Map]", numberTag$2 = "[object Number]", regexpTag$2 = "[object RegExp]", setTag$3 = "[object Set]", stringTag$2 = "[object String]", symbolTag$2 = "[object Symbol]";
256
+ var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]";
257
+ function initCloneByTag(object, tag, isDeep) {
258
+ var Ctor = object.constructor;
259
+ switch (tag) {
260
+ case arrayBufferTag$2:
261
+ return cloneArrayBuffer(object);
262
+ case boolTag$2:
263
+ case dateTag$2:
264
+ return new Ctor(+object);
265
+ case dataViewTag$2:
266
+ return cloneDataView(object, isDeep);
267
+ case float32Tag$1:
268
+ case float64Tag$1:
269
+ case int8Tag$1:
270
+ case int16Tag$1:
271
+ case int32Tag$1:
272
+ case uint8Tag$1:
273
+ case uint8ClampedTag$1:
274
+ case uint16Tag$1:
275
+ case uint32Tag$1:
276
+ return cloneTypedArray(object, isDeep);
277
+ case mapTag$3:
278
+ return new Ctor();
279
+ case numberTag$2:
280
+ case stringTag$2:
281
+ return new Ctor(object);
282
+ case regexpTag$2:
283
+ return cloneRegExp(object);
284
+ case setTag$3:
285
+ return new Ctor();
286
+ case symbolTag$2:
287
+ return cloneSymbol(object);
288
+ }
289
+ }
290
+ var mapTag$2 = "[object Map]";
291
+ function baseIsMap(value) {
292
+ return isObjectLike(value) && getTag(value) == mapTag$2;
293
+ }
294
+ var nodeIsMap = nodeUtil && nodeUtil.isMap;
295
+ var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
296
+ const isMap$1 = isMap;
297
+ var setTag$2 = "[object Set]";
298
+ function baseIsSet(value) {
299
+ return isObjectLike(value) && getTag(value) == setTag$2;
300
+ }
301
+ var nodeIsSet = nodeUtil && nodeUtil.isSet;
302
+ var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
303
+ const isSet$1 = isSet;
304
+ var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;
305
+ var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag$1 = "[object Map]", numberTag$1 = "[object Number]", objectTag$1 = "[object Object]", regexpTag$1 = "[object RegExp]", setTag$1 = "[object Set]", stringTag$1 = "[object String]", symbolTag$1 = "[object Symbol]", weakMapTag = "[object WeakMap]";
306
+ var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
307
+ var cloneableTags = {};
308
+ cloneableTags[argsTag$1] = cloneableTags[arrayTag$1] = cloneableTags[arrayBufferTag$1] = cloneableTags[dataViewTag$1] = cloneableTags[boolTag$1] = cloneableTags[dateTag$1] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$1] = cloneableTags[numberTag$1] = cloneableTags[objectTag$1] = cloneableTags[regexpTag$1] = cloneableTags[setTag$1] = cloneableTags[stringTag$1] = cloneableTags[symbolTag$1] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
309
+ cloneableTags[errorTag$1] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
310
+ function baseClone(value, bitmask, customizer, key, object, stack) {
311
+ var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG;
312
+ if (customizer) {
313
+ result = object ? customizer(value, key, object, stack) : customizer(value);
314
+ }
315
+ if (result !== void 0) {
316
+ return result;
317
+ }
318
+ if (!isObject(value)) {
319
+ return value;
320
+ }
321
+ var isArr = isArray(value);
322
+ if (isArr) {
323
+ result = initCloneArray(value);
324
+ if (!isDeep) {
325
+ return copyArray(value, result);
326
+ }
327
+ } else {
328
+ var tag = getTag(value), isFunc = tag == funcTag || tag == genTag;
329
+ if (isBuffer(value)) {
330
+ return cloneBuffer(value, isDeep);
331
+ }
332
+ if (tag == objectTag$1 || tag == argsTag$1 || isFunc && !object) {
333
+ result = isFlat || isFunc ? {} : initCloneObject(value);
334
+ if (!isDeep) {
335
+ return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
336
+ }
337
+ } else {
338
+ if (!cloneableTags[tag]) {
339
+ return object ? value : {};
340
+ }
341
+ result = initCloneByTag(value, tag, isDeep);
342
+ }
343
+ }
344
+ stack || (stack = new Stack());
345
+ var stacked = stack.get(value);
346
+ if (stacked) {
347
+ return stacked;
348
+ }
349
+ stack.set(value, result);
350
+ if (isSet$1(value)) {
351
+ value.forEach(function(subValue) {
352
+ result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
353
+ });
354
+ } else if (isMap$1(value)) {
355
+ value.forEach(function(subValue, key2) {
356
+ result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
357
+ });
358
+ }
359
+ var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
360
+ var props = isArr ? void 0 : keysFunc(value);
361
+ arrayEach(props || value, function(subValue, key2) {
362
+ if (props) {
363
+ key2 = subValue;
364
+ subValue = value[key2];
365
+ }
366
+ assignValue(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
367
+ });
368
+ return result;
369
+ }
370
+ var HASH_UNDEFINED = "__lodash_hash_undefined__";
371
+ function setCacheAdd(value) {
372
+ this.__data__.set(value, HASH_UNDEFINED);
373
+ return this;
374
+ }
375
+ function setCacheHas(value) {
376
+ return this.__data__.has(value);
377
+ }
378
+ function SetCache(values2) {
379
+ var index = -1, length = values2 == null ? 0 : values2.length;
380
+ this.__data__ = new MapCache();
381
+ while (++index < length) {
382
+ this.add(values2[index]);
383
+ }
384
+ }
385
+ SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
386
+ SetCache.prototype.has = setCacheHas;
387
+ function arraySome(array, predicate) {
388
+ var index = -1, length = array == null ? 0 : array.length;
389
+ while (++index < length) {
390
+ if (predicate(array[index], index, array)) {
391
+ return true;
392
+ }
393
+ }
394
+ return false;
395
+ }
396
+ function cacheHas(cache, key) {
397
+ return cache.has(key);
398
+ }
399
+ var COMPARE_PARTIAL_FLAG$5 = 1, COMPARE_UNORDERED_FLAG$3 = 2;
400
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
401
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length;
402
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
403
+ return false;
404
+ }
405
+ var arrStacked = stack.get(array);
406
+ var othStacked = stack.get(other);
407
+ if (arrStacked && othStacked) {
408
+ return arrStacked == other && othStacked == array;
409
+ }
410
+ var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new SetCache() : void 0;
411
+ stack.set(array, other);
412
+ stack.set(other, array);
413
+ while (++index < arrLength) {
414
+ var arrValue = array[index], othValue = other[index];
415
+ if (customizer) {
416
+ var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
417
+ }
418
+ if (compared !== void 0) {
419
+ if (compared) {
420
+ continue;
421
+ }
422
+ result = false;
423
+ break;
424
+ }
425
+ if (seen) {
426
+ if (!arraySome(other, function(othValue2, othIndex) {
427
+ if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
428
+ return seen.push(othIndex);
429
+ }
430
+ })) {
431
+ result = false;
432
+ break;
433
+ }
434
+ } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
435
+ result = false;
436
+ break;
437
+ }
438
+ }
439
+ stack["delete"](array);
440
+ stack["delete"](other);
441
+ return result;
442
+ }
443
+ function mapToArray(map) {
444
+ var index = -1, result = Array(map.size);
445
+ map.forEach(function(value, key) {
446
+ result[++index] = [key, value];
447
+ });
448
+ return result;
449
+ }
450
+ function setToArray(set) {
451
+ var index = -1, result = Array(set.size);
452
+ set.forEach(function(value) {
453
+ result[++index] = value;
454
+ });
455
+ return result;
456
+ }
457
+ var COMPARE_PARTIAL_FLAG$4 = 1, COMPARE_UNORDERED_FLAG$2 = 2;
458
+ var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]";
459
+ var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]";
460
+ var symbolProto = Symbol$1 ? Symbol$1.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
461
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
462
+ switch (tag) {
463
+ case dataViewTag:
464
+ if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
465
+ return false;
466
+ }
467
+ object = object.buffer;
468
+ other = other.buffer;
469
+ case arrayBufferTag:
470
+ if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
471
+ return false;
472
+ }
473
+ return true;
474
+ case boolTag:
475
+ case dateTag:
476
+ case numberTag:
477
+ return eq(+object, +other);
478
+ case errorTag:
479
+ return object.name == other.name && object.message == other.message;
480
+ case regexpTag:
481
+ case stringTag:
482
+ return object == other + "";
483
+ case mapTag:
484
+ var convert = mapToArray;
485
+ case setTag:
486
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;
487
+ convert || (convert = setToArray);
488
+ if (object.size != other.size && !isPartial) {
489
+ return false;
490
+ }
491
+ var stacked = stack.get(object);
492
+ if (stacked) {
493
+ return stacked == other;
494
+ }
495
+ bitmask |= COMPARE_UNORDERED_FLAG$2;
496
+ stack.set(object, other);
497
+ var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
498
+ stack["delete"](object);
499
+ return result;
500
+ case symbolTag:
501
+ if (symbolValueOf) {
502
+ return symbolValueOf.call(object) == symbolValueOf.call(other);
503
+ }
504
+ }
505
+ return false;
506
+ }
507
+ var COMPARE_PARTIAL_FLAG$3 = 1;
508
+ var objectProto$2 = Object.prototype;
509
+ var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
510
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
511
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
512
+ if (objLength != othLength && !isPartial) {
513
+ return false;
514
+ }
515
+ var index = objLength;
516
+ while (index--) {
517
+ var key = objProps[index];
518
+ if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) {
519
+ return false;
520
+ }
521
+ }
522
+ var objStacked = stack.get(object);
523
+ var othStacked = stack.get(other);
524
+ if (objStacked && othStacked) {
525
+ return objStacked == other && othStacked == object;
526
+ }
527
+ var result = true;
528
+ stack.set(object, other);
529
+ stack.set(other, object);
530
+ var skipCtor = isPartial;
531
+ while (++index < objLength) {
532
+ key = objProps[index];
533
+ var objValue = object[key], othValue = other[key];
534
+ if (customizer) {
535
+ var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
536
+ }
537
+ if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
538
+ result = false;
539
+ break;
540
+ }
541
+ skipCtor || (skipCtor = key == "constructor");
542
+ }
543
+ if (result && !skipCtor) {
544
+ var objCtor = object.constructor, othCtor = other.constructor;
545
+ if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
546
+ result = false;
547
+ }
548
+ }
549
+ stack["delete"](object);
550
+ stack["delete"](other);
551
+ return result;
552
+ }
553
+ var COMPARE_PARTIAL_FLAG$2 = 1;
554
+ var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]";
555
+ var objectProto$1 = Object.prototype;
556
+ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
557
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
558
+ var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
559
+ objTag = objTag == argsTag ? objectTag : objTag;
560
+ othTag = othTag == argsTag ? objectTag : othTag;
561
+ var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
562
+ if (isSameTag && isBuffer(object)) {
563
+ if (!isBuffer(other)) {
564
+ return false;
565
+ }
566
+ objIsArr = true;
567
+ objIsObj = false;
568
+ }
569
+ if (isSameTag && !objIsObj) {
570
+ stack || (stack = new Stack());
571
+ return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
572
+ }
573
+ if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
574
+ var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty$1.call(other, "__wrapped__");
575
+ if (objIsWrapped || othIsWrapped) {
576
+ var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
577
+ stack || (stack = new Stack());
578
+ return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
579
+ }
580
+ }
581
+ if (!isSameTag) {
582
+ return false;
583
+ }
584
+ stack || (stack = new Stack());
585
+ return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
586
+ }
587
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
588
+ if (value === other) {
589
+ return true;
590
+ }
591
+ if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
592
+ return value !== value && other !== other;
593
+ }
594
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
595
+ }
596
+ var COMPARE_PARTIAL_FLAG$1 = 1, COMPARE_UNORDERED_FLAG$1 = 2;
597
+ function baseIsMatch(object, source, matchData, customizer) {
598
+ var index = matchData.length, length = index, noCustomizer = !customizer;
599
+ if (object == null) {
600
+ return !length;
601
+ }
602
+ object = Object(object);
603
+ while (index--) {
604
+ var data = matchData[index];
605
+ if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
606
+ return false;
607
+ }
608
+ }
609
+ while (++index < length) {
610
+ data = matchData[index];
611
+ var key = data[0], objValue = object[key], srcValue = data[1];
612
+ if (noCustomizer && data[2]) {
613
+ if (objValue === void 0 && !(key in object)) {
614
+ return false;
615
+ }
616
+ } else {
617
+ var stack = new Stack();
618
+ if (customizer) {
619
+ var result = customizer(objValue, srcValue, key, object, source, stack);
620
+ }
621
+ if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) {
622
+ return false;
623
+ }
624
+ }
625
+ }
626
+ return true;
627
+ }
628
+ function isStrictComparable(value) {
629
+ return value === value && !isObject(value);
630
+ }
631
+ function getMatchData(object) {
632
+ var result = keys(object), length = result.length;
633
+ while (length--) {
634
+ var key = result[length], value = object[key];
635
+ result[length] = [key, value, isStrictComparable(value)];
636
+ }
637
+ return result;
638
+ }
639
+ function matchesStrictComparable(key, srcValue) {
640
+ return function(object) {
641
+ if (object == null) {
642
+ return false;
643
+ }
644
+ return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
645
+ };
646
+ }
647
+ function baseMatches(source) {
648
+ var matchData = getMatchData(source);
649
+ if (matchData.length == 1 && matchData[0][2]) {
650
+ return matchesStrictComparable(matchData[0][0], matchData[0][1]);
651
+ }
652
+ return function(object) {
653
+ return object === source || baseIsMatch(object, source, matchData);
654
+ };
655
+ }
656
+ function baseHasIn(object, key) {
657
+ return object != null && key in Object(object);
658
+ }
659
+ function hasPath(object, path, hasFunc) {
660
+ path = castPath(path, object);
661
+ var index = -1, length = path.length, result = false;
662
+ while (++index < length) {
663
+ var key = toKey(path[index]);
664
+ if (!(result = object != null && hasFunc(object, key))) {
665
+ break;
666
+ }
667
+ object = object[key];
668
+ }
669
+ if (result || ++index != length) {
670
+ return result;
671
+ }
672
+ length = object == null ? 0 : object.length;
673
+ return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));
674
+ }
675
+ function hasIn(object, path) {
676
+ return object != null && hasPath(object, path, baseHasIn);
677
+ }
678
+ var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
679
+ function baseMatchesProperty(path, srcValue) {
680
+ if (isKey(path) && isStrictComparable(srcValue)) {
681
+ return matchesStrictComparable(toKey(path), srcValue);
682
+ }
683
+ return function(object) {
684
+ var objValue = get(object, path);
685
+ return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
686
+ };
687
+ }
688
+ function baseProperty(key) {
689
+ return function(object) {
690
+ return object == null ? void 0 : object[key];
691
+ };
692
+ }
693
+ function basePropertyDeep(path) {
694
+ return function(object) {
695
+ return baseGet(object, path);
696
+ };
697
+ }
698
+ function property(path) {
699
+ return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
700
+ }
701
+ function baseIteratee(value) {
702
+ if (typeof value == "function") {
703
+ return value;
704
+ }
705
+ if (value == null) {
706
+ return identity;
707
+ }
708
+ if (typeof value == "object") {
709
+ return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
710
+ }
711
+ return property(value);
712
+ }
713
+ function baseForOwn(object, iteratee) {
714
+ return object && baseFor(object, iteratee, keys);
715
+ }
716
+ function createBaseEach(eachFunc, fromRight) {
717
+ return function(collection, iteratee) {
718
+ if (collection == null) {
719
+ return collection;
720
+ }
721
+ if (!isArrayLike(collection)) {
722
+ return eachFunc(collection, iteratee);
723
+ }
724
+ var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
725
+ while (fromRight ? index-- : ++index < length) {
726
+ if (iteratee(iterable[index], index, iterable) === false) {
727
+ break;
728
+ }
729
+ }
730
+ return collection;
731
+ };
732
+ }
733
+ var baseEach = createBaseEach(baseForOwn);
734
+ const baseEach$1 = baseEach;
735
+ function arrayIncludesWith(array, value, comparator) {
736
+ var index = -1, length = array == null ? 0 : array.length;
737
+ while (++index < length) {
738
+ if (comparator(value, array[index])) {
739
+ return true;
740
+ }
741
+ }
742
+ return false;
743
+ }
744
+ function castFunction(value) {
745
+ return typeof value == "function" ? value : identity;
746
+ }
747
+ function forEach(collection, iteratee) {
748
+ var func = isArray(collection) ? arrayEach : baseEach$1;
749
+ return func(collection, castFunction(iteratee));
750
+ }
751
+ function baseFilter(collection, predicate) {
752
+ var result = [];
753
+ baseEach$1(collection, function(value, index, collection2) {
754
+ if (predicate(value, index, collection2)) {
755
+ result.push(value);
756
+ }
757
+ });
758
+ return result;
759
+ }
760
+ function filter(collection, predicate) {
761
+ var func = isArray(collection) ? arrayFilter : baseFilter;
762
+ return func(collection, baseIteratee(predicate));
763
+ }
764
+ var objectProto = Object.prototype;
765
+ var hasOwnProperty = objectProto.hasOwnProperty;
766
+ function baseHas(object, key) {
767
+ return object != null && hasOwnProperty.call(object, key);
768
+ }
769
+ function has(object, path) {
770
+ return object != null && hasPath(object, path, baseHas);
771
+ }
772
+ function baseValues(object, props) {
773
+ return arrayMap(props, function(key) {
774
+ return object[key];
775
+ });
776
+ }
777
+ function values(object) {
778
+ return object == null ? [] : baseValues(object, keys(object));
779
+ }
780
+ function isUndefined(value) {
781
+ return value === void 0;
782
+ }
783
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
784
+ eachFunc(collection, function(value, index, collection2) {
785
+ accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection2);
786
+ });
787
+ return accumulator;
788
+ }
789
+ function reduce(collection, iteratee, accumulator) {
790
+ var func = isArray(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;
791
+ return func(collection, baseIteratee(iteratee), accumulator, initAccum, baseEach$1);
792
+ }
793
+ var INFINITY = 1 / 0;
794
+ var createSet = !(Set && 1 / setToArray(new Set([, -0]))[1] == INFINITY) ? noop : function(values2) {
795
+ return new Set(values2);
796
+ };
797
+ const createSet$1 = createSet;
798
+ var LARGE_ARRAY_SIZE = 200;
799
+ function baseUniq(array, iteratee, comparator) {
800
+ var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
801
+ if (comparator) {
802
+ isCommon = false;
803
+ includes = arrayIncludesWith;
804
+ } else if (length >= LARGE_ARRAY_SIZE) {
805
+ var set = iteratee ? null : createSet$1(array);
806
+ if (set) {
807
+ return setToArray(set);
808
+ }
809
+ isCommon = false;
810
+ includes = cacheHas;
811
+ seen = new SetCache();
812
+ } else {
813
+ seen = iteratee ? [] : result;
814
+ }
815
+ outer:
816
+ while (++index < length) {
817
+ var value = array[index], computed = iteratee ? iteratee(value) : value;
818
+ value = comparator || value !== 0 ? value : 0;
819
+ if (isCommon && computed === computed) {
820
+ var seenIndex = seen.length;
821
+ while (seenIndex--) {
822
+ if (seen[seenIndex] === computed) {
823
+ continue outer;
824
+ }
825
+ }
826
+ if (iteratee) {
827
+ seen.push(computed);
828
+ }
829
+ result.push(value);
830
+ } else if (!includes(seen, computed, comparator)) {
831
+ if (seen !== result) {
832
+ seen.push(computed);
833
+ }
834
+ result.push(value);
835
+ }
836
+ }
837
+ return result;
838
+ }
839
+ var union = baseRest(function(arrays) {
840
+ return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
841
+ });
842
+ const union$1 = union;
843
+ var DEFAULT_EDGE_NAME = "\0";
844
+ var GRAPH_NODE = "\0";
845
+ var EDGE_KEY_DELIM = "";
846
+ class Graph {
847
+ constructor(opts = {}) {
848
+ this._isDirected = has(opts, "directed") ? opts.directed : true;
849
+ this._isMultigraph = has(opts, "multigraph") ? opts.multigraph : false;
850
+ this._isCompound = has(opts, "compound") ? opts.compound : false;
851
+ this._label = void 0;
852
+ this._defaultNodeLabelFn = constant(void 0);
853
+ this._defaultEdgeLabelFn = constant(void 0);
854
+ this._nodes = {};
855
+ if (this._isCompound) {
856
+ this._parent = {};
857
+ this._children = {};
858
+ this._children[GRAPH_NODE] = {};
859
+ }
860
+ this._in = {};
861
+ this._preds = {};
862
+ this._out = {};
863
+ this._sucs = {};
864
+ this._edgeObjs = {};
865
+ this._edgeLabels = {};
866
+ }
867
+ /* === Graph functions ========= */
868
+ isDirected() {
869
+ return this._isDirected;
870
+ }
871
+ isMultigraph() {
872
+ return this._isMultigraph;
873
+ }
874
+ isCompound() {
875
+ return this._isCompound;
876
+ }
877
+ setGraph(label) {
878
+ this._label = label;
879
+ return this;
880
+ }
881
+ graph() {
882
+ return this._label;
883
+ }
884
+ /* === Node functions ========== */
885
+ setDefaultNodeLabel(newDefault) {
886
+ if (!isFunction(newDefault)) {
887
+ newDefault = constant(newDefault);
888
+ }
889
+ this._defaultNodeLabelFn = newDefault;
890
+ return this;
891
+ }
892
+ nodeCount() {
893
+ return this._nodeCount;
894
+ }
895
+ nodes() {
896
+ return keys(this._nodes);
897
+ }
898
+ sources() {
899
+ var self = this;
900
+ return filter(this.nodes(), function(v) {
901
+ return isEmpty(self._in[v]);
902
+ });
903
+ }
904
+ sinks() {
905
+ var self = this;
906
+ return filter(this.nodes(), function(v) {
907
+ return isEmpty(self._out[v]);
908
+ });
909
+ }
910
+ setNodes(vs, value) {
911
+ var args = arguments;
912
+ var self = this;
913
+ forEach(vs, function(v) {
914
+ if (args.length > 1) {
915
+ self.setNode(v, value);
916
+ } else {
917
+ self.setNode(v);
918
+ }
919
+ });
920
+ return this;
921
+ }
922
+ setNode(v, value) {
923
+ if (has(this._nodes, v)) {
924
+ if (arguments.length > 1) {
925
+ this._nodes[v] = value;
926
+ }
927
+ return this;
928
+ }
929
+ this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);
930
+ if (this._isCompound) {
931
+ this._parent[v] = GRAPH_NODE;
932
+ this._children[v] = {};
933
+ this._children[GRAPH_NODE][v] = true;
934
+ }
935
+ this._in[v] = {};
936
+ this._preds[v] = {};
937
+ this._out[v] = {};
938
+ this._sucs[v] = {};
939
+ ++this._nodeCount;
940
+ return this;
941
+ }
942
+ node(v) {
943
+ return this._nodes[v];
944
+ }
945
+ hasNode(v) {
946
+ return has(this._nodes, v);
947
+ }
948
+ removeNode(v) {
949
+ var self = this;
950
+ if (has(this._nodes, v)) {
951
+ var removeEdge = function(e) {
952
+ self.removeEdge(self._edgeObjs[e]);
953
+ };
954
+ delete this._nodes[v];
955
+ if (this._isCompound) {
956
+ this._removeFromParentsChildList(v);
957
+ delete this._parent[v];
958
+ forEach(this.children(v), function(child) {
959
+ self.setParent(child);
960
+ });
961
+ delete this._children[v];
962
+ }
963
+ forEach(keys(this._in[v]), removeEdge);
964
+ delete this._in[v];
965
+ delete this._preds[v];
966
+ forEach(keys(this._out[v]), removeEdge);
967
+ delete this._out[v];
968
+ delete this._sucs[v];
969
+ --this._nodeCount;
970
+ }
971
+ return this;
972
+ }
973
+ setParent(v, parent) {
974
+ if (!this._isCompound) {
975
+ throw new Error("Cannot set parent in a non-compound graph");
976
+ }
977
+ if (isUndefined(parent)) {
978
+ parent = GRAPH_NODE;
979
+ } else {
980
+ parent += "";
981
+ for (var ancestor = parent; !isUndefined(ancestor); ancestor = this.parent(ancestor)) {
982
+ if (ancestor === v) {
983
+ throw new Error("Setting " + parent + " as parent of " + v + " would create a cycle");
984
+ }
985
+ }
986
+ this.setNode(parent);
987
+ }
988
+ this.setNode(v);
989
+ this._removeFromParentsChildList(v);
990
+ this._parent[v] = parent;
991
+ this._children[parent][v] = true;
992
+ return this;
993
+ }
994
+ _removeFromParentsChildList(v) {
995
+ delete this._children[this._parent[v]][v];
996
+ }
997
+ parent(v) {
998
+ if (this._isCompound) {
999
+ var parent = this._parent[v];
1000
+ if (parent !== GRAPH_NODE) {
1001
+ return parent;
1002
+ }
1003
+ }
1004
+ }
1005
+ children(v) {
1006
+ if (isUndefined(v)) {
1007
+ v = GRAPH_NODE;
1008
+ }
1009
+ if (this._isCompound) {
1010
+ var children = this._children[v];
1011
+ if (children) {
1012
+ return keys(children);
1013
+ }
1014
+ } else if (v === GRAPH_NODE) {
1015
+ return this.nodes();
1016
+ } else if (this.hasNode(v)) {
1017
+ return [];
1018
+ }
1019
+ }
1020
+ predecessors(v) {
1021
+ var predsV = this._preds[v];
1022
+ if (predsV) {
1023
+ return keys(predsV);
1024
+ }
1025
+ }
1026
+ successors(v) {
1027
+ var sucsV = this._sucs[v];
1028
+ if (sucsV) {
1029
+ return keys(sucsV);
1030
+ }
1031
+ }
1032
+ neighbors(v) {
1033
+ var preds = this.predecessors(v);
1034
+ if (preds) {
1035
+ return union$1(preds, this.successors(v));
1036
+ }
1037
+ }
1038
+ isLeaf(v) {
1039
+ var neighbors;
1040
+ if (this.isDirected()) {
1041
+ neighbors = this.successors(v);
1042
+ } else {
1043
+ neighbors = this.neighbors(v);
1044
+ }
1045
+ return neighbors.length === 0;
1046
+ }
1047
+ filterNodes(filter2) {
1048
+ var copy = new this.constructor({
1049
+ directed: this._isDirected,
1050
+ multigraph: this._isMultigraph,
1051
+ compound: this._isCompound
1052
+ });
1053
+ copy.setGraph(this.graph());
1054
+ var self = this;
1055
+ forEach(this._nodes, function(value, v) {
1056
+ if (filter2(v)) {
1057
+ copy.setNode(v, value);
1058
+ }
1059
+ });
1060
+ forEach(this._edgeObjs, function(e) {
1061
+ if (copy.hasNode(e.v) && copy.hasNode(e.w)) {
1062
+ copy.setEdge(e, self.edge(e));
1063
+ }
1064
+ });
1065
+ var parents = {};
1066
+ function findParent(v) {
1067
+ var parent = self.parent(v);
1068
+ if (parent === void 0 || copy.hasNode(parent)) {
1069
+ parents[v] = parent;
1070
+ return parent;
1071
+ } else if (parent in parents) {
1072
+ return parents[parent];
1073
+ } else {
1074
+ return findParent(parent);
1075
+ }
1076
+ }
1077
+ if (this._isCompound) {
1078
+ forEach(copy.nodes(), function(v) {
1079
+ copy.setParent(v, findParent(v));
1080
+ });
1081
+ }
1082
+ return copy;
1083
+ }
1084
+ /* === Edge functions ========== */
1085
+ setDefaultEdgeLabel(newDefault) {
1086
+ if (!isFunction(newDefault)) {
1087
+ newDefault = constant(newDefault);
1088
+ }
1089
+ this._defaultEdgeLabelFn = newDefault;
1090
+ return this;
1091
+ }
1092
+ edgeCount() {
1093
+ return this._edgeCount;
1094
+ }
1095
+ edges() {
1096
+ return values(this._edgeObjs);
1097
+ }
1098
+ setPath(vs, value) {
1099
+ var self = this;
1100
+ var args = arguments;
1101
+ reduce(vs, function(v, w) {
1102
+ if (args.length > 1) {
1103
+ self.setEdge(v, w, value);
1104
+ } else {
1105
+ self.setEdge(v, w);
1106
+ }
1107
+ return w;
1108
+ });
1109
+ return this;
1110
+ }
1111
+ /*
1112
+ * setEdge(v, w, [value, [name]])
1113
+ * setEdge({ v, w, [name] }, [value])
1114
+ */
1115
+ setEdge() {
1116
+ var v, w, name, value;
1117
+ var valueSpecified = false;
1118
+ var arg0 = arguments[0];
1119
+ if (typeof arg0 === "object" && arg0 !== null && "v" in arg0) {
1120
+ v = arg0.v;
1121
+ w = arg0.w;
1122
+ name = arg0.name;
1123
+ if (arguments.length === 2) {
1124
+ value = arguments[1];
1125
+ valueSpecified = true;
1126
+ }
1127
+ } else {
1128
+ v = arg0;
1129
+ w = arguments[1];
1130
+ name = arguments[3];
1131
+ if (arguments.length > 2) {
1132
+ value = arguments[2];
1133
+ valueSpecified = true;
1134
+ }
1135
+ }
1136
+ v = "" + v;
1137
+ w = "" + w;
1138
+ if (!isUndefined(name)) {
1139
+ name = "" + name;
1140
+ }
1141
+ var e = edgeArgsToId(this._isDirected, v, w, name);
1142
+ if (has(this._edgeLabels, e)) {
1143
+ if (valueSpecified) {
1144
+ this._edgeLabels[e] = value;
1145
+ }
1146
+ return this;
1147
+ }
1148
+ if (!isUndefined(name) && !this._isMultigraph) {
1149
+ throw new Error("Cannot set a named edge when isMultigraph = false");
1150
+ }
1151
+ this.setNode(v);
1152
+ this.setNode(w);
1153
+ this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);
1154
+ var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);
1155
+ v = edgeObj.v;
1156
+ w = edgeObj.w;
1157
+ Object.freeze(edgeObj);
1158
+ this._edgeObjs[e] = edgeObj;
1159
+ incrementOrInitEntry(this._preds[w], v);
1160
+ incrementOrInitEntry(this._sucs[v], w);
1161
+ this._in[w][e] = edgeObj;
1162
+ this._out[v][e] = edgeObj;
1163
+ this._edgeCount++;
1164
+ return this;
1165
+ }
1166
+ edge(v, w, name) {
1167
+ var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
1168
+ return this._edgeLabels[e];
1169
+ }
1170
+ hasEdge(v, w, name) {
1171
+ var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
1172
+ return has(this._edgeLabels, e);
1173
+ }
1174
+ removeEdge(v, w, name) {
1175
+ var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
1176
+ var edge = this._edgeObjs[e];
1177
+ if (edge) {
1178
+ v = edge.v;
1179
+ w = edge.w;
1180
+ delete this._edgeLabels[e];
1181
+ delete this._edgeObjs[e];
1182
+ decrementOrRemoveEntry(this._preds[w], v);
1183
+ decrementOrRemoveEntry(this._sucs[v], w);
1184
+ delete this._in[w][e];
1185
+ delete this._out[v][e];
1186
+ this._edgeCount--;
1187
+ }
1188
+ return this;
1189
+ }
1190
+ inEdges(v, u) {
1191
+ var inV = this._in[v];
1192
+ if (inV) {
1193
+ var edges = values(inV);
1194
+ if (!u) {
1195
+ return edges;
1196
+ }
1197
+ return filter(edges, function(edge) {
1198
+ return edge.v === u;
1199
+ });
1200
+ }
1201
+ }
1202
+ outEdges(v, w) {
1203
+ var outV = this._out[v];
1204
+ if (outV) {
1205
+ var edges = values(outV);
1206
+ if (!w) {
1207
+ return edges;
1208
+ }
1209
+ return filter(edges, function(edge) {
1210
+ return edge.w === w;
1211
+ });
1212
+ }
1213
+ }
1214
+ nodeEdges(v, w) {
1215
+ var inEdges = this.inEdges(v, w);
1216
+ if (inEdges) {
1217
+ return inEdges.concat(this.outEdges(v, w));
1218
+ }
1219
+ }
1220
+ }
1221
+ Graph.prototype._nodeCount = 0;
1222
+ Graph.prototype._edgeCount = 0;
1223
+ function incrementOrInitEntry(map, k) {
1224
+ if (map[k]) {
1225
+ map[k]++;
1226
+ } else {
1227
+ map[k] = 1;
1228
+ }
1229
+ }
1230
+ function decrementOrRemoveEntry(map, k) {
1231
+ if (!--map[k]) {
1232
+ delete map[k];
1233
+ }
1234
+ }
1235
+ function edgeArgsToId(isDirected, v_, w_, name) {
1236
+ var v = "" + v_;
1237
+ var w = "" + w_;
1238
+ if (!isDirected && v > w) {
1239
+ var tmp = v;
1240
+ v = w;
1241
+ w = tmp;
1242
+ }
1243
+ return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (isUndefined(name) ? DEFAULT_EDGE_NAME : name);
1244
+ }
1245
+ function edgeArgsToObj(isDirected, v_, w_, name) {
1246
+ var v = "" + v_;
1247
+ var w = "" + w_;
1248
+ if (!isDirected && v > w) {
1249
+ var tmp = v;
1250
+ v = w;
1251
+ w = tmp;
1252
+ }
1253
+ var edgeObj = { v, w };
1254
+ if (name) {
1255
+ edgeObj.name = name;
1256
+ }
1257
+ return edgeObj;
1258
+ }
1259
+ function edgeObjToId(isDirected, edgeObj) {
1260
+ return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);
1261
+ }
1262
+ export {
1263
+ Graph as G,
1264
+ isSymbol as a,
1265
+ baseFlatten as b,
1266
+ baseClone as c,
1267
+ baseIteratee as d,
1268
+ baseFindIndex as e,
1269
+ forEach as f,
1270
+ baseEach$1 as g,
1271
+ has as h,
1272
+ isUndefined as i,
1273
+ arrayMap as j,
1274
+ keys as k,
1275
+ castFunction as l,
1276
+ baseForOwn as m,
1277
+ castPath as n,
1278
+ baseGet as o,
1279
+ hasIn as p,
1280
+ toString as q,
1281
+ filter as r,
1282
+ reduce as s,
1283
+ toKey as t,
1284
+ values as v
1285
+ };