@render-harness/ui 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +6 -6
- package/dist/index.js +25 -14
- package/dist/index.js.map +1 -1
- package/dist/static/assets/{architectureDiagram-3BPJPVTR-D4589TUy.js → architectureDiagram-3BPJPVTR-DLNRxqTW.js} +2 -2
- package/dist/static/assets/{architectureDiagram-3BPJPVTR-D4589TUy.js.map → architectureDiagram-3BPJPVTR-DLNRxqTW.js.map} +1 -1
- package/dist/static/assets/{blockDiagram-GPEHLZMM-Cfjv0TRV.js → blockDiagram-GPEHLZMM-CCWTkWe6.js} +2 -2
- package/dist/static/assets/{blockDiagram-GPEHLZMM-Cfjv0TRV.js.map → blockDiagram-GPEHLZMM-CCWTkWe6.js.map} +1 -1
- package/dist/static/assets/{c4Diagram-AAUBKEIU-BoXkzmRI.js → c4Diagram-AAUBKEIU-qO0tZRXO.js} +2 -2
- package/dist/static/assets/{c4Diagram-AAUBKEIU-BoXkzmRI.js.map → c4Diagram-AAUBKEIU-qO0tZRXO.js.map} +1 -1
- package/dist/static/assets/channel-CAoVqDgM.js +2 -0
- package/dist/static/assets/{channel-DusP3IMn.js.map → channel-CAoVqDgM.js.map} +1 -1
- package/dist/static/assets/{chunk-2J33WTMH-Lf1eCW8w.js → chunk-2J33WTMH-DaEvWRZX.js} +2 -2
- package/dist/static/assets/{chunk-2J33WTMH-Lf1eCW8w.js.map → chunk-2J33WTMH-DaEvWRZX.js.map} +1 -1
- package/dist/static/assets/{chunk-3OPIFGDE-BYpEG0v0.js → chunk-3OPIFGDE-xcRWDOrg.js} +2 -2
- package/dist/static/assets/{chunk-3OPIFGDE-BYpEG0v0.js.map → chunk-3OPIFGDE-xcRWDOrg.js.map} +1 -1
- package/dist/static/assets/{chunk-5ZQYHXKU-CxDIhrF-.js → chunk-5ZQYHXKU-B_3UEJ_q.js} +2 -2
- package/dist/static/assets/{chunk-5ZQYHXKU-CxDIhrF-.js.map → chunk-5ZQYHXKU-B_3UEJ_q.js.map} +1 -1
- package/dist/static/assets/{chunk-727SXJPM-BEbDzxvV.js → chunk-727SXJPM-c1bbIj6N.js} +2 -2
- package/dist/static/assets/{chunk-727SXJPM-BEbDzxvV.js.map → chunk-727SXJPM-c1bbIj6N.js.map} +1 -1
- package/dist/static/assets/{chunk-AQP2D5EJ-DGTbQ17q.js → chunk-AQP2D5EJ-Wv0w6wvH.js} +2 -2
- package/dist/static/assets/{chunk-AQP2D5EJ-DGTbQ17q.js.map → chunk-AQP2D5EJ-Wv0w6wvH.js.map} +1 -1
- package/dist/static/assets/{chunk-CSCIHK7Q-Bo3glXo1.js → chunk-CSCIHK7Q-BBzr5U3o.js} +3 -3
- package/dist/static/assets/{chunk-CSCIHK7Q-Bo3glXo1.js.map → chunk-CSCIHK7Q-BBzr5U3o.js.map} +1 -1
- package/dist/static/assets/{chunk-KSCS5N6A-DVQpViur.js → chunk-KSCS5N6A-BZrceHGX.js} +2 -2
- package/dist/static/assets/{chunk-KSCS5N6A-DVQpViur.js.map → chunk-KSCS5N6A-BZrceHGX.js.map} +1 -1
- package/dist/static/assets/{chunk-L5ZTLDWV-BwOlshrN.js → chunk-L5ZTLDWV-BAcjEn3C.js} +2 -2
- package/dist/static/assets/{chunk-L5ZTLDWV-BwOlshrN.js.map → chunk-L5ZTLDWV-BAcjEn3C.js.map} +1 -1
- package/dist/static/assets/{chunk-ND2GUHAM-a2zgmbwP.js → chunk-ND2GUHAM-DHtjIa8_.js} +2 -2
- package/dist/static/assets/{chunk-ND2GUHAM-a2zgmbwP.js.map → chunk-ND2GUHAM-DHtjIa8_.js.map} +1 -1
- package/dist/static/assets/{chunk-NZK2D7GU-BbPAL6yn.js → chunk-NZK2D7GU-DuwDtSGJ.js} +2 -2
- package/dist/static/assets/{chunk-NZK2D7GU-BbPAL6yn.js.map → chunk-NZK2D7GU-DuwDtSGJ.js.map} +1 -1
- package/dist/static/assets/{chunk-O5CBEL6O-CM0slmy1.js → chunk-O5CBEL6O-KRO56hHQ.js} +2 -2
- package/dist/static/assets/{chunk-O5CBEL6O-CM0slmy1.js.map → chunk-O5CBEL6O-KRO56hHQ.js.map} +1 -1
- package/dist/static/assets/classDiagram-4FO5ZUOK-oexPF7ww.js +2 -0
- package/dist/static/assets/{classDiagram-4FO5ZUOK-SuK_oLpa.js.map → classDiagram-4FO5ZUOK-oexPF7ww.js.map} +1 -1
- package/dist/static/assets/classDiagram-v2-Q7XG4LA2-Dc4jeSLj.js +2 -0
- package/dist/static/assets/{classDiagram-v2-Q7XG4LA2-DMlc0uaN.js.map → classDiagram-v2-Q7XG4LA2-Dc4jeSLj.js.map} +1 -1
- package/dist/static/assets/{dagre-BM42HDAG-4I-9kC-8.js → dagre-BM42HDAG-au4dCVgC.js} +2 -2
- package/dist/static/assets/{dagre-BM42HDAG-4I-9kC-8.js.map → dagre-BM42HDAG-au4dCVgC.js.map} +1 -1
- package/dist/static/assets/{diagram-2AECGRRQ-pAKf5nK6.js → diagram-2AECGRRQ-rJMnDhBW.js} +2 -2
- package/dist/static/assets/{diagram-2AECGRRQ-pAKf5nK6.js.map → diagram-2AECGRRQ-rJMnDhBW.js.map} +1 -1
- package/dist/static/assets/{diagram-5GNKFQAL-CzKwZhm6.js → diagram-5GNKFQAL-diIxjA-v.js} +2 -2
- package/dist/static/assets/{diagram-5GNKFQAL-CzKwZhm6.js.map → diagram-5GNKFQAL-diIxjA-v.js.map} +1 -1
- package/dist/static/assets/{diagram-KO2AKTUF-BZNjYRzg.js → diagram-KO2AKTUF-D9IYocVR.js} +2 -2
- package/dist/static/assets/{diagram-KO2AKTUF-BZNjYRzg.js.map → diagram-KO2AKTUF-D9IYocVR.js.map} +1 -1
- package/dist/static/assets/{diagram-LMA3HP47-vnkpPjMC.js → diagram-LMA3HP47-BtdvpqaH.js} +2 -2
- package/dist/static/assets/{diagram-LMA3HP47-vnkpPjMC.js.map → diagram-LMA3HP47-BtdvpqaH.js.map} +1 -1
- package/dist/static/assets/{diagram-OG6HWLK6-CkBTEmTA.js → diagram-OG6HWLK6-CaRkxDoj.js} +2 -2
- package/dist/static/assets/{diagram-OG6HWLK6-CkBTEmTA.js.map → diagram-OG6HWLK6-CaRkxDoj.js.map} +1 -1
- package/dist/static/assets/{erDiagram-TEJ5UH35-DGrhtXAQ.js → erDiagram-TEJ5UH35-CgifrqeZ.js} +2 -2
- package/dist/static/assets/{erDiagram-TEJ5UH35-DGrhtXAQ.js.map → erDiagram-TEJ5UH35-CgifrqeZ.js.map} +1 -1
- package/dist/static/assets/{flowDiagram-I6XJVG4X-Cp2YiaJS.js → flowDiagram-I6XJVG4X-DaguIeM_.js} +2 -2
- package/dist/static/assets/{flowDiagram-I6XJVG4X-Cp2YiaJS.js.map → flowDiagram-I6XJVG4X-DaguIeM_.js.map} +1 -1
- package/dist/static/assets/{ganttDiagram-6RSMTGT7-C-jGZVXC.js → ganttDiagram-6RSMTGT7-DIFubQTa.js} +2 -2
- package/dist/static/assets/{ganttDiagram-6RSMTGT7-C-jGZVXC.js.map → ganttDiagram-6RSMTGT7-DIFubQTa.js.map} +1 -1
- package/dist/static/assets/{gitGraphDiagram-PVQCEYII-DDwOyc6i.js → gitGraphDiagram-PVQCEYII-Ht-SDjxh.js} +2 -2
- package/dist/static/assets/{gitGraphDiagram-PVQCEYII-DDwOyc6i.js.map → gitGraphDiagram-PVQCEYII-Ht-SDjxh.js.map} +1 -1
- package/dist/static/assets/index-D5tmHkO_.js +228 -0
- package/dist/static/assets/index-D5tmHkO_.js.map +1 -0
- package/dist/static/assets/index-luXiT-gK.css +1 -0
- package/dist/static/assets/{infoDiagram-5YYISTIA-B_rDp_NJ.js → infoDiagram-5YYISTIA-CwLGA7Zu.js} +2 -2
- package/dist/static/assets/{infoDiagram-5YYISTIA-B_rDp_NJ.js.map → infoDiagram-5YYISTIA-CwLGA7Zu.js.map} +1 -1
- package/dist/static/assets/{ishikawaDiagram-YF4QCWOH-ggQN-_CZ.js → ishikawaDiagram-YF4QCWOH-CaZCrUUR.js} +2 -2
- package/dist/static/assets/{ishikawaDiagram-YF4QCWOH-ggQN-_CZ.js.map → ishikawaDiagram-YF4QCWOH-CaZCrUUR.js.map} +1 -1
- package/dist/static/assets/{journeyDiagram-JHISSGLW-BjEC1jFt.js → journeyDiagram-JHISSGLW-C-j_GoJi.js} +2 -2
- package/dist/static/assets/{journeyDiagram-JHISSGLW-BjEC1jFt.js.map → journeyDiagram-JHISSGLW-C-j_GoJi.js.map} +1 -1
- package/dist/static/assets/{kanban-definition-UN3LZRKU-BVkPEFcm.js → kanban-definition-UN3LZRKU-DlYha85J.js} +2 -2
- package/dist/static/assets/{kanban-definition-UN3LZRKU-BVkPEFcm.js.map → kanban-definition-UN3LZRKU-DlYha85J.js.map} +1 -1
- package/dist/static/assets/{line-L2DeHwdZ.js → line-GCwXS1Fi.js} +2 -2
- package/dist/static/assets/{line-L2DeHwdZ.js.map → line-GCwXS1Fi.js.map} +1 -1
- package/dist/static/assets/mermaid-parser.core-BO_-QleW.js +5 -0
- package/dist/static/assets/{mermaid-parser.core-CZyyUBUW.js.map → mermaid-parser.core-BO_-QleW.js.map} +1 -1
- package/dist/static/assets/{mindmap-definition-RKZ34NQL-uf3ACEiM.js → mindmap-definition-RKZ34NQL-CPJIWJdQ.js} +2 -2
- package/dist/static/assets/{mindmap-definition-RKZ34NQL-uf3ACEiM.js.map → mindmap-definition-RKZ34NQL-CPJIWJdQ.js.map} +1 -1
- package/dist/static/assets/{pieDiagram-4H26LBE5-Dm2S6Ggt.js → pieDiagram-4H26LBE5-DTVmF_CH.js} +2 -2
- package/dist/static/assets/{pieDiagram-4H26LBE5-Dm2S6Ggt.js.map → pieDiagram-4H26LBE5-DTVmF_CH.js.map} +1 -1
- package/dist/static/assets/{quadrantDiagram-W4KKPZXB-CgiO6Q9Y.js → quadrantDiagram-W4KKPZXB-Bho6zy_y.js} +2 -2
- package/dist/static/assets/{quadrantDiagram-W4KKPZXB-CgiO6Q9Y.js.map → quadrantDiagram-W4KKPZXB-Bho6zy_y.js.map} +1 -1
- package/dist/static/assets/{requirementDiagram-4Y6WPE33-BFL5yKh2.js → requirementDiagram-4Y6WPE33-CLyoVwlh.js} +2 -2
- package/dist/static/assets/{requirementDiagram-4Y6WPE33-BFL5yKh2.js.map → requirementDiagram-4Y6WPE33-CLyoVwlh.js.map} +1 -1
- package/dist/static/assets/{sankeyDiagram-5OEKKPKP-DNSdTx8o.js → sankeyDiagram-5OEKKPKP-V2yvk-0Z.js} +2 -2
- package/dist/static/assets/{sankeyDiagram-5OEKKPKP-DNSdTx8o.js.map → sankeyDiagram-5OEKKPKP-V2yvk-0Z.js.map} +1 -1
- package/dist/static/assets/{sequenceDiagram-3UESZ5HK-BMNloRY9.js → sequenceDiagram-3UESZ5HK-Dp03aXVk.js} +2 -2
- package/dist/static/assets/{sequenceDiagram-3UESZ5HK-BMNloRY9.js.map → sequenceDiagram-3UESZ5HK-Dp03aXVk.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-AJRCARHV-B1fkBSkt.js → stateDiagram-AJRCARHV-BEJW-_HK.js} +2 -2
- package/dist/static/assets/{stateDiagram-AJRCARHV-B1fkBSkt.js.map → stateDiagram-AJRCARHV-BEJW-_HK.js.map} +1 -1
- package/dist/static/assets/stateDiagram-v2-BHNVJYJU-Bo19-vKE.js +2 -0
- package/dist/static/assets/{stateDiagram-v2-BHNVJYJU-Fm1RY0qD.js.map → stateDiagram-v2-BHNVJYJU-Bo19-vKE.js.map} +1 -1
- package/dist/static/assets/{timeline-definition-PNZ67QCA-CdNdPzQU.js → timeline-definition-PNZ67QCA-C4KTq0mQ.js} +2 -2
- package/dist/static/assets/{timeline-definition-PNZ67QCA-CdNdPzQU.js.map → timeline-definition-PNZ67QCA-C4KTq0mQ.js.map} +1 -1
- package/dist/static/assets/{vennDiagram-CIIHVFJN-Cfr9Kji9.js → vennDiagram-CIIHVFJN-1jmBZPSZ.js} +2 -2
- package/dist/static/assets/{vennDiagram-CIIHVFJN-Cfr9Kji9.js.map → vennDiagram-CIIHVFJN-1jmBZPSZ.js.map} +1 -1
- package/dist/static/assets/{wardleyDiagram-YWT4CUSO-BU30t5hg.js → wardleyDiagram-YWT4CUSO-A8XYzYTW.js} +2 -2
- package/dist/static/assets/{wardleyDiagram-YWT4CUSO-BU30t5hg.js.map → wardleyDiagram-YWT4CUSO-A8XYzYTW.js.map} +1 -1
- package/dist/static/assets/{xychartDiagram-2RQKCTM6-CbAQZMXv.js → xychartDiagram-2RQKCTM6-CuyUQvFt.js} +2 -2
- package/dist/static/assets/{xychartDiagram-2RQKCTM6-CbAQZMXv.js.map → xychartDiagram-2RQKCTM6-CuyUQvFt.js.map} +1 -1
- package/dist/static/index.html +16 -16
- package/package.json +14 -14
- package/dist/static/assets/channel-DusP3IMn.js +0 -2
- package/dist/static/assets/classDiagram-4FO5ZUOK-SuK_oLpa.js +0 -2
- package/dist/static/assets/classDiagram-v2-Q7XG4LA2-DMlc0uaN.js +0 -2
- package/dist/static/assets/index-BfPuPCFp.js +0 -228
- package/dist/static/assets/index-BfPuPCFp.js.map +0 -1
- package/dist/static/assets/index-CyEgx13R.css +0 -1
- package/dist/static/assets/mermaid-parser.core-CZyyUBUW.js +0 -5
- package/dist/static/assets/stateDiagram-v2-BHNVJYJU-Fm1RY0qD.js +0 -2
package/dist/static/assets/{chunk-5ZQYHXKU-CxDIhrF-.js.map → chunk-5ZQYHXKU-B_3UEJ_q.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-5ZQYHXKU-CxDIhrF-.js","names":["point","noop","point","noop","point","noop","noop","isTypedArray","cloneDeepWith","isTypedArray","isTypedArray","select"],"sources":["../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linear.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/bump.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/noop.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basis.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisClosed.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisOpen.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/bundle.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinal.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinalClosed.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinalOpen.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRom.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRomClosed.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRomOpen.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linearClosed.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/monotone.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/natural.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/step.js","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/predicate/isLength.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/predicate/isPrimitive.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/_internal/getTag.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/_internal/tags.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/_internal/globalThis.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/predicate/isBuffer.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/object/cloneDeepWith.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/object/cloneDeep.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/function/memoize.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/function/noop.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/object/clone.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/object/mergeWith.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/object/merge.mjs","../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5ZQYHXKU.mjs"],"sourcesContent":["function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","import pointRadial from \"../pointRadial.js\";\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);\n else this._context.moveTo(x, y);\n break;\n }\n case 1: this._point = 2; // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {}\n point(x, y) {\n x = +x, y = +y;\n if (this._point === 0) {\n this._point = 1;\n } else {\n const p0 = pointRadial(this._x0, this._y0);\n const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = pointRadial(x, this._y0);\n const p3 = pointRadial(x, y);\n this._context.moveTo(...p0);\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\n}\n\nexport function bumpRadial(context) {\n return new BumpRadial(context);\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","function isLength(value) {\n return Number.isSafeInteger(value) && value >= 0;\n}\n\nexport { isLength };\n","import { isLength } from '../../predicate/isLength.mjs';\n\nfunction isArrayLike(value) {\n return value != null && typeof value !== 'function' && isLength(value.length);\n}\n\nexport { isArrayLike };\n","function isUnsafeProperty(key) {\n return key === '__proto__';\n}\n\nexport { isUnsafeProperty };\n","function isPrimitive(value) {\n return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n\nexport { isPrimitive };\n","function getSymbols(object) {\n return Object.getOwnPropertySymbols(object).filter(symbol => Object.prototype.propertyIsEnumerable.call(object, symbol));\n}\n\nexport { getSymbols };\n","function getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return Object.prototype.toString.call(value);\n}\n\nexport { getTag };\n","const regexpTag = '[object RegExp]';\nconst stringTag = '[object String]';\nconst numberTag = '[object Number]';\nconst booleanTag = '[object Boolean]';\nconst argumentsTag = '[object Arguments]';\nconst symbolTag = '[object Symbol]';\nconst dateTag = '[object Date]';\nconst mapTag = '[object Map]';\nconst setTag = '[object Set]';\nconst arrayTag = '[object Array]';\nconst functionTag = '[object Function]';\nconst arrayBufferTag = '[object ArrayBuffer]';\nconst objectTag = '[object Object]';\nconst errorTag = '[object Error]';\nconst dataViewTag = '[object DataView]';\nconst uint8ArrayTag = '[object Uint8Array]';\nconst uint8ClampedArrayTag = '[object Uint8ClampedArray]';\nconst uint16ArrayTag = '[object Uint16Array]';\nconst uint32ArrayTag = '[object Uint32Array]';\nconst bigUint64ArrayTag = '[object BigUint64Array]';\nconst int8ArrayTag = '[object Int8Array]';\nconst int16ArrayTag = '[object Int16Array]';\nconst int32ArrayTag = '[object Int32Array]';\nconst bigInt64ArrayTag = '[object BigInt64Array]';\nconst float32ArrayTag = '[object Float32Array]';\nconst float64ArrayTag = '[object Float64Array]';\n\nexport { argumentsTag, arrayBufferTag, arrayTag, bigInt64ArrayTag, bigUint64ArrayTag, booleanTag, dataViewTag, dateTag, errorTag, float32ArrayTag, float64ArrayTag, functionTag, int16ArrayTag, int32ArrayTag, int8ArrayTag, mapTag, numberTag, objectTag, regexpTag, setTag, stringTag, symbolTag, uint16ArrayTag, uint32ArrayTag, uint8ArrayTag, uint8ClampedArrayTag };\n","const globalThis_ = (typeof globalThis === 'object' && globalThis) ||\n (typeof window === 'object' && window) ||\n (typeof self === 'object' && self) ||\n (typeof global === 'object' && global) ||\n (function () {\n return this;\n })() ||\n Function('return this')();\n\nexport { globalThis_ as globalThis };\n","import { globalThis as globalThis_ } from '../_internal/globalThis.mjs';\n\nfunction isBuffer(x) {\n return typeof globalThis_.Buffer !== 'undefined' && globalThis_.Buffer.isBuffer(x);\n}\n\nexport { isBuffer };\n","function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","import { getSymbols } from '../compat/_internal/getSymbols.mjs';\nimport { getTag } from '../compat/_internal/getTag.mjs';\nimport { uint32ArrayTag, uint16ArrayTag, uint8ClampedArrayTag, uint8ArrayTag, symbolTag, stringTag, setTag, regexpTag, objectTag, numberTag, mapTag, int32ArrayTag, int16ArrayTag, int8ArrayTag, float64ArrayTag, float32ArrayTag, dateTag, booleanTag, dataViewTag, arrayBufferTag, arrayTag, argumentsTag } from '../compat/_internal/tags.mjs';\nimport { isBuffer } from '../predicate/isBuffer.mjs';\nimport { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction cloneDeepWith(obj, cloneValue) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), cloneValue);\n}\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map(), cloneValue = undefined) {\n const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned !== undefined) {\n return cloned;\n }\n if (isPrimitive(valueToClone)) {\n return valueToClone;\n }\n if (stack.has(valueToClone)) {\n return stack.get(valueToClone);\n }\n if (Array.isArray(valueToClone)) {\n const result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n if (Object.hasOwn(valueToClone, 'index')) {\n result.index = valueToClone.index;\n }\n if (Object.hasOwn(valueToClone, 'input')) {\n result.input = valueToClone.input;\n }\n return result;\n }\n if (valueToClone instanceof Date) {\n return new Date(valueToClone.getTime());\n }\n if (valueToClone instanceof RegExp) {\n const result = new RegExp(valueToClone.source, valueToClone.flags);\n result.lastIndex = valueToClone.lastIndex;\n return result;\n }\n if (valueToClone instanceof Map) {\n const result = new Map();\n stack.set(valueToClone, result);\n for (const [key, value] of valueToClone) {\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (valueToClone instanceof Set) {\n const result = new Set();\n stack.set(valueToClone, result);\n for (const value of valueToClone) {\n result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (isBuffer(valueToClone)) {\n return valueToClone.subarray();\n }\n if (isTypedArray(valueToClone)) {\n const result = new (Object.getPrototypeOf(valueToClone).constructor)(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n return result;\n }\n if (valueToClone instanceof ArrayBuffer ||\n (typeof SharedArrayBuffer !== 'undefined' && valueToClone instanceof SharedArrayBuffer)) {\n return valueToClone.slice(0);\n }\n if (valueToClone instanceof DataView) {\n const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof File !== 'undefined' && valueToClone instanceof File) {\n const result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type,\n });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof Blob !== 'undefined' && valueToClone instanceof Blob) {\n const result = new Blob([valueToClone], { type: valueToClone.type });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Error) {\n const result = structuredClone(valueToClone);\n stack.set(valueToClone, result);\n result.message = valueToClone.message;\n result.name = valueToClone.name;\n result.stack = valueToClone.stack;\n result.cause = valueToClone.cause;\n result.constructor = valueToClone.constructor;\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Boolean) {\n const result = new Boolean(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Number) {\n const result = new Number(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof String) {\n const result = new String(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof valueToClone === 'object' && isCloneableObject(valueToClone)) {\n const result = Object.create(Object.getPrototypeOf(valueToClone));\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n return valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n const keys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n }\n }\n}\nfunction isCloneableObject(object) {\n switch (getTag(object)) {\n case argumentsTag:\n case arrayTag:\n case arrayBufferTag:\n case dataViewTag:\n case booleanTag:\n case dateTag:\n case float32ArrayTag:\n case float64ArrayTag:\n case int8ArrayTag:\n case int16ArrayTag:\n case int32ArrayTag:\n case mapTag:\n case numberTag:\n case objectTag:\n case regexpTag:\n case setTag:\n case stringTag:\n case symbolTag:\n case uint8ArrayTag:\n case uint8ClampedArrayTag:\n case uint16ArrayTag:\n case uint32ArrayTag: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\nexport { cloneDeepWith, cloneDeepWithImpl, copyProperties };\n","import { cloneDeepWith as cloneDeepWith$1, copyProperties } from '../../object/cloneDeepWith.mjs';\nimport { getTag } from '../_internal/getTag.mjs';\nimport { objectTag, argumentsTag, booleanTag, stringTag, numberTag } from '../_internal/tags.mjs';\n\nfunction cloneDeepWith(obj, customizer) {\n return cloneDeepWith$1(obj, (value, key, object, stack) => {\n const cloned = customizer?.(value, key, object, stack);\n if (cloned !== undefined) {\n return cloned;\n }\n if (typeof obj !== 'object') {\n return undefined;\n }\n if (getTag(obj) === objectTag && typeof obj.constructor !== 'function') {\n const result = {};\n stack.set(obj, result);\n copyProperties(result, obj, object, stack);\n return result;\n }\n switch (Object.prototype.toString.call(obj)) {\n case numberTag:\n case stringTag:\n case booleanTag: {\n const result = new obj.constructor(obj?.valueOf());\n copyProperties(result, obj);\n return result;\n }\n case argumentsTag: {\n const result = {};\n copyProperties(result, obj);\n result.length = obj.length;\n result[Symbol.iterator] = obj[Symbol.iterator];\n return result;\n }\n default: {\n return undefined;\n }\n }\n });\n}\n\nexport { cloneDeepWith };\n","import { cloneDeepWith } from './cloneDeepWith.mjs';\n\nfunction cloneDeep(obj) {\n return cloneDeepWith(obj);\n}\n\nexport { cloneDeep };\n","import { getTag } from '../_internal/getTag.mjs';\n\nfunction isArguments(value) {\n return value !== null && typeof value === 'object' && getTag(value) === '[object Arguments]';\n}\n\nexport { isArguments };\n","function isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\n\nexport { isObjectLike };\n","import { isArrayLike } from './isArrayLike.mjs';\nimport { isObjectLike } from './isObjectLike.mjs';\n\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport { isArrayLikeObject };\n","function memoize(func, resolver) {\n if (typeof func !== 'function' || (resolver != null && typeof resolver !== 'function')) {\n throw new TypeError('Expected a function');\n }\n const memoized = function (...args) {\n const key = resolver ? resolver.apply(this, args) : args[0];\n const cache = memoized.cache;\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n const CacheConstructor = memoize.Cache || Map;\n memoized.cache = new CacheConstructor();\n return memoized;\n}\nmemoize.Cache = Map;\n\nexport { memoize };\n","function noop() { }\n\nexport { noop };\n","import { isTypedArray as isTypedArray$1 } from '../../predicate/isTypedArray.mjs';\n\nfunction isTypedArray(x) {\n return isTypedArray$1(x);\n}\n\nexport { isTypedArray };\n","function isPlainObject(object) {\n if (typeof object !== 'object') {\n return false;\n }\n if (object == null) {\n return false;\n }\n if (Object.getPrototypeOf(object) === null) {\n return true;\n }\n if (Object.prototype.toString.call(object) !== '[object Object]') {\n const tag = object[Symbol.toStringTag];\n if (tag == null) {\n return false;\n }\n const isTagReadonly = !Object.getOwnPropertyDescriptor(object, Symbol.toStringTag)?.writable;\n if (isTagReadonly) {\n return false;\n }\n return object.toString() === `[object ${tag}]`;\n }\n let proto = object;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(object) === proto;\n}\n\nexport { isPlainObject };\n","import { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction clone(obj) {\n if (isPrimitive(obj)) {\n return obj;\n }\n if (Array.isArray(obj) ||\n isTypedArray(obj) ||\n obj instanceof ArrayBuffer ||\n (typeof SharedArrayBuffer !== 'undefined' && obj instanceof SharedArrayBuffer)) {\n return obj.slice(0);\n }\n const prototype = Object.getPrototypeOf(obj);\n if (prototype == null) {\n return Object.assign(Object.create(prototype), obj);\n }\n const Constructor = prototype.constructor;\n if (obj instanceof Date || obj instanceof Map || obj instanceof Set) {\n return new Constructor(obj);\n }\n if (obj instanceof RegExp) {\n const newRegExp = new Constructor(obj);\n newRegExp.lastIndex = obj.lastIndex;\n return newRegExp;\n }\n if (obj instanceof DataView) {\n return new Constructor(obj.buffer.slice(0));\n }\n if (obj instanceof Error) {\n let newError;\n if (obj instanceof AggregateError) {\n newError = new Constructor(obj.errors, obj.message, { cause: obj.cause });\n }\n else {\n newError = new Constructor(obj.message, { cause: obj.cause });\n }\n newError.stack = obj.stack;\n Object.assign(newError, obj);\n return newError;\n }\n if (typeof File !== 'undefined' && obj instanceof File) {\n const newFile = new Constructor([obj], obj.name, { type: obj.type, lastModified: obj.lastModified });\n return newFile;\n }\n if (typeof obj === 'object') {\n const newObject = Object.create(prototype);\n return Object.assign(newObject, obj);\n }\n return obj;\n}\n\nexport { clone };\n","import { cloneDeep } from './cloneDeep.mjs';\nimport { isUnsafeProperty } from '../../_internal/isUnsafeProperty.mjs';\nimport { clone } from '../../object/clone.mjs';\nimport { isBuffer } from '../../predicate/isBuffer.mjs';\nimport { isPrimitive } from '../../predicate/isPrimitive.mjs';\nimport { getSymbols } from '../_internal/getSymbols.mjs';\nimport { isArguments } from '../predicate/isArguments.mjs';\nimport { isArrayLikeObject } from '../predicate/isArrayLikeObject.mjs';\nimport { isObjectLike } from '../predicate/isObjectLike.mjs';\nimport { isPlainObject } from '../predicate/isPlainObject.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction mergeWith(object, ...otherArgs) {\n const sources = otherArgs.slice(0, -1);\n const merge = otherArgs[otherArgs.length - 1];\n let result = object;\n for (let i = 0; i < sources.length; i++) {\n const source = sources[i];\n result = mergeWithDeep(result, source, merge, new Map());\n }\n return result;\n}\nfunction mergeWithDeep(target, source, merge, stack) {\n if (isPrimitive(target)) {\n target = Object(target);\n }\n if (source == null || typeof source !== 'object') {\n return target;\n }\n if (stack.has(source)) {\n return clone(stack.get(source));\n }\n stack.set(source, target);\n if (Array.isArray(source)) {\n source = source.slice();\n for (let i = 0; i < source.length; i++) {\n source[i] = source[i] ?? undefined;\n }\n }\n const sourceKeys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < sourceKeys.length; i++) {\n const key = sourceKeys[i];\n if (isUnsafeProperty(key)) {\n continue;\n }\n let sourceValue = source[key];\n let targetValue = target[key];\n if (isArguments(sourceValue)) {\n sourceValue = { ...sourceValue };\n }\n if (isArguments(targetValue)) {\n targetValue = { ...targetValue };\n }\n if (isBuffer(sourceValue)) {\n sourceValue = cloneDeep(sourceValue);\n }\n if (Array.isArray(sourceValue)) {\n if (Array.isArray(targetValue)) {\n const cloned = [];\n const targetKeys = Reflect.ownKeys(targetValue);\n for (let i = 0; i < targetKeys.length; i++) {\n const targetKey = targetKeys[i];\n cloned[targetKey] = targetValue[targetKey];\n }\n targetValue = cloned;\n }\n else if (isArrayLikeObject(targetValue)) {\n const cloned = [];\n for (let i = 0; i < targetValue.length; i++) {\n cloned[i] = targetValue[i];\n }\n targetValue = cloned;\n }\n else {\n targetValue = [];\n }\n }\n const merged = merge(targetValue, sourceValue, key, target, source, stack);\n if (merged !== undefined) {\n target[key] = merged;\n }\n else if (Array.isArray(sourceValue)) {\n target[key] = mergeWithDeep(targetValue, sourceValue, merge, stack);\n }\n else if (isObjectLike(targetValue) &&\n isObjectLike(sourceValue) &&\n (isPlainObject(targetValue) ||\n isPlainObject(sourceValue) ||\n isTypedArray(targetValue) ||\n isTypedArray(sourceValue))) {\n target[key] = mergeWithDeep(targetValue, sourceValue, merge, stack);\n }\n else if (targetValue == null && isPlainObject(sourceValue)) {\n target[key] = mergeWithDeep({}, sourceValue, merge, stack);\n }\n else if (targetValue == null && isTypedArray(sourceValue)) {\n target[key] = cloneDeep(sourceValue);\n }\n else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n return target;\n}\n\nexport { mergeWith };\n","import { mergeWith } from './mergeWith.mjs';\nimport { noop } from '../../function/noop.mjs';\n\nfunction merge(object, ...sources) {\n return mergeWith(object, ...sources, noop);\n}\n\nexport { merge };\n","import {\n assignWithDepth_default,\n common_default,\n detectType,\n directiveRegex,\n sanitizeDirective\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/utils.ts\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nimport {\n curveBasis,\n curveBasisClosed,\n curveBasisOpen,\n curveBumpX,\n curveBumpY,\n curveBundle,\n curveCardinalClosed,\n curveCardinalOpen,\n curveCardinal,\n curveCatmullRomClosed,\n curveCatmullRomOpen,\n curveCatmullRom,\n curveLinear,\n curveLinearClosed,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore,\n select\n} from \"d3\";\nimport { memoize, merge } from \"es-toolkit/compat\";\nvar ZERO_WIDTH_SPACE = \"\\u200B\";\nvar d3CurveTypes = {\n curveBasis,\n curveBasisClosed,\n curveBasisOpen,\n curveBumpX,\n curveBumpY,\n curveBundle,\n curveCardinalClosed,\n curveCardinalOpen,\n curveCardinal,\n curveCatmullRomClosed,\n curveCatmullRomOpen,\n curveCatmullRom,\n curveLinear,\n curveLinearClosed,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore\n};\nvar directiveWithoutOpen = /\\s*(?:(\\w+)(?=:):|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nvar detectInit = /* @__PURE__ */ __name(function(text, config) {\n const inits = detectDirective(text, /(?:init\\b)|(?:initialize\\b)/);\n let results = {};\n if (Array.isArray(inits)) {\n const args = inits.map((init) => init.args);\n sanitizeDirective(args);\n results = assignWithDepth_default(results, [...args]);\n } else {\n results = inits.args;\n }\n if (!results) {\n return;\n }\n let type = detectType(text, config);\n const prop = \"config\";\n if (results[prop] !== void 0) {\n if (type === \"flowchart-v2\") {\n type = \"flowchart\";\n }\n results[type] = results[prop];\n delete results[prop];\n }\n return results;\n}, \"detectInit\");\nvar detectDirective = /* @__PURE__ */ __name(function(text, type = null) {\n try {\n const commentWithoutDirectives = new RegExp(\n `[%]{2}(?![{]${directiveWithoutOpen.source})(?=[}][%]{2}).*\n`,\n \"ig\"\n );\n text = text.trim().replace(commentWithoutDirectives, \"\").replace(/'/gm, '\"');\n log.debug(\n `Detecting diagram directive${type !== null ? \" type:\" + type : \"\"} based on the text:${text}`\n );\n let match;\n const result = [];\n while ((match = directiveRegex.exec(text)) !== null) {\n if (match.index === directiveRegex.lastIndex) {\n directiveRegex.lastIndex++;\n }\n if (match && !type || type && match[1]?.match(type) || type && match[2]?.match(type)) {\n const type2 = match[1] ? match[1] : match[2];\n const args = match[3] ? match[3].trim() : match[4] ? JSON.parse(match[4].trim()) : null;\n result.push({ type: type2, args });\n }\n }\n if (result.length === 0) {\n return { type: text, args: null };\n }\n return result.length === 1 ? result[0] : result;\n } catch (error) {\n log.error(\n `ERROR: ${error.message} - Unable to parse directive type: '${type}' based on the text: '${text}'`\n );\n return { type: void 0, args: null };\n }\n}, \"detectDirective\");\nvar removeDirectives = /* @__PURE__ */ __name(function(text) {\n return text.replace(directiveRegex, \"\");\n}, \"removeDirectives\");\nvar isSubstringInArray = /* @__PURE__ */ __name(function(str, arr) {\n for (const [i, element] of arr.entries()) {\n if (element.match(str)) {\n return i;\n }\n }\n return -1;\n}, \"isSubstringInArray\");\nfunction interpolateToCurve(interpolate, defaultCurve) {\n if (!interpolate) {\n return defaultCurve;\n }\n const curveName = `curve${interpolate.charAt(0).toUpperCase() + interpolate.slice(1)}`;\n return d3CurveTypes[curveName] ?? defaultCurve;\n}\n__name(interpolateToCurve, \"interpolateToCurve\");\nfunction formatUrl(linkStr, config) {\n const url = linkStr.trim();\n if (!url) {\n return void 0;\n }\n if (config.securityLevel !== \"loose\") {\n return sanitizeUrl(url);\n }\n return url;\n}\n__name(formatUrl, \"formatUrl\");\nvar runFunc = /* @__PURE__ */ __name((functionName, ...params) => {\n const arrPaths = functionName.split(\".\");\n const len = arrPaths.length - 1;\n const fnName = arrPaths[len];\n let obj = window;\n for (let i = 0; i < len; i++) {\n obj = obj[arrPaths[i]];\n if (!obj) {\n log.error(`Function name: ${functionName} not found in window`);\n return;\n }\n }\n obj[fnName](...params);\n}, \"runFunc\");\nfunction distance(p1, p2) {\n if (!p1 || !p2) {\n return 0;\n }\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n__name(distance, \"distance\");\nfunction traverseEdge(points) {\n let prevPoint;\n let totalDistance = 0;\n points.forEach((point) => {\n totalDistance += distance(point, prevPoint);\n prevPoint = point;\n });\n const remainingDistance = totalDistance / 2;\n return calculatePoint(points, remainingDistance);\n}\n__name(traverseEdge, \"traverseEdge\");\nfunction calcLabelPosition(points) {\n if (points.length === 1) {\n return points[0];\n }\n return traverseEdge(points);\n}\n__name(calcLabelPosition, \"calcLabelPosition\");\nvar roundNumber = /* @__PURE__ */ __name((num, precision = 2) => {\n const factor = Math.pow(10, precision);\n return Math.round(num * factor) / factor;\n}, \"roundNumber\");\nvar calculatePoint = /* @__PURE__ */ __name((points, distanceToTraverse) => {\n let prevPoint = void 0;\n let remainingDistance = distanceToTraverse;\n for (const point of points) {\n if (prevPoint) {\n const vectorDistance = distance(point, prevPoint);\n if (vectorDistance === 0) {\n return prevPoint;\n }\n if (vectorDistance < remainingDistance) {\n remainingDistance -= vectorDistance;\n } else {\n const distanceRatio = remainingDistance / vectorDistance;\n if (distanceRatio <= 0) {\n return prevPoint;\n }\n if (distanceRatio >= 1) {\n return { x: point.x, y: point.y };\n }\n if (distanceRatio > 0 && distanceRatio < 1) {\n return {\n x: roundNumber((1 - distanceRatio) * prevPoint.x + distanceRatio * point.x, 5),\n y: roundNumber((1 - distanceRatio) * prevPoint.y + distanceRatio * point.y, 5)\n };\n }\n }\n }\n prevPoint = point;\n }\n throw new Error(\"Could not find a suitable point for the given distance\");\n}, \"calculatePoint\");\nvar calcCardinalityPosition = /* @__PURE__ */ __name((isRelationTypePresent, points, initialPosition) => {\n log.info(`our points ${JSON.stringify(points)}`);\n if (points[0] !== initialPosition) {\n points = points.reverse();\n }\n const distanceToCardinalityPoint = 25;\n const center = calculatePoint(points, distanceToCardinalityPoint);\n const d = isRelationTypePresent ? 10 : 5;\n const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);\n const cardinalityPosition = { x: 0, y: 0 };\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;\n return cardinalityPosition;\n}, \"calcCardinalityPosition\");\nfunction calcTerminalLabelPosition(terminalMarkerSize, position, _points) {\n const points = structuredClone(_points);\n log.info(\"our points\", points);\n if (position !== \"start_left\" && position !== \"start_right\") {\n points.reverse();\n }\n const distanceToCardinalityPoint = 25 + terminalMarkerSize;\n const center = calculatePoint(points, distanceToCardinalityPoint);\n const d = 10 + terminalMarkerSize * 0.5;\n const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);\n const cardinalityPosition = { x: 0, y: 0 };\n if (position === \"start_left\") {\n cardinalityPosition.x = Math.sin(angle + Math.PI) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle + Math.PI) * d + (points[0].y + center.y) / 2;\n } else if (position === \"end_right\") {\n cardinalityPosition.x = Math.sin(angle - Math.PI) * d + (points[0].x + center.x) / 2 - 5;\n cardinalityPosition.y = -Math.cos(angle - Math.PI) * d + (points[0].y + center.y) / 2 - 5;\n } else if (position === \"end_left\") {\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2 - 5;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2 - 5;\n } else {\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;\n }\n return cardinalityPosition;\n}\n__name(calcTerminalLabelPosition, \"calcTerminalLabelPosition\");\nfunction getStylesFromArray(arr) {\n let style = \"\";\n let labelStyle = \"\";\n for (const element of arr) {\n if (element !== void 0) {\n if (element.startsWith(\"color:\") || element.startsWith(\"text-align:\")) {\n labelStyle = labelStyle + element + \";\";\n } else {\n style = style + element + \";\";\n }\n }\n }\n return { style, labelStyle };\n}\n__name(getStylesFromArray, \"getStylesFromArray\");\nvar cnt = 0;\nvar generateId = /* @__PURE__ */ __name(() => {\n cnt++;\n return \"id-\" + Math.random().toString(36).substr(2, 12) + \"-\" + cnt;\n}, \"generateId\");\nfunction makeRandomHex(length) {\n let result = \"\";\n const characters = \"0123456789abcdef\";\n const charactersLength = characters.length;\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n__name(makeRandomHex, \"makeRandomHex\");\nvar random = /* @__PURE__ */ __name((options) => {\n return makeRandomHex(options.length);\n}, \"random\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n anchor: \"start\",\n style: \"#666\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0,\n valign: void 0,\n text: \"\"\n };\n}, \"getTextObj\");\nvar drawSimpleText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(common_default.lineBreakRegex, \" \");\n const [, _fontSizePx] = parseFontSize(textData.fontSize);\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.style(\"text-anchor\", textData.anchor);\n textElem.style(\"font-family\", textData.fontFamily);\n textElem.style(\"font-size\", _fontSizePx);\n textElem.style(\"font-weight\", textData.fontWeight);\n textElem.attr(\"fill\", textData.fill);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.attr(\"fill\", textData.fill);\n span.text(nText);\n return textElem;\n}, \"drawSimpleText\");\nvar wrapLabel = memoize(\n (label, maxWidth, config) => {\n if (!label) {\n return label;\n }\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: \"Arial\", joinWith: \"<br/>\" },\n config\n );\n if (common_default.lineBreakRegex.test(label)) {\n return label;\n }\n const words = label.split(\" \").filter(Boolean);\n const completedLines = [];\n let nextLine = \"\";\n words.forEach((word, index) => {\n const wordLength = calculateTextWidth(`${word} `, config);\n const nextLineLength = calculateTextWidth(nextLine, config);\n if (wordLength > maxWidth) {\n const { hyphenatedStrings, remainingWord } = breakString(word, maxWidth, \"-\", config);\n completedLines.push(nextLine, ...hyphenatedStrings);\n nextLine = remainingWord;\n } else if (nextLineLength + wordLength >= maxWidth) {\n completedLines.push(nextLine);\n nextLine = word;\n } else {\n nextLine = [nextLine, word].filter(Boolean).join(\" \");\n }\n const currentWord = index + 1;\n const isLastWord = currentWord === words.length;\n if (isLastWord) {\n completedLines.push(nextLine);\n }\n });\n return completedLines.filter((line) => line !== \"\").join(config.joinWith);\n },\n (label, maxWidth, config) => `${label}${maxWidth}${config.fontSize}${config.fontWeight}${config.fontFamily}${config.joinWith}`\n);\nvar breakString = memoize(\n (word, maxWidth, hyphenCharacter = \"-\", config) => {\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: \"Arial\", margin: 0 },\n config\n );\n const characters = [...word];\n const lines = [];\n let currentLine = \"\";\n characters.forEach((character, index) => {\n const nextLine = `${currentLine}${character}`;\n const lineWidth = calculateTextWidth(nextLine, config);\n if (lineWidth >= maxWidth) {\n const currentCharacter = index + 1;\n const isLastLine = characters.length === currentCharacter;\n const hyphenatedNextLine = `${nextLine}${hyphenCharacter}`;\n lines.push(isLastLine ? nextLine : hyphenatedNextLine);\n currentLine = \"\";\n } else {\n currentLine = nextLine;\n }\n });\n return { hyphenatedStrings: lines, remainingWord: currentLine };\n },\n (word, maxWidth, hyphenCharacter = \"-\", config) => `${word}${maxWidth}${hyphenCharacter}${config.fontSize}${config.fontWeight}${config.fontFamily}`\n);\nfunction calculateTextHeight(text, config) {\n return calculateTextDimensions(text, config).height;\n}\n__name(calculateTextHeight, \"calculateTextHeight\");\nfunction calculateTextWidth(text, config) {\n return calculateTextDimensions(text, config).width;\n}\n__name(calculateTextWidth, \"calculateTextWidth\");\nvar calculateTextDimensions = memoize(\n (text, config) => {\n const { fontSize = 12, fontFamily = \"Arial\", fontWeight = 400 } = config;\n if (!text) {\n return { width: 0, height: 0 };\n }\n const [, _fontSizePx] = parseFontSize(fontSize);\n const fontFamilies = [\"sans-serif\", fontFamily];\n const lines = text.split(common_default.lineBreakRegex);\n const dims = [];\n const body = select(\"body\");\n if (!body.remove) {\n return { width: 0, height: 0, lineHeight: 0 };\n }\n const g = body.append(\"svg\");\n for (const fontFamily2 of fontFamilies) {\n let cHeight = 0;\n const dim = { width: 0, height: 0, lineHeight: 0 };\n for (const line of lines) {\n const textObj = getTextObj();\n textObj.text = line || ZERO_WIDTH_SPACE;\n const textElem = drawSimpleText(g, textObj).style(\"font-size\", _fontSizePx).style(\"font-weight\", fontWeight).style(\"font-family\", fontFamily2);\n const bBox = (textElem._groups || textElem)[0][0].getBBox();\n if (bBox.width === 0 && bBox.height === 0) {\n throw new Error(\"svg element not in render tree\");\n }\n dim.width = Math.round(Math.max(dim.width, bBox.width));\n cHeight = Math.round(bBox.height);\n dim.height += cHeight;\n dim.lineHeight = Math.round(Math.max(dim.lineHeight, cHeight));\n }\n dims.push(dim);\n }\n g.remove();\n const index = isNaN(dims[1].height) || isNaN(dims[1].width) || isNaN(dims[1].lineHeight) || dims[0].height > dims[1].height && dims[0].width > dims[1].width && dims[0].lineHeight > dims[1].lineHeight ? 0 : 1;\n return dims[index];\n },\n (text, config) => `${text}${config.fontSize}${config.fontWeight}${config.fontFamily}`\n);\nvar InitIDGenerator = class {\n constructor(deterministic = false, seed) {\n this.count = 0;\n this.count = seed ? seed.length : 0;\n this.next = deterministic ? () => this.count++ : () => Date.now();\n }\n static {\n __name(this, \"InitIDGenerator\");\n }\n};\nvar decoder;\nvar entityDecode = /* @__PURE__ */ __name(function(html) {\n decoder = decoder || document.createElement(\"div\");\n html = escape(html).replace(/%26/g, \"&\").replace(/%23/g, \"#\").replace(/%3B/g, \";\");\n decoder.innerHTML = html;\n return unescape(decoder.textContent);\n}, \"entityDecode\");\nfunction isDetailedError(error) {\n return \"str\" in error;\n}\n__name(isDetailedError, \"isDetailedError\");\nvar insertTitle = /* @__PURE__ */ __name((parent, cssClass, titleTopMargin, title) => {\n if (!title) {\n return;\n }\n const bounds = parent.node()?.getBBox();\n if (!bounds) {\n return;\n }\n parent.append(\"text\").text(title).attr(\"text-anchor\", \"middle\").attr(\"x\", bounds.x + bounds.width / 2).attr(\"y\", -titleTopMargin).attr(\"class\", cssClass);\n}, \"insertTitle\");\nvar parseFontSize = /* @__PURE__ */ __name((fontSize) => {\n if (typeof fontSize === \"number\") {\n return [fontSize, fontSize + \"px\"];\n }\n const fontSizeNumber = parseInt(fontSize ?? \"\", 10);\n if (Number.isNaN(fontSizeNumber)) {\n return [void 0, void 0];\n } else if (fontSize === String(fontSizeNumber)) {\n return [fontSizeNumber, fontSize + \"px\"];\n } else {\n return [fontSizeNumber, fontSize];\n }\n}, \"parseFontSize\");\nfunction cleanAndMerge(defaultData, data) {\n return merge({}, defaultData, data);\n}\n__name(cleanAndMerge, \"cleanAndMerge\");\nvar utils_default = {\n assignWithDepth: assignWithDepth_default,\n wrapLabel,\n calculateTextHeight,\n calculateTextWidth,\n calculateTextDimensions,\n cleanAndMerge,\n detectInit,\n detectDirective,\n isSubstringInArray,\n interpolateToCurve,\n calcLabelPosition,\n calcCardinalityPosition,\n calcTerminalLabelPosition,\n formatUrl,\n getStylesFromArray,\n generateId,\n random,\n runFunc,\n entityDecode,\n insertTitle,\n isLabelCoordinateInPath,\n parseFontSize,\n InitIDGenerator\n};\nvar encodeEntities = /* @__PURE__ */ __name(function(text) {\n let txt = text;\n txt = txt.replace(/style.*:\\S*#.*;/g, function(s) {\n return s.substring(0, s.length - 1);\n });\n txt = txt.replace(/classDef.*:\\S*#.*;/g, function(s) {\n return s.substring(0, s.length - 1);\n });\n txt = txt.replace(/#\\w+;/g, function(s) {\n const innerTxt = s.substring(1, s.length - 1);\n const isInt = /^\\+?\\d+$/.test(innerTxt);\n if (isInt) {\n return \"\\uFB02\\xB0\\xB0\" + innerTxt + \"\\xB6\\xDF\";\n } else {\n return \"\\uFB02\\xB0\" + innerTxt + \"\\xB6\\xDF\";\n }\n });\n return txt;\n}, \"encodeEntities\");\nvar decodeEntities = /* @__PURE__ */ __name(function(text) {\n return text.replace(/fl°°/g, \"&#\").replace(/fl°/g, \"&\").replace(/¶ß/g, \";\");\n}, \"decodeEntities\");\nvar getEdgeId = /* @__PURE__ */ __name((from, to, {\n counter = 0,\n prefix,\n suffix\n}, id) => {\n if (id) {\n return id;\n }\n return `${prefix ? `${prefix}_` : \"\"}${from}_${to}_${counter}${suffix ? `_${suffix}` : \"\"}`;\n}, \"getEdgeId\");\nfunction handleUndefinedAttr(attrValue) {\n return attrValue ?? null;\n}\n__name(handleUndefinedAttr, \"handleUndefinedAttr\");\nfunction isLabelCoordinateInPath(point, dAttr) {\n const roundedX = Math.round(point.x);\n const roundedY = Math.round(point.y);\n const sanitizedD = dAttr.replace(\n /(\\d+\\.\\d+)/g,\n (match) => Math.round(parseFloat(match)).toString()\n );\n return sanitizedD.includes(roundedX.toString()) || sanitizedD.includes(roundedY.toString());\n}\n__name(isLabelCoordinateInPath, \"isLabelCoordinateInPath\");\n\nexport {\n ZERO_WIDTH_SPACE,\n removeDirectives,\n interpolateToCurve,\n getStylesFromArray,\n generateId,\n random,\n wrapLabel,\n calculateTextHeight,\n calculateTextWidth,\n calculateTextDimensions,\n isDetailedError,\n parseFontSize,\n cleanAndMerge,\n utils_default,\n encodeEntities,\n decodeEntities,\n getEdgeId,\n handleUndefinedAttr\n};\n"],"x_google_ignoreList":[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,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chunk-5ZQYHXKU-B_3UEJ_q.js","names":["point","noop","point","noop","point","noop","noop","isTypedArray","cloneDeepWith","isTypedArray","isTypedArray","select"],"sources":["../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linear.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/bump.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/noop.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basis.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisClosed.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisOpen.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/bundle.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinal.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinalClosed.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinalOpen.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRom.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRomClosed.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRomOpen.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linearClosed.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/monotone.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/natural.js","../../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/step.js","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/predicate/isLength.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/predicate/isPrimitive.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/_internal/getTag.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/_internal/tags.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/_internal/globalThis.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/predicate/isBuffer.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/object/cloneDeepWith.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/object/cloneDeep.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/function/memoize.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/function/noop.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/object/clone.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/object/mergeWith.mjs","../../../../../node_modules/.pnpm/es-toolkit@1.46.1/node_modules/es-toolkit/dist/compat/object/merge.mjs","../../../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5ZQYHXKU.mjs"],"sourcesContent":["function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","import pointRadial from \"../pointRadial.js\";\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);\n else this._context.moveTo(x, y);\n break;\n }\n case 1: this._point = 2; // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {}\n point(x, y) {\n x = +x, y = +y;\n if (this._point === 0) {\n this._point = 1;\n } else {\n const p0 = pointRadial(this._x0, this._y0);\n const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = pointRadial(x, this._y0);\n const p3 = pointRadial(x, y);\n this._context.moveTo(...p0);\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\n}\n\nexport function bumpRadial(context) {\n return new BumpRadial(context);\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","function isLength(value) {\n return Number.isSafeInteger(value) && value >= 0;\n}\n\nexport { isLength };\n","import { isLength } from '../../predicate/isLength.mjs';\n\nfunction isArrayLike(value) {\n return value != null && typeof value !== 'function' && isLength(value.length);\n}\n\nexport { isArrayLike };\n","function isUnsafeProperty(key) {\n return key === '__proto__';\n}\n\nexport { isUnsafeProperty };\n","function isPrimitive(value) {\n return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n\nexport { isPrimitive };\n","function getSymbols(object) {\n return Object.getOwnPropertySymbols(object).filter(symbol => Object.prototype.propertyIsEnumerable.call(object, symbol));\n}\n\nexport { getSymbols };\n","function getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return Object.prototype.toString.call(value);\n}\n\nexport { getTag };\n","const regexpTag = '[object RegExp]';\nconst stringTag = '[object String]';\nconst numberTag = '[object Number]';\nconst booleanTag = '[object Boolean]';\nconst argumentsTag = '[object Arguments]';\nconst symbolTag = '[object Symbol]';\nconst dateTag = '[object Date]';\nconst mapTag = '[object Map]';\nconst setTag = '[object Set]';\nconst arrayTag = '[object Array]';\nconst functionTag = '[object Function]';\nconst arrayBufferTag = '[object ArrayBuffer]';\nconst objectTag = '[object Object]';\nconst errorTag = '[object Error]';\nconst dataViewTag = '[object DataView]';\nconst uint8ArrayTag = '[object Uint8Array]';\nconst uint8ClampedArrayTag = '[object Uint8ClampedArray]';\nconst uint16ArrayTag = '[object Uint16Array]';\nconst uint32ArrayTag = '[object Uint32Array]';\nconst bigUint64ArrayTag = '[object BigUint64Array]';\nconst int8ArrayTag = '[object Int8Array]';\nconst int16ArrayTag = '[object Int16Array]';\nconst int32ArrayTag = '[object Int32Array]';\nconst bigInt64ArrayTag = '[object BigInt64Array]';\nconst float32ArrayTag = '[object Float32Array]';\nconst float64ArrayTag = '[object Float64Array]';\n\nexport { argumentsTag, arrayBufferTag, arrayTag, bigInt64ArrayTag, bigUint64ArrayTag, booleanTag, dataViewTag, dateTag, errorTag, float32ArrayTag, float64ArrayTag, functionTag, int16ArrayTag, int32ArrayTag, int8ArrayTag, mapTag, numberTag, objectTag, regexpTag, setTag, stringTag, symbolTag, uint16ArrayTag, uint32ArrayTag, uint8ArrayTag, uint8ClampedArrayTag };\n","const globalThis_ = (typeof globalThis === 'object' && globalThis) ||\n (typeof window === 'object' && window) ||\n (typeof self === 'object' && self) ||\n (typeof global === 'object' && global) ||\n (function () {\n return this;\n })() ||\n Function('return this')();\n\nexport { globalThis_ as globalThis };\n","import { globalThis as globalThis_ } from '../_internal/globalThis.mjs';\n\nfunction isBuffer(x) {\n return typeof globalThis_.Buffer !== 'undefined' && globalThis_.Buffer.isBuffer(x);\n}\n\nexport { isBuffer };\n","function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","import { getSymbols } from '../compat/_internal/getSymbols.mjs';\nimport { getTag } from '../compat/_internal/getTag.mjs';\nimport { uint32ArrayTag, uint16ArrayTag, uint8ClampedArrayTag, uint8ArrayTag, symbolTag, stringTag, setTag, regexpTag, objectTag, numberTag, mapTag, int32ArrayTag, int16ArrayTag, int8ArrayTag, float64ArrayTag, float32ArrayTag, dateTag, booleanTag, dataViewTag, arrayBufferTag, arrayTag, argumentsTag } from '../compat/_internal/tags.mjs';\nimport { isBuffer } from '../predicate/isBuffer.mjs';\nimport { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction cloneDeepWith(obj, cloneValue) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), cloneValue);\n}\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map(), cloneValue = undefined) {\n const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned !== undefined) {\n return cloned;\n }\n if (isPrimitive(valueToClone)) {\n return valueToClone;\n }\n if (stack.has(valueToClone)) {\n return stack.get(valueToClone);\n }\n if (Array.isArray(valueToClone)) {\n const result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n if (Object.hasOwn(valueToClone, 'index')) {\n result.index = valueToClone.index;\n }\n if (Object.hasOwn(valueToClone, 'input')) {\n result.input = valueToClone.input;\n }\n return result;\n }\n if (valueToClone instanceof Date) {\n return new Date(valueToClone.getTime());\n }\n if (valueToClone instanceof RegExp) {\n const result = new RegExp(valueToClone.source, valueToClone.flags);\n result.lastIndex = valueToClone.lastIndex;\n return result;\n }\n if (valueToClone instanceof Map) {\n const result = new Map();\n stack.set(valueToClone, result);\n for (const [key, value] of valueToClone) {\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (valueToClone instanceof Set) {\n const result = new Set();\n stack.set(valueToClone, result);\n for (const value of valueToClone) {\n result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (isBuffer(valueToClone)) {\n return valueToClone.subarray();\n }\n if (isTypedArray(valueToClone)) {\n const result = new (Object.getPrototypeOf(valueToClone).constructor)(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n return result;\n }\n if (valueToClone instanceof ArrayBuffer ||\n (typeof SharedArrayBuffer !== 'undefined' && valueToClone instanceof SharedArrayBuffer)) {\n return valueToClone.slice(0);\n }\n if (valueToClone instanceof DataView) {\n const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof File !== 'undefined' && valueToClone instanceof File) {\n const result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type,\n });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof Blob !== 'undefined' && valueToClone instanceof Blob) {\n const result = new Blob([valueToClone], { type: valueToClone.type });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Error) {\n const result = structuredClone(valueToClone);\n stack.set(valueToClone, result);\n result.message = valueToClone.message;\n result.name = valueToClone.name;\n result.stack = valueToClone.stack;\n result.cause = valueToClone.cause;\n result.constructor = valueToClone.constructor;\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Boolean) {\n const result = new Boolean(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Number) {\n const result = new Number(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof String) {\n const result = new String(valueToClone.valueOf());\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof valueToClone === 'object' && isCloneableObject(valueToClone)) {\n const result = Object.create(Object.getPrototypeOf(valueToClone));\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n return valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n const keys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n }\n }\n}\nfunction isCloneableObject(object) {\n switch (getTag(object)) {\n case argumentsTag:\n case arrayTag:\n case arrayBufferTag:\n case dataViewTag:\n case booleanTag:\n case dateTag:\n case float32ArrayTag:\n case float64ArrayTag:\n case int8ArrayTag:\n case int16ArrayTag:\n case int32ArrayTag:\n case mapTag:\n case numberTag:\n case objectTag:\n case regexpTag:\n case setTag:\n case stringTag:\n case symbolTag:\n case uint8ArrayTag:\n case uint8ClampedArrayTag:\n case uint16ArrayTag:\n case uint32ArrayTag: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\nexport { cloneDeepWith, cloneDeepWithImpl, copyProperties };\n","import { cloneDeepWith as cloneDeepWith$1, copyProperties } from '../../object/cloneDeepWith.mjs';\nimport { getTag } from '../_internal/getTag.mjs';\nimport { objectTag, argumentsTag, booleanTag, stringTag, numberTag } from '../_internal/tags.mjs';\n\nfunction cloneDeepWith(obj, customizer) {\n return cloneDeepWith$1(obj, (value, key, object, stack) => {\n const cloned = customizer?.(value, key, object, stack);\n if (cloned !== undefined) {\n return cloned;\n }\n if (typeof obj !== 'object') {\n return undefined;\n }\n if (getTag(obj) === objectTag && typeof obj.constructor !== 'function') {\n const result = {};\n stack.set(obj, result);\n copyProperties(result, obj, object, stack);\n return result;\n }\n switch (Object.prototype.toString.call(obj)) {\n case numberTag:\n case stringTag:\n case booleanTag: {\n const result = new obj.constructor(obj?.valueOf());\n copyProperties(result, obj);\n return result;\n }\n case argumentsTag: {\n const result = {};\n copyProperties(result, obj);\n result.length = obj.length;\n result[Symbol.iterator] = obj[Symbol.iterator];\n return result;\n }\n default: {\n return undefined;\n }\n }\n });\n}\n\nexport { cloneDeepWith };\n","import { cloneDeepWith } from './cloneDeepWith.mjs';\n\nfunction cloneDeep(obj) {\n return cloneDeepWith(obj);\n}\n\nexport { cloneDeep };\n","import { getTag } from '../_internal/getTag.mjs';\n\nfunction isArguments(value) {\n return value !== null && typeof value === 'object' && getTag(value) === '[object Arguments]';\n}\n\nexport { isArguments };\n","function isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\n\nexport { isObjectLike };\n","import { isArrayLike } from './isArrayLike.mjs';\nimport { isObjectLike } from './isObjectLike.mjs';\n\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport { isArrayLikeObject };\n","function memoize(func, resolver) {\n if (typeof func !== 'function' || (resolver != null && typeof resolver !== 'function')) {\n throw new TypeError('Expected a function');\n }\n const memoized = function (...args) {\n const key = resolver ? resolver.apply(this, args) : args[0];\n const cache = memoized.cache;\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n const CacheConstructor = memoize.Cache || Map;\n memoized.cache = new CacheConstructor();\n return memoized;\n}\nmemoize.Cache = Map;\n\nexport { memoize };\n","function noop() { }\n\nexport { noop };\n","import { isTypedArray as isTypedArray$1 } from '../../predicate/isTypedArray.mjs';\n\nfunction isTypedArray(x) {\n return isTypedArray$1(x);\n}\n\nexport { isTypedArray };\n","function isPlainObject(object) {\n if (typeof object !== 'object') {\n return false;\n }\n if (object == null) {\n return false;\n }\n if (Object.getPrototypeOf(object) === null) {\n return true;\n }\n if (Object.prototype.toString.call(object) !== '[object Object]') {\n const tag = object[Symbol.toStringTag];\n if (tag == null) {\n return false;\n }\n const isTagReadonly = !Object.getOwnPropertyDescriptor(object, Symbol.toStringTag)?.writable;\n if (isTagReadonly) {\n return false;\n }\n return object.toString() === `[object ${tag}]`;\n }\n let proto = object;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(object) === proto;\n}\n\nexport { isPlainObject };\n","import { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction clone(obj) {\n if (isPrimitive(obj)) {\n return obj;\n }\n if (Array.isArray(obj) ||\n isTypedArray(obj) ||\n obj instanceof ArrayBuffer ||\n (typeof SharedArrayBuffer !== 'undefined' && obj instanceof SharedArrayBuffer)) {\n return obj.slice(0);\n }\n const prototype = Object.getPrototypeOf(obj);\n if (prototype == null) {\n return Object.assign(Object.create(prototype), obj);\n }\n const Constructor = prototype.constructor;\n if (obj instanceof Date || obj instanceof Map || obj instanceof Set) {\n return new Constructor(obj);\n }\n if (obj instanceof RegExp) {\n const newRegExp = new Constructor(obj);\n newRegExp.lastIndex = obj.lastIndex;\n return newRegExp;\n }\n if (obj instanceof DataView) {\n return new Constructor(obj.buffer.slice(0));\n }\n if (obj instanceof Error) {\n let newError;\n if (obj instanceof AggregateError) {\n newError = new Constructor(obj.errors, obj.message, { cause: obj.cause });\n }\n else {\n newError = new Constructor(obj.message, { cause: obj.cause });\n }\n newError.stack = obj.stack;\n Object.assign(newError, obj);\n return newError;\n }\n if (typeof File !== 'undefined' && obj instanceof File) {\n const newFile = new Constructor([obj], obj.name, { type: obj.type, lastModified: obj.lastModified });\n return newFile;\n }\n if (typeof obj === 'object') {\n const newObject = Object.create(prototype);\n return Object.assign(newObject, obj);\n }\n return obj;\n}\n\nexport { clone };\n","import { cloneDeep } from './cloneDeep.mjs';\nimport { isUnsafeProperty } from '../../_internal/isUnsafeProperty.mjs';\nimport { clone } from '../../object/clone.mjs';\nimport { isBuffer } from '../../predicate/isBuffer.mjs';\nimport { isPrimitive } from '../../predicate/isPrimitive.mjs';\nimport { getSymbols } from '../_internal/getSymbols.mjs';\nimport { isArguments } from '../predicate/isArguments.mjs';\nimport { isArrayLikeObject } from '../predicate/isArrayLikeObject.mjs';\nimport { isObjectLike } from '../predicate/isObjectLike.mjs';\nimport { isPlainObject } from '../predicate/isPlainObject.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction mergeWith(object, ...otherArgs) {\n const sources = otherArgs.slice(0, -1);\n const merge = otherArgs[otherArgs.length - 1];\n let result = object;\n for (let i = 0; i < sources.length; i++) {\n const source = sources[i];\n result = mergeWithDeep(result, source, merge, new Map());\n }\n return result;\n}\nfunction mergeWithDeep(target, source, merge, stack) {\n if (isPrimitive(target)) {\n target = Object(target);\n }\n if (source == null || typeof source !== 'object') {\n return target;\n }\n if (stack.has(source)) {\n return clone(stack.get(source));\n }\n stack.set(source, target);\n if (Array.isArray(source)) {\n source = source.slice();\n for (let i = 0; i < source.length; i++) {\n source[i] = source[i] ?? undefined;\n }\n }\n const sourceKeys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < sourceKeys.length; i++) {\n const key = sourceKeys[i];\n if (isUnsafeProperty(key)) {\n continue;\n }\n let sourceValue = source[key];\n let targetValue = target[key];\n if (isArguments(sourceValue)) {\n sourceValue = { ...sourceValue };\n }\n if (isArguments(targetValue)) {\n targetValue = { ...targetValue };\n }\n if (isBuffer(sourceValue)) {\n sourceValue = cloneDeep(sourceValue);\n }\n if (Array.isArray(sourceValue)) {\n if (Array.isArray(targetValue)) {\n const cloned = [];\n const targetKeys = Reflect.ownKeys(targetValue);\n for (let i = 0; i < targetKeys.length; i++) {\n const targetKey = targetKeys[i];\n cloned[targetKey] = targetValue[targetKey];\n }\n targetValue = cloned;\n }\n else if (isArrayLikeObject(targetValue)) {\n const cloned = [];\n for (let i = 0; i < targetValue.length; i++) {\n cloned[i] = targetValue[i];\n }\n targetValue = cloned;\n }\n else {\n targetValue = [];\n }\n }\n const merged = merge(targetValue, sourceValue, key, target, source, stack);\n if (merged !== undefined) {\n target[key] = merged;\n }\n else if (Array.isArray(sourceValue)) {\n target[key] = mergeWithDeep(targetValue, sourceValue, merge, stack);\n }\n else if (isObjectLike(targetValue) &&\n isObjectLike(sourceValue) &&\n (isPlainObject(targetValue) ||\n isPlainObject(sourceValue) ||\n isTypedArray(targetValue) ||\n isTypedArray(sourceValue))) {\n target[key] = mergeWithDeep(targetValue, sourceValue, merge, stack);\n }\n else if (targetValue == null && isPlainObject(sourceValue)) {\n target[key] = mergeWithDeep({}, sourceValue, merge, stack);\n }\n else if (targetValue == null && isTypedArray(sourceValue)) {\n target[key] = cloneDeep(sourceValue);\n }\n else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n return target;\n}\n\nexport { mergeWith };\n","import { mergeWith } from './mergeWith.mjs';\nimport { noop } from '../../function/noop.mjs';\n\nfunction merge(object, ...sources) {\n return mergeWith(object, ...sources, noop);\n}\n\nexport { merge };\n","import {\n assignWithDepth_default,\n common_default,\n detectType,\n directiveRegex,\n sanitizeDirective\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/utils.ts\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nimport {\n curveBasis,\n curveBasisClosed,\n curveBasisOpen,\n curveBumpX,\n curveBumpY,\n curveBundle,\n curveCardinalClosed,\n curveCardinalOpen,\n curveCardinal,\n curveCatmullRomClosed,\n curveCatmullRomOpen,\n curveCatmullRom,\n curveLinear,\n curveLinearClosed,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore,\n select\n} from \"d3\";\nimport { memoize, merge } from \"es-toolkit/compat\";\nvar ZERO_WIDTH_SPACE = \"\\u200B\";\nvar d3CurveTypes = {\n curveBasis,\n curveBasisClosed,\n curveBasisOpen,\n curveBumpX,\n curveBumpY,\n curveBundle,\n curveCardinalClosed,\n curveCardinalOpen,\n curveCardinal,\n curveCatmullRomClosed,\n curveCatmullRomOpen,\n curveCatmullRom,\n curveLinear,\n curveLinearClosed,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore\n};\nvar directiveWithoutOpen = /\\s*(?:(\\w+)(?=:):|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nvar detectInit = /* @__PURE__ */ __name(function(text, config) {\n const inits = detectDirective(text, /(?:init\\b)|(?:initialize\\b)/);\n let results = {};\n if (Array.isArray(inits)) {\n const args = inits.map((init) => init.args);\n sanitizeDirective(args);\n results = assignWithDepth_default(results, [...args]);\n } else {\n results = inits.args;\n }\n if (!results) {\n return;\n }\n let type = detectType(text, config);\n const prop = \"config\";\n if (results[prop] !== void 0) {\n if (type === \"flowchart-v2\") {\n type = \"flowchart\";\n }\n results[type] = results[prop];\n delete results[prop];\n }\n return results;\n}, \"detectInit\");\nvar detectDirective = /* @__PURE__ */ __name(function(text, type = null) {\n try {\n const commentWithoutDirectives = new RegExp(\n `[%]{2}(?![{]${directiveWithoutOpen.source})(?=[}][%]{2}).*\n`,\n \"ig\"\n );\n text = text.trim().replace(commentWithoutDirectives, \"\").replace(/'/gm, '\"');\n log.debug(\n `Detecting diagram directive${type !== null ? \" type:\" + type : \"\"} based on the text:${text}`\n );\n let match;\n const result = [];\n while ((match = directiveRegex.exec(text)) !== null) {\n if (match.index === directiveRegex.lastIndex) {\n directiveRegex.lastIndex++;\n }\n if (match && !type || type && match[1]?.match(type) || type && match[2]?.match(type)) {\n const type2 = match[1] ? match[1] : match[2];\n const args = match[3] ? match[3].trim() : match[4] ? JSON.parse(match[4].trim()) : null;\n result.push({ type: type2, args });\n }\n }\n if (result.length === 0) {\n return { type: text, args: null };\n }\n return result.length === 1 ? result[0] : result;\n } catch (error) {\n log.error(\n `ERROR: ${error.message} - Unable to parse directive type: '${type}' based on the text: '${text}'`\n );\n return { type: void 0, args: null };\n }\n}, \"detectDirective\");\nvar removeDirectives = /* @__PURE__ */ __name(function(text) {\n return text.replace(directiveRegex, \"\");\n}, \"removeDirectives\");\nvar isSubstringInArray = /* @__PURE__ */ __name(function(str, arr) {\n for (const [i, element] of arr.entries()) {\n if (element.match(str)) {\n return i;\n }\n }\n return -1;\n}, \"isSubstringInArray\");\nfunction interpolateToCurve(interpolate, defaultCurve) {\n if (!interpolate) {\n return defaultCurve;\n }\n const curveName = `curve${interpolate.charAt(0).toUpperCase() + interpolate.slice(1)}`;\n return d3CurveTypes[curveName] ?? defaultCurve;\n}\n__name(interpolateToCurve, \"interpolateToCurve\");\nfunction formatUrl(linkStr, config) {\n const url = linkStr.trim();\n if (!url) {\n return void 0;\n }\n if (config.securityLevel !== \"loose\") {\n return sanitizeUrl(url);\n }\n return url;\n}\n__name(formatUrl, \"formatUrl\");\nvar runFunc = /* @__PURE__ */ __name((functionName, ...params) => {\n const arrPaths = functionName.split(\".\");\n const len = arrPaths.length - 1;\n const fnName = arrPaths[len];\n let obj = window;\n for (let i = 0; i < len; i++) {\n obj = obj[arrPaths[i]];\n if (!obj) {\n log.error(`Function name: ${functionName} not found in window`);\n return;\n }\n }\n obj[fnName](...params);\n}, \"runFunc\");\nfunction distance(p1, p2) {\n if (!p1 || !p2) {\n return 0;\n }\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n__name(distance, \"distance\");\nfunction traverseEdge(points) {\n let prevPoint;\n let totalDistance = 0;\n points.forEach((point) => {\n totalDistance += distance(point, prevPoint);\n prevPoint = point;\n });\n const remainingDistance = totalDistance / 2;\n return calculatePoint(points, remainingDistance);\n}\n__name(traverseEdge, \"traverseEdge\");\nfunction calcLabelPosition(points) {\n if (points.length === 1) {\n return points[0];\n }\n return traverseEdge(points);\n}\n__name(calcLabelPosition, \"calcLabelPosition\");\nvar roundNumber = /* @__PURE__ */ __name((num, precision = 2) => {\n const factor = Math.pow(10, precision);\n return Math.round(num * factor) / factor;\n}, \"roundNumber\");\nvar calculatePoint = /* @__PURE__ */ __name((points, distanceToTraverse) => {\n let prevPoint = void 0;\n let remainingDistance = distanceToTraverse;\n for (const point of points) {\n if (prevPoint) {\n const vectorDistance = distance(point, prevPoint);\n if (vectorDistance === 0) {\n return prevPoint;\n }\n if (vectorDistance < remainingDistance) {\n remainingDistance -= vectorDistance;\n } else {\n const distanceRatio = remainingDistance / vectorDistance;\n if (distanceRatio <= 0) {\n return prevPoint;\n }\n if (distanceRatio >= 1) {\n return { x: point.x, y: point.y };\n }\n if (distanceRatio > 0 && distanceRatio < 1) {\n return {\n x: roundNumber((1 - distanceRatio) * prevPoint.x + distanceRatio * point.x, 5),\n y: roundNumber((1 - distanceRatio) * prevPoint.y + distanceRatio * point.y, 5)\n };\n }\n }\n }\n prevPoint = point;\n }\n throw new Error(\"Could not find a suitable point for the given distance\");\n}, \"calculatePoint\");\nvar calcCardinalityPosition = /* @__PURE__ */ __name((isRelationTypePresent, points, initialPosition) => {\n log.info(`our points ${JSON.stringify(points)}`);\n if (points[0] !== initialPosition) {\n points = points.reverse();\n }\n const distanceToCardinalityPoint = 25;\n const center = calculatePoint(points, distanceToCardinalityPoint);\n const d = isRelationTypePresent ? 10 : 5;\n const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);\n const cardinalityPosition = { x: 0, y: 0 };\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;\n return cardinalityPosition;\n}, \"calcCardinalityPosition\");\nfunction calcTerminalLabelPosition(terminalMarkerSize, position, _points) {\n const points = structuredClone(_points);\n log.info(\"our points\", points);\n if (position !== \"start_left\" && position !== \"start_right\") {\n points.reverse();\n }\n const distanceToCardinalityPoint = 25 + terminalMarkerSize;\n const center = calculatePoint(points, distanceToCardinalityPoint);\n const d = 10 + terminalMarkerSize * 0.5;\n const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);\n const cardinalityPosition = { x: 0, y: 0 };\n if (position === \"start_left\") {\n cardinalityPosition.x = Math.sin(angle + Math.PI) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle + Math.PI) * d + (points[0].y + center.y) / 2;\n } else if (position === \"end_right\") {\n cardinalityPosition.x = Math.sin(angle - Math.PI) * d + (points[0].x + center.x) / 2 - 5;\n cardinalityPosition.y = -Math.cos(angle - Math.PI) * d + (points[0].y + center.y) / 2 - 5;\n } else if (position === \"end_left\") {\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2 - 5;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2 - 5;\n } else {\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;\n }\n return cardinalityPosition;\n}\n__name(calcTerminalLabelPosition, \"calcTerminalLabelPosition\");\nfunction getStylesFromArray(arr) {\n let style = \"\";\n let labelStyle = \"\";\n for (const element of arr) {\n if (element !== void 0) {\n if (element.startsWith(\"color:\") || element.startsWith(\"text-align:\")) {\n labelStyle = labelStyle + element + \";\";\n } else {\n style = style + element + \";\";\n }\n }\n }\n return { style, labelStyle };\n}\n__name(getStylesFromArray, \"getStylesFromArray\");\nvar cnt = 0;\nvar generateId = /* @__PURE__ */ __name(() => {\n cnt++;\n return \"id-\" + Math.random().toString(36).substr(2, 12) + \"-\" + cnt;\n}, \"generateId\");\nfunction makeRandomHex(length) {\n let result = \"\";\n const characters = \"0123456789abcdef\";\n const charactersLength = characters.length;\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n__name(makeRandomHex, \"makeRandomHex\");\nvar random = /* @__PURE__ */ __name((options) => {\n return makeRandomHex(options.length);\n}, \"random\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n anchor: \"start\",\n style: \"#666\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0,\n valign: void 0,\n text: \"\"\n };\n}, \"getTextObj\");\nvar drawSimpleText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(common_default.lineBreakRegex, \" \");\n const [, _fontSizePx] = parseFontSize(textData.fontSize);\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.style(\"text-anchor\", textData.anchor);\n textElem.style(\"font-family\", textData.fontFamily);\n textElem.style(\"font-size\", _fontSizePx);\n textElem.style(\"font-weight\", textData.fontWeight);\n textElem.attr(\"fill\", textData.fill);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.attr(\"fill\", textData.fill);\n span.text(nText);\n return textElem;\n}, \"drawSimpleText\");\nvar wrapLabel = memoize(\n (label, maxWidth, config) => {\n if (!label) {\n return label;\n }\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: \"Arial\", joinWith: \"<br/>\" },\n config\n );\n if (common_default.lineBreakRegex.test(label)) {\n return label;\n }\n const words = label.split(\" \").filter(Boolean);\n const completedLines = [];\n let nextLine = \"\";\n words.forEach((word, index) => {\n const wordLength = calculateTextWidth(`${word} `, config);\n const nextLineLength = calculateTextWidth(nextLine, config);\n if (wordLength > maxWidth) {\n const { hyphenatedStrings, remainingWord } = breakString(word, maxWidth, \"-\", config);\n completedLines.push(nextLine, ...hyphenatedStrings);\n nextLine = remainingWord;\n } else if (nextLineLength + wordLength >= maxWidth) {\n completedLines.push(nextLine);\n nextLine = word;\n } else {\n nextLine = [nextLine, word].filter(Boolean).join(\" \");\n }\n const currentWord = index + 1;\n const isLastWord = currentWord === words.length;\n if (isLastWord) {\n completedLines.push(nextLine);\n }\n });\n return completedLines.filter((line) => line !== \"\").join(config.joinWith);\n },\n (label, maxWidth, config) => `${label}${maxWidth}${config.fontSize}${config.fontWeight}${config.fontFamily}${config.joinWith}`\n);\nvar breakString = memoize(\n (word, maxWidth, hyphenCharacter = \"-\", config) => {\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: \"Arial\", margin: 0 },\n config\n );\n const characters = [...word];\n const lines = [];\n let currentLine = \"\";\n characters.forEach((character, index) => {\n const nextLine = `${currentLine}${character}`;\n const lineWidth = calculateTextWidth(nextLine, config);\n if (lineWidth >= maxWidth) {\n const currentCharacter = index + 1;\n const isLastLine = characters.length === currentCharacter;\n const hyphenatedNextLine = `${nextLine}${hyphenCharacter}`;\n lines.push(isLastLine ? nextLine : hyphenatedNextLine);\n currentLine = \"\";\n } else {\n currentLine = nextLine;\n }\n });\n return { hyphenatedStrings: lines, remainingWord: currentLine };\n },\n (word, maxWidth, hyphenCharacter = \"-\", config) => `${word}${maxWidth}${hyphenCharacter}${config.fontSize}${config.fontWeight}${config.fontFamily}`\n);\nfunction calculateTextHeight(text, config) {\n return calculateTextDimensions(text, config).height;\n}\n__name(calculateTextHeight, \"calculateTextHeight\");\nfunction calculateTextWidth(text, config) {\n return calculateTextDimensions(text, config).width;\n}\n__name(calculateTextWidth, \"calculateTextWidth\");\nvar calculateTextDimensions = memoize(\n (text, config) => {\n const { fontSize = 12, fontFamily = \"Arial\", fontWeight = 400 } = config;\n if (!text) {\n return { width: 0, height: 0 };\n }\n const [, _fontSizePx] = parseFontSize(fontSize);\n const fontFamilies = [\"sans-serif\", fontFamily];\n const lines = text.split(common_default.lineBreakRegex);\n const dims = [];\n const body = select(\"body\");\n if (!body.remove) {\n return { width: 0, height: 0, lineHeight: 0 };\n }\n const g = body.append(\"svg\");\n for (const fontFamily2 of fontFamilies) {\n let cHeight = 0;\n const dim = { width: 0, height: 0, lineHeight: 0 };\n for (const line of lines) {\n const textObj = getTextObj();\n textObj.text = line || ZERO_WIDTH_SPACE;\n const textElem = drawSimpleText(g, textObj).style(\"font-size\", _fontSizePx).style(\"font-weight\", fontWeight).style(\"font-family\", fontFamily2);\n const bBox = (textElem._groups || textElem)[0][0].getBBox();\n if (bBox.width === 0 && bBox.height === 0) {\n throw new Error(\"svg element not in render tree\");\n }\n dim.width = Math.round(Math.max(dim.width, bBox.width));\n cHeight = Math.round(bBox.height);\n dim.height += cHeight;\n dim.lineHeight = Math.round(Math.max(dim.lineHeight, cHeight));\n }\n dims.push(dim);\n }\n g.remove();\n const index = isNaN(dims[1].height) || isNaN(dims[1].width) || isNaN(dims[1].lineHeight) || dims[0].height > dims[1].height && dims[0].width > dims[1].width && dims[0].lineHeight > dims[1].lineHeight ? 0 : 1;\n return dims[index];\n },\n (text, config) => `${text}${config.fontSize}${config.fontWeight}${config.fontFamily}`\n);\nvar InitIDGenerator = class {\n constructor(deterministic = false, seed) {\n this.count = 0;\n this.count = seed ? seed.length : 0;\n this.next = deterministic ? () => this.count++ : () => Date.now();\n }\n static {\n __name(this, \"InitIDGenerator\");\n }\n};\nvar decoder;\nvar entityDecode = /* @__PURE__ */ __name(function(html) {\n decoder = decoder || document.createElement(\"div\");\n html = escape(html).replace(/%26/g, \"&\").replace(/%23/g, \"#\").replace(/%3B/g, \";\");\n decoder.innerHTML = html;\n return unescape(decoder.textContent);\n}, \"entityDecode\");\nfunction isDetailedError(error) {\n return \"str\" in error;\n}\n__name(isDetailedError, \"isDetailedError\");\nvar insertTitle = /* @__PURE__ */ __name((parent, cssClass, titleTopMargin, title) => {\n if (!title) {\n return;\n }\n const bounds = parent.node()?.getBBox();\n if (!bounds) {\n return;\n }\n parent.append(\"text\").text(title).attr(\"text-anchor\", \"middle\").attr(\"x\", bounds.x + bounds.width / 2).attr(\"y\", -titleTopMargin).attr(\"class\", cssClass);\n}, \"insertTitle\");\nvar parseFontSize = /* @__PURE__ */ __name((fontSize) => {\n if (typeof fontSize === \"number\") {\n return [fontSize, fontSize + \"px\"];\n }\n const fontSizeNumber = parseInt(fontSize ?? \"\", 10);\n if (Number.isNaN(fontSizeNumber)) {\n return [void 0, void 0];\n } else if (fontSize === String(fontSizeNumber)) {\n return [fontSizeNumber, fontSize + \"px\"];\n } else {\n return [fontSizeNumber, fontSize];\n }\n}, \"parseFontSize\");\nfunction cleanAndMerge(defaultData, data) {\n return merge({}, defaultData, data);\n}\n__name(cleanAndMerge, \"cleanAndMerge\");\nvar utils_default = {\n assignWithDepth: assignWithDepth_default,\n wrapLabel,\n calculateTextHeight,\n calculateTextWidth,\n calculateTextDimensions,\n cleanAndMerge,\n detectInit,\n detectDirective,\n isSubstringInArray,\n interpolateToCurve,\n calcLabelPosition,\n calcCardinalityPosition,\n calcTerminalLabelPosition,\n formatUrl,\n getStylesFromArray,\n generateId,\n random,\n runFunc,\n entityDecode,\n insertTitle,\n isLabelCoordinateInPath,\n parseFontSize,\n InitIDGenerator\n};\nvar encodeEntities = /* @__PURE__ */ __name(function(text) {\n let txt = text;\n txt = txt.replace(/style.*:\\S*#.*;/g, function(s) {\n return s.substring(0, s.length - 1);\n });\n txt = txt.replace(/classDef.*:\\S*#.*;/g, function(s) {\n return s.substring(0, s.length - 1);\n });\n txt = txt.replace(/#\\w+;/g, function(s) {\n const innerTxt = s.substring(1, s.length - 1);\n const isInt = /^\\+?\\d+$/.test(innerTxt);\n if (isInt) {\n return \"\\uFB02\\xB0\\xB0\" + innerTxt + \"\\xB6\\xDF\";\n } else {\n return \"\\uFB02\\xB0\" + innerTxt + \"\\xB6\\xDF\";\n }\n });\n return txt;\n}, \"encodeEntities\");\nvar decodeEntities = /* @__PURE__ */ __name(function(text) {\n return text.replace(/fl°°/g, \"&#\").replace(/fl°/g, \"&\").replace(/¶ß/g, \";\");\n}, \"decodeEntities\");\nvar getEdgeId = /* @__PURE__ */ __name((from, to, {\n counter = 0,\n prefix,\n suffix\n}, id) => {\n if (id) {\n return id;\n }\n return `${prefix ? `${prefix}_` : \"\"}${from}_${to}_${counter}${suffix ? `_${suffix}` : \"\"}`;\n}, \"getEdgeId\");\nfunction handleUndefinedAttr(attrValue) {\n return attrValue ?? null;\n}\n__name(handleUndefinedAttr, \"handleUndefinedAttr\");\nfunction isLabelCoordinateInPath(point, dAttr) {\n const roundedX = Math.round(point.x);\n const roundedY = Math.round(point.y);\n const sanitizedD = dAttr.replace(\n /(\\d+\\.\\d+)/g,\n (match) => Math.round(parseFloat(match)).toString()\n );\n return sanitizedD.includes(roundedX.toString()) || sanitizedD.includes(roundedY.toString());\n}\n__name(isLabelCoordinateInPath, \"isLabelCoordinateInPath\");\n\nexport {\n ZERO_WIDTH_SPACE,\n removeDirectives,\n interpolateToCurve,\n getStylesFromArray,\n generateId,\n random,\n wrapLabel,\n calculateTextHeight,\n calculateTextWidth,\n calculateTextDimensions,\n isDetailedError,\n parseFontSize,\n cleanAndMerge,\n utils_default,\n encodeEntities,\n decodeEntities,\n getEdgeId,\n handleUndefinedAttr\n};\n"],"x_google_ignoreList":[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,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"mappings":"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"}
|