upfynai-code 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +44 -42
  2. package/bin/cli.js +1 -1
  3. package/dist/client/assets/AppContent-M14Au3SB.js +542 -0
  4. package/dist/client/assets/{BrowserPanel-CSvD4jOX.js → BrowserPanel-TFKm2NDJ.js} +2 -2
  5. package/dist/client/assets/DashboardPanel-C88HjsCh.js +1 -0
  6. package/dist/client/assets/FileTree-DvO1xnDE.js +1 -0
  7. package/dist/client/assets/{GitPanel-DdeJ0bp5.js → GitPanel-D-slVlyy.js} +2 -2
  8. package/dist/client/assets/LoginModal-Chi4SYcr.js +21 -0
  9. package/dist/client/assets/{MarkdownPreview-CESjI261.js → MarkdownPreview-CuIix2u9.js} +1 -1
  10. package/dist/client/assets/MermaidBlock-Dq9uFv82.js +2 -0
  11. package/dist/client/assets/Onboarding-QYXx24dX.js +1 -0
  12. package/dist/client/assets/{PreviewPanel-CqCa92Tf.js → PreviewPanel-Dd8q-jo0.js} +1 -1
  13. package/dist/client/assets/{SetupForm-Be7-WBe-.js → SetupForm-CrspaUva.js} +1 -1
  14. package/dist/client/assets/{WorkflowsPanel-CusLbVJ6.js → WorkflowsPanel-DIlYAdhB.js} +1 -1
  15. package/dist/client/assets/index-CnNNzw9A.css +1 -0
  16. package/dist/client/assets/{index-BQy15irW.js → index-rUkK9FDP.js} +18 -18
  17. package/dist/client/assets/{vendor-codemirror-D2ALgpaX.js → vendor-codemirror-jc6nyJQg.js} +1 -1
  18. package/dist/client/assets/{vendor-diff-DNQpbhrT.js → vendor-diff-THJmAcEI.js} +1 -1
  19. package/dist/client/assets/{vendor-icons-kix3Gb31.js → vendor-icons-CfjIpdrD.js} +145 -155
  20. package/dist/client/assets/{vendor-markdown-CimbIo6Y.js → vendor-markdown-Cdm6NEGf.js} +1 -1
  21. package/dist/client/assets/{vendor-mermaid-CS3J4_Bz.js → vendor-mermaid-DTPaBx-U.js} +337 -337
  22. package/dist/client/assets/{vendor-react-96lCPsRK.js → vendor-react-wFkb6mSf.js} +1 -1
  23. package/dist/client/assets/{vendor-syntax-LS_Nt30I.js → vendor-syntax-C_UZR7tc.js} +1 -1
  24. package/dist/client/favicon.png +0 -0
  25. package/dist/client/favicon.svg +2 -12
  26. package/dist/client/icons/icon-128x128.png +0 -0
  27. package/dist/client/icons/icon-144x144.png +0 -0
  28. package/dist/client/icons/icon-152x152.png +0 -0
  29. package/dist/client/icons/icon-192x192.png +0 -0
  30. package/dist/client/icons/icon-384x384.png +0 -0
  31. package/dist/client/icons/icon-512x512.png +0 -0
  32. package/dist/client/icons/icon-72x72.png +0 -0
  33. package/dist/client/icons/icon-96x96.png +0 -0
  34. package/dist/client/index.html +37 -36
  35. package/dist/client/logo-128.png +0 -0
  36. package/dist/client/logo-256.png +0 -0
  37. package/dist/client/logo-32.png +0 -0
  38. package/dist/client/logo-512.png +0 -0
  39. package/dist/client/logo-64.png +0 -0
  40. package/dist/client/logo.png +0 -0
  41. package/dist/client/mcp-docs.html +1 -1
  42. package/dist/client/sw.js +2 -2
  43. package/package.json +9 -9
  44. package/dist/client/assets/AppContent-BofJquUs.js +0 -545
  45. package/dist/client/assets/CanvasFullScreen-onRfarpc.js +0 -1
  46. package/dist/client/assets/CanvasWorkspace-DvGKdL-k.js +0 -259
  47. package/dist/client/assets/DashboardPanel-DqAHbXDO.js +0 -1
  48. package/dist/client/assets/FileTree-BE0h-9M9.js +0 -1
  49. package/dist/client/assets/LoginModal-BP0pCTrH.js +0 -13
  50. package/dist/client/assets/MermaidBlock-D0rfEhrT.js +0 -2
  51. package/dist/client/assets/Onboarding-B2zQy-_6.js +0 -1
  52. package/dist/client/assets/index-CS0fDqEC.js +0 -1
  53. package/dist/client/assets/index-DYLSCCCp.css +0 -1
  54. package/dist/client/assets/pdf-CE_K4jFx.js +0 -12
  55. package/dist/client/assets/vendor-canvas-BZV40eAE.css +0 -1
  56. package/dist/client/assets/vendor-canvas-QWTduIvM.js +0 -23
@@ -1 +0,0 @@
1
- .react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}
@@ -1,23 +0,0 @@
1
- import{a as ko,g as Ma,R as Ca,r as D,j as P}from"./vendor-react-96lCPsRK.js";var vn={exports:{}},bn={};/**
2
- * @license React
3
- * use-sync-external-store-shim.production.js
4
- *
5
- * Copyright (c) Meta Platforms, Inc. and affiliates.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */var _r;function Ia(){if(_r)return bn;_r=1;var e=ko();function t(u,f){return u===f&&(u!==0||1/u===1/f)||u!==u&&f!==f}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,i=e.useLayoutEffect,s=e.useDebugValue;function a(u,f){var h=f(),g=r({inst:{value:h,getSnapshot:f}}),y=g[0].inst,x=g[1];return i(function(){y.value=h,y.getSnapshot=f,c(y)&&x({inst:y})},[u,h,f]),o(function(){return c(y)&&x({inst:y}),u(function(){c(y)&&x({inst:y})})},[u]),s(h),h}function c(u){var f=u.getSnapshot;u=u.value;try{var h=f();return!n(u,h)}catch{return!0}}function l(u,f){return f()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?l:a;return bn.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:d,bn}var Er;function ka(){return Er||(Er=1,vn.exports=Ia()),vn.exports}function ie(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=ie(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var Aa={value:()=>{}};function nn(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Rt(n)}function Rt(e){this._=e}function $a(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",o=n.indexOf(".");if(o>=0&&(r=n.slice(o+1),n=n.slice(0,o)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Rt.prototype=nn.prototype={constructor:Rt,on:function(e,t){var n=this._,r=$a(e+"",n),o,i=-1,s=r.length;if(arguments.length<2){for(;++i<s;)if((o=(e=r[i]).type)&&(o=Pa(n[o],e.name)))return o;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<s;)if(o=(e=r[i]).type)n[o]=Sr(n[o],e.name,t);else if(t==null)for(o in n)n[o]=Sr(n[o],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Rt(e)},call:function(e,t){if((o=arguments.length-2)>0)for(var n=new Array(o),r=0,o,i;r<o;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],r=0,o=i.length;r<o;++r)i[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}};function Pa(e,t){for(var n=0,r=e.length,o;n<r;++n)if((o=e[n]).name===t)return o.value}function Sr(e,t,n){for(var r=0,o=e.length;r<o;++r)if(e[r].name===t){e[r]=Aa,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Hn="http://www.w3.org/1999/xhtml";const Nr={svg:"http://www.w3.org/2000/svg",xhtml:Hn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function rn(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Nr.hasOwnProperty(t)?{space:Nr[t],local:e}:e}function Ta(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Hn&&t.documentElement.namespaceURI===Hn?t.createElement(e):t.createElementNS(n,e)}}function za(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ao(e){var t=rn(e);return(t.local?za:Ta)(t)}function Da(){}function Qn(e){return e==null?Da:function(){return this.querySelector(e)}}function La(e){typeof e!="function"&&(e=Qn(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],s=i.length,a=r[o]=new Array(s),c,l,d=0;d<s;++d)(c=i[d])&&(l=e.call(c,c.__data__,d,i))&&("__data__"in c&&(l.__data__=c.__data__),a[d]=l);return new ue(r,this._parents)}function Ha(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ra(){return[]}function $o(e){return e==null?Ra:function(){return this.querySelectorAll(e)}}function Va(e){return function(){return Ha(e.apply(this,arguments))}}function Ba(e){typeof e=="function"?e=Va(e):e=$o(e);for(var t=this._groups,n=t.length,r=[],o=[],i=0;i<n;++i)for(var s=t[i],a=s.length,c,l=0;l<a;++l)(c=s[l])&&(r.push(e.call(c,c.__data__,l,s)),o.push(c));return new ue(r,o)}function Po(e){return function(){return this.matches(e)}}function To(e){return function(t){return t.matches(e)}}var Fa=Array.prototype.find;function Oa(e){return function(){return Fa.call(this.children,e)}}function ja(){return this.firstElementChild}function Xa(e){return this.select(e==null?ja:Oa(typeof e=="function"?e:To(e)))}var Ya=Array.prototype.filter;function Wa(){return Array.from(this.children)}function qa(e){return function(){return Ya.call(this.children,e)}}function Ga(e){return this.selectAll(e==null?Wa:qa(typeof e=="function"?e:To(e)))}function Ka(e){typeof e!="function"&&(e=Po(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],s=i.length,a=r[o]=[],c,l=0;l<s;++l)(c=i[l])&&e.call(c,c.__data__,l,i)&&a.push(c);return new ue(r,this._parents)}function zo(e){return new Array(e.length)}function Ua(){return new ue(this._enter||this._groups.map(zo),this._parents)}function jt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}jt.prototype={constructor:jt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Za(e){return function(){return e}}function Qa(e,t,n,r,o,i){for(var s=0,a,c=t.length,l=i.length;s<l;++s)(a=t[s])?(a.__data__=i[s],r[s]=a):n[s]=new jt(e,i[s]);for(;s<c;++s)(a=t[s])&&(o[s]=a)}function Ja(e,t,n,r,o,i,s){var a,c,l=new Map,d=t.length,u=i.length,f=new Array(d),h;for(a=0;a<d;++a)(c=t[a])&&(f[a]=h=s.call(c,c.__data__,a,t)+"",l.has(h)?o[a]=c:l.set(h,c));for(a=0;a<u;++a)h=s.call(e,i[a],a,i)+"",(c=l.get(h))?(r[a]=c,c.__data__=i[a],l.delete(h)):n[a]=new jt(e,i[a]);for(a=0;a<d;++a)(c=t[a])&&l.get(f[a])===c&&(o[a]=c)}function ec(e){return e.__data__}function tc(e,t){if(!arguments.length)return Array.from(this,ec);var n=t?Ja:Qa,r=this._parents,o=this._groups;typeof e!="function"&&(e=Za(e));for(var i=o.length,s=new Array(i),a=new Array(i),c=new Array(i),l=0;l<i;++l){var d=r[l],u=o[l],f=u.length,h=nc(e.call(d,d&&d.__data__,l,r)),g=h.length,y=a[l]=new Array(g),x=s[l]=new Array(g),m=c[l]=new Array(f);n(d,u,y,x,m,h,t);for(var b=0,p=0,w,N;b<g;++b)if(w=y[b]){for(b>=p&&(p=b+1);!(N=x[p])&&++p<g;);w._next=N||null}}return s=new ue(s,r),s._enter=a,s._exit=c,s}function nc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function rc(){return new ue(this._exit||this._groups.map(zo),this._parents)}function oc(e,t,n){var r=this.enter(),o=this,i=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(o=t(o),o&&(o=o.selection())),n==null?i.remove():n(i),r&&o?r.merge(o).order():o}function ic(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,s=Math.min(o,i),a=new Array(o),c=0;c<s;++c)for(var l=n[c],d=r[c],u=l.length,f=a[c]=new Array(u),h,g=0;g<u;++g)(h=l[g]||d[g])&&(f[g]=h);for(;c<o;++c)a[c]=n[c];return new ue(a,this._parents)}function sc(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],o=r.length-1,i=r[o],s;--o>=0;)(s=r[o])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function ac(e){e||(e=cc);function t(u,f){return u&&f?e(u.__data__,f.__data__):!u-!f}for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var s=n[i],a=s.length,c=o[i]=new Array(a),l,d=0;d<a;++d)(l=s[d])&&(c[d]=l);c.sort(t)}return new ue(o,this._parents).order()}function cc(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function uc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function lc(){return Array.from(this)}function fc(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length;o<i;++o){var s=r[o];if(s)return s}return null}function dc(){let e=0;for(const t of this)++e;return e}function hc(){return!this.node()}function gc(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o=t[n],i=0,s=o.length,a;i<s;++i)(a=o[i])&&e.call(a,a.__data__,i,o);return this}function pc(e){return function(){this.removeAttribute(e)}}function mc(e){return function(){this.removeAttributeNS(e.space,e.local)}}function yc(e,t){return function(){this.setAttribute(e,t)}}function xc(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function wc(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function vc(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function bc(e,t){var n=rn(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?mc:pc:typeof t=="function"?n.local?vc:wc:n.local?xc:yc)(n,t))}function Do(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function _c(e){return function(){this.style.removeProperty(e)}}function Ec(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Sc(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Nc(e,t,n){return arguments.length>1?this.each((t==null?_c:typeof t=="function"?Sc:Ec)(e,t,n??"")):Ge(this.node(),e)}function Ge(e,t){return e.style.getPropertyValue(t)||Do(e).getComputedStyle(e,null).getPropertyValue(t)}function Mc(e){return function(){delete this[e]}}function Cc(e,t){return function(){this[e]=t}}function Ic(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function kc(e,t){return arguments.length>1?this.each((t==null?Mc:typeof t=="function"?Ic:Cc)(e,t)):this.node()[e]}function Lo(e){return e.trim().split(/^|\s+/)}function Jn(e){return e.classList||new Ho(e)}function Ho(e){this._node=e,this._names=Lo(e.getAttribute("class")||"")}Ho.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ro(e,t){for(var n=Jn(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function Vo(e,t){for(var n=Jn(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function Ac(e){return function(){Ro(this,e)}}function $c(e){return function(){Vo(this,e)}}function Pc(e,t){return function(){(t.apply(this,arguments)?Ro:Vo)(this,e)}}function Tc(e,t){var n=Lo(e+"");if(arguments.length<2){for(var r=Jn(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each((typeof t=="function"?Pc:t?Ac:$c)(n,t))}function zc(){this.textContent=""}function Dc(e){return function(){this.textContent=e}}function Lc(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Hc(e){return arguments.length?this.each(e==null?zc:(typeof e=="function"?Lc:Dc)(e)):this.node().textContent}function Rc(){this.innerHTML=""}function Vc(e){return function(){this.innerHTML=e}}function Bc(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Fc(e){return arguments.length?this.each(e==null?Rc:(typeof e=="function"?Bc:Vc)(e)):this.node().innerHTML}function Oc(){this.nextSibling&&this.parentNode.appendChild(this)}function jc(){return this.each(Oc)}function Xc(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Yc(){return this.each(Xc)}function Wc(e){var t=typeof e=="function"?e:Ao(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function qc(){return null}function Gc(e,t){var n=typeof e=="function"?e:Ao(e),r=t==null?qc:typeof t=="function"?t:Qn(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function Kc(){var e=this.parentNode;e&&e.removeChild(this)}function Uc(){return this.each(Kc)}function Zc(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Qc(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Jc(e){return this.select(e?Qc:Zc)}function eu(e){return arguments.length?this.property("__data__",e):this.node().__data__}function tu(e){return function(t){e.call(this,t,this.__data__)}}function nu(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function ru(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,o=t.length,i;n<o;++n)i=t[n],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++r]=i;++r?t.length=r:delete this.__on}}}function ou(e,t,n){return function(){var r=this.__on,o,i=tu(t);if(r){for(var s=0,a=r.length;s<a;++s)if((o=r[s]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=t;return}}this.addEventListener(e.type,i,n),o={type:e.type,name:e.name,value:t,listener:i,options:n},r?r.push(o):this.__on=[o]}}function iu(e,t,n){var r=nu(e+""),o,i=r.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var c=0,l=a.length,d;c<l;++c)for(o=0,d=a[c];o<i;++o)if((s=r[o]).type===d.type&&s.name===d.name)return d.value}return}for(a=t?ou:ru,o=0;o<i;++o)this.each(a(r[o],t,n));return this}function Bo(e,t,n){var r=Do(e),o=r.CustomEvent;typeof o=="function"?o=new o(t,n):(o=r.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function su(e,t){return function(){return Bo(this,e,t)}}function au(e,t){return function(){return Bo(this,e,t.apply(this,arguments))}}function cu(e,t){return this.each((typeof t=="function"?au:su)(e,t))}function*uu(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length,s;o<i;++o)(s=r[o])&&(yield s)}var Fo=[null];function ue(e,t){this._groups=e,this._parents=t}function bt(){return new ue([[document.documentElement]],Fo)}function lu(){return this}ue.prototype=bt.prototype={constructor:ue,select:La,selectAll:Ba,selectChild:Xa,selectChildren:Ga,filter:Ka,data:tc,enter:Ua,exit:rc,join:oc,merge:ic,selection:lu,order:sc,sort:ac,call:uc,nodes:lc,node:fc,size:dc,empty:hc,each:gc,attr:bc,style:Nc,property:kc,classed:Tc,text:Hc,html:Fc,raise:jc,lower:Yc,append:Wc,insert:Gc,remove:Uc,clone:Jc,datum:eu,on:iu,dispatch:cu,[Symbol.iterator]:uu};function ce(e){return typeof e=="string"?new ue([[document.querySelector(e)]],[document.documentElement]):new ue([[e]],Fo)}function fu(e){let t;for(;t=e.sourceEvent;)e=t;return e}function le(e,t){if(e=fu(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}const du={passive:!1},dt={capture:!0,passive:!1};function _n(e){e.stopImmediatePropagation()}function Ye(e){e.preventDefault(),e.stopImmediatePropagation()}function Oo(e){var t=e.document.documentElement,n=ce(e).on("dragstart.drag",Ye,dt);"onselectstart"in t?n.on("selectstart.drag",Ye,dt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function jo(e,t){var n=e.document.documentElement,r=ce(e).on("dragstart.drag",null);t&&(r.on("click.drag",Ye,dt),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const kt=e=>()=>e;function Rn(e,{sourceEvent:t,subject:n,target:r,identifier:o,active:i,x:s,y:a,dx:c,dy:l,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:d}})}Rn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function hu(e){return!e.ctrlKey&&!e.button}function gu(){return this.parentNode}function pu(e,t){return t??{x:e.x,y:e.y}}function mu(){return navigator.maxTouchPoints||"ontouchstart"in this}function Xo(){var e=hu,t=gu,n=pu,r=mu,o={},i=nn("start","drag","end"),s=0,a,c,l,d,u=0;function f(w){w.on("mousedown.drag",h).filter(r).on("touchstart.drag",x).on("touchmove.drag",m,du).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(w,N){if(!(d||!e.call(this,w,N))){var _=p(this,t.call(this,w,N),w,N,"mouse");_&&(ce(w.view).on("mousemove.drag",g,dt).on("mouseup.drag",y,dt),Oo(w.view),_n(w),l=!1,a=w.clientX,c=w.clientY,_("start",w))}}function g(w){if(Ye(w),!l){var N=w.clientX-a,_=w.clientY-c;l=N*N+_*_>u}o.mouse("drag",w)}function y(w){ce(w.view).on("mousemove.drag mouseup.drag",null),jo(w.view,l),Ye(w),o.mouse("end",w)}function x(w,N){if(e.call(this,w,N)){var _=w.changedTouches,M=t.call(this,w,N),T=_.length,z,B;for(z=0;z<T;++z)(B=p(this,M,w,N,_[z].identifier,_[z]))&&(_n(w),B("start",w,_[z]))}}function m(w){var N=w.changedTouches,_=N.length,M,T;for(M=0;M<_;++M)(T=o[N[M].identifier])&&(Ye(w),T("drag",w,N[M]))}function b(w){var N=w.changedTouches,_=N.length,M,T;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),M=0;M<_;++M)(T=o[N[M].identifier])&&(_n(w),T("end",w,N[M]))}function p(w,N,_,M,T,z){var B=i.copy(),I=le(z||_,N),$,V,v;if((v=n.call(w,new Rn("beforestart",{sourceEvent:_,target:f,identifier:T,active:s,x:I[0],y:I[1],dx:0,dy:0,dispatch:B}),M))!=null)return $=v.x-I[0]||0,V=v.y-I[1]||0,function k(E,A,C){var S=I,L;switch(E){case"start":o[T]=k,L=s++;break;case"end":delete o[T],--s;case"drag":I=le(C||A,N),L=s;break}B.call(E,w,new Rn(E,{sourceEvent:A,subject:v,target:f,identifier:T,active:L,x:I[0]+$,y:I[1]+V,dx:I[0]-S[0],dy:I[1]-S[1],dispatch:B}),M)}}return f.filter=function(w){return arguments.length?(e=typeof w=="function"?w:kt(!!w),f):e},f.container=function(w){return arguments.length?(t=typeof w=="function"?w:kt(w),f):t},f.subject=function(w){return arguments.length?(n=typeof w=="function"?w:kt(w),f):n},f.touchable=function(w){return arguments.length?(r=typeof w=="function"?w:kt(!!w),f):r},f.on=function(){var w=i.on.apply(i,arguments);return w===i?f:w},f.clickDistance=function(w){return arguments.length?(u=(w=+w)*w,f):Math.sqrt(u)},f}function _t(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function on(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Be(){}var ht=.7,Xt=1/ht,We="\\s*([+-]?\\d+)\\s*",gt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",me="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",yu=/^#([0-9a-f]{3,8})$/,xu=new RegExp(`^rgb\\(${We},${We},${We}\\)$`),wu=new RegExp(`^rgb\\(${me},${me},${me}\\)$`),vu=new RegExp(`^rgba\\(${We},${We},${We},${gt}\\)$`),bu=new RegExp(`^rgba\\(${me},${me},${me},${gt}\\)$`),_u=new RegExp(`^hsl\\(${gt},${me},${me}\\)$`),Eu=new RegExp(`^hsla\\(${gt},${me},${me},${gt}\\)$`),Mr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};_t(Be,Le,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Cr,formatHex:Cr,formatHex8:Su,formatHsl:Nu,formatRgb:Ir,toString:Ir});function Cr(){return this.rgb().formatHex()}function Su(){return this.rgb().formatHex8()}function Nu(){return Wo(this).formatHsl()}function Ir(){return this.rgb().formatRgb()}function Le(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=yu.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?kr(t):n===3?new ae(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?At(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?At(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=xu.exec(e))?new ae(t[1],t[2],t[3],1):(t=wu.exec(e))?new ae(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=vu.exec(e))?At(t[1],t[2],t[3],t[4]):(t=bu.exec(e))?At(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=_u.exec(e))?Pr(t[1],t[2]/100,t[3]/100,1):(t=Eu.exec(e))?Pr(t[1],t[2]/100,t[3]/100,t[4]):Mr.hasOwnProperty(e)?kr(Mr[e]):e==="transparent"?new ae(NaN,NaN,NaN,0):null}function kr(e){return new ae(e>>16&255,e>>8&255,e&255,1)}function At(e,t,n,r){return r<=0&&(e=t=n=NaN),new ae(e,t,n,r)}function Yo(e){return e instanceof Be||(e=Le(e)),e?(e=e.rgb(),new ae(e.r,e.g,e.b,e.opacity)):new ae}function Vn(e,t,n,r){return arguments.length===1?Yo(e):new ae(e,t,n,r??1)}function ae(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}_t(ae,Vn,on(Be,{brighter(e){return e=e==null?Xt:Math.pow(Xt,e),new ae(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ht:Math.pow(ht,e),new ae(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ae(ze(this.r),ze(this.g),ze(this.b),Yt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ar,formatHex:Ar,formatHex8:Mu,formatRgb:$r,toString:$r}));function Ar(){return`#${Te(this.r)}${Te(this.g)}${Te(this.b)}`}function Mu(){return`#${Te(this.r)}${Te(this.g)}${Te(this.b)}${Te((isNaN(this.opacity)?1:this.opacity)*255)}`}function $r(){const e=Yt(this.opacity);return`${e===1?"rgb(":"rgba("}${ze(this.r)}, ${ze(this.g)}, ${ze(this.b)}${e===1?")":`, ${e})`}`}function Yt(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ze(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Te(e){return e=ze(e),(e<16?"0":"")+e.toString(16)}function Pr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new fe(e,t,n,r)}function Wo(e){if(e instanceof fe)return new fe(e.h,e.s,e.l,e.opacity);if(e instanceof Be||(e=Le(e)),!e)return new fe;if(e instanceof fe)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),s=NaN,a=i-o,c=(i+o)/2;return a?(t===i?s=(n-r)/a+(n<r)*6:n===i?s=(r-t)/a+2:s=(t-n)/a+4,a/=c<.5?i+o:2-i-o,s*=60):a=c>0&&c<1?0:s,new fe(s,a,c,e.opacity)}function Cu(e,t,n,r){return arguments.length===1?Wo(e):new fe(e,t,n,r??1)}function fe(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}_t(fe,Cu,on(Be,{brighter(e){return e=e==null?Xt:Math.pow(Xt,e),new fe(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ht:Math.pow(ht,e),new fe(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new ae(En(e>=240?e-240:e+120,o,r),En(e,o,r),En(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new fe(Tr(this.h),$t(this.s),$t(this.l),Yt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Yt(this.opacity);return`${e===1?"hsl(":"hsla("}${Tr(this.h)}, ${$t(this.s)*100}%, ${$t(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Tr(e){return e=(e||0)%360,e<0?e+360:e}function $t(e){return Math.max(0,Math.min(1,e||0))}function En(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Iu=Math.PI/180,ku=180/Math.PI,Wt=18,qo=.96422,Go=1,Ko=.82521,Uo=4/29,qe=6/29,Zo=3*qe*qe,Au=qe*qe*qe;function Qo(e){if(e instanceof ye)return new ye(e.l,e.a,e.b,e.opacity);if(e instanceof _e)return Jo(e);e instanceof ae||(e=Yo(e));var t=Cn(e.r),n=Cn(e.g),r=Cn(e.b),o=Sn((.2225045*t+.7168786*n+.0606169*r)/Go),i,s;return t===n&&n===r?i=s=o:(i=Sn((.4360747*t+.3850649*n+.1430804*r)/qo),s=Sn((.0139322*t+.0971045*n+.7141733*r)/Ko)),new ye(116*o-16,500*(i-o),200*(o-s),e.opacity)}function $u(e,t,n,r){return arguments.length===1?Qo(e):new ye(e,t,n,r??1)}function ye(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}_t(ye,$u,on(Be,{brighter(e){return new ye(this.l+Wt*(e??1),this.a,this.b,this.opacity)},darker(e){return new ye(this.l-Wt*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=qo*Nn(t),e=Go*Nn(e),n=Ko*Nn(n),new ae(Mn(3.1338561*t-1.6168667*e-.4906146*n),Mn(-.9787684*t+1.9161415*e+.033454*n),Mn(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function Sn(e){return e>Au?Math.pow(e,1/3):e/Zo+Uo}function Nn(e){return e>qe?e*e*e:Zo*(e-Uo)}function Mn(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Cn(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Pu(e){if(e instanceof _e)return new _e(e.h,e.c,e.l,e.opacity);if(e instanceof ye||(e=Qo(e)),e.a===0&&e.b===0)return new _e(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*ku;return new _e(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Bn(e,t,n,r){return arguments.length===1?Pu(e):new _e(e,t,n,r??1)}function _e(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function Jo(e){if(isNaN(e.h))return new ye(e.l,0,0,e.opacity);var t=e.h*Iu;return new ye(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}_t(_e,Bn,on(Be,{brighter(e){return new _e(this.h,this.c,this.l+Wt*(e??1),this.opacity)},darker(e){return new _e(this.h,this.c,this.l-Wt*(e??1),this.opacity)},rgb(){return Jo(this).rgb()}}));const sn=e=>()=>e;function ei(e,t){return function(n){return e+n*t}}function Tu(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function zu(e,t){var n=t-e;return n?ei(e,n>180||n<-180?n-360*Math.round(n/360):n):sn(isNaN(e)?t:e)}function Du(e){return(e=+e)==1?ut:function(t,n){return n-t?Tu(t,n,e):sn(isNaN(t)?n:t)}}function ut(e,t){var n=t-e;return n?ei(e,n):sn(isNaN(e)?t:e)}const qt=(function e(t){var n=Du(t);function r(o,i){var s=n((o=Vn(o)).r,(i=Vn(i)).r),a=n(o.g,i.g),c=n(o.b,i.b),l=ut(o.opacity,i.opacity);return function(d){return o.r=s(d),o.g=a(d),o.b=c(d),o.opacity=l(d),o+""}}return r.gamma=e,r})(1);function Lu(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),o;return function(i){for(o=0;o<n;++o)r[o]=e[o]*(1-i)+t[o]*i;return r}}function Hu(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Ru(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,o=new Array(r),i=new Array(n),s;for(s=0;s<r;++s)o[s]=lt(e[s],t[s]);for(;s<n;++s)i[s]=t[s];return function(a){for(s=0;s<r;++s)i[s]=o[s](a);return i}}function Vu(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function pe(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Bu(e,t){var n={},r={},o;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(o in t)o in e?n[o]=lt(e[o],t[o]):r[o]=t[o];return function(i){for(o in n)r[o]=n[o](i);return r}}var Fn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,In=new RegExp(Fn.source,"g");function Fu(e){return function(){return e}}function Ou(e){return function(t){return e(t)+""}}function ti(e,t){var n=Fn.lastIndex=In.lastIndex=0,r,o,i,s=-1,a=[],c=[];for(e=e+"",t=t+"";(r=Fn.exec(e))&&(o=In.exec(t));)(i=o.index)>n&&(i=t.slice(n,i),a[s]?a[s]+=i:a[++s]=i),(r=r[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,c.push({i:s,x:pe(r,o)})),n=In.lastIndex;return n<t.length&&(i=t.slice(n),a[s]?a[s]+=i:a[++s]=i),a.length<2?c[0]?Ou(c[0].x):Fu(t):(t=c.length,function(l){for(var d=0,u;d<t;++d)a[(u=c[d]).i]=u.x(l);return a.join("")})}function lt(e,t){var n=typeof t,r;return t==null||n==="boolean"?sn(t):(n==="number"?pe:n==="string"?(r=Le(t))?(t=r,qt):ti:t instanceof Le?qt:t instanceof Date?Vu:Hu(t)?Lu:Array.isArray(t)?Ru:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?Bu:pe)(e,t)}function Lg(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var zr=180/Math.PI,On={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ni(e,t,n,r,o,i){var s,a,c;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,c/=a),e*r<t*n&&(e=-e,t=-t,c=-c,s=-s),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*zr,skewX:Math.atan(c)*zr,scaleX:s,scaleY:a}}var Pt;function ju(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?On:ni(t.a,t.b,t.c,t.d,t.e,t.f)}function Xu(e){return e==null||(Pt||(Pt=document.createElementNS("http://www.w3.org/2000/svg","g")),Pt.setAttribute("transform",e),!(e=Pt.transform.baseVal.consolidate()))?On:(e=e.matrix,ni(e.a,e.b,e.c,e.d,e.e,e.f))}function ri(e,t,n,r){function o(l){return l.length?l.pop()+" ":""}function i(l,d,u,f,h,g){if(l!==u||d!==f){var y=h.push("translate(",null,t,null,n);g.push({i:y-4,x:pe(l,u)},{i:y-2,x:pe(d,f)})}else(u||f)&&h.push("translate("+u+t+f+n)}function s(l,d,u,f){l!==d?(l-d>180?d+=360:d-l>180&&(l+=360),f.push({i:u.push(o(u)+"rotate(",null,r)-2,x:pe(l,d)})):d&&u.push(o(u)+"rotate("+d+r)}function a(l,d,u,f){l!==d?f.push({i:u.push(o(u)+"skewX(",null,r)-2,x:pe(l,d)}):d&&u.push(o(u)+"skewX("+d+r)}function c(l,d,u,f,h,g){if(l!==u||d!==f){var y=h.push(o(h)+"scale(",null,",",null,")");g.push({i:y-4,x:pe(l,u)},{i:y-2,x:pe(d,f)})}else(u!==1||f!==1)&&h.push(o(h)+"scale("+u+","+f+")")}return function(l,d){var u=[],f=[];return l=e(l),d=e(d),i(l.translateX,l.translateY,d.translateX,d.translateY,u,f),s(l.rotate,d.rotate,u,f),a(l.skewX,d.skewX,u,f),c(l.scaleX,l.scaleY,d.scaleX,d.scaleY,u,f),l=d=null,function(h){for(var g=-1,y=f.length,x;++g<y;)u[(x=f[g]).i]=x.x(h);return u.join("")}}}var Yu=ri(ju,"px, ","px)","deg)"),Wu=ri(Xu,", ",")",")"),qu=1e-12;function Dr(e){return((e=Math.exp(e))+1/e)/2}function Gu(e){return((e=Math.exp(e))-1/e)/2}function Ku(e){return((e=Math.exp(2*e))-1)/(e+1)}const Vt=(function e(t,n,r){function o(i,s){var a=i[0],c=i[1],l=i[2],d=s[0],u=s[1],f=s[2],h=d-a,g=u-c,y=h*h+g*g,x,m;if(y<qu)m=Math.log(f/l)/t,x=function(M){return[a+M*h,c+M*g,l*Math.exp(t*M*m)]};else{var b=Math.sqrt(y),p=(f*f-l*l+r*y)/(2*l*n*b),w=(f*f-l*l-r*y)/(2*f*n*b),N=Math.log(Math.sqrt(p*p+1)-p),_=Math.log(Math.sqrt(w*w+1)-w);m=(_-N)/t,x=function(M){var T=M*m,z=Dr(N),B=l/(n*b)*(z*Ku(t*T+N)-Gu(N));return[a+B*h,c+B*g,l*z/Dr(t*T+N)]}}return x.duration=m*1e3*t/Math.SQRT2,x}return o.rho=function(i){var s=Math.max(.001,+i),a=s*s,c=a*a;return e(s,a,c)},o})(Math.SQRT2,2,4);function Uu(e){return function(t,n){var r=e((t=Bn(t)).h,(n=Bn(n)).h),o=ut(t.c,n.c),i=ut(t.l,n.l),s=ut(t.opacity,n.opacity);return function(a){return t.h=r(a),t.c=o(a),t.l=i(a),t.opacity=s(a),t+""}}}const Hg=Uu(zu);var Ke=0,at=0,it=0,oi=1e3,Gt,ct,Kt=0,He=0,an=0,pt=typeof performance=="object"&&performance.now?performance:Date,ii=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function er(){return He||(ii(Zu),He=pt.now()+an)}function Zu(){He=0}function Ut(){this._call=this._time=this._next=null}Ut.prototype=si.prototype={constructor:Ut,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?er():+n)+(t==null?0:+t),!this._next&&ct!==this&&(ct?ct._next=this:Gt=this,ct=this),this._call=e,this._time=n,jn()},stop:function(){this._call&&(this._call=null,this._time=1/0,jn())}};function si(e,t,n){var r=new Ut;return r.restart(e,t,n),r}function Qu(){er(),++Ke;for(var e=Gt,t;e;)(t=He-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Ke}function Lr(){He=(Kt=pt.now())+an,Ke=at=0;try{Qu()}finally{Ke=0,el(),He=0}}function Ju(){var e=pt.now(),t=e-Kt;t>oi&&(an-=t,Kt=e)}function el(){for(var e,t=Gt,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Gt=n);ct=e,jn(r)}function jn(e){if(!Ke){at&&(at=clearTimeout(at));var t=e-He;t>24?(e<1/0&&(at=setTimeout(Lr,e-pt.now()-an)),it&&(it=clearInterval(it))):(it||(Kt=pt.now(),it=setInterval(Ju,oi)),Ke=1,ii(Lr))}}function Hr(e,t,n){var r=new Ut;return t=t==null?0:+t,r.restart(o=>{r.stop(),e(o+t)},t,n),r}var tl=nn("start","end","cancel","interrupt"),nl=[],ai=0,Rr=1,Xn=2,Bt=3,Vr=4,Yn=5,Ft=6;function cn(e,t,n,r,o,i){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;rl(e,n,{name:t,index:r,group:o,on:tl,tween:nl,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:ai})}function tr(e,t){var n=ge(e,t);if(n.state>ai)throw new Error("too late; already scheduled");return n}function we(e,t){var n=ge(e,t);if(n.state>Bt)throw new Error("too late; already running");return n}function ge(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function rl(e,t,n){var r=e.__transition,o;r[t]=n,n.timer=si(i,0,n.time);function i(l){n.state=Rr,n.timer.restart(s,n.delay,n.time),n.delay<=l&&s(l-n.delay)}function s(l){var d,u,f,h;if(n.state!==Rr)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===Bt)return Hr(s);h.state===Vr?(h.state=Ft,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=Ft,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(Hr(function(){n.state===Bt&&(n.state=Vr,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=Xn,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Xn){for(n.state=Bt,o=new Array(f=n.tween.length),d=0,u=-1;d<f;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(o[++u]=h);o.length=u+1}}function a(l){for(var d=l<n.duration?n.ease.call(null,l/n.duration):(n.timer.restart(c),n.state=Yn,1),u=-1,f=o.length;++u<f;)o[u].call(e,d);n.state===Yn&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Ft,n.timer.stop(),delete r[t];for(var l in r)return;delete e.__transition}}function Ot(e,t){var n=e.__transition,r,o,i=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((r=n[s]).name!==t){i=!1;continue}o=r.state>Xn&&r.state<Yn,r.state=Ft,r.timer.stop(),r.on.call(o?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[s]}i&&delete e.__transition}}function ol(e){return this.each(function(){Ot(this,e)})}function il(e,t){var n,r;return function(){var o=we(this,e),i=o.tween;if(i!==n){r=n=i;for(var s=0,a=r.length;s<a;++s)if(r[s].name===t){r=r.slice(),r.splice(s,1);break}}o.tween=r}}function sl(e,t,n){var r,o;if(typeof n!="function")throw new Error;return function(){var i=we(this,e),s=i.tween;if(s!==r){o=(r=s).slice();for(var a={name:t,value:n},c=0,l=o.length;c<l;++c)if(o[c].name===t){o[c]=a;break}c===l&&o.push(a)}i.tween=o}}function al(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=ge(this.node(),n).tween,o=0,i=r.length,s;o<i;++o)if((s=r[o]).name===e)return s.value;return null}return this.each((t==null?il:sl)(n,e,t))}function nr(e,t,n){var r=e._id;return e.each(function(){var o=we(this,r);(o.value||(o.value={}))[t]=n.apply(this,arguments)}),function(o){return ge(o,r).value[t]}}function ci(e,t){var n;return(typeof t=="number"?pe:t instanceof Le?qt:(n=Le(t))?(t=n,qt):ti)(e,t)}function cl(e){return function(){this.removeAttribute(e)}}function ul(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ll(e,t,n){var r,o=n+"",i;return function(){var s=this.getAttribute(e);return s===o?null:s===r?i:i=t(r=s,n)}}function fl(e,t,n){var r,o=n+"",i;return function(){var s=this.getAttributeNS(e.space,e.local);return s===o?null:s===r?i:i=t(r=s,n)}}function dl(e,t,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=t(r=s,a)))}}function hl(e,t,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=t(r=s,a)))}}function gl(e,t){var n=rn(e),r=n==="transform"?Wu:ci;return this.attrTween(e,typeof t=="function"?(n.local?hl:dl)(n,r,nr(this,"attr."+e,t)):t==null?(n.local?ul:cl)(n):(n.local?fl:ll)(n,r,t))}function pl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function ml(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function yl(e,t){var n,r;function o(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&ml(e,i)),n}return o._value=t,o}function xl(e,t){var n,r;function o(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&pl(e,i)),n}return o._value=t,o}function wl(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=rn(e);return this.tween(n,(r.local?yl:xl)(r,t))}function vl(e,t){return function(){tr(this,e).delay=+t.apply(this,arguments)}}function bl(e,t){return t=+t,function(){tr(this,e).delay=t}}function _l(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?vl:bl)(t,e)):ge(this.node(),t).delay}function El(e,t){return function(){we(this,e).duration=+t.apply(this,arguments)}}function Sl(e,t){return t=+t,function(){we(this,e).duration=t}}function Nl(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?El:Sl)(t,e)):ge(this.node(),t).duration}function Ml(e,t){if(typeof t!="function")throw new Error;return function(){we(this,e).ease=t}}function Cl(e){var t=this._id;return arguments.length?this.each(Ml(t,e)):ge(this.node(),t).ease}function Il(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;we(this,e).ease=n}}function kl(e){if(typeof e!="function")throw new Error;return this.each(Il(this._id,e))}function Al(e){typeof e!="function"&&(e=Po(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],s=i.length,a=r[o]=[],c,l=0;l<s;++l)(c=i[l])&&e.call(c,c.__data__,l,i)&&a.push(c);return new Se(r,this._parents,this._name,this._id)}function $l(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),s=new Array(r),a=0;a<i;++a)for(var c=t[a],l=n[a],d=c.length,u=s[a]=new Array(d),f,h=0;h<d;++h)(f=c[h]||l[h])&&(u[h]=f);for(;a<r;++a)s[a]=t[a];return new Se(s,this._parents,this._name,this._id)}function Pl(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Tl(e,t,n){var r,o,i=Pl(t)?tr:we;return function(){var s=i(this,e),a=s.on;a!==r&&(o=(r=a).copy()).on(t,n),s.on=o}}function zl(e,t){var n=this._id;return arguments.length<2?ge(this.node(),n).on.on(e):this.each(Tl(n,e,t))}function Dl(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Ll(){return this.on("end.remove",Dl(this._id))}function Hl(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Qn(e));for(var r=this._groups,o=r.length,i=new Array(o),s=0;s<o;++s)for(var a=r[s],c=a.length,l=i[s]=new Array(c),d,u,f=0;f<c;++f)(d=a[f])&&(u=e.call(d,d.__data__,f,a))&&("__data__"in d&&(u.__data__=d.__data__),l[f]=u,cn(l[f],t,n,f,l,ge(d,n)));return new Se(i,this._parents,t,n)}function Rl(e){var t=this._name,n=this._id;typeof e!="function"&&(e=$o(e));for(var r=this._groups,o=r.length,i=[],s=[],a=0;a<o;++a)for(var c=r[a],l=c.length,d,u=0;u<l;++u)if(d=c[u]){for(var f=e.call(d,d.__data__,u,c),h,g=ge(d,n),y=0,x=f.length;y<x;++y)(h=f[y])&&cn(h,t,n,y,f,g);i.push(f),s.push(d)}return new Se(i,s,t,n)}var Vl=bt.prototype.constructor;function Bl(){return new Vl(this._groups,this._parents)}function Fl(e,t){var n,r,o;return function(){var i=Ge(this,e),s=(this.style.removeProperty(e),Ge(this,e));return i===s?null:i===n&&s===r?o:o=t(n=i,r=s)}}function ui(e){return function(){this.style.removeProperty(e)}}function Ol(e,t,n){var r,o=n+"",i;return function(){var s=Ge(this,e);return s===o?null:s===r?i:i=t(r=s,n)}}function jl(e,t,n){var r,o,i;return function(){var s=Ge(this,e),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(e),Ge(this,e))),s===c?null:s===r&&c===o?i:(o=c,i=t(r=s,a))}}function Xl(e,t){var n,r,o,i="style."+t,s="end."+i,a;return function(){var c=we(this,e),l=c.on,d=c.value[i]==null?a||(a=ui(t)):void 0;(l!==n||o!==d)&&(r=(n=l).copy()).on(s,o=d),c.on=r}}function Yl(e,t,n){var r=(e+="")=="transform"?Yu:ci;return t==null?this.styleTween(e,Fl(e,r)).on("end.style."+e,ui(e)):typeof t=="function"?this.styleTween(e,jl(e,r,nr(this,"style."+e,t))).each(Xl(this._id,e)):this.styleTween(e,Ol(e,r,t),n).on("end.style."+e,null)}function Wl(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function ql(e,t,n){var r,o;function i(){var s=t.apply(this,arguments);return s!==o&&(r=(o=s)&&Wl(e,s,n)),r}return i._value=t,i}function Gl(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,ql(e,t,n??""))}function Kl(e){return function(){this.textContent=e}}function Ul(e){return function(){var t=e(this);this.textContent=t??""}}function Zl(e){return this.tween("text",typeof e=="function"?Ul(nr(this,"text",e)):Kl(e==null?"":e+""))}function Ql(e){return function(t){this.textContent=e.call(this,t)}}function Jl(e){var t,n;function r(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&Ql(o)),t}return r._value=e,r}function ef(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,Jl(e))}function tf(){for(var e=this._name,t=this._id,n=li(),r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,l=0;l<a;++l)if(c=s[l]){var d=ge(c,t);cn(c,e,n,l,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Se(r,this._parents,e,n)}function nf(){var e,t,n=this,r=n._id,o=n.size();return new Promise(function(i,s){var a={value:s},c={value:function(){--o===0&&i()}};n.each(function(){var l=we(this,r),d=l.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(c)),l.on=t}),o===0&&i()})}var rf=0;function Se(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function li(){return++rf}var be=bt.prototype;Se.prototype={constructor:Se,select:Hl,selectAll:Rl,selectChild:be.selectChild,selectChildren:be.selectChildren,filter:Al,merge:$l,selection:Bl,transition:tf,call:be.call,nodes:be.nodes,node:be.node,size:be.size,empty:be.empty,each:be.each,on:zl,attr:gl,attrTween:wl,style:Yl,styleTween:Gl,text:Zl,textTween:ef,remove:Ll,tween:al,delay:_l,duration:Nl,ease:Cl,easeVarying:kl,end:nf,[Symbol.iterator]:be[Symbol.iterator]};function of(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var sf={time:null,delay:0,duration:250,ease:of};function af(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function cf(e){var t,n;e instanceof Se?(t=e._id,e=e._name):(t=li(),(n=sf).time=er(),e=e==null?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,l=0;l<a;++l)(c=s[l])&&cn(c,e,t,l,s,n||af(c,t));return new Se(r,this._parents,e,t)}bt.prototype.interrupt=ol;bt.prototype.transition=cf;const Tt=e=>()=>e;function uf(e,{sourceEvent:t,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function Ee(e,t,n){this.k=e,this.x=t,this.y=n}Ee.prototype={constructor:Ee,scale:function(e){return e===1?this:new Ee(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ee(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var un=new Ee(1,0,0);fi.prototype=Ee.prototype;function fi(e){for(;!e.__zoom;)if(!(e=e.parentNode))return un;return e.__zoom}function kn(e){e.stopImmediatePropagation()}function st(e){e.preventDefault(),e.stopImmediatePropagation()}function lf(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function ff(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Br(){return this.__zoom||un}function df(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function hf(){return navigator.maxTouchPoints||"ontouchstart"in this}function gf(e,t,n){var r=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function di(){var e=lf,t=ff,n=gf,r=df,o=hf,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=Vt,l=nn("start","zoom","end"),d,u,f,h=500,g=150,y=0,x=10;function m(v){v.property("__zoom",Br).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",B).filter(o).on("touchstart.zoom",I).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",V).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(v,k,E,A){var C=v.selection?v.selection():v;C.property("__zoom",Br),v!==C?N(v,k,E,A):C.interrupt().each(function(){_(this,arguments).event(A).start().zoom(null,typeof k=="function"?k.apply(this,arguments):k).end()})},m.scaleBy=function(v,k,E,A){m.scaleTo(v,function(){var C=this.__zoom.k,S=typeof k=="function"?k.apply(this,arguments):k;return C*S},E,A)},m.scaleTo=function(v,k,E,A){m.transform(v,function(){var C=t.apply(this,arguments),S=this.__zoom,L=E==null?w(C):typeof E=="function"?E.apply(this,arguments):E,R=S.invert(L),H=typeof k=="function"?k.apply(this,arguments):k;return n(p(b(S,H),L,R),C,s)},E,A)},m.translateBy=function(v,k,E,A){m.transform(v,function(){return n(this.__zoom.translate(typeof k=="function"?k.apply(this,arguments):k,typeof E=="function"?E.apply(this,arguments):E),t.apply(this,arguments),s)},null,A)},m.translateTo=function(v,k,E,A,C){m.transform(v,function(){var S=t.apply(this,arguments),L=this.__zoom,R=A==null?w(S):typeof A=="function"?A.apply(this,arguments):A;return n(un.translate(R[0],R[1]).scale(L.k).translate(typeof k=="function"?-k.apply(this,arguments):-k,typeof E=="function"?-E.apply(this,arguments):-E),S,s)},A,C)};function b(v,k){return k=Math.max(i[0],Math.min(i[1],k)),k===v.k?v:new Ee(k,v.x,v.y)}function p(v,k,E){var A=k[0]-E[0]*v.k,C=k[1]-E[1]*v.k;return A===v.x&&C===v.y?v:new Ee(v.k,A,C)}function w(v){return[(+v[0][0]+ +v[1][0])/2,(+v[0][1]+ +v[1][1])/2]}function N(v,k,E,A){v.on("start.zoom",function(){_(this,arguments).event(A).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(A).end()}).tween("zoom",function(){var C=this,S=arguments,L=_(C,S).event(A),R=t.apply(C,S),H=E==null?w(R):typeof E=="function"?E.apply(C,S):E,O=Math.max(R[1][0]-R[0][0],R[1][1]-R[0][1]),j=C.__zoom,Y=typeof k=="function"?k.apply(C,S):k,K=c(j.invert(H).concat(O/j.k),Y.invert(H).concat(O/Y.k));return function(q){if(q===1)q=Y;else{var F=K(q),W=O/F[2];q=new Ee(W,H[0]-F[0]*W,H[1]-F[1]*W)}L.zoom(null,q)}})}function _(v,k,E){return!E&&v.__zooming||new M(v,k)}function M(v,k){this.that=v,this.args=k,this.active=0,this.sourceEvent=null,this.extent=t.apply(v,k),this.taps=0}M.prototype={event:function(v){return v&&(this.sourceEvent=v),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(v,k){return this.mouse&&v!=="mouse"&&(this.mouse[1]=k.invert(this.mouse[0])),this.touch0&&v!=="touch"&&(this.touch0[1]=k.invert(this.touch0[0])),this.touch1&&v!=="touch"&&(this.touch1[1]=k.invert(this.touch1[0])),this.that.__zoom=k,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(v){var k=ce(this.that).datum();l.call(v,this.that,new uf(v,{sourceEvent:this.sourceEvent,target:m,transform:this.that.__zoom,dispatch:l}),k)}};function T(v,...k){if(!e.apply(this,arguments))return;var E=_(this,k).event(v),A=this.__zoom,C=Math.max(i[0],Math.min(i[1],A.k*Math.pow(2,r.apply(this,arguments)))),S=le(v);if(E.wheel)(E.mouse[0][0]!==S[0]||E.mouse[0][1]!==S[1])&&(E.mouse[1]=A.invert(E.mouse[0]=S)),clearTimeout(E.wheel);else{if(A.k===C)return;E.mouse=[S,A.invert(S)],Ot(this),E.start()}st(v),E.wheel=setTimeout(L,g),E.zoom("mouse",n(p(b(A,C),E.mouse[0],E.mouse[1]),E.extent,s));function L(){E.wheel=null,E.end()}}function z(v,...k){if(f||!e.apply(this,arguments))return;var E=v.currentTarget,A=_(this,k,!0).event(v),C=ce(v.view).on("mousemove.zoom",H,!0).on("mouseup.zoom",O,!0),S=le(v,E),L=v.clientX,R=v.clientY;Oo(v.view),kn(v),A.mouse=[S,this.__zoom.invert(S)],Ot(this),A.start();function H(j){if(st(j),!A.moved){var Y=j.clientX-L,K=j.clientY-R;A.moved=Y*Y+K*K>y}A.event(j).zoom("mouse",n(p(A.that.__zoom,A.mouse[0]=le(j,E),A.mouse[1]),A.extent,s))}function O(j){C.on("mousemove.zoom mouseup.zoom",null),jo(j.view,A.moved),st(j),A.event(j).end()}}function B(v,...k){if(e.apply(this,arguments)){var E=this.__zoom,A=le(v.changedTouches?v.changedTouches[0]:v,this),C=E.invert(A),S=E.k*(v.shiftKey?.5:2),L=n(p(b(E,S),A,C),t.apply(this,k),s);st(v),a>0?ce(this).transition().duration(a).call(N,L,A,v):ce(this).call(m.transform,L,A,v)}}function I(v,...k){if(e.apply(this,arguments)){var E=v.touches,A=E.length,C=_(this,k,v.changedTouches.length===A).event(v),S,L,R,H;for(kn(v),L=0;L<A;++L)R=E[L],H=le(R,this),H=[H,this.__zoom.invert(H),R.identifier],C.touch0?!C.touch1&&C.touch0[2]!==H[2]&&(C.touch1=H,C.taps=0):(C.touch0=H,S=!0,C.taps=1+!!d);d&&(d=clearTimeout(d)),S&&(C.taps<2&&(u=H[0],d=setTimeout(function(){d=null},h)),Ot(this),C.start())}}function $(v,...k){if(this.__zooming){var E=_(this,k).event(v),A=v.changedTouches,C=A.length,S,L,R,H;for(st(v),S=0;S<C;++S)L=A[S],R=le(L,this),E.touch0&&E.touch0[2]===L.identifier?E.touch0[0]=R:E.touch1&&E.touch1[2]===L.identifier&&(E.touch1[0]=R);if(L=E.that.__zoom,E.touch1){var O=E.touch0[0],j=E.touch0[1],Y=E.touch1[0],K=E.touch1[1],q=(q=Y[0]-O[0])*q+(q=Y[1]-O[1])*q,F=(F=K[0]-j[0])*F+(F=K[1]-j[1])*F;L=b(L,Math.sqrt(q/F)),R=[(O[0]+Y[0])/2,(O[1]+Y[1])/2],H=[(j[0]+K[0])/2,(j[1]+K[1])/2]}else if(E.touch0)R=E.touch0[0],H=E.touch0[1];else return;E.zoom("touch",n(p(L,R,H),E.extent,s))}}function V(v,...k){if(this.__zooming){var E=_(this,k).event(v),A=v.changedTouches,C=A.length,S,L;for(kn(v),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),S=0;S<C;++S)L=A[S],E.touch0&&E.touch0[2]===L.identifier?delete E.touch0:E.touch1&&E.touch1[2]===L.identifier&&delete E.touch1;if(E.touch1&&!E.touch0&&(E.touch0=E.touch1,delete E.touch1),E.touch0)E.touch0[1]=this.__zoom.invert(E.touch0[0]);else if(E.end(),E.taps===2&&(L=le(L,this),Math.hypot(u[0]-L[0],u[1]-L[1])<x)){var R=ce(this).on("dblclick.zoom");R&&R.apply(this,arguments)}}}return m.wheelDelta=function(v){return arguments.length?(r=typeof v=="function"?v:Tt(+v),m):r},m.filter=function(v){return arguments.length?(e=typeof v=="function"?v:Tt(!!v),m):e},m.touchable=function(v){return arguments.length?(o=typeof v=="function"?v:Tt(!!v),m):o},m.extent=function(v){return arguments.length?(t=typeof v=="function"?v:Tt([[+v[0][0],+v[0][1]],[+v[1][0],+v[1][1]]]),m):t},m.scaleExtent=function(v){return arguments.length?(i[0]=+v[0],i[1]=+v[1],m):[i[0],i[1]]},m.translateExtent=function(v){return arguments.length?(s[0][0]=+v[0][0],s[1][0]=+v[1][0],s[0][1]=+v[0][1],s[1][1]=+v[1][1],m):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},m.constrain=function(v){return arguments.length?(n=v,m):n},m.duration=function(v){return arguments.length?(a=+v,m):a},m.interpolate=function(v){return arguments.length?(c=v,m):c},m.on=function(){var v=l.on.apply(l,arguments);return v===l?m:v},m.clickDistance=function(v){return arguments.length?(y=(v=+v)*v,m):Math.sqrt(y)},m.tapDistance=function(v){return arguments.length?(x=+v,m):x},m}const xe={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},mt=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],hi=["Enter"," ","Escape"],gi={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Ue;(function(e){e.Strict="strict",e.Loose="loose"})(Ue||(Ue={}));var De;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(De||(De={}));var yt;(function(e){e.Partial="partial",e.Full="full"})(yt||(yt={}));const pi={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ke;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ke||(ke={}));var Zt;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Zt||(Zt={}));var X;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(X||(X={}));const Fr={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top};function mi(e){return e===null?null:e?"valid":"invalid"}const yi=e=>"id"in e&&"source"in e&&"target"in e,pf=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),rr=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Et=(e,t=[0,0])=>{const{width:n,height:r}=Ne(e),o=e.origin??t,i=n*o[0],s=r*o[1];return{x:e.position.x-i,y:e.position.y-s}},mf=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,o)=>{const i=typeof o=="string";let s=!t.nodeLookup&&!i?o:void 0;t.nodeLookup&&(s=i?t.nodeLookup.get(o):rr(o)?o:t.nodeLookup.get(o.id));const a=s?Qt(s,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return ln(r,a)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return fn(n)},St=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(o=>{(t.filter===void 0||t.filter(o))&&(n=ln(n,Qt(o)),r=!0)}),r?fn(n):{x:0,y:0,width:0,height:0}},or=(e,t,[n,r,o]=[0,0,1],i=!1,s=!1)=>{const a={...Mt(t,[n,r,o]),width:t.width/o,height:t.height/o},c=[];for(const l of e.values()){const{measured:d,selectable:u=!0,hidden:f=!1}=l;if(s&&!u||f)continue;const h=d.width??l.width??l.initialWidth??null,g=d.height??l.height??l.initialHeight??null,y=xt(a,Qe(l)),x=(h??0)*(g??0),m=i&&y>0;(!l.internals.handleBounds||m||y>=x||l.dragging)&&c.push(l)}return c},yf=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function xf(e,t){const n=new Map,r=t!=null&&t.nodes?new Set(t.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!o.hidden)&&(!r||r.has(o.id))&&n.set(o.id,o)}),n}async function wf({nodes:e,width:t,height:n,panZoom:r,minZoom:o,maxZoom:i},s){if(e.size===0)return Promise.resolve(!0);const a=xf(e,s),c=St(a),l=ir(c,t,n,(s==null?void 0:s.minZoom)??o,(s==null?void 0:s.maxZoom)??i,(s==null?void 0:s.padding)??.1);return await r.setViewport(l,{duration:s==null?void 0:s.duration,ease:s==null?void 0:s.ease,interpolate:s==null?void 0:s.interpolate}),Promise.resolve(!0)}function xi({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:o,onError:i}){const s=n.get(e),a=s.parentId?n.get(s.parentId):void 0,{x:c,y:l}=a?a.internals.positionAbsolute:{x:0,y:0},d=s.origin??r;let u=s.extent||o;if(s.extent==="parent"&&!s.expandParent)if(!a)i==null||i("005",xe.error005());else{const h=a.measured.width,g=a.measured.height;h&&g&&(u=[[c,l],[c+h,l+g]])}else a&&Je(s.extent)&&(u=[[s.extent[0][0]+c,s.extent[0][1]+l],[s.extent[1][0]+c,s.extent[1][1]+l]]);const f=Je(u)?Re(t,u,s.measured):t;return(s.measured.width===void 0||s.measured.height===void 0)&&(i==null||i("015",xe.error015())),{position:{x:f.x-c+(s.measured.width??0)*d[0],y:f.y-l+(s.measured.height??0)*d[1]},positionAbsolute:f}}async function vf({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:o}){const i=new Set(e.map(f=>f.id)),s=[];for(const f of n){if(f.deletable===!1)continue;const h=i.has(f.id),g=!h&&f.parentId&&s.find(y=>y.id===f.parentId);(h||g)&&s.push(f)}const a=new Set(t.map(f=>f.id)),c=r.filter(f=>f.deletable!==!1),d=yf(s,c);for(const f of c)a.has(f.id)&&!d.find(g=>g.id===f.id)&&d.push(f);if(!o)return{edges:d,nodes:s};const u=await o({nodes:s,edges:d});return typeof u=="boolean"?u?{edges:d,nodes:s}:{edges:[],nodes:[]}:u}const Ze=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Re=(e={x:0,y:0},t,n)=>({x:Ze(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:Ze(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function wi(e,t,n){const{width:r,height:o}=Ne(n),{x:i,y:s}=n.internals.positionAbsolute;return Re(e,[[i,s],[i+r,s+o]],t)}const Or=(e,t,n)=>e<t?Ze(Math.abs(e-t),1,t)/t:e>n?-Ze(Math.abs(e-n),1,t)/t:0,vi=(e,t,n=15,r=40)=>{const o=Or(e.x,r,t.width-r)*n,i=Or(e.y,r,t.height-r)*n;return[o,i]},ln=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Wn=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),fn=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Qe=(e,t=[0,0])=>{var o,i;const{x:n,y:r}=rr(e)?e.internals.positionAbsolute:Et(e,t);return{x:n,y:r,width:((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0,height:((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0}},Qt=(e,t=[0,0])=>{var o,i;const{x:n,y:r}=rr(e)?e.internals.positionAbsolute:Et(e,t);return{x:n,y:r,x2:n+(((o=e.measured)==null?void 0:o.width)??e.width??e.initialWidth??0),y2:r+(((i=e.measured)==null?void 0:i.height)??e.height??e.initialHeight??0)}},bi=(e,t)=>fn(ln(Wn(e),Wn(t))),xt=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},jr=e=>de(e.width)&&de(e.height)&&de(e.x)&&de(e.y),de=e=>!isNaN(e)&&isFinite(e),bf=(e,t)=>{},Nt=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Mt=({x:e,y:t},[n,r,o],i=!1,s=[1,1])=>{const a={x:(e-n)/o,y:(t-r)/o};return i?Nt(a,s):a},Jt=({x:e,y:t},[n,r,o])=>({x:e*o+n,y:t*o+r});function Oe(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function _f(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=Oe(e,n),o=Oe(e,t);return{top:r,right:o,bottom:r,left:o,x:o*2,y:r*2}}if(typeof e=="object"){const r=Oe(e.top??e.y??0,n),o=Oe(e.bottom??e.y??0,n),i=Oe(e.left??e.x??0,t),s=Oe(e.right??e.x??0,t);return{top:r,right:s,bottom:o,left:i,x:i+s,y:r+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Ef(e,t,n,r,o,i){const{x:s,y:a}=Jt(e,[t,n,r]),{x:c,y:l}=Jt({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=o-c,u=i-l;return{left:Math.floor(s),top:Math.floor(a),right:Math.floor(d),bottom:Math.floor(u)}}const ir=(e,t,n,r,o,i)=>{const s=_f(i,t,n),a=(t-s.x)/e.width,c=(n-s.y)/e.height,l=Math.min(a,c),d=Ze(l,r,o),u=e.x+e.width/2,f=e.y+e.height/2,h=t/2-u*d,g=n/2-f*d,y=Ef(e,h,g,d,t,n),x={left:Math.min(y.left-s.left,0),top:Math.min(y.top-s.top,0),right:Math.min(y.right-s.right,0),bottom:Math.min(y.bottom-s.bottom,0)};return{x:h-x.left+x.right,y:g-x.top+x.bottom,zoom:d}},wt=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Je(e){return e!=null&&e!=="parent"}function Ne(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function _i(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function Ei(e,t={width:0,height:0},n,r,o){const i={...e},s=r.get(n);if(s){const a=s.origin||o;i.x+=s.internals.positionAbsolute.x-(t.width??0)*a[0],i.y+=s.internals.positionAbsolute.y-(t.height??0)*a[1]}return i}function Xr(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Sf(){let e,t;return{promise:new Promise((r,o)=>{e=r,t=o}),resolve:e,reject:t}}function Nf(e){return{...gi,...e||{}}}function ft(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:o}){const{x:i,y:s}=he(e),a=Mt({x:i-((o==null?void 0:o.left)??0),y:s-((o==null?void 0:o.top)??0)},r),{x:c,y:l}=n?Nt(a,t):a;return{xSnapped:c,ySnapped:l,...a}}const sr=e=>({width:e.offsetWidth,height:e.offsetHeight}),Si=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},Mf=["INPUT","SELECT","TEXTAREA"];function Ni(e){var r,o;const t=((o=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:o[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:Mf.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Mi=e=>"clientX"in e,he=(e,t)=>{var i,s;const n=Mi(e),r=n?e.clientX:(i=e.touches)==null?void 0:i[0].clientX,o=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:o-((t==null?void 0:t.top)??0)}},Yr=(e,t,n,r,o)=>{const i=t.querySelectorAll(`.${e}`);return!i||!i.length?null:Array.from(i).map(s=>{const a=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:o,position:s.getAttribute("data-handlepos"),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...sr(s)}})};function Ci({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:o,sourceControlY:i,targetControlX:s,targetControlY:a}){const c=e*.125+o*.375+s*.375+n*.125,l=t*.125+i*.375+a*.375+r*.125,d=Math.abs(c-e),u=Math.abs(l-t);return[c,l,d,u]}function zt(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Wr({pos:e,x1:t,y1:n,x2:r,y2:o,c:i}){switch(e){case X.Left:return[t-zt(t-r,i),n];case X.Right:return[t+zt(r-t,i),n];case X.Top:return[t,n-zt(n-o,i)];case X.Bottom:return[t,n+zt(o-n,i)]}}function Ii({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:o,targetPosition:i=X.Top,curvature:s=.25}){const[a,c]=Wr({pos:n,x1:e,y1:t,x2:r,y2:o,c:s}),[l,d]=Wr({pos:i,x1:r,y1:o,x2:e,y2:t,c:s}),[u,f,h,g]=Ci({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:a,sourceControlY:c,targetControlX:l,targetControlY:d});return[`M${e},${t} C${a},${c} ${l},${d} ${r},${o}`,u,f,h,g]}function ki({sourceX:e,sourceY:t,targetX:n,targetY:r}){const o=Math.abs(n-e)/2,i=n<e?n+o:n-o,s=Math.abs(r-t)/2,a=r<t?r+s:r-s;return[i,a,o,s]}function Cf({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:o=!1,zIndexMode:i="basic"}){if(i==="manual")return r;const s=o&&n?r+1e3:r,a=Math.max(e.parentId||o&&e.selected?e.internals.z:0,t.parentId||o&&t.selected?t.internals.z:0);return s+a}function If({sourceNode:e,targetNode:t,width:n,height:r,transform:o}){const i=ln(Qt(e),Qt(t));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const s={x:-o[0]/o[2],y:-o[1]/o[2],width:n/o[2],height:r/o[2]};return xt(s,fn(i))>0}const kf=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,Af=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),$f=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||kf;let o;return yi(e)?o={...e}:o={...e,id:r(e)},Af(o,t)?t:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,t.concat(o))};function Ai({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[o,i,s,a]=ki({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,o,i,s,a]}const qr={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},Pf=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Gr=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Tf({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:o,offset:i,stepPosition:s}){const a=qr[t],c=qr[r],l={x:e.x+a.x*i,y:e.y+a.y*i},d={x:n.x+c.x*i,y:n.y+c.y*i},u=Pf({source:l,sourcePosition:t,target:d}),f=u.x!==0?"x":"y",h=u[f];let g=[],y,x;const m={x:0,y:0},b={x:0,y:0},[,,p,w]=ki({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[f]*c[f]===-1){f==="x"?(y=o.x??l.x+(d.x-l.x)*s,x=o.y??(l.y+d.y)/2):(y=o.x??(l.x+d.x)/2,x=o.y??l.y+(d.y-l.y)*s);const _=[{x:y,y:l.y},{x:y,y:d.y}],M=[{x:l.x,y:x},{x:d.x,y:x}];a[f]===h?g=f==="x"?_:M:g=f==="x"?M:_}else{const _=[{x:l.x,y:d.y}],M=[{x:d.x,y:l.y}];if(f==="x"?g=a.x===h?M:_:g=a.y===h?_:M,t===r){const $=Math.abs(e[f]-n[f]);if($<=i){const V=Math.min(i-1,i-$);a[f]===h?m[f]=(l[f]>e[f]?-1:1)*V:b[f]=(d[f]>n[f]?-1:1)*V}}if(t!==r){const $=f==="x"?"y":"x",V=a[f]===c[$],v=l[$]>d[$],k=l[$]<d[$];(a[f]===1&&(!V&&v||V&&k)||a[f]!==1&&(!V&&k||V&&v))&&(g=f==="x"?_:M)}const T={x:l.x+m.x,y:l.y+m.y},z={x:d.x+b.x,y:d.y+b.y},B=Math.max(Math.abs(T.x-g[0].x),Math.abs(z.x-g[0].x)),I=Math.max(Math.abs(T.y-g[0].y),Math.abs(z.y-g[0].y));B>=I?(y=(T.x+z.x)/2,x=g[0].y):(y=g[0].x,x=(T.y+z.y)/2)}return[[e,{x:l.x+m.x,y:l.y+m.y},...g,{x:d.x+b.x,y:d.y+b.y},n],y,x,p,w]}function zf(e,t,n,r){const o=Math.min(Gr(e,t)/2,Gr(t,n)/2,r),{x:i,y:s}=t;if(e.x===i&&i===n.x||e.y===s&&s===n.y)return`L${i} ${s}`;if(e.y===s){const l=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${i+o*l},${s}Q ${i},${s} ${i},${s+o*d}`}const a=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${i},${s+o*c}Q ${i},${s} ${i+o*a},${s}`}function qn({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:o,targetPosition:i=X.Top,borderRadius:s=5,centerX:a,centerY:c,offset:l=20,stepPosition:d=.5}){const[u,f,h,g,y]=Tf({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:o},targetPosition:i,center:{x:a,y:c},offset:l,stepPosition:d});return[u.reduce((m,b,p)=>{let w="";return p>0&&p<u.length-1?w=zf(u[p-1],b,u[p+1],s):w=`${p===0?"M":"L"}${b.x} ${b.y}`,m+=w,m},""),f,h,g,y]}function Kr(e){var t;return e&&!!(e.internals.handleBounds||(t=e.handles)!=null&&t.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Df(e){var u;const{sourceNode:t,targetNode:n}=e;if(!Kr(t)||!Kr(n))return null;const r=t.internals.handleBounds||Ur(t.handles),o=n.internals.handleBounds||Ur(n.handles),i=Zr((r==null?void 0:r.source)??[],e.sourceHandle),s=Zr(e.connectionMode===Ue.Strict?(o==null?void 0:o.target)??[]:((o==null?void 0:o.target)??[]).concat((o==null?void 0:o.source)??[]),e.targetHandle);if(!i||!s)return(u=e.onError)==null||u.call(e,"008",xe.error008(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const a=(i==null?void 0:i.position)||X.Bottom,c=(s==null?void 0:s.position)||X.Top,l=Ve(t,i,a),d=Ve(n,s,c);return{sourceX:l.x,sourceY:l.y,targetX:d.x,targetY:d.y,sourcePosition:a,targetPosition:c}}function Ur(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function Ve(e,t,n=X.Left,r=!1){const o=((t==null?void 0:t.x)??0)+e.internals.positionAbsolute.x,i=((t==null?void 0:t.y)??0)+e.internals.positionAbsolute.y,{width:s,height:a}=t??Ne(e);if(r)return{x:o+s/2,y:i+a/2};switch((t==null?void 0:t.position)??n){case X.Top:return{x:o+s/2,y:i};case X.Right:return{x:o+s,y:i+a/2};case X.Bottom:return{x:o+s/2,y:i+a};case X.Left:return{x:o,y:i+a/2}}}function Zr(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Gn(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function Lf(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:o}){const i=new Set;return e.reduce((s,a)=>([a.markerStart||r,a.markerEnd||o].forEach(c=>{if(c&&typeof c=="object"){const l=Gn(c,t);i.has(l)||(s.push({id:l,color:c.color||n,...c}),i.add(l))}}),s),[]).sort((s,a)=>s.id.localeCompare(a.id))}const $i=1e3,Hf=10,ar={nodeOrigin:[0,0],nodeExtent:mt,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Rf={...ar,checkEquality:!0};function cr(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function Vf(e,t,n){const r=cr(ar,n);for(const o of e.values())if(o.parentId)lr(o,e,t,r);else{const i=Et(o,r.nodeOrigin),s=Je(o.extent)?o.extent:r.nodeExtent,a=Re(i,s,Ne(o));o.internals.positionAbsolute=a}}function Bf(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],r=[];for(const o of e.handles){const i={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?n.push(i):o.type==="target"&&r.push(i)}return{source:n,target:r}}function ur(e){return e==="manual"}function Kn(e,t,n,r={}){var l,d;const o=cr(Rf,r),i={i:0},s=new Map(t),a=o!=null&&o.elevateNodesOnSelect&&!ur(o.zIndexMode)?$i:0;let c=e.length>0;t.clear(),n.clear();for(const u of e){let f=s.get(u.id);if(o.checkEquality&&u===(f==null?void 0:f.internals.userNode))t.set(u.id,f);else{const h=Et(u,o.nodeOrigin),g=Je(u.extent)?u.extent:o.nodeExtent,y=Re(h,g,Ne(u));f={...o.defaults,...u,measured:{width:(l=u.measured)==null?void 0:l.width,height:(d=u.measured)==null?void 0:d.height},internals:{positionAbsolute:y,handleBounds:Bf(u,f),z:Pi(u,a,o.zIndexMode),userNode:u}},t.set(u.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),u.parentId&&lr(f,t,n,r,i)}return c}function Ff(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function lr(e,t,n,r,o){const{elevateNodesOnSelect:i,nodeOrigin:s,nodeExtent:a,zIndexMode:c}=cr(ar,r),l=e.parentId,d=t.get(l);if(!d){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Ff(e,n),o&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++o.i,d.internals.z=d.internals.z+o.i*Hf),o&&d.internals.rootParentIndex!==void 0&&(o.i=d.internals.rootParentIndex);const u=i&&!ur(c)?$i:0,{x:f,y:h,z:g}=Of(e,d,s,a,u,c),{positionAbsolute:y}=e.internals,x=f!==y.x||h!==y.y;(x||g!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:x?{x:f,y:h}:y,z:g}})}function Pi(e,t,n){const r=de(e.zIndex)?e.zIndex:0;return ur(n)?r:r+(e.selected?t:0)}function Of(e,t,n,r,o,i){const{x:s,y:a}=t.internals.positionAbsolute,c=Ne(e),l=Et(e,n),d=Je(e.extent)?Re(l,e.extent,c):l;let u=Re({x:s+d.x,y:a+d.y},r,c);e.extent==="parent"&&(u=wi(u,c,t));const f=Pi(e,o,i),h=t.internals.z??0;return{x:u.x,y:u.y,z:h>=f?h+1:f}}function fr(e,t,n,r=[0,0]){var s;const o=[],i=new Map;for(const a of e){const c=t.get(a.parentId);if(!c)continue;const l=((s=i.get(a.parentId))==null?void 0:s.expandedRect)??Qe(c),d=bi(l,a.rect);i.set(a.parentId,{expandedRect:d,parent:c})}return i.size>0&&i.forEach(({expandedRect:a,parent:c},l)=>{var p;const d=c.internals.positionAbsolute,u=Ne(c),f=c.origin??r,h=a.x<d.x?Math.round(Math.abs(d.x-a.x)):0,g=a.y<d.y?Math.round(Math.abs(d.y-a.y)):0,y=Math.max(u.width,Math.round(a.width)),x=Math.max(u.height,Math.round(a.height)),m=(y-u.width)*f[0],b=(x-u.height)*f[1];(h>0||g>0||m||b)&&(o.push({id:l,type:"position",position:{x:c.position.x-h+m,y:c.position.y-g+b}}),(p=n.get(l))==null||p.forEach(w=>{e.some(N=>N.id===w.id)||o.push({id:w.id,type:"position",position:{x:w.position.x+h,y:w.position.y+g}})})),(u.width<a.width||u.height<a.height||h||g)&&o.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:y+(h?f[0]*h-m:0),height:x+(g?f[1]*g-b:0)}})}),o}function jf(e,t,n,r,o,i,s){const a=r==null?void 0:r.querySelector(".xyflow__viewport");let c=!1;if(!a)return{changes:[],updatedInternals:c};const l=[],d=window.getComputedStyle(a),{m22:u}=new window.DOMMatrixReadOnly(d.transform),f=[];for(const h of e.values()){const g=t.get(h.id);if(!g)continue;if(g.hidden){t.set(g.id,{...g,internals:{...g.internals,handleBounds:void 0}}),c=!0;continue}const y=sr(h.nodeElement),x=g.measured.width!==y.width||g.measured.height!==y.height;if(!!(y.width&&y.height&&(x||!g.internals.handleBounds||h.force))){const b=h.nodeElement.getBoundingClientRect(),p=Je(g.extent)?g.extent:i;let{positionAbsolute:w}=g.internals;g.parentId&&g.extent==="parent"?w=wi(w,y,t.get(g.parentId)):p&&(w=Re(w,p,y));const N={...g,measured:y,internals:{...g.internals,positionAbsolute:w,handleBounds:{source:Yr("source",h.nodeElement,b,u,g.id),target:Yr("target",h.nodeElement,b,u,g.id)}}};t.set(g.id,N),g.parentId&&lr(N,t,n,{nodeOrigin:o,zIndexMode:s}),c=!0,x&&(l.push({id:g.id,type:"dimensions",dimensions:y}),g.expandParent&&g.parentId&&f.push({id:g.id,parentId:g.parentId,rect:Qe(N,o)}))}}if(f.length>0){const h=fr(f,t,n,o);l.push(...h)}return{changes:l,updatedInternals:c}}async function Xf({delta:e,panZoom:t,transform:n,translateExtent:r,width:o,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const s=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[o,i]],r),a=!!s&&(s.x!==n[0]||s.y!==n[1]||s.k!==n[2]);return Promise.resolve(a)}function Qr(e,t,n,r,o,i){let s=o;const a=r.get(s)||new Map;r.set(s,a.set(n,t)),s=`${o}-${e}`;const c=r.get(s)||new Map;if(r.set(s,c.set(n,t)),i){s=`${o}-${e}-${i}`;const l=r.get(s)||new Map;r.set(s,l.set(n,t))}}function Ti(e,t,n){e.clear(),t.clear();for(const r of n){const{source:o,target:i,sourceHandle:s=null,targetHandle:a=null}=r,c={edgeId:r.id,source:o,target:i,sourceHandle:s,targetHandle:a},l=`${o}-${s}--${i}-${a}`,d=`${i}-${a}--${o}-${s}`;Qr("source",c,d,e,o,s),Qr("target",c,l,e,i,a),t.set(r.id,r)}}function zi(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:zi(n,t):!1}function Jr(e,t,n){var o;let r=e;do{if((o=r==null?void 0:r.matches)!=null&&o.call(r,t))return!0;if(r===n)return!1;r=r==null?void 0:r.parentElement}while(r);return!1}function Yf(e,t,n,r){const o=new Map;for(const[i,s]of e)if((s.selected||s.id===r)&&(!s.parentId||!zi(s,e))&&(s.draggable||t&&typeof s.draggable>"u")){const a=e.get(i);a&&o.set(i,{id:i,position:a.position||{x:0,y:0},distance:{x:n.x-a.internals.positionAbsolute.x,y:n.y-a.internals.positionAbsolute.y},extent:a.extent,parentId:a.parentId,origin:a.origin,expandParent:a.expandParent,internals:{positionAbsolute:a.internals.positionAbsolute||{x:0,y:0}},measured:{width:a.measured.width??0,height:a.measured.height??0}})}return o}function An({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){var s,a,c;const o=[];for(const[l,d]of t){const u=(s=n.get(l))==null?void 0:s.internals.userNode;u&&o.push({...u,position:d.position,dragging:r})}if(!e)return[o[0],o];const i=(a=n.get(e))==null?void 0:a.internals.userNode;return[i?{...i,position:((c=t.get(e))==null?void 0:c.position)||i.position,dragging:r}:o[0],o]}function Wf({dragItems:e,snapGrid:t,x:n,y:r}){const o=e.values().next().value;if(!o)return null;const i={x:n-o.distance.x,y:r-o.distance.y},s=Nt(i,t);return{x:s.x-i.x,y:s.y-i.y}}function qf({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:o}){let i={x:null,y:null},s=0,a=new Map,c=!1,l={x:0,y:0},d=null,u=!1,f=null,h=!1,g=!1,y=null;function x({noDragClassName:b,handleSelector:p,domNode:w,isSelectable:N,nodeId:_,nodeClickDistance:M=0}){f=ce(w);function T({x:$,y:V}){const{nodeLookup:v,nodeExtent:k,snapGrid:E,snapToGrid:A,nodeOrigin:C,onNodeDrag:S,onSelectionDrag:L,onError:R,updateNodePositions:H}=t();i={x:$,y:V};let O=!1;const j=a.size>1,Y=j&&k?Wn(St(a)):null,K=j&&A?Wf({dragItems:a,snapGrid:E,x:$,y:V}):null;for(const[q,F]of a){if(!v.has(q))continue;let W={x:$-F.distance.x,y:V-F.distance.y};A&&(W=K?{x:Math.round(W.x+K.x),y:Math.round(W.y+K.y)}:Nt(W,E));let Q=null;if(j&&k&&!F.extent&&Y){const{positionAbsolute:G}=F.internals,te=G.x-Y.x+k[0][0],ne=G.x+F.measured.width-Y.x2+k[1][0],ee=G.y-Y.y+k[0][1],se=G.y+F.measured.height-Y.y2+k[1][1];Q=[[te,ee],[ne,se]]}const{position:Z,positionAbsolute:U}=xi({nodeId:q,nextPosition:W,nodeLookup:v,nodeExtent:Q||k,nodeOrigin:C,onError:R});O=O||F.position.x!==Z.x||F.position.y!==Z.y,F.position=Z,F.internals.positionAbsolute=U}if(g=g||O,!!O&&(H(a,!0),y&&(r||S||!_&&L))){const[q,F]=An({nodeId:_,dragItems:a,nodeLookup:v});r==null||r(y,a,q,F),S==null||S(y,q,F),_||L==null||L(y,F)}}async function z(){if(!d)return;const{transform:$,panBy:V,autoPanSpeed:v,autoPanOnNodeDrag:k}=t();if(!k){c=!1,cancelAnimationFrame(s);return}const[E,A]=vi(l,d,v);(E!==0||A!==0)&&(i.x=(i.x??0)-E/$[2],i.y=(i.y??0)-A/$[2],await V({x:E,y:A})&&T(i)),s=requestAnimationFrame(z)}function B($){var j;const{nodeLookup:V,multiSelectionActive:v,nodesDraggable:k,transform:E,snapGrid:A,snapToGrid:C,selectNodesOnDrag:S,onNodeDragStart:L,onSelectionDragStart:R,unselectNodesAndEdges:H}=t();u=!0,(!S||!N)&&!v&&_&&((j=V.get(_))!=null&&j.selected||H()),N&&S&&_&&(e==null||e(_));const O=ft($.sourceEvent,{transform:E,snapGrid:A,snapToGrid:C,containerBounds:d});if(i=O,a=Yf(V,k,O,_),a.size>0&&(n||L||!_&&R)){const[Y,K]=An({nodeId:_,dragItems:a,nodeLookup:V});n==null||n($.sourceEvent,a,Y,K),L==null||L($.sourceEvent,Y,K),_||R==null||R($.sourceEvent,K)}}const I=Xo().clickDistance(M).on("start",$=>{const{domNode:V,nodeDragThreshold:v,transform:k,snapGrid:E,snapToGrid:A}=t();d=(V==null?void 0:V.getBoundingClientRect())||null,h=!1,g=!1,y=$.sourceEvent,v===0&&B($),i=ft($.sourceEvent,{transform:k,snapGrid:E,snapToGrid:A,containerBounds:d}),l=he($.sourceEvent,d)}).on("drag",$=>{const{autoPanOnNodeDrag:V,transform:v,snapGrid:k,snapToGrid:E,nodeDragThreshold:A,nodeLookup:C}=t(),S=ft($.sourceEvent,{transform:v,snapGrid:k,snapToGrid:E,containerBounds:d});if(y=$.sourceEvent,($.sourceEvent.type==="touchmove"&&$.sourceEvent.touches.length>1||_&&!C.has(_))&&(h=!0),!h){if(!c&&V&&u&&(c=!0,z()),!u){const L=he($.sourceEvent,d),R=L.x-l.x,H=L.y-l.y;Math.sqrt(R*R+H*H)>A&&B($)}(i.x!==S.xSnapped||i.y!==S.ySnapped)&&a&&u&&(l=he($.sourceEvent,d),T(S))}}).on("end",$=>{if(!(!u||h)&&(c=!1,u=!1,cancelAnimationFrame(s),a.size>0)){const{nodeLookup:V,updateNodePositions:v,onNodeDragStop:k,onSelectionDragStop:E}=t();if(g&&(v(a,!1),g=!1),o||k||!_&&E){const[A,C]=An({nodeId:_,dragItems:a,nodeLookup:V,dragging:!1});o==null||o($.sourceEvent,a,A,C),k==null||k($.sourceEvent,A,C),_||E==null||E($.sourceEvent,C)}}}).filter($=>{const V=$.target;return!$.button&&(!b||!Jr(V,`.${b}`,w))&&(!p||Jr(V,p,w))});f.call(I)}function m(){f==null||f.on(".drag",null)}return{update:x,destroy:m}}function Gf(e,t,n){const r=[],o={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const i of t.values())xt(o,Qe(i))>0&&r.push(i);return r}const Kf=250;function Uf(e,t,n,r){var a,c;let o=[],i=1/0;const s=Gf(e,n,t+Kf);for(const l of s){const d=[...((a=l.internals.handleBounds)==null?void 0:a.source)??[],...((c=l.internals.handleBounds)==null?void 0:c.target)??[]];for(const u of d){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:f,y:h}=Ve(l,u,u.position,!0),g=Math.sqrt(Math.pow(f-e.x,2)+Math.pow(h-e.y,2));g>t||(g<i?(o=[{...u,x:f,y:h}],i=g):g===i&&o.push({...u,x:f,y:h}))}}if(!o.length)return null;if(o.length>1){const l=r.type==="source"?"target":"source";return o.find(d=>d.type===l)??o[0]}return o[0]}function Di(e,t,n,r,o,i=!1){var l,d,u;const s=r.get(e);if(!s)return null;const a=o==="strict"?(l=s.internals.handleBounds)==null?void 0:l[t]:[...((d=s.internals.handleBounds)==null?void 0:d.source)??[],...((u=s.internals.handleBounds)==null?void 0:u.target)??[]],c=(n?a==null?void 0:a.find(f=>f.id===n):a==null?void 0:a[0])??null;return c&&i?{...c,...Ve(s,c,c.position,!0)}:c}function Li(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Zf(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const Hi=()=>!0;function Qf(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:o,edgeUpdaterType:i,isTarget:s,domNode:a,nodeLookup:c,lib:l,autoPanOnConnect:d,flowId:u,panBy:f,cancelConnection:h,onConnectStart:g,onConnect:y,onConnectEnd:x,isValidConnection:m=Hi,onReconnectEnd:b,updateConnection:p,getTransform:w,getFromHandle:N,autoPanSpeed:_,dragThreshold:M=1,handleDomNode:T}){const z=Si(e.target);let B=0,I;const{x:$,y:V}=he(e),v=Li(i,T),k=a==null?void 0:a.getBoundingClientRect();let E=!1;if(!k||!v)return;const A=Di(o,v,r,c,t);if(!A)return;let C=he(e,k),S=!1,L=null,R=!1,H=null;function O(){if(!d||!k)return;const[Z,U]=vi(C,k,_);f({x:Z,y:U}),B=requestAnimationFrame(O)}const j={...A,nodeId:o,type:v,position:A.position},Y=c.get(o);let q={inProgress:!0,isValid:null,from:Ve(Y,j,X.Left,!0),fromHandle:j,fromPosition:j.position,fromNode:Y,to:C,toHandle:null,toPosition:Fr[j.position],toNode:null,pointer:C};function F(){E=!0,p(q),g==null||g(e,{nodeId:o,handleId:r,handleType:v})}M===0&&F();function W(Z){if(!E){const{x:se,y:Me}=he(Z),ve=se-$,$e=Me-V;if(!(ve*ve+$e*$e>M*M))return;F()}if(!N()||!j){Q(Z);return}const U=w();C=he(Z,k),I=Uf(Mt(C,U,!1,[1,1]),n,c,j),S||(O(),S=!0);const G=Ri(Z,{handle:I,connectionMode:t,fromNodeId:o,fromHandleId:r,fromType:s?"target":"source",isValidConnection:m,doc:z,lib:l,flowId:u,nodeLookup:c});H=G.handleDomNode,L=G.connection,R=Zf(!!I,G.isValid);const te=c.get(o),ne=te?Ve(te,j,X.Left,!0):q.from,ee={...q,from:ne,isValid:R,to:G.toHandle&&R?Jt({x:G.toHandle.x,y:G.toHandle.y},U):C,toHandle:G.toHandle,toPosition:R&&G.toHandle?G.toHandle.position:Fr[j.position],toNode:G.toHandle?c.get(G.toHandle.nodeId):null,pointer:C};p(ee),q=ee}function Q(Z){if(!("touches"in Z&&Z.touches.length>0)){if(E){(I||H)&&L&&R&&(y==null||y(L));const{inProgress:U,...G}=q,te={...G,toPosition:q.toHandle?q.toPosition:null};x==null||x(Z,te),i&&(b==null||b(Z,te))}h(),cancelAnimationFrame(B),S=!1,R=!1,L=null,H=null,z.removeEventListener("mousemove",W),z.removeEventListener("mouseup",Q),z.removeEventListener("touchmove",W),z.removeEventListener("touchend",Q)}}z.addEventListener("mousemove",W),z.addEventListener("mouseup",Q),z.addEventListener("touchmove",W),z.addEventListener("touchend",Q)}function Ri(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:o,fromType:i,doc:s,lib:a,flowId:c,isValidConnection:l=Hi,nodeLookup:d}){const u=i==="target",f=t?s.querySelector(`.${a}-flow__handle[data-id="${c}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:h,y:g}=he(e),y=s.elementFromPoint(h,g),x=y!=null&&y.classList.contains(`${a}-flow__handle`)?y:f,m={handleDomNode:x,isValid:!1,connection:null,toHandle:null};if(x){const b=Li(void 0,x),p=x.getAttribute("data-nodeid"),w=x.getAttribute("data-handleid"),N=x.classList.contains("connectable"),_=x.classList.contains("connectableend");if(!p||!b)return m;const M={source:u?p:r,sourceHandle:u?w:o,target:u?r:p,targetHandle:u?o:w};m.connection=M;const z=N&&_&&(n===Ue.Strict?u&&b==="source"||!u&&b==="target":p!==r||w!==o);m.isValid=z&&l(M),m.toHandle=Di(p,b,w,d,n,!0)}return m}const Un={onPointerDown:Qf,isValid:Ri};function Jf({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const o=ce(e);function i({translateExtent:a,width:c,height:l,zoomStep:d=1,pannable:u=!0,zoomable:f=!0,inversePan:h=!1}){const g=p=>{if(p.sourceEvent.type!=="wheel"||!t)return;const w=n(),N=p.sourceEvent.ctrlKey&&wt()?10:1,_=-p.sourceEvent.deltaY*(p.sourceEvent.deltaMode===1?.05:p.sourceEvent.deltaMode?1:.002)*d,M=w[2]*Math.pow(2,_*N);t.scaleTo(M)};let y=[0,0];const x=p=>{(p.sourceEvent.type==="mousedown"||p.sourceEvent.type==="touchstart")&&(y=[p.sourceEvent.clientX??p.sourceEvent.touches[0].clientX,p.sourceEvent.clientY??p.sourceEvent.touches[0].clientY])},m=p=>{const w=n();if(p.sourceEvent.type!=="mousemove"&&p.sourceEvent.type!=="touchmove"||!t)return;const N=[p.sourceEvent.clientX??p.sourceEvent.touches[0].clientX,p.sourceEvent.clientY??p.sourceEvent.touches[0].clientY],_=[N[0]-y[0],N[1]-y[1]];y=N;const M=r()*Math.max(w[2],Math.log(w[2]))*(h?-1:1),T={x:w[0]-_[0]*M,y:w[1]-_[1]*M},z=[[0,0],[c,l]];t.setViewportConstrained({x:T.x,y:T.y,zoom:w[2]},z,a)},b=di().on("start",x).on("zoom",u?m:null).on("zoom.wheel",f?g:null);o.call(b,{})}function s(){o.on("zoom",null)}return{update:i,destroy:s,pointer:le}}const dn=e=>({x:e.x,y:e.y,zoom:e.k}),$n=({x:e,y:t,zoom:n})=>un.translate(e,t).scale(n),je=(e,t)=>e.target.closest(`.${t}`),Vi=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),ed=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Pn=(e,t=0,n=ed,r=()=>{})=>{const o=typeof t=="number"&&t>0;return o||r(),o?e.transition().duration(t).ease(n).on("end",r):e},Bi=e=>{const t=e.ctrlKey&&wt()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function td({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:o,panOnScrollSpeed:i,zoomOnPinch:s,onPanZoomStart:a,onPanZoom:c,onPanZoomEnd:l}){return d=>{if(je(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const u=n.property("__zoom").k||1;if(d.ctrlKey&&s){const x=le(d),m=Bi(d),b=u*Math.pow(2,m);r.scaleTo(n,b,x,d);return}const f=d.deltaMode===1?20:1;let h=o===De.Vertical?0:d.deltaX*f,g=o===De.Horizontal?0:d.deltaY*f;!wt()&&d.shiftKey&&o!==De.Vertical&&(h=d.deltaY*f,g=0),r.translateBy(n,-(h/u)*i,-(g/u)*i,{internal:!0});const y=dn(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c==null||c(d,y),e.panScrollTimeout=setTimeout(()=>{l==null||l(d,y),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,a==null||a(d,y))}}function nd({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,o){const i=r.type==="wheel",s=!t&&i&&!r.ctrlKey,a=je(r,e);if(r.ctrlKey&&i&&a&&r.preventDefault(),s||a)return null;r.preventDefault(),n.call(this,r,o)}}function rd({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{var i,s,a;if((i=r.sourceEvent)!=null&&i.internal)return;const o=dn(r.transform);e.mouseButton=((s=r.sourceEvent)==null?void 0:s.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=o,((a=r.sourceEvent)==null?void 0:a.type)==="mousedown"&&t(!0),n&&(n==null||n(r.sourceEvent,o))}}function od({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:o}){return i=>{var s,a;e.usedRightMouseButton=!!(n&&Vi(t,e.mouseButton??0)),(s=i.sourceEvent)!=null&&s.sync||r([i.transform.x,i.transform.y,i.transform.k]),o&&!((a=i.sourceEvent)!=null&&a.internal)&&(o==null||o(i.sourceEvent,dn(i.transform)))}}function id({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:o,onPaneContextMenu:i}){return s=>{var a;if(!((a=s.sourceEvent)!=null&&a.internal)&&(e.isZoomingOrPanning=!1,i&&Vi(t,e.mouseButton??0)&&!e.usedRightMouseButton&&s.sourceEvent&&i(s.sourceEvent),e.usedRightMouseButton=!1,r(!1),o)){const c=dn(s.transform);e.prevViewport=c,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o==null||o(s.sourceEvent,c)},n?150:0)}}}function sd({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:o,zoomOnDoubleClick:i,userSelectionActive:s,noWheelClassName:a,noPanClassName:c,lib:l,connectionInProgress:d}){return u=>{var x;const f=e||t,h=n&&u.ctrlKey,g=u.type==="wheel";if(u.button===1&&u.type==="mousedown"&&(je(u,`${l}-flow__node`)||je(u,`${l}-flow__edge`)))return!0;if(!r&&!f&&!o&&!i&&!n||s||d&&!g||je(u,a)&&g||je(u,c)&&(!g||o&&g&&!e)||!n&&u.ctrlKey&&g)return!1;if(!n&&u.type==="touchstart"&&((x=u.touches)==null?void 0:x.length)>1)return u.preventDefault(),!1;if(!f&&!o&&!h&&g||!r&&(u.type==="mousedown"||u.type==="touchstart")||Array.isArray(r)&&!r.includes(u.button)&&u.type==="mousedown")return!1;const y=Array.isArray(r)&&r.includes(u.button)||!u.button||u.button<=1;return(!u.ctrlKey||g)&&y}}function ad({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:o,onPanZoom:i,onPanZoomStart:s,onPanZoomEnd:a,onDraggingChange:c}){const l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),u=di().scaleExtent([t,n]).translateExtent(r),f=ce(e).call(u);b({x:o.x,y:o.y,zoom:Ze(o.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=f.on("wheel.zoom"),g=f.on("dblclick.zoom");u.wheelDelta(Bi);function y(I,$){return f?new Promise(V=>{u==null||u.interpolate(($==null?void 0:$.interpolate)==="linear"?lt:Vt).transform(Pn(f,$==null?void 0:$.duration,$==null?void 0:$.ease,()=>V(!0)),I)}):Promise.resolve(!1)}function x({noWheelClassName:I,noPanClassName:$,onPaneContextMenu:V,userSelectionActive:v,panOnScroll:k,panOnDrag:E,panOnScrollMode:A,panOnScrollSpeed:C,preventScrolling:S,zoomOnPinch:L,zoomOnScroll:R,zoomOnDoubleClick:H,zoomActivationKeyPressed:O,lib:j,onTransformChange:Y,connectionInProgress:K,paneClickDistance:q,selectionOnDrag:F}){v&&!l.isZoomingOrPanning&&m();const W=k&&!O&&!v;u.clickDistance(F?1/0:!de(q)||q<0?0:q);const Q=W?td({zoomPanValues:l,noWheelClassName:I,d3Selection:f,d3Zoom:u,panOnScrollMode:A,panOnScrollSpeed:C,zoomOnPinch:L,onPanZoomStart:s,onPanZoom:i,onPanZoomEnd:a}):nd({noWheelClassName:I,preventScrolling:S,d3ZoomHandler:h});if(f.on("wheel.zoom",Q,{passive:!1}),!v){const U=rd({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:s});u.on("start",U);const G=od({zoomPanValues:l,panOnDrag:E,onPaneContextMenu:!!V,onPanZoom:i,onTransformChange:Y});u.on("zoom",G);const te=id({zoomPanValues:l,panOnDrag:E,panOnScroll:k,onPaneContextMenu:V,onPanZoomEnd:a,onDraggingChange:c});u.on("end",te)}const Z=sd({zoomActivationKeyPressed:O,panOnDrag:E,zoomOnScroll:R,panOnScroll:k,zoomOnDoubleClick:H,zoomOnPinch:L,userSelectionActive:v,noPanClassName:$,noWheelClassName:I,lib:j,connectionInProgress:K});u.filter(Z),H?f.on("dblclick.zoom",g):f.on("dblclick.zoom",null)}function m(){u.on("zoom",null)}async function b(I,$,V){const v=$n(I),k=u==null?void 0:u.constrain()(v,$,V);return k&&await y(k),new Promise(E=>E(k))}async function p(I,$){const V=$n(I);return await y(V,$),new Promise(v=>v(V))}function w(I){if(f){const $=$n(I),V=f.property("__zoom");(V.k!==I.zoom||V.x!==I.x||V.y!==I.y)&&(u==null||u.transform(f,$,null,{sync:!0}))}}function N(){const I=f?fi(f.node()):{x:0,y:0,k:1};return{x:I.x,y:I.y,zoom:I.k}}function _(I,$){return f?new Promise(V=>{u==null||u.interpolate(($==null?void 0:$.interpolate)==="linear"?lt:Vt).scaleTo(Pn(f,$==null?void 0:$.duration,$==null?void 0:$.ease,()=>V(!0)),I)}):Promise.resolve(!1)}function M(I,$){return f?new Promise(V=>{u==null||u.interpolate(($==null?void 0:$.interpolate)==="linear"?lt:Vt).scaleBy(Pn(f,$==null?void 0:$.duration,$==null?void 0:$.ease,()=>V(!0)),I)}):Promise.resolve(!1)}function T(I){u==null||u.scaleExtent(I)}function z(I){u==null||u.translateExtent(I)}function B(I){const $=!de(I)||I<0?0:I;u==null||u.clickDistance($)}return{update:x,destroy:m,setViewport:p,setViewportConstrained:b,getViewport:N,scaleTo:_,scaleBy:M,setScaleExtent:T,setTranslateExtent:z,syncViewport:w,setClickDistance:B}}var et;(function(e){e.Line="line",e.Handle="handle"})(et||(et={}));function cd({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:o,affectsY:i}){const s=e-t,a=n-r,c=[s>0?1:s<0?-1:0,a>0?1:a<0?-1:0];return s&&o&&(c[0]=c[0]*-1),a&&i&&(c[1]=c[1]*-1),c}function eo(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),o=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:o}}function Ce(e,t){return Math.max(0,t-e)}function Ie(e,t){return Math.max(0,e-t)}function Dt(e,t,n){return Math.max(0,t-e,e-n)}function to(e,t){return e?!t:t}function ud(e,t,n,r,o,i,s,a){let{affectsX:c,affectsY:l}=t;const{isHorizontal:d,isVertical:u}=t,f=d&&u,{xSnapped:h,ySnapped:g}=n,{minWidth:y,maxWidth:x,minHeight:m,maxHeight:b}=r,{x:p,y:w,width:N,height:_,aspectRatio:M}=e;let T=Math.floor(d?h-e.pointerX:0),z=Math.floor(u?g-e.pointerY:0);const B=N+(c?-T:T),I=_+(l?-z:z),$=-i[0]*N,V=-i[1]*_;let v=Dt(B,y,x),k=Dt(I,m,b);if(s){let C=0,S=0;c&&T<0?C=Ce(p+T+$,s[0][0]):!c&&T>0&&(C=Ie(p+B+$,s[1][0])),l&&z<0?S=Ce(w+z+V,s[0][1]):!l&&z>0&&(S=Ie(w+I+V,s[1][1])),v=Math.max(v,C),k=Math.max(k,S)}if(a){let C=0,S=0;c&&T>0?C=Ie(p+T,a[0][0]):!c&&T<0&&(C=Ce(p+B,a[1][0])),l&&z>0?S=Ie(w+z,a[0][1]):!l&&z<0&&(S=Ce(w+I,a[1][1])),v=Math.max(v,C),k=Math.max(k,S)}if(o){if(d){const C=Dt(B/M,m,b)*M;if(v=Math.max(v,C),s){let S=0;!c&&!l||c&&!l&&f?S=Ie(w+V+B/M,s[1][1])*M:S=Ce(w+V+(c?T:-T)/M,s[0][1])*M,v=Math.max(v,S)}if(a){let S=0;!c&&!l||c&&!l&&f?S=Ce(w+B/M,a[1][1])*M:S=Ie(w+(c?T:-T)/M,a[0][1])*M,v=Math.max(v,S)}}if(u){const C=Dt(I*M,y,x)/M;if(k=Math.max(k,C),s){let S=0;!c&&!l||l&&!c&&f?S=Ie(p+I*M+$,s[1][0])/M:S=Ce(p+(l?z:-z)*M+$,s[0][0])/M,k=Math.max(k,S)}if(a){let S=0;!c&&!l||l&&!c&&f?S=Ce(p+I*M,a[1][0])/M:S=Ie(p+(l?z:-z)*M,a[0][0])/M,k=Math.max(k,S)}}}z=z+(z<0?k:-k),T=T+(T<0?v:-v),o&&(f?B>I*M?z=(to(c,l)?-T:T)/M:T=(to(c,l)?-z:z)*M:d?(z=T/M,l=c):(T=z*M,c=l));const E=c?p+T:p,A=l?w+z:w;return{width:N+(c?-T:T),height:_+(l?-z:z),x:i[0]*T*(c?-1:1)+E,y:i[1]*z*(l?-1:1)+A}}const Fi={width:0,height:0,x:0,y:0},ld={...Fi,pointerX:0,pointerY:0,aspectRatio:1};function fd(e){return[[0,0],[e.measured.width,e.measured.height]]}function dd(e,t,n){const r=t.position.x+e.position.x,o=t.position.y+e.position.y,i=e.measured.width??0,s=e.measured.height??0,a=n[0]*i,c=n[1]*s;return[[r-a,o-c],[r+i-a,o+s-c]]}function hd({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:o}){const i=ce(e);let s={controlDirection:eo("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:l,boundaries:d,keepAspectRatio:u,resizeDirection:f,onResizeStart:h,onResize:g,onResizeEnd:y,shouldResize:x}){let m={...Fi},b={...ld};s={boundaries:d,resizeDirection:f,keepAspectRatio:u,controlDirection:eo(l)};let p,w=null,N=[],_,M,T,z=!1;const B=Xo().on("start",I=>{const{nodeLookup:$,transform:V,snapGrid:v,snapToGrid:k,nodeOrigin:E,paneDomNode:A}=n();if(p=$.get(t),!p)return;w=(A==null?void 0:A.getBoundingClientRect())??null;const{xSnapped:C,ySnapped:S}=ft(I.sourceEvent,{transform:V,snapGrid:v,snapToGrid:k,containerBounds:w});m={width:p.measured.width??0,height:p.measured.height??0,x:p.position.x??0,y:p.position.y??0},b={...m,pointerX:C,pointerY:S,aspectRatio:m.width/m.height},_=void 0,p.parentId&&(p.extent==="parent"||p.expandParent)&&(_=$.get(p.parentId),M=_&&p.extent==="parent"?fd(_):void 0),N=[],T=void 0;for(const[L,R]of $)if(R.parentId===t&&(N.push({id:L,position:{...R.position},extent:R.extent}),R.extent==="parent"||R.expandParent)){const H=dd(R,p,R.origin??E);T?T=[[Math.min(H[0][0],T[0][0]),Math.min(H[0][1],T[0][1])],[Math.max(H[1][0],T[1][0]),Math.max(H[1][1],T[1][1])]]:T=H}h==null||h(I,{...m})}).on("drag",I=>{const{transform:$,snapGrid:V,snapToGrid:v,nodeOrigin:k}=n(),E=ft(I.sourceEvent,{transform:$,snapGrid:V,snapToGrid:v,containerBounds:w}),A=[];if(!p)return;const{x:C,y:S,width:L,height:R}=m,H={},O=p.origin??k,{width:j,height:Y,x:K,y:q}=ud(b,s.controlDirection,E,s.boundaries,s.keepAspectRatio,O,M,T),F=j!==L,W=Y!==R,Q=K!==C&&F,Z=q!==S&&W;if(!Q&&!Z&&!F&&!W)return;if((Q||Z||O[0]===1||O[1]===1)&&(H.x=Q?K:m.x,H.y=Z?q:m.y,m.x=H.x,m.y=H.y,N.length>0)){const ne=K-C,ee=q-S;for(const se of N)se.position={x:se.position.x-ne+O[0]*(j-L),y:se.position.y-ee+O[1]*(Y-R)},A.push(se)}if((F||W)&&(H.width=F&&(!s.resizeDirection||s.resizeDirection==="horizontal")?j:m.width,H.height=W&&(!s.resizeDirection||s.resizeDirection==="vertical")?Y:m.height,m.width=H.width,m.height=H.height),_&&p.expandParent){const ne=O[0]*(H.width??0);H.x&&H.x<ne&&(m.x=ne,b.x=b.x-(H.x-ne));const ee=O[1]*(H.height??0);H.y&&H.y<ee&&(m.y=ee,b.y=b.y-(H.y-ee))}const U=cd({width:m.width,prevWidth:L,height:m.height,prevHeight:R,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),G={...m,direction:U};(x==null?void 0:x(I,G))!==!1&&(z=!0,g==null||g(I,G),r(H,A))}).on("end",I=>{z&&(y==null||y(I,{...m}),o==null||o({...m}),z=!1)});i.call(B)}function c(){i.on(".drag",null)}return{update:a,destroy:c}}var Tn={exports:{}},zn={};/**
10
- * @license React
11
- * use-sync-external-store-shim/with-selector.production.js
12
- *
13
- * Copyright (c) Meta Platforms, Inc. and affiliates.
14
- *
15
- * This source code is licensed under the MIT license found in the
16
- * LICENSE file in the root directory of this source tree.
17
- */var no;function gd(){if(no)return zn;no=1;var e=ko(),t=ka();function n(l,d){return l===d&&(l!==0||1/l===1/d)||l!==l&&d!==d}var r=typeof Object.is=="function"?Object.is:n,o=t.useSyncExternalStore,i=e.useRef,s=e.useEffect,a=e.useMemo,c=e.useDebugValue;return zn.useSyncExternalStoreWithSelector=function(l,d,u,f,h){var g=i(null);if(g.current===null){var y={hasValue:!1,value:null};g.current=y}else y=g.current;g=a(function(){function m(_){if(!b){if(b=!0,p=_,_=f(_),h!==void 0&&y.hasValue){var M=y.value;if(h(M,_))return w=M}return w=_}if(M=w,r(p,_))return M;var T=f(_);return h!==void 0&&h(M,T)?(p=_,M):(p=_,w=T)}var b=!1,p,w,N=u===void 0?null:u;return[function(){return m(d())},N===null?void 0:function(){return m(N())}]},[d,u,f,h]);var x=o(l,g[0],g[1]);return s(function(){y.hasValue=!0,y.value=x},[x]),c(x),x},zn}var ro;function pd(){return ro||(ro=1,Tn.exports=gd()),Tn.exports}var md=pd();const yd=Ma(md),xd={},oo=e=>{let t;const n=new Set,r=(d,u)=>{const f=typeof d=="function"?d(t):d;if(!Object.is(f,t)){const h=t;t=u??(typeof f!="object"||f===null)?f:Object.assign({},t,f),n.forEach(g=>g(t,h))}},o=()=>t,c={setState:r,getState:o,getInitialState:()=>l,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(xd?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},l=t=e(r,o,c);return c},wd=e=>e?oo(e):oo,{useDebugValue:vd}=Ca,{useSyncExternalStoreWithSelector:bd}=yd,_d=e=>e;function Oi(e,t=_d,n){const r=bd(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return vd(r),r}const io=(e,t)=>{const n=wd(e),r=(o,i=t)=>Oi(n,o,i);return Object.assign(r,n),r},Ed=(e,t)=>e?io(e,t):io;function re(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,o]of e)if(!Object.is(o,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const hn=D.createContext(null),Sd=hn.Provider,ji=xe.error001();function J(e,t){const n=D.useContext(hn);if(n===null)throw new Error(ji);return Oi(n,e,t)}function oe(){const e=D.useContext(hn);if(e===null)throw new Error(ji);return D.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const so={display:"none"},Nd={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Xi="react-flow__node-desc",Yi="react-flow__edge-desc",Md="react-flow__aria-live",Cd=e=>e.ariaLiveMessage,Id=e=>e.ariaLabelConfig;function kd({rfId:e}){const t=J(Cd);return P.jsx("div",{id:`${Md}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Nd,children:t})}function Ad({rfId:e,disableKeyboardA11y:t}){const n=J(Id);return P.jsxs(P.Fragment,{children:[P.jsx("div",{id:`${Xi}-${e}`,style:so,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),P.jsx("div",{id:`${Yi}-${e}`,style:so,children:n["edge.a11yDescription.default"]}),!t&&P.jsx(kd,{rfId:e})]})}const gn=D.forwardRef(({position:e="top-left",children:t,className:n,style:r,...o},i)=>{const s=`${e}`.split("-");return P.jsx("div",{className:ie(["react-flow__panel",n,...s]),style:r,ref:i,...o,children:t})});gn.displayName="Panel";function $d({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:P.jsx(gn,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:P.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Pd=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},Lt=e=>e.id;function Td(e,t){return re(e.selectedNodes.map(Lt),t.selectedNodes.map(Lt))&&re(e.selectedEdges.map(Lt),t.selectedEdges.map(Lt))}function zd({onSelectionChange:e}){const t=oe(),{selectedNodes:n,selectedEdges:r}=J(Pd,Td);return D.useEffect(()=>{const o={nodes:n,edges:r};e==null||e(o),t.getState().onSelectionChangeHandlers.forEach(i=>i(o))},[n,r,e]),null}const Dd=e=>!!e.onSelectionChangeHandlers;function Ld({onSelectionChange:e}){const t=J(Dd);return e||t?P.jsx(zd,{onSelectionChange:e}):null}const Wi=[0,0],Hd={x:0,y:0,zoom:1},Rd=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],ao=[...Rd,"rfId"],Vd=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),co={translateExtent:mt,nodeOrigin:Wi,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Bd(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:o,setTranslateExtent:i,setNodeExtent:s,reset:a,setDefaultNodesAndEdges:c}=J(Vd,re),l=oe();D.useEffect(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=co,a()}),[]);const d=D.useRef(co);return D.useEffect(()=>{for(const u of ao){const f=e[u],h=d.current[u];f!==h&&(typeof e[u]>"u"||(u==="nodes"?t(f):u==="edges"?n(f):u==="minZoom"?r(f):u==="maxZoom"?o(f):u==="translateExtent"?i(f):u==="nodeExtent"?s(f):u==="ariaLabelConfig"?l.setState({ariaLabelConfig:Nf(f)}):u==="fitView"?l.setState({fitViewQueued:f}):u==="fitViewOptions"?l.setState({fitViewOptions:f}):l.setState({[u]:f})))}d.current=e},ao.map(u=>e[u])),null}function uo(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Fd(e){var r;const[t,n]=D.useState(e==="system"?null:e);return D.useEffect(()=>{if(e!=="system"){n(e);return}const o=uo(),i=()=>n(o!=null&&o.matches?"dark":"light");return i(),o==null||o.addEventListener("change",i),()=>{o==null||o.removeEventListener("change",i)}},[e]),t!==null?t:(r=uo())!=null&&r.matches?"dark":"light"}const lo=typeof document<"u"?document:null;function vt(e=null,t={target:lo,actInsideInputWithModifier:!0}){const[n,r]=D.useState(!1),o=D.useRef(!1),i=D.useRef(new Set([])),[s,a]=D.useMemo(()=>{if(e!==null){const l=(Array.isArray(e)?e:[e]).filter(u=>typeof u=="string").map(u=>u.replace("+",`
18
- `).replace(`
19
-
20
- `,`
21
- +`).split(`
22
- `)),d=l.reduce((u,f)=>u.concat(...f),[]);return[l,d]}return[[],[]]},[e]);return D.useEffect(()=>{const c=(t==null?void 0:t.target)??lo,l=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const d=h=>{var x,m;if(o.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!o.current||o.current&&!l)&&Ni(h))return!1;const y=ho(h.code,a);if(i.current.add(h[y]),fo(s,i.current,!1)){const b=((m=(x=h.composedPath)==null?void 0:x.call(h))==null?void 0:m[0])||h.target,p=(b==null?void 0:b.nodeName)==="BUTTON"||(b==null?void 0:b.nodeName)==="A";t.preventDefault!==!1&&(o.current||!p)&&h.preventDefault(),r(!0)}},u=h=>{const g=ho(h.code,a);fo(s,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(h[g]),h.key==="Meta"&&i.current.clear(),o.current=!1},f=()=>{i.current.clear(),r(!1)};return c==null||c.addEventListener("keydown",d),c==null||c.addEventListener("keyup",u),window.addEventListener("blur",f),window.addEventListener("contextmenu",f),()=>{c==null||c.removeEventListener("keydown",d),c==null||c.removeEventListener("keyup",u),window.removeEventListener("blur",f),window.removeEventListener("contextmenu",f)}}},[e,r]),n}function fo(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(o=>t.has(o)))}function ho(e,t){return t.includes(e)?"code":"key"}const Od=()=>{const e=oe();return D.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:r}=e.getState();return r?r.scaleTo(t,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[r,o,i],panZoom:s}=e.getState();return s?(await s.setViewport({x:t.x??r,y:t.y??o,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{const{width:r,height:o,minZoom:i,maxZoom:s,panZoom:a}=e.getState(),c=ir(t,r,o,i,s,(n==null?void 0:n.padding)??.1);return a?(await a.setViewport(c,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:r,snapGrid:o,snapToGrid:i,domNode:s}=e.getState();if(!s)return t;const{x:a,y:c}=s.getBoundingClientRect(),l={x:t.x-a,y:t.y-c},d=n.snapGrid??o,u=n.snapToGrid??i;return Mt(l,r,u,d)},flowToScreenPosition:t=>{const{transform:n,domNode:r}=e.getState();if(!r)return t;const{x:o,y:i}=r.getBoundingClientRect(),s=Jt(t,n);return{x:s.x+o,y:s.y+i}}}),[])};function qi(e,t){const n=[],r=new Map,o=[];for(const i of e)if(i.type==="add"){o.push(i);continue}else if(i.type==="remove"||i.type==="replace")r.set(i.id,[i]);else{const s=r.get(i.id);s?s.push(i):r.set(i.id,[i])}for(const i of t){const s=r.get(i.id);if(!s){n.push(i);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){n.push({...s[0].item});continue}const a={...i};for(const c of s)jd(c,a);n.push(a)}return o.length&&o.forEach(i=>{i.index!==void 0?n.splice(i.index,0,{...i.item}):n.push({...i.item})}),n}function jd(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function Gi(e,t){return qi(e,t)}function Ki(e,t){return qi(e,t)}function Pe(e,t){return{id:e,type:"select",selected:t}}function Xe(e,t=new Set,n=!1){const r=[];for(const[o,i]of e){const s=t.has(o);!(i.selected===void 0&&!s)&&i.selected!==s&&(n&&(i.selected=s),r.push(Pe(i.id,s)))}return r}function go({items:e=[],lookup:t}){var o;const n=[],r=new Map(e.map(i=>[i.id,i]));for(const[i,s]of e.entries()){const a=t.get(s.id),c=((o=a==null?void 0:a.internals)==null?void 0:o.userNode)??a;c!==void 0&&c!==s&&n.push({id:s.id,item:s,type:"replace"}),c===void 0&&n.push({item:s,type:"add",index:i})}for(const[i]of t)r.get(i)===void 0&&n.push({id:i,type:"remove"});return n}function po(e){return{id:e.id,type:"remove"}}const mo=e=>pf(e),Xd=e=>yi(e);function Ui(e){return D.forwardRef(e)}const Yd=typeof window<"u"?D.useLayoutEffect:D.useEffect;function yo(e){const[t,n]=D.useState(BigInt(0)),[r]=D.useState(()=>Wd(()=>n(o=>o+BigInt(1))));return Yd(()=>{const o=r.get();o.length&&(e(o),r.reset())},[t]),r}function Wd(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const Zi=D.createContext(null);function qd({children:e}){const t=oe(),n=D.useCallback(a=>{const{nodes:c=[],setNodes:l,hasDefaultNodes:d,onNodesChange:u,nodeLookup:f,fitViewQueued:h,onNodesChangeMiddlewareMap:g}=t.getState();let y=c;for(const m of a)y=typeof m=="function"?m(y):m;let x=go({items:y,lookup:f});for(const m of g.values())x=m(x);d&&l(y),x.length>0?u==null||u(x):h&&window.requestAnimationFrame(()=>{const{fitViewQueued:m,nodes:b,setNodes:p}=t.getState();m&&p(b)})},[]),r=yo(n),o=D.useCallback(a=>{const{edges:c=[],setEdges:l,hasDefaultEdges:d,onEdgesChange:u,edgeLookup:f}=t.getState();let h=c;for(const g of a)h=typeof g=="function"?g(h):g;d?l(h):u&&u(go({items:h,lookup:f}))},[]),i=yo(o),s=D.useMemo(()=>({nodeQueue:r,edgeQueue:i}),[]);return P.jsx(Zi.Provider,{value:s,children:e})}function Gd(){const e=D.useContext(Zi);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Kd=e=>!!e.panZoom;function dr(){const e=Od(),t=oe(),n=Gd(),r=J(Kd),o=D.useMemo(()=>{const i=u=>t.getState().nodeLookup.get(u),s=u=>{n.nodeQueue.push(u)},a=u=>{n.edgeQueue.push(u)},c=u=>{var m,b;const{nodeLookup:f,nodeOrigin:h}=t.getState(),g=mo(u)?u:f.get(u.id),y=g.parentId?Ei(g.position,g.measured,g.parentId,f,h):g.position,x={...g,position:y,width:((m=g.measured)==null?void 0:m.width)??g.width,height:((b=g.measured)==null?void 0:b.height)??g.height};return Qe(x)},l=(u,f,h={replace:!1})=>{s(g=>g.map(y=>{if(y.id===u){const x=typeof f=="function"?f(y):f;return h.replace&&mo(x)?x:{...y,...x}}return y}))},d=(u,f,h={replace:!1})=>{a(g=>g.map(y=>{if(y.id===u){const x=typeof f=="function"?f(y):f;return h.replace&&Xd(x)?x:{...y,...x}}return y}))};return{getNodes:()=>t.getState().nodes.map(u=>({...u})),getNode:u=>{var f;return(f=i(u))==null?void 0:f.internals.userNode},getInternalNode:i,getEdges:()=>{const{edges:u=[]}=t.getState();return u.map(f=>({...f}))},getEdge:u=>t.getState().edgeLookup.get(u),setNodes:s,setEdges:a,addNodes:u=>{const f=Array.isArray(u)?u:[u];n.nodeQueue.push(h=>[...h,...f])},addEdges:u=>{const f=Array.isArray(u)?u:[u];n.edgeQueue.push(h=>[...h,...f])},toObject:()=>{const{nodes:u=[],edges:f=[],transform:h}=t.getState(),[g,y,x]=h;return{nodes:u.map(m=>({...m})),edges:f.map(m=>({...m})),viewport:{x:g,y,zoom:x}}},deleteElements:async({nodes:u=[],edges:f=[]})=>{const{nodes:h,edges:g,onNodesDelete:y,onEdgesDelete:x,triggerNodeChanges:m,triggerEdgeChanges:b,onDelete:p,onBeforeDelete:w}=t.getState(),{nodes:N,edges:_}=await vf({nodesToRemove:u,edgesToRemove:f,nodes:h,edges:g,onBeforeDelete:w}),M=_.length>0,T=N.length>0;if(M){const z=_.map(po);x==null||x(_),b(z)}if(T){const z=N.map(po);y==null||y(N),m(z)}return(T||M)&&(p==null||p({nodes:N,edges:_})),{deletedNodes:N,deletedEdges:_}},getIntersectingNodes:(u,f=!0,h)=>{const g=jr(u),y=g?u:c(u),x=h!==void 0;return y?(h||t.getState().nodes).filter(m=>{const b=t.getState().nodeLookup.get(m.id);if(b&&!g&&(m.id===u.id||!b.internals.positionAbsolute))return!1;const p=Qe(x?m:b),w=xt(p,y);return f&&w>0||w>=p.width*p.height||w>=y.width*y.height}):[]},isNodeIntersecting:(u,f,h=!0)=>{const y=jr(u)?u:c(u);if(!y)return!1;const x=xt(y,f);return h&&x>0||x>=f.width*f.height||x>=y.width*y.height},updateNode:l,updateNodeData:(u,f,h={replace:!1})=>{l(u,g=>{const y=typeof f=="function"?f(g):f;return h.replace?{...g,data:y}:{...g,data:{...g.data,...y}}},h)},updateEdge:d,updateEdgeData:(u,f,h={replace:!1})=>{d(u,g=>{const y=typeof f=="function"?f(g):f;return h.replace?{...g,data:y}:{...g,data:{...g.data,...y}}},h)},getNodesBounds:u=>{const{nodeLookup:f,nodeOrigin:h}=t.getState();return mf(u,{nodeLookup:f,nodeOrigin:h})},getHandleConnections:({type:u,id:f,nodeId:h})=>{var g;return Array.from(((g=t.getState().connectionLookup.get(`${h}-${u}${f?`-${f}`:""}`))==null?void 0:g.values())??[])},getNodeConnections:({type:u,handleId:f,nodeId:h})=>{var g;return Array.from(((g=t.getState().connectionLookup.get(`${h}${u?f?`-${u}-${f}`:`-${u}`:""}`))==null?void 0:g.values())??[])},fitView:async u=>{const f=t.getState().fitViewResolver??Sf();return t.setState({fitViewQueued:!0,fitViewOptions:u,fitViewResolver:f}),n.nodeQueue.push(h=>[...h]),f.promise}}},[]);return D.useMemo(()=>({...o,...e,viewportInitialized:r}),[r])}const xo=e=>e.selected,Ud=typeof window<"u"?window:void 0;function Zd({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=oe(),{deleteElements:r}=dr(),o=vt(e,{actInsideInputWithModifier:!1}),i=vt(t,{target:Ud});D.useEffect(()=>{if(o){const{edges:s,nodes:a}=n.getState();r({nodes:a.filter(xo),edges:s.filter(xo)}),n.setState({nodesSelectionActive:!1})}},[o]),D.useEffect(()=>{n.setState({multiSelectionActive:i})},[i])}function Qd(e){const t=oe();D.useEffect(()=>{const n=()=>{var o,i,s,a;if(!e.current||!(((i=(o=e.current).checkVisibility)==null?void 0:i.call(o))??!0))return!1;const r=sr(e.current);(r.height===0||r.width===0)&&((a=(s=t.getState()).onError)==null||a.call(s,"004",xe.error004())),t.setState({width:r.width||500,height:r.height||500})};if(e.current){n(),window.addEventListener("resize",n);const r=new ResizeObserver(()=>n());return r.observe(e.current),()=>{window.removeEventListener("resize",n),r&&e.current&&r.unobserve(e.current)}}},[])}const pn={position:"absolute",width:"100%",height:"100%",top:0,left:0},Jd=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function eh({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:o=.5,panOnScrollMode:i=De.Free,zoomOnDoubleClick:s=!0,panOnDrag:a=!0,defaultViewport:c,translateExtent:l,minZoom:d,maxZoom:u,zoomActivationKeyCode:f,preventScrolling:h=!0,children:g,noWheelClassName:y,noPanClassName:x,onViewportChange:m,isControlledViewport:b,paneClickDistance:p,selectionOnDrag:w}){const N=oe(),_=D.useRef(null),{userSelectionActive:M,lib:T,connectionInProgress:z}=J(Jd,re),B=vt(f),I=D.useRef();Qd(_);const $=D.useCallback(V=>{m==null||m({x:V[0],y:V[1],zoom:V[2]}),b||N.setState({transform:V})},[m,b]);return D.useEffect(()=>{if(_.current){I.current=ad({domNode:_.current,minZoom:d,maxZoom:u,translateExtent:l,viewport:c,onDraggingChange:E=>N.setState(A=>A.paneDragging===E?A:{paneDragging:E}),onPanZoomStart:(E,A)=>{const{onViewportChangeStart:C,onMoveStart:S}=N.getState();S==null||S(E,A),C==null||C(A)},onPanZoom:(E,A)=>{const{onViewportChange:C,onMove:S}=N.getState();S==null||S(E,A),C==null||C(A)},onPanZoomEnd:(E,A)=>{const{onViewportChangeEnd:C,onMoveEnd:S}=N.getState();S==null||S(E,A),C==null||C(A)}});const{x:V,y:v,zoom:k}=I.current.getViewport();return N.setState({panZoom:I.current,transform:[V,v,k],domNode:_.current.closest(".react-flow")}),()=>{var E;(E=I.current)==null||E.destroy()}}},[]),D.useEffect(()=>{var V;(V=I.current)==null||V.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:o,panOnScrollMode:i,zoomOnDoubleClick:s,panOnDrag:a,zoomActivationKeyPressed:B,preventScrolling:h,noPanClassName:x,userSelectionActive:M,noWheelClassName:y,lib:T,onTransformChange:$,connectionInProgress:z,selectionOnDrag:w,paneClickDistance:p})},[e,t,n,r,o,i,s,a,B,h,x,M,y,T,$,z,w,p]),P.jsx("div",{className:"react-flow__renderer",ref:_,style:pn,children:g})}const th=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function nh(){const{userSelectionActive:e,userSelectionRect:t}=J(th,re);return e&&t?P.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const Dn=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},rh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function oh({isSelecting:e,selectionKeyPressed:t,selectionMode:n=yt.Full,panOnDrag:r,paneClickDistance:o,selectionOnDrag:i,onSelectionStart:s,onSelectionEnd:a,onPaneClick:c,onPaneContextMenu:l,onPaneScroll:d,onPaneMouseEnter:u,onPaneMouseMove:f,onPaneMouseLeave:h,children:g}){const y=oe(),{userSelectionActive:x,elementsSelectable:m,dragging:b,connectionInProgress:p}=J(rh,re),w=m&&(e||x),N=D.useRef(null),_=D.useRef(),M=D.useRef(new Set),T=D.useRef(new Set),z=D.useRef(!1),B=C=>{if(z.current||p){z.current=!1;return}c==null||c(C),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},I=C=>{if(Array.isArray(r)&&(r!=null&&r.includes(2))){C.preventDefault();return}l==null||l(C)},$=d?C=>d(C):void 0,V=C=>{z.current&&(C.stopPropagation(),z.current=!1)},v=C=>{var Y,K;const{domNode:S}=y.getState();if(_.current=S==null?void 0:S.getBoundingClientRect(),!_.current)return;const L=C.target===N.current;if(!L&&!!C.target.closest(".nokey")||!e||!(i&&L||t)||C.button!==0||!C.isPrimary)return;(K=(Y=C.target)==null?void 0:Y.setPointerCapture)==null||K.call(Y,C.pointerId),z.current=!1;const{x:O,y:j}=he(C.nativeEvent,_.current);y.setState({userSelectionRect:{width:0,height:0,startX:O,startY:j,x:O,y:j}}),L||(C.stopPropagation(),C.preventDefault())},k=C=>{const{userSelectionRect:S,transform:L,nodeLookup:R,edgeLookup:H,connectionLookup:O,triggerNodeChanges:j,triggerEdgeChanges:Y,defaultEdgeOptions:K,resetSelectedElements:q}=y.getState();if(!_.current||!S)return;const{x:F,y:W}=he(C.nativeEvent,_.current),{startX:Q,startY:Z}=S;if(!z.current){const ee=t?0:o;if(Math.hypot(F-Q,W-Z)<=ee)return;q(),s==null||s(C)}z.current=!0;const U={startX:Q,startY:Z,x:F<Q?F:Q,y:W<Z?W:Z,width:Math.abs(F-Q),height:Math.abs(W-Z)},G=M.current,te=T.current;M.current=new Set(or(R,U,L,n===yt.Partial,!0).map(ee=>ee.id)),T.current=new Set;const ne=(K==null?void 0:K.selectable)??!0;for(const ee of M.current){const se=O.get(ee);if(se)for(const{edgeId:Me}of se.values()){const ve=H.get(Me);ve&&(ve.selectable??ne)&&T.current.add(Me)}}if(!Xr(G,M.current)){const ee=Xe(R,M.current,!0);j(ee)}if(!Xr(te,T.current)){const ee=Xe(H,T.current);Y(ee)}y.setState({userSelectionRect:U,userSelectionActive:!0,nodesSelectionActive:!1})},E=C=>{var S,L;C.button===0&&((L=(S=C.target)==null?void 0:S.releasePointerCapture)==null||L.call(S,C.pointerId),!x&&C.target===N.current&&y.getState().userSelectionRect&&(B==null||B(C)),y.setState({userSelectionActive:!1,userSelectionRect:null}),z.current&&(a==null||a(C),y.setState({nodesSelectionActive:M.current.size>0})))},A=r===!0||Array.isArray(r)&&r.includes(0);return P.jsxs("div",{className:ie(["react-flow__pane",{draggable:A,dragging:b,selection:e}]),onClick:w?void 0:Dn(B,N),onContextMenu:Dn(I,N),onWheel:Dn($,N),onPointerEnter:w?void 0:u,onPointerMove:w?k:f,onPointerUp:w?E:void 0,onPointerDownCapture:w?v:void 0,onClickCapture:w?V:void 0,onPointerLeave:h,ref:N,style:pn,children:[g,P.jsx(nh,{})]})}function Zn({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:o,unselectNodesAndEdges:i,multiSelectionActive:s,nodeLookup:a,onError:c}=t.getState(),l=a.get(e);if(!l){c==null||c("012",xe.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(i({nodes:[l],edges:[]}),requestAnimationFrame(()=>{var d;return(d=r==null?void 0:r.current)==null?void 0:d.blur()})):o([e])}function Qi({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:o,isSelectable:i,nodeClickDistance:s}){const a=oe(),[c,l]=D.useState(!1),d=D.useRef();return D.useEffect(()=>{d.current=qf({getStoreItems:()=>a.getState(),onNodeMouseDown:u=>{Zn({id:u,store:a,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}})},[]),D.useEffect(()=>{if(!(t||!e.current||!d.current))return d.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:i,nodeId:o,nodeClickDistance:s}),()=>{var u;(u=d.current)==null||u.destroy()}},[n,r,t,i,e,o,s]),c}const ih=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Ji(){const e=oe();return D.useCallback(n=>{const{nodeExtent:r,snapToGrid:o,snapGrid:i,nodesDraggable:s,onError:a,updateNodePositions:c,nodeLookup:l,nodeOrigin:d}=e.getState(),u=new Map,f=ih(s),h=o?i[0]:5,g=o?i[1]:5,y=n.direction.x*h*n.factor,x=n.direction.y*g*n.factor;for(const[,m]of l){if(!f(m))continue;let b={x:m.internals.positionAbsolute.x+y,y:m.internals.positionAbsolute.y+x};o&&(b=Nt(b,i));const{position:p,positionAbsolute:w}=xi({nodeId:m.id,nextPosition:b,nodeLookup:l,nodeExtent:r,nodeOrigin:d,onError:a});m.position=p,m.internals.positionAbsolute=w,u.set(m.id,m)}c(u)},[])}const hr=D.createContext(null),sh=hr.Provider;hr.Consumer;const es=()=>D.useContext(hr),ah=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),ch=(e,t,n)=>r=>{const{connectionClickStartHandle:o,connectionMode:i,connection:s}=r,{fromHandle:a,toHandle:c,isValid:l}=s,d=(c==null?void 0:c.nodeId)===e&&(c==null?void 0:c.id)===t&&(c==null?void 0:c.type)===n;return{connectingFrom:(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.id)===t&&(a==null?void 0:a.type)===n,connectingTo:d,clickConnecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===t&&(o==null?void 0:o.type)===n,isPossibleEndHandle:i===Ue.Strict?(a==null?void 0:a.type)!==n:e!==(a==null?void 0:a.nodeId)||t!==(a==null?void 0:a.id),connectionInProcess:!!a,clickConnectionInProcess:!!o,valid:d&&l}};function uh({type:e="source",position:t=X.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:o=!0,isConnectableEnd:i=!0,id:s,onConnect:a,children:c,className:l,onMouseDown:d,onTouchStart:u,...f},h){var k,E;const g=s||null,y=e==="target",x=oe(),m=es(),{connectOnClick:b,noPanClassName:p,rfId:w}=J(ah,re),{connectingFrom:N,connectingTo:_,clickConnecting:M,isPossibleEndHandle:T,connectionInProcess:z,clickConnectionInProcess:B,valid:I}=J(ch(m,g,e),re);m||(E=(k=x.getState()).onError)==null||E.call(k,"010",xe.error010());const $=A=>{const{defaultEdgeOptions:C,onConnect:S,hasDefaultEdges:L}=x.getState(),R={...C,...A};if(L){const{edges:H,setEdges:O}=x.getState();O($f(R,H))}S==null||S(R),a==null||a(R)},V=A=>{if(!m)return;const C=Mi(A.nativeEvent);if(o&&(C&&A.button===0||!C)){const S=x.getState();Un.onPointerDown(A.nativeEvent,{handleDomNode:A.currentTarget,autoPanOnConnect:S.autoPanOnConnect,connectionMode:S.connectionMode,connectionRadius:S.connectionRadius,domNode:S.domNode,nodeLookup:S.nodeLookup,lib:S.lib,isTarget:y,handleId:g,nodeId:m,flowId:S.rfId,panBy:S.panBy,cancelConnection:S.cancelConnection,onConnectStart:S.onConnectStart,onConnectEnd:(...L)=>{var R,H;return(H=(R=x.getState()).onConnectEnd)==null?void 0:H.call(R,...L)},updateConnection:S.updateConnection,onConnect:$,isValidConnection:n||((...L)=>{var R,H;return((H=(R=x.getState()).isValidConnection)==null?void 0:H.call(R,...L))??!0}),getTransform:()=>x.getState().transform,getFromHandle:()=>x.getState().connection.fromHandle,autoPanSpeed:S.autoPanSpeed,dragThreshold:S.connectionDragThreshold})}C?d==null||d(A):u==null||u(A)},v=A=>{const{onClickConnectStart:C,onClickConnectEnd:S,connectionClickStartHandle:L,connectionMode:R,isValidConnection:H,lib:O,rfId:j,nodeLookup:Y,connection:K}=x.getState();if(!m||!L&&!o)return;if(!L){C==null||C(A.nativeEvent,{nodeId:m,handleId:g,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:m,type:e,id:g}});return}const q=Si(A.target),F=n||H,{connection:W,isValid:Q}=Un.isValid(A.nativeEvent,{handle:{nodeId:m,id:g,type:e},connectionMode:R,fromNodeId:L.nodeId,fromHandleId:L.id||null,fromType:L.type,isValidConnection:F,flowId:j,doc:q,lib:O,nodeLookup:Y});Q&&W&&$(W);const Z=structuredClone(K);delete Z.inProgress,Z.toPosition=Z.toHandle?Z.toHandle.position:null,S==null||S(A,Z),x.setState({connectionClickStartHandle:null})};return P.jsx("div",{"data-handleid":g,"data-nodeid":m,"data-handlepos":t,"data-id":`${w}-${m}-${g}-${e}`,className:ie(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",p,l,{source:!y,target:y,connectable:r,connectablestart:o,connectableend:i,clickconnecting:M,connectingfrom:N,connectingto:_,valid:I,connectionindicator:r&&(!z||T)&&(z||B?i:o)}]),onMouseDown:V,onTouchStart:V,onClick:b?v:void 0,ref:h,...f,children:c})}const en=D.memo(Ui(uh));function lh({data:e,isConnectable:t,sourcePosition:n=X.Bottom}){return P.jsxs(P.Fragment,{children:[e==null?void 0:e.label,P.jsx(en,{type:"source",position:n,isConnectable:t})]})}function fh({data:e,isConnectable:t,targetPosition:n=X.Top,sourcePosition:r=X.Bottom}){return P.jsxs(P.Fragment,{children:[P.jsx(en,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,P.jsx(en,{type:"source",position:r,isConnectable:t})]})}function dh(){return null}function hh({data:e,isConnectable:t,targetPosition:n=X.Top}){return P.jsxs(P.Fragment,{children:[P.jsx(en,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const tn={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},wo={input:lh,default:fh,output:hh,group:dh};function gh(e){var t,n,r,o;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((r=e.style)==null?void 0:r.width),height:e.height??((o=e.style)==null?void 0:o.height)}}const ph=e=>{const{width:t,height:n,x:r,y:o}=St(e.nodeLookup,{filter:i=>!!i.selected});return{width:de(t)?t:null,height:de(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${o}px)`}};function mh({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=oe(),{width:o,height:i,transformString:s,userSelectionActive:a}=J(ph,re),c=Ji(),l=D.useRef(null);D.useEffect(()=>{var h;n||(h=l.current)==null||h.focus({preventScroll:!0})},[n]);const d=!a&&o!==null&&i!==null;if(Qi({nodeRef:l,disabled:!d}),!d)return null;const u=e?h=>{const g=r.getState().nodes.filter(y=>y.selected);e(h,g)}:void 0,f=h=>{Object.prototype.hasOwnProperty.call(tn,h.key)&&(h.preventDefault(),c({direction:tn[h.key],factor:h.shiftKey?4:1}))};return P.jsx("div",{className:ie(["react-flow__nodesselection","react-flow__container",t]),style:{transform:s},children:P.jsx("div",{ref:l,className:"react-flow__nodesselection-rect",onContextMenu:u,tabIndex:n?void 0:-1,onKeyDown:n?void 0:f,style:{width:o,height:i}})})}const vo=typeof window<"u"?window:void 0,yh=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function ts({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:s,paneClickDistance:a,deleteKeyCode:c,selectionKeyCode:l,selectionOnDrag:d,selectionMode:u,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:g,panActivationKeyCode:y,zoomActivationKeyCode:x,elementsSelectable:m,zoomOnScroll:b,zoomOnPinch:p,panOnScroll:w,panOnScrollSpeed:N,panOnScrollMode:_,zoomOnDoubleClick:M,panOnDrag:T,defaultViewport:z,translateExtent:B,minZoom:I,maxZoom:$,preventScrolling:V,onSelectionContextMenu:v,noWheelClassName:k,noPanClassName:E,disableKeyboardA11y:A,onViewportChange:C,isControlledViewport:S}){const{nodesSelectionActive:L,userSelectionActive:R}=J(yh,re),H=vt(l,{target:vo}),O=vt(y,{target:vo}),j=O||T,Y=O||w,K=d&&j!==!0,q=H||R||K;return Zd({deleteKeyCode:c,multiSelectionKeyCode:g}),P.jsx(eh,{onPaneContextMenu:i,elementsSelectable:m,zoomOnScroll:b,zoomOnPinch:p,panOnScroll:Y,panOnScrollSpeed:N,panOnScrollMode:_,zoomOnDoubleClick:M,panOnDrag:!H&&j,defaultViewport:z,translateExtent:B,minZoom:I,maxZoom:$,zoomActivationKeyCode:x,preventScrolling:V,noWheelClassName:k,noPanClassName:E,onViewportChange:C,isControlledViewport:S,paneClickDistance:a,selectionOnDrag:K,children:P.jsxs(oh,{onSelectionStart:f,onSelectionEnd:h,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:s,panOnDrag:j,isSelecting:!!q,selectionMode:u,selectionKeyPressed:H,paneClickDistance:a,selectionOnDrag:K,children:[e,L&&P.jsx(mh,{onSelectionContextMenu:v,noPanClassName:E,disableKeyboardA11y:A})]})})}ts.displayName="FlowRenderer";const xh=D.memo(ts),wh=e=>t=>e?or(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function vh(e){return J(D.useCallback(wh(e),[e]),re)}const bh=e=>e.updateNodeInternals;function _h(){const e=J(bh),[t]=D.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const r=new Map;n.forEach(o=>{const i=o.target.getAttribute("data-id");r.set(i,{id:i,nodeElement:o.target,force:!0})}),e(r)}));return D.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function Eh({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){const o=oe(),i=D.useRef(null),s=D.useRef(null),a=D.useRef(e.sourcePosition),c=D.useRef(e.targetPosition),l=D.useRef(t),d=n&&!!e.internals.handleBounds;return D.useEffect(()=>{i.current&&!e.hidden&&(!d||s.current!==i.current)&&(s.current&&(r==null||r.unobserve(s.current)),r==null||r.observe(i.current),s.current=i.current)},[d,e.hidden]),D.useEffect(()=>()=>{s.current&&(r==null||r.unobserve(s.current),s.current=null)},[]),D.useEffect(()=>{if(i.current){const u=l.current!==t,f=a.current!==e.sourcePosition,h=c.current!==e.targetPosition;(u||f||h)&&(l.current=t,a.current=e.sourcePosition,c.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}function Sh({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onContextMenu:i,onDoubleClick:s,nodesDraggable:a,elementsSelectable:c,nodesConnectable:l,nodesFocusable:d,resizeObserver:u,noDragClassName:f,noPanClassName:h,disableKeyboardA11y:g,rfId:y,nodeTypes:x,nodeClickDistance:m,onError:b}){const{node:p,internals:w,isParent:N}=J(F=>{const W=F.nodeLookup.get(e),Q=F.parentLookup.has(e);return{node:W,internals:W.internals,isParent:Q}},re);let _=p.type||"default",M=(x==null?void 0:x[_])||wo[_];M===void 0&&(b==null||b("003",xe.error003(_)),_="default",M=(x==null?void 0:x.default)||wo.default);const T=!!(p.draggable||a&&typeof p.draggable>"u"),z=!!(p.selectable||c&&typeof p.selectable>"u"),B=!!(p.connectable||l&&typeof p.connectable>"u"),I=!!(p.focusable||d&&typeof p.focusable>"u"),$=oe(),V=_i(p),v=Eh({node:p,nodeType:_,hasDimensions:V,resizeObserver:u}),k=Qi({nodeRef:v,disabled:p.hidden||!T,noDragClassName:f,handleSelector:p.dragHandle,nodeId:e,isSelectable:z,nodeClickDistance:m}),E=Ji();if(p.hidden)return null;const A=Ne(p),C=gh(p),S=z||T||t||n||r||o,L=n?F=>n(F,{...w.userNode}):void 0,R=r?F=>r(F,{...w.userNode}):void 0,H=o?F=>o(F,{...w.userNode}):void 0,O=i?F=>i(F,{...w.userNode}):void 0,j=s?F=>s(F,{...w.userNode}):void 0,Y=F=>{const{selectNodesOnDrag:W,nodeDragThreshold:Q}=$.getState();z&&(!W||!T||Q>0)&&Zn({id:e,store:$,nodeRef:v}),t&&t(F,{...w.userNode})},K=F=>{if(!(Ni(F.nativeEvent)||g)){if(hi.includes(F.key)&&z){const W=F.key==="Escape";Zn({id:e,store:$,unselect:W,nodeRef:v})}else if(T&&p.selected&&Object.prototype.hasOwnProperty.call(tn,F.key)){F.preventDefault();const{ariaLabelConfig:W}=$.getState();$.setState({ariaLiveMessage:W["node.a11yDescription.ariaLiveMessage"]({direction:F.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),E({direction:tn[F.key],factor:F.shiftKey?4:1})}}},q=()=>{var te;if(g||!((te=v.current)!=null&&te.matches(":focus-visible")))return;const{transform:F,width:W,height:Q,autoPanOnNodeFocus:Z,setCenter:U}=$.getState();if(!Z)return;or(new Map([[e,p]]),{x:0,y:0,width:W,height:Q},F,!0).length>0||U(p.position.x+A.width/2,p.position.y+A.height/2,{zoom:F[2]})};return P.jsx("div",{className:ie(["react-flow__node",`react-flow__node-${_}`,{[h]:T},p.className,{selected:p.selected,selectable:z,parent:N,draggable:T,dragging:k}]),ref:v,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:S?"all":"none",visibility:V?"visible":"hidden",...p.style,...C},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:L,onMouseMove:R,onMouseLeave:H,onContextMenu:O,onClick:Y,onDoubleClick:j,onKeyDown:I?K:void 0,tabIndex:I?0:void 0,onFocus:I?q:void 0,role:p.ariaRole??(I?"group":void 0),"aria-roledescription":"node","aria-describedby":g?void 0:`${Xi}-${y}`,"aria-label":p.ariaLabel,...p.domAttributes,children:P.jsx(sh,{value:e,children:P.jsx(M,{id:e,data:p.data,type:_,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:p.selected??!1,selectable:z,draggable:T,deletable:p.deletable??!0,isConnectable:B,sourcePosition:p.sourcePosition,targetPosition:p.targetPosition,dragging:k,dragHandle:p.dragHandle,zIndex:w.z,parentId:p.parentId,...A})})})}var Nh=D.memo(Sh);const Mh=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function ns(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:o,onError:i}=J(Mh,re),s=vh(e.onlyRenderVisibleElements),a=_h();return P.jsx("div",{className:"react-flow__nodes",style:pn,children:s.map(c=>P.jsx(Nh,{id:c,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:a,nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:i},c))})}ns.displayName="NodeRenderer";const Ch=D.memo(ns);function Ih(e){return J(D.useCallback(n=>{if(!e)return n.edges.map(o=>o.id);const r=[];if(n.width&&n.height)for(const o of n.edges){const i=n.nodeLookup.get(o.source),s=n.nodeLookup.get(o.target);i&&s&&If({sourceNode:i,targetNode:s,width:n.width,height:n.height,transform:n.transform})&&r.push(o.id)}return r},[e]),re)}const kh=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return P.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Ah=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return P.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},bo={[Zt.Arrow]:kh,[Zt.ArrowClosed]:Ah};function $h(e){const t=oe();return D.useMemo(()=>{var o,i;return Object.prototype.hasOwnProperty.call(bo,e)?bo[e]:((i=(o=t.getState()).onError)==null||i.call(o,"009",xe.error009(e)),null)},[e])}const Ph=({id:e,type:t,color:n,width:r=12.5,height:o=12.5,markerUnits:i="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const c=$h(t);return c?P.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:a,refX:"0",refY:"0",children:P.jsx(c,{color:n,strokeWidth:s})}):null},rs=({defaultColor:e,rfId:t})=>{const n=J(i=>i.edges),r=J(i=>i.defaultEdgeOptions),o=D.useMemo(()=>Lf(n,{id:t,defaultColor:e,defaultMarkerStart:r==null?void 0:r.markerStart,defaultMarkerEnd:r==null?void 0:r.markerEnd}),[n,r,t,e]);return o.length?P.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:P.jsx("defs",{children:o.map(i=>P.jsx(Ph,{id:i.id,type:i.type,color:i.color,width:i.width,height:i.height,markerUnits:i.markerUnits,strokeWidth:i.strokeWidth,orient:i.orient},i.id))})}):null};rs.displayName="MarkerDefinitions";var Th=D.memo(rs);function os({x:e,y:t,label:n,labelStyle:r,labelShowBg:o=!0,labelBgStyle:i,labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:c,className:l,...d}){const[u,f]=D.useState({x:1,y:0,width:0,height:0}),h=ie(["react-flow__edge-textwrapper",l]),g=D.useRef(null);return D.useEffect(()=>{if(g.current){const y=g.current.getBBox();f({x:y.x,y:y.y,width:y.width,height:y.height})}},[n]),n?P.jsxs("g",{transform:`translate(${e-u.width/2} ${t-u.height/2})`,className:h,visibility:u.width?"visible":"hidden",...d,children:[o&&P.jsx("rect",{width:u.width+2*s[0],x:-s[0],y:-s[1],height:u.height+2*s[1],className:"react-flow__edge-textbg",style:i,rx:a,ry:a}),P.jsx("text",{className:"react-flow__edge-text",y:u.height/2,dy:"0.3em",ref:g,style:r,children:n}),c]}):null}os.displayName="EdgeText";const zh=D.memo(os);function mn({path:e,labelX:t,labelY:n,label:r,labelStyle:o,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:c,interactionWidth:l=20,...d}){return P.jsxs(P.Fragment,{children:[P.jsx("path",{...d,d:e,fill:"none",className:ie(["react-flow__edge-path",d.className])}),l?P.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:l,className:"react-flow__edge-interaction"}):null,r&&de(t)&&de(n)?P.jsx(zh,{x:t,y:n,label:r,labelStyle:o,labelShowBg:i,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:c}):null]})}function _o({pos:e,x1:t,y1:n,x2:r,y2:o}){return e===X.Left||e===X.Right?[.5*(t+r),n]:[t,.5*(n+o)]}function is({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:o,targetPosition:i=X.Top}){const[s,a]=_o({pos:n,x1:e,y1:t,x2:r,y2:o}),[c,l]=_o({pos:i,x1:r,y1:o,x2:e,y2:t}),[d,u,f,h]=Ci({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:a,targetControlX:c,targetControlY:l});return[`M${e},${t} C${s},${a} ${c},${l} ${r},${o}`,d,u,f,h]}function ss(e){return D.memo(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:s,targetPosition:a,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:h,style:g,markerEnd:y,markerStart:x,interactionWidth:m})=>{const[b,p,w]=is({sourceX:n,sourceY:r,sourcePosition:s,targetX:o,targetY:i,targetPosition:a}),N=e.isInternal?void 0:t;return P.jsx(mn,{id:N,path:b,labelX:p,labelY:w,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:h,style:g,markerEnd:y,markerStart:x,interactionWidth:m})})}const Dh=ss({isInternal:!1}),as=ss({isInternal:!0});Dh.displayName="SimpleBezierEdge";as.displayName="SimpleBezierEdgeInternal";function cs(e){return D.memo(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:u,style:f,sourcePosition:h=X.Bottom,targetPosition:g=X.Top,markerEnd:y,markerStart:x,pathOptions:m,interactionWidth:b})=>{const[p,w,N]=qn({sourceX:n,sourceY:r,sourcePosition:h,targetX:o,targetY:i,targetPosition:g,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset,stepPosition:m==null?void 0:m.stepPosition}),_=e.isInternal?void 0:t;return P.jsx(mn,{id:_,path:p,labelX:w,labelY:N,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:y,markerStart:x,interactionWidth:b})})}const us=cs({isInternal:!1}),ls=cs({isInternal:!0});us.displayName="SmoothStepEdge";ls.displayName="SmoothStepEdgeInternal";function fs(e){return D.memo(({id:t,...n})=>{var o;const r=e.isInternal?void 0:t;return P.jsx(us,{...n,id:r,pathOptions:D.useMemo(()=>{var i;return{borderRadius:0,offset:(i=n.pathOptions)==null?void 0:i.offset}},[(o=n.pathOptions)==null?void 0:o.offset])})})}const Lh=fs({isInternal:!1}),ds=fs({isInternal:!0});Lh.displayName="StepEdge";ds.displayName="StepEdgeInternal";function hs(e){return D.memo(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:h,markerStart:g,interactionWidth:y})=>{const[x,m,b]=Ai({sourceX:n,sourceY:r,targetX:o,targetY:i}),p=e.isInternal?void 0:t;return P.jsx(mn,{id:p,path:x,labelX:m,labelY:b,label:s,labelStyle:a,labelShowBg:c,labelBgStyle:l,labelBgPadding:d,labelBgBorderRadius:u,style:f,markerEnd:h,markerStart:g,interactionWidth:y})})}const Hh=hs({isInternal:!1}),gs=hs({isInternal:!0});Hh.displayName="StraightEdge";gs.displayName="StraightEdgeInternal";function ps(e){return D.memo(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:s=X.Bottom,targetPosition:a=X.Top,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:h,style:g,markerEnd:y,markerStart:x,pathOptions:m,interactionWidth:b})=>{const[p,w,N]=Ii({sourceX:n,sourceY:r,sourcePosition:s,targetX:o,targetY:i,targetPosition:a,curvature:m==null?void 0:m.curvature}),_=e.isInternal?void 0:t;return P.jsx(mn,{id:_,path:p,labelX:w,labelY:N,label:c,labelStyle:l,labelShowBg:d,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:h,style:g,markerEnd:y,markerStart:x,interactionWidth:b})})}const Rh=ps({isInternal:!1}),ms=ps({isInternal:!0});Rh.displayName="BezierEdge";ms.displayName="BezierEdgeInternal";const Eo={default:ms,straight:gs,step:ds,smoothstep:ls,simplebezier:as},So={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},Vh=(e,t,n)=>n===X.Left?e-t:n===X.Right?e+t:e,Bh=(e,t,n)=>n===X.Top?e-t:n===X.Bottom?e+t:e,No="react-flow__edgeupdater";function Mo({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:o,onMouseEnter:i,onMouseOut:s,type:a}){return P.jsx("circle",{onMouseDown:o,onMouseEnter:i,onMouseOut:s,className:ie([No,`${No}-${a}`]),cx:Vh(t,r,e),cy:Bh(n,r,e),r,stroke:"transparent",fill:"transparent"})}function Fh({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:o,targetX:i,targetY:s,sourcePosition:a,targetPosition:c,onReconnect:l,onReconnectStart:d,onReconnectEnd:u,setReconnecting:f,setUpdateHover:h}){const g=oe(),y=(w,N)=>{if(w.button!==0)return;const{autoPanOnConnect:_,domNode:M,connectionMode:T,connectionRadius:z,lib:B,onConnectStart:I,cancelConnection:$,nodeLookup:V,rfId:v,panBy:k,updateConnection:E}=g.getState(),A=N.type==="target",C=(R,H)=>{f(!1),u==null||u(R,n,N.type,H)},S=R=>l==null?void 0:l(n,R),L=(R,H)=>{f(!0),d==null||d(w,n,N.type),I==null||I(R,H)};Un.onPointerDown(w.nativeEvent,{autoPanOnConnect:_,connectionMode:T,connectionRadius:z,domNode:M,handleId:N.id,nodeId:N.nodeId,nodeLookup:V,isTarget:A,edgeUpdaterType:N.type,lib:B,flowId:v,cancelConnection:$,panBy:k,isValidConnection:(...R)=>{var H,O;return((O=(H=g.getState()).isValidConnection)==null?void 0:O.call(H,...R))??!0},onConnect:S,onConnectStart:L,onConnectEnd:(...R)=>{var H,O;return(O=(H=g.getState()).onConnectEnd)==null?void 0:O.call(H,...R)},onReconnectEnd:C,updateConnection:E,getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,dragThreshold:g.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},x=w=>y(w,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),m=w=>y(w,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),b=()=>h(!0),p=()=>h(!1);return P.jsxs(P.Fragment,{children:[(e===!0||e==="source")&&P.jsx(Mo,{position:a,centerX:r,centerY:o,radius:t,onMouseDown:x,onMouseEnter:b,onMouseOut:p,type:"source"}),(e===!0||e==="target")&&P.jsx(Mo,{position:c,centerX:i,centerY:s,radius:t,onMouseDown:m,onMouseEnter:b,onMouseOut:p,type:"target"})]})}function Oh({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:o,onDoubleClick:i,onContextMenu:s,onMouseEnter:a,onMouseMove:c,onMouseLeave:l,reconnectRadius:d,onReconnect:u,onReconnectStart:f,onReconnectEnd:h,rfId:g,edgeTypes:y,noPanClassName:x,onError:m,disableKeyboardA11y:b}){let p=J(U=>U.edgeLookup.get(e));const w=J(U=>U.defaultEdgeOptions);p=w?{...w,...p}:p;let N=p.type||"default",_=(y==null?void 0:y[N])||Eo[N];_===void 0&&(m==null||m("011",xe.error011(N)),N="default",_=(y==null?void 0:y.default)||Eo.default);const M=!!(p.focusable||t&&typeof p.focusable>"u"),T=typeof u<"u"&&(p.reconnectable||n&&typeof p.reconnectable>"u"),z=!!(p.selectable||r&&typeof p.selectable>"u"),B=D.useRef(null),[I,$]=D.useState(!1),[V,v]=D.useState(!1),k=oe(),{zIndex:E,sourceX:A,sourceY:C,targetX:S,targetY:L,sourcePosition:R,targetPosition:H}=J(D.useCallback(U=>{const G=U.nodeLookup.get(p.source),te=U.nodeLookup.get(p.target);if(!G||!te)return{zIndex:p.zIndex,...So};const ne=Df({id:e,sourceNode:G,targetNode:te,sourceHandle:p.sourceHandle||null,targetHandle:p.targetHandle||null,connectionMode:U.connectionMode,onError:m});return{zIndex:Cf({selected:p.selected,zIndex:p.zIndex,sourceNode:G,targetNode:te,elevateOnSelect:U.elevateEdgesOnSelect,zIndexMode:U.zIndexMode}),...ne||So}},[p.source,p.target,p.sourceHandle,p.targetHandle,p.selected,p.zIndex]),re),O=D.useMemo(()=>p.markerStart?`url('#${Gn(p.markerStart,g)}')`:void 0,[p.markerStart,g]),j=D.useMemo(()=>p.markerEnd?`url('#${Gn(p.markerEnd,g)}')`:void 0,[p.markerEnd,g]);if(p.hidden||A===null||C===null||S===null||L===null)return null;const Y=U=>{var ee;const{addSelectedEdges:G,unselectNodesAndEdges:te,multiSelectionActive:ne}=k.getState();z&&(k.setState({nodesSelectionActive:!1}),p.selected&&ne?(te({nodes:[],edges:[p]}),(ee=B.current)==null||ee.blur()):G([e])),o&&o(U,p)},K=i?U=>{i(U,{...p})}:void 0,q=s?U=>{s(U,{...p})}:void 0,F=a?U=>{a(U,{...p})}:void 0,W=c?U=>{c(U,{...p})}:void 0,Q=l?U=>{l(U,{...p})}:void 0,Z=U=>{var G;if(!b&&hi.includes(U.key)&&z){const{unselectNodesAndEdges:te,addSelectedEdges:ne}=k.getState();U.key==="Escape"?((G=B.current)==null||G.blur(),te({edges:[p]})):ne([e])}};return P.jsx("svg",{style:{zIndex:E},children:P.jsxs("g",{className:ie(["react-flow__edge",`react-flow__edge-${N}`,p.className,x,{selected:p.selected,animated:p.animated,inactive:!z&&!o,updating:I,selectable:z}]),onClick:Y,onDoubleClick:K,onContextMenu:q,onMouseEnter:F,onMouseMove:W,onMouseLeave:Q,onKeyDown:M?Z:void 0,tabIndex:M?0:void 0,role:p.ariaRole??(M?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":p.ariaLabel===null?void 0:p.ariaLabel||`Edge from ${p.source} to ${p.target}`,"aria-describedby":M?`${Yi}-${g}`:void 0,ref:B,...p.domAttributes,children:[!V&&P.jsx(_,{id:e,source:p.source,target:p.target,type:p.type,selected:p.selected,animated:p.animated,selectable:z,deletable:p.deletable??!0,label:p.label,labelStyle:p.labelStyle,labelShowBg:p.labelShowBg,labelBgStyle:p.labelBgStyle,labelBgPadding:p.labelBgPadding,labelBgBorderRadius:p.labelBgBorderRadius,sourceX:A,sourceY:C,targetX:S,targetY:L,sourcePosition:R,targetPosition:H,data:p.data,style:p.style,sourceHandleId:p.sourceHandle,targetHandleId:p.targetHandle,markerStart:O,markerEnd:j,pathOptions:"pathOptions"in p?p.pathOptions:void 0,interactionWidth:p.interactionWidth}),T&&P.jsx(Fh,{edge:p,isReconnectable:T,reconnectRadius:d,onReconnect:u,onReconnectStart:f,onReconnectEnd:h,sourceX:A,sourceY:C,targetX:S,targetY:L,sourcePosition:R,targetPosition:H,setUpdateHover:$,setReconnecting:v})]})})}var jh=D.memo(Oh);const Xh=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function ys({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:o,onReconnect:i,onEdgeContextMenu:s,onEdgeMouseEnter:a,onEdgeMouseMove:c,onEdgeMouseLeave:l,onEdgeClick:d,reconnectRadius:u,onEdgeDoubleClick:f,onReconnectStart:h,onReconnectEnd:g,disableKeyboardA11y:y}){const{edgesFocusable:x,edgesReconnectable:m,elementsSelectable:b,onError:p}=J(Xh,re),w=Ih(t);return P.jsxs("div",{className:"react-flow__edges",children:[P.jsx(Th,{defaultColor:e,rfId:n}),w.map(N=>P.jsx(jh,{id:N,edgesFocusable:x,edgesReconnectable:m,elementsSelectable:b,noPanClassName:o,onReconnect:i,onContextMenu:s,onMouseEnter:a,onMouseMove:c,onMouseLeave:l,onClick:d,reconnectRadius:u,onDoubleClick:f,onReconnectStart:h,onReconnectEnd:g,rfId:n,onError:p,edgeTypes:r,disableKeyboardA11y:y},N))]})}ys.displayName="EdgeRenderer";const Yh=D.memo(ys),Wh=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function qh({children:e}){const t=J(Wh);return P.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function Gh(e){const t=dr(),n=D.useRef(!1);D.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Kh=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function Uh(e){const t=J(Kh),n=oe();return D.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function Zh(e){return e.connection.inProgress?{...e.connection,to:Mt(e.connection.to,e.transform)}:{...e.connection}}function Qh(e){return Zh}function Jh(e){const t=Qh();return J(t,re)}const eg=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function tg({containerStyle:e,style:t,type:n,component:r}){const{nodesConnectable:o,width:i,height:s,isValid:a,inProgress:c}=J(eg,re);return!(i&&o&&c)?null:P.jsx("svg",{style:e,width:i,height:s,className:"react-flow__connectionline react-flow__container",children:P.jsx("g",{className:ie(["react-flow__connection",mi(a)]),children:P.jsx(xs,{style:t,type:n,CustomComponent:r,isValid:a})})})}const xs=({style:e,type:t=ke.Bezier,CustomComponent:n,isValid:r})=>{const{inProgress:o,from:i,fromNode:s,fromHandle:a,fromPosition:c,to:l,toNode:d,toHandle:u,toPosition:f,pointer:h}=Jh();if(!o)return;if(n)return P.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:s,fromHandle:a,fromX:i.x,fromY:i.y,toX:l.x,toY:l.y,fromPosition:c,toPosition:f,connectionStatus:mi(r),toNode:d,toHandle:u,pointer:h});let g="";const y={sourceX:i.x,sourceY:i.y,sourcePosition:c,targetX:l.x,targetY:l.y,targetPosition:f};switch(t){case ke.Bezier:[g]=Ii(y);break;case ke.SimpleBezier:[g]=is(y);break;case ke.Step:[g]=qn({...y,borderRadius:0});break;case ke.SmoothStep:[g]=qn(y);break;default:[g]=Ai(y)}return P.jsx("path",{d:g,fill:"none",className:"react-flow__connection-path",style:e})};xs.displayName="ConnectionLine";const ng={};function Co(e=ng){D.useRef(e),oe(),D.useEffect(()=>{},[e])}function rg(){oe(),D.useRef(!1),D.useEffect(()=>{},[])}function ws({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:o,onNodeDoubleClick:i,onEdgeDoubleClick:s,onNodeMouseEnter:a,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:d,onSelectionContextMenu:u,onSelectionStart:f,onSelectionEnd:h,connectionLineType:g,connectionLineStyle:y,connectionLineComponent:x,connectionLineContainerStyle:m,selectionKeyCode:b,selectionOnDrag:p,selectionMode:w,multiSelectionKeyCode:N,panActivationKeyCode:_,zoomActivationKeyCode:M,deleteKeyCode:T,onlyRenderVisibleElements:z,elementsSelectable:B,defaultViewport:I,translateExtent:$,minZoom:V,maxZoom:v,preventScrolling:k,defaultMarkerColor:E,zoomOnScroll:A,zoomOnPinch:C,panOnScroll:S,panOnScrollSpeed:L,panOnScrollMode:R,zoomOnDoubleClick:H,panOnDrag:O,onPaneClick:j,onPaneMouseEnter:Y,onPaneMouseMove:K,onPaneMouseLeave:q,onPaneScroll:F,onPaneContextMenu:W,paneClickDistance:Q,nodeClickDistance:Z,onEdgeContextMenu:U,onEdgeMouseEnter:G,onEdgeMouseMove:te,onEdgeMouseLeave:ne,reconnectRadius:ee,onReconnect:se,onReconnectStart:Me,onReconnectEnd:ve,noDragClassName:$e,noWheelClassName:tt,noPanClassName:nt,disableKeyboardA11y:rt,nodeExtent:yn,rfId:Ct,viewport:Fe,onViewportChange:ot}){return Co(e),Co(t),rg(),Gh(n),Uh(Fe),P.jsx(xh,{onPaneClick:j,onPaneMouseEnter:Y,onPaneMouseMove:K,onPaneMouseLeave:q,onPaneContextMenu:W,onPaneScroll:F,paneClickDistance:Q,deleteKeyCode:T,selectionKeyCode:b,selectionOnDrag:p,selectionMode:w,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:N,panActivationKeyCode:_,zoomActivationKeyCode:M,elementsSelectable:B,zoomOnScroll:A,zoomOnPinch:C,zoomOnDoubleClick:H,panOnScroll:S,panOnScrollSpeed:L,panOnScrollMode:R,panOnDrag:O,defaultViewport:I,translateExtent:$,minZoom:V,maxZoom:v,onSelectionContextMenu:u,preventScrolling:k,noDragClassName:$e,noWheelClassName:tt,noPanClassName:nt,disableKeyboardA11y:rt,onViewportChange:ot,isControlledViewport:!!Fe,children:P.jsxs(qh,{children:[P.jsx(Yh,{edgeTypes:t,onEdgeClick:o,onEdgeDoubleClick:s,onReconnect:se,onReconnectStart:Me,onReconnectEnd:ve,onlyRenderVisibleElements:z,onEdgeContextMenu:U,onEdgeMouseEnter:G,onEdgeMouseMove:te,onEdgeMouseLeave:ne,reconnectRadius:ee,defaultMarkerColor:E,noPanClassName:nt,disableKeyboardA11y:rt,rfId:Ct}),P.jsx(tg,{style:y,type:g,component:x,containerStyle:m}),P.jsx("div",{className:"react-flow__edgelabel-renderer"}),P.jsx(Ch,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:i,onNodeMouseEnter:a,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:d,nodeClickDistance:Z,onlyRenderVisibleElements:z,noPanClassName:nt,noDragClassName:$e,disableKeyboardA11y:rt,nodeExtent:yn,rfId:Ct}),P.jsx("div",{className:"react-flow__viewport-portal"})]})})}ws.displayName="GraphView";const og=D.memo(ws),Io=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:s,fitViewOptions:a,minZoom:c=.5,maxZoom:l=2,nodeOrigin:d,nodeExtent:u,zIndexMode:f="basic"}={})=>{const h=new Map,g=new Map,y=new Map,x=new Map,m=r??t??[],b=n??e??[],p=d??[0,0],w=u??mt;Ti(y,x,m);const N=Kn(b,h,g,{nodeOrigin:p,nodeExtent:w,zIndexMode:f});let _=[0,0,1];if(s&&o&&i){const M=St(h,{filter:I=>!!((I.width||I.initialWidth)&&(I.height||I.initialHeight))}),{x:T,y:z,zoom:B}=ir(M,o,i,c,l,(a==null?void 0:a.padding)??.1);_=[T,z,B]}return{rfId:"1",width:o??0,height:i??0,transform:_,nodes:b,nodesInitialized:N,nodeLookup:h,parentLookup:g,edges:m,edgeLookup:x,connectionLookup:y,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:c,maxZoom:l,translateExtent:mt,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Ue.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:p,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:a,fitViewResolver:null,connection:{...pi},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:bf,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:gi,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},ig=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:s,fitViewOptions:a,minZoom:c,maxZoom:l,nodeOrigin:d,nodeExtent:u,zIndexMode:f})=>Ed((h,g)=>{async function y(){const{nodeLookup:x,panZoom:m,fitViewOptions:b,fitViewResolver:p,width:w,height:N,minZoom:_,maxZoom:M}=g();m&&(await wf({nodes:x,width:w,height:N,panZoom:m,minZoom:_,maxZoom:M},b),p==null||p.resolve(!0),h({fitViewResolver:null}))}return{...Io({nodes:e,edges:t,width:o,height:i,fitView:s,fitViewOptions:a,minZoom:c,maxZoom:l,nodeOrigin:d,nodeExtent:u,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:x=>{const{nodeLookup:m,parentLookup:b,nodeOrigin:p,elevateNodesOnSelect:w,fitViewQueued:N,zIndexMode:_}=g(),M=Kn(x,m,b,{nodeOrigin:p,nodeExtent:u,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:_});N&&M?(y(),h({nodes:x,nodesInitialized:M,fitViewQueued:!1,fitViewOptions:void 0})):h({nodes:x,nodesInitialized:M})},setEdges:x=>{const{connectionLookup:m,edgeLookup:b}=g();Ti(m,b,x),h({edges:x})},setDefaultNodesAndEdges:(x,m)=>{if(x){const{setNodes:b}=g();b(x),h({hasDefaultNodes:!0})}if(m){const{setEdges:b}=g();b(m),h({hasDefaultEdges:!0})}},updateNodeInternals:x=>{const{triggerNodeChanges:m,nodeLookup:b,parentLookup:p,domNode:w,nodeOrigin:N,nodeExtent:_,debug:M,fitViewQueued:T,zIndexMode:z}=g(),{changes:B,updatedInternals:I}=jf(x,b,p,w,N,_,z);I&&(Vf(b,p,{nodeOrigin:N,nodeExtent:_,zIndexMode:z}),T?(y(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),(B==null?void 0:B.length)>0&&(M&&console.log("React Flow: trigger node changes",B),m==null||m(B)))},updateNodePositions:(x,m=!1)=>{const b=[];let p=[];const{nodeLookup:w,triggerNodeChanges:N,connection:_,updateConnection:M,onNodesChangeMiddlewareMap:T}=g();for(const[z,B]of x){const I=w.get(z),$=!!(I!=null&&I.expandParent&&(I!=null&&I.parentId)&&(B!=null&&B.position)),V={id:z,type:"position",position:$?{x:Math.max(0,B.position.x),y:Math.max(0,B.position.y)}:B.position,dragging:m};if(I&&_.inProgress&&_.fromNode.id===I.id){const v=Ve(I,_.fromHandle,X.Left,!0);M({..._,from:v})}$&&I.parentId&&b.push({id:z,parentId:I.parentId,rect:{...B.internals.positionAbsolute,width:B.measured.width??0,height:B.measured.height??0}}),p.push(V)}if(b.length>0){const{parentLookup:z,nodeOrigin:B}=g(),I=fr(b,w,z,B);p.push(...I)}for(const z of T.values())p=z(p);N(p)},triggerNodeChanges:x=>{const{onNodesChange:m,setNodes:b,nodes:p,hasDefaultNodes:w,debug:N}=g();if(x!=null&&x.length){if(w){const _=Gi(x,p);b(_)}N&&console.log("React Flow: trigger node changes",x),m==null||m(x)}},triggerEdgeChanges:x=>{const{onEdgesChange:m,setEdges:b,edges:p,hasDefaultEdges:w,debug:N}=g();if(x!=null&&x.length){if(w){const _=Ki(x,p);b(_)}N&&console.log("React Flow: trigger edge changes",x),m==null||m(x)}},addSelectedNodes:x=>{const{multiSelectionActive:m,edgeLookup:b,nodeLookup:p,triggerNodeChanges:w,triggerEdgeChanges:N}=g();if(m){const _=x.map(M=>Pe(M,!0));w(_);return}w(Xe(p,new Set([...x]),!0)),N(Xe(b))},addSelectedEdges:x=>{const{multiSelectionActive:m,edgeLookup:b,nodeLookup:p,triggerNodeChanges:w,triggerEdgeChanges:N}=g();if(m){const _=x.map(M=>Pe(M,!0));N(_);return}N(Xe(b,new Set([...x]))),w(Xe(p,new Set,!0))},unselectNodesAndEdges:({nodes:x,edges:m}={})=>{const{edges:b,nodes:p,nodeLookup:w,triggerNodeChanges:N,triggerEdgeChanges:_}=g(),M=x||p,T=m||b,z=[];for(const I of M){if(!I.selected)continue;const $=w.get(I.id);$&&($.selected=!1),z.push(Pe(I.id,!1))}const B=[];for(const I of T)I.selected&&B.push(Pe(I.id,!1));N(z),_(B)},setMinZoom:x=>{const{panZoom:m,maxZoom:b}=g();m==null||m.setScaleExtent([x,b]),h({minZoom:x})},setMaxZoom:x=>{const{panZoom:m,minZoom:b}=g();m==null||m.setScaleExtent([b,x]),h({maxZoom:x})},setTranslateExtent:x=>{var m;(m=g().panZoom)==null||m.setTranslateExtent(x),h({translateExtent:x})},resetSelectedElements:()=>{const{edges:x,nodes:m,triggerNodeChanges:b,triggerEdgeChanges:p,elementsSelectable:w}=g();if(!w)return;const N=m.reduce((M,T)=>T.selected?[...M,Pe(T.id,!1)]:M,[]),_=x.reduce((M,T)=>T.selected?[...M,Pe(T.id,!1)]:M,[]);b(N),p(_)},setNodeExtent:x=>{const{nodes:m,nodeLookup:b,parentLookup:p,nodeOrigin:w,elevateNodesOnSelect:N,nodeExtent:_,zIndexMode:M}=g();x[0][0]===_[0][0]&&x[0][1]===_[0][1]&&x[1][0]===_[1][0]&&x[1][1]===_[1][1]||(Kn(m,b,p,{nodeOrigin:w,nodeExtent:x,elevateNodesOnSelect:N,checkEquality:!1,zIndexMode:M}),h({nodeExtent:x}))},panBy:x=>{const{transform:m,width:b,height:p,panZoom:w,translateExtent:N}=g();return Xf({delta:x,panZoom:w,transform:m,translateExtent:N,width:b,height:p})},setCenter:async(x,m,b)=>{const{width:p,height:w,maxZoom:N,panZoom:_}=g();if(!_)return Promise.resolve(!1);const M=typeof(b==null?void 0:b.zoom)<"u"?b.zoom:N;return await _.setViewport({x:p/2-x*M,y:w/2-m*M,zoom:M},{duration:b==null?void 0:b.duration,ease:b==null?void 0:b.ease,interpolate:b==null?void 0:b.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{h({connection:{...pi}})},updateConnection:x=>{h({connection:x})},reset:()=>h({...Io()})}},Object.is);function sg({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:o,initialHeight:i,initialMinZoom:s,initialMaxZoom:a,initialFitViewOptions:c,fitView:l,nodeOrigin:d,nodeExtent:u,zIndexMode:f,children:h}){const[g]=D.useState(()=>ig({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:l,minZoom:s,maxZoom:a,fitViewOptions:c,nodeOrigin:d,nodeExtent:u,zIndexMode:f}));return P.jsx(Sd,{value:g,children:P.jsx(qd,{children:h})})}function ag({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:o,width:i,height:s,fitView:a,fitViewOptions:c,minZoom:l,maxZoom:d,nodeOrigin:u,nodeExtent:f,zIndexMode:h}){return D.useContext(hn)?P.jsx(P.Fragment,{children:e}):P.jsx(sg,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:o,initialWidth:i,initialHeight:s,fitView:a,initialFitViewOptions:c,initialMinZoom:l,initialMaxZoom:d,nodeOrigin:u,nodeExtent:f,zIndexMode:h,children:e})}const cg={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function ug({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:o,nodeTypes:i,edgeTypes:s,onNodeClick:a,onEdgeClick:c,onInit:l,onMove:d,onMoveStart:u,onMoveEnd:f,onConnect:h,onConnectStart:g,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:m,onNodeMouseEnter:b,onNodeMouseMove:p,onNodeMouseLeave:w,onNodeContextMenu:N,onNodeDoubleClick:_,onNodeDragStart:M,onNodeDrag:T,onNodeDragStop:z,onNodesDelete:B,onEdgesDelete:I,onDelete:$,onSelectionChange:V,onSelectionDragStart:v,onSelectionDrag:k,onSelectionDragStop:E,onSelectionContextMenu:A,onSelectionStart:C,onSelectionEnd:S,onBeforeDelete:L,connectionMode:R,connectionLineType:H=ke.Bezier,connectionLineStyle:O,connectionLineComponent:j,connectionLineContainerStyle:Y,deleteKeyCode:K="Backspace",selectionKeyCode:q="Shift",selectionOnDrag:F=!1,selectionMode:W=yt.Full,panActivationKeyCode:Q="Space",multiSelectionKeyCode:Z=wt()?"Meta":"Control",zoomActivationKeyCode:U=wt()?"Meta":"Control",snapToGrid:G,snapGrid:te,onlyRenderVisibleElements:ne=!1,selectNodesOnDrag:ee,nodesDraggable:se,autoPanOnNodeFocus:Me,nodesConnectable:ve,nodesFocusable:$e,nodeOrigin:tt=Wi,edgesFocusable:nt,edgesReconnectable:rt,elementsSelectable:yn=!0,defaultViewport:Ct=Hd,minZoom:Fe=.5,maxZoom:ot=2,translateExtent:gr=mt,preventScrolling:Es=!0,nodeExtent:xn,defaultMarkerColor:Ss="#b1b1b7",zoomOnScroll:Ns=!0,zoomOnPinch:Ms=!0,panOnScroll:Cs=!1,panOnScrollSpeed:Is=.5,panOnScrollMode:ks=De.Free,zoomOnDoubleClick:As=!0,panOnDrag:$s=!0,onPaneClick:Ps,onPaneMouseEnter:Ts,onPaneMouseMove:zs,onPaneMouseLeave:Ds,onPaneScroll:Ls,onPaneContextMenu:Hs,paneClickDistance:Rs=1,nodeClickDistance:Vs=0,children:Bs,onReconnect:Fs,onReconnectStart:Os,onReconnectEnd:js,onEdgeContextMenu:Xs,onEdgeDoubleClick:Ys,onEdgeMouseEnter:Ws,onEdgeMouseMove:qs,onEdgeMouseLeave:Gs,reconnectRadius:Ks=10,onNodesChange:Us,onEdgesChange:Zs,noDragClassName:Qs="nodrag",noWheelClassName:Js="nowheel",noPanClassName:pr="nopan",fitView:mr,fitViewOptions:yr,connectOnClick:ea,attributionPosition:ta,proOptions:na,defaultEdgeOptions:ra,elevateNodesOnSelect:oa=!0,elevateEdgesOnSelect:ia=!1,disableKeyboardA11y:xr=!1,autoPanOnConnect:sa,autoPanOnNodeDrag:aa,autoPanSpeed:ca,connectionRadius:ua,isValidConnection:la,onError:fa,style:da,id:wr,nodeDragThreshold:ha,connectionDragThreshold:ga,viewport:pa,onViewportChange:ma,width:ya,height:xa,colorMode:wa="light",debug:va,onScroll:It,ariaLabelConfig:ba,zIndexMode:vr="basic",..._a},Ea){const wn=wr||"1",Sa=Fd(wa),Na=D.useCallback(br=>{br.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),It==null||It(br)},[It]);return P.jsx("div",{"data-testid":"rf__wrapper",..._a,onScroll:Na,style:{...da,...cg},ref:Ea,className:ie(["react-flow",o,Sa]),id:wr,role:"application",children:P.jsxs(ag,{nodes:e,edges:t,width:ya,height:xa,fitView:mr,fitViewOptions:yr,minZoom:Fe,maxZoom:ot,nodeOrigin:tt,nodeExtent:xn,zIndexMode:vr,children:[P.jsx(og,{onInit:l,onNodeClick:a,onEdgeClick:c,onNodeMouseEnter:b,onNodeMouseMove:p,onNodeMouseLeave:w,onNodeContextMenu:N,onNodeDoubleClick:_,nodeTypes:i,edgeTypes:s,connectionLineType:H,connectionLineStyle:O,connectionLineComponent:j,connectionLineContainerStyle:Y,selectionKeyCode:q,selectionOnDrag:F,selectionMode:W,deleteKeyCode:K,multiSelectionKeyCode:Z,panActivationKeyCode:Q,zoomActivationKeyCode:U,onlyRenderVisibleElements:ne,defaultViewport:Ct,translateExtent:gr,minZoom:Fe,maxZoom:ot,preventScrolling:Es,zoomOnScroll:Ns,zoomOnPinch:Ms,zoomOnDoubleClick:As,panOnScroll:Cs,panOnScrollSpeed:Is,panOnScrollMode:ks,panOnDrag:$s,onPaneClick:Ps,onPaneMouseEnter:Ts,onPaneMouseMove:zs,onPaneMouseLeave:Ds,onPaneScroll:Ls,onPaneContextMenu:Hs,paneClickDistance:Rs,nodeClickDistance:Vs,onSelectionContextMenu:A,onSelectionStart:C,onSelectionEnd:S,onReconnect:Fs,onReconnectStart:Os,onReconnectEnd:js,onEdgeContextMenu:Xs,onEdgeDoubleClick:Ys,onEdgeMouseEnter:Ws,onEdgeMouseMove:qs,onEdgeMouseLeave:Gs,reconnectRadius:Ks,defaultMarkerColor:Ss,noDragClassName:Qs,noWheelClassName:Js,noPanClassName:pr,rfId:wn,disableKeyboardA11y:xr,nodeExtent:xn,viewport:pa,onViewportChange:ma}),P.jsx(Bd,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:g,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:m,nodesDraggable:se,autoPanOnNodeFocus:Me,nodesConnectable:ve,nodesFocusable:$e,edgesFocusable:nt,edgesReconnectable:rt,elementsSelectable:yn,elevateNodesOnSelect:oa,elevateEdgesOnSelect:ia,minZoom:Fe,maxZoom:ot,nodeExtent:xn,onNodesChange:Us,onEdgesChange:Zs,snapToGrid:G,snapGrid:te,connectionMode:R,translateExtent:gr,connectOnClick:ea,defaultEdgeOptions:ra,fitView:mr,fitViewOptions:yr,onNodesDelete:B,onEdgesDelete:I,onDelete:$,onNodeDragStart:M,onNodeDrag:T,onNodeDragStop:z,onSelectionDrag:k,onSelectionDragStart:v,onSelectionDragStop:E,onMove:d,onMoveStart:u,onMoveEnd:f,noPanClassName:pr,nodeOrigin:tt,rfId:wn,autoPanOnConnect:sa,autoPanOnNodeDrag:aa,autoPanSpeed:ca,onError:fa,connectionRadius:ua,isValidConnection:la,selectNodesOnDrag:ee,nodeDragThreshold:ha,connectionDragThreshold:ga,onBeforeDelete:L,debug:va,ariaLabelConfig:ba,zIndexMode:vr}),P.jsx(Ld,{onSelectionChange:V}),Bs,P.jsx($d,{proOptions:na,position:ta}),P.jsx(Ad,{rfId:wn,disableKeyboardA11y:xr})]})})}var Rg=Ui(ug);function Vg(e){const[t,n]=D.useState(e),r=D.useCallback(o=>n(i=>Gi(o,i)),[]);return[t,n,r]}function Bg(e){const[t,n]=D.useState(e),r=D.useCallback(o=>n(i=>Ki(o,i)),[]);return[t,n,r]}function lg({dimensions:e,lineWidth:t,variant:n,className:r}){return P.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:ie(["react-flow__background-pattern",n,r])})}function fg({radius:e,className:t}){return P.jsx("circle",{cx:e,cy:e,r:e,className:ie(["react-flow__background-pattern","dots",t])})}var Ae;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ae||(Ae={}));const dg={[Ae.Dots]:1,[Ae.Lines]:1,[Ae.Cross]:6},hg=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function vs({id:e,variant:t=Ae.Dots,gap:n=20,size:r,lineWidth:o=1,offset:i=0,color:s,bgColor:a,style:c,className:l,patternClassName:d}){const u=D.useRef(null),{transform:f,patternId:h}=J(hg,re),g=r||dg[t],y=t===Ae.Dots,x=t===Ae.Cross,m=Array.isArray(n)?n:[n,n],b=[m[0]*f[2]||1,m[1]*f[2]||1],p=g*f[2],w=Array.isArray(i)?i:[i,i],N=x?[p,p]:b,_=[w[0]*f[2]||1+N[0]/2,w[1]*f[2]||1+N[1]/2],M=`${h}${e||""}`;return P.jsxs("svg",{className:ie(["react-flow__background",l]),style:{...c,...pn,"--xy-background-color-props":a,"--xy-background-pattern-color-props":s},ref:u,"data-testid":"rf__background",children:[P.jsx("pattern",{id:M,x:f[0]%b[0],y:f[1]%b[1],width:b[0],height:b[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${_[0]},-${_[1]})`,children:y?P.jsx(fg,{radius:p/2,className:d}):P.jsx(lg,{dimensions:N,lineWidth:o,variant:t,className:d})}),P.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${M})`})]})}vs.displayName="Background";const Fg=D.memo(vs);function gg(){return P.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:P.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function pg(){return P.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:P.jsx("path",{d:"M0 0h32v4.2H0z"})})}function mg(){return P.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:P.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function yg(){return P.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:P.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function xg(){return P.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:P.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ht({children:e,className:t,...n}){return P.jsx("button",{type:"button",className:ie(["react-flow__controls-button",t]),...n,children:e})}const wg=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function bs({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:o,onZoomIn:i,onZoomOut:s,onFitView:a,onInteractiveChange:c,className:l,children:d,position:u="bottom-left",orientation:f="vertical","aria-label":h}){const g=oe(),{isInteractive:y,minZoomReached:x,maxZoomReached:m,ariaLabelConfig:b}=J(wg,re),{zoomIn:p,zoomOut:w,fitView:N}=dr(),_=()=>{p(),i==null||i()},M=()=>{w(),s==null||s()},T=()=>{N(o),a==null||a()},z=()=>{g.setState({nodesDraggable:!y,nodesConnectable:!y,elementsSelectable:!y}),c==null||c(!y)},B=f==="horizontal"?"horizontal":"vertical";return P.jsxs(gn,{className:ie(["react-flow__controls",B,l]),position:u,style:e,"data-testid":"rf__controls","aria-label":h??b["controls.ariaLabel"],children:[t&&P.jsxs(P.Fragment,{children:[P.jsx(Ht,{onClick:_,className:"react-flow__controls-zoomin",title:b["controls.zoomIn.ariaLabel"],"aria-label":b["controls.zoomIn.ariaLabel"],disabled:m,children:P.jsx(gg,{})}),P.jsx(Ht,{onClick:M,className:"react-flow__controls-zoomout",title:b["controls.zoomOut.ariaLabel"],"aria-label":b["controls.zoomOut.ariaLabel"],disabled:x,children:P.jsx(pg,{})})]}),n&&P.jsx(Ht,{className:"react-flow__controls-fitview",onClick:T,title:b["controls.fitView.ariaLabel"],"aria-label":b["controls.fitView.ariaLabel"],children:P.jsx(mg,{})}),r&&P.jsx(Ht,{className:"react-flow__controls-interactive",onClick:z,title:b["controls.interactive.ariaLabel"],"aria-label":b["controls.interactive.ariaLabel"],children:y?P.jsx(xg,{}):P.jsx(yg,{})}),d]})}bs.displayName="Controls";const Og=D.memo(bs);function vg({id:e,x:t,y:n,width:r,height:o,style:i,color:s,strokeColor:a,strokeWidth:c,className:l,borderRadius:d,shapeRendering:u,selected:f,onClick:h}){const{background:g,backgroundColor:y}=i||{},x=s||g||y;return P.jsx("rect",{className:ie(["react-flow__minimap-node",{selected:f},l]),x:t,y:n,rx:d,ry:d,width:r,height:o,style:{fill:x,stroke:a,strokeWidth:c},shapeRendering:u,onClick:h?m=>h(m,e):void 0})}const bg=D.memo(vg),_g=e=>e.nodes.map(t=>t.id),Ln=e=>e instanceof Function?e:()=>e;function Eg({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o,nodeComponent:i=bg,onClick:s}){const a=J(_g,re),c=Ln(t),l=Ln(e),d=Ln(n),u=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return P.jsx(P.Fragment,{children:a.map(f=>P.jsx(Ng,{id:f,nodeColorFunc:c,nodeStrokeColorFunc:l,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:o,NodeComponent:i,onClick:s,shapeRendering:u},f))})}function Sg({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:o,nodeStrokeWidth:i,shapeRendering:s,NodeComponent:a,onClick:c}){const{node:l,x:d,y:u,width:f,height:h}=J(g=>{const y=g.nodeLookup.get(e);if(!y)return{node:void 0,x:0,y:0,width:0,height:0};const x=y.internals.userNode,{x:m,y:b}=y.internals.positionAbsolute,{width:p,height:w}=Ne(x);return{node:x,x:m,y:b,width:p,height:w}},re);return!l||l.hidden||!_i(l)?null:P.jsx(a,{x:d,y:u,width:f,height:h,style:l.style,selected:!!l.selected,className:r(l),color:t(l),borderRadius:o,strokeColor:n(l),strokeWidth:i,shapeRendering:s,onClick:c,id:l.id})}const Ng=D.memo(Sg);var Mg=D.memo(Eg);const Cg=200,Ig=150,kg=e=>!e.hidden,Ag=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?bi(St(e.nodeLookup,{filter:kg}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},$g="react-flow__minimap-desc";function _s({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:o="",nodeBorderRadius:i=5,nodeStrokeWidth:s,nodeComponent:a,bgColor:c,maskColor:l,maskStrokeColor:d,maskStrokeWidth:u,position:f="bottom-right",onClick:h,onNodeClick:g,pannable:y=!1,zoomable:x=!1,ariaLabel:m,inversePan:b,zoomStep:p=1,offsetScale:w=5}){const N=oe(),_=D.useRef(null),{boundingRect:M,viewBB:T,rfId:z,panZoom:B,translateExtent:I,flowWidth:$,flowHeight:V,ariaLabelConfig:v}=J(Ag,re),k=(e==null?void 0:e.width)??Cg,E=(e==null?void 0:e.height)??Ig,A=M.width/k,C=M.height/E,S=Math.max(A,C),L=S*k,R=S*E,H=w*S,O=M.x-(L-M.width)/2-H,j=M.y-(R-M.height)/2-H,Y=L+H*2,K=R+H*2,q=`${$g}-${z}`,F=D.useRef(0),W=D.useRef();F.current=S,D.useEffect(()=>{if(_.current&&B)return W.current=Jf({domNode:_.current,panZoom:B,getTransform:()=>N.getState().transform,getViewScale:()=>F.current}),()=>{var G;(G=W.current)==null||G.destroy()}},[B]),D.useEffect(()=>{var G;(G=W.current)==null||G.update({translateExtent:I,width:$,height:V,inversePan:b,pannable:y,zoomStep:p,zoomable:x})},[y,x,b,p,I,$,V]);const Q=h?G=>{var ee;const[te,ne]=((ee=W.current)==null?void 0:ee.pointer(G))||[0,0];h(G,{x:te,y:ne})}:void 0,Z=g?D.useCallback((G,te)=>{const ne=N.getState().nodeLookup.get(te).internals.userNode;g(G,ne)},[]):void 0,U=m??v["minimap.ariaLabel"];return P.jsx(gn,{position:f,style:{...e,"--xy-minimap-background-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof u=="number"?u*S:void 0,"--xy-minimap-node-background-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:ie(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:P.jsxs("svg",{width:k,height:E,viewBox:`${O} ${j} ${Y} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":q,ref:_,onClick:Q,children:[U&&P.jsx("title",{id:q,children:U}),P.jsx(Mg,{onClick:Z,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:o,nodeStrokeWidth:s,nodeComponent:a}),P.jsx("path",{className:"react-flow__minimap-mask",d:`M${O-H},${j-H}h${Y+H*2}v${K+H*2}h${-Y-H*2}z
23
- M${T.x},${T.y}h${T.width}v${T.height}h${-T.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}_s.displayName="MiniMap";const jg=D.memo(_s),Pg=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Tg={[et.Line]:"right",[et.Handle]:"bottom-right"};function zg({nodeId:e,position:t,variant:n=et.Handle,className:r,style:o=void 0,children:i,color:s,minWidth:a=10,minHeight:c=10,maxWidth:l=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:u=!1,resizeDirection:f,autoScale:h=!0,shouldResize:g,onResizeStart:y,onResize:x,onResizeEnd:m}){const b=es(),p=typeof e=="string"?e:b,w=oe(),N=D.useRef(null),_=n===et.Handle,M=J(D.useCallback(Pg(_&&h),[_,h]),re),T=D.useRef(null),z=t??Tg[n];D.useEffect(()=>{if(!(!N.current||!p))return T.current||(T.current=hd({domNode:N.current,nodeId:p,getStoreItems:()=>{const{nodeLookup:I,transform:$,snapGrid:V,snapToGrid:v,nodeOrigin:k,domNode:E}=w.getState();return{nodeLookup:I,transform:$,snapGrid:V,snapToGrid:v,nodeOrigin:k,paneDomNode:E}},onChange:(I,$)=>{const{triggerNodeChanges:V,nodeLookup:v,parentLookup:k,nodeOrigin:E}=w.getState(),A=[],C={x:I.x,y:I.y},S=v.get(p);if(S&&S.expandParent&&S.parentId){const L=S.origin??E,R=I.width??S.measured.width??0,H=I.height??S.measured.height??0,O={id:S.id,parentId:S.parentId,rect:{width:R,height:H,...Ei({x:I.x??S.position.x,y:I.y??S.position.y},{width:R,height:H},S.parentId,v,L)}},j=fr([O],v,k,E);A.push(...j),C.x=I.x?Math.max(L[0]*R,I.x):void 0,C.y=I.y?Math.max(L[1]*H,I.y):void 0}if(C.x!==void 0&&C.y!==void 0){const L={id:p,type:"position",position:{...C}};A.push(L)}if(I.width!==void 0&&I.height!==void 0){const R={id:p,type:"dimensions",resizing:!0,setAttributes:f?f==="horizontal"?"width":"height":!0,dimensions:{width:I.width,height:I.height}};A.push(R)}for(const L of $){const R={...L,type:"position"};A.push(R)}V(A)},onEnd:({width:I,height:$})=>{const V={id:p,type:"dimensions",resizing:!1,dimensions:{width:I,height:$}};w.getState().triggerNodeChanges([V])}})),T.current.update({controlPosition:z,boundaries:{minWidth:a,minHeight:c,maxWidth:l,maxHeight:d},keepAspectRatio:u,resizeDirection:f,onResizeStart:y,onResize:x,onResizeEnd:m,shouldResize:g}),()=>{var I;(I=T.current)==null||I.destroy()}},[z,a,c,l,d,u,y,x,m,g]);const B=z.split("-");return P.jsx("div",{className:ie(["react-flow__resize-control","nodrag",...B,n,r]),ref:N,style:{...o,scale:M,...s&&{[_?"backgroundColor":"borderColor"]:s}},children:i})}D.memo(zg);export{Fg as B,Og as C,en as H,jg as M,X as P,sg as R,lt as a,Lg as b,Hg as c,Vg as d,Bg as e,$f as f,Rg as g,Ae as h,pe as i,ka as r,ce as s,dr as u};