sample-ui-component-library 0.0.55-dev → 0.0.56-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -38,5 +38,5 @@ object-assign
38
38
  *
39
39
  * This source code is licensed under the MIT license found in the
40
40
  * LICENSE file in the root directory of this source tree.
41
- */var da=(ca||(ca=1,"production"===process.env.NODE_ENV?Ji.exports=function(){if(ia)return ea;ia=1;var e=t,n=sa(),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=n.useSyncExternalStore,i=e.useRef,a=e.useEffect,s=e.useMemo,l=e.useDebugValue;return ea.useSyncExternalStoreWithSelector=function(e,t,n,c,u){var d=i(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!a){if(a=!0,r=e,e=c(e),void 0!==u&&f.hasValue){var t=f.value;if(u(t,e))return i=t}return i=e}if(t=i,o(r,e))return t;var n=c(e);return void 0!==u&&u(t,n)?(r=e,t):(r=e,i=n)}var r,i,a=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]},[t,n,c,u]);var h=r(e,d[0],d[1]);return a(function(){f.hasValue=!0,f.value=h},[h]),l(h),h},ea}():Ji.exports=(la||(la=1,"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var e=t,n=sa(),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=n.useSyncExternalStore,i=e.useRef,a=e.useEffect,s=e.useMemo,l=e.useDebugValue;ua.useSyncExternalStoreWithSelector=function(e,t,n,c,u){var d=i(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!a){if(a=!0,r=e,e=c(e),void 0!==u&&f.hasValue){var t=f.value;if(u(t,e))return i=t}return i=e}if(t=i,o(r,e))return t;var n=c(e);return void 0!==u&&u(t,n)?(r=e,t):(r=e,i=n)}var r,i,a=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]},[t,n,c,u]);var h=r(e,d[0],d[1]);return a(function(){f.hasValue=!0,f.value=h},[h]),l(h),h},"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ua)),Ji.exports),fa=i(da);const ha=e=>{let t;const n=new Set,o=(e,o)=>{const r="function"==typeof e?e(t):e;if(!Object.is(r,t)){const e=t;t=(null!=o?o:"object"!=typeof r||null===r)?r:Object.assign({},t,r),n.forEach(n=>n(t,e))}},r=()=>t,i={setState:o,getState:r,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{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()}},a=t=e(o,r,i);return i},{useDebugValue:pa}=t,{useSyncExternalStoreWithSelector:ga}=fa,ma=e=>e;function ya(e,t=ma,n){const o=ga(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return pa(o),o}const va=(e,t)=>{const n=(e=>e?ha(e):ha)(e),o=(e,o=t)=>ya(n,e,o);return Object.assign(o,n),o};function ba(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,o]of e)if(!Object.is(o,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}const wa=t.createContext(null),xa=wa.Provider,_a=Vo();function Ea(e,n){const o=t.useContext(wa);if(null===o)throw new Error(_a);return ya(o,e,n)}function ka(){const e=t.useContext(wa);if(null===e)throw new Error(_a);return t.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Sa={display:"none"},Oa={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ca="react-flow__node-desc",Na="react-flow__edge-desc",Ma=e=>e.ariaLiveMessage,Pa=e=>e.ariaLabelConfig;function ja({rfId:t}){const n=Ea(Ma);return e.jsx("div",{id:`react-flow__aria-live-${t}`,"aria-live":"assertive","aria-atomic":"true",style:Oa,children:n})}function Ia({rfId:t,disableKeyboardA11y:n}){const o=Ea(Pa);return e.jsxs(e.Fragment,{children:[e.jsx("div",{id:`${Ca}-${t}`,style:Sa,children:n?o["node.a11yDescription.default"]:o["node.a11yDescription.keyboardDisabled"]}),e.jsx("div",{id:`${Na}-${t}`,style:Sa,children:o["edge.a11yDescription.default"]}),!n&&e.jsx(ja,{rfId:t})]})}const Ta=t.forwardRef(({position:t="top-left",children:n,className:o,style:r,...i},a)=>{const s=`${t}`.split("-");return e.jsx("div",{className:X(["react-flow__panel",o,...s]),style:r,ref:a,...i,children:n})});function za({proOptions:t,position:n="bottom-right"}){return t?.hideAttribution?null:e.jsx(Ta,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:e.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}Ta.displayName="Panel";const Ra=e=>{const t=[],n=[];for(const[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(const[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},Da=e=>e.id;function Aa(e,t){return ba(e.selectedNodes.map(Da),t.selectedNodes.map(Da))&&ba(e.selectedEdges.map(Da),t.selectedEdges.map(Da))}function La({onSelectionChange:e}){const n=ka(),{selectedNodes:o,selectedEdges:r}=Ea(Ra,Aa);return t.useEffect(()=>{const t={nodes:o,edges:r};e?.(t),n.getState().onSelectionChangeHandlers.forEach(e=>e(t))},[o,r,e]),null}const Va=e=>!!e.onSelectionChangeHandlers;function Ba({onSelectionChange:t}){const n=Ea(Va);return t||n?e.jsx(La,{onSelectionChange:t}):null}const $a=[0,0],Ha={x:0,y:0,zoom:1},Fa=["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","paneClickDistance","ariaLabelConfig","rfId"],Ya=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,setPaneClickDistance:e.setPaneClickDistance}),Za={translateExtent:Qo,nodeOrigin:$a,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1",paneClickDistance:0};function qa(e){const{setNodes:n,setEdges:o,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:s,reset:l,setDefaultNodesAndEdges:c,setPaneClickDistance:u}=Ea(Ya,ba),d=ka();t.useEffect(()=>(c(e.defaultNodes,e.defaultEdges),()=>{f.current=Za,l()}),[]);const f=t.useRef(Za);return t.useEffect(()=>{for(const t of Fa){const l=e[t];l!==f.current[t]&&(void 0!==e[t]&&("nodes"===t?n(l):"edges"===t?o(l):"minZoom"===t?r(l):"maxZoom"===t?i(l):"translateExtent"===t?a(l):"nodeExtent"===t?s(l):"paneClickDistance"===t?u(l):"ariaLabelConfig"===t?d.setState({ariaLabelConfig:Yr(l)}):"fitView"===t?d.setState({fitViewQueued:l}):"fitViewOptions"===t?d.setState({fitViewOptions:l}):d.setState({[t]:l})))}f.current=e},Fa.map(t=>e[t])),null}function Xa(){return"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null}const Ga="undefined"!=typeof document?document:null;function Wa(e=null,n={target:Ga,actInsideInputWithModifier:!0}){const[o,r]=t.useState(!1),i=t.useRef(!1),a=t.useRef(new Set([])),[s,l]=t.useMemo(()=>{if(null!==e){const t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return t.useEffect(()=>{const t=n?.target??Ga,o=n?.actInsideInputWithModifier??!0;if(null!==e){const e=e=>{i.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey;if((!i.current||i.current&&!o)&&Wr(e))return!1;const t=Ua(e.code,l);if(a.current.add(e[t]),Ka(s,a.current,!1)){const t=e.composedPath?.()?.[0]||e.target,o="BUTTON"===t?.nodeName||"A"===t?.nodeName;!1===n.preventDefault||!i.current&&o||e.preventDefault(),r(!0)}},c=e=>{const t=Ua(e.code,l);Ka(s,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[t]),"Meta"===e.key&&a.current.clear(),i.current=!1},u=()=>{a.current.clear(),r(!1)};return t?.addEventListener("keydown",e),t?.addEventListener("keyup",c),window.addEventListener("blur",u),window.addEventListener("contextmenu",u),()=>{t?.removeEventListener("keydown",e),t?.removeEventListener("keyup",c),window.removeEventListener("blur",u),window.removeEventListener("contextmenu",u)}}},[e,r]),o}function Ka(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function Ua(e,t){return t.includes(e)?"code":"key"}function Qa(e,t){const n=[],o=new Map,r=[];for(const t of e)if("add"!==t.type)if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{const e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}else r.push(t);for(const e of t){const t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}const r={...e};for(const e of t)Ja(e,r);n.push(r)}return r.length&&r.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function Ja(e,t){switch(e.type){case"select":t.selected=e.selected;break;case"position":void 0!==e.position&&(t.position=e.position),void 0!==e.dragging&&(t.dragging=e.dragging);break;case"dimensions":void 0!==e.dimensions&&(t.measured??={},t.measured.width=e.dimensions.width,t.measured.height=e.dimensions.height,e.setAttributes&&(!0!==e.setAttributes&&"width"!==e.setAttributes||(t.width=e.dimensions.width),!0!==e.setAttributes&&"height"!==e.setAttributes||(t.height=e.dimensions.height))),"boolean"==typeof e.resizing&&(t.resizing=e.resizing)}}function es(e,t){return Qa(e,t)}function ts(e,t){return Qa(e,t)}function ns(e,t){return{id:e,type:"select",selected:t}}function os(e,t=new Set,n=!1){const o=[];for(const[r,i]of e){const e=t.has(r);void 0===i.selected&&!e||i.selected===e||(n&&(i.selected=e),o.push(ns(i.id,e)))}return o}function rs({items:e=[],lookup:t}){const n=[],o=new Map(e.map(e=>[e.id,e]));for(const[o,r]of e.entries()){const e=t.get(r.id),i=e?.internals?.userNode??e;void 0!==i&&i!==r&&n.push({id:r.id,item:r,type:"replace"}),void 0===i&&n.push({item:r,type:"add",index:o})}for(const[e]of t){void 0===o.get(e)&&n.push({id:e,type:"remove"})}return n}function is(e){return{id:e.id,type:"remove"}}const as=e=>(e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e))(e);function ss(e){return t.forwardRef(e)}const ls="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;function cs(e){const[n,o]=t.useState(BigInt(0)),[r]=t.useState(()=>function(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}(()=>o(e=>e+BigInt(1))));return ls(()=>{const t=r.get();t.length&&(e(t),r.reset())},[n]),r}const us=t.createContext(null);function ds({children:n}){const o=ka(),r=cs(t.useCallback(e=>{const{nodes:t=[],setNodes:n,hasDefaultNodes:r,onNodesChange:i,nodeLookup:a,fitViewQueued:s}=o.getState();let l=t;for(const t of e)l="function"==typeof t?t(l):t;const c=rs({items:l,lookup:a});r&&n(l),c.length>0?i?.(c):s&&window.requestAnimationFrame(()=>{const{fitViewQueued:e,nodes:t,setNodes:n}=o.getState();e&&n(t)})},[])),i=cs(t.useCallback(e=>{const{edges:t=[],setEdges:n,hasDefaultEdges:r,onEdgesChange:i,edgeLookup:a}=o.getState();let s=t;for(const t of e)s="function"==typeof t?t(s):t;r?n(s):i&&i(rs({items:s,lookup:a}))},[])),a=t.useMemo(()=>({nodeQueue:r,edgeQueue:i}),[]);return e.jsx(us.Provider,{value:a,children:n})}const fs=e=>!!e.panZoom;function hs(){const e=(()=>{const e=ka();return t.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:n?.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[o,r,i],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{const{width:o,height:r,minZoom:i,maxZoom:a,panZoom:s}=e.getState(),l=Ar(t,o,r,i,a,n?.padding??.1);return s?(await s.setViewport(l,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:o,snapGrid:r,snapToGrid:i,domNode:a}=e.getState();if(!a)return t;const{x:s,y:l}=a.getBoundingClientRect(),c={x:t.x-s,y:t.y-l},u=n.snapGrid??r,d=n.snapToGrid??i;return zr(c,o,d,u)},flowToScreenPosition:t=>{const{transform:n,domNode:o}=e.getState();if(!o)return t;const{x:r,y:i}=o.getBoundingClientRect(),a=Rr(t,n);return{x:a.x+r,y:a.y+i}}}),[])})(),n=ka(),o=function(){const e=t.useContext(us);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}(),r=Ea(fs),i=t.useMemo(()=>{const e=e=>n.getState().nodeLookup.get(e),t=e=>{o.nodeQueue.push(e)},r=e=>{o.edgeQueue.push(e)},i=e=>{const{nodeLookup:t,nodeOrigin:o}=n.getState(),r=as(e)?e:t.get(e.id),i=r.parentId?Hr(r.position,r.measured,r.parentId,t,o):r.position,a={...r,position:i,width:r.measured?.width??r.width,height:r.measured?.height??r.height};return Or(a)},a=(e,n,o={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){const e="function"==typeof n?n(t):n;return o.replace&&as(e)?e:{...t,...e}}return t}))},s=(e,t,n={replace:!1})=>{r(o=>o.map(o=>{if(o.id===e){const e="function"==typeof t?t(o):t;return n.replace&&ur(e)?e:{...o,...e}}return o}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{const{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:r,addNodes:e=>{const t=Array.isArray(e)?e:[e];o.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{const t=Array.isArray(e)?e:[e];o.edgeQueue.push(e=>[...e,...t])},toObject:()=>{const{nodes:e=[],edges:t=[],transform:o}=n.getState(),[r,i,a]=o;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:r,y:i,zoom:a}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{const{nodes:o,edges:r,onNodesDelete:i,onEdgesDelete:a,triggerNodeChanges:s,triggerEdgeChanges:l,onDelete:c,onBeforeDelete:u}=n.getState(),{nodes:d,edges:f}=await yr({nodesToRemove:e,edgesToRemove:t,nodes:o,edges:r,onBeforeDelete:u}),h=f.length>0,p=d.length>0;if(h){const e=f.map(is);a?.(f),l(e)}if(p){const e=d.map(is);i?.(d),s(e)}return(p||h)&&c?.({nodes:d,edges:f}),{deletedNodes:d,deletedEdges:f}},getIntersectingNodes:(e,t=!0,o)=>{const r=Pr(e),a=r?e:i(e),s=void 0!==o;return a?(o||n.getState().nodes).filter(o=>{const i=n.getState().nodeLookup.get(o.id);if(i&&!r&&(o.id===e.id||!i.internals.positionAbsolute))return!1;const l=Or(s?o:i),c=Mr(l,a);return t&&c>0||c>=l.width*l.height||c>=a.width*a.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{const o=Pr(e)?e:i(e);if(!o)return!1;const r=Mr(o,t);return n&&r>0||r>=o.width*o.height},updateNode:a,updateNodeData:(e,t,n={replace:!1})=>{a(e,e=>{const o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{const o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{const{nodeLookup:t,nodeOrigin:o}=n.getState();return((e,t={nodeOrigin:[0,0]})=>{if("development"!==process.env.NODE_ENV||t.nodeLookup||console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),0===e.length)return{x:0,y:0,width:0,height:0};const n=e.reduce((e,n)=>{const o="string"==typeof n;let r=t.nodeLookup||o?void 0:n;t.nodeLookup&&(r=o?t.nodeLookup.get(n):dr(n)?n:t.nodeLookup.get(n.id));const i=r?Cr(r,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Er(e,i)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Sr(n)})(e,{nodeLookup:t,nodeOrigin:o})},getHandleConnections:({type:e,id:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{const t=n.getState().fitViewResolver??function(){let e,t;return{promise:new Promise((n,o)=>{e=n,t=o}),resolve:e,reject:t}}();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),o.nodeQueue.push(e=>[...e]),t.promise}}},[]);return t.useMemo(()=>({...i,...e,viewportInitialized:r}),[r])}const ps=e=>e.selected,gs="undefined"!=typeof window?window:void 0;const ms={position:"absolute",width:"100%",height:"100%",top:0,left:0},ys=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib});function vs({onPaneContextMenu:n,zoomOnScroll:o=!0,zoomOnPinch:r=!0,panOnScroll:i=!1,panOnScrollSpeed:a=.5,panOnScrollMode:s=nr.Free,zoomOnDoubleClick:l=!0,panOnDrag:c=!0,defaultViewport:u,translateExtent:d,minZoom:f,maxZoom:h,zoomActivationKeyCode:p,preventScrolling:g=!0,children:m,noWheelClassName:y,noPanClassName:v,onViewportChange:b,isControlledViewport:w,paneClickDistance:x}){const _=ka(),E=t.useRef(null),{userSelectionActive:k,lib:S}=Ea(ys,ba),O=Wa(p),C=t.useRef();!function(e){const n=ka();t.useEffect(()=>{const t=()=>{if(!e.current)return!1;const t=qr(e.current);0!==t.height&&0!==t.width||n.getState().onError?.("004",Ho()),n.setState({width:t.width||500,height:t.height||500})};if(e.current){t(),window.addEventListener("resize",t);const n=new ResizeObserver(()=>t());return n.observe(e.current),()=>{window.removeEventListener("resize",t),n&&e.current&&n.unobserve(e.current)}}},[])}(E);const N=t.useCallback(e=>{b?.({x:e[0],y:e[1],zoom:e[2]}),w||_.setState({transform:e})},[b,w]);return t.useEffect(()=>{if(E.current){C.current=Hi({domNode:E.current,minZoom:f,maxZoom:h,translateExtent:d,viewport:u,paneClickDistance:x,onDraggingChange:e=>_.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{const{onViewportChangeStart:n,onMoveStart:o}=_.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{const{onViewportChange:n,onMove:o}=_.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{const{onViewportChangeEnd:n,onMoveEnd:o}=_.getState();o?.(e,t),n?.(t)}});const{x:e,y:t,zoom:n}=C.current.getViewport();return _.setState({panZoom:C.current,transform:[e,t,n],domNode:E.current.closest(".react-flow")}),()=>{C.current?.destroy()}}},[]),t.useEffect(()=>{C.current?.update({onPaneContextMenu:n,zoomOnScroll:o,zoomOnPinch:r,panOnScroll:i,panOnScrollSpeed:a,panOnScrollMode:s,zoomOnDoubleClick:l,panOnDrag:c,zoomActivationKeyPressed:O,preventScrolling:g,noPanClassName:v,userSelectionActive:k,noWheelClassName:y,lib:S,onTransformChange:N})},[n,o,r,i,a,s,l,c,O,g,v,k,y,S,N]),e.jsx("div",{className:"react-flow__renderer",ref:E,style:ms,children:m})}const bs=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function ws(){const{userSelectionActive:t,userSelectionRect:n}=Ea(bs,ba);return t&&n?e.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const xs=(e,t)=>n=>{n.target===t.current&&e?.(n)},_s=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function Es({isSelecting:n,selectionKeyPressed:o,selectionMode:r=or.Full,panOnDrag:i,selectionOnDrag:a,onSelectionStart:s,onSelectionEnd:l,onPaneClick:c,onPaneContextMenu:u,onPaneScroll:d,onPaneMouseEnter:f,onPaneMouseMove:h,onPaneMouseLeave:p,children:g}){const m=ka(),{userSelectionActive:y,elementsSelectable:v,dragging:b,connectionInProgress:w}=Ea(_s,ba),x=v&&(n||y),_=t.useRef(null),E=t.useRef(),k=t.useRef(new Set),S=t.useRef(new Set),O=t.useRef(!1),C=t.useRef(!1),N=e=>{O.current||w?O.current=!1:(c?.(e),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1}))},M=d?e=>d(e):void 0,P=!0===i||Array.isArray(i)&&i.includes(0);return e.jsxs("div",{className:X(["react-flow__pane",{draggable:P,dragging:b,selection:n}]),onClick:x?void 0:xs(N,_),onContextMenu:xs(e=>{Array.isArray(i)&&i?.includes(2)?e.preventDefault():u?.(e)},_),onWheel:xs(M,_),onPointerEnter:x?void 0:f,onPointerDown:x?e=>{const{resetSelectedElements:t,domNode:o}=m.getState();if(E.current=o?.getBoundingClientRect(),!v||!n||0!==e.button||e.target!==_.current||!E.current)return;e.target?.setPointerCapture?.(e.pointerId),C.current=!0,O.current=!1;const{x:r,y:i}=Ur(e.nativeEvent,E.current);t(),m.setState({userSelectionRect:{width:0,height:0,startX:r,startY:i,x:r,y:i}}),s?.(e)}:h,onPointerMove:x?e=>{const{userSelectionRect:t,transform:n,nodeLookup:o,edgeLookup:i,connectionLookup:a,triggerNodeChanges:s,triggerEdgeChanges:l,defaultEdgeOptions:c}=m.getState();if(!E.current||!t)return;O.current=!0;const{x:u,y:d}=Ur(e.nativeEvent,E.current),{startX:f,startY:h}=t,p={startX:f,startY:h,x:u<f?u:f,y:d<h?d:h,width:Math.abs(u-f),height:Math.abs(d-h)},g=k.current,y=S.current;k.current=new Set(pr(o,p,n,r===or.Partial,!0).map(e=>e.id)),S.current=new Set;const v=c?.selectable??!0;for(const e of k.current){const t=a.get(e);if(t)for(const{edgeId:e}of t.values()){const t=i.get(e);t&&(t.selectable??v)&&S.current.add(e)}}if(!Fr(g,k.current)){s(os(o,k.current,!0))}if(!Fr(y,S.current)){l(os(i,S.current))}m.setState({userSelectionRect:p,userSelectionActive:!0,nodesSelectionActive:!1})}:h,onPointerUp:x?e=>{if(0!==e.button||!C.current)return;e.target?.releasePointerCapture?.(e.pointerId);const{userSelectionRect:t}=m.getState();!y&&t&&e.target===_.current&&N?.(e),m.setState({userSelectionActive:!1,userSelectionRect:null,nodesSelectionActive:k.current.size>0}),l?.(e),(o||a)&&(O.current=!1),C.current=!1}:void 0,onPointerLeave:p,ref:_,style:ms,children:[g,e.jsx(ws,{})]})}function ks({id:e,store:t,unselect:n=!1,nodeRef:o}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:s,onError:l}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(i({nodes:[c],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])):l?.("012",Wo(e))}function Ss({nodeRef:e,disabled:n=!1,noDragClassName:o,handleSelector:r,nodeId:i,isSelectable:a,nodeClickDistance:s}){const l=ka(),[c,u]=t.useState(!1),d=t.useRef();return t.useEffect(()=>{d.current=Ni({getStoreItems:()=>l.getState(),onNodeMouseDown:t=>{ks({id:t,store:l,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),t.useEffect(()=>{if(n)d.current?.destroy();else if(e.current)return d.current?.update({noDragClassName:o,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:i,nodeClickDistance:s}),()=>{d.current?.destroy()}},[o,r,n,a,e,i]),c}function Os(){const e=ka();return t.useCallback(t=>{const{nodeExtent:n,snapToGrid:o,snapGrid:r,nodesDraggable:i,onError:a,updateNodePositions:s,nodeLookup:l,nodeOrigin:c}=e.getState(),u=new Map,d=(e=>t=>t.selected&&(t.draggable||e&&void 0===t.draggable))(i),f=o?r[0]:5,h=o?r[1]:5,p=t.direction.x*f*t.factor,g=t.direction.y*h*t.factor;for(const[,e]of l){if(!d(e))continue;let t={x:e.internals.positionAbsolute.x+p,y:e.internals.positionAbsolute.y+g};o&&(t=Tr(t,r));const{position:i,positionAbsolute:s}=mr({nodeId:e.id,nextPosition:t,nodeLookup:l,nodeExtent:n,nodeOrigin:c,onError:a});e.position=i,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}const Cs=t.createContext(null),Ns=Cs.Provider;Cs.Consumer;const Ms=()=>t.useContext(Cs),Ps=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId});const js=t.memo(ss(function({type:t="source",position:n=sr.Top,isValidConnection:o,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:s,onConnect:l,children:c,className:u,onMouseDown:d,onTouchStart:f,...h},p){const g=s||null,m="target"===t,y=ka(),v=Ms(),{connectOnClick:b,noPanClassName:w,rfId:x}=Ea(Ps,ba),{connectingFrom:_,connectingTo:E,clickConnecting:k,isPossibleEndHandle:S,connectionInProcess:O,clickConnectionInProcess:C,valid:N}=Ea(((e,t,n)=>o=>{const{connectionClickStartHandle:r,connectionMode:i,connection:a}=o,{fromHandle:s,toHandle:l,isValid:c}=a,u=l?.nodeId===e&&l?.id===t&&l?.type===n;return{connectingFrom:s?.nodeId===e&&s?.id===t&&s?.type===n,connectingTo:u,clickConnecting:r?.nodeId===e&&r?.id===t&&r?.type===n,isPossibleEndHandle:i===tr.Strict?s?.type!==n:e!==s?.nodeId||t!==s?.id,connectionInProcess:!!s,clickConnectionInProcess:!!r,valid:u&&c}})(v,g,t),ba);v||y.getState().onError?.("010",Xo());const M=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=y.getState(),r={...t,...e};if(o){const{edges:e,setEdges:t}=y.getState();t(((e,t)=>{if(!e.source||!e.target)return Ir("006",Yo()),t;let n;return n=ur(e)?{...e}:{...e,id:ii(e)},((e,t)=>t.some(t=>!(t.source!==e.source||t.target!==e.target||t.sourceHandle!==e.sourceHandle&&(t.sourceHandle||e.sourceHandle)||t.targetHandle!==e.targetHandle&&(t.targetHandle||e.targetHandle))))(n,t)?t:(null===n.sourceHandle&&delete n.sourceHandle,null===n.targetHandle&&delete n.targetHandle,t.concat(n))})(r,e))}n?.(r),l?.(r)},P=e=>{if(!v)return;const t=Kr(e.nativeEvent);if(i&&(t&&0===e.button||!t)){const t=y.getState();zi.onPointerDown(e.nativeEvent,{autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:m,handleId:g,nodeId:v,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:M,isValidConnection:o||t.isValidConnection,getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?d?.(e):f?.(e)};return e.jsx("div",{"data-handleid":g,"data-nodeid":v,"data-handlepos":n,"data-id":`${x}-${v}-${g}-${t}`,className:X(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",w,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:a,clickconnecting:k,connectingfrom:_,connectingto:E,valid:N,connectionindicator:r&&(!O||S)&&(O||C?a:i)}]),onMouseDown:P,onTouchStart:P,onClick:b?e=>{const{onClickConnectStart:n,onClickConnectEnd:r,connectionClickStartHandle:a,connectionMode:s,isValidConnection:l,lib:c,rfId:u,nodeLookup:d,connection:f}=y.getState();if(!v||!a&&!i)return;if(!a)return n?.(e.nativeEvent,{nodeId:v,handleId:g,handleType:t}),void y.setState({connectionClickStartHandle:{nodeId:v,type:t,id:g}});const h=Xr(e.target),p=o||l,{connection:m,isValid:b}=zi.isValid(e.nativeEvent,{handle:{nodeId:v,id:g,type:t},connectionMode:s,fromNodeId:a.nodeId,fromHandleId:a.id||null,fromType:a.type,isValidConnection:p,flowId:u,doc:h,lib:c,nodeLookup:d});b&&m&&M(m);const w=structuredClone(f);delete w.inProgress,w.toPosition=w.toHandle?w.toHandle.position:null,r?.(e,w),y.setState({connectionClickStartHandle:null})}:void 0,ref:p,...h,children:c})}));const Is={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Ts={input:function({data:t,isConnectable:n,sourcePosition:o=sr.Bottom}){return e.jsxs(e.Fragment,{children:[t?.label,e.jsx(js,{type:"source",position:o,isConnectable:n})]})},default:function({data:t,isConnectable:n,targetPosition:o=sr.Top,sourcePosition:r=sr.Bottom}){return e.jsxs(e.Fragment,{children:[e.jsx(js,{type:"target",position:o,isConnectable:n}),t?.label,e.jsx(js,{type:"source",position:r,isConnectable:n})]})},output:function({data:t,isConnectable:n,targetPosition:o=sr.Top}){return e.jsxs(e.Fragment,{children:[e.jsx(js,{type:"target",position:o,isConnectable:n}),t?.label]})},group:function(){return null}};const zs=e=>{const{width:t,height:n,x:o,y:r}=hr(e.nodeLookup,{filter:e=>!!e.selected});return{width:jr(t)?t:null,height:jr(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${r}px)`}};function Rs({onSelectionContextMenu:n,noPanClassName:o,disableKeyboardA11y:r}){const i=ka(),{width:a,height:s,transformString:l,userSelectionActive:c}=Ea(zs,ba),u=Os(),d=t.useRef(null);if(t.useEffect(()=>{r||d.current?.focus({preventScroll:!0})},[r]),Ss({nodeRef:d}),c||!a||!s)return null;const f=n?e=>{const t=i.getState().nodes.filter(e=>e.selected);n(e,t)}:void 0;return e.jsx("div",{className:X(["react-flow__nodesselection","react-flow__container",o]),style:{transform:l},children:e.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:r?void 0:-1,onKeyDown:r?void 0:e=>{Object.prototype.hasOwnProperty.call(Is,e.key)&&(e.preventDefault(),u({direction:Is[e.key],factor:e.shiftKey?4:1}))},style:{width:a,height:s}})})}const Ds="undefined"!=typeof window?window:void 0,As=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Ls({children:n,onPaneClick:o,onPaneMouseEnter:r,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:l,paneClickDistance:c,deleteKeyCode:u,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:m,panActivationKeyCode:y,zoomActivationKeyCode:v,elementsSelectable:b,zoomOnScroll:w,zoomOnPinch:x,panOnScroll:_,panOnScrollSpeed:E,panOnScrollMode:k,zoomOnDoubleClick:S,panOnDrag:O,defaultViewport:C,translateExtent:N,minZoom:M,maxZoom:P,preventScrolling:j,onSelectionContextMenu:I,noWheelClassName:T,noPanClassName:z,disableKeyboardA11y:R,onViewportChange:D,isControlledViewport:A}){const{nodesSelectionActive:L,userSelectionActive:V}=Ea(As),B=Wa(d,{target:Ds}),$=Wa(y,{target:Ds}),H=$||O,F=$||_,Y=f&&!0!==H,Z=B||V||Y;return function({deleteKeyCode:e,multiSelectionKeyCode:n}){const o=ka(),{deleteElements:r}=hs(),i=Wa(e,{actInsideInputWithModifier:!1}),a=Wa(n,{target:gs});t.useEffect(()=>{if(i){const{edges:e,nodes:t}=o.getState();r({nodes:t.filter(ps),edges:e.filter(ps)}),o.setState({nodesSelectionActive:!1})}},[i]),t.useEffect(()=>{o.setState({multiSelectionActive:a})},[a])}({deleteKeyCode:u,multiSelectionKeyCode:m}),e.jsx(vs,{onPaneContextMenu:s,elementsSelectable:b,zoomOnScroll:w,zoomOnPinch:x,panOnScroll:F,panOnScrollSpeed:E,panOnScrollMode:k,zoomOnDoubleClick:S,panOnDrag:!B&&H,defaultViewport:C,translateExtent:N,minZoom:M,maxZoom:P,zoomActivationKeyCode:v,preventScrolling:j,noWheelClassName:T,noPanClassName:z,onViewportChange:D,isControlledViewport:A,paneClickDistance:c,children:e.jsxs(Es,{onSelectionStart:p,onSelectionEnd:g,onPaneClick:o,onPaneMouseEnter:r,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:l,panOnDrag:H,isSelecting:!!Z,selectionMode:h,selectionKeyPressed:B,selectionOnDrag:Y,children:[n,L&&e.jsx(Rs,{onSelectionContextMenu:I,noPanClassName:z,disableKeyboardA11y:R})]})})}Ls.displayName="FlowRenderer";const Vs=t.memo(Ls);function Bs(e){return Ea(t.useCallback((e=>t=>e?pr(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(e=>e.id):Array.from(t.nodeLookup.keys()))(e),[e]),ba)}const $s=e=>e.updateNodeInternals;function Hs({id:n,onClick:o,onMouseEnter:r,onMouseMove:i,onMouseLeave:a,onContextMenu:s,onDoubleClick:l,nodesDraggable:c,elementsSelectable:u,nodesConnectable:d,nodesFocusable:f,resizeObserver:h,noDragClassName:p,noPanClassName:g,disableKeyboardA11y:m,rfId:y,nodeTypes:v,nodeClickDistance:b,onError:w}){const{node:x,internals:_,isParent:E}=Ea(e=>{const t=e.nodeLookup.get(n),o=e.parentLookup.has(n);return{node:t,internals:t.internals,isParent:o}},ba);let k=x.type||"default",S=v?.[k]||Ts[k];void 0===S&&(w?.("003",$o(k)),k="default",S=v?.default||Ts.default);const O=!!(x.draggable||c&&void 0===x.draggable),C=!!(x.selectable||u&&void 0===x.selectable),N=!!(x.connectable||d&&void 0===x.connectable),M=!!(x.focusable||f&&void 0===x.focusable),P=ka(),j=$r(x),I=function({node:e,nodeType:n,hasDimensions:o,resizeObserver:r}){const i=ka(),a=t.useRef(null),s=t.useRef(null),l=t.useRef(e.sourcePosition),c=t.useRef(e.targetPosition),u=t.useRef(n),d=o&&!!e.internals.handleBounds;return t.useEffect(()=>{!a.current||e.hidden||d&&s.current===a.current||(s.current&&r?.unobserve(s.current),r?.observe(a.current),s.current=a.current)},[d,e.hidden]),t.useEffect(()=>()=>{s.current&&(r?.unobserve(s.current),s.current=null)},[]),t.useEffect(()=>{if(a.current){const t=u.current!==n,o=l.current!==e.sourcePosition,r=c.current!==e.targetPosition;(t||o||r)&&(u.current=n,l.current=e.sourcePosition,c.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),a}({node:x,nodeType:k,hasDimensions:j,resizeObserver:h}),T=Ss({nodeRef:I,disabled:x.hidden||!O,noDragClassName:p,handleSelector:x.dragHandle,nodeId:n,isSelectable:C,nodeClickDistance:b}),z=Os();if(x.hidden)return null;const R=Br(x),D=function(e){return void 0===e.internals.handleBounds?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}(x),A=C||O||o||r||i||a,L=r?e=>r(e,{..._.userNode}):void 0,V=i?e=>i(e,{..._.userNode}):void 0,B=a?e=>a(e,{..._.userNode}):void 0,$=s?e=>s(e,{..._.userNode}):void 0,H=l?e=>l(e,{..._.userNode}):void 0;return e.jsx("div",{className:X(["react-flow__node",`react-flow__node-${k}`,{[g]:O},x.className,{selected:x.selected,selectable:C,parent:E,draggable:O,dragging:T}]),ref:I,style:{zIndex:_.z,transform:`translate(${_.positionAbsolute.x}px,${_.positionAbsolute.y}px)`,pointerEvents:A?"all":"none",visibility:j?"visible":"hidden",...x.style,...D},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:L,onMouseMove:V,onMouseLeave:B,onContextMenu:$,onClick:e=>{const{selectNodesOnDrag:t,nodeDragThreshold:r}=P.getState();C&&(!t||!O||r>0)&&ks({id:n,store:P,nodeRef:I}),o&&o(e,{..._.userNode})},onDoubleClick:H,onKeyDown:M?e=>{if(!Wr(e.nativeEvent)&&!m)if(Jo.includes(e.key)&&C){const t="Escape"===e.key;ks({id:n,store:P,unselect:t,nodeRef:I})}else if(O&&x.selected&&Object.prototype.hasOwnProperty.call(Is,e.key)){e.preventDefault();const{ariaLabelConfig:t}=P.getState();P.setState({ariaLiveMessage:t["node.a11yDescription.ariaLiveMessage"]({direction:e.key.replace("Arrow","").toLowerCase(),x:~~_.positionAbsolute.x,y:~~_.positionAbsolute.y})}),z({direction:Is[e.key],factor:e.shiftKey?4:1})}}:void 0,tabIndex:M?0:void 0,onFocus:M?()=>{if(m||!I.current?.matches(":focus-visible"))return;const{transform:e,width:t,height:o,autoPanOnNodeFocus:r,setCenter:i}=P.getState();if(!r)return;pr(new Map([[n,x]]),{x:0,y:0,width:t,height:o},e,!0).length>0||i(x.position.x+R.width/2,x.position.y+R.height/2,{zoom:e[2]})}:void 0,role:x.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":m?void 0:`${Ca}-${y}`,"aria-label":x.ariaLabel,...x.domAttributes,children:e.jsx(Ns,{value:n,children:e.jsx(S,{id:n,data:x.data,type:k,positionAbsoluteX:_.positionAbsolute.x,positionAbsoluteY:_.positionAbsolute.y,selected:x.selected??!1,selectable:C,draggable:O,deletable:x.deletable??!0,isConnectable:N,sourcePosition:x.sourcePosition,targetPosition:x.targetPosition,dragging:T,dragHandle:x.dragHandle,zIndex:_.z,parentId:x.parentId,...R})})})}const Fs=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Ys(n){const{nodesDraggable:o,nodesConnectable:r,nodesFocusable:i,elementsSelectable:a,onError:s}=Ea(Fs,ba),l=Bs(n.onlyRenderVisibleElements),c=function(){const e=Ea($s),[n]=t.useState(()=>"undefined"==typeof ResizeObserver?null:new ResizeObserver(t=>{const n=new Map;t.forEach(e=>{const t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return t.useEffect(()=>()=>{n?.disconnect()},[n]),n}();return e.jsx("div",{className:"react-flow__nodes",style:ms,children:l.map(t=>e.jsx(Hs,{id:t,nodeTypes:n.nodeTypes,nodeExtent:n.nodeExtent,onClick:n.onNodeClick,onMouseEnter:n.onNodeMouseEnter,onMouseMove:n.onNodeMouseMove,onMouseLeave:n.onNodeMouseLeave,onContextMenu:n.onNodeContextMenu,onDoubleClick:n.onNodeDoubleClick,noDragClassName:n.noDragClassName,noPanClassName:n.noPanClassName,rfId:n.rfId,disableKeyboardA11y:n.disableKeyboardA11y,resizeObserver:c,nodesDraggable:o,nodesConnectable:r,nodesFocusable:i,elementsSelectable:a,nodeClickDistance:n.nodeClickDistance,onError:s},t))})}Ys.displayName="NodeRenderer";const Zs=t.memo(Ys);const qs={[ar.Arrow]:({color:t="none",strokeWidth:n=1})=>e.jsx("polyline",{style:{stroke:t,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[ar.ArrowClosed]:({color:t="none",strokeWidth:n=1})=>e.jsx("polyline",{style:{stroke:t,fill:t,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})};const Xs=({id:n,type:o,color:r,width:i=12.5,height:a=12.5,markerUnits:s="strokeWidth",strokeWidth:l,orient:c="auto-start-reverse"})=>{const u=function(e){const n=ka();return t.useMemo(()=>Object.prototype.hasOwnProperty.call(qs,e)?qs[e]:(n.getState().onError?.("009",Zo(e)),null),[e])}(o);return u?e.jsx("marker",{className:"react-flow__arrowhead",id:n,markerWidth:`${i}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:c,refX:"0",refY:"0",children:e.jsx(u,{color:r,strokeWidth:l})}):null},Gs=({defaultColor:n,rfId:o})=>{const r=Ea(e=>e.edges),i=Ea(e=>e.defaultEdgeOptions),a=t.useMemo(()=>{const e=function(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){const i=new Set;return e.reduce((e,a)=>([a.markerStart||o,a.markerEnd||r].forEach(o=>{if(o&&"object"==typeof o){const r=gi(o,t);i.has(r)||(e.push({id:r,color:o.color||n,...o}),i.add(r))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}(r,{id:o,defaultColor:n,defaultMarkerStart:i?.markerStart,defaultMarkerEnd:i?.markerEnd});return e},[r,i,o,n]);return a.length?e.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:e.jsx("defs",{children:a.map(t=>e.jsx(Xs,{id:t.id,type:t.type,color:t.color,width:t.width,height:t.height,markerUnits:t.markerUnits,strokeWidth:t.strokeWidth,orient:t.orient},t.id))})}):null};Gs.displayName="MarkerDefinitions";var Ws=t.memo(Gs);function Ks({x:n,y:o,label:r,labelStyle:i,labelShowBg:a=!0,labelBgStyle:s,labelBgPadding:l=[2,4],labelBgBorderRadius:c=2,children:u,className:d,...f}){const[h,p]=t.useState({x:1,y:0,width:0,height:0}),g=X(["react-flow__edge-textwrapper",d]),m=t.useRef(null);return t.useEffect(()=>{if(m.current){const e=m.current.getBBox();p({x:e.x,y:e.y,width:e.width,height:e.height})}},[r]),r?e.jsxs("g",{transform:`translate(${n-h.width/2} ${o-h.height/2})`,className:g,visibility:h.width?"visible":"hidden",...f,children:[a&&e.jsx("rect",{width:h.width+2*l[0],x:-l[0],y:-l[1],height:h.height+2*l[1],className:"react-flow__edge-textbg",style:s,rx:c,ry:c}),e.jsx("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:m,style:i,children:r}),u]}):null}Ks.displayName="EdgeText";const Us=t.memo(Ks);function Qs({path:t,labelX:n,labelY:o,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,interactionWidth:u=20,...d}){return e.jsxs(e.Fragment,{children:[e.jsx("path",{...d,d:t,fill:"none",className:X(["react-flow__edge-path",d.className])}),u&&e.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}),r&&jr(n)&&jr(o)?e.jsx(Us,{x:n,y:o,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c}):null]})}function Js({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===sr.Left||e===sr.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function el({sourceX:e,sourceY:t,sourcePosition:n=sr.Bottom,targetX:o,targetY:r,targetPosition:i=sr.Top}){const[a,s]=Js({pos:n,x1:e,y1:t,x2:o,y2:r}),[l,c]=Js({pos:i,x1:o,y1:r,x2:e,y2:t}),[u,d,f,h]=Jr({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:c});return[`M${e},${t} C${a},${s} ${l},${c} ${o},${r}`,u,d,f,h]}function tl(n){return t.memo(({id:t,sourceX:o,sourceY:r,targetX:i,targetY:a,sourcePosition:s,targetPosition:l,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:m,markerStart:y,interactionWidth:v})=>{const[b,w,x]=el({sourceX:o,sourceY:r,sourcePosition:s,targetX:i,targetY:a,targetPosition:l}),_=n.isInternal?void 0:t;return e.jsx(Qs,{id:_,path:b,labelX:w,labelY:x,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:m,markerStart:y,interactionWidth:v})})}const nl=tl({isInternal:!1}),ol=tl({isInternal:!0});function rl(n){return t.memo(({id:t,sourceX:o,sourceY:r,targetX:i,targetY:a,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:p=sr.Bottom,targetPosition:g=sr.Top,markerEnd:m,markerStart:y,pathOptions:v,interactionWidth:b})=>{const[w,x,_]=ui({sourceX:o,sourceY:r,sourcePosition:p,targetX:i,targetY:a,targetPosition:g,borderRadius:v?.borderRadius,offset:v?.offset,stepPosition:v?.stepPosition}),E=n.isInternal?void 0:t;return e.jsx(Qs,{id:E,path:w,labelX:x,labelY:_,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:m,markerStart:y,interactionWidth:b})})}nl.displayName="SimpleBezierEdge",ol.displayName="SimpleBezierEdgeInternal";const il=rl({isInternal:!1}),al=rl({isInternal:!0});function sl(n){return t.memo(({id:o,...r})=>{const i=n.isInternal?void 0:o;return e.jsx(il,{...r,id:i,pathOptions:t.useMemo(()=>({borderRadius:0,offset:r.pathOptions?.offset}),[r.pathOptions?.offset])})})}il.displayName="SmoothStepEdge",al.displayName="SmoothStepEdgeInternal";const ll=sl({isInternal:!1}),cl=sl({isInternal:!0});function ul(n){return t.memo(({id:t,sourceX:o,sourceY:r,targetX:i,targetY:a,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:g,interactionWidth:m})=>{const[y,v,b]=ai({sourceX:o,sourceY:r,targetX:i,targetY:a}),w=n.isInternal?void 0:t;return e.jsx(Qs,{id:w,path:y,labelX:v,labelY:b,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:g,interactionWidth:m})})}ll.displayName="StepEdge",cl.displayName="StepEdgeInternal";const dl=ul({isInternal:!1}),fl=ul({isInternal:!0});function hl(n){return t.memo(({id:t,sourceX:o,sourceY:r,targetX:i,targetY:a,sourcePosition:s=sr.Bottom,targetPosition:l=sr.Top,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:m,markerStart:y,pathOptions:v,interactionWidth:b})=>{const[w,x,_]=ni({sourceX:o,sourceY:r,sourcePosition:s,targetX:i,targetY:a,targetPosition:l,curvature:v?.curvature}),E=n.isInternal?void 0:t;return e.jsx(Qs,{id:E,path:w,labelX:x,labelY:_,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:m,markerStart:y,interactionWidth:b})})}dl.displayName="StraightEdge",fl.displayName="StraightEdgeInternal";const pl=hl({isInternal:!1}),gl=hl({isInternal:!0});pl.displayName="BezierEdge",gl.displayName="BezierEdgeInternal";const ml={default:gl,straight:fl,step:cl,smoothstep:al,simplebezier:ol},yl={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},vl=(e,t,n)=>n===sr.Left?e-t:n===sr.Right?e+t:e,bl=(e,t,n)=>n===sr.Top?e-t:n===sr.Bottom?e+t:e,wl="react-flow__edgeupdater";function xl({position:t,centerX:n,centerY:o,radius:r=10,onMouseDown:i,onMouseEnter:a,onMouseOut:s,type:l}){return e.jsx("circle",{onMouseDown:i,onMouseEnter:a,onMouseOut:s,className:X([wl,`${wl}-${l}`]),cx:vl(n,r,t),cy:bl(o,r,t),r:r,stroke:"transparent",fill:"transparent"})}function _l({isReconnectable:t,reconnectRadius:n,edge:o,sourceX:r,sourceY:i,targetX:a,targetY:s,sourcePosition:l,targetPosition:c,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:p}){const g=ka(),m=(e,t)=>{if(0!==e.button)return;const{autoPanOnConnect:n,domNode:r,isValidConnection:i,connectionMode:a,connectionRadius:s,lib:l,onConnectStart:c,onConnectEnd:p,cancelConnection:m,nodeLookup:y,rfId:v,panBy:b,updateConnection:w}=g.getState(),x="target"===t.type;zi.onPointerDown(e.nativeEvent,{autoPanOnConnect:n,connectionMode:a,connectionRadius:s,domNode:r,handleId:t.id,nodeId:t.nodeId,nodeLookup:y,isTarget:x,edgeUpdaterType:t.type,lib:l,flowId:v,cancelConnection:m,panBy:b,isValidConnection:i,onConnect:e=>u?.(o,e),onConnectStart:(n,r)=>{h(!0),d?.(e,o,t.type),c?.(n,r)},onConnectEnd:p,onReconnectEnd:(e,n)=>{h(!1),f?.(e,o,t.type,n)},updateConnection:w,getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,dragThreshold:g.getState().connectionDragThreshold})},y=()=>p(!0),v=()=>p(!1);return e.jsxs(e.Fragment,{children:[(!0===t||"source"===t)&&e.jsx(xl,{position:l,centerX:r,centerY:i,radius:n,onMouseDown:e=>m(e,{nodeId:o.target,id:o.targetHandle??null,type:"target"}),onMouseEnter:y,onMouseOut:v,type:"source"}),(!0===t||"target"===t)&&e.jsx(xl,{position:c,centerX:a,centerY:s,radius:n,onMouseDown:e=>m(e,{nodeId:o.source,id:o.sourceHandle??null,type:"source"}),onMouseEnter:y,onMouseOut:v,type:"target"})]})}function El({id:n,edgesFocusable:o,edgesReconnectable:r,elementsSelectable:i,onClick:a,onDoubleClick:s,onContextMenu:l,onMouseEnter:c,onMouseMove:u,onMouseLeave:d,reconnectRadius:f,onReconnect:h,onReconnectStart:p,onReconnectEnd:g,rfId:m,edgeTypes:y,noPanClassName:v,onError:b,disableKeyboardA11y:w}){let x=Ea(e=>e.edgeLookup.get(n));const _=Ea(e=>e.defaultEdgeOptions);x=_?{..._,...x}:x;let E=x.type||"default",k=y?.[E]||ml[E];void 0===k&&(b?.("011",Go(E)),E="default",k=y?.default||ml.default);const S=!!(x.focusable||o&&void 0===x.focusable),O=void 0!==h&&(x.reconnectable||r&&void 0===x.reconnectable),C=!!(x.selectable||i&&void 0===x.selectable),N=t.useRef(null),[M,P]=t.useState(!1),[j,I]=t.useState(!1),T=ka(),{zIndex:z,sourceX:R,sourceY:D,targetX:A,targetY:L,sourcePosition:V,targetPosition:B}=Ea(t.useCallback(e=>{const t=e.nodeLookup.get(x.source),o=e.nodeLookup.get(x.target);if(!t||!o)return{zIndex:x.zIndex,...yl};const r=function(e){const{sourceNode:t,targetNode:n}=e;if(!di(t)||!di(n))return null;const o=t.internals.handleBounds||fi(t.handles),r=n.internals.handleBounds||fi(n.handles),i=pi(o?.source??[],e.sourceHandle),a=pi(e.connectionMode===tr.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),e.targetHandle);if(!i||!a)return e.onError?.("008",qo(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const s=i?.position||sr.Bottom,l=a?.position||sr.Top,c=hi(t,i,s),u=hi(n,a,l);return{sourceX:c.x,sourceY:c.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:l}}({id:n,sourceNode:t,targetNode:o,sourceHandle:x.sourceHandle||null,targetHandle:x.targetHandle||null,connectionMode:e.connectionMode,onError:b}),i=function({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o,elevateOnSelect:r=!1}){return void 0!==o?o:(r&&n?1e3:0)+Math.max(e.parentId?e.internals.z:0,t.parentId?t.internals.z:0)}({selected:x.selected,zIndex:x.zIndex,sourceNode:t,targetNode:o,elevateOnSelect:e.elevateEdgesOnSelect});return{zIndex:i,...r||yl}},[x.source,x.target,x.sourceHandle,x.targetHandle,x.selected,x.zIndex]),ba),$=t.useMemo(()=>x.markerStart?`url('#${gi(x.markerStart,m)}')`:void 0,[x.markerStart,m]),H=t.useMemo(()=>x.markerEnd?`url('#${gi(x.markerEnd,m)}')`:void 0,[x.markerEnd,m]);if(x.hidden||null===R||null===D||null===A||null===L)return null;const F=s?e=>{s(e,{...x})}:void 0,Y=l?e=>{l(e,{...x})}:void 0,Z=c?e=>{c(e,{...x})}:void 0,q=u?e=>{u(e,{...x})}:void 0,G=d?e=>{d(e,{...x})}:void 0;return e.jsx("svg",{style:{zIndex:z},children:e.jsxs("g",{className:X(["react-flow__edge",`react-flow__edge-${E}`,x.className,v,{selected:x.selected,animated:x.animated,inactive:!C&&!a,updating:M,selectable:C}]),onClick:e=>{const{addSelectedEdges:t,unselectNodesAndEdges:o,multiSelectionActive:r}=T.getState();C&&(T.setState({nodesSelectionActive:!1}),x.selected&&r?(o({nodes:[],edges:[x]}),N.current?.blur()):t([n])),a&&a(e,x)},onDoubleClick:F,onContextMenu:Y,onMouseEnter:Z,onMouseMove:q,onMouseLeave:G,onKeyDown:S?e=>{if(!w&&Jo.includes(e.key)&&C){const{unselectNodesAndEdges:t,addSelectedEdges:o}=T.getState();"Escape"===e.key?(N.current?.blur(),t({edges:[x]})):o([n])}}:void 0,tabIndex:S?0:void 0,role:x.ariaRole??(S?"group":"img"),"aria-roledescription":"edge","data-id":n,"data-testid":`rf__edge-${n}`,"aria-label":null===x.ariaLabel?void 0:x.ariaLabel||`Edge from ${x.source} to ${x.target}`,"aria-describedby":S?`${Na}-${m}`:void 0,ref:N,...x.domAttributes,children:[!j&&e.jsx(k,{id:n,source:x.source,target:x.target,type:x.type,selected:x.selected,animated:x.animated,selectable:C,deletable:x.deletable??!0,label:x.label,labelStyle:x.labelStyle,labelShowBg:x.labelShowBg,labelBgStyle:x.labelBgStyle,labelBgPadding:x.labelBgPadding,labelBgBorderRadius:x.labelBgBorderRadius,sourceX:R,sourceY:D,targetX:A,targetY:L,sourcePosition:V,targetPosition:B,data:x.data,style:x.style,sourceHandleId:x.sourceHandle,targetHandleId:x.targetHandle,markerStart:$,markerEnd:H,pathOptions:"pathOptions"in x?x.pathOptions:void 0,interactionWidth:x.interactionWidth}),O&&e.jsx(_l,{edge:x,isReconnectable:O,reconnectRadius:f,onReconnect:h,onReconnectStart:p,onReconnectEnd:g,sourceX:R,sourceY:D,targetX:A,targetY:L,sourcePosition:V,targetPosition:B,setUpdateHover:P,setReconnecting:I})]})})}const kl=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Sl({defaultMarkerColor:n,onlyRenderVisibleElements:o,rfId:r,edgeTypes:i,noPanClassName:a,onReconnect:s,onEdgeContextMenu:l,onEdgeMouseEnter:c,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,reconnectRadius:h,onEdgeDoubleClick:p,onReconnectStart:g,onReconnectEnd:m,disableKeyboardA11y:y}){const{edgesFocusable:v,edgesReconnectable:b,elementsSelectable:w,onError:x}=Ea(kl,ba),_=(E=o,Ea(t.useCallback(e=>{if(!E)return e.edges.map(e=>e.id);const t=[];if(e.width&&e.height)for(const n of e.edges){const o=e.nodeLookup.get(n.source),r=e.nodeLookup.get(n.target);o&&r&&ri({sourceNode:o,targetNode:r,width:e.width,height:e.height,transform:e.transform})&&t.push(n.id)}return t},[E]),ba));var E;return e.jsxs("div",{className:"react-flow__edges",children:[e.jsx(Ws,{defaultColor:n,rfId:r}),_.map(t=>e.jsx(El,{id:t,edgesFocusable:v,edgesReconnectable:b,elementsSelectable:w,noPanClassName:a,onReconnect:s,onContextMenu:l,onMouseEnter:c,onMouseMove:u,onMouseLeave:d,onClick:f,reconnectRadius:h,onDoubleClick:p,onReconnectStart:g,onReconnectEnd:m,rfId:r,onError:x,edgeTypes:i,disableKeyboardA11y:y},t))]})}Sl.displayName="EdgeRenderer";const Ol=t.memo(Sl),Cl=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Nl({children:t}){const n=Ea(Cl);return e.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:t})}const Ml=e=>e.panZoom?.syncViewport;function Pl(e){return e.connection.inProgress?{...e.connection,to:zr(e.connection.to,e.transform)}:{...e.connection}}function jl(e){return Ea(Pl,ba)}const Il=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Tl({containerStyle:t,style:n,type:o,component:r}){const{nodesConnectable:i,width:a,height:s,isValid:l,inProgress:c}=Ea(Il,ba);return!!(a&&i&&c)?e.jsx("svg",{style:t,width:a,height:s,className:"react-flow__connectionline react-flow__container",children:e.jsx("g",{className:X(["react-flow__connection",cr(l)]),children:e.jsx(zl,{style:n,type:o,CustomComponent:r,isValid:l})})}):null}const zl=({style:t,type:n=ir.Bezier,CustomComponent:o,isValid:r})=>{const{inProgress:i,from:a,fromNode:s,fromHandle:l,fromPosition:c,to:u,toNode:d,toHandle:f,toPosition:h}=jl();if(!i)return;if(o)return e.jsx(o,{connectionLineType:n,connectionLineStyle:t,fromNode:s,fromHandle:l,fromX:a.x,fromY:a.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:h,connectionStatus:cr(r),toNode:d,toHandle:f});let p="";const g={sourceX:a.x,sourceY:a.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:h};switch(n){case ir.Bezier:[p]=ni(g);break;case ir.SimpleBezier:[p]=el(g);break;case ir.Step:[p]=ui({...g,borderRadius:0});break;case ir.SmoothStep:[p]=ui(g);break;default:[p]=ai(g)}return e.jsx("path",{d:p,fill:"none",className:"react-flow__connection-path",style:t})};zl.displayName="ConnectionLine";const Rl={};function Dl(e=Rl){const n=t.useRef(e),o=ka();t.useEffect(()=>{if("development"===process.env.NODE_ENV){const t=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const r of t)if(n.current[r]!==e[r]){o.getState().onError?.("002",Bo());break}n.current=e}},[e])}function Al({nodeTypes:n,edgeTypes:o,onInit:r,onNodeClick:i,onEdgeClick:a,onNodeDoubleClick:s,onEdgeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:d,onNodeContextMenu:f,onSelectionContextMenu:h,onSelectionStart:p,onSelectionEnd:g,connectionLineType:m,connectionLineStyle:y,connectionLineComponent:v,connectionLineContainerStyle:b,selectionKeyCode:w,selectionOnDrag:x,selectionMode:_,multiSelectionKeyCode:E,panActivationKeyCode:k,zoomActivationKeyCode:S,deleteKeyCode:O,onlyRenderVisibleElements:C,elementsSelectable:N,defaultViewport:M,translateExtent:P,minZoom:j,maxZoom:I,preventScrolling:T,defaultMarkerColor:z,zoomOnScroll:R,zoomOnPinch:D,panOnScroll:A,panOnScrollSpeed:L,panOnScrollMode:V,zoomOnDoubleClick:B,panOnDrag:$,onPaneClick:H,onPaneMouseEnter:F,onPaneMouseMove:Y,onPaneMouseLeave:Z,onPaneScroll:q,onPaneContextMenu:X,paneClickDistance:G,nodeClickDistance:W,onEdgeContextMenu:K,onEdgeMouseEnter:U,onEdgeMouseMove:Q,onEdgeMouseLeave:J,reconnectRadius:ee,onReconnect:te,onReconnectStart:ne,onReconnectEnd:oe,noDragClassName:re,noWheelClassName:ie,noPanClassName:ae,disableKeyboardA11y:se,nodeExtent:le,rfId:ce,viewport:ue,onViewportChange:de}){return Dl(n),Dl(o),function(){const e=ka(),n=t.useRef(!1);t.useEffect(()=>{if("development"===process.env.NODE_ENV&&!n.current){const t=document.querySelector(".react-flow__pane");t&&"1"!==window.getComputedStyle(t).zIndex&&e.getState().onError?.("013",Ko("react")),n.current=!0}},[])}(),function(e){const n=hs(),o=t.useRef(!1);t.useEffect(()=>{!o.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),o.current=!0)},[e,n.viewportInitialized])}(r),function(e){const n=Ea(Ml),o=ka();t.useEffect(()=>{e&&(n?.(e),o.setState({transform:[e.x,e.y,e.zoom]}))},[e,n])}(ue),e.jsx(Vs,{onPaneClick:H,onPaneMouseEnter:F,onPaneMouseMove:Y,onPaneMouseLeave:Z,onPaneContextMenu:X,onPaneScroll:q,paneClickDistance:G,deleteKeyCode:O,selectionKeyCode:w,selectionOnDrag:x,selectionMode:_,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:E,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:N,zoomOnScroll:R,zoomOnPinch:D,zoomOnDoubleClick:B,panOnScroll:A,panOnScrollSpeed:L,panOnScrollMode:V,panOnDrag:$,defaultViewport:M,translateExtent:P,minZoom:j,maxZoom:I,onSelectionContextMenu:h,preventScrolling:T,noDragClassName:re,noWheelClassName:ie,noPanClassName:ae,disableKeyboardA11y:se,onViewportChange:de,isControlledViewport:!!ue,children:e.jsxs(Nl,{children:[e.jsx(Ol,{edgeTypes:o,onEdgeClick:a,onEdgeDoubleClick:l,onReconnect:te,onReconnectStart:ne,onReconnectEnd:oe,onlyRenderVisibleElements:C,onEdgeContextMenu:K,onEdgeMouseEnter:U,onEdgeMouseMove:Q,onEdgeMouseLeave:J,reconnectRadius:ee,defaultMarkerColor:z,noPanClassName:ae,disableKeyboardA11y:se,rfId:ce}),e.jsx(Tl,{style:y,type:m,component:v,containerStyle:b}),e.jsx("div",{className:"react-flow__edgelabel-renderer"}),e.jsx(Zs,{nodeTypes:n,onNodeClick:i,onNodeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:d,onNodeContextMenu:f,nodeClickDistance:W,onlyRenderVisibleElements:C,noPanClassName:ae,noDragClassName:re,disableKeyboardA11y:se,nodeExtent:le,rfId:ce}),e.jsx("div",{className:"react-flow__viewport-portal"})]})})}Al.displayName="GraphView";const Ll=t.memo(Al),Vl=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:s,minZoom:l=.5,maxZoom:c=2,nodeOrigin:u,nodeExtent:d}={})=>{const f=new Map,h=new Map,p=new Map,g=new Map,m=o??t??[],y=n??e??[],v=u??[0,0],b=d??Qo;ki(p,g,m);const w=bi(y,f,h,{nodeOrigin:v,nodeExtent:b,elevateNodesOnSelect:!1});let x=[0,0,1];if(a&&r&&i){const e=hr(f,{filter:e=>!(!e.width&&!e.initialWidth||!e.height&&!e.initialHeight)}),{x:t,y:n,zoom:o}=Ar(e,r,i,l,c,s?.padding??.1);x=[t,n,o]}return{rfId:"1",width:0,height:0,transform:x,nodes:y,nodesInitialized:w,nodeLookup:f,parentLookup:h,edges:m,edgeLookup:g,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==o,panZoom:null,minZoom:l,maxZoom:c,translateExtent:Qo,nodeExtent:b,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:tr.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:v,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:s,fitViewResolver:null,connection:{...rr},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Ir,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:er}},Bl=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:s,minZoom:l,maxZoom:c,nodeOrigin:u,nodeExtent:d})=>{return f=(f,h)=>{async function p(){const{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:o,width:r,height:i,minZoom:a,maxZoom:s}=h();t&&(await gr({nodes:e,width:r,height:i,panZoom:t,minZoom:a,maxZoom:s},n),o?.resolve(!0),f({fitViewResolver:null}))}return{...Vl({nodes:e,edges:t,width:r,height:i,fitView:a,fitViewOptions:s,minZoom:l,maxZoom:c,nodeOrigin:u,nodeExtent:d,defaultNodes:n,defaultEdges:o}),setNodes:e=>{const{nodeLookup:t,parentLookup:n,nodeOrigin:o,elevateNodesOnSelect:r,fitViewQueued:i}=h(),a=bi(e,t,n,{nodeOrigin:o,nodeExtent:d,elevateNodesOnSelect:r,checkEquality:!0});i&&a?(p(),f({nodes:e,nodesInitialized:a,fitViewQueued:!1,fitViewOptions:void 0})):f({nodes:e,nodesInitialized:a})},setEdges:e=>{const{connectionLookup:t,edgeLookup:n}=h();ki(t,n,e),f({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){const{setNodes:t}=h();t(e),f({hasDefaultNodes:!0})}if(t){const{setEdges:e}=h();e(t),f({hasDefaultEdges:!0})}},updateNodeInternals:e=>{const{triggerNodeChanges:t,nodeLookup:n,parentLookup:o,domNode:r,nodeOrigin:i,nodeExtent:a,debug:s,fitViewQueued:l}=h(),{changes:c,updatedInternals:u}=function(e,t,n,o,r,i){const a=o?.querySelector(".xyflow__viewport");let s=!1;if(!a)return{changes:[],updatedInternals:s};const l=[],c=window.getComputedStyle(a),{m22:u}=new window.DOMMatrixReadOnly(c.transform),d=[];for(const o of e.values()){const e=t.get(o.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),s=!0;continue}const a=qr(o.nodeElement),c=e.measured.width!==a.width||e.measured.height!==a.height;if(a.width&&a.height&&(c||!e.internals.handleBounds||o.force)){const f=o.nodeElement.getBoundingClientRect(),h=Vr(e.extent)?e.extent:i;let{positionAbsolute:p}=e.internals;e.parentId&&"parent"===e.extent?p=wr(p,a,t.get(e.parentId)):h&&(p=br(p,h,a));const g={...e,measured:a,internals:{...e.internals,positionAbsolute:p,handleBounds:{source:Qr("source",o.nodeElement,f,u,e.id),target:Qr("target",o.nodeElement,f,u,e.id)}}};t.set(e.id,g),e.parentId&&wi(g,t,n,{nodeOrigin:r}),s=!0,c&&(l.push({id:e.id,type:"dimensions",dimensions:a}),e.expandParent&&e.parentId&&d.push({id:e.id,parentId:e.parentId,rect:Or(g,r)}))}}if(d.length>0){const e=_i(d,t,n,r);l.push(...e)}return{changes:l,updatedInternals:s}}(e,n,o,r,i,a);u&&(function(e,t,n){const o=vi(mi,n);for(const n of e.values())if(n.parentId)wi(n,e,t,o);else{const e=fr(n,o.nodeOrigin),t=Vr(n.extent)?n.extent:o.nodeExtent,r=br(e,t,Br(n));n.internals.positionAbsolute=r}}(n,o,{nodeOrigin:i,nodeExtent:a}),l?(p(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),c?.length>0&&(s&&console.log("React Flow: trigger node changes",c),t?.(c)))},updateNodePositions:(e,t=!1)=>{const n=[],o=[],{nodeLookup:r,triggerNodeChanges:i}=h();for(const[i,a]of e){const e=r.get(i),s=!!(e?.expandParent&&e?.parentId&&a?.position),l={id:i,type:"position",position:s?{x:Math.max(0,a.position.x),y:Math.max(0,a.position.y)}:a.position,dragging:t};s&&e.parentId&&n.push({id:i,parentId:e.parentId,rect:{...a.internals.positionAbsolute,width:a.measured.width??0,height:a.measured.height??0}}),o.push(l)}if(n.length>0){const{parentLookup:e,nodeOrigin:t}=h(),i=_i(n,r,e,t);o.push(...i)}i(o)},triggerNodeChanges:e=>{const{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:r,debug:i}=h();e?.length&&(r&&n(es(e,o)),i&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{const{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:r,debug:i}=h();e?.length&&(r&&n(ts(e,o)),i&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{const{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:i}=h();t?r(e.map(e=>ns(e,!0))):(r(os(o,new Set([...e]),!0)),i(os(n)))},addSelectedEdges:e=>{const{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:i}=h();t?i(e.map(e=>ns(e,!0))):(i(os(n,new Set([...e]))),r(os(o,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{const{edges:n,nodes:o,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=h(),s=t||n,l=(e||o).map(e=>{const t=r.get(e.id);return t&&(t.selected=!1),ns(e.id,!1)}),c=s.map(e=>ns(e.id,!1));i(l),a(c)},setMinZoom:e=>{const{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),f({minZoom:e})},setMaxZoom:e=>{const{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),f({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),f({translateExtent:e})},setPaneClickDistance:e=>{h().panZoom?.setClickDistance(e)},resetSelectedElements:()=>{const{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:r}=h();if(!r)return;const i=t.reduce((e,t)=>t.selected?[...e,ns(t.id,!1)]:e,[]),a=e.reduce((e,t)=>t.selected?[...e,ns(t.id,!1)]:e,[]);n(i),o(a)},setNodeExtent:e=>{const{nodes:t,nodeLookup:n,parentLookup:o,nodeOrigin:r,elevateNodesOnSelect:i,nodeExtent:a}=h();e[0][0]===a[0][0]&&e[0][1]===a[0][1]&&e[1][0]===a[1][0]&&e[1][1]===a[1][1]||(bi(t,n,o,{nodeOrigin:r,nodeExtent:e,elevateNodesOnSelect:i,checkEquality:!1}),f({nodeExtent:e}))},panBy:e=>{const{transform:t,width:n,height:o,panZoom:r,translateExtent:i}=h();return async function({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o),s=!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]);return Promise.resolve(s)}({delta:e,panZoom:r,transform:t,translateExtent:i,width:n,height:o})},setCenter:async(e,t,n)=>{const{width:o,height:r,maxZoom:i,panZoom:a}=h();if(!a)return Promise.resolve(!1);const s=void 0!==n?.zoom?n.zoom:i;return await a.setViewport({x:o/2-e*s,y:r/2-t*s,zoom:s},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{f({connection:{...rr}})},updateConnection:e=>{f({connection:e})},reset:()=>f({...Vl()})}},h=Object.is,f?va(f,h):va;var f,h};function $l({initialNodes:n,initialEdges:o,defaultNodes:r,defaultEdges:i,initialWidth:a,initialHeight:s,initialMinZoom:l,initialMaxZoom:c,initialFitViewOptions:u,fitView:d,nodeOrigin:f,nodeExtent:h,children:p}){const[g]=t.useState(()=>Bl({nodes:n,edges:o,defaultNodes:r,defaultEdges:i,width:a,height:s,fitView:d,minZoom:l,maxZoom:c,fitViewOptions:u,nodeOrigin:f,nodeExtent:h}));return e.jsx(xa,{value:g,children:e.jsx(ds,{children:p})})}function Hl({children:n,nodes:o,edges:r,defaultNodes:i,defaultEdges:a,width:s,height:l,fitView:c,fitViewOptions:u,minZoom:d,maxZoom:f,nodeOrigin:h,nodeExtent:p}){return t.useContext(wa)?e.jsx(e.Fragment,{children:n}):e.jsx($l,{initialNodes:o,initialEdges:r,defaultNodes:i,defaultEdges:a,initialWidth:s,initialHeight:l,fitView:c,initialFitViewOptions:u,initialMinZoom:d,initialMaxZoom:f,nodeOrigin:h,nodeExtent:p,children:n})}const Fl={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var Yl,Zl=ss(function({nodes:n,edges:o,defaultNodes:r,defaultEdges:i,className:a,nodeTypes:s,edgeTypes:l,onNodeClick:c,onEdgeClick:u,onInit:d,onMove:f,onMoveStart:h,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:y,onClickConnectStart:v,onClickConnectEnd:b,onNodeMouseEnter:w,onNodeMouseMove:x,onNodeMouseLeave:_,onNodeContextMenu:E,onNodeDoubleClick:k,onNodeDragStart:S,onNodeDrag:O,onNodeDragStop:C,onNodesDelete:N,onEdgesDelete:M,onDelete:P,onSelectionChange:j,onSelectionDragStart:I,onSelectionDrag:T,onSelectionDragStop:z,onSelectionContextMenu:R,onSelectionStart:D,onSelectionEnd:A,onBeforeDelete:L,connectionMode:V,connectionLineType:B=ir.Bezier,connectionLineStyle:$,connectionLineComponent:H,connectionLineContainerStyle:F,deleteKeyCode:Y="Backspace",selectionKeyCode:Z="Shift",selectionOnDrag:q=!1,selectionMode:G=or.Full,panActivationKeyCode:W="Space",multiSelectionKeyCode:K=(Lr()?"Meta":"Control"),zoomActivationKeyCode:U=(Lr()?"Meta":"Control"),snapToGrid:Q,snapGrid:J,onlyRenderVisibleElements:ee=!1,selectNodesOnDrag:te,nodesDraggable:ne,autoPanOnNodeFocus:oe,nodesConnectable:re,nodesFocusable:ie,nodeOrigin:ae=$a,edgesFocusable:se,edgesReconnectable:le,elementsSelectable:ce=!0,defaultViewport:ue=Ha,minZoom:de=.5,maxZoom:fe=2,translateExtent:he=Qo,preventScrolling:pe=!0,nodeExtent:ge,defaultMarkerColor:me="#b1b1b7",zoomOnScroll:ye=!0,zoomOnPinch:ve=!0,panOnScroll:be=!1,panOnScrollSpeed:we=.5,panOnScrollMode:xe=nr.Free,zoomOnDoubleClick:_e=!0,panOnDrag:Ee=!0,onPaneClick:ke,onPaneMouseEnter:Se,onPaneMouseMove:Oe,onPaneMouseLeave:Ce,onPaneScroll:Ne,onPaneContextMenu:Me,paneClickDistance:Pe=0,nodeClickDistance:je=0,children:Ie,onReconnect:Te,onReconnectStart:ze,onReconnectEnd:Re,onEdgeContextMenu:De,onEdgeDoubleClick:Ae,onEdgeMouseEnter:Le,onEdgeMouseMove:Ve,onEdgeMouseLeave:Be,reconnectRadius:$e=10,onNodesChange:He,onEdgesChange:Fe,noDragClassName:Ye="nodrag",noWheelClassName:Ze="nowheel",noPanClassName:qe="nopan",fitView:Xe,fitViewOptions:Ge,connectOnClick:We,attributionPosition:Ke,proOptions:Ue,defaultEdgeOptions:Qe,elevateNodesOnSelect:Je,elevateEdgesOnSelect:et,disableKeyboardA11y:tt=!1,autoPanOnConnect:nt,autoPanOnNodeDrag:ot,autoPanSpeed:rt,connectionRadius:it,isValidConnection:at,onError:st,style:lt,id:ct,nodeDragThreshold:ut,connectionDragThreshold:dt,viewport:ft,onViewportChange:ht,width:pt,height:gt,colorMode:mt="light",debug:yt,onScroll:vt,ariaLabelConfig:bt,...wt},xt){const _t=ct||"1",Et=function(e){const[n,o]=t.useState("system"===e?null:e);return t.useEffect(()=>{if("system"!==e)return void o(e);const t=Xa(),n=()=>o(t?.matches?"dark":"light");return n(),t?.addEventListener("change",n),()=>{t?.removeEventListener("change",n)}},[e]),null!==n?n:Xa()?.matches?"dark":"light"}(mt),kt=t.useCallback(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),vt?.(e)},[vt]);return e.jsx("div",{"data-testid":"rf__wrapper",...wt,onScroll:kt,style:{...lt,...Fl},ref:xt,className:X(["react-flow",a,Et]),id:ct,role:"application",children:e.jsxs(Hl,{nodes:n,edges:o,width:pt,height:gt,fitView:Xe,fitViewOptions:Ge,minZoom:de,maxZoom:fe,nodeOrigin:ae,nodeExtent:ge,children:[e.jsx(Ll,{onInit:d,onNodeClick:c,onEdgeClick:u,onNodeMouseEnter:w,onNodeMouseMove:x,onNodeMouseLeave:_,onNodeContextMenu:E,onNodeDoubleClick:k,nodeTypes:s,edgeTypes:l,connectionLineType:B,connectionLineStyle:$,connectionLineComponent:H,connectionLineContainerStyle:F,selectionKeyCode:Z,selectionOnDrag:q,selectionMode:G,deleteKeyCode:Y,multiSelectionKeyCode:K,panActivationKeyCode:W,zoomActivationKeyCode:U,onlyRenderVisibleElements:ee,defaultViewport:ue,translateExtent:he,minZoom:de,maxZoom:fe,preventScrolling:pe,zoomOnScroll:ye,zoomOnPinch:ve,zoomOnDoubleClick:_e,panOnScroll:be,panOnScrollSpeed:we,panOnScrollMode:xe,panOnDrag:Ee,onPaneClick:ke,onPaneMouseEnter:Se,onPaneMouseMove:Oe,onPaneMouseLeave:Ce,onPaneScroll:Ne,onPaneContextMenu:Me,paneClickDistance:Pe,nodeClickDistance:je,onSelectionContextMenu:R,onSelectionStart:D,onSelectionEnd:A,onReconnect:Te,onReconnectStart:ze,onReconnectEnd:Re,onEdgeContextMenu:De,onEdgeDoubleClick:Ae,onEdgeMouseEnter:Le,onEdgeMouseMove:Ve,onEdgeMouseLeave:Be,reconnectRadius:$e,defaultMarkerColor:me,noDragClassName:Ye,noWheelClassName:Ze,noPanClassName:qe,rfId:_t,disableKeyboardA11y:tt,nodeExtent:ge,viewport:ft,onViewportChange:ht}),e.jsx(qa,{nodes:n,edges:o,defaultNodes:r,defaultEdges:i,onConnect:g,onConnectStart:m,onConnectEnd:y,onClickConnectStart:v,onClickConnectEnd:b,nodesDraggable:ne,autoPanOnNodeFocus:oe,nodesConnectable:re,nodesFocusable:ie,edgesFocusable:se,edgesReconnectable:le,elementsSelectable:ce,elevateNodesOnSelect:Je,elevateEdgesOnSelect:et,minZoom:de,maxZoom:fe,nodeExtent:ge,onNodesChange:He,onEdgesChange:Fe,snapToGrid:Q,snapGrid:J,connectionMode:V,translateExtent:he,connectOnClick:We,defaultEdgeOptions:Qe,fitView:Xe,fitViewOptions:Ge,onNodesDelete:N,onEdgesDelete:M,onDelete:P,onNodeDragStart:S,onNodeDrag:O,onNodeDragStop:C,onSelectionDrag:T,onSelectionDragStart:I,onSelectionDragStop:z,onMove:f,onMoveStart:h,onMoveEnd:p,noPanClassName:qe,nodeOrigin:ae,rfId:_t,autoPanOnConnect:nt,autoPanOnNodeDrag:ot,autoPanSpeed:rt,onError:st,connectionRadius:it,isValidConnection:at,selectNodesOnDrag:te,nodeDragThreshold:ut,connectionDragThreshold:dt,onBeforeDelete:L,paneClickDistance:Pe,debug:yt,ariaLabelConfig:bt}),e.jsx(Ba,{onSelectionChange:j}),Ie,e.jsx(za,{proOptions:Ue,position:Ke}),e.jsx(Ia,{rfId:_t,disableKeyboardA11y:tt})]})})});function ql({dimensions:t,lineWidth:n,variant:o,className:r}){return e.jsx("path",{strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:X(["react-flow__background-pattern",o,r])})}function Xl({radius:t,className:n}){return e.jsx("circle",{cx:t,cy:t,r:t,className:X(["react-flow__background-pattern","dots",n])})}!function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"}(Yl||(Yl={}));const Gl={[Yl.Dots]:1,[Yl.Lines]:1,[Yl.Cross]:6},Wl=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Kl({id:n,variant:o=Yl.Dots,gap:r=20,size:i,lineWidth:a=1,offset:s=0,color:l,bgColor:c,style:u,className:d,patternClassName:f}){const h=t.useRef(null),{transform:p,patternId:g}=Ea(Wl,ba),m=i||Gl[o],y=o===Yl.Dots,v=o===Yl.Cross,b=Array.isArray(r)?r:[r,r],w=[b[0]*p[2]||1,b[1]*p[2]||1],x=m*p[2],_=Array.isArray(s)?s:[s,s],E=v?[x,x]:w,k=[_[0]*p[2]||1+E[0]/2,_[1]*p[2]||1+E[1]/2],S=`${g}${n||""}`;return e.jsxs("svg",{className:X(["react-flow__background",d]),style:{...u,...ms,"--xy-background-color-props":c,"--xy-background-pattern-color-props":l},ref:h,"data-testid":"rf__background",children:[e.jsx("pattern",{id:S,x:p[0]%w[0],y:p[1]%w[1],width:w[0],height:w[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${k[0]},-${k[1]})`,children:y?e.jsx(Xl,{radius:x/2,className:f}):e.jsx(ql,{dimensions:E,lineWidth:a,variant:o,className:f})}),e.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${S})`})]})}function Ul(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:e.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Ql(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:e.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Jl(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:e.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 ec(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:e.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 tc(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:e.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 nc({children:t,className:n,...o}){return e.jsx("button",{type:"button",className:X(["react-flow__controls-button",n]),...o,children:t})}Kl.displayName="Background",t.memo(Kl);const oc=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function rc({style:t,showZoom:n=!0,showFitView:o=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:s,onFitView:l,onInteractiveChange:c,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":p}){const g=ka(),{isInteractive:m,minZoomReached:y,maxZoomReached:v,ariaLabelConfig:b}=Ea(oc,ba),{zoomIn:w,zoomOut:x,fitView:_}=hs(),E="horizontal"===h?"horizontal":"vertical";return e.jsxs(Ta,{className:X(["react-flow__controls",E,u]),position:f,style:t,"data-testid":"rf__controls","aria-label":p??b["controls.ariaLabel"],children:[n&&e.jsxs(e.Fragment,{children:[e.jsx(nc,{onClick:()=>{w(),a?.()},className:"react-flow__controls-zoomin",title:b["controls.zoomIn.ariaLabel"],"aria-label":b["controls.zoomIn.ariaLabel"],disabled:v,children:e.jsx(Ul,{})}),e.jsx(nc,{onClick:()=>{x(),s?.()},className:"react-flow__controls-zoomout",title:b["controls.zoomOut.ariaLabel"],"aria-label":b["controls.zoomOut.ariaLabel"],disabled:y,children:e.jsx(Ql,{})})]}),o&&e.jsx(nc,{className:"react-flow__controls-fitview",onClick:()=>{_(i),l?.()},title:b["controls.fitView.ariaLabel"],"aria-label":b["controls.fitView.ariaLabel"],children:e.jsx(Jl,{})}),r&&e.jsx(nc,{className:"react-flow__controls-interactive",onClick:()=>{g.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),c?.(!m)},title:b["controls.interactive.ariaLabel"],"aria-label":b["controls.interactive.ariaLabel"],children:m?e.jsx(tc,{}):e.jsx(ec,{})}),d]})}rc.displayName="Controls";const ic=t.memo(rc);const ac=t.memo(function({id:t,x:n,y:o,width:r,height:i,style:a,color:s,strokeColor:l,strokeWidth:c,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:p}){const{background:g,backgroundColor:m}=a||{},y=s||g||m;return e.jsx("rect",{className:X(["react-flow__minimap-node",{selected:h},u]),x:n,y:o,rx:d,ry:d,width:r,height:i,style:{fill:y,stroke:l,strokeWidth:c},shapeRendering:f,onClick:p?e=>p(e,t):void 0})}),sc=e=>e.nodes.map(e=>e.id),lc=e=>e instanceof Function?e:()=>e;const cc=t.memo(function({id:t,nodeColorFunc:n,nodeStrokeColorFunc:o,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:s,NodeComponent:l,onClick:c}){const{node:u,x:d,y:f,width:h,height:p}=Ea(e=>{const{internals:n}=e.nodeLookup.get(t),o=n.userNode,{x:r,y:i}=n.positionAbsolute,{width:a,height:s}=Br(o);return{node:o,x:r,y:i,width:a,height:s}},ba);return u&&!u.hidden&&$r(u)?e.jsx(l,{x:d,y:f,width:h,height:p,style:u.style,selected:!!u.selected,className:r(u),color:n(u),borderRadius:i,strokeColor:o(u),strokeWidth:a,shapeRendering:s,onClick:c,id:u.id}):null});var uc=t.memo(function({nodeStrokeColor:t,nodeColor:n,nodeClassName:o="",nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=ac,onClick:s}){const l=Ea(sc,ba),c=lc(n),u=lc(t),d=lc(o),f="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision";return e.jsx(e.Fragment,{children:l.map(t=>e.jsx(cc,{id:t,nodeColorFunc:c,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:s,shapeRendering:f},t))})});const dc=e=>!e.hidden,fc=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?Nr(hr(e.nodeLookup,{filter:dc}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function hc({style:n,className:o,nodeStrokeColor:r,nodeColor:i,nodeClassName:a="",nodeBorderRadius:s=5,nodeStrokeWidth:l,nodeComponent:c,bgColor:u,maskColor:d,maskStrokeColor:f,maskStrokeWidth:h,position:p="bottom-right",onClick:g,onNodeClick:m,pannable:y=!1,zoomable:v=!1,ariaLabel:b,inversePan:w,zoomStep:x=10,offsetScale:_=5}){const E=ka(),k=t.useRef(null),{boundingRect:S,viewBB:O,rfId:C,panZoom:N,translateExtent:M,flowWidth:P,flowHeight:j,ariaLabelConfig:I}=Ea(fc,ba),T=n?.width??200,z=n?.height??150,R=S.width/T,D=S.height/z,A=Math.max(R,D),L=A*T,V=A*z,B=_*A,$=S.x-(L-S.width)/2-B,H=S.y-(V-S.height)/2-B,F=L+2*B,Y=V+2*B,Z=`react-flow__minimap-desc-${C}`,q=t.useRef(0),G=t.useRef();q.current=A,t.useEffect(()=>{if(k.current&&N)return G.current=function({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const r=dt(e);return{update:function({translateExtent:e,width:i,height:a,zoomStep:s=10,pannable:l=!0,zoomable:c=!0,inversePan:u=!1}){let d=[0,0];const f=Lo().on("start",e=>{"mousedown"!==e.sourceEvent.type&&"touchstart"!==e.sourceEvent.type||(d=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on("zoom",l?r=>{const s=n();if("mousemove"!==r.sourceEvent.type&&"touchmove"!==r.sourceEvent.type||!t)return;const l=[r.sourceEvent.clientX??r.sourceEvent.touches[0].clientX,r.sourceEvent.clientY??r.sourceEvent.touches[0].clientY],c=[l[0]-d[0],l[1]-d[1]];d=l;const f=o()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),h={x:s[0]-c[0]*f,y:s[1]-c[1]*f},p=[[0,0],[i,a]];t.setViewportConstrained({x:h.x,y:h.y,zoom:s[2]},p,e)}:null).on("zoom.wheel",c?e=>{const o=n();if("wheel"!==e.sourceEvent.type||!t)return;const r=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*s,i=o[2]*Math.pow(2,r);t.scaleTo(i)}:null);r.call(f,{})},destroy:function(){r.on("zoom",null)},pointer:ft}}({domNode:k.current,panZoom:N,getTransform:()=>E.getState().transform,getViewScale:()=>q.current}),()=>{G.current?.destroy()}},[N]),t.useEffect(()=>{G.current?.update({translateExtent:M,width:P,height:j,inversePan:w,pannable:y,zoomStep:x,zoomable:v})},[y,v,w,x,M,P,j]);const W=g?e=>{const[t,n]=G.current?.pointer(e)||[0,0];g(e,{x:t,y:n})}:void 0,K=m?t.useCallback((e,t)=>{const n=E.getState().nodeLookup.get(t).internals.userNode;m(e,n)},[]):void 0,U=b??I["minimap.ariaLabel"];return e.jsx(Ta,{position:p,style:{...n,"--xy-minimap-background-color-props":"string"==typeof u?u:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof d?d:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof f?f:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof h?h*A:void 0,"--xy-minimap-node-background-color-props":"string"==typeof i?i:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof r?r:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof l?l:void 0},className:X(["react-flow__minimap",o]),"data-testid":"rf__minimap",children:e.jsxs("svg",{width:T,height:z,viewBox:`${$} ${H} ${F} ${Y}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Z,ref:k,onClick:W,children:[U&&e.jsx("title",{id:Z,children:U}),e.jsx(uc,{onClick:K,nodeColor:i,nodeStrokeColor:r,nodeBorderRadius:s,nodeClassName:a,nodeStrokeWidth:l,nodeComponent:c}),e.jsx("path",{className:"react-flow__minimap-mask",d:`M${$-B},${H-B}h${F+2*B}v${Y+2*B}h${-F-2*B}z\n M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}hc.displayName="MiniMap",t.memo(hc);const pc={[Fi.Line]:"right",[Fi.Handle]:"bottom-right"};t.memo(function({nodeId:n,position:o,variant:r=Fi.Handle,className:i,style:a,children:s,color:l,minWidth:c=10,minHeight:u=10,maxWidth:d=Number.MAX_VALUE,maxHeight:f=Number.MAX_VALUE,keepAspectRatio:h=!1,resizeDirection:p,autoScale:g=!0,shouldResize:m,onResizeStart:y,onResize:v,onResizeEnd:b}){const w=Ms(),x="string"==typeof n?n:w,_=ka(),E=t.useRef(null),k=r===Fi.Handle,S=Ea(t.useCallback((O=k&&g,e=>O?`${Math.max(1/e.transform[2],1)}`:void 0),[k,g]),ba);var O;const C=t.useRef(null),N=o??pc[r];t.useEffect(()=>{if(E.current&&x)return C.current||(C.current=Ui({domNode:E.current,nodeId:x,getStoreItems:()=>{const{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,domNode:i}=_.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,paneDomNode:i}},onChange:(e,t)=>{const{triggerNodeChanges:n,nodeLookup:o,parentLookup:r,nodeOrigin:i}=_.getState(),a=[],s={x:e.x,y:e.y},l=o.get(x);if(l&&l.expandParent&&l.parentId){const t=l.origin??i,n=e.width??l.measured.width??0,c=e.height??l.measured.height??0,u=_i([{id:l.id,parentId:l.parentId,rect:{width:n,height:c,...Hr({x:e.x??l.position.x,y:e.y??l.position.y},{width:n,height:c},l.parentId,o,t)}}],o,r,i);a.push(...u),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*c,e.y):void 0}if(void 0!==s.x&&void 0!==s.y){const e={id:x,type:"position",position:{...s}};a.push(e)}if(void 0!==e.width&&void 0!==e.height){const t={id:x,type:"dimensions",resizing:!0,setAttributes:!p||("horizontal"===p?"width":"height"),dimensions:{width:e.width,height:e.height}};a.push(t)}for(const e of t){const t={...e,type:"position"};a.push(t)}n(a)},onEnd:({width:e,height:t})=>{const n={id:x,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}};_.getState().triggerNodeChanges([n])}})),C.current.update({controlPosition:N,boundaries:{minWidth:c,minHeight:u,maxWidth:d,maxHeight:f},keepAspectRatio:h,resizeDirection:p,onResizeStart:y,onResize:v,onResizeEnd:b,shouldResize:m}),()=>{C.current?.destroy()}},[N,c,u,d,f,h,y,v,b,m]);const M=N.split("-");return e.jsx("div",{className:X(["react-flow__resize-control","nodrag",...M,r,i]),ref:E,style:{...a,scale:S,...l&&{[k?"backgroundColor":"borderColor"]:l}},children:s})});var gc,mc,yc,vc,bc,wc,xc,_c,Ec,kc,Sc,Oc,Cc,Nc,Mc,Pc,jc,Ic,Tc,zc,Rc,Dc,Ac,Lc,Vc,Bc,$c,Hc,Fc,Yc,Zc,qc,Xc,Gc,Wc,Kc,Uc,Qc,Jc,eu,tu,nu,ou,ru,iu,au,su,lu,cu,uu,du,fu,hu,pu,gu,mu,yu,vu,bu,wu,xu,_u,Eu,ku,Su,Ou,Cu,Nu,Mu,Pu,ju,Iu,Tu,zu,Ru,Du,Au,Lu,Vu,Bu,$u,Hu,Fu,Yu,Zu,qu,Xu,Gu,Wu,Ku,Uu,Qu,Ju,ed;function td(){if(mc)return gc;mc=1;var e="\0";function t(e,t){e[t]?e[t]++:e[t]=1}function n(e,t){--e[t]||delete e[t]}function o(e,t,n,o){var r=""+t,i=""+n;if(!e&&r>i){var a=r;r=i,i=a}return r+""+i+""+(void 0===o?"\0":o)}function r(e,t){return o(e,t.v,t.w,t.name)}return gc=class{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(t){t&&(this._isDirected=!Object.hasOwn(t,"directed")||t.directed,this._isMultigraph=!!Object.hasOwn(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.hasOwn(t,"compound")&&t.compound),this._isCompound&&(this._parent={},this._children={},this._children[e]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=e,"function"!=typeof e&&(this._defaultNodeLabelFn=()=>e),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var e=this;return this.nodes().filter(t=>0===Object.keys(e._in[t]).length)}sinks(){var e=this;return this.nodes().filter(t=>0===Object.keys(e._out[t]).length)}setNodes(e,t){var n=arguments,o=this;return e.forEach(function(e){n.length>1?o.setNode(e,t):o.setNode(e)}),this}setNode(t,n){return Object.hasOwn(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=n),this):(this._nodes[t]=arguments.length>1?n:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=e,this._children[t]={},this._children[e][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.hasOwn(this._nodes,e)}removeNode(e){var t=this;if(Object.hasOwn(this._nodes,e)){var n=e=>t.removeEdge(t._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(function(e){t.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(n),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(t,n){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(void 0===n)n=e;else{for(var o=n+="";void 0!==o;o=this.parent(o))if(o===t)throw new Error("Setting "+n+" as parent of "+t+" would create a cycle");this.setNode(n)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=n,this._children[n][t]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(t){if(this._isCompound){var n=this._parent[t];if(n!==e)return n}}children(t=e){if(this._isCompound){var n=this._children[t];if(n)return Object.keys(n)}else{if(t===e)return this.nodes();if(this.hasNode(t))return[]}}predecessors(e){var t=this._preds[e];if(t)return Object.keys(t)}successors(e){var t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){var t=this.predecessors(e);if(t){const o=new Set(t);for(var n of this.successors(e))o.add(n);return Array.from(o.values())}}isLeaf(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var n=this;Object.entries(this._nodes).forEach(function([n,o]){e(n)&&t.setNode(n,o)}),Object.values(this._edgeObjs).forEach(function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))});var o={};function r(e){var i=n.parent(e);return void 0===i||t.hasNode(i)?(o[e]=i,i):i in o?o[i]:r(i)}return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,r(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=e,"function"!=typeof e&&(this._defaultEdgeLabelFn=()=>e),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){var n=this,o=arguments;return e.reduce(function(e,r){return o.length>1?n.setEdge(e,r,t):n.setEdge(e,r),r}),this}setEdge(){var e,n,r,i,a=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(e=s.v,n=s.w,r=s.name,2===arguments.length&&(i=arguments[1],a=!0)):(e=s,n=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,n=""+n,void 0!==r&&(r=""+r);var l=o(this._isDirected,e,n,r);if(Object.hasOwn(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(void 0!==r&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(n),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,n,r);var c=function(e,t,n,o){var r=""+t,i=""+n;if(!e&&r>i){var a=r;r=i,i=a}var s={v:r,w:i};o&&(s.name=o);return s}(this._isDirected,e,n,r);return e=c.v,n=c.w,Object.freeze(c),this._edgeObjs[l]=c,t(this._preds[n],e),t(this._sucs[e],n),this._in[n][l]=c,this._out[e][l]=c,this._edgeCount++,this}edge(e,t,n){var i=1===arguments.length?r(this._isDirected,arguments[0]):o(this._isDirected,e,t,n);return this._edgeLabels[i]}edgeAsObj(){const e=this.edge(...arguments);return"object"!=typeof e?{label:e}:e}hasEdge(e,t,n){var i=1===arguments.length?r(this._isDirected,arguments[0]):o(this._isDirected,e,t,n);return Object.hasOwn(this._edgeLabels,i)}removeEdge(e,t,i){var a=1===arguments.length?r(this._isDirected,arguments[0]):o(this._isDirected,e,t,i),s=this._edgeObjs[a];return s&&(e=s.v,t=s.w,delete this._edgeLabels[a],delete this._edgeObjs[a],n(this._preds[t],e),n(this._sucs[e],t),delete this._in[t][a],delete this._out[e][a],this._edgeCount--),this}inEdges(e,t){var n=this._in[e];if(n){var o=Object.values(n);return t?o.filter(e=>e.v===t):o}}outEdges(e,t){var n=this._out[e];if(n){var o=Object.values(n);return t?o.filter(e=>e.w===t):o}}nodeEdges(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}},gc}function nd(){return wc?bc:(wc=1,bc={Graph:td(),version:vc?yc:(vc=1,yc="2.2.4")})}function od(){if(_c)return xc;_c=1;var e=td();function t(e){return e.nodes().map(function(t){var n=e.node(t),o=e.parent(t),r={v:t};return void 0!==n&&(r.value=n),void 0!==o&&(r.parent=o),r})}function n(e){return e.edges().map(function(t){var n=e.edge(t),o={v:t.v,w:t.w};return void 0!==t.name&&(o.name=t.name),void 0!==n&&(o.value=n),o})}return xc={write:function(e){var o={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:t(e),edges:n(e)};void 0!==e.graph()&&(o.value=structuredClone(e.graph()));return o},read:function(t){var n=new e(t.options).setGraph(t.value);return t.nodes.forEach(function(e){n.setNode(e.v,e.value),e.parent&&n.setParent(e.v,e.parent)}),t.edges.forEach(function(e){n.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),n}}}function rd(){if(kc)return Ec;return kc=1,Ec=function(e){var t,n={},o=[];function r(o){Object.hasOwn(n,o)||(n[o]=!0,t.push(o),e.successors(o).forEach(r),e.predecessors(o).forEach(r))}return e.nodes().forEach(function(e){t=[],r(e),t.length&&o.push(t)}),o},Ec}function id(){if(Oc)return Sc;Oc=1;return Sc=class{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(e){return e.key})}has(e){return Object.hasOwn(this._keyIndices,e)}priority(e){var t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority}min(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key}add(e,t){var n=this._keyIndices;if(e=String(e),!Object.hasOwn(n,e)){var o=this._arr,r=o.length;return n[e]=r,o.push({key:e,priority:t}),this._decrease(r),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){var n=this._keyIndices[e];if(t>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[n].priority+" New: "+t);this._arr[n].priority=t,this._decrease(n)}_heapify(e){var t=this._arr,n=2*e,o=n+1,r=e;n<t.length&&(r=t[n].priority<t[r].priority?n:r,o<t.length&&(r=t[o].priority<t[r].priority?o:r),r!==e&&(this._swap(e,r),this._heapify(r)))}_decrease(e){for(var t,n=this._arr,o=n[e].priority;0!==e&&!(n[t=e>>1].priority<o);)this._swap(e,t),e=t}_swap(e,t){var n=this._arr,o=this._keyIndices,r=n[e],i=n[t];n[e]=i,n[t]=r,o[i.key]=e,o[r.key]=t}},Sc}function ad(){if(Nc)return Cc;Nc=1;var e=id();Cc=function(n,o,r,i){return function(t,n,o,r){var i,a,s={},l=new e,c=function(e){var t=e.v!==i?e.v:e.w,n=s[t],r=o(e),c=a.distance+r;if(r<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+r);c<n.distance&&(n.distance=c,n.predecessor=i,l.decrease(t,c))};t.nodes().forEach(function(e){var t=e===n?0:Number.POSITIVE_INFINITY;s[e]={distance:t},l.add(e,t)});for(;l.size()>0&&(i=l.removeMin(),(a=s[i]).distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return s}(n,String(o),r||t,i||function(e){return n.outEdges(e)})};var t=()=>1;return Cc}function sd(){if(Pc)return Mc;Pc=1;var e=ad();return Mc=function(t,n,o){return t.nodes().reduce(function(r,i){return r[i]=e(t,i,n,o),r},{})},Mc}function ld(){if(Ic)return jc;return Ic=1,jc=function(e){var t=0,n=[],o={},r=[];function i(a){var s=o[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(e){Object.hasOwn(o,e)?o[e].onStack&&(s.lowlink=Math.min(s.lowlink,o[e].index)):(i(e),s.lowlink=Math.min(s.lowlink,o[e].lowlink))}),s.lowlink===s.index){var l,c=[];do{l=n.pop(),o[l].onStack=!1,c.push(l)}while(a!==l);r.push(c)}}return e.nodes().forEach(function(e){Object.hasOwn(o,e)||i(e)}),r},jc}function cd(){if(zc)return Tc;zc=1;var e=ld();return Tc=function(t){return e(t).filter(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}}function ud(){if(Dc)return Rc;Dc=1,Rc=function(t,n,o){return function(e,t,n){var o={},r=e.nodes();return r.forEach(function(e){o[e]={},o[e][e]={distance:0},r.forEach(function(t){e!==t&&(o[e][t]={distance:Number.POSITIVE_INFINITY})}),n(e).forEach(function(n){var r=n.v===e?n.w:n.v,i=t(n);o[e][r]={distance:i,predecessor:e}})}),r.forEach(function(e){var t=o[e];r.forEach(function(n){var i=o[n];r.forEach(function(n){var o=i[e],r=t[n],a=i[n],s=o.distance+r.distance;s<a.distance&&(a.distance=s,a.predecessor=r.predecessor)})})}),o}(t,n||e,o||function(e){return t.outEdges(e)})};var e=()=>1;return Rc}function dd(){if(Lc)return Ac;function e(e){var n={},o={},r=[];if(e.sinks().forEach(function i(a){if(Object.hasOwn(o,a))throw new t;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}),Object.keys(n).length!==e.nodeCount())throw new t;return r}Lc=1;class t extends Error{constructor(){super(...arguments)}}return Ac=e,e.CycleException=t,Ac}function fd(){if(Bc)return Vc;Bc=1;var e=dd();return Vc=function(t){try{e(t)}catch(t){if(t instanceof e.CycleException)return!1;throw t}return!0}}function hd(){if(Hc)return $c;function e(e,t,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),n(t(a[0]),e=>i.push([e,!1])))}}function t(e,t,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),n(t(a),e=>i.push(e)))}}function n(e,t){for(var n=e.length;n--;)t(e[n],n,e);return e}return Hc=1,$c=function(n,o,r){Array.isArray(o)||(o=[o]);var i=n.isDirected()?e=>n.successors(e):e=>n.neighbors(e),a="post"===r?e:t,s=[],l={};return o.forEach(e=>{if(!n.hasNode(e))throw new Error("Graph does not have node: "+e);a(e,i,l,s)}),s},$c}function pd(){if(Yc)return Fc;Yc=1;var e=hd();return Fc=function(t,n){return e(t,n,"post")}}function gd(){if(qc)return Zc;qc=1;var e=hd();return Zc=function(t,n){return e(t,n,"pre")}}function md(){if(Gc)return Xc;Gc=1;var e=td(),t=id();return Xc=function(n,o){var r,i=new e,a={},s=new t;function l(e){var t=e.v===r?e.w:e.v,n=s.priority(t);if(void 0!==n){var i=o(e);i<n&&(a[t]=r,s.decrease(t,i))}}if(0===n.nodeCount())return i;n.nodes().forEach(function(e){s.add(e,Number.POSITIVE_INFINITY),i.setNode(e)}),s.decrease(n.nodes()[0],0);var c=!1;for(;s.size()>0;){if(r=s.removeMin(),Object.hasOwn(a,r))i.setEdge(r,a[r]);else{if(c)throw new Error("Input graph is not connected: "+n);c=!0}n.nodeEdges(r).forEach(l)}return i},Xc}function yd(){if(Qc)return Uc;Qc=1;var e=nd();return Uc={Graph:e.Graph,json:od(),alg:Kc?Wc:(Kc=1,Wc={components:rd(),dijkstra:ad(),dijkstraAll:sd(),findCycles:cd(),floydWarshall:ud(),isAcyclic:fd(),postorder:pd(),preorder:gd(),prim:md(),tarjan:ld(),topsort:dd()}),version:e.version}}function vd(){if(nu)return tu;nu=1;let e=yd().Graph,t=function(){if(eu)return Jc;function e(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function t(e,t){if("_next"!==e&&"_prev"!==e)return t}return eu=1,Jc=class{constructor(){let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let t=this._sentinel,n=t._prev;if(n!==t)return e(n),n}enqueue(t){let n=this._sentinel;t._prev&&t._next&&e(t),t._next=n._next,n._next._prev=t,n._next=t,t._prev=n}toString(){let e=[],n=this._sentinel,o=n._prev;for(;o!==n;)e.push(JSON.stringify(o,t)),o=o._prev;return"["+e.join(", ")+"]"}}}();tu=function(i,a){if(i.nodeCount()<=1)return[];let s=function(n,o){let i=new e,a=0,s=0;n.nodes().forEach(e=>{i.setNode(e,{v:e,in:0,out:0})}),n.edges().forEach(e=>{let t=i.edge(e.v,e.w)||0,n=o(e),r=t+n;i.setEdge(e.v,e.w,r),s=Math.max(s,i.node(e.v).out+=n),a=Math.max(a,i.node(e.w).in+=n)});let l=function(e){const t=[];for(let n=0;n<e;n++)t.push(n);return t}(s+a+3).map(()=>new t),c=a+1;return i.nodes().forEach(e=>{r(l,c,i.node(e))}),{graph:i,buckets:l,zeroIdx:c}}(i,a||n);return function(e,t,n){let r,i=[],a=t[t.length-1],s=t[0];for(;e.nodeCount();){for(;r=s.dequeue();)o(e,t,n,r);for(;r=a.dequeue();)o(e,t,n,r);if(e.nodeCount())for(let a=t.length-2;a>0;--a)if(r=t[a].dequeue(),r){i=i.concat(o(e,t,n,r,!0));break}}return i}(s.graph,s.buckets,s.zeroIdx).flatMap(e=>i.outEdges(e.v,e.w))};let n=()=>1;function o(e,t,n,o,i){let a=i?[]:void 0;return e.inEdges(o.v).forEach(o=>{let s=e.edge(o),l=e.node(o.v);i&&a.push({v:o.v,w:o.w}),l.out-=s,r(t,n,l)}),e.outEdges(o.v).forEach(o=>{let i=e.edge(o),a=o.w,s=e.node(a);s.in-=i,r(t,n,s)}),e.removeNode(o.v),a}function r(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}return tu}function bd(){if(ru)return ou;ru=1;let e=yd().Graph;function t(e,t,n,o){for(var r=o;e.hasNode(r);)r=a(o);return n.dummy=t,e.setNode(r,n),r}ou={addBorderNode:function(e,n,o,r){let i={width:0,height:0};arguments.length>=4&&(i.rank=o,i.order=r);return t(e,"border",i,n)},addDummyNode:t,applyWithChunking:o,asNonCompoundGraph:function(t){let n=new e({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(e=>{t.children(e).length||n.setNode(e,t.node(e))}),t.edges().forEach(e=>{n.setEdge(e,t.edge(e))}),n},buildLayerMatrix:function(e){let t=s(r(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let o=e.node(n),r=o.rank;void 0!==r&&(t[r][o.order]=n)}),t},intersectRect:function(e,t){let n,o,r=e.x,i=e.y,a=t.x-r,s=t.y-i,l=e.width/2,c=e.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(s)*l>Math.abs(a)*c?(s<0&&(c=-c),n=c*a/s,o=c):(a<0&&(l=-l),n=l,o=l*s/a);return{x:r+n,y:i+o}},mapValues:function(e,t){let n=t;"string"==typeof t&&(n=e=>e[t]);return Object.entries(e).reduce((e,[t,o])=>(e[t]=n(o,t),e),{})},maxRank:r,normalizeRanks:function(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return void 0===n?Number.MAX_VALUE:n}),n=o(Math.min,t);e.nodes().forEach(t=>{let o=e.node(t);Object.hasOwn(o,"rank")&&(o.rank-=n)})},notime:function(e,t){return t()},partition:function(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n},pick:function(e,t){const n={};for(const o of t)void 0!==e[o]&&(n[o]=e[o]);return n},predecessorWeights:function(e){let t=e.nodes().map(t=>{let n={};return e.inEdges(t).forEach(t=>{n[t.v]=(n[t.v]||0)+e.edge(t).weight}),n});return l(e.nodes(),t)},range:s,removeEmptyRanks:function(e){let t=e.nodes().map(t=>e.node(t).rank),n=o(Math.min,t),r=[];e.nodes().forEach(t=>{let o=e.node(t).rank-n;r[o]||(r[o]=[]),r[o].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{void 0===t&&n%a!==0?--i:void 0!==t&&i&&t.forEach(t=>e.node(t).rank+=i)})},simplify:function(t){let n=(new e).setGraph(t.graph());return t.nodes().forEach(e=>n.setNode(e,t.node(e))),t.edges().forEach(e=>{let o=n.edge(e.v,e.w)||{weight:0,minlen:1},r=t.edge(e);n.setEdge(e.v,e.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),n},successorWeights:function(e){let t=e.nodes().map(t=>{let n={};return e.outEdges(t).forEach(t=>{n[t.w]=(n[t.w]||0)+e.edge(t).weight}),n});return l(e.nodes(),t)},time:function(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}},uniqueId:a,zipObject:l};const n=65535;function o(e,t){if(t.length>n){const o=function(e,t=n){const o=[];for(let n=0;n<e.length;n+=t){const r=e.slice(n,n+t);o.push(r)}return o}(t);return e.apply(null,o.map(t=>e.apply(null,t)))}return e.apply(null,t)}function r(e){const t=e.nodes().map(t=>{let n=e.node(t).rank;return void 0===n?Number.MIN_VALUE:n});return o(Math.max,t)}let i=0;function a(e){return e+""+ ++i}function s(e,t,n=1){null==t&&(t=e,e=0);let o=e=>e<t;n<0&&(o=e=>t<e);const r=[];for(let t=e;o(t);t+=n)r.push(t);return r}function l(e,t){return e.reduce((e,n,o)=>(e[n]=t[o],e),{})}return ou}function wd(){if(au)return iu;au=1;let e=vd(),t=bd().uniqueId;return iu={run:function(n){("greedy"===n.graph().acyclicer?e(n,function(e){return t=>e.edge(t).weight}(n)):function(e){let t=[],n={},o={};function r(i){Object.hasOwn(o,i)||(o[i]=!0,n[i]=!0,e.outEdges(i).forEach(e=>{Object.hasOwn(n,e.w)?t.push(e):r(e.w)}),delete n[i])}return e.nodes().forEach(r),t}(n)).forEach(e=>{let o=n.edge(e);n.removeEdge(e),o.forwardName=e.name,o.reversed=!0,n.setEdge(e.w,e.v,o,t("rev"))})},undo:function(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let o=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,o)}})}},iu}function xd(){if(lu)return su;lu=1;let e=bd();return su={run:function(t){t.graph().dummyChains=[],t.edges().forEach(n=>function(t,n){let o,r,i,a=n.v,s=t.node(a).rank,l=n.w,c=t.node(l).rank,u=n.name,d=t.edge(n),f=d.labelRank;if(c===s+1)return;for(t.removeEdge(n),i=0,++s;s<c;++i,++s)d.points=[],r={width:0,height:0,edgeLabel:d,edgeObj:n,rank:s},o=e.addDummyNode(t,"edge",r,"_d"),s===f&&(r.width=d.width,r.height=d.height,r.dummy="edge-label",r.labelpos=d.labelpos),t.setEdge(a,o,{weight:d.weight},u),0===i&&t.graph().dummyChains.push(o),a=o;t.setEdge(a,l,{weight:d.weight},u)}(t,n))},undo:function(e){e.graph().dummyChains.forEach(t=>{let n,o=e.node(t),r=o.edgeLabel;for(e.setEdge(o.edgeObj,r);o.dummy;)n=e.successors(t)[0],e.removeNode(t),r.points.push({x:o.x,y:o.y}),"edge-label"===o.dummy&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),t=n,o=e.node(t)})}},su}function _d(){if(uu)return cu;uu=1;const{applyWithChunking:e}=bd();return cu={longestPath:function(t){var n={};t.sources().forEach(function o(r){var i=t.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=t.outEdges(r).map(e=>null==e?Number.POSITIVE_INFINITY:o(e.w)-t.edge(e).minlen);var s=e(Math.min,a);return s===Number.POSITIVE_INFINITY&&(s=0),i.rank=s})},slack:function(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}},cu}function Ed(){if(fu)return du;fu=1;var e=yd().Graph,t=_d().slack;function n(e,n){return e.nodes().forEach(function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,s=r===a?i.w:a;e.hasNode(s)||t(n,i)||(e.setNode(s,{}),e.setEdge(r,s,{}),o(s))})}),e.nodeCount()}function o(e,n){return n.edges().reduce((o,r)=>{let i=Number.POSITIVE_INFINITY;return e.hasNode(r.v)!==e.hasNode(r.w)&&(i=t(n,r)),i<o[0]?[i,r]:o},[Number.POSITIVE_INFINITY,null])[1]}function r(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}return du=function(i){var a,s,l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(;n(l,i)<u;)a=o(l,i),s=l.hasNode(a.v)?t(i,a):-t(i,a),r(l,i,s);return l},du}function kd(){if(pu)return hu;pu=1;var e=Ed(),t=_d().slack,n=_d().longestPath,o=yd().alg.preorder,r=yd().alg.postorder,i=bd().simplify;function a(t){t=i(t),n(t);var o,r=e(t);for(c(r),s(r,t);o=d(r);)h(r,t,o,f(r,t,o))}function s(e,t){var n=r(e,e.nodes());(n=n.slice(0,n.length-1)).forEach(n=>function(e,t,n){var o=e.node(n),r=o.parent;e.edge(n,r).cutvalue=l(e,t,n)}(e,t,n))}function l(e,t,n){var o=e.node(n).parent,r=!0,i=t.edge(n,o),a=0;return i||(r=!1,i=t.edge(o,n)),a=i.weight,t.nodeEdges(n).forEach(i=>{var s=i.v===n,l=s?i.w:i.v;if(l!==o){var c=s===r,u=t.edge(i).weight;if(a+=c?u:-u,function(e,t,n){return e.hasEdge(t,n)}(e,n,l)){var d=e.edge(n,l).cutvalue;a+=c?-d:d}}}),a}function c(e,t){arguments.length<2&&(t=e.nodes()[0]),u(e,{},1,t)}function u(e,t,n,o,r){var i=n,a=e.node(o);return t[o]=!0,e.neighbors(o).forEach(r=>{Object.hasOwn(t,r)||(n=u(e,t,n,r,o))}),a.low=i,a.lim=n++,r?a.parent=r:delete a.parent,n}function d(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function f(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),s=e.node(i),l=a,c=!1;a.lim>s.lim&&(l=s,c=!0);var u=n.edges().filter(t=>c===p(e,e.node(t.v),l)&&c!==p(e,e.node(t.w),l));return u.reduce((e,o)=>t(n,o)<t(n,e)?o:e)}function h(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),c(e),s(e,t),function(e,t){var n=e.nodes().find(e=>!t.node(e).parent),r=o(e,n);(r=r.slice(1)).forEach(n=>{var o=e.node(n).parent,r=t.edge(n,o),i=!1;r||(r=t.edge(o,n),i=!0),t.node(n).rank=t.node(o).rank+(i?r.minlen:-r.minlen)})}(e,t)}function p(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}return hu=a,a.initLowLimValues=c,a.initCutValues=s,a.calcCutValue=l,a.leaveEdge=d,a.enterEdge=f,a.exchangeEdges=h,hu}function Sd(){if(mu)return gu;mu=1;var e=_d().longestPath,t=Ed(),n=kd();gu=function(n){var i=n.graph().ranker;if(i instanceof Function)return i(n);switch(n.graph().ranker){case"network-simplex":default:r(n);break;case"tight-tree":!function(n){e(n),t(n)}(n);break;case"longest-path":o(n);case"none":}};var o=e;function r(e){n(e)}return gu}function Od(){if(vu)return yu;return vu=1,yu=function(e){let t=function(e){let t={},n=0;function o(r){let i=n;e.children(r).forEach(o),t[r]={low:i,lim:n++}}return e.children().forEach(o),t}(e);e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeObj,i=function(e,t,n,o){let r,i,a=[],s=[],l=Math.min(t[n].low,t[o].low),c=Math.max(t[n].lim,t[o].lim);r=n;do{r=e.parent(r),a.push(r)}while(r&&(t[r].low>l||c>t[r].lim));i=r,r=o;for(;(r=e.parent(r))!==i;)s.push(r);return{path:a.concat(s.reverse()),lca:i}}(e,t,r.v,r.w),a=i.path,s=i.lca,l=0,c=a[l],u=!0;for(;n!==r.w;){if(o=e.node(n),u){for(;(c=a[l])!==s&&e.node(c).maxRank<o.rank;)l++;c===s&&(u=!1)}if(!u){for(;l<a.length-1&&e.node(c=a[l+1]).minRank<=o.rank;)l++;c=a[l]}e.setParent(n,c),n=e.successors(n)[0]}})},yu}function Cd(){if(wu)return bu;wu=1;let e=bd();function t(n,o,r,i,a,s,l){let c=n.children(l);if(!c.length)return void(l!==o&&n.setEdge(o,l,{weight:0,minlen:r}));let u=e.addBorderNode(n,"_bt"),d=e.addBorderNode(n,"_bb"),f=n.node(l);n.setParent(u,l),f.borderTop=u,n.setParent(d,l),f.borderBottom=d,c.forEach(e=>{t(n,o,r,i,a,s,e);let c=n.node(e),f=c.borderTop?c.borderTop:e,h=c.borderBottom?c.borderBottom:e,p=c.borderTop?i:2*i,g=f!==h?1:a-s[l]+1;n.setEdge(u,f,{weight:p,minlen:g,nestingEdge:!0}),n.setEdge(h,d,{weight:p,minlen:g,nestingEdge:!0})}),n.parent(l)||n.setEdge(o,u,{weight:0,minlen:a+s[l]})}return bu={run:function(n){let o=e.addDummyNode(n,"root",{},"_root"),r=function(e){var t={};function n(o,r){var i=e.children(o);i&&i.length&&i.forEach(e=>n(e,r+1)),t[o]=r}return e.children().forEach(e=>n(e,1)),t}(n),i=Object.values(r),a=e.applyWithChunking(Math.max,i)-1,s=2*a+1;n.graph().nestingRoot=o,n.edges().forEach(e=>n.edge(e).minlen*=s);let l=function(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}(n)+1;n.children().forEach(e=>t(n,o,s,l,a,r,e)),n.graph().nodeRankFactor=s},cleanup:function(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}},bu}function Nd(){if(ku)return Eu;function e(e){e.nodes().forEach(n=>t(e.node(n))),e.edges().forEach(n=>t(e.edge(n)))}function t(e){let t=e.width;e.width=e.height,e.height=t}function n(e){e.y=-e.y}function o(e){let t=e.x;e.x=e.y,e.y=t}return ku=1,Eu={adjust:function(t){let n=t.graph().rankdir.toLowerCase();"lr"!==n&&"rl"!==n||e(t)},undo:function(t){let r=t.graph().rankdir.toLowerCase();"bt"!==r&&"rl"!==r||function(e){e.nodes().forEach(t=>n(e.node(t))),e.edges().forEach(t=>{let o=e.edge(t);o.points.forEach(n),Object.hasOwn(o,"y")&&n(o)})}(t);"lr"!==r&&"rl"!==r||(!function(e){e.nodes().forEach(t=>o(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(o),Object.hasOwn(n,"x")&&o(n)})}(t),e(t))}},Eu}function Md(){if(Iu)return ju;Iu=1;let e=bd();return ju=function(t,n){let o={};return t.forEach((e,t)=>{let n=o[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};void 0!==e.barycenter&&(n.barycenter=e.barycenter,n.weight=e.weight)}),n.edges().forEach(e=>{let t=o[e.v],n=o[e.w];void 0!==t&&void 0!==n&&(n.indegree++,t.out.push(o[e.w]))}),function(t){let n=[];function o(e){return t=>{t.merged||(void 0===t.barycenter||void 0===e.barycenter||t.barycenter>=e.barycenter)&&function(e,t){let n=0,o=0;e.weight&&(n+=e.barycenter*e.weight,o+=e.weight);t.weight&&(n+=t.barycenter*t.weight,o+=t.weight);e.vs=t.vs.concat(e.vs),e.barycenter=n/o,e.weight=o,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}function r(e){return n=>{n.in.push(e),0===--n.indegree&&t.push(n)}}for(;t.length;){let e=t.pop();n.push(e),e.in.reverse().forEach(o(e)),e.out.forEach(r(e))}return n.filter(e=>!e.merged).map(t=>e.pick(t,["vs","i","barycenter","weight"]))}(Object.values(o).filter(e=>!e.indegree))}}function Pd(){if(Du)return Ru;Du=1;let e=(Pu||(Pu=1,Mu=function(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(n.length){let o=n.reduce((t,n)=>{let o=e.edge(n),r=e.node(n.v);return{sum:t.sum+o.weight*r.order,weight:t.weight+o.weight}},{sum:0,weight:0});return{v:t,barycenter:o.sum/o.weight,weight:o.weight}}return{v:t}})}),Mu),t=Md(),n=function(){if(zu)return Tu;zu=1;let e=bd();function t(e,t,n){let o;for(;t.length&&(o=t[t.length-1]).i<=n;)t.pop(),e.push(o.vs),n++;return n}return Tu=function(n,o){let r=e.partition(n,e=>Object.hasOwn(e,"barycenter")),i=r.lhs,a=r.rhs.sort((e,t)=>t.i-e.i),s=[],l=0,c=0,u=0;var d;i.sort((d=!!o,(e,t)=>e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:d?t.i-e.i:e.i-t.i)),u=t(s,a,u),i.forEach(e=>{u+=e.vs.length,s.push(e.vs),l+=e.barycenter*e.weight,c+=e.weight,u=t(s,a,u)});let f={vs:s.flat(!0)};return c&&(f.barycenter=l/c,f.weight=c),f}}();return Ru=function o(r,i,a,s){let l=r.children(i),c=r.node(i),u=c?c.borderLeft:void 0,d=c?c.borderRight:void 0,f={};u&&(l=l.filter(e=>e!==u&&e!==d));let h=e(r,l);h.forEach(e=>{if(r.children(e.v).length){let i=o(r,e.v,a,s);f[e.v]=i,Object.hasOwn(i,"barycenter")&&(n=i,void 0!==(t=e).barycenter?(t.barycenter=(t.barycenter*t.weight+n.barycenter*n.weight)/(t.weight+n.weight),t.weight+=n.weight):(t.barycenter=n.barycenter,t.weight=n.weight))}var t,n});let p=t(h,a);!function(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}(p,f);let g=n(p,s);if(u&&(g.vs=[u,g.vs,d].flat(!0),r.predecessors(u).length)){let e=r.node(r.predecessors(u)[0]),t=r.node(r.predecessors(d)[0]);Object.hasOwn(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+e.order+t.order)/(g.weight+2),g.weight+=2}return g},Ru}function jd(){if(Lu)return Au;Lu=1;let e=yd().Graph,t=bd();return Au=function(n,o,r){let i=function(e){var n;for(;e.hasNode(n=t.uniqueId("_root")););return n}(n),a=new e({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(e=>n.node(e));return n.nodes().forEach(e=>{let t=n.node(e),s=n.parent(e);(t.rank===o||t.minRank<=o&&o<=t.maxRank)&&(a.setNode(e),a.setParent(e,s||i),n[r](e).forEach(t=>{let o=t.v===e?t.w:t.v,r=a.edge(o,e),i=void 0!==r?r.weight:0;a.setEdge(o,e,{weight:n.edge(t).weight+i})}),Object.hasOwn(t,"minRank")&&a.setNode(e,{borderLeft:t.borderLeft[o],borderRight:t.borderRight[o]}))}),a},Au}function Id(){if(Hu)return $u;Hu=1;let e=function(){if(Ou)return Su;Ou=1;let e=bd();return Su=function(t){let n={},o=t.nodes().filter(e=>!t.children(e).length),r=o.map(e=>t.node(e).rank),i=e.applyWithChunking(Math.max,r),a=e.range(i+1).map(()=>[]);return o.sort((e,n)=>t.node(e).rank-t.node(n).rank).forEach(function e(o){if(n[o])return;n[o]=!0;let r=t.node(o);a[r.rank].push(o),t.successors(o).forEach(e)}),a},Su}(),t=function(){if(Nu)return Cu;Nu=1;let e=bd().zipObject;function t(t,n,o){let r=e(o,o.map((e,t)=>t)),i=n.flatMap(e=>t.outEdges(e).map(e=>({pos:r[e.w],weight:t.edge(e).weight})).sort((e,t)=>e.pos-t.pos)),a=1;for(;a<o.length;)a<<=1;let s=2*a-1;a-=1;let l=new Array(s).fill(0),c=0;return i.forEach(e=>{let t=e.pos+a;l[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=l[t+1]),t=t-1>>1,l[t]+=e.weight;c+=e.weight*n}),c}return Cu=function(e,n){let o=0;for(let r=1;r<n.length;++r)o+=t(e,n[r-1],n[r]);return o},Cu}(),n=Pd(),o=jd(),r=(Bu||(Bu=1,Vu=function(e,t,n){let o,r={};n.forEach(n=>{let i,a,s=e.parent(n);for(;s;){if(i=e.parent(s),i?(a=r[i],r[i]=s):(a=o,o=s),a&&a!==s)return void t.setEdge(a,s);s=i}})}),Vu),i=yd().Graph,a=bd();function s(e,t,n){return t.map(function(t){return o(e,t,n)})}function l(e,t){let o=new i;e.forEach(function(e){let i=e.graph().root,a=n(e,i,o,t);a.vs.forEach((t,n)=>e.node(t).order=n),r(e,o,a.vs)})}function c(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}return $u=function n(o,r){if(r&&"function"==typeof r.customOrder)return void r.customOrder(o,n);let i=a.maxRank(o),u=s(o,a.range(1,i+1),"inEdges"),d=s(o,a.range(i-1,-1,-1),"outEdges"),f=e(o);if(c(o,f),r&&r.disableOptimalOrderHeuristic)return;let h,p=Number.POSITIVE_INFINITY;for(let e=0,n=0;n<4;++e,++n){l(e%2?u:d,e%4>=2),f=a.buildLayerMatrix(o);let r=t(o,f);r<p&&(n=0,h=Object.assign({},f),p=r)}c(o,h)},$u}function Td(){if(Yu)return Fu;Yu=1;let e=yd().Graph,t=bd();function n(e,t){let n={};return t.length&&t.reduce(function(t,o){let i=0,a=0,s=t.length,l=o[o.length-1];return o.forEach((t,c)=>{let u=function(e,t){if(e.node(t).dummy)return e.predecessors(t).find(t=>e.node(t).dummy)}(e,t),d=u?e.node(u).order:s;(u||t===l)&&(o.slice(a,c+1).forEach(t=>{e.predecessors(t).forEach(o=>{let a=e.node(o),s=a.order;!(s<i||d<s)||a.dummy&&e.node(t).dummy||r(n,o,t)})}),a=c+1,i=d)}),o}),n}function o(e,n){let o={};function i(n,i,a,s,l){let c;t.range(i,a).forEach(t=>{c=n[t],e.node(c).dummy&&e.predecessors(c).forEach(t=>{let n=e.node(t);n.dummy&&(n.order<s||n.order>l)&&r(o,t,c)})})}return n.length&&n.reduce(function(t,n){let o,r=-1,a=0;return n.forEach((s,l)=>{if("border"===e.node(s).dummy){let t=e.predecessors(s);t.length&&(o=e.node(t[0]).order,i(n,a,l,r,o),a=l,r=o)}i(n,a,n.length,o,t.length)}),n}),o}function r(e,t,n){if(t>n){let e=t;t=n,n=e}let o=e[t];o||(e[t]=o={}),o[n]=!0}function i(e,t,n){if(t>n){let e=t;t=n,n=e}return!!e[t]&&Object.hasOwn(e[t],n)}function a(e,t,n,o){let r={},a={},s={};return t.forEach(e=>{e.forEach((e,t)=>{r[e]=e,a[e]=e,s[e]=t})}),t.forEach(e=>{let t=-1;e.forEach(e=>{let l=o(e);if(l.length){l=l.sort((e,t)=>s[e]-s[t]);let o=(l.length-1)/2;for(let c=Math.floor(o),u=Math.ceil(o);c<=u;++c){let o=l[c];a[e]===e&&t<s[o]&&!i(n,e,o)&&(a[o]=e,a[e]=r[e]=r[o],t=s[o])}}})}),{root:r,align:a}}function s(t,n,o,r,i){let a={},s=function(t,n,o,r){let i=new e,a=t.graph(),s=function(e,t,n){return(o,r,i)=>{let a,s=o.node(r),l=o.node(i),c=0;if(c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":a=-s.width/2;break;case"r":a=s.width/2}if(a&&(c+=n?a:-a),a=0,c+=(s.dummy?t:e)/2,c+=(l.dummy?t:e)/2,c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":a=l.width/2;break;case"r":a=-l.width/2}return a&&(c+=n?a:-a),a=0,c}}(a.nodesep,a.edgesep,r);return n.forEach(e=>{let n;e.forEach(e=>{let r=o[e];if(i.setNode(r),n){var a=o[n],l=i.edge(a,r);i.setEdge(a,r,Math.max(s(t,e,n),l||0))}n=e})}),i}(t,n,o,i),l=i?"borderLeft":"borderRight";function c(e,t){let n=s.nodes(),o=n.pop(),r={};for(;o;)r[o]?e(o):(r[o]=!0,n.push(o),n=n.concat(t(o))),o=n.pop()}return c(function(e){a[e]=s.inEdges(e).reduce((e,t)=>Math.max(e,a[t.v]+s.edge(t)),0)},s.predecessors.bind(s)),c(function(e){let n=s.outEdges(e).reduce((e,t)=>Math.min(e,a[t.w]-s.edge(t)),Number.POSITIVE_INFINITY),o=t.node(e);n!==Number.POSITIVE_INFINITY&&o.borderType!==l&&(a[e]=Math.max(a[e],n))},s.successors.bind(s)),Object.keys(r).forEach(e=>a[e]=a[o[e]]),a}function l(e,t){return Object.values(t).reduce((t,n)=>{let o=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY;Object.entries(n).forEach(([t,n])=>{let i=function(e,t){return e.node(t).width}(e,t)/2;o=Math.max(n+i,o),r=Math.min(n-i,r)});const i=o-r;return i<t[0]&&(t=[i,n]),t},[Number.POSITIVE_INFINITY,null])[1]}function c(e,n){let o=Object.values(n),r=t.applyWithChunking(Math.min,o),i=t.applyWithChunking(Math.max,o);["u","d"].forEach(o=>{["l","r"].forEach(a=>{let s=o+a,l=e[s];if(l===n)return;let c=Object.values(l),u=r-t.applyWithChunking(Math.min,c);"l"!==a&&(u=i-t.applyWithChunking(Math.max,c)),u&&(e[s]=t.mapValues(l,e=>e+u))})})}function u(e,n){return t.mapValues(e.ul,(t,o)=>{if(n)return e[n.toLowerCase()][o];{let t=Object.values(e).map(e=>e[o]).sort((e,t)=>e-t);return(t[1]+t[2])/2}})}return Fu={positionX:function(e){let r,i=t.buildLayerMatrix(e),d=Object.assign(n(e,i),o(e,i)),f={};["u","d"].forEach(n=>{r="u"===n?i:Object.values(i).reverse(),["l","r"].forEach(o=>{"r"===o&&(r=r.map(e=>Object.values(e).reverse()));let i=("u"===n?e.predecessors:e.successors).bind(e),l=a(e,r,d,i),c=s(e,r,l.root,l.align,"r"===o);"r"===o&&(c=t.mapValues(c,e=>-e)),f[n+o]=c})});let h=l(e,f);return c(f,h),u(f,e.graph().align)},findType1Conflicts:n,findType2Conflicts:o,addConflict:r,hasConflict:i,verticalAlignment:a,horizontalCompaction:s,alignCoordinates:c,findSmallestWidthAlignment:l,balance:u}}function zd(){if(qu)return Zu;qu=1;let e=bd(),t=Td().positionX;return Zu=function(n){(function(t){let n=e.buildLayerMatrix(t),o=t.graph().ranksep,r=0;n.forEach(e=>{const n=e.reduce((e,n)=>{const o=t.node(n).height;return e>o?e:o},0);e.forEach(e=>t.node(e).y=r+n/2),r+=n+o})})(n=e.asNonCompoundGraph(n)),Object.entries(t(n)).forEach(([e,t])=>n.node(e).x=t)},Zu}function Rd(){if(Gu)return Xu;Gu=1;let e=wd(),t=xd(),n=Sd(),o=bd().normalizeRanks,r=Od(),i=bd().removeEmptyRanks,a=Cd(),s=function(){if(_u)return xu;_u=1;let e=bd();function t(t,n,o,r,i,a){let s={width:0,height:0,rank:a,borderType:n},l=i[n][a-1],c=e.addDummyNode(t,"border",s,o);i[n][a]=c,t.setParent(c,r),l&&t.setEdge(l,c,{weight:1})}return xu=function(e){e.children().forEach(function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let n=i.minRank,r=i.maxRank+1;n<r;++n)t(e,"borderLeft","_bl",o,i,n),t(e,"borderRight","_br",o,i,n)}})},xu}(),l=Nd(),c=Id(),u=zd(),d=bd(),f=yd().Graph;Xu=function(E,k){let S=k&&k.debugTiming?d.time:d.notime;S("layout",()=>{let O=S(" buildLayoutGraph",()=>function(e){let t=new f({multigraph:!0,compound:!0}),n=_(e.graph());return t.setGraph(Object.assign({},p,x(n,h),d.pick(n,g))),e.nodes().forEach(n=>{const o=x(_(e.node(n)),m);Object.keys(y).forEach(e=>{void 0===o[e]&&(o[e]=y[e])}),t.setNode(n,o),t.setParent(n,e.parent(n))}),e.edges().forEach(n=>{let o=_(e.edge(n));t.setEdge(n,Object.assign({},b,x(o,v),d.pick(o,w)))}),t}(E));S(" runLayout",()=>function(f,h,p){h(" makeSpaceForEdgeLabels",()=>function(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let o=e.edge(n);o.minlen*=2,"c"!==o.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?o.width+=o.labeloffset:o.height+=o.labeloffset)})}(f)),h(" removeSelfEdges",()=>function(e){e.edges().forEach(t=>{if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}(f)),h(" acyclic",()=>e.run(f)),h(" nestingGraph.run",()=>a.run(f)),h(" rank",()=>n(d.asNonCompoundGraph(f))),h(" injectEdgeLabelProxies",()=>function(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v),o={rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t};d.addDummyNode(e,"edge-proxy",o,"_ep")}})}(f)),h(" removeEmptyRanks",()=>i(f)),h(" nestingGraph.cleanup",()=>a.cleanup(f)),h(" normalizeRanks",()=>o(f)),h(" assignRankMinMax",()=>function(e){let t=0;e.nodes().forEach(n=>{let o=e.node(n);o.borderTop&&(o.minRank=e.node(o.borderTop).rank,o.maxRank=e.node(o.borderBottom).rank,t=Math.max(t,o.maxRank))}),e.graph().maxRank=t}(f)),h(" removeEdgeLabelProxies",()=>function(e){e.nodes().forEach(t=>{let n=e.node(t);"edge-proxy"===n.dummy&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}(f)),h(" normalize.run",()=>t.run(f)),h(" parentDummyChains",()=>r(f)),h(" addBorderSegments",()=>s(f)),h(" order",()=>c(f,p)),h(" insertSelfEdges",()=>function(e){var t=d.buildLayerMatrix(e);t.forEach(t=>{var n=0;t.forEach((t,o)=>{var r=e.node(t);r.order=o+n,(r.selfEdges||[]).forEach(t=>{d.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:r.rank,order:o+ ++n,e:t.e,label:t.label},"_se")}),delete r.selfEdges})})}(f)),h(" adjustCoordinateSystem",()=>l.adjust(f)),h(" position",()=>u(f)),h(" positionSelfEdges",()=>function(e){e.nodes().forEach(t=>{var n=e.node(t);if("selfedge"===n.dummy){var o=e.node(n.e.v),r=o.x+o.width/2,i=o.y,a=n.x-r,s=o.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:r+2*a/3,y:i-s},{x:r+5*a/6,y:i-s},{x:r+a,y:i},{x:r+5*a/6,y:i+s},{x:r+2*a/3,y:i+s}],n.label.x=n.x,n.label.y=n.y}})}(f)),h(" removeBorderNodes",()=>function(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),o=e.node(n.borderTop),r=e.node(n.borderBottom),i=e.node(n.borderLeft[n.borderLeft.length-1]),a=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(a.x-i.x),n.height=Math.abs(r.y-o.y),n.x=i.x+n.width/2,n.y=o.y+n.height/2}}),e.nodes().forEach(t=>{"border"===e.node(t).dummy&&e.removeNode(t)})}(f)),h(" normalize.undo",()=>t.undo(f)),h(" fixupEdgeLabelCoords",()=>function(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}})}(f)),h(" undoCoordinateSystem",()=>l.undo(f)),h(" translateGraph",()=>function(e){let t=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,r=0,i=e.graph(),a=i.marginx||0,s=i.marginy||0;function l(e){let i=e.x,a=e.y,s=e.width,l=e.height;t=Math.min(t,i-s/2),n=Math.max(n,i+s/2),o=Math.min(o,a-l/2),r=Math.max(r,a+l/2)}e.nodes().forEach(t=>l(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,"x")&&l(n)}),t-=a,o-=s,e.nodes().forEach(n=>{let r=e.node(n);r.x-=t,r.y-=o}),e.edges().forEach(n=>{let r=e.edge(n);r.points.forEach(e=>{e.x-=t,e.y-=o}),Object.hasOwn(r,"x")&&(r.x-=t),Object.hasOwn(r,"y")&&(r.y-=o)}),i.width=n-t+a,i.height=r-o+s}(f)),h(" assignNodeIntersects",()=>function(e){e.edges().forEach(t=>{let n,o,r=e.edge(t),i=e.node(t.v),a=e.node(t.w);r.points?(n=r.points[0],o=r.points[r.points.length-1]):(r.points=[],n=a,o=i),r.points.unshift(d.intersectRect(i,n)),r.points.push(d.intersectRect(a,o))})}(f)),h(" reversePoints",()=>function(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}(f)),h(" acyclic.undo",()=>e.undo(f))}(O,S,k)),S(" updateInputGraph",()=>function(e,t){e.nodes().forEach(n=>{let o=e.node(n),r=t.node(n);o&&(o.x=r.x,o.y=r.y,o.rank=r.rank,t.children(n).length&&(o.width=r.width,o.height=r.height))}),e.edges().forEach(n=>{let o=e.edge(n),r=t.edge(n);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}(E,O))})};let h=["nodesep","edgesep","ranksep","marginx","marginy"],p={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},g=["acyclicer","ranker","rankdir","align"],m=["width","height","rank"],y={width:0,height:0},v=["minlen","weight","width","height","labeloffset"],b={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},w=["labelpos"];function x(e,t){return d.mapValues(d.pick(e,t),Number)}function _(e){var t={};return e&&Object.entries(e).forEach(([e,n])=>{"string"==typeof e&&(e=e.toLowerCase()),t[e]=n}),t}return Xu}function Dd(){if(Ku)return Wu;Ku=1;let e=bd(),t=yd().Graph;return Wu={debugOrdering:function(n){let o=e.buildLayerMatrix(n),r=new t({compound:!0,multigraph:!0}).setGraph({});return n.nodes().forEach(e=>{r.setNode(e,{label:e}),r.setParent(e,"layer"+n.node(e).rank)}),n.edges().forEach(e=>r.setEdge(e.v,e.w,{},e.name)),o.forEach((e,t)=>{let n="layer"+t;r.setNode(n,{rank:"same"}),e.reduce((e,t)=>(r.setEdge(e,t,{style:"invis"}),t))}),r}},Wu}r("/* this gets exported as style.css and can be used for the default theming */\n/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */\n.react-flow {\n direction: ltr;\n\n --xy-edge-stroke-default: #b1b1b7;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #555;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);\n\n --xy-minimap-background-color-default: #fff;\n --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #e2e2e2;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: transparent;\n --xy-background-pattern-dots-color-default: #91919a;\n --xy-background-pattern-lines-color-default: #eee;\n --xy-background-pattern-cross-color-default: #e2e2e2;\n background-color: var(--xy-background-color, var(--xy-background-color-default));\n --xy-node-color-default: inherit;\n --xy-node-border-default: 1px solid #1a192b;\n --xy-node-background-color-default: #fff;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;\n --xy-node-border-radius-default: 3px;\n\n --xy-handle-background-color-default: #1a192b;\n --xy-handle-border-color-default: #fff;\n\n --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);\n\n --xy-controls-button-background-color-default: #fefefe;\n --xy-controls-button-background-color-hover-default: #f4f4f4;\n --xy-controls-button-color-default: inherit;\n --xy-controls-button-color-hover-default: inherit;\n --xy-controls-button-border-color-default: #eee;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #ffffff;\n --xy-edge-label-color-default: inherit;\n --xy-resize-background-color-default: #3367d9;\n}\n.react-flow.dark {\n --xy-edge-stroke-default: #3e3e3e;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #727272;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);\n\n --xy-minimap-background-color-default: #141414;\n --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #2b2b2b;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: #141414;\n --xy-background-pattern-dots-color-default: #777;\n --xy-background-pattern-lines-color-default: #777;\n --xy-background-pattern-cross-color-default: #777;\n --xy-node-color-default: #f8f8f8;\n --xy-node-border-default: 1px solid #3c3c3c;\n --xy-node-background-color-default: #1e1e1e;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;\n\n --xy-handle-background-color-default: #bebebe;\n --xy-handle-border-color-default: #1e1e1e;\n\n --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);\n\n --xy-controls-button-background-color-default: #2b2b2b;\n --xy-controls-button-background-color-hover-default: #3e3e3e;\n --xy-controls-button-color-default: #f8f8f8;\n --xy-controls-button-color-hover-default: #fff;\n --xy-controls-button-border-color-default: #5b5b5b;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #141414;\n --xy-edge-label-color-default: #f8f8f8;\n}\n.react-flow__background {\n background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));\n pointer-events: none;\n z-index: -1;\n}\n.react-flow__container {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n.react-flow__pane {\n z-index: 1;\n}\n.react-flow__pane.draggable {\n cursor: grab;\n }\n.react-flow__pane.dragging {\n cursor: grabbing;\n }\n.react-flow__pane.selection {\n cursor: pointer;\n }\n.react-flow__viewport {\n transform-origin: 0 0;\n z-index: 2;\n pointer-events: none;\n}\n.react-flow__renderer {\n z-index: 4;\n}\n.react-flow__selection {\n z-index: 6;\n}\n.react-flow__nodesselection-rect:focus,\n.react-flow__nodesselection-rect:focus-visible {\n outline: none;\n}\n.react-flow__edge-path {\n stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));\n fill: none;\n}\n.react-flow__connection-path {\n stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));\n stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));\n fill: none;\n}\n.react-flow .react-flow__edges {\n position: absolute;\n}\n.react-flow .react-flow__edges svg {\n overflow: visible;\n position: absolute;\n pointer-events: none;\n }\n.react-flow__edge {\n pointer-events: visibleStroke;\n}\n.react-flow__edge.selectable {\n cursor: pointer;\n }\n.react-flow__edge.animated path {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\n.react-flow__edge.animated path.react-flow__edge-interaction {\n stroke-dasharray: none;\n animation: none;\n }\n.react-flow__edge.inactive {\n pointer-events: none;\n }\n.react-flow__edge.selected,\n .react-flow__edge:focus,\n .react-flow__edge:focus-visible {\n outline: none;\n }\n.react-flow__edge.selected .react-flow__edge-path,\n .react-flow__edge.selectable:focus .react-flow__edge-path,\n .react-flow__edge.selectable:focus-visible .react-flow__edge-path {\n stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));\n }\n.react-flow__edge-textwrapper {\n pointer-events: all;\n }\n.react-flow__edge .react-flow__edge-text {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__connection {\n pointer-events: none;\n}\n.react-flow__connection .animated {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\nsvg.react-flow__connectionline {\n z-index: 1001;\n overflow: visible;\n position: absolute;\n}\n.react-flow__nodes {\n pointer-events: none;\n transform-origin: 0 0;\n}\n.react-flow__node {\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n pointer-events: all;\n transform-origin: 0 0;\n box-sizing: border-box;\n cursor: default;\n}\n.react-flow__node.selectable {\n cursor: pointer;\n }\n.react-flow__node.draggable {\n cursor: grab;\n pointer-events: all;\n }\n.react-flow__node.draggable.dragging {\n cursor: grabbing;\n }\n.react-flow__nodesselection {\n z-index: 3;\n transform-origin: left top;\n pointer-events: none;\n}\n.react-flow__nodesselection-rect {\n position: absolute;\n pointer-events: all;\n cursor: grab;\n }\n.react-flow__handle {\n position: absolute;\n pointer-events: none;\n min-width: 5px;\n min-height: 5px;\n width: 6px;\n height: 6px;\n background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));\n border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));\n border-radius: 100%;\n}\n.react-flow__handle.connectingfrom {\n pointer-events: all;\n }\n.react-flow__handle.connectionindicator {\n pointer-events: all;\n cursor: crosshair;\n }\n.react-flow__handle-bottom {\n top: auto;\n left: 50%;\n bottom: 0;\n transform: translate(-50%, 50%);\n }\n.react-flow__handle-top {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-left {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-right {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n }\n.react-flow__edgeupdater {\n cursor: move;\n pointer-events: all;\n}\n.react-flow__pane.selection .react-flow__panel {\n pointer-events: none;\n}\n.react-flow__panel {\n position: absolute;\n z-index: 5;\n margin: 15px;\n}\n.react-flow__panel.top {\n top: 0;\n }\n.react-flow__panel.bottom {\n bottom: 0;\n }\n.react-flow__panel.top.center, .react-flow__panel.bottom.center {\n left: 50%;\n transform: translateX(-15px) translateX(-50%);\n }\n.react-flow__panel.left {\n left: 0;\n }\n.react-flow__panel.right {\n right: 0;\n }\n.react-flow__panel.left.center, .react-flow__panel.right.center {\n top: 50%;\n transform: translateY(-15px) translateY(-50%);\n }\n.react-flow__attribution {\n font-size: 10px;\n background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));\n padding: 2px 3px;\n margin: 0;\n}\n.react-flow__attribution a {\n text-decoration: none;\n color: #999;\n }\n@keyframes dashdraw {\n from {\n stroke-dashoffset: 10;\n }\n}\n.react-flow__edgelabel-renderer {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n left: 0;\n top: 0;\n}\n.react-flow__viewport-portal {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.react-flow__minimap {\n background: var(\n --xy-minimap-background-color-props,\n var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))\n );\n}\n.react-flow__minimap-svg {\n display: block;\n }\n.react-flow__minimap-mask {\n fill: var(\n --xy-minimap-mask-background-color-props,\n var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))\n );\n stroke: var(\n --xy-minimap-mask-stroke-color-props,\n var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-mask-stroke-width-props,\n var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))\n );\n }\n.react-flow__minimap-node {\n fill: var(\n --xy-minimap-node-background-color-props,\n var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))\n );\n stroke: var(\n --xy-minimap-node-stroke-color-props,\n var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-node-stroke-width-props,\n var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))\n );\n }\n.react-flow__background-pattern.dots {\n fill: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))\n );\n }\n.react-flow__background-pattern.lines {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))\n );\n }\n.react-flow__background-pattern.cross {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))\n );\n }\n.react-flow__controls {\n display: flex;\n flex-direction: column;\n box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));\n}\n.react-flow__controls.horizontal {\n flex-direction: row;\n }\n.react-flow__controls-button {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 26px;\n width: 26px;\n padding: 4px;\n border: none;\n background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));\n border-bottom: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n color: var(\n --xy-controls-button-color-props,\n var(--xy-controls-button-color, var(--xy-controls-button-color-default))\n );\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__controls-button svg {\n width: 100%;\n max-width: 12px;\n max-height: 12px;\n fill: currentColor;\n }\n.react-flow__edge.updating .react-flow__edge-path {\n stroke: #777;\n }\n.react-flow__edge-text {\n font-size: 10px;\n }\n.react-flow__node.selectable:focus,\n .react-flow__node.selectable:focus-visible {\n outline: none;\n }\n.react-flow__node-input,\n.react-flow__node-default,\n.react-flow__node-output,\n.react-flow__node-group {\n padding: 10px;\n border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));\n width: 150px;\n font-size: 12px;\n color: var(--xy-node-color, var(--xy-node-color-default));\n text-align: center;\n border: var(--xy-node-border, var(--xy-node-border-default));\n background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));\n}\n.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {\n box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));\n }\n.react-flow__node-input.selectable.selected,\n .react-flow__node-input.selectable:focus,\n .react-flow__node-input.selectable:focus-visible,\n .react-flow__node-default.selectable.selected,\n .react-flow__node-default.selectable:focus,\n .react-flow__node-default.selectable:focus-visible,\n .react-flow__node-output.selectable.selected,\n .react-flow__node-output.selectable:focus,\n .react-flow__node-output.selectable:focus-visible,\n .react-flow__node-group.selectable.selected,\n .react-flow__node-group.selectable:focus,\n .react-flow__node-group.selectable:focus-visible {\n box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));\n }\n.react-flow__node-group {\n background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));\n}\n.react-flow__nodesselection-rect,\n.react-flow__selection {\n background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));\n border: var(--xy-selection-border, var(--xy-selection-border-default));\n}\n.react-flow__nodesselection-rect:focus,\n .react-flow__nodesselection-rect:focus-visible,\n .react-flow__selection:focus,\n .react-flow__selection:focus-visible {\n outline: none;\n }\n.react-flow__controls-button:hover {\n background: var(\n --xy-controls-button-background-color-hover-props,\n var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))\n );\n color: var(\n --xy-controls-button-color-hover-props,\n var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))\n );\n }\n.react-flow__controls-button:disabled {\n pointer-events: none;\n }\n.react-flow__controls-button:disabled svg {\n fill-opacity: 0.4;\n }\n.react-flow__controls-button:last-child {\n border-bottom: none;\n }\n.react-flow__controls.horizontal .react-flow__controls-button {\n border-bottom: none;\n border-right: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n }\n.react-flow__controls.horizontal .react-flow__controls-button:last-child {\n border-right: none;\n }\n.react-flow__resize-control {\n position: absolute;\n}\n.react-flow__resize-control.left,\n.react-flow__resize-control.right {\n cursor: ew-resize;\n}\n.react-flow__resize-control.top,\n.react-flow__resize-control.bottom {\n cursor: ns-resize;\n}\n.react-flow__resize-control.top.left,\n.react-flow__resize-control.bottom.right {\n cursor: nwse-resize;\n}\n.react-flow__resize-control.bottom.left,\n.react-flow__resize-control.top.right {\n cursor: nesw-resize;\n}\n/* handle styles */\n.react-flow__resize-control.handle {\n width: 5px;\n height: 5px;\n border: 1px solid #fff;\n border-radius: 1px;\n background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n translate: -50% -50%;\n}\n.react-flow__resize-control.handle.left {\n left: 0;\n top: 50%;\n}\n.react-flow__resize-control.handle.right {\n left: 100%;\n top: 50%;\n}\n.react-flow__resize-control.handle.top {\n left: 50%;\n top: 0;\n}\n.react-flow__resize-control.handle.bottom {\n left: 50%;\n top: 100%;\n}\n.react-flow__resize-control.handle.top.left {\n left: 0;\n}\n.react-flow__resize-control.handle.bottom.left {\n left: 0;\n}\n.react-flow__resize-control.handle.top.right {\n left: 100%;\n}\n.react-flow__resize-control.handle.bottom.right {\n left: 100%;\n}\n/* line styles */\n.react-flow__resize-control.line {\n border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n border-width: 0;\n border-style: solid;\n}\n.react-flow__resize-control.line.left,\n.react-flow__resize-control.line.right {\n width: 1px;\n transform: translate(-50%, 0);\n top: 0;\n height: 100%;\n}\n.react-flow__resize-control.line.left {\n left: 0;\n border-left-width: 1px;\n}\n.react-flow__resize-control.line.right {\n left: 100%;\n border-right-width: 1px;\n}\n.react-flow__resize-control.line.top,\n.react-flow__resize-control.line.bottom {\n height: 1px;\n transform: translate(0, -50%);\n left: 0;\n width: 100%;\n}\n.react-flow__resize-control.line.top {\n top: 0;\n border-top-width: 1px;\n}\n.react-flow__resize-control.line.bottom {\n border-bottom-width: 1px;\n top: 100%;\n}\n.react-flow__edge-textbg {\n fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));\n}\n.react-flow__edge-text {\n fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));\n}\n");var Ad=i(ed?Ju:(ed=1,Ju={graphlib:yd(),layout:Rd(),debug:Dd(),util:{time:bd().time,notime:bd().notime},version:Qu?Uu:(Qu=1,Uu="1.1.5")})),Ld={type:ar.ArrowClosed,width:20,height:20,color:"#FF0072"},Vd={strokeWidth:2,stroke:"#FF0072"},Bd=function(n){var o=n.tree,r=hs().fitView,i=function(e){const[n,o]=t.useState(e),r=t.useCallback(e=>o(t=>es(e,t)),[]);return[n,o,r]}([]),a=Y(i,3),s=a[0],l=a[1],c=a[2],u=function(e){const[n,o]=t.useState(e),r=t.useCallback(e=>o(t=>ts(e,t)),[]);return[n,o,r]}([]),d=Y(u,3),f=d[0],h=d[1],p=d[2];return t.useEffect(function(){if(o){var e,t=function(e,t){var n=[],o=[];return Object.keys(e).forEach(function(r,i){e[r].forEach(function(e,i){var a={id:e,flowId:e,position:{x:250,y:200*i},data:{label:String(e)}};if(0==i&&(a.type="input"),i>0){var s=o[o.length-1],l={id:s.flowId+"-"+r+"-"+i+"-"+a.flowId,source:s.flowId,target:a.flowId,animated:t,markerEnd:Ld,style:Vd};n.push(l)}o.push(a)})}),{nodes:o,edges:n}}(o.data,null!==(e=o.animated)&&void 0!==e&&e),n=function(e,t,n){var o=(new Ad.graphlib.Graph).setDefaultEdgeLabel(function(){return{}});return o.setGraph({rankdir:n.direction,ranksep:100,nodesep:170}),t.forEach(function(e){return o.setEdge(e.source,e.target)}),e.forEach(function(e){var t,n,r,i;return o.setNode(e.id,F(F({},e),{},{width:null!==(t=null===(n=e.measured)||void 0===n?void 0:n.width)&&void 0!==t?t:0,height:null!==(r=null===(i=e.measured)||void 0===i?void 0:i.height)&&void 0!==r?r:0}))}),Ad.layout(o),{nodes:e.map(function(e){var t,n,r,i,a=o.node(e.id),s=a.x-(null!==(t=null===(n=e.measured)||void 0===n?void 0:n.width)&&void 0!==t?t:0)/2,l=a.y-(null!==(r=null===(i=e.measured)||void 0===i?void 0:i.height)&&void 0!==r?r:0)/2;return F(F({},e),{},{position:{x:s,y:l}})}),edges:t}}(t.nodes,t.edges,{direction:o.orientation});l(Z(n.nodes)),h(Z(n.edges)),r()}},[o]),e.jsx(Zl,{nodes:s,edges:f,onNodesChange:c,onEdgesChange:p,colorMode:"dark",fitView:!0,children:e.jsx(ic,{})})};r(".file-browser {\n width: 100%;\n height: 100%;\n color: white;\n overflow-y: auto;\n scrollbar-gutter: stable;\n scrollbar-color: rgba(71, 71, 71, 0.4) #252526;\n scrollbar-width: thin;\n background-color: #1e1e1e;\n}");var $d=["color","size","title","className"];function Hd(){return Hd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Hd.apply(null,arguments)}var Fd=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,$d);return t.createElement("svg",Hd({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-braces",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{d:"M2.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C3.25 2 2.49 2.759 2.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6M13.886 7.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V7.332c-1.114 0-1.49-.362-1.49-1.456V4.352C13.51 2.759 12.75 2 11.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6"}))});Fd.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var Yd=["color","size","title","className"];function Zd(){return Zd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Zd.apply(null,arguments)}var qd=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Yd);return t.createElement("svg",Zd({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-chevron-down",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708"}))});qd.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var Xd=["color","size","title","className"];function Gd(){return Gd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Gd.apply(null,arguments)}var Wd=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Xd);return t.createElement("svg",Gd({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-chevron-right",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708"}))});Wd.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var Kd=["color","size","title","className"];function Ud(){return Ud=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Ud.apply(null,arguments)}var Qd=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Kd);return t.createElement("svg",Ud({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-circle-fill",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("circle",{cx:"8",cy:"8",r:"8"}))});Qd.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var Jd=["color","size","title","className"];function ef(){return ef=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},ef.apply(null,arguments)}var tf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Jd);return t.createElement("svg",ef({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-file-code",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{d:"M6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708zm2.708 0a.5.5 0 1 0-.708.708L10.293 8 8.646 9.646a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708z"}),t.createElement("path",{d:"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1"}))});tf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var nf=["color","size","title","className"];function of(){return of=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},of.apply(null,arguments)}var rf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,nf);return t.createElement("svg",of({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-file-earmark",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{d:"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z"}))});rf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var af=["color","size","title","className"];function sf(){return sf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},sf.apply(null,arguments)}var lf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,af);return t.createElement("svg",sf({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-filetype-js",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M14 4.5V14a2 2 0 0 1-2 2H8v-1h4a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM3.186 15.29a1.2 1.2 0 0 1-.111-.449h.765a.58.58 0 0 0 .255.384q.105.073.249.114.143.041.319.041.246 0 .413-.07a.56.56 0 0 0 .255-.193.5.5 0 0 0 .085-.29.39.39 0 0 0-.153-.326q-.151-.12-.462-.193l-.619-.143a1.7 1.7 0 0 1-.539-.214 1 1 0 0 1-.351-.367 1.1 1.1 0 0 1-.123-.524q0-.366.19-.639.19-.272.528-.422.336-.15.776-.149.457 0 .78.152.324.153.5.41.18.255.2.566h-.75a.56.56 0 0 0-.12-.258.6.6 0 0 0-.247-.181.9.9 0 0 0-.369-.068q-.325 0-.513.152a.47.47 0 0 0-.184.384q0 .18.143.3a1 1 0 0 0 .405.175l.62.143q.327.075.566.211.24.136.375.358t.135.56q0 .37-.188.656a1.2 1.2 0 0 1-.539.439q-.351.158-.858.158-.381 0-.665-.09a1.4 1.4 0 0 1-.478-.252 1.1 1.1 0 0 1-.29-.375m-3.104-.033A1.3 1.3 0 0 1 0 14.791h.765a.6.6 0 0 0 .073.27.5.5 0 0 0 .454.246q.285 0 .422-.164.138-.165.138-.466v-2.745h.79v2.725q0 .66-.357 1.005-.354.345-.984.345a1.6 1.6 0 0 1-.569-.094 1.15 1.15 0 0 1-.407-.266 1.1 1.1 0 0 1-.243-.39"}))});lf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var cf=["color","size","title","className"];function uf(){return uf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},uf.apply(null,arguments)}var df=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,cf);return t.createElement("svg",uf({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-filetype-py",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M14 4.5V14a2 2 0 0 1-2 2H7v-1h5a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM0 11.85h1.6q.434 0 .732.179.302.175.46.477t.158.677-.16.677q-.158.299-.464.474a1.45 1.45 0 0 1-.732.173H.79v1.342H0zm2.06 1.714a.8.8 0 0 0 .085-.381q0-.34-.185-.521-.185-.182-.513-.182H.788v1.406h.66a.8.8 0 0 0 .374-.082.57.57 0 0 0 .238-.24m2.963.75v1.535H4.23v-1.52L2.89 11.85h.876l.853 1.696h.032l.856-1.696h.855z"}))});df.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var ff=["color","size","title","className"];function hf(){return hf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},hf.apply(null,arguments)}var pf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,ff);return t.createElement("svg",hf({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-filetype-scss",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.356 15.29a1.2 1.2 0 0 1-.111-.449h.765a.58.58 0 0 0 .255.384q.105.073.249.114.143.041.319.041.246 0 .413-.07a.56.56 0 0 0 .255-.193.5.5 0 0 0 .085-.29.39.39 0 0 0-.153-.326q-.151-.12-.462-.193l-.619-.143a1.7 1.7 0 0 1-.539-.214 1 1 0 0 1-.351-.367 1.1 1.1 0 0 1-.123-.524q0-.366.19-.639.19-.272.528-.422.336-.15.776-.149.457 0 .78.152.324.153.5.41.18.255.2.566h-.75a.56.56 0 0 0-.12-.258.6.6 0 0 0-.247-.181.9.9 0 0 0-.369-.068q-.325 0-.513.152a.47.47 0 0 0-.184.384q0 .18.143.3a1 1 0 0 0 .405.175l.62.143q.326.075.566.211t.375.358.135.56q0 .37-.188.656a1.2 1.2 0 0 1-.539.439q-.351.158-.858.158-.381 0-.665-.09a1.4 1.4 0 0 1-.478-.252 1.1 1.1 0 0 1-.29-.375m4.274-2.23a1.7 1.7 0 0 0-.103.633v.495q0 .369.103.627a.83.83 0 0 0 .298.392.85.85 0 0 0 .478.132.9.9 0 0 0 .401-.088.7.7 0 0 0 .273-.249.8.8 0 0 0 .117-.363h.765v.076a1.27 1.27 0 0 1-.226.674 1.4 1.4 0 0 1-.55.454 1.8 1.8 0 0 1-.786.164q-.54 0-.914-.217a1.4 1.4 0 0 1-.571-.626q-.195-.408-.194-.976v-.498q0-.569.197-.979a1.44 1.44 0 0 1 .57-.633q.38-.222.912-.222.328 0 .607.097.28.093.489.272a1.32 1.32 0 0 1 .466.964v.073h-.765a.85.85 0 0 0-.12-.38.7.7 0 0 0-.273-.261.8.8 0 0 0-.398-.097.8.8 0 0 0-.475.138.87.87 0 0 0-.301.398m2.609 1.781a1.13 1.13 0 0 0 .401.823q.193.162.478.252.284.091.665.091.507 0 .858-.158.354-.158.54-.44a1.17 1.17 0 0 0 .187-.656q0-.336-.135-.56a1 1 0 0 0-.375-.357 2 2 0 0 0-.566-.21l-.62-.144a1 1 0 0 1-.405-.176.37.37 0 0 1-.143-.299q0-.234.184-.384.188-.152.513-.152.213 0 .369.068a.6.6 0 0 1 .246.181.56.56 0 0 1 .12.258h.75a1.1 1.1 0 0 0-.2-.566 1.2 1.2 0 0 0-.5-.41 1.8 1.8 0 0 0-.78-.152q-.438 0-.776.15-.336.149-.527.421-.19.273-.19.639 0 .302.123.524t.351.367q.228.143.54.213l.617.144q.311.073.463.193a.39.39 0 0 1 .153.326.5.5 0 0 1-.085.29.56.56 0 0 1-.255.193 1.1 1.1 0 0 1-.413.07q-.177 0-.32-.04a.8.8 0 0 1-.249-.115.58.58 0 0 1-.255-.384zm3.502.449a1.2 1.2 0 0 1-.11-.449h.764a.58.58 0 0 0 .255.384q.105.073.249.114.143.041.319.041.246 0 .413-.07a.56.56 0 0 0 .255-.193.5.5 0 0 0 .085-.29.39.39 0 0 0-.152-.326q-.153-.12-.463-.193l-.618-.143a1.7 1.7 0 0 1-.54-.214 1 1 0 0 1-.351-.367 1.1 1.1 0 0 1-.123-.524q0-.366.19-.639.19-.272.528-.422.336-.15.776-.149.458 0 .78.152.324.153.5.41.18.255.2.566h-.75a.56.56 0 0 0-.12-.258.6.6 0 0 0-.247-.181.9.9 0 0 0-.369-.068q-.325 0-.512.152a.47.47 0 0 0-.185.384q0 .18.143.3a1 1 0 0 0 .405.175l.62.143q.326.075.566.211t.375.358.135.56q0 .37-.187.656a1.2 1.2 0 0 1-.54.439q-.351.158-.858.158-.381 0-.665-.09a1.4 1.4 0 0 1-.478-.252 1.1 1.1 0 0 1-.29-.375"}))});pf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var gf=["color","size","title","className"];function mf(){return mf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},mf.apply(null,arguments)}var yf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,gf);return t.createElement("svg",mf({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-x-lg",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{d:"M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"}))});yf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};r('.file-node-row {\n width: 100%;\n min-width: 200px;\n display: flex;\n font-size: 13px;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n cursor: pointer;\n height: 28px;\n}\n\n.indent {\n height: 100%;\n margin-left: 10px;\n}\n\n.folder-icon {\n display: flex;\n margin-right: 5px;\n align-items: center;\n}\n\n.file-icon {\n display: flex;\n margin-right: 5px;\n align-items: center;\n}\n\n.file-name {\n color: #DDD;\n display: flex;\n align-items: center;\n}');var vf=function(o){var r=o.id,i=o.parentId,a=o.node,s=n.useDraggable({id:r,data:{type:"FileTreeNode",parentId:i,node:a,preview:e.jsx(bf,{node:a})}}),l=s.attributes,c=s.listeners,u=s.setNodeRef;s.transform;var d=Cf().selectNode,f=t.useCallback(function(){d(a)},[d]);return e.jsxs("div",F(F(F({className:"file-node-row",ref:u},c),l),{},{style:function(){var e={};return a.selected&&(e.backgroundColor="#00426b"),e}(),onClick:f,children:[e.jsx("div",{className:"indent",style:{width:20*a.level+"px"}}),"folder"===a.type?e.jsx("span",{className:"folder-icon",children:a.collapsed?e.jsx(Wd,{}):e.jsx(qd,{})}):e.jsx("span",{className:"file-icon",children:function(){switch(a.name.split(".").pop()){case"js":return e.jsx(lf,{color:"#f1e05a"});case"json":return e.jsx(Fd,{color:"#fffb00"});case"scss":return e.jsx(pf,{color:"#f12727"});case"py":return e.jsx(df,{color:"#686affbd"});default:return e.jsx(tf,{color:"#ffffff"})}}()}),e.jsx("span",{className:"file-name",children:a.name})]}))},bf=function(t){var n=t.node;return e.jsx("div",{className:"file-node-row",children:e.jsx("span",{className:"file-name",children:n.name})})};r("");var wf=function(n){!function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(n);var o=Y(t.useState([]),2),r=o[0],i=o[1],a=Cf().state;t.useEffect(function(){var e;s(null!==(e=a.collapsedTree)&&void 0!==e?e:[])},[a.collapsedTree]);var s=function(t,n){var o=[];t.forEach(function(t){o.push(e.jsx(vf,{parentId:n,node:t,id:"tree-node-"+t.uid},n+"-"+t.uid))}),i(o)};return e.jsx(e.Fragment,{children:r})},xf=t.createContext(),_f=function(e,t){t||(t=0);for(var n=[],o=0;o<e.length;o++){var r=e[o];r.level=t,n.push(r),null!=r&&r.children&&(n=n.concat(_f(r.children,t+1)))}return n},Ef=function(e){for(var t,n,o=[],r=0;r<e.length;r++){if(t){if(!(e[r].level<=n))continue;t=!1}e[r].collapsed&&(t=!0,n=e[r].level),o.push(e[r])}return o},kf={uid:crypto.randomUUID(),tree:{},flattenedTree:[],selectedNode:null,collapsedTree:[]},Sf=function(e,t){switch(t.type){case"ADD_FILE_TREE":var n=function(e){return e.forEach(function(e){e.collapsed=!1}),e}(_f(Z(t.payload))),o=Ef(n);return F(F({},e),{},{tree:t.payload,flattenedTree:n,collapsedTree:o});case"SELECT_NODE":var r=e.flattenedTree.map(function(e){return e.uid===t.payload.uid?F(F({},e),{},{selected:!0,collapsed:!e.collapsed}):F(F({},e),{},{selected:!1})});return F(F({},e),{},{flattenedTree:r,collapsedTree:Ef(r),selectedNode:t.payload});case"RESET_STATE":return kf;default:return e}},Of=t.forwardRef(function(n,o){var r=n.onSelectFile,i=Y(t.useReducer(Sf,kf),2),a=i[0],s=i[1],l=t.useCallback(function(e){s({type:"RESET_STATE"}),s({type:"ADD_FILE_TREE",payload:e})},[]);t.useEffect(function(){a.selectedNode&&"file"===a.selectedNode.type&&r(a.selectedNode)},[a.selectedNode]);var c=t.useCallback(function(e){s({type:"SELECT_NODE",payload:e})},[]),u=t.useMemo(function(){return{state:a,addFileTree:l,selectNode:c}},[a,l,c]);return t.useImperativeHandle(o,function(){return u},[u]),e.jsx(xf.Provider,{value:u,children:e.jsx("div",{className:"file-browser",children:e.jsx(wf,{})})})});function Cf(){var e=t.useContext(xf);if(!e)throw new Error("useFileBrowser must be used inside <FileBrowser>");return e}Of.displayName="FileBrowser";r('.editorContainer {\n position: relative;\n width: 100%;\n height: 100%;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n}\n\n.tabContainer {\n position: absolute;\n top: 0;\n left: 0;\n height: 35px;\n right: 0;\n}\n\n.monacoContainer {\n position: absolute;\n top: 35px;\n left: 0;\n bottom: 0;\n right: 0;\n}');var Nf={DESIGN:1,MAPPING:2},Mf=Nf=Object.freeze(Nf);function Pf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function If(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jf(Object(n),!0).forEach(function(t){Pf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Tf(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zf(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function Rf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Df(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Af(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Df(Object(n),!0).forEach(function(t){Rf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Df(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Lf(e){return function t(){for(var n=this,o=arguments.length,r=new Array(o),i=0;i<o;i++)r[i]=arguments[i];return r.length>=e.length?e.apply(this,r):function(){for(var e=arguments.length,o=new Array(e),i=0;i<e;i++)o[i]=arguments[i];return t.apply(n,[].concat(r,o))}}}function Vf(e){return{}.toString.call(e).includes("Object")}function Bf(e){return"function"==typeof e}var $f=Lf(function(e,t){throw new Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),Hf={changes:function(e,t){return Vf(t)||$f("changeType"),Object.keys(t).some(function(t){return!function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)})&&$f("changeField"),t},selector:function(e){Bf(e)||$f("selectorType")},handler:function(e){Bf(e)||Vf(e)||$f("handlerType"),Vf(e)&&Object.values(e).some(function(e){return!Bf(e)})&&$f("handlersType")},initial:function(e){var t;e||$f("initialIsRequired"),Vf(e)||$f("initialType"),t=e,Object.keys(t).length||$f("initialContent")}};function Ff(e,t){return Bf(t)?t(e.current):t}function Yf(e,t){return e.current=Af(Af({},e.current),t),t}function Zf(e,t,n){return Bf(t)?t(e.current):Object.keys(n).forEach(function(n){var o;return null===(o=t[n])||void 0===o?void 0:o.call(t,e.current[n])}),n}var qf={create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Hf.initial(e),Hf.handler(t);var n={current:e},o=Lf(Zf)(n,t),r=Lf(Yf)(n),i=Lf(Hf.changes)(e),a=Lf(Ff)(n);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return Hf.selector(e),e(n.current)},function(e){!function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}}(o,r,i,a)(e)}]}};var Xf,Gf={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},Wf=(Xf=function(e,t){throw new Error(e[t]||e.default)},function e(){for(var t=this,n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return o.length>=Xf.length?Xf.apply(this,o):function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return e.apply(t,[].concat(o,r))}})(Gf),Kf={config:function(e){var t;return e||Wf("configIsRequired"),t=e,{}.toString.call(t).includes("Object")||Wf("configType"),e.urls?(console.warn(Gf.deprecation),{paths:{vs:e.urls.monacoBase}}):e}};function Uf(e,t){return Object.keys(t).forEach(function(n){t[n]instanceof Object&&e[n]&&Object.assign(t[n],Uf(e[n],t[n]))}),If(If({},e),t)}var Qf={type:"cancelation",msg:"operation is manually canceled"};function Jf(e){var t=!1,n=new Promise(function(n,o){e.then(function(e){return t?o(Qf):n(e)}),e.catch(o)});return n.cancel=function(){return t=!0},n}var eh,th,nh=qf.create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),oh=(th=2,function(e){if(Array.isArray(e))return e}(eh=nh)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],o=!0,r=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(o=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);o=!0);}catch(e){r=!0,i=e}finally{try{o||null==s.return||s.return()}finally{if(r)throw i}}return n}}(eh,th)||function(e,t){if(e){if("string"==typeof e)return zf(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?zf(e,t):void 0}}(eh,th)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),rh=oh[0],ih=oh[1];function ah(e){return document.body.appendChild(e)}function sh(e){var t,n,o=rh(function(e){return{config:e.config,reject:e.reject}}),r=(t="".concat(o.config.paths.vs,"/loader.js"),n=document.createElement("script"),t&&(n.src=t),n);return r.onload=function(){return e()},r.onerror=o.reject,r}function lh(){var e=rh(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){ch(t),e.resolve(t)},function(t){e.reject(t)})}function ch(e){rh().monaco||ih({monaco:e})}var uh=new Promise(function(e,t){return ih({resolve:e,reject:t})}),dh={config:function(e){var t=Kf.config(e),n=t.monaco,o=Tf(t,["monaco"]);ih(function(e){return{config:Uf(e.config,o),monaco:n}})},init:function(){var e=rh(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(ih({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Jf(uh);if(window.monaco&&window.monaco.editor)return ch(window.monaco),e.resolve(window.monaco),Jf(uh);!function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}}(ah,sh)(lh)}return Jf(uh)},__getMonacoInstance:function(){return rh(function(e){return e.monaco})}},fh={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},hh={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}};var ph=function({children:e}){return t.createElement("div",{style:hh.container},e)};var gh=function({width:e,height:n,isEditorReady:o,loading:r,_ref:i,className:a,wrapperProps:s}){return t.createElement("section",{style:{...fh.wrapper,width:e,height:n},...s},!o&&t.createElement(ph,null,r),t.createElement("div",{ref:i,style:{...fh.fullWidth,...!o&&fh.hide},className:a}))},mh=t.memo(gh);var yh=function(e){t.useEffect(e,[])};var vh=function(e,n,o=!0){let r=t.useRef(!0);t.useEffect(r.current||!o?()=>{r.current=!1}:e,n)};function bh(){}function wh(e,t,n,o){return function(e,t){return e.editor.getModel(xh(e,t))}(e,o)||function(e,t,n,o){return e.editor.createModel(t,n,o?xh(e,o):void 0)}(e,t,n,o)}function xh(e,t){return e.Uri.parse(t)}var _h=function({original:e,modified:n,language:o,originalLanguage:r,modifiedLanguage:i,originalModelPath:a,modifiedModelPath:s,keepCurrentOriginalModel:l=!1,keepCurrentModifiedModel:c=!1,theme:u="light",loading:d="Loading...",options:f={},height:h="100%",width:p="100%",className:g,wrapperProps:m={},beforeMount:y=bh,onMount:v=bh}){let[b,w]=t.useState(!1),[x,_]=t.useState(!0),E=t.useRef(null),k=t.useRef(null),S=t.useRef(null),O=t.useRef(v),C=t.useRef(y),N=t.useRef(!1);yh(()=>{let e=dh.init();return e.then(e=>(k.current=e)&&_(!1)).catch(e=>"cancelation"!==e?.type&&console.error("Monaco initialization: error:",e)),()=>E.current?function(){let e=E.current?.getModel();l||e?.original?.dispose(),c||e?.modified?.dispose(),E.current?.dispose()}():e.cancel()}),vh(()=>{if(E.current&&k.current){let t=E.current.getOriginalEditor(),n=wh(k.current,e||"",r||o||"text",a||"");n!==t.getModel()&&t.setModel(n)}},[a],b),vh(()=>{if(E.current&&k.current){let e=E.current.getModifiedEditor(),t=wh(k.current,n||"",i||o||"text",s||"");t!==e.getModel()&&e.setModel(t)}},[s],b),vh(()=>{let e=E.current.getModifiedEditor();e.getOption(k.current.editor.EditorOption.readOnly)?e.setValue(n||""):n!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:n||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[n],b),vh(()=>{E.current?.getModel()?.original.setValue(e||"")},[e],b),vh(()=>{let{original:e,modified:t}=E.current.getModel();k.current.editor.setModelLanguage(e,r||o||"text"),k.current.editor.setModelLanguage(t,i||o||"text")},[o,r,i],b),vh(()=>{k.current?.editor.setTheme(u)},[u],b),vh(()=>{E.current?.updateOptions(f)},[f],b);let M=t.useCallback(()=>{if(!k.current)return;C.current(k.current);let t=wh(k.current,e||"",r||o||"text",a||""),l=wh(k.current,n||"",i||o||"text",s||"");E.current?.setModel({original:t,modified:l})},[o,n,i,e,r,a,s]),P=t.useCallback(()=>{!N.current&&S.current&&(E.current=k.current.editor.createDiffEditor(S.current,{automaticLayout:!0,...f}),M(),k.current?.editor.setTheme(u),w(!0),N.current=!0)},[f,u,M]);return t.useEffect(()=>{b&&O.current(E.current,k.current)},[b]),t.useEffect(()=>{!x&&!b&&P()},[x,b,P]),t.createElement(mh,{width:p,height:h,isEditorReady:b,loading:d,_ref:S,className:g,wrapperProps:m})};t.memo(_h);var Eh=function(e){let n=t.useRef();return t.useEffect(()=>{n.current=e},[e]),n.current},kh=new Map;var Sh=function({defaultValue:e,defaultLanguage:n,defaultPath:o,value:r,language:i,path:a,theme:s="light",line:l,loading:c="Loading...",options:u={},overrideServices:d={},saveViewState:f=!0,keepCurrentModel:h=!1,width:p="100%",height:g="100%",className:m,wrapperProps:y={},beforeMount:v=bh,onMount:b=bh,onChange:w,onValidate:x=bh}){let[_,E]=t.useState(!1),[k,S]=t.useState(!0),O=t.useRef(null),C=t.useRef(null),N=t.useRef(null),M=t.useRef(b),P=t.useRef(v),j=t.useRef(),I=t.useRef(r),T=Eh(a),z=t.useRef(!1),R=t.useRef(!1);yh(()=>{let e=dh.init();return e.then(e=>(O.current=e)&&S(!1)).catch(e=>"cancelation"!==e?.type&&console.error("Monaco initialization: error:",e)),()=>C.current?(j.current?.dispose(),h?f&&kh.set(a,C.current.saveViewState()):C.current.getModel()?.dispose(),void C.current.dispose()):e.cancel()}),vh(()=>{let t=wh(O.current,e||r||"",n||i||"",a||o||"");t!==C.current?.getModel()&&(f&&kh.set(T,C.current?.saveViewState()),C.current?.setModel(t),f&&C.current?.restoreViewState(kh.get(a)))},[a],_),vh(()=>{C.current?.updateOptions(u)},[u],_),vh(()=>{!C.current||void 0===r||(C.current.getOption(O.current.editor.EditorOption.readOnly)?C.current.setValue(r):r!==C.current.getValue()&&(R.current=!0,C.current.executeEdits("",[{range:C.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),C.current.pushUndoStop(),R.current=!1))},[r],_),vh(()=>{let e=C.current?.getModel();e&&i&&O.current?.editor.setModelLanguage(e,i)},[i],_),vh(()=>{void 0!==l&&C.current?.revealLine(l)},[l],_),vh(()=>{O.current?.editor.setTheme(s)},[s],_);let D=t.useCallback(()=>{if(N.current&&O.current&&!z.current){P.current(O.current);let t=a||o,c=wh(O.current,r||e||"",n||i||"",t||"");C.current=O.current?.editor.create(N.current,{model:c,automaticLayout:!0,...u},d),f&&C.current.restoreViewState(kh.get(t)),O.current.editor.setTheme(s),void 0!==l&&C.current.revealLine(l),E(!0),z.current=!0}},[e,n,o,r,i,a,u,d,f,s,l]);return t.useEffect(()=>{_&&M.current(C.current,O.current)},[_]),t.useEffect(()=>{!k&&!_&&D()},[k,_,D]),I.current=r,t.useEffect(()=>{_&&w&&(j.current?.dispose(),j.current=C.current?.onDidChangeModelContent(e=>{R.current||w(C.current.getValue(),e)}))},[_,w]),t.useEffect(()=>{if(_){let e=O.current.editor.onDidChangeMarkers(e=>{let t=C.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=O.current.editor.getModelMarkers({resource:t});x?.(e)}});return()=>{e?.dispose()}}return()=>{}},[_,x]),t.createElement(mh,{width:p,height:g,isEditorReady:_,loading:c,_ref:N,className:m,wrapperProps:y})},Oh=t.memo(Sh);r(".no-tab {\n background-color: #1e1e1e;\n color: #6b6b6b;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset: 0;\n}\n\n.editor-container {\n position: relative;\n width: 100%;\n height: 100%;\n background: #1e1e1e;\n}\n\n.overlay-layer {\n position: absolute;\n left: 0;\n right: 0;\n inset: 0;\n overflow: hidden;\n}\n\n.line-block-overlay {\n z-index: 999;\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.line-block-overlay:hover {\n background-color: rgba(255, 166, 0, 0.3);\n cursor: pointer;\n}");var Ch=t.forwardRef(function(n,o){n.onSelectAbstraction;var r=Lh(),i=r.state,a=r.setUpdatedContent,s=Y(t.useState(!1),2),l=s[0],c=s[1],u=t.useRef(i.activeTab),d=t.useRef(null),f=t.useRef(new Map);t.useEffect(function(){i.activeTab?(u.current=i.activeTab,d.current&&d.current.setModel(h(i.activeTab)),c(!0)):(u.current=null,c(!1))},[i.activeTab,d]),t.useEffect(function(){return function(){f.current.forEach(function(e){return e.dispose()}),f.current.clear()}},[]);var h=t.useCallback(function(e){var t;if(f.current.has(e.uid))t=f.current.get(e.uid);else{var n=monaco.Uri.parse("file:///".concat(e.uid));t=monaco.editor.createModel(e.content,"python",n),f.current.set(e.uid,t)}return t.onDidChangeContent(function(e){a(u.current,d.current.getValue())}),t},[d,f,a]),p=t.useCallback(function(e,t){d.current=e,e.layout(),f.current=new Map,t.editor.getModels().forEach(function(e){return e.dispose()}),u.current&&(d.current.setModel(h(u.current)),c(!0))},[]),g=t.useRef(null),m=t.useRef(0);t.useEffect(function(){if(g.current){var e=new ResizeObserver(function(){cancelAnimationFrame(m.current),m.current=requestAnimationFrame(function(){var e;null===(e=d.current)||void 0===e||e.layout()})});return e.observe(g.current),function(){cancelAnimationFrame(m.current),e.disconnect()}}},[i.activeTab]);var y=t.useCallback(function(e){f.current.has(e)&&(f.current.get(e).dispose(),f.current.delete(e))},[]),v=t.useMemo(function(){return{clearModel:y}},[y]);return t.useImperativeHandle(o,function(){return v},[v]),e.jsxs("div",{className:"editor-container",ref:g,children:[e.jsx(Oh,{defaultLanguage:"python",defaultValue:"Loading content...",onMount:p,theme:"vs-dark",options:{minimap:{enabled:!1},padding:{top:10},renderWhitespace:"none",wordWrap:"on",scrollBeyondLastLine:!1,automaticLayout:!1}}),l?null:e.jsx("div",{className:"no-tab",children:"Select file or drag and drop to view."}),i.mode===Mf.MAPPING&&e.jsx("div",{className:"overlay-layer",onWheel:handleWheel,children:overlayDivs})]})});Ch.propTypes={editorContent:z.string};r(".gutter {\n min-width: 2px;\n height: 35px;\n width: 2px;\n}");var Nh=function(t){var o=t.id,r=t.index,i=t.parentId,a=n.useDroppable({id:o,data:{type:"EditorTabGutter",parentId:i,index:r}}),s=a.setNodeRef,l={backgroundColor:a.isOver?"#FFFFFF":"#222425"};return e.jsx("div",{className:"gutter",ref:s,style:l})};Nh.propTypes={id:z.string.isRequired,parentId:z.string.isRequired,index:z.number.isRequired};r(".tab {\n padding: 0px 18px;\n cursor: default !important;\n height: 35px;\n width: auto;\n}\n\n.tab-content {\n width: auto;\n height: 31px;\n display: flex;\n align-items: center;\n vertical-align: middle;\n overflow-y: hidden;\n}\n\n.tab > .tab-content > .icon {\n padding-right: 2px;\n display: flex;\n align-items: center;\n width: 20px;\n}\n\n.tab > .tab-content > .tab-name {\n display: flex;\n align-items: center;\n width: auto;\n font-size: 13px;\n}\n\n.tab > .tab-content > .close-icon {\n display: flex;\n margin-left: 7px;\n padding-top: 3px;\n align-items: center;\n vertical-align: middle;\n width: 10px;\n cursor: pointer;\n}");var Mh="#1e1e1e",Ph="#FFFFFF",jh=function(o){var r=o.id,i=o.isDirty,a=o.parentId,s=o.node,l=Y(t.useState(),2),c=l[0],u=l[1],d=Lh(),f=d.selectTab,h=d.closeTab,p=d.state,g=n.useDraggable({id:r,data:{type:"EditorTab",parentId:a,node:s,preview:e.jsx(Ih,{node:s})}}),m=g.attributes,y=g.listeners,v=g.setNodeRef;g.transform,t.useEffect(function(){b(p.activeTab&&p.activeTab.uid===s.uid)},[p.activeTab]);var b=function(e){u({backgroundColor:e?Mh:"#2d2d2d",color:e?Ph:"#969690"})};return e.jsx("div",F(F(F({ref:v,style:c,id:r,onMouseDown:function(e){e.stopPropagation(),1===e.button?h(s.uid):f(s.uid)},className:"tab"},y),m),{},{children:e.jsxs("div",{className:"tab-content",children:[i&&e.jsx("div",{className:"icon",children:e.jsx(Qd,{size:6})}),e.jsx("div",{className:"icon",children:e.jsx(rf,{size:14,style:{pointerEvents:"none"}})}),e.jsx("div",{className:"tab-name",children:e.jsx("span",{children:s.name})}),e.jsx("div",{className:"close-icon",onMouseDown:function(e){e.stopPropagation(),h(s.uid)},children:e.jsx(yf,{size:18})})]})}))};jh.propTypes={id:z.string.isRequired,parentId:z.string.isRequired,node:z.shape({name:z.string.isRequired}).isRequired};var Ih=function(t){var n=t.node;return e.jsx("div",{className:"tab",style:{backgroundColor:Mh,color:Ph,opacity:.5},children:e.jsxs("div",{className:"tab-content",children:[e.jsx("div",{className:"icon",children:e.jsx(rf,{size:14,style:{pointerEvents:"none"}})}),e.jsx("div",{className:"tab-name",children:e.jsx("span",{children:n.name})}),e.jsx("div",{className:"close-icon",children:e.jsx(yf,{size:18})})]})})};r(".tabs-container {\n display: flex;\n flex-direction: row;\n height: 35px;\n width: 100%;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n scrollbar-width: thin;\n scrollbar-color: rgba(255, 255, 255, 0.2) transparent;\n}\n\n.tabs-container::-webkit-scrollbar {\n height: 4px;\n}\n\n.tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.tabs-container::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.2);\n border-radius: 4px;\n}");var Th=function(){var n=Lh().state,o=Y(t.useState(),2),r=o[0],i=o[1];t.useEffect(function(){var e;(null===(e=n.tabs)||void 0===e?void 0:e.length)>=0&&null!=n.parentTabGroupId&&a(n.tabs,n.parentTabGroupId)},[n.tabs,n.modifiedIndicator,n.parentTabGroupId]);var a=function(t,n){var o=[];t.forEach(function(t,r){o.push(e.jsx(Nh,{id:n+"-"+r,index:r,parentId:n},t.uid+"-gutter")),o.push(e.jsx(jh,{isDirty:t.isDirty,id:n+"-"+t.uid,parentId:n,node:t},t.uid))}),o.push(e.jsx(Nh,{id:n+"-"+t.length,index:t.length,parentId:n},"last-gutter")),i(o)};return e.jsx("div",{className:"tabs-container",style:{background:"#222425"},children:r})},zh=t.createContext(),Rh={uid:crypto.randomUUID(),tabs:[],activeTab:null,mode:Mf.DESIGN,mapping:new Map,parentTabGroupId:null,mappedIds:[],modifiedIndicator:!1},Dh=function(e,t){switch(t.type){case"ADD_TAB":var n=t.payload,o=n.tab,r=n.index,i=e.tabs.find(function(e){return e.uid===o.uid});if(i)return console.warn("Tab with id ".concat(i.uid," already exists")),F(F({},e),{},{activeTab:i});o.updatedContent=o.content,o.isDirty=!1;var a=Z(e.tabs);return void 0!==r&&r<e.tabs.length?a.splice(r,0,o):a.push(o),F(F({},e),{},{tabs:a,activeTab:o});case"SET_PARENT_TAB_GROUP_ID":return F(F({},e),{},{parentTabGroupId:t.payload});case"SELECT_TAB":var s=e.tabs.find(function(e){return e.uid===t.payload});return s?F(F({},e),{},{activeTab:s}):(console.error("Tab with id ".concat(t.payload," not found.")),e);case"CLOSE_TAB":var l=e.tabs.findIndex(function(e){return e.uid===t.payload});if(-1===l)return console.warn("Tab with id ".concat(t.payload," not found.")),e;var c=Z(e.tabs);c.splice(l,1);var u=e.activeTab,d=e.activeTab&&e.activeTab.uid===t.payload;return d&&l<c.length?u=c[Math.max(0,l)]:d&&l>=c.length&&(u=c.length>0?c[c.length-1]:null),F(F({},e),{},{tabs:c,activeTab:u});case"MOVE_TAB":var f=Z(e.tabs),h=t.payload,p=h.tabId,g=h.newIndex,m=f.findIndex(function(e){return e.uid===p});if(-1===m)return console.warn("Tab with id ".concat(p," not found.")),e;if(g-1===m||g===m)return e;var y=Y(f.splice(m,1),1)[0],v=m<g?g-1:g;return f.splice(v,0,y),F(F({},e),{},{tabs:f});case"SET_MAPPING":var b=t.payload,w=b.mapping,x=b.fileName,_=new Map(e.mapping);return _.set(x,w),F(F({},e),{},{mapping:_});case"SET_MODE":return F(F({},e),{},{mode:t.payload});case"SET_MAPPED_IDS":return F(F({},e),{},{mappedIds:t.payload});case"RESET_STATE":return Rh;case"SET_UPDATED_CONTENT":var E=t.payload,k=E.tab,S=E.content;return k.updatedContent=S,k.isDirty=k.content!==k.updatedContent,F(F({},e),{},{modifiedIndicator:!e.modifiedIndicator,tabs:e.tabs.map(function(e){return e.uid===k.uid?k:e})});case"SET_CONTENT":var O=t.payload,C=O.tab,N=O.content;return C.content=N,C.isDirty=C.content!==C.updatedContent,F(F({},e),{},{modifiedIndicator:!e.modifiedIndicator,tabs:e.tabs.map(function(e){return e.uid===C.uid?C:e})});default:return e}},Ah=t.forwardRef(function(n,o){var r=n.onSelectAbstraction,i=n.onSelectTab,a=Y(t.useReducer(Dh,Rh),2),s=a[0],l=a[1],c=t.useRef(),u=t.useCallback(function(e){l({type:"SELECT_TAB",payload:e}),i&&i(e)},[i]),d=t.useCallback(function(e){c.current&&c.current.clearModel(e),l({type:"CLOSE_TAB",payload:e})},[]),f=t.useCallback(function(e,t){l({type:"MOVE_TAB",payload:{tabId:e,newIndex:t}})},[]),h=t.useCallback(function(e,t){l({type:"ADD_TAB",payload:{tab:e,index:t}})},[]),p=t.useCallback(function(e){l({type:"RESET_STATE"}),l({type:"SET_PARENT_TAB_GROUP_ID",payload:e})},[]),g=t.useCallback(function(e,t){l({type:"SET_MAPPING",payload:{fileName:e,mapping:t}})},[]),m=t.useCallback(function(e){l({type:"SET_MODE",payload:e})},[]),y=t.useCallback(function(e){l({type:"SET_MAPPED_IDS",payload:e})},[]),v=t.useCallback(function(){return s.tabs},[s.tabs]),b=t.useCallback(function(e){return s.tabs.find(function(t){return t.uid===e})},[s.tabs]),w=t.useCallback(function(){return s.tabs.find(function(e){return e.id===s.activeTabId})},[s.tabs,s.activeTabId]),x=t.useCallback(function(e,t){l({type:"SET_UPDATED_CONTENT",payload:{tab:e,content:t}})},[]),_=t.useCallback(function(e,t){l({type:"SET_CONTENT",payload:{tab:e,content:t}})},[]),E={state:s,addTab:h,setTabGroupId:p,selectTab:u,closeTab:d,moveTab:f,setMapping:g,setMode:m,setMappedIds:y,getTab:b,getTabs:v,getActiveTab:w,setUpdatedContent:x,setContent:_},k=t.useMemo(function(){return E},Object.values(E));return t.useImperativeHandle(o,function(){return k},[k]),e.jsx(zh.Provider,{value:k,children:e.jsxs("div",{className:"editorContainer",children:[e.jsx("div",{className:"tabContainer",children:e.jsx(Th,{})}),e.jsx("div",{className:"monacoContainer",children:e.jsx(Ch,{ref:c,onSelectAbstraction:r})})]})})});function Lh(){var e=t.useContext(zh);if(!e)throw new Error("useEditor must be used inside <Editor>");return e}Ah.displayName="Editor";r(".canvas-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n background-color: #1b1c1d;\n overflow: hidden;\n}\n\n.canvas-wrapper > canvas {\n overflow: hidden;\n}");var Vh=t.forwardRef(function(n,r){var i=n.connectBehaviors,a=n.deleteTransition,s=n.deleteBehavior,l=n.selectBehavior,c=t.useRef(),u=t.useRef(),d=Y(t.useState({width:0,height:0}),2),f=d[0],h=d[1];t.useEffect(function(){var e=new ResizeObserver(function(e){var t=Y(e,1)[0].contentRect,n=t.width,o=t.height;h({width:n,height:o})});return u.current&&e.observe(u.current),function(){return e.disconnect()}},[]);var p=Y(t.useState([]),2),g=p[0],m=p[1],y=Y(t.useState([]),2),v=y[0],b=y[1],w=Y(t.useState([]),2),x=w[0],_=w[1],E=t.useCallback(function(e){if(e){var t=function(e){for(var t=[],n=[],o=0;o<e.graph.nodes.length;o++){var r=e.graph.nodes[o];n.push({id:r.getBehavior().getName(),text:r.getBehavior().getName()})}for(var i=function(){var n=e.graph.nodes[a];if(null==n||!n.getGoToBehaviors())return 1;n.getGoToBehaviors().forEach(function(e){t.push({id:"".concat(n.getBehavior().getName(),"->").concat(e),from:n.getBehavior().getName(),to:e})})},a=0;a<e.graph.nodes.length;a++)i();return{nodes:n,edges:t}}(e),n=t.nodes,o=t.edges;b(n),m(o)}},[b,m]),k=t.useMemo(function(){return{updateEngine:E}},[E]);t.useImperativeHandle(r,function(){return k},[k]);var S=t.useCallback(function(e){c.current&&(e.deltaY<0?c.current.zoomIn():c.current.zoomOut())},[c]),O=t.useCallback(function(e,t){_([t.id]),l(t.id)},[l]),C=t.useCallback(function(e,t){s(t),_([])},[s]),N=t.useCallback(function(e,t){_([t.id])},[]),M=t.useCallback(function(e,t){a(t),_([])},[a]),P=t.useCallback(function(e){l(null),_([])},[l]),j=t.useCallback(function(e,t,n){n&&i(t,n)},[i]);return e.jsx("div",{onWheel:S,ref:u,className:"canvas-wrapper",children:e.jsx(o.Canvas,{panType:"drag",fit:!0,center:!0,ref:c,nodes:v,edges:g,width:f.width,height:f.height,selections:x,onNodeLink:j,node:e.jsx(o.Node,{onClick:O,onRemove:C}),edge:e.jsx(o.Edge,{onClick:N,onRemove:M}),onCanvasClick:P})})});Vh.propTypes={connectBehaviors:z.func.isRequired,deleteTransition:z.func.isRequired,deleteBehavior:z.func.isRequired,selectBehavior:z.func.isRequired},exports.BehavioralGraphBuilder=Vh,exports.Editor=Ah,exports.FileBrowser=Of,exports.FlowDiagram=function(n){var o=n.treeInfo,r=Y(t.useState(),2),i=r[0],a=r[1];return t.useEffect(function(){a(o)},[o]),e.jsx($l,{children:e.jsx(Bd,{tree:i})})},exports.StackList=V,exports.useEditor=Lh,exports.useFileBrowser=Cf;
41
+ */var da=(ca||(ca=1,"production"===process.env.NODE_ENV?Ji.exports=function(){if(ia)return ea;ia=1;var e=t,n=sa(),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=n.useSyncExternalStore,i=e.useRef,a=e.useEffect,s=e.useMemo,l=e.useDebugValue;return ea.useSyncExternalStoreWithSelector=function(e,t,n,c,u){var d=i(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!a){if(a=!0,r=e,e=c(e),void 0!==u&&f.hasValue){var t=f.value;if(u(t,e))return i=t}return i=e}if(t=i,o(r,e))return t;var n=c(e);return void 0!==u&&u(t,n)?(r=e,t):(r=e,i=n)}var r,i,a=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]},[t,n,c,u]);var h=r(e,d[0],d[1]);return a(function(){f.hasValue=!0,f.value=h},[h]),l(h),h},ea}():Ji.exports=(la||(la=1,"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var e=t,n=sa(),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=n.useSyncExternalStore,i=e.useRef,a=e.useEffect,s=e.useMemo,l=e.useDebugValue;ua.useSyncExternalStoreWithSelector=function(e,t,n,c,u){var d=i(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!a){if(a=!0,r=e,e=c(e),void 0!==u&&f.hasValue){var t=f.value;if(u(t,e))return i=t}return i=e}if(t=i,o(r,e))return t;var n=c(e);return void 0!==u&&u(t,n)?(r=e,t):(r=e,i=n)}var r,i,a=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]},[t,n,c,u]);var h=r(e,d[0],d[1]);return a(function(){f.hasValue=!0,f.value=h},[h]),l(h),h},"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ua)),Ji.exports),fa=i(da);const ha=e=>{let t;const n=new Set,o=(e,o)=>{const r="function"==typeof e?e(t):e;if(!Object.is(r,t)){const e=t;t=(null!=o?o:"object"!=typeof r||null===r)?r:Object.assign({},t,r),n.forEach(n=>n(t,e))}},r=()=>t,i={setState:o,getState:r,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{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()}},a=t=e(o,r,i);return i},{useDebugValue:pa}=t,{useSyncExternalStoreWithSelector:ga}=fa,ma=e=>e;function ya(e,t=ma,n){const o=ga(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return pa(o),o}const va=(e,t)=>{const n=(e=>e?ha(e):ha)(e),o=(e,o=t)=>ya(n,e,o);return Object.assign(o,n),o};function ba(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,o]of e)if(!Object.is(o,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}const wa=t.createContext(null),xa=wa.Provider,_a=Vo();function Ea(e,n){const o=t.useContext(wa);if(null===o)throw new Error(_a);return ya(o,e,n)}function ka(){const e=t.useContext(wa);if(null===e)throw new Error(_a);return t.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Sa={display:"none"},Oa={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ca="react-flow__node-desc",Na="react-flow__edge-desc",Ma=e=>e.ariaLiveMessage,Pa=e=>e.ariaLabelConfig;function ja({rfId:t}){const n=Ea(Ma);return e.jsx("div",{id:`react-flow__aria-live-${t}`,"aria-live":"assertive","aria-atomic":"true",style:Oa,children:n})}function Ia({rfId:t,disableKeyboardA11y:n}){const o=Ea(Pa);return e.jsxs(e.Fragment,{children:[e.jsx("div",{id:`${Ca}-${t}`,style:Sa,children:n?o["node.a11yDescription.default"]:o["node.a11yDescription.keyboardDisabled"]}),e.jsx("div",{id:`${Na}-${t}`,style:Sa,children:o["edge.a11yDescription.default"]}),!n&&e.jsx(ja,{rfId:t})]})}const Ta=t.forwardRef(({position:t="top-left",children:n,className:o,style:r,...i},a)=>{const s=`${t}`.split("-");return e.jsx("div",{className:X(["react-flow__panel",o,...s]),style:r,ref:a,...i,children:n})});function za({proOptions:t,position:n="bottom-right"}){return t?.hideAttribution?null:e.jsx(Ta,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:e.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}Ta.displayName="Panel";const Ra=e=>{const t=[],n=[];for(const[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(const[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},Da=e=>e.id;function Aa(e,t){return ba(e.selectedNodes.map(Da),t.selectedNodes.map(Da))&&ba(e.selectedEdges.map(Da),t.selectedEdges.map(Da))}function La({onSelectionChange:e}){const n=ka(),{selectedNodes:o,selectedEdges:r}=Ea(Ra,Aa);return t.useEffect(()=>{const t={nodes:o,edges:r};e?.(t),n.getState().onSelectionChangeHandlers.forEach(e=>e(t))},[o,r,e]),null}const Va=e=>!!e.onSelectionChangeHandlers;function Ba({onSelectionChange:t}){const n=Ea(Va);return t||n?e.jsx(La,{onSelectionChange:t}):null}const $a=[0,0],Ha={x:0,y:0,zoom:1},Fa=["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","paneClickDistance","ariaLabelConfig","rfId"],Ya=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,setPaneClickDistance:e.setPaneClickDistance}),Za={translateExtent:Qo,nodeOrigin:$a,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1",paneClickDistance:0};function qa(e){const{setNodes:n,setEdges:o,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:s,reset:l,setDefaultNodesAndEdges:c,setPaneClickDistance:u}=Ea(Ya,ba),d=ka();t.useEffect(()=>(c(e.defaultNodes,e.defaultEdges),()=>{f.current=Za,l()}),[]);const f=t.useRef(Za);return t.useEffect(()=>{for(const t of Fa){const l=e[t];l!==f.current[t]&&(void 0!==e[t]&&("nodes"===t?n(l):"edges"===t?o(l):"minZoom"===t?r(l):"maxZoom"===t?i(l):"translateExtent"===t?a(l):"nodeExtent"===t?s(l):"paneClickDistance"===t?u(l):"ariaLabelConfig"===t?d.setState({ariaLabelConfig:Yr(l)}):"fitView"===t?d.setState({fitViewQueued:l}):"fitViewOptions"===t?d.setState({fitViewOptions:l}):d.setState({[t]:l})))}f.current=e},Fa.map(t=>e[t])),null}function Xa(){return"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null}const Ga="undefined"!=typeof document?document:null;function Wa(e=null,n={target:Ga,actInsideInputWithModifier:!0}){const[o,r]=t.useState(!1),i=t.useRef(!1),a=t.useRef(new Set([])),[s,l]=t.useMemo(()=>{if(null!==e){const t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return t.useEffect(()=>{const t=n?.target??Ga,o=n?.actInsideInputWithModifier??!0;if(null!==e){const e=e=>{i.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey;if((!i.current||i.current&&!o)&&Wr(e))return!1;const t=Ua(e.code,l);if(a.current.add(e[t]),Ka(s,a.current,!1)){const t=e.composedPath?.()?.[0]||e.target,o="BUTTON"===t?.nodeName||"A"===t?.nodeName;!1===n.preventDefault||!i.current&&o||e.preventDefault(),r(!0)}},c=e=>{const t=Ua(e.code,l);Ka(s,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[t]),"Meta"===e.key&&a.current.clear(),i.current=!1},u=()=>{a.current.clear(),r(!1)};return t?.addEventListener("keydown",e),t?.addEventListener("keyup",c),window.addEventListener("blur",u),window.addEventListener("contextmenu",u),()=>{t?.removeEventListener("keydown",e),t?.removeEventListener("keyup",c),window.removeEventListener("blur",u),window.removeEventListener("contextmenu",u)}}},[e,r]),o}function Ka(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function Ua(e,t){return t.includes(e)?"code":"key"}function Qa(e,t){const n=[],o=new Map,r=[];for(const t of e)if("add"!==t.type)if("remove"===t.type||"replace"===t.type)o.set(t.id,[t]);else{const e=o.get(t.id);e?e.push(t):o.set(t.id,[t])}else r.push(t);for(const e of t){const t=o.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}const r={...e};for(const e of t)Ja(e,r);n.push(r)}return r.length&&r.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function Ja(e,t){switch(e.type){case"select":t.selected=e.selected;break;case"position":void 0!==e.position&&(t.position=e.position),void 0!==e.dragging&&(t.dragging=e.dragging);break;case"dimensions":void 0!==e.dimensions&&(t.measured??={},t.measured.width=e.dimensions.width,t.measured.height=e.dimensions.height,e.setAttributes&&(!0!==e.setAttributes&&"width"!==e.setAttributes||(t.width=e.dimensions.width),!0!==e.setAttributes&&"height"!==e.setAttributes||(t.height=e.dimensions.height))),"boolean"==typeof e.resizing&&(t.resizing=e.resizing)}}function es(e,t){return Qa(e,t)}function ts(e,t){return Qa(e,t)}function ns(e,t){return{id:e,type:"select",selected:t}}function os(e,t=new Set,n=!1){const o=[];for(const[r,i]of e){const e=t.has(r);void 0===i.selected&&!e||i.selected===e||(n&&(i.selected=e),o.push(ns(i.id,e)))}return o}function rs({items:e=[],lookup:t}){const n=[],o=new Map(e.map(e=>[e.id,e]));for(const[o,r]of e.entries()){const e=t.get(r.id),i=e?.internals?.userNode??e;void 0!==i&&i!==r&&n.push({id:r.id,item:r,type:"replace"}),void 0===i&&n.push({item:r,type:"add",index:o})}for(const[e]of t){void 0===o.get(e)&&n.push({id:e,type:"remove"})}return n}function is(e){return{id:e.id,type:"remove"}}const as=e=>(e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e))(e);function ss(e){return t.forwardRef(e)}const ls="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;function cs(e){const[n,o]=t.useState(BigInt(0)),[r]=t.useState(()=>function(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}(()=>o(e=>e+BigInt(1))));return ls(()=>{const t=r.get();t.length&&(e(t),r.reset())},[n]),r}const us=t.createContext(null);function ds({children:n}){const o=ka(),r=cs(t.useCallback(e=>{const{nodes:t=[],setNodes:n,hasDefaultNodes:r,onNodesChange:i,nodeLookup:a,fitViewQueued:s}=o.getState();let l=t;for(const t of e)l="function"==typeof t?t(l):t;const c=rs({items:l,lookup:a});r&&n(l),c.length>0?i?.(c):s&&window.requestAnimationFrame(()=>{const{fitViewQueued:e,nodes:t,setNodes:n}=o.getState();e&&n(t)})},[])),i=cs(t.useCallback(e=>{const{edges:t=[],setEdges:n,hasDefaultEdges:r,onEdgesChange:i,edgeLookup:a}=o.getState();let s=t;for(const t of e)s="function"==typeof t?t(s):t;r?n(s):i&&i(rs({items:s,lookup:a}))},[])),a=t.useMemo(()=>({nodeQueue:r,edgeQueue:i}),[]);return e.jsx(us.Provider,{value:a,children:n})}const fs=e=>!!e.panZoom;function hs(){const e=(()=>{const e=ka();return t.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:n?.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[o,r,i],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{const{width:o,height:r,minZoom:i,maxZoom:a,panZoom:s}=e.getState(),l=Ar(t,o,r,i,a,n?.padding??.1);return s?(await s.setViewport(l,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:o,snapGrid:r,snapToGrid:i,domNode:a}=e.getState();if(!a)return t;const{x:s,y:l}=a.getBoundingClientRect(),c={x:t.x-s,y:t.y-l},u=n.snapGrid??r,d=n.snapToGrid??i;return zr(c,o,d,u)},flowToScreenPosition:t=>{const{transform:n,domNode:o}=e.getState();if(!o)return t;const{x:r,y:i}=o.getBoundingClientRect(),a=Rr(t,n);return{x:a.x+r,y:a.y+i}}}),[])})(),n=ka(),o=function(){const e=t.useContext(us);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}(),r=Ea(fs),i=t.useMemo(()=>{const e=e=>n.getState().nodeLookup.get(e),t=e=>{o.nodeQueue.push(e)},r=e=>{o.edgeQueue.push(e)},i=e=>{const{nodeLookup:t,nodeOrigin:o}=n.getState(),r=as(e)?e:t.get(e.id),i=r.parentId?Hr(r.position,r.measured,r.parentId,t,o):r.position,a={...r,position:i,width:r.measured?.width??r.width,height:r.measured?.height??r.height};return Or(a)},a=(e,n,o={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){const e="function"==typeof n?n(t):n;return o.replace&&as(e)?e:{...t,...e}}return t}))},s=(e,t,n={replace:!1})=>{r(o=>o.map(o=>{if(o.id===e){const e="function"==typeof t?t(o):t;return n.replace&&ur(e)?e:{...o,...e}}return o}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{const{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:r,addNodes:e=>{const t=Array.isArray(e)?e:[e];o.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{const t=Array.isArray(e)?e:[e];o.edgeQueue.push(e=>[...e,...t])},toObject:()=>{const{nodes:e=[],edges:t=[],transform:o}=n.getState(),[r,i,a]=o;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:r,y:i,zoom:a}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{const{nodes:o,edges:r,onNodesDelete:i,onEdgesDelete:a,triggerNodeChanges:s,triggerEdgeChanges:l,onDelete:c,onBeforeDelete:u}=n.getState(),{nodes:d,edges:f}=await yr({nodesToRemove:e,edgesToRemove:t,nodes:o,edges:r,onBeforeDelete:u}),h=f.length>0,p=d.length>0;if(h){const e=f.map(is);a?.(f),l(e)}if(p){const e=d.map(is);i?.(d),s(e)}return(p||h)&&c?.({nodes:d,edges:f}),{deletedNodes:d,deletedEdges:f}},getIntersectingNodes:(e,t=!0,o)=>{const r=Pr(e),a=r?e:i(e),s=void 0!==o;return a?(o||n.getState().nodes).filter(o=>{const i=n.getState().nodeLookup.get(o.id);if(i&&!r&&(o.id===e.id||!i.internals.positionAbsolute))return!1;const l=Or(s?o:i),c=Mr(l,a);return t&&c>0||c>=l.width*l.height||c>=a.width*a.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{const o=Pr(e)?e:i(e);if(!o)return!1;const r=Mr(o,t);return n&&r>0||r>=o.width*o.height},updateNode:a,updateNodeData:(e,t,n={replace:!1})=>{a(e,e=>{const o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{const o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}},n)},getNodesBounds:e=>{const{nodeLookup:t,nodeOrigin:o}=n.getState();return((e,t={nodeOrigin:[0,0]})=>{if("development"!==process.env.NODE_ENV||t.nodeLookup||console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),0===e.length)return{x:0,y:0,width:0,height:0};const n=e.reduce((e,n)=>{const o="string"==typeof n;let r=t.nodeLookup||o?void 0:n;t.nodeLookup&&(r=o?t.nodeLookup.get(n):dr(n)?n:t.nodeLookup.get(n.id));const i=r?Cr(r,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Er(e,i)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Sr(n)})(e,{nodeLookup:t,nodeOrigin:o})},getHandleConnections:({type:e,id:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:o})=>Array.from(n.getState().connectionLookup.get(`${o}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{const t=n.getState().fitViewResolver??function(){let e,t;return{promise:new Promise((n,o)=>{e=n,t=o}),resolve:e,reject:t}}();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),o.nodeQueue.push(e=>[...e]),t.promise}}},[]);return t.useMemo(()=>({...i,...e,viewportInitialized:r}),[r])}const ps=e=>e.selected,gs="undefined"!=typeof window?window:void 0;const ms={position:"absolute",width:"100%",height:"100%",top:0,left:0},ys=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib});function vs({onPaneContextMenu:n,zoomOnScroll:o=!0,zoomOnPinch:r=!0,panOnScroll:i=!1,panOnScrollSpeed:a=.5,panOnScrollMode:s=nr.Free,zoomOnDoubleClick:l=!0,panOnDrag:c=!0,defaultViewport:u,translateExtent:d,minZoom:f,maxZoom:h,zoomActivationKeyCode:p,preventScrolling:g=!0,children:m,noWheelClassName:y,noPanClassName:v,onViewportChange:b,isControlledViewport:w,paneClickDistance:x}){const _=ka(),E=t.useRef(null),{userSelectionActive:k,lib:S}=Ea(ys,ba),O=Wa(p),C=t.useRef();!function(e){const n=ka();t.useEffect(()=>{const t=()=>{if(!e.current)return!1;const t=qr(e.current);0!==t.height&&0!==t.width||n.getState().onError?.("004",Ho()),n.setState({width:t.width||500,height:t.height||500})};if(e.current){t(),window.addEventListener("resize",t);const n=new ResizeObserver(()=>t());return n.observe(e.current),()=>{window.removeEventListener("resize",t),n&&e.current&&n.unobserve(e.current)}}},[])}(E);const N=t.useCallback(e=>{b?.({x:e[0],y:e[1],zoom:e[2]}),w||_.setState({transform:e})},[b,w]);return t.useEffect(()=>{if(E.current){C.current=Hi({domNode:E.current,minZoom:f,maxZoom:h,translateExtent:d,viewport:u,paneClickDistance:x,onDraggingChange:e=>_.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{const{onViewportChangeStart:n,onMoveStart:o}=_.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{const{onViewportChange:n,onMove:o}=_.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{const{onViewportChangeEnd:n,onMoveEnd:o}=_.getState();o?.(e,t),n?.(t)}});const{x:e,y:t,zoom:n}=C.current.getViewport();return _.setState({panZoom:C.current,transform:[e,t,n],domNode:E.current.closest(".react-flow")}),()=>{C.current?.destroy()}}},[]),t.useEffect(()=>{C.current?.update({onPaneContextMenu:n,zoomOnScroll:o,zoomOnPinch:r,panOnScroll:i,panOnScrollSpeed:a,panOnScrollMode:s,zoomOnDoubleClick:l,panOnDrag:c,zoomActivationKeyPressed:O,preventScrolling:g,noPanClassName:v,userSelectionActive:k,noWheelClassName:y,lib:S,onTransformChange:N})},[n,o,r,i,a,s,l,c,O,g,v,k,y,S,N]),e.jsx("div",{className:"react-flow__renderer",ref:E,style:ms,children:m})}const bs=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function ws(){const{userSelectionActive:t,userSelectionRect:n}=Ea(bs,ba);return t&&n?e.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const xs=(e,t)=>n=>{n.target===t.current&&e?.(n)},_s=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function Es({isSelecting:n,selectionKeyPressed:o,selectionMode:r=or.Full,panOnDrag:i,selectionOnDrag:a,onSelectionStart:s,onSelectionEnd:l,onPaneClick:c,onPaneContextMenu:u,onPaneScroll:d,onPaneMouseEnter:f,onPaneMouseMove:h,onPaneMouseLeave:p,children:g}){const m=ka(),{userSelectionActive:y,elementsSelectable:v,dragging:b,connectionInProgress:w}=Ea(_s,ba),x=v&&(n||y),_=t.useRef(null),E=t.useRef(),k=t.useRef(new Set),S=t.useRef(new Set),O=t.useRef(!1),C=t.useRef(!1),N=e=>{O.current||w?O.current=!1:(c?.(e),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1}))},M=d?e=>d(e):void 0,P=!0===i||Array.isArray(i)&&i.includes(0);return e.jsxs("div",{className:X(["react-flow__pane",{draggable:P,dragging:b,selection:n}]),onClick:x?void 0:xs(N,_),onContextMenu:xs(e=>{Array.isArray(i)&&i?.includes(2)?e.preventDefault():u?.(e)},_),onWheel:xs(M,_),onPointerEnter:x?void 0:f,onPointerDown:x?e=>{const{resetSelectedElements:t,domNode:o}=m.getState();if(E.current=o?.getBoundingClientRect(),!v||!n||0!==e.button||e.target!==_.current||!E.current)return;e.target?.setPointerCapture?.(e.pointerId),C.current=!0,O.current=!1;const{x:r,y:i}=Ur(e.nativeEvent,E.current);t(),m.setState({userSelectionRect:{width:0,height:0,startX:r,startY:i,x:r,y:i}}),s?.(e)}:h,onPointerMove:x?e=>{const{userSelectionRect:t,transform:n,nodeLookup:o,edgeLookup:i,connectionLookup:a,triggerNodeChanges:s,triggerEdgeChanges:l,defaultEdgeOptions:c}=m.getState();if(!E.current||!t)return;O.current=!0;const{x:u,y:d}=Ur(e.nativeEvent,E.current),{startX:f,startY:h}=t,p={startX:f,startY:h,x:u<f?u:f,y:d<h?d:h,width:Math.abs(u-f),height:Math.abs(d-h)},g=k.current,y=S.current;k.current=new Set(pr(o,p,n,r===or.Partial,!0).map(e=>e.id)),S.current=new Set;const v=c?.selectable??!0;for(const e of k.current){const t=a.get(e);if(t)for(const{edgeId:e}of t.values()){const t=i.get(e);t&&(t.selectable??v)&&S.current.add(e)}}if(!Fr(g,k.current)){s(os(o,k.current,!0))}if(!Fr(y,S.current)){l(os(i,S.current))}m.setState({userSelectionRect:p,userSelectionActive:!0,nodesSelectionActive:!1})}:h,onPointerUp:x?e=>{if(0!==e.button||!C.current)return;e.target?.releasePointerCapture?.(e.pointerId);const{userSelectionRect:t}=m.getState();!y&&t&&e.target===_.current&&N?.(e),m.setState({userSelectionActive:!1,userSelectionRect:null,nodesSelectionActive:k.current.size>0}),l?.(e),(o||a)&&(O.current=!1),C.current=!1}:void 0,onPointerLeave:p,ref:_,style:ms,children:[g,e.jsx(ws,{})]})}function ks({id:e,store:t,unselect:n=!1,nodeRef:o}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:s,onError:l}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(i({nodes:[c],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])):l?.("012",Wo(e))}function Ss({nodeRef:e,disabled:n=!1,noDragClassName:o,handleSelector:r,nodeId:i,isSelectable:a,nodeClickDistance:s}){const l=ka(),[c,u]=t.useState(!1),d=t.useRef();return t.useEffect(()=>{d.current=Ni({getStoreItems:()=>l.getState(),onNodeMouseDown:t=>{ks({id:t,store:l,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),t.useEffect(()=>{if(n)d.current?.destroy();else if(e.current)return d.current?.update({noDragClassName:o,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:i,nodeClickDistance:s}),()=>{d.current?.destroy()}},[o,r,n,a,e,i]),c}function Os(){const e=ka();return t.useCallback(t=>{const{nodeExtent:n,snapToGrid:o,snapGrid:r,nodesDraggable:i,onError:a,updateNodePositions:s,nodeLookup:l,nodeOrigin:c}=e.getState(),u=new Map,d=(e=>t=>t.selected&&(t.draggable||e&&void 0===t.draggable))(i),f=o?r[0]:5,h=o?r[1]:5,p=t.direction.x*f*t.factor,g=t.direction.y*h*t.factor;for(const[,e]of l){if(!d(e))continue;let t={x:e.internals.positionAbsolute.x+p,y:e.internals.positionAbsolute.y+g};o&&(t=Tr(t,r));const{position:i,positionAbsolute:s}=mr({nodeId:e.id,nextPosition:t,nodeLookup:l,nodeExtent:n,nodeOrigin:c,onError:a});e.position=i,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}const Cs=t.createContext(null),Ns=Cs.Provider;Cs.Consumer;const Ms=()=>t.useContext(Cs),Ps=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId});const js=t.memo(ss(function({type:t="source",position:n=sr.Top,isValidConnection:o,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:s,onConnect:l,children:c,className:u,onMouseDown:d,onTouchStart:f,...h},p){const g=s||null,m="target"===t,y=ka(),v=Ms(),{connectOnClick:b,noPanClassName:w,rfId:x}=Ea(Ps,ba),{connectingFrom:_,connectingTo:E,clickConnecting:k,isPossibleEndHandle:S,connectionInProcess:O,clickConnectionInProcess:C,valid:N}=Ea(((e,t,n)=>o=>{const{connectionClickStartHandle:r,connectionMode:i,connection:a}=o,{fromHandle:s,toHandle:l,isValid:c}=a,u=l?.nodeId===e&&l?.id===t&&l?.type===n;return{connectingFrom:s?.nodeId===e&&s?.id===t&&s?.type===n,connectingTo:u,clickConnecting:r?.nodeId===e&&r?.id===t&&r?.type===n,isPossibleEndHandle:i===tr.Strict?s?.type!==n:e!==s?.nodeId||t!==s?.id,connectionInProcess:!!s,clickConnectionInProcess:!!r,valid:u&&c}})(v,g,t),ba);v||y.getState().onError?.("010",Xo());const M=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=y.getState(),r={...t,...e};if(o){const{edges:e,setEdges:t}=y.getState();t(((e,t)=>{if(!e.source||!e.target)return Ir("006",Yo()),t;let n;return n=ur(e)?{...e}:{...e,id:ii(e)},((e,t)=>t.some(t=>!(t.source!==e.source||t.target!==e.target||t.sourceHandle!==e.sourceHandle&&(t.sourceHandle||e.sourceHandle)||t.targetHandle!==e.targetHandle&&(t.targetHandle||e.targetHandle))))(n,t)?t:(null===n.sourceHandle&&delete n.sourceHandle,null===n.targetHandle&&delete n.targetHandle,t.concat(n))})(r,e))}n?.(r),l?.(r)},P=e=>{if(!v)return;const t=Kr(e.nativeEvent);if(i&&(t&&0===e.button||!t)){const t=y.getState();zi.onPointerDown(e.nativeEvent,{autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:m,handleId:g,nodeId:v,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:M,isValidConnection:o||t.isValidConnection,getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?d?.(e):f?.(e)};return e.jsx("div",{"data-handleid":g,"data-nodeid":v,"data-handlepos":n,"data-id":`${x}-${v}-${g}-${t}`,className:X(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",w,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:a,clickconnecting:k,connectingfrom:_,connectingto:E,valid:N,connectionindicator:r&&(!O||S)&&(O||C?a:i)}]),onMouseDown:P,onTouchStart:P,onClick:b?e=>{const{onClickConnectStart:n,onClickConnectEnd:r,connectionClickStartHandle:a,connectionMode:s,isValidConnection:l,lib:c,rfId:u,nodeLookup:d,connection:f}=y.getState();if(!v||!a&&!i)return;if(!a)return n?.(e.nativeEvent,{nodeId:v,handleId:g,handleType:t}),void y.setState({connectionClickStartHandle:{nodeId:v,type:t,id:g}});const h=Xr(e.target),p=o||l,{connection:m,isValid:b}=zi.isValid(e.nativeEvent,{handle:{nodeId:v,id:g,type:t},connectionMode:s,fromNodeId:a.nodeId,fromHandleId:a.id||null,fromType:a.type,isValidConnection:p,flowId:u,doc:h,lib:c,nodeLookup:d});b&&m&&M(m);const w=structuredClone(f);delete w.inProgress,w.toPosition=w.toHandle?w.toHandle.position:null,r?.(e,w),y.setState({connectionClickStartHandle:null})}:void 0,ref:p,...h,children:c})}));const Is={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Ts={input:function({data:t,isConnectable:n,sourcePosition:o=sr.Bottom}){return e.jsxs(e.Fragment,{children:[t?.label,e.jsx(js,{type:"source",position:o,isConnectable:n})]})},default:function({data:t,isConnectable:n,targetPosition:o=sr.Top,sourcePosition:r=sr.Bottom}){return e.jsxs(e.Fragment,{children:[e.jsx(js,{type:"target",position:o,isConnectable:n}),t?.label,e.jsx(js,{type:"source",position:r,isConnectable:n})]})},output:function({data:t,isConnectable:n,targetPosition:o=sr.Top}){return e.jsxs(e.Fragment,{children:[e.jsx(js,{type:"target",position:o,isConnectable:n}),t?.label]})},group:function(){return null}};const zs=e=>{const{width:t,height:n,x:o,y:r}=hr(e.nodeLookup,{filter:e=>!!e.selected});return{width:jr(t)?t:null,height:jr(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${r}px)`}};function Rs({onSelectionContextMenu:n,noPanClassName:o,disableKeyboardA11y:r}){const i=ka(),{width:a,height:s,transformString:l,userSelectionActive:c}=Ea(zs,ba),u=Os(),d=t.useRef(null);if(t.useEffect(()=>{r||d.current?.focus({preventScroll:!0})},[r]),Ss({nodeRef:d}),c||!a||!s)return null;const f=n?e=>{const t=i.getState().nodes.filter(e=>e.selected);n(e,t)}:void 0;return e.jsx("div",{className:X(["react-flow__nodesselection","react-flow__container",o]),style:{transform:l},children:e.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:r?void 0:-1,onKeyDown:r?void 0:e=>{Object.prototype.hasOwnProperty.call(Is,e.key)&&(e.preventDefault(),u({direction:Is[e.key],factor:e.shiftKey?4:1}))},style:{width:a,height:s}})})}const Ds="undefined"!=typeof window?window:void 0,As=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Ls({children:n,onPaneClick:o,onPaneMouseEnter:r,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:l,paneClickDistance:c,deleteKeyCode:u,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:m,panActivationKeyCode:y,zoomActivationKeyCode:v,elementsSelectable:b,zoomOnScroll:w,zoomOnPinch:x,panOnScroll:_,panOnScrollSpeed:E,panOnScrollMode:k,zoomOnDoubleClick:S,panOnDrag:O,defaultViewport:C,translateExtent:N,minZoom:M,maxZoom:P,preventScrolling:j,onSelectionContextMenu:I,noWheelClassName:T,noPanClassName:z,disableKeyboardA11y:R,onViewportChange:D,isControlledViewport:A}){const{nodesSelectionActive:L,userSelectionActive:V}=Ea(As),B=Wa(d,{target:Ds}),$=Wa(y,{target:Ds}),H=$||O,F=$||_,Y=f&&!0!==H,Z=B||V||Y;return function({deleteKeyCode:e,multiSelectionKeyCode:n}){const o=ka(),{deleteElements:r}=hs(),i=Wa(e,{actInsideInputWithModifier:!1}),a=Wa(n,{target:gs});t.useEffect(()=>{if(i){const{edges:e,nodes:t}=o.getState();r({nodes:t.filter(ps),edges:e.filter(ps)}),o.setState({nodesSelectionActive:!1})}},[i]),t.useEffect(()=>{o.setState({multiSelectionActive:a})},[a])}({deleteKeyCode:u,multiSelectionKeyCode:m}),e.jsx(vs,{onPaneContextMenu:s,elementsSelectable:b,zoomOnScroll:w,zoomOnPinch:x,panOnScroll:F,panOnScrollSpeed:E,panOnScrollMode:k,zoomOnDoubleClick:S,panOnDrag:!B&&H,defaultViewport:C,translateExtent:N,minZoom:M,maxZoom:P,zoomActivationKeyCode:v,preventScrolling:j,noWheelClassName:T,noPanClassName:z,onViewportChange:D,isControlledViewport:A,paneClickDistance:c,children:e.jsxs(Es,{onSelectionStart:p,onSelectionEnd:g,onPaneClick:o,onPaneMouseEnter:r,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:l,panOnDrag:H,isSelecting:!!Z,selectionMode:h,selectionKeyPressed:B,selectionOnDrag:Y,children:[n,L&&e.jsx(Rs,{onSelectionContextMenu:I,noPanClassName:z,disableKeyboardA11y:R})]})})}Ls.displayName="FlowRenderer";const Vs=t.memo(Ls);function Bs(e){return Ea(t.useCallback((e=>t=>e?pr(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(e=>e.id):Array.from(t.nodeLookup.keys()))(e),[e]),ba)}const $s=e=>e.updateNodeInternals;function Hs({id:n,onClick:o,onMouseEnter:r,onMouseMove:i,onMouseLeave:a,onContextMenu:s,onDoubleClick:l,nodesDraggable:c,elementsSelectable:u,nodesConnectable:d,nodesFocusable:f,resizeObserver:h,noDragClassName:p,noPanClassName:g,disableKeyboardA11y:m,rfId:y,nodeTypes:v,nodeClickDistance:b,onError:w}){const{node:x,internals:_,isParent:E}=Ea(e=>{const t=e.nodeLookup.get(n),o=e.parentLookup.has(n);return{node:t,internals:t.internals,isParent:o}},ba);let k=x.type||"default",S=v?.[k]||Ts[k];void 0===S&&(w?.("003",$o(k)),k="default",S=v?.default||Ts.default);const O=!!(x.draggable||c&&void 0===x.draggable),C=!!(x.selectable||u&&void 0===x.selectable),N=!!(x.connectable||d&&void 0===x.connectable),M=!!(x.focusable||f&&void 0===x.focusable),P=ka(),j=$r(x),I=function({node:e,nodeType:n,hasDimensions:o,resizeObserver:r}){const i=ka(),a=t.useRef(null),s=t.useRef(null),l=t.useRef(e.sourcePosition),c=t.useRef(e.targetPosition),u=t.useRef(n),d=o&&!!e.internals.handleBounds;return t.useEffect(()=>{!a.current||e.hidden||d&&s.current===a.current||(s.current&&r?.unobserve(s.current),r?.observe(a.current),s.current=a.current)},[d,e.hidden]),t.useEffect(()=>()=>{s.current&&(r?.unobserve(s.current),s.current=null)},[]),t.useEffect(()=>{if(a.current){const t=u.current!==n,o=l.current!==e.sourcePosition,r=c.current!==e.targetPosition;(t||o||r)&&(u.current=n,l.current=e.sourcePosition,c.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),a}({node:x,nodeType:k,hasDimensions:j,resizeObserver:h}),T=Ss({nodeRef:I,disabled:x.hidden||!O,noDragClassName:p,handleSelector:x.dragHandle,nodeId:n,isSelectable:C,nodeClickDistance:b}),z=Os();if(x.hidden)return null;const R=Br(x),D=function(e){return void 0===e.internals.handleBounds?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}(x),A=C||O||o||r||i||a,L=r?e=>r(e,{..._.userNode}):void 0,V=i?e=>i(e,{..._.userNode}):void 0,B=a?e=>a(e,{..._.userNode}):void 0,$=s?e=>s(e,{..._.userNode}):void 0,H=l?e=>l(e,{..._.userNode}):void 0;return e.jsx("div",{className:X(["react-flow__node",`react-flow__node-${k}`,{[g]:O},x.className,{selected:x.selected,selectable:C,parent:E,draggable:O,dragging:T}]),ref:I,style:{zIndex:_.z,transform:`translate(${_.positionAbsolute.x}px,${_.positionAbsolute.y}px)`,pointerEvents:A?"all":"none",visibility:j?"visible":"hidden",...x.style,...D},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:L,onMouseMove:V,onMouseLeave:B,onContextMenu:$,onClick:e=>{const{selectNodesOnDrag:t,nodeDragThreshold:r}=P.getState();C&&(!t||!O||r>0)&&ks({id:n,store:P,nodeRef:I}),o&&o(e,{..._.userNode})},onDoubleClick:H,onKeyDown:M?e=>{if(!Wr(e.nativeEvent)&&!m)if(Jo.includes(e.key)&&C){const t="Escape"===e.key;ks({id:n,store:P,unselect:t,nodeRef:I})}else if(O&&x.selected&&Object.prototype.hasOwnProperty.call(Is,e.key)){e.preventDefault();const{ariaLabelConfig:t}=P.getState();P.setState({ariaLiveMessage:t["node.a11yDescription.ariaLiveMessage"]({direction:e.key.replace("Arrow","").toLowerCase(),x:~~_.positionAbsolute.x,y:~~_.positionAbsolute.y})}),z({direction:Is[e.key],factor:e.shiftKey?4:1})}}:void 0,tabIndex:M?0:void 0,onFocus:M?()=>{if(m||!I.current?.matches(":focus-visible"))return;const{transform:e,width:t,height:o,autoPanOnNodeFocus:r,setCenter:i}=P.getState();if(!r)return;pr(new Map([[n,x]]),{x:0,y:0,width:t,height:o},e,!0).length>0||i(x.position.x+R.width/2,x.position.y+R.height/2,{zoom:e[2]})}:void 0,role:x.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":m?void 0:`${Ca}-${y}`,"aria-label":x.ariaLabel,...x.domAttributes,children:e.jsx(Ns,{value:n,children:e.jsx(S,{id:n,data:x.data,type:k,positionAbsoluteX:_.positionAbsolute.x,positionAbsoluteY:_.positionAbsolute.y,selected:x.selected??!1,selectable:C,draggable:O,deletable:x.deletable??!0,isConnectable:N,sourcePosition:x.sourcePosition,targetPosition:x.targetPosition,dragging:T,dragHandle:x.dragHandle,zIndex:_.z,parentId:x.parentId,...R})})})}const Fs=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Ys(n){const{nodesDraggable:o,nodesConnectable:r,nodesFocusable:i,elementsSelectable:a,onError:s}=Ea(Fs,ba),l=Bs(n.onlyRenderVisibleElements),c=function(){const e=Ea($s),[n]=t.useState(()=>"undefined"==typeof ResizeObserver?null:new ResizeObserver(t=>{const n=new Map;t.forEach(e=>{const t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return t.useEffect(()=>()=>{n?.disconnect()},[n]),n}();return e.jsx("div",{className:"react-flow__nodes",style:ms,children:l.map(t=>e.jsx(Hs,{id:t,nodeTypes:n.nodeTypes,nodeExtent:n.nodeExtent,onClick:n.onNodeClick,onMouseEnter:n.onNodeMouseEnter,onMouseMove:n.onNodeMouseMove,onMouseLeave:n.onNodeMouseLeave,onContextMenu:n.onNodeContextMenu,onDoubleClick:n.onNodeDoubleClick,noDragClassName:n.noDragClassName,noPanClassName:n.noPanClassName,rfId:n.rfId,disableKeyboardA11y:n.disableKeyboardA11y,resizeObserver:c,nodesDraggable:o,nodesConnectable:r,nodesFocusable:i,elementsSelectable:a,nodeClickDistance:n.nodeClickDistance,onError:s},t))})}Ys.displayName="NodeRenderer";const Zs=t.memo(Ys);const qs={[ar.Arrow]:({color:t="none",strokeWidth:n=1})=>e.jsx("polyline",{style:{stroke:t,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[ar.ArrowClosed]:({color:t="none",strokeWidth:n=1})=>e.jsx("polyline",{style:{stroke:t,fill:t,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})};const Xs=({id:n,type:o,color:r,width:i=12.5,height:a=12.5,markerUnits:s="strokeWidth",strokeWidth:l,orient:c="auto-start-reverse"})=>{const u=function(e){const n=ka();return t.useMemo(()=>Object.prototype.hasOwnProperty.call(qs,e)?qs[e]:(n.getState().onError?.("009",Zo(e)),null),[e])}(o);return u?e.jsx("marker",{className:"react-flow__arrowhead",id:n,markerWidth:`${i}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:c,refX:"0",refY:"0",children:e.jsx(u,{color:r,strokeWidth:l})}):null},Gs=({defaultColor:n,rfId:o})=>{const r=Ea(e=>e.edges),i=Ea(e=>e.defaultEdgeOptions),a=t.useMemo(()=>{const e=function(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){const i=new Set;return e.reduce((e,a)=>([a.markerStart||o,a.markerEnd||r].forEach(o=>{if(o&&"object"==typeof o){const r=gi(o,t);i.has(r)||(e.push({id:r,color:o.color||n,...o}),i.add(r))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}(r,{id:o,defaultColor:n,defaultMarkerStart:i?.markerStart,defaultMarkerEnd:i?.markerEnd});return e},[r,i,o,n]);return a.length?e.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:e.jsx("defs",{children:a.map(t=>e.jsx(Xs,{id:t.id,type:t.type,color:t.color,width:t.width,height:t.height,markerUnits:t.markerUnits,strokeWidth:t.strokeWidth,orient:t.orient},t.id))})}):null};Gs.displayName="MarkerDefinitions";var Ws=t.memo(Gs);function Ks({x:n,y:o,label:r,labelStyle:i,labelShowBg:a=!0,labelBgStyle:s,labelBgPadding:l=[2,4],labelBgBorderRadius:c=2,children:u,className:d,...f}){const[h,p]=t.useState({x:1,y:0,width:0,height:0}),g=X(["react-flow__edge-textwrapper",d]),m=t.useRef(null);return t.useEffect(()=>{if(m.current){const e=m.current.getBBox();p({x:e.x,y:e.y,width:e.width,height:e.height})}},[r]),r?e.jsxs("g",{transform:`translate(${n-h.width/2} ${o-h.height/2})`,className:g,visibility:h.width?"visible":"hidden",...f,children:[a&&e.jsx("rect",{width:h.width+2*l[0],x:-l[0],y:-l[1],height:h.height+2*l[1],className:"react-flow__edge-textbg",style:s,rx:c,ry:c}),e.jsx("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:m,style:i,children:r}),u]}):null}Ks.displayName="EdgeText";const Us=t.memo(Ks);function Qs({path:t,labelX:n,labelY:o,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,interactionWidth:u=20,...d}){return e.jsxs(e.Fragment,{children:[e.jsx("path",{...d,d:t,fill:"none",className:X(["react-flow__edge-path",d.className])}),u&&e.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}),r&&jr(n)&&jr(o)?e.jsx(Us,{x:n,y:o,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c}):null]})}function Js({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===sr.Left||e===sr.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function el({sourceX:e,sourceY:t,sourcePosition:n=sr.Bottom,targetX:o,targetY:r,targetPosition:i=sr.Top}){const[a,s]=Js({pos:n,x1:e,y1:t,x2:o,y2:r}),[l,c]=Js({pos:i,x1:o,y1:r,x2:e,y2:t}),[u,d,f,h]=Jr({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:c});return[`M${e},${t} C${a},${s} ${l},${c} ${o},${r}`,u,d,f,h]}function tl(n){return t.memo(({id:t,sourceX:o,sourceY:r,targetX:i,targetY:a,sourcePosition:s,targetPosition:l,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:m,markerStart:y,interactionWidth:v})=>{const[b,w,x]=el({sourceX:o,sourceY:r,sourcePosition:s,targetX:i,targetY:a,targetPosition:l}),_=n.isInternal?void 0:t;return e.jsx(Qs,{id:_,path:b,labelX:w,labelY:x,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:m,markerStart:y,interactionWidth:v})})}const nl=tl({isInternal:!1}),ol=tl({isInternal:!0});function rl(n){return t.memo(({id:t,sourceX:o,sourceY:r,targetX:i,targetY:a,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:p=sr.Bottom,targetPosition:g=sr.Top,markerEnd:m,markerStart:y,pathOptions:v,interactionWidth:b})=>{const[w,x,_]=ui({sourceX:o,sourceY:r,sourcePosition:p,targetX:i,targetY:a,targetPosition:g,borderRadius:v?.borderRadius,offset:v?.offset,stepPosition:v?.stepPosition}),E=n.isInternal?void 0:t;return e.jsx(Qs,{id:E,path:w,labelX:x,labelY:_,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:m,markerStart:y,interactionWidth:b})})}nl.displayName="SimpleBezierEdge",ol.displayName="SimpleBezierEdgeInternal";const il=rl({isInternal:!1}),al=rl({isInternal:!0});function sl(n){return t.memo(({id:o,...r})=>{const i=n.isInternal?void 0:o;return e.jsx(il,{...r,id:i,pathOptions:t.useMemo(()=>({borderRadius:0,offset:r.pathOptions?.offset}),[r.pathOptions?.offset])})})}il.displayName="SmoothStepEdge",al.displayName="SmoothStepEdgeInternal";const ll=sl({isInternal:!1}),cl=sl({isInternal:!0});function ul(n){return t.memo(({id:t,sourceX:o,sourceY:r,targetX:i,targetY:a,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:g,interactionWidth:m})=>{const[y,v,b]=ai({sourceX:o,sourceY:r,targetX:i,targetY:a}),w=n.isInternal?void 0:t;return e.jsx(Qs,{id:w,path:y,labelX:v,labelY:b,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:g,interactionWidth:m})})}ll.displayName="StepEdge",cl.displayName="StepEdgeInternal";const dl=ul({isInternal:!1}),fl=ul({isInternal:!0});function hl(n){return t.memo(({id:t,sourceX:o,sourceY:r,targetX:i,targetY:a,sourcePosition:s=sr.Bottom,targetPosition:l=sr.Top,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:m,markerStart:y,pathOptions:v,interactionWidth:b})=>{const[w,x,_]=ni({sourceX:o,sourceY:r,sourcePosition:s,targetX:i,targetY:a,targetPosition:l,curvature:v?.curvature}),E=n.isInternal?void 0:t;return e.jsx(Qs,{id:E,path:w,labelX:x,labelY:_,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:m,markerStart:y,interactionWidth:b})})}dl.displayName="StraightEdge",fl.displayName="StraightEdgeInternal";const pl=hl({isInternal:!1}),gl=hl({isInternal:!0});pl.displayName="BezierEdge",gl.displayName="BezierEdgeInternal";const ml={default:gl,straight:fl,step:cl,smoothstep:al,simplebezier:ol},yl={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},vl=(e,t,n)=>n===sr.Left?e-t:n===sr.Right?e+t:e,bl=(e,t,n)=>n===sr.Top?e-t:n===sr.Bottom?e+t:e,wl="react-flow__edgeupdater";function xl({position:t,centerX:n,centerY:o,radius:r=10,onMouseDown:i,onMouseEnter:a,onMouseOut:s,type:l}){return e.jsx("circle",{onMouseDown:i,onMouseEnter:a,onMouseOut:s,className:X([wl,`${wl}-${l}`]),cx:vl(n,r,t),cy:bl(o,r,t),r:r,stroke:"transparent",fill:"transparent"})}function _l({isReconnectable:t,reconnectRadius:n,edge:o,sourceX:r,sourceY:i,targetX:a,targetY:s,sourcePosition:l,targetPosition:c,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:p}){const g=ka(),m=(e,t)=>{if(0!==e.button)return;const{autoPanOnConnect:n,domNode:r,isValidConnection:i,connectionMode:a,connectionRadius:s,lib:l,onConnectStart:c,onConnectEnd:p,cancelConnection:m,nodeLookup:y,rfId:v,panBy:b,updateConnection:w}=g.getState(),x="target"===t.type;zi.onPointerDown(e.nativeEvent,{autoPanOnConnect:n,connectionMode:a,connectionRadius:s,domNode:r,handleId:t.id,nodeId:t.nodeId,nodeLookup:y,isTarget:x,edgeUpdaterType:t.type,lib:l,flowId:v,cancelConnection:m,panBy:b,isValidConnection:i,onConnect:e=>u?.(o,e),onConnectStart:(n,r)=>{h(!0),d?.(e,o,t.type),c?.(n,r)},onConnectEnd:p,onReconnectEnd:(e,n)=>{h(!1),f?.(e,o,t.type,n)},updateConnection:w,getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,dragThreshold:g.getState().connectionDragThreshold})},y=()=>p(!0),v=()=>p(!1);return e.jsxs(e.Fragment,{children:[(!0===t||"source"===t)&&e.jsx(xl,{position:l,centerX:r,centerY:i,radius:n,onMouseDown:e=>m(e,{nodeId:o.target,id:o.targetHandle??null,type:"target"}),onMouseEnter:y,onMouseOut:v,type:"source"}),(!0===t||"target"===t)&&e.jsx(xl,{position:c,centerX:a,centerY:s,radius:n,onMouseDown:e=>m(e,{nodeId:o.source,id:o.sourceHandle??null,type:"source"}),onMouseEnter:y,onMouseOut:v,type:"target"})]})}function El({id:n,edgesFocusable:o,edgesReconnectable:r,elementsSelectable:i,onClick:a,onDoubleClick:s,onContextMenu:l,onMouseEnter:c,onMouseMove:u,onMouseLeave:d,reconnectRadius:f,onReconnect:h,onReconnectStart:p,onReconnectEnd:g,rfId:m,edgeTypes:y,noPanClassName:v,onError:b,disableKeyboardA11y:w}){let x=Ea(e=>e.edgeLookup.get(n));const _=Ea(e=>e.defaultEdgeOptions);x=_?{..._,...x}:x;let E=x.type||"default",k=y?.[E]||ml[E];void 0===k&&(b?.("011",Go(E)),E="default",k=y?.default||ml.default);const S=!!(x.focusable||o&&void 0===x.focusable),O=void 0!==h&&(x.reconnectable||r&&void 0===x.reconnectable),C=!!(x.selectable||i&&void 0===x.selectable),N=t.useRef(null),[M,P]=t.useState(!1),[j,I]=t.useState(!1),T=ka(),{zIndex:z,sourceX:R,sourceY:D,targetX:A,targetY:L,sourcePosition:V,targetPosition:B}=Ea(t.useCallback(e=>{const t=e.nodeLookup.get(x.source),o=e.nodeLookup.get(x.target);if(!t||!o)return{zIndex:x.zIndex,...yl};const r=function(e){const{sourceNode:t,targetNode:n}=e;if(!di(t)||!di(n))return null;const o=t.internals.handleBounds||fi(t.handles),r=n.internals.handleBounds||fi(n.handles),i=pi(o?.source??[],e.sourceHandle),a=pi(e.connectionMode===tr.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),e.targetHandle);if(!i||!a)return e.onError?.("008",qo(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const s=i?.position||sr.Bottom,l=a?.position||sr.Top,c=hi(t,i,s),u=hi(n,a,l);return{sourceX:c.x,sourceY:c.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:l}}({id:n,sourceNode:t,targetNode:o,sourceHandle:x.sourceHandle||null,targetHandle:x.targetHandle||null,connectionMode:e.connectionMode,onError:b}),i=function({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o,elevateOnSelect:r=!1}){return void 0!==o?o:(r&&n?1e3:0)+Math.max(e.parentId?e.internals.z:0,t.parentId?t.internals.z:0)}({selected:x.selected,zIndex:x.zIndex,sourceNode:t,targetNode:o,elevateOnSelect:e.elevateEdgesOnSelect});return{zIndex:i,...r||yl}},[x.source,x.target,x.sourceHandle,x.targetHandle,x.selected,x.zIndex]),ba),$=t.useMemo(()=>x.markerStart?`url('#${gi(x.markerStart,m)}')`:void 0,[x.markerStart,m]),H=t.useMemo(()=>x.markerEnd?`url('#${gi(x.markerEnd,m)}')`:void 0,[x.markerEnd,m]);if(x.hidden||null===R||null===D||null===A||null===L)return null;const F=s?e=>{s(e,{...x})}:void 0,Y=l?e=>{l(e,{...x})}:void 0,Z=c?e=>{c(e,{...x})}:void 0,q=u?e=>{u(e,{...x})}:void 0,G=d?e=>{d(e,{...x})}:void 0;return e.jsx("svg",{style:{zIndex:z},children:e.jsxs("g",{className:X(["react-flow__edge",`react-flow__edge-${E}`,x.className,v,{selected:x.selected,animated:x.animated,inactive:!C&&!a,updating:M,selectable:C}]),onClick:e=>{const{addSelectedEdges:t,unselectNodesAndEdges:o,multiSelectionActive:r}=T.getState();C&&(T.setState({nodesSelectionActive:!1}),x.selected&&r?(o({nodes:[],edges:[x]}),N.current?.blur()):t([n])),a&&a(e,x)},onDoubleClick:F,onContextMenu:Y,onMouseEnter:Z,onMouseMove:q,onMouseLeave:G,onKeyDown:S?e=>{if(!w&&Jo.includes(e.key)&&C){const{unselectNodesAndEdges:t,addSelectedEdges:o}=T.getState();"Escape"===e.key?(N.current?.blur(),t({edges:[x]})):o([n])}}:void 0,tabIndex:S?0:void 0,role:x.ariaRole??(S?"group":"img"),"aria-roledescription":"edge","data-id":n,"data-testid":`rf__edge-${n}`,"aria-label":null===x.ariaLabel?void 0:x.ariaLabel||`Edge from ${x.source} to ${x.target}`,"aria-describedby":S?`${Na}-${m}`:void 0,ref:N,...x.domAttributes,children:[!j&&e.jsx(k,{id:n,source:x.source,target:x.target,type:x.type,selected:x.selected,animated:x.animated,selectable:C,deletable:x.deletable??!0,label:x.label,labelStyle:x.labelStyle,labelShowBg:x.labelShowBg,labelBgStyle:x.labelBgStyle,labelBgPadding:x.labelBgPadding,labelBgBorderRadius:x.labelBgBorderRadius,sourceX:R,sourceY:D,targetX:A,targetY:L,sourcePosition:V,targetPosition:B,data:x.data,style:x.style,sourceHandleId:x.sourceHandle,targetHandleId:x.targetHandle,markerStart:$,markerEnd:H,pathOptions:"pathOptions"in x?x.pathOptions:void 0,interactionWidth:x.interactionWidth}),O&&e.jsx(_l,{edge:x,isReconnectable:O,reconnectRadius:f,onReconnect:h,onReconnectStart:p,onReconnectEnd:g,sourceX:R,sourceY:D,targetX:A,targetY:L,sourcePosition:V,targetPosition:B,setUpdateHover:P,setReconnecting:I})]})})}const kl=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Sl({defaultMarkerColor:n,onlyRenderVisibleElements:o,rfId:r,edgeTypes:i,noPanClassName:a,onReconnect:s,onEdgeContextMenu:l,onEdgeMouseEnter:c,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,reconnectRadius:h,onEdgeDoubleClick:p,onReconnectStart:g,onReconnectEnd:m,disableKeyboardA11y:y}){const{edgesFocusable:v,edgesReconnectable:b,elementsSelectable:w,onError:x}=Ea(kl,ba),_=(E=o,Ea(t.useCallback(e=>{if(!E)return e.edges.map(e=>e.id);const t=[];if(e.width&&e.height)for(const n of e.edges){const o=e.nodeLookup.get(n.source),r=e.nodeLookup.get(n.target);o&&r&&ri({sourceNode:o,targetNode:r,width:e.width,height:e.height,transform:e.transform})&&t.push(n.id)}return t},[E]),ba));var E;return e.jsxs("div",{className:"react-flow__edges",children:[e.jsx(Ws,{defaultColor:n,rfId:r}),_.map(t=>e.jsx(El,{id:t,edgesFocusable:v,edgesReconnectable:b,elementsSelectable:w,noPanClassName:a,onReconnect:s,onContextMenu:l,onMouseEnter:c,onMouseMove:u,onMouseLeave:d,onClick:f,reconnectRadius:h,onDoubleClick:p,onReconnectStart:g,onReconnectEnd:m,rfId:r,onError:x,edgeTypes:i,disableKeyboardA11y:y},t))]})}Sl.displayName="EdgeRenderer";const Ol=t.memo(Sl),Cl=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Nl({children:t}){const n=Ea(Cl);return e.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:t})}const Ml=e=>e.panZoom?.syncViewport;function Pl(e){return e.connection.inProgress?{...e.connection,to:zr(e.connection.to,e.transform)}:{...e.connection}}function jl(e){return Ea(Pl,ba)}const Il=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Tl({containerStyle:t,style:n,type:o,component:r}){const{nodesConnectable:i,width:a,height:s,isValid:l,inProgress:c}=Ea(Il,ba);return!!(a&&i&&c)?e.jsx("svg",{style:t,width:a,height:s,className:"react-flow__connectionline react-flow__container",children:e.jsx("g",{className:X(["react-flow__connection",cr(l)]),children:e.jsx(zl,{style:n,type:o,CustomComponent:r,isValid:l})})}):null}const zl=({style:t,type:n=ir.Bezier,CustomComponent:o,isValid:r})=>{const{inProgress:i,from:a,fromNode:s,fromHandle:l,fromPosition:c,to:u,toNode:d,toHandle:f,toPosition:h}=jl();if(!i)return;if(o)return e.jsx(o,{connectionLineType:n,connectionLineStyle:t,fromNode:s,fromHandle:l,fromX:a.x,fromY:a.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:h,connectionStatus:cr(r),toNode:d,toHandle:f});let p="";const g={sourceX:a.x,sourceY:a.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:h};switch(n){case ir.Bezier:[p]=ni(g);break;case ir.SimpleBezier:[p]=el(g);break;case ir.Step:[p]=ui({...g,borderRadius:0});break;case ir.SmoothStep:[p]=ui(g);break;default:[p]=ai(g)}return e.jsx("path",{d:p,fill:"none",className:"react-flow__connection-path",style:t})};zl.displayName="ConnectionLine";const Rl={};function Dl(e=Rl){const n=t.useRef(e),o=ka();t.useEffect(()=>{if("development"===process.env.NODE_ENV){const t=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const r of t)if(n.current[r]!==e[r]){o.getState().onError?.("002",Bo());break}n.current=e}},[e])}function Al({nodeTypes:n,edgeTypes:o,onInit:r,onNodeClick:i,onEdgeClick:a,onNodeDoubleClick:s,onEdgeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:d,onNodeContextMenu:f,onSelectionContextMenu:h,onSelectionStart:p,onSelectionEnd:g,connectionLineType:m,connectionLineStyle:y,connectionLineComponent:v,connectionLineContainerStyle:b,selectionKeyCode:w,selectionOnDrag:x,selectionMode:_,multiSelectionKeyCode:E,panActivationKeyCode:k,zoomActivationKeyCode:S,deleteKeyCode:O,onlyRenderVisibleElements:C,elementsSelectable:N,defaultViewport:M,translateExtent:P,minZoom:j,maxZoom:I,preventScrolling:T,defaultMarkerColor:z,zoomOnScroll:R,zoomOnPinch:D,panOnScroll:A,panOnScrollSpeed:L,panOnScrollMode:V,zoomOnDoubleClick:B,panOnDrag:$,onPaneClick:H,onPaneMouseEnter:F,onPaneMouseMove:Y,onPaneMouseLeave:Z,onPaneScroll:q,onPaneContextMenu:X,paneClickDistance:G,nodeClickDistance:W,onEdgeContextMenu:K,onEdgeMouseEnter:U,onEdgeMouseMove:Q,onEdgeMouseLeave:J,reconnectRadius:ee,onReconnect:te,onReconnectStart:ne,onReconnectEnd:oe,noDragClassName:re,noWheelClassName:ie,noPanClassName:ae,disableKeyboardA11y:se,nodeExtent:le,rfId:ce,viewport:ue,onViewportChange:de}){return Dl(n),Dl(o),function(){const e=ka(),n=t.useRef(!1);t.useEffect(()=>{if("development"===process.env.NODE_ENV&&!n.current){const t=document.querySelector(".react-flow__pane");t&&"1"!==window.getComputedStyle(t).zIndex&&e.getState().onError?.("013",Ko("react")),n.current=!0}},[])}(),function(e){const n=hs(),o=t.useRef(!1);t.useEffect(()=>{!o.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),o.current=!0)},[e,n.viewportInitialized])}(r),function(e){const n=Ea(Ml),o=ka();t.useEffect(()=>{e&&(n?.(e),o.setState({transform:[e.x,e.y,e.zoom]}))},[e,n])}(ue),e.jsx(Vs,{onPaneClick:H,onPaneMouseEnter:F,onPaneMouseMove:Y,onPaneMouseLeave:Z,onPaneContextMenu:X,onPaneScroll:q,paneClickDistance:G,deleteKeyCode:O,selectionKeyCode:w,selectionOnDrag:x,selectionMode:_,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:E,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:N,zoomOnScroll:R,zoomOnPinch:D,zoomOnDoubleClick:B,panOnScroll:A,panOnScrollSpeed:L,panOnScrollMode:V,panOnDrag:$,defaultViewport:M,translateExtent:P,minZoom:j,maxZoom:I,onSelectionContextMenu:h,preventScrolling:T,noDragClassName:re,noWheelClassName:ie,noPanClassName:ae,disableKeyboardA11y:se,onViewportChange:de,isControlledViewport:!!ue,children:e.jsxs(Nl,{children:[e.jsx(Ol,{edgeTypes:o,onEdgeClick:a,onEdgeDoubleClick:l,onReconnect:te,onReconnectStart:ne,onReconnectEnd:oe,onlyRenderVisibleElements:C,onEdgeContextMenu:K,onEdgeMouseEnter:U,onEdgeMouseMove:Q,onEdgeMouseLeave:J,reconnectRadius:ee,defaultMarkerColor:z,noPanClassName:ae,disableKeyboardA11y:se,rfId:ce}),e.jsx(Tl,{style:y,type:m,component:v,containerStyle:b}),e.jsx("div",{className:"react-flow__edgelabel-renderer"}),e.jsx(Zs,{nodeTypes:n,onNodeClick:i,onNodeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:d,onNodeContextMenu:f,nodeClickDistance:W,onlyRenderVisibleElements:C,noPanClassName:ae,noDragClassName:re,disableKeyboardA11y:se,nodeExtent:le,rfId:ce}),e.jsx("div",{className:"react-flow__viewport-portal"})]})})}Al.displayName="GraphView";const Ll=t.memo(Al),Vl=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:s,minZoom:l=.5,maxZoom:c=2,nodeOrigin:u,nodeExtent:d}={})=>{const f=new Map,h=new Map,p=new Map,g=new Map,m=o??t??[],y=n??e??[],v=u??[0,0],b=d??Qo;ki(p,g,m);const w=bi(y,f,h,{nodeOrigin:v,nodeExtent:b,elevateNodesOnSelect:!1});let x=[0,0,1];if(a&&r&&i){const e=hr(f,{filter:e=>!(!e.width&&!e.initialWidth||!e.height&&!e.initialHeight)}),{x:t,y:n,zoom:o}=Ar(e,r,i,l,c,s?.padding??.1);x=[t,n,o]}return{rfId:"1",width:0,height:0,transform:x,nodes:y,nodesInitialized:w,nodeLookup:f,parentLookup:h,edges:m,edgeLookup:g,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==o,panZoom:null,minZoom:l,maxZoom:c,translateExtent:Qo,nodeExtent:b,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:tr.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:v,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:s,fitViewResolver:null,connection:{...rr},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Ir,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:er}},Bl=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:s,minZoom:l,maxZoom:c,nodeOrigin:u,nodeExtent:d})=>{return f=(f,h)=>{async function p(){const{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:o,width:r,height:i,minZoom:a,maxZoom:s}=h();t&&(await gr({nodes:e,width:r,height:i,panZoom:t,minZoom:a,maxZoom:s},n),o?.resolve(!0),f({fitViewResolver:null}))}return{...Vl({nodes:e,edges:t,width:r,height:i,fitView:a,fitViewOptions:s,minZoom:l,maxZoom:c,nodeOrigin:u,nodeExtent:d,defaultNodes:n,defaultEdges:o}),setNodes:e=>{const{nodeLookup:t,parentLookup:n,nodeOrigin:o,elevateNodesOnSelect:r,fitViewQueued:i}=h(),a=bi(e,t,n,{nodeOrigin:o,nodeExtent:d,elevateNodesOnSelect:r,checkEquality:!0});i&&a?(p(),f({nodes:e,nodesInitialized:a,fitViewQueued:!1,fitViewOptions:void 0})):f({nodes:e,nodesInitialized:a})},setEdges:e=>{const{connectionLookup:t,edgeLookup:n}=h();ki(t,n,e),f({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){const{setNodes:t}=h();t(e),f({hasDefaultNodes:!0})}if(t){const{setEdges:e}=h();e(t),f({hasDefaultEdges:!0})}},updateNodeInternals:e=>{const{triggerNodeChanges:t,nodeLookup:n,parentLookup:o,domNode:r,nodeOrigin:i,nodeExtent:a,debug:s,fitViewQueued:l}=h(),{changes:c,updatedInternals:u}=function(e,t,n,o,r,i){const a=o?.querySelector(".xyflow__viewport");let s=!1;if(!a)return{changes:[],updatedInternals:s};const l=[],c=window.getComputedStyle(a),{m22:u}=new window.DOMMatrixReadOnly(c.transform),d=[];for(const o of e.values()){const e=t.get(o.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),s=!0;continue}const a=qr(o.nodeElement),c=e.measured.width!==a.width||e.measured.height!==a.height;if(a.width&&a.height&&(c||!e.internals.handleBounds||o.force)){const f=o.nodeElement.getBoundingClientRect(),h=Vr(e.extent)?e.extent:i;let{positionAbsolute:p}=e.internals;e.parentId&&"parent"===e.extent?p=wr(p,a,t.get(e.parentId)):h&&(p=br(p,h,a));const g={...e,measured:a,internals:{...e.internals,positionAbsolute:p,handleBounds:{source:Qr("source",o.nodeElement,f,u,e.id),target:Qr("target",o.nodeElement,f,u,e.id)}}};t.set(e.id,g),e.parentId&&wi(g,t,n,{nodeOrigin:r}),s=!0,c&&(l.push({id:e.id,type:"dimensions",dimensions:a}),e.expandParent&&e.parentId&&d.push({id:e.id,parentId:e.parentId,rect:Or(g,r)}))}}if(d.length>0){const e=_i(d,t,n,r);l.push(...e)}return{changes:l,updatedInternals:s}}(e,n,o,r,i,a);u&&(function(e,t,n){const o=vi(mi,n);for(const n of e.values())if(n.parentId)wi(n,e,t,o);else{const e=fr(n,o.nodeOrigin),t=Vr(n.extent)?n.extent:o.nodeExtent,r=br(e,t,Br(n));n.internals.positionAbsolute=r}}(n,o,{nodeOrigin:i,nodeExtent:a}),l?(p(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),c?.length>0&&(s&&console.log("React Flow: trigger node changes",c),t?.(c)))},updateNodePositions:(e,t=!1)=>{const n=[],o=[],{nodeLookup:r,triggerNodeChanges:i}=h();for(const[i,a]of e){const e=r.get(i),s=!!(e?.expandParent&&e?.parentId&&a?.position),l={id:i,type:"position",position:s?{x:Math.max(0,a.position.x),y:Math.max(0,a.position.y)}:a.position,dragging:t};s&&e.parentId&&n.push({id:i,parentId:e.parentId,rect:{...a.internals.positionAbsolute,width:a.measured.width??0,height:a.measured.height??0}}),o.push(l)}if(n.length>0){const{parentLookup:e,nodeOrigin:t}=h(),i=_i(n,r,e,t);o.push(...i)}i(o)},triggerNodeChanges:e=>{const{onNodesChange:t,setNodes:n,nodes:o,hasDefaultNodes:r,debug:i}=h();e?.length&&(r&&n(es(e,o)),i&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{const{onEdgesChange:t,setEdges:n,edges:o,hasDefaultEdges:r,debug:i}=h();e?.length&&(r&&n(ts(e,o)),i&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{const{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:i}=h();t?r(e.map(e=>ns(e,!0))):(r(os(o,new Set([...e]),!0)),i(os(n)))},addSelectedEdges:e=>{const{multiSelectionActive:t,edgeLookup:n,nodeLookup:o,triggerNodeChanges:r,triggerEdgeChanges:i}=h();t?i(e.map(e=>ns(e,!0))):(i(os(n,new Set([...e]))),r(os(o,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{const{edges:n,nodes:o,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=h(),s=t||n,l=(e||o).map(e=>{const t=r.get(e.id);return t&&(t.selected=!1),ns(e.id,!1)}),c=s.map(e=>ns(e.id,!1));i(l),a(c)},setMinZoom:e=>{const{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),f({minZoom:e})},setMaxZoom:e=>{const{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),f({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),f({translateExtent:e})},setPaneClickDistance:e=>{h().panZoom?.setClickDistance(e)},resetSelectedElements:()=>{const{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:o,elementsSelectable:r}=h();if(!r)return;const i=t.reduce((e,t)=>t.selected?[...e,ns(t.id,!1)]:e,[]),a=e.reduce((e,t)=>t.selected?[...e,ns(t.id,!1)]:e,[]);n(i),o(a)},setNodeExtent:e=>{const{nodes:t,nodeLookup:n,parentLookup:o,nodeOrigin:r,elevateNodesOnSelect:i,nodeExtent:a}=h();e[0][0]===a[0][0]&&e[0][1]===a[0][1]&&e[1][0]===a[1][0]&&e[1][1]===a[1][1]||(bi(t,n,o,{nodeOrigin:r,nodeExtent:e,elevateNodesOnSelect:i,checkEquality:!1}),f({nodeExtent:e}))},panBy:e=>{const{transform:t,width:n,height:o,panZoom:r,translateExtent:i}=h();return async function({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o),s=!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]);return Promise.resolve(s)}({delta:e,panZoom:r,transform:t,translateExtent:i,width:n,height:o})},setCenter:async(e,t,n)=>{const{width:o,height:r,maxZoom:i,panZoom:a}=h();if(!a)return Promise.resolve(!1);const s=void 0!==n?.zoom?n.zoom:i;return await a.setViewport({x:o/2-e*s,y:r/2-t*s,zoom:s},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{f({connection:{...rr}})},updateConnection:e=>{f({connection:e})},reset:()=>f({...Vl()})}},h=Object.is,f?va(f,h):va;var f,h};function $l({initialNodes:n,initialEdges:o,defaultNodes:r,defaultEdges:i,initialWidth:a,initialHeight:s,initialMinZoom:l,initialMaxZoom:c,initialFitViewOptions:u,fitView:d,nodeOrigin:f,nodeExtent:h,children:p}){const[g]=t.useState(()=>Bl({nodes:n,edges:o,defaultNodes:r,defaultEdges:i,width:a,height:s,fitView:d,minZoom:l,maxZoom:c,fitViewOptions:u,nodeOrigin:f,nodeExtent:h}));return e.jsx(xa,{value:g,children:e.jsx(ds,{children:p})})}function Hl({children:n,nodes:o,edges:r,defaultNodes:i,defaultEdges:a,width:s,height:l,fitView:c,fitViewOptions:u,minZoom:d,maxZoom:f,nodeOrigin:h,nodeExtent:p}){return t.useContext(wa)?e.jsx(e.Fragment,{children:n}):e.jsx($l,{initialNodes:o,initialEdges:r,defaultNodes:i,defaultEdges:a,initialWidth:s,initialHeight:l,fitView:c,initialFitViewOptions:u,initialMinZoom:d,initialMaxZoom:f,nodeOrigin:h,nodeExtent:p,children:n})}const Fl={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var Yl,Zl=ss(function({nodes:n,edges:o,defaultNodes:r,defaultEdges:i,className:a,nodeTypes:s,edgeTypes:l,onNodeClick:c,onEdgeClick:u,onInit:d,onMove:f,onMoveStart:h,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:y,onClickConnectStart:v,onClickConnectEnd:b,onNodeMouseEnter:w,onNodeMouseMove:x,onNodeMouseLeave:_,onNodeContextMenu:E,onNodeDoubleClick:k,onNodeDragStart:S,onNodeDrag:O,onNodeDragStop:C,onNodesDelete:N,onEdgesDelete:M,onDelete:P,onSelectionChange:j,onSelectionDragStart:I,onSelectionDrag:T,onSelectionDragStop:z,onSelectionContextMenu:R,onSelectionStart:D,onSelectionEnd:A,onBeforeDelete:L,connectionMode:V,connectionLineType:B=ir.Bezier,connectionLineStyle:$,connectionLineComponent:H,connectionLineContainerStyle:F,deleteKeyCode:Y="Backspace",selectionKeyCode:Z="Shift",selectionOnDrag:q=!1,selectionMode:G=or.Full,panActivationKeyCode:W="Space",multiSelectionKeyCode:K=(Lr()?"Meta":"Control"),zoomActivationKeyCode:U=(Lr()?"Meta":"Control"),snapToGrid:Q,snapGrid:J,onlyRenderVisibleElements:ee=!1,selectNodesOnDrag:te,nodesDraggable:ne,autoPanOnNodeFocus:oe,nodesConnectable:re,nodesFocusable:ie,nodeOrigin:ae=$a,edgesFocusable:se,edgesReconnectable:le,elementsSelectable:ce=!0,defaultViewport:ue=Ha,minZoom:de=.5,maxZoom:fe=2,translateExtent:he=Qo,preventScrolling:pe=!0,nodeExtent:ge,defaultMarkerColor:me="#b1b1b7",zoomOnScroll:ye=!0,zoomOnPinch:ve=!0,panOnScroll:be=!1,panOnScrollSpeed:we=.5,panOnScrollMode:xe=nr.Free,zoomOnDoubleClick:_e=!0,panOnDrag:Ee=!0,onPaneClick:ke,onPaneMouseEnter:Se,onPaneMouseMove:Oe,onPaneMouseLeave:Ce,onPaneScroll:Ne,onPaneContextMenu:Me,paneClickDistance:Pe=0,nodeClickDistance:je=0,children:Ie,onReconnect:Te,onReconnectStart:ze,onReconnectEnd:Re,onEdgeContextMenu:De,onEdgeDoubleClick:Ae,onEdgeMouseEnter:Le,onEdgeMouseMove:Ve,onEdgeMouseLeave:Be,reconnectRadius:$e=10,onNodesChange:He,onEdgesChange:Fe,noDragClassName:Ye="nodrag",noWheelClassName:Ze="nowheel",noPanClassName:qe="nopan",fitView:Xe,fitViewOptions:Ge,connectOnClick:We,attributionPosition:Ke,proOptions:Ue,defaultEdgeOptions:Qe,elevateNodesOnSelect:Je,elevateEdgesOnSelect:et,disableKeyboardA11y:tt=!1,autoPanOnConnect:nt,autoPanOnNodeDrag:ot,autoPanSpeed:rt,connectionRadius:it,isValidConnection:at,onError:st,style:lt,id:ct,nodeDragThreshold:ut,connectionDragThreshold:dt,viewport:ft,onViewportChange:ht,width:pt,height:gt,colorMode:mt="light",debug:yt,onScroll:vt,ariaLabelConfig:bt,...wt},xt){const _t=ct||"1",Et=function(e){const[n,o]=t.useState("system"===e?null:e);return t.useEffect(()=>{if("system"!==e)return void o(e);const t=Xa(),n=()=>o(t?.matches?"dark":"light");return n(),t?.addEventListener("change",n),()=>{t?.removeEventListener("change",n)}},[e]),null!==n?n:Xa()?.matches?"dark":"light"}(mt),kt=t.useCallback(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),vt?.(e)},[vt]);return e.jsx("div",{"data-testid":"rf__wrapper",...wt,onScroll:kt,style:{...lt,...Fl},ref:xt,className:X(["react-flow",a,Et]),id:ct,role:"application",children:e.jsxs(Hl,{nodes:n,edges:o,width:pt,height:gt,fitView:Xe,fitViewOptions:Ge,minZoom:de,maxZoom:fe,nodeOrigin:ae,nodeExtent:ge,children:[e.jsx(Ll,{onInit:d,onNodeClick:c,onEdgeClick:u,onNodeMouseEnter:w,onNodeMouseMove:x,onNodeMouseLeave:_,onNodeContextMenu:E,onNodeDoubleClick:k,nodeTypes:s,edgeTypes:l,connectionLineType:B,connectionLineStyle:$,connectionLineComponent:H,connectionLineContainerStyle:F,selectionKeyCode:Z,selectionOnDrag:q,selectionMode:G,deleteKeyCode:Y,multiSelectionKeyCode:K,panActivationKeyCode:W,zoomActivationKeyCode:U,onlyRenderVisibleElements:ee,defaultViewport:ue,translateExtent:he,minZoom:de,maxZoom:fe,preventScrolling:pe,zoomOnScroll:ye,zoomOnPinch:ve,zoomOnDoubleClick:_e,panOnScroll:be,panOnScrollSpeed:we,panOnScrollMode:xe,panOnDrag:Ee,onPaneClick:ke,onPaneMouseEnter:Se,onPaneMouseMove:Oe,onPaneMouseLeave:Ce,onPaneScroll:Ne,onPaneContextMenu:Me,paneClickDistance:Pe,nodeClickDistance:je,onSelectionContextMenu:R,onSelectionStart:D,onSelectionEnd:A,onReconnect:Te,onReconnectStart:ze,onReconnectEnd:Re,onEdgeContextMenu:De,onEdgeDoubleClick:Ae,onEdgeMouseEnter:Le,onEdgeMouseMove:Ve,onEdgeMouseLeave:Be,reconnectRadius:$e,defaultMarkerColor:me,noDragClassName:Ye,noWheelClassName:Ze,noPanClassName:qe,rfId:_t,disableKeyboardA11y:tt,nodeExtent:ge,viewport:ft,onViewportChange:ht}),e.jsx(qa,{nodes:n,edges:o,defaultNodes:r,defaultEdges:i,onConnect:g,onConnectStart:m,onConnectEnd:y,onClickConnectStart:v,onClickConnectEnd:b,nodesDraggable:ne,autoPanOnNodeFocus:oe,nodesConnectable:re,nodesFocusable:ie,edgesFocusable:se,edgesReconnectable:le,elementsSelectable:ce,elevateNodesOnSelect:Je,elevateEdgesOnSelect:et,minZoom:de,maxZoom:fe,nodeExtent:ge,onNodesChange:He,onEdgesChange:Fe,snapToGrid:Q,snapGrid:J,connectionMode:V,translateExtent:he,connectOnClick:We,defaultEdgeOptions:Qe,fitView:Xe,fitViewOptions:Ge,onNodesDelete:N,onEdgesDelete:M,onDelete:P,onNodeDragStart:S,onNodeDrag:O,onNodeDragStop:C,onSelectionDrag:T,onSelectionDragStart:I,onSelectionDragStop:z,onMove:f,onMoveStart:h,onMoveEnd:p,noPanClassName:qe,nodeOrigin:ae,rfId:_t,autoPanOnConnect:nt,autoPanOnNodeDrag:ot,autoPanSpeed:rt,onError:st,connectionRadius:it,isValidConnection:at,selectNodesOnDrag:te,nodeDragThreshold:ut,connectionDragThreshold:dt,onBeforeDelete:L,paneClickDistance:Pe,debug:yt,ariaLabelConfig:bt}),e.jsx(Ba,{onSelectionChange:j}),Ie,e.jsx(za,{proOptions:Ue,position:Ke}),e.jsx(Ia,{rfId:_t,disableKeyboardA11y:tt})]})})});function ql({dimensions:t,lineWidth:n,variant:o,className:r}){return e.jsx("path",{strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:X(["react-flow__background-pattern",o,r])})}function Xl({radius:t,className:n}){return e.jsx("circle",{cx:t,cy:t,r:t,className:X(["react-flow__background-pattern","dots",n])})}!function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"}(Yl||(Yl={}));const Gl={[Yl.Dots]:1,[Yl.Lines]:1,[Yl.Cross]:6},Wl=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Kl({id:n,variant:o=Yl.Dots,gap:r=20,size:i,lineWidth:a=1,offset:s=0,color:l,bgColor:c,style:u,className:d,patternClassName:f}){const h=t.useRef(null),{transform:p,patternId:g}=Ea(Wl,ba),m=i||Gl[o],y=o===Yl.Dots,v=o===Yl.Cross,b=Array.isArray(r)?r:[r,r],w=[b[0]*p[2]||1,b[1]*p[2]||1],x=m*p[2],_=Array.isArray(s)?s:[s,s],E=v?[x,x]:w,k=[_[0]*p[2]||1+E[0]/2,_[1]*p[2]||1+E[1]/2],S=`${g}${n||""}`;return e.jsxs("svg",{className:X(["react-flow__background",d]),style:{...u,...ms,"--xy-background-color-props":c,"--xy-background-pattern-color-props":l},ref:h,"data-testid":"rf__background",children:[e.jsx("pattern",{id:S,x:p[0]%w[0],y:p[1]%w[1],width:w[0],height:w[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${k[0]},-${k[1]})`,children:y?e.jsx(Xl,{radius:x/2,className:f}):e.jsx(ql,{dimensions:E,lineWidth:a,variant:o,className:f})}),e.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${S})`})]})}function Ul(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:e.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Ql(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:e.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Jl(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:e.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 ec(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:e.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 tc(){return e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:e.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 nc({children:t,className:n,...o}){return e.jsx("button",{type:"button",className:X(["react-flow__controls-button",n]),...o,children:t})}Kl.displayName="Background",t.memo(Kl);const oc=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function rc({style:t,showZoom:n=!0,showFitView:o=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:s,onFitView:l,onInteractiveChange:c,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":p}){const g=ka(),{isInteractive:m,minZoomReached:y,maxZoomReached:v,ariaLabelConfig:b}=Ea(oc,ba),{zoomIn:w,zoomOut:x,fitView:_}=hs(),E="horizontal"===h?"horizontal":"vertical";return e.jsxs(Ta,{className:X(["react-flow__controls",E,u]),position:f,style:t,"data-testid":"rf__controls","aria-label":p??b["controls.ariaLabel"],children:[n&&e.jsxs(e.Fragment,{children:[e.jsx(nc,{onClick:()=>{w(),a?.()},className:"react-flow__controls-zoomin",title:b["controls.zoomIn.ariaLabel"],"aria-label":b["controls.zoomIn.ariaLabel"],disabled:v,children:e.jsx(Ul,{})}),e.jsx(nc,{onClick:()=>{x(),s?.()},className:"react-flow__controls-zoomout",title:b["controls.zoomOut.ariaLabel"],"aria-label":b["controls.zoomOut.ariaLabel"],disabled:y,children:e.jsx(Ql,{})})]}),o&&e.jsx(nc,{className:"react-flow__controls-fitview",onClick:()=>{_(i),l?.()},title:b["controls.fitView.ariaLabel"],"aria-label":b["controls.fitView.ariaLabel"],children:e.jsx(Jl,{})}),r&&e.jsx(nc,{className:"react-flow__controls-interactive",onClick:()=>{g.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),c?.(!m)},title:b["controls.interactive.ariaLabel"],"aria-label":b["controls.interactive.ariaLabel"],children:m?e.jsx(tc,{}):e.jsx(ec,{})}),d]})}rc.displayName="Controls";const ic=t.memo(rc);const ac=t.memo(function({id:t,x:n,y:o,width:r,height:i,style:a,color:s,strokeColor:l,strokeWidth:c,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:p}){const{background:g,backgroundColor:m}=a||{},y=s||g||m;return e.jsx("rect",{className:X(["react-flow__minimap-node",{selected:h},u]),x:n,y:o,rx:d,ry:d,width:r,height:i,style:{fill:y,stroke:l,strokeWidth:c},shapeRendering:f,onClick:p?e=>p(e,t):void 0})}),sc=e=>e.nodes.map(e=>e.id),lc=e=>e instanceof Function?e:()=>e;const cc=t.memo(function({id:t,nodeColorFunc:n,nodeStrokeColorFunc:o,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:s,NodeComponent:l,onClick:c}){const{node:u,x:d,y:f,width:h,height:p}=Ea(e=>{const{internals:n}=e.nodeLookup.get(t),o=n.userNode,{x:r,y:i}=n.positionAbsolute,{width:a,height:s}=Br(o);return{node:o,x:r,y:i,width:a,height:s}},ba);return u&&!u.hidden&&$r(u)?e.jsx(l,{x:d,y:f,width:h,height:p,style:u.style,selected:!!u.selected,className:r(u),color:n(u),borderRadius:i,strokeColor:o(u),strokeWidth:a,shapeRendering:s,onClick:c,id:u.id}):null});var uc=t.memo(function({nodeStrokeColor:t,nodeColor:n,nodeClassName:o="",nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=ac,onClick:s}){const l=Ea(sc,ba),c=lc(n),u=lc(t),d=lc(o),f="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision";return e.jsx(e.Fragment,{children:l.map(t=>e.jsx(cc,{id:t,nodeColorFunc:c,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:s,shapeRendering:f},t))})});const dc=e=>!e.hidden,fc=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?Nr(hr(e.nodeLookup,{filter:dc}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function hc({style:n,className:o,nodeStrokeColor:r,nodeColor:i,nodeClassName:a="",nodeBorderRadius:s=5,nodeStrokeWidth:l,nodeComponent:c,bgColor:u,maskColor:d,maskStrokeColor:f,maskStrokeWidth:h,position:p="bottom-right",onClick:g,onNodeClick:m,pannable:y=!1,zoomable:v=!1,ariaLabel:b,inversePan:w,zoomStep:x=10,offsetScale:_=5}){const E=ka(),k=t.useRef(null),{boundingRect:S,viewBB:O,rfId:C,panZoom:N,translateExtent:M,flowWidth:P,flowHeight:j,ariaLabelConfig:I}=Ea(fc,ba),T=n?.width??200,z=n?.height??150,R=S.width/T,D=S.height/z,A=Math.max(R,D),L=A*T,V=A*z,B=_*A,$=S.x-(L-S.width)/2-B,H=S.y-(V-S.height)/2-B,F=L+2*B,Y=V+2*B,Z=`react-flow__minimap-desc-${C}`,q=t.useRef(0),G=t.useRef();q.current=A,t.useEffect(()=>{if(k.current&&N)return G.current=function({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const r=dt(e);return{update:function({translateExtent:e,width:i,height:a,zoomStep:s=10,pannable:l=!0,zoomable:c=!0,inversePan:u=!1}){let d=[0,0];const f=Lo().on("start",e=>{"mousedown"!==e.sourceEvent.type&&"touchstart"!==e.sourceEvent.type||(d=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on("zoom",l?r=>{const s=n();if("mousemove"!==r.sourceEvent.type&&"touchmove"!==r.sourceEvent.type||!t)return;const l=[r.sourceEvent.clientX??r.sourceEvent.touches[0].clientX,r.sourceEvent.clientY??r.sourceEvent.touches[0].clientY],c=[l[0]-d[0],l[1]-d[1]];d=l;const f=o()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),h={x:s[0]-c[0]*f,y:s[1]-c[1]*f},p=[[0,0],[i,a]];t.setViewportConstrained({x:h.x,y:h.y,zoom:s[2]},p,e)}:null).on("zoom.wheel",c?e=>{const o=n();if("wheel"!==e.sourceEvent.type||!t)return;const r=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*s,i=o[2]*Math.pow(2,r);t.scaleTo(i)}:null);r.call(f,{})},destroy:function(){r.on("zoom",null)},pointer:ft}}({domNode:k.current,panZoom:N,getTransform:()=>E.getState().transform,getViewScale:()=>q.current}),()=>{G.current?.destroy()}},[N]),t.useEffect(()=>{G.current?.update({translateExtent:M,width:P,height:j,inversePan:w,pannable:y,zoomStep:x,zoomable:v})},[y,v,w,x,M,P,j]);const W=g?e=>{const[t,n]=G.current?.pointer(e)||[0,0];g(e,{x:t,y:n})}:void 0,K=m?t.useCallback((e,t)=>{const n=E.getState().nodeLookup.get(t).internals.userNode;m(e,n)},[]):void 0,U=b??I["minimap.ariaLabel"];return e.jsx(Ta,{position:p,style:{...n,"--xy-minimap-background-color-props":"string"==typeof u?u:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof d?d:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof f?f:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof h?h*A:void 0,"--xy-minimap-node-background-color-props":"string"==typeof i?i:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof r?r:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof l?l:void 0},className:X(["react-flow__minimap",o]),"data-testid":"rf__minimap",children:e.jsxs("svg",{width:T,height:z,viewBox:`${$} ${H} ${F} ${Y}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Z,ref:k,onClick:W,children:[U&&e.jsx("title",{id:Z,children:U}),e.jsx(uc,{onClick:K,nodeColor:i,nodeStrokeColor:r,nodeBorderRadius:s,nodeClassName:a,nodeStrokeWidth:l,nodeComponent:c}),e.jsx("path",{className:"react-flow__minimap-mask",d:`M${$-B},${H-B}h${F+2*B}v${Y+2*B}h${-F-2*B}z\n M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}hc.displayName="MiniMap",t.memo(hc);const pc={[Fi.Line]:"right",[Fi.Handle]:"bottom-right"};t.memo(function({nodeId:n,position:o,variant:r=Fi.Handle,className:i,style:a,children:s,color:l,minWidth:c=10,minHeight:u=10,maxWidth:d=Number.MAX_VALUE,maxHeight:f=Number.MAX_VALUE,keepAspectRatio:h=!1,resizeDirection:p,autoScale:g=!0,shouldResize:m,onResizeStart:y,onResize:v,onResizeEnd:b}){const w=Ms(),x="string"==typeof n?n:w,_=ka(),E=t.useRef(null),k=r===Fi.Handle,S=Ea(t.useCallback((O=k&&g,e=>O?`${Math.max(1/e.transform[2],1)}`:void 0),[k,g]),ba);var O;const C=t.useRef(null),N=o??pc[r];t.useEffect(()=>{if(E.current&&x)return C.current||(C.current=Ui({domNode:E.current,nodeId:x,getStoreItems:()=>{const{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,domNode:i}=_.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:o,nodeOrigin:r,paneDomNode:i}},onChange:(e,t)=>{const{triggerNodeChanges:n,nodeLookup:o,parentLookup:r,nodeOrigin:i}=_.getState(),a=[],s={x:e.x,y:e.y},l=o.get(x);if(l&&l.expandParent&&l.parentId){const t=l.origin??i,n=e.width??l.measured.width??0,c=e.height??l.measured.height??0,u=_i([{id:l.id,parentId:l.parentId,rect:{width:n,height:c,...Hr({x:e.x??l.position.x,y:e.y??l.position.y},{width:n,height:c},l.parentId,o,t)}}],o,r,i);a.push(...u),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*c,e.y):void 0}if(void 0!==s.x&&void 0!==s.y){const e={id:x,type:"position",position:{...s}};a.push(e)}if(void 0!==e.width&&void 0!==e.height){const t={id:x,type:"dimensions",resizing:!0,setAttributes:!p||("horizontal"===p?"width":"height"),dimensions:{width:e.width,height:e.height}};a.push(t)}for(const e of t){const t={...e,type:"position"};a.push(t)}n(a)},onEnd:({width:e,height:t})=>{const n={id:x,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}};_.getState().triggerNodeChanges([n])}})),C.current.update({controlPosition:N,boundaries:{minWidth:c,minHeight:u,maxWidth:d,maxHeight:f},keepAspectRatio:h,resizeDirection:p,onResizeStart:y,onResize:v,onResizeEnd:b,shouldResize:m}),()=>{C.current?.destroy()}},[N,c,u,d,f,h,y,v,b,m]);const M=N.split("-");return e.jsx("div",{className:X(["react-flow__resize-control","nodrag",...M,r,i]),ref:E,style:{...a,scale:S,...l&&{[k?"backgroundColor":"borderColor"]:l}},children:s})});var gc,mc,yc,vc,bc,wc,xc,_c,Ec,kc,Sc,Oc,Cc,Nc,Mc,Pc,jc,Ic,Tc,zc,Rc,Dc,Ac,Lc,Vc,Bc,$c,Hc,Fc,Yc,Zc,qc,Xc,Gc,Wc,Kc,Uc,Qc,Jc,eu,tu,nu,ou,ru,iu,au,su,lu,cu,uu,du,fu,hu,pu,gu,mu,yu,vu,bu,wu,xu,_u,Eu,ku,Su,Ou,Cu,Nu,Mu,Pu,ju,Iu,Tu,zu,Ru,Du,Au,Lu,Vu,Bu,$u,Hu,Fu,Yu,Zu,qu,Xu,Gu,Wu,Ku,Uu,Qu,Ju,ed;function td(){if(mc)return gc;mc=1;var e="\0";function t(e,t){e[t]?e[t]++:e[t]=1}function n(e,t){--e[t]||delete e[t]}function o(e,t,n,o){var r=""+t,i=""+n;if(!e&&r>i){var a=r;r=i,i=a}return r+""+i+""+(void 0===o?"\0":o)}function r(e,t){return o(e,t.v,t.w,t.name)}return gc=class{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(t){t&&(this._isDirected=!Object.hasOwn(t,"directed")||t.directed,this._isMultigraph=!!Object.hasOwn(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.hasOwn(t,"compound")&&t.compound),this._isCompound&&(this._parent={},this._children={},this._children[e]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=e,"function"!=typeof e&&(this._defaultNodeLabelFn=()=>e),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var e=this;return this.nodes().filter(t=>0===Object.keys(e._in[t]).length)}sinks(){var e=this;return this.nodes().filter(t=>0===Object.keys(e._out[t]).length)}setNodes(e,t){var n=arguments,o=this;return e.forEach(function(e){n.length>1?o.setNode(e,t):o.setNode(e)}),this}setNode(t,n){return Object.hasOwn(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=n),this):(this._nodes[t]=arguments.length>1?n:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=e,this._children[t]={},this._children[e][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.hasOwn(this._nodes,e)}removeNode(e){var t=this;if(Object.hasOwn(this._nodes,e)){var n=e=>t.removeEdge(t._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(function(e){t.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(n),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(t,n){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(void 0===n)n=e;else{for(var o=n+="";void 0!==o;o=this.parent(o))if(o===t)throw new Error("Setting "+n+" as parent of "+t+" would create a cycle");this.setNode(n)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=n,this._children[n][t]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(t){if(this._isCompound){var n=this._parent[t];if(n!==e)return n}}children(t=e){if(this._isCompound){var n=this._children[t];if(n)return Object.keys(n)}else{if(t===e)return this.nodes();if(this.hasNode(t))return[]}}predecessors(e){var t=this._preds[e];if(t)return Object.keys(t)}successors(e){var t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){var t=this.predecessors(e);if(t){const o=new Set(t);for(var n of this.successors(e))o.add(n);return Array.from(o.values())}}isLeaf(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var n=this;Object.entries(this._nodes).forEach(function([n,o]){e(n)&&t.setNode(n,o)}),Object.values(this._edgeObjs).forEach(function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))});var o={};function r(e){var i=n.parent(e);return void 0===i||t.hasNode(i)?(o[e]=i,i):i in o?o[i]:r(i)}return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,r(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=e,"function"!=typeof e&&(this._defaultEdgeLabelFn=()=>e),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){var n=this,o=arguments;return e.reduce(function(e,r){return o.length>1?n.setEdge(e,r,t):n.setEdge(e,r),r}),this}setEdge(){var e,n,r,i,a=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(e=s.v,n=s.w,r=s.name,2===arguments.length&&(i=arguments[1],a=!0)):(e=s,n=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,n=""+n,void 0!==r&&(r=""+r);var l=o(this._isDirected,e,n,r);if(Object.hasOwn(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(void 0!==r&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(n),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,n,r);var c=function(e,t,n,o){var r=""+t,i=""+n;if(!e&&r>i){var a=r;r=i,i=a}var s={v:r,w:i};o&&(s.name=o);return s}(this._isDirected,e,n,r);return e=c.v,n=c.w,Object.freeze(c),this._edgeObjs[l]=c,t(this._preds[n],e),t(this._sucs[e],n),this._in[n][l]=c,this._out[e][l]=c,this._edgeCount++,this}edge(e,t,n){var i=1===arguments.length?r(this._isDirected,arguments[0]):o(this._isDirected,e,t,n);return this._edgeLabels[i]}edgeAsObj(){const e=this.edge(...arguments);return"object"!=typeof e?{label:e}:e}hasEdge(e,t,n){var i=1===arguments.length?r(this._isDirected,arguments[0]):o(this._isDirected,e,t,n);return Object.hasOwn(this._edgeLabels,i)}removeEdge(e,t,i){var a=1===arguments.length?r(this._isDirected,arguments[0]):o(this._isDirected,e,t,i),s=this._edgeObjs[a];return s&&(e=s.v,t=s.w,delete this._edgeLabels[a],delete this._edgeObjs[a],n(this._preds[t],e),n(this._sucs[e],t),delete this._in[t][a],delete this._out[e][a],this._edgeCount--),this}inEdges(e,t){var n=this._in[e];if(n){var o=Object.values(n);return t?o.filter(e=>e.v===t):o}}outEdges(e,t){var n=this._out[e];if(n){var o=Object.values(n);return t?o.filter(e=>e.w===t):o}}nodeEdges(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}},gc}function nd(){return wc?bc:(wc=1,bc={Graph:td(),version:vc?yc:(vc=1,yc="2.2.4")})}function od(){if(_c)return xc;_c=1;var e=td();function t(e){return e.nodes().map(function(t){var n=e.node(t),o=e.parent(t),r={v:t};return void 0!==n&&(r.value=n),void 0!==o&&(r.parent=o),r})}function n(e){return e.edges().map(function(t){var n=e.edge(t),o={v:t.v,w:t.w};return void 0!==t.name&&(o.name=t.name),void 0!==n&&(o.value=n),o})}return xc={write:function(e){var o={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:t(e),edges:n(e)};void 0!==e.graph()&&(o.value=structuredClone(e.graph()));return o},read:function(t){var n=new e(t.options).setGraph(t.value);return t.nodes.forEach(function(e){n.setNode(e.v,e.value),e.parent&&n.setParent(e.v,e.parent)}),t.edges.forEach(function(e){n.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),n}}}function rd(){if(kc)return Ec;return kc=1,Ec=function(e){var t,n={},o=[];function r(o){Object.hasOwn(n,o)||(n[o]=!0,t.push(o),e.successors(o).forEach(r),e.predecessors(o).forEach(r))}return e.nodes().forEach(function(e){t=[],r(e),t.length&&o.push(t)}),o},Ec}function id(){if(Oc)return Sc;Oc=1;return Sc=class{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(e){return e.key})}has(e){return Object.hasOwn(this._keyIndices,e)}priority(e){var t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority}min(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key}add(e,t){var n=this._keyIndices;if(e=String(e),!Object.hasOwn(n,e)){var o=this._arr,r=o.length;return n[e]=r,o.push({key:e,priority:t}),this._decrease(r),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){var n=this._keyIndices[e];if(t>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[n].priority+" New: "+t);this._arr[n].priority=t,this._decrease(n)}_heapify(e){var t=this._arr,n=2*e,o=n+1,r=e;n<t.length&&(r=t[n].priority<t[r].priority?n:r,o<t.length&&(r=t[o].priority<t[r].priority?o:r),r!==e&&(this._swap(e,r),this._heapify(r)))}_decrease(e){for(var t,n=this._arr,o=n[e].priority;0!==e&&!(n[t=e>>1].priority<o);)this._swap(e,t),e=t}_swap(e,t){var n=this._arr,o=this._keyIndices,r=n[e],i=n[t];n[e]=i,n[t]=r,o[i.key]=e,o[r.key]=t}},Sc}function ad(){if(Nc)return Cc;Nc=1;var e=id();Cc=function(n,o,r,i){return function(t,n,o,r){var i,a,s={},l=new e,c=function(e){var t=e.v!==i?e.v:e.w,n=s[t],r=o(e),c=a.distance+r;if(r<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+r);c<n.distance&&(n.distance=c,n.predecessor=i,l.decrease(t,c))};t.nodes().forEach(function(e){var t=e===n?0:Number.POSITIVE_INFINITY;s[e]={distance:t},l.add(e,t)});for(;l.size()>0&&(i=l.removeMin(),(a=s[i]).distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return s}(n,String(o),r||t,i||function(e){return n.outEdges(e)})};var t=()=>1;return Cc}function sd(){if(Pc)return Mc;Pc=1;var e=ad();return Mc=function(t,n,o){return t.nodes().reduce(function(r,i){return r[i]=e(t,i,n,o),r},{})},Mc}function ld(){if(Ic)return jc;return Ic=1,jc=function(e){var t=0,n=[],o={},r=[];function i(a){var s=o[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(e){Object.hasOwn(o,e)?o[e].onStack&&(s.lowlink=Math.min(s.lowlink,o[e].index)):(i(e),s.lowlink=Math.min(s.lowlink,o[e].lowlink))}),s.lowlink===s.index){var l,c=[];do{l=n.pop(),o[l].onStack=!1,c.push(l)}while(a!==l);r.push(c)}}return e.nodes().forEach(function(e){Object.hasOwn(o,e)||i(e)}),r},jc}function cd(){if(zc)return Tc;zc=1;var e=ld();return Tc=function(t){return e(t).filter(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}}function ud(){if(Dc)return Rc;Dc=1,Rc=function(t,n,o){return function(e,t,n){var o={},r=e.nodes();return r.forEach(function(e){o[e]={},o[e][e]={distance:0},r.forEach(function(t){e!==t&&(o[e][t]={distance:Number.POSITIVE_INFINITY})}),n(e).forEach(function(n){var r=n.v===e?n.w:n.v,i=t(n);o[e][r]={distance:i,predecessor:e}})}),r.forEach(function(e){var t=o[e];r.forEach(function(n){var i=o[n];r.forEach(function(n){var o=i[e],r=t[n],a=i[n],s=o.distance+r.distance;s<a.distance&&(a.distance=s,a.predecessor=r.predecessor)})})}),o}(t,n||e,o||function(e){return t.outEdges(e)})};var e=()=>1;return Rc}function dd(){if(Lc)return Ac;function e(e){var n={},o={},r=[];if(e.sinks().forEach(function i(a){if(Object.hasOwn(o,a))throw new t;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}),Object.keys(n).length!==e.nodeCount())throw new t;return r}Lc=1;class t extends Error{constructor(){super(...arguments)}}return Ac=e,e.CycleException=t,Ac}function fd(){if(Bc)return Vc;Bc=1;var e=dd();return Vc=function(t){try{e(t)}catch(t){if(t instanceof e.CycleException)return!1;throw t}return!0}}function hd(){if(Hc)return $c;function e(e,t,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),n(t(a[0]),e=>i.push([e,!1])))}}function t(e,t,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),n(t(a),e=>i.push(e)))}}function n(e,t){for(var n=e.length;n--;)t(e[n],n,e);return e}return Hc=1,$c=function(n,o,r){Array.isArray(o)||(o=[o]);var i=n.isDirected()?e=>n.successors(e):e=>n.neighbors(e),a="post"===r?e:t,s=[],l={};return o.forEach(e=>{if(!n.hasNode(e))throw new Error("Graph does not have node: "+e);a(e,i,l,s)}),s},$c}function pd(){if(Yc)return Fc;Yc=1;var e=hd();return Fc=function(t,n){return e(t,n,"post")}}function gd(){if(qc)return Zc;qc=1;var e=hd();return Zc=function(t,n){return e(t,n,"pre")}}function md(){if(Gc)return Xc;Gc=1;var e=td(),t=id();return Xc=function(n,o){var r,i=new e,a={},s=new t;function l(e){var t=e.v===r?e.w:e.v,n=s.priority(t);if(void 0!==n){var i=o(e);i<n&&(a[t]=r,s.decrease(t,i))}}if(0===n.nodeCount())return i;n.nodes().forEach(function(e){s.add(e,Number.POSITIVE_INFINITY),i.setNode(e)}),s.decrease(n.nodes()[0],0);var c=!1;for(;s.size()>0;){if(r=s.removeMin(),Object.hasOwn(a,r))i.setEdge(r,a[r]);else{if(c)throw new Error("Input graph is not connected: "+n);c=!0}n.nodeEdges(r).forEach(l)}return i},Xc}function yd(){if(Qc)return Uc;Qc=1;var e=nd();return Uc={Graph:e.Graph,json:od(),alg:Kc?Wc:(Kc=1,Wc={components:rd(),dijkstra:ad(),dijkstraAll:sd(),findCycles:cd(),floydWarshall:ud(),isAcyclic:fd(),postorder:pd(),preorder:gd(),prim:md(),tarjan:ld(),topsort:dd()}),version:e.version}}function vd(){if(nu)return tu;nu=1;let e=yd().Graph,t=function(){if(eu)return Jc;function e(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function t(e,t){if("_next"!==e&&"_prev"!==e)return t}return eu=1,Jc=class{constructor(){let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let t=this._sentinel,n=t._prev;if(n!==t)return e(n),n}enqueue(t){let n=this._sentinel;t._prev&&t._next&&e(t),t._next=n._next,n._next._prev=t,n._next=t,t._prev=n}toString(){let e=[],n=this._sentinel,o=n._prev;for(;o!==n;)e.push(JSON.stringify(o,t)),o=o._prev;return"["+e.join(", ")+"]"}}}();tu=function(i,a){if(i.nodeCount()<=1)return[];let s=function(n,o){let i=new e,a=0,s=0;n.nodes().forEach(e=>{i.setNode(e,{v:e,in:0,out:0})}),n.edges().forEach(e=>{let t=i.edge(e.v,e.w)||0,n=o(e),r=t+n;i.setEdge(e.v,e.w,r),s=Math.max(s,i.node(e.v).out+=n),a=Math.max(a,i.node(e.w).in+=n)});let l=function(e){const t=[];for(let n=0;n<e;n++)t.push(n);return t}(s+a+3).map(()=>new t),c=a+1;return i.nodes().forEach(e=>{r(l,c,i.node(e))}),{graph:i,buckets:l,zeroIdx:c}}(i,a||n);return function(e,t,n){let r,i=[],a=t[t.length-1],s=t[0];for(;e.nodeCount();){for(;r=s.dequeue();)o(e,t,n,r);for(;r=a.dequeue();)o(e,t,n,r);if(e.nodeCount())for(let a=t.length-2;a>0;--a)if(r=t[a].dequeue(),r){i=i.concat(o(e,t,n,r,!0));break}}return i}(s.graph,s.buckets,s.zeroIdx).flatMap(e=>i.outEdges(e.v,e.w))};let n=()=>1;function o(e,t,n,o,i){let a=i?[]:void 0;return e.inEdges(o.v).forEach(o=>{let s=e.edge(o),l=e.node(o.v);i&&a.push({v:o.v,w:o.w}),l.out-=s,r(t,n,l)}),e.outEdges(o.v).forEach(o=>{let i=e.edge(o),a=o.w,s=e.node(a);s.in-=i,r(t,n,s)}),e.removeNode(o.v),a}function r(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}return tu}function bd(){if(ru)return ou;ru=1;let e=yd().Graph;function t(e,t,n,o){for(var r=o;e.hasNode(r);)r=a(o);return n.dummy=t,e.setNode(r,n),r}ou={addBorderNode:function(e,n,o,r){let i={width:0,height:0};arguments.length>=4&&(i.rank=o,i.order=r);return t(e,"border",i,n)},addDummyNode:t,applyWithChunking:o,asNonCompoundGraph:function(t){let n=new e({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(e=>{t.children(e).length||n.setNode(e,t.node(e))}),t.edges().forEach(e=>{n.setEdge(e,t.edge(e))}),n},buildLayerMatrix:function(e){let t=s(r(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let o=e.node(n),r=o.rank;void 0!==r&&(t[r][o.order]=n)}),t},intersectRect:function(e,t){let n,o,r=e.x,i=e.y,a=t.x-r,s=t.y-i,l=e.width/2,c=e.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(s)*l>Math.abs(a)*c?(s<0&&(c=-c),n=c*a/s,o=c):(a<0&&(l=-l),n=l,o=l*s/a);return{x:r+n,y:i+o}},mapValues:function(e,t){let n=t;"string"==typeof t&&(n=e=>e[t]);return Object.entries(e).reduce((e,[t,o])=>(e[t]=n(o,t),e),{})},maxRank:r,normalizeRanks:function(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return void 0===n?Number.MAX_VALUE:n}),n=o(Math.min,t);e.nodes().forEach(t=>{let o=e.node(t);Object.hasOwn(o,"rank")&&(o.rank-=n)})},notime:function(e,t){return t()},partition:function(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n},pick:function(e,t){const n={};for(const o of t)void 0!==e[o]&&(n[o]=e[o]);return n},predecessorWeights:function(e){let t=e.nodes().map(t=>{let n={};return e.inEdges(t).forEach(t=>{n[t.v]=(n[t.v]||0)+e.edge(t).weight}),n});return l(e.nodes(),t)},range:s,removeEmptyRanks:function(e){let t=e.nodes().map(t=>e.node(t).rank),n=o(Math.min,t),r=[];e.nodes().forEach(t=>{let o=e.node(t).rank-n;r[o]||(r[o]=[]),r[o].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{void 0===t&&n%a!==0?--i:void 0!==t&&i&&t.forEach(t=>e.node(t).rank+=i)})},simplify:function(t){let n=(new e).setGraph(t.graph());return t.nodes().forEach(e=>n.setNode(e,t.node(e))),t.edges().forEach(e=>{let o=n.edge(e.v,e.w)||{weight:0,minlen:1},r=t.edge(e);n.setEdge(e.v,e.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),n},successorWeights:function(e){let t=e.nodes().map(t=>{let n={};return e.outEdges(t).forEach(t=>{n[t.w]=(n[t.w]||0)+e.edge(t).weight}),n});return l(e.nodes(),t)},time:function(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}},uniqueId:a,zipObject:l};const n=65535;function o(e,t){if(t.length>n){const o=function(e,t=n){const o=[];for(let n=0;n<e.length;n+=t){const r=e.slice(n,n+t);o.push(r)}return o}(t);return e.apply(null,o.map(t=>e.apply(null,t)))}return e.apply(null,t)}function r(e){const t=e.nodes().map(t=>{let n=e.node(t).rank;return void 0===n?Number.MIN_VALUE:n});return o(Math.max,t)}let i=0;function a(e){return e+""+ ++i}function s(e,t,n=1){null==t&&(t=e,e=0);let o=e=>e<t;n<0&&(o=e=>t<e);const r=[];for(let t=e;o(t);t+=n)r.push(t);return r}function l(e,t){return e.reduce((e,n,o)=>(e[n]=t[o],e),{})}return ou}function wd(){if(au)return iu;au=1;let e=vd(),t=bd().uniqueId;return iu={run:function(n){("greedy"===n.graph().acyclicer?e(n,function(e){return t=>e.edge(t).weight}(n)):function(e){let t=[],n={},o={};function r(i){Object.hasOwn(o,i)||(o[i]=!0,n[i]=!0,e.outEdges(i).forEach(e=>{Object.hasOwn(n,e.w)?t.push(e):r(e.w)}),delete n[i])}return e.nodes().forEach(r),t}(n)).forEach(e=>{let o=n.edge(e);n.removeEdge(e),o.forwardName=e.name,o.reversed=!0,n.setEdge(e.w,e.v,o,t("rev"))})},undo:function(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let o=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,o)}})}},iu}function xd(){if(lu)return su;lu=1;let e=bd();return su={run:function(t){t.graph().dummyChains=[],t.edges().forEach(n=>function(t,n){let o,r,i,a=n.v,s=t.node(a).rank,l=n.w,c=t.node(l).rank,u=n.name,d=t.edge(n),f=d.labelRank;if(c===s+1)return;for(t.removeEdge(n),i=0,++s;s<c;++i,++s)d.points=[],r={width:0,height:0,edgeLabel:d,edgeObj:n,rank:s},o=e.addDummyNode(t,"edge",r,"_d"),s===f&&(r.width=d.width,r.height=d.height,r.dummy="edge-label",r.labelpos=d.labelpos),t.setEdge(a,o,{weight:d.weight},u),0===i&&t.graph().dummyChains.push(o),a=o;t.setEdge(a,l,{weight:d.weight},u)}(t,n))},undo:function(e){e.graph().dummyChains.forEach(t=>{let n,o=e.node(t),r=o.edgeLabel;for(e.setEdge(o.edgeObj,r);o.dummy;)n=e.successors(t)[0],e.removeNode(t),r.points.push({x:o.x,y:o.y}),"edge-label"===o.dummy&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),t=n,o=e.node(t)})}},su}function _d(){if(uu)return cu;uu=1;const{applyWithChunking:e}=bd();return cu={longestPath:function(t){var n={};t.sources().forEach(function o(r){var i=t.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=t.outEdges(r).map(e=>null==e?Number.POSITIVE_INFINITY:o(e.w)-t.edge(e).minlen);var s=e(Math.min,a);return s===Number.POSITIVE_INFINITY&&(s=0),i.rank=s})},slack:function(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}},cu}function Ed(){if(fu)return du;fu=1;var e=yd().Graph,t=_d().slack;function n(e,n){return e.nodes().forEach(function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,s=r===a?i.w:a;e.hasNode(s)||t(n,i)||(e.setNode(s,{}),e.setEdge(r,s,{}),o(s))})}),e.nodeCount()}function o(e,n){return n.edges().reduce((o,r)=>{let i=Number.POSITIVE_INFINITY;return e.hasNode(r.v)!==e.hasNode(r.w)&&(i=t(n,r)),i<o[0]?[i,r]:o},[Number.POSITIVE_INFINITY,null])[1]}function r(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}return du=function(i){var a,s,l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(;n(l,i)<u;)a=o(l,i),s=l.hasNode(a.v)?t(i,a):-t(i,a),r(l,i,s);return l},du}function kd(){if(pu)return hu;pu=1;var e=Ed(),t=_d().slack,n=_d().longestPath,o=yd().alg.preorder,r=yd().alg.postorder,i=bd().simplify;function a(t){t=i(t),n(t);var o,r=e(t);for(c(r),s(r,t);o=d(r);)h(r,t,o,f(r,t,o))}function s(e,t){var n=r(e,e.nodes());(n=n.slice(0,n.length-1)).forEach(n=>function(e,t,n){var o=e.node(n),r=o.parent;e.edge(n,r).cutvalue=l(e,t,n)}(e,t,n))}function l(e,t,n){var o=e.node(n).parent,r=!0,i=t.edge(n,o),a=0;return i||(r=!1,i=t.edge(o,n)),a=i.weight,t.nodeEdges(n).forEach(i=>{var s=i.v===n,l=s?i.w:i.v;if(l!==o){var c=s===r,u=t.edge(i).weight;if(a+=c?u:-u,function(e,t,n){return e.hasEdge(t,n)}(e,n,l)){var d=e.edge(n,l).cutvalue;a+=c?-d:d}}}),a}function c(e,t){arguments.length<2&&(t=e.nodes()[0]),u(e,{},1,t)}function u(e,t,n,o,r){var i=n,a=e.node(o);return t[o]=!0,e.neighbors(o).forEach(r=>{Object.hasOwn(t,r)||(n=u(e,t,n,r,o))}),a.low=i,a.lim=n++,r?a.parent=r:delete a.parent,n}function d(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function f(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),s=e.node(i),l=a,c=!1;a.lim>s.lim&&(l=s,c=!0);var u=n.edges().filter(t=>c===p(e,e.node(t.v),l)&&c!==p(e,e.node(t.w),l));return u.reduce((e,o)=>t(n,o)<t(n,e)?o:e)}function h(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),c(e),s(e,t),function(e,t){var n=e.nodes().find(e=>!t.node(e).parent),r=o(e,n);(r=r.slice(1)).forEach(n=>{var o=e.node(n).parent,r=t.edge(n,o),i=!1;r||(r=t.edge(o,n),i=!0),t.node(n).rank=t.node(o).rank+(i?r.minlen:-r.minlen)})}(e,t)}function p(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}return hu=a,a.initLowLimValues=c,a.initCutValues=s,a.calcCutValue=l,a.leaveEdge=d,a.enterEdge=f,a.exchangeEdges=h,hu}function Sd(){if(mu)return gu;mu=1;var e=_d().longestPath,t=Ed(),n=kd();gu=function(n){var i=n.graph().ranker;if(i instanceof Function)return i(n);switch(n.graph().ranker){case"network-simplex":default:r(n);break;case"tight-tree":!function(n){e(n),t(n)}(n);break;case"longest-path":o(n);case"none":}};var o=e;function r(e){n(e)}return gu}function Od(){if(vu)return yu;return vu=1,yu=function(e){let t=function(e){let t={},n=0;function o(r){let i=n;e.children(r).forEach(o),t[r]={low:i,lim:n++}}return e.children().forEach(o),t}(e);e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeObj,i=function(e,t,n,o){let r,i,a=[],s=[],l=Math.min(t[n].low,t[o].low),c=Math.max(t[n].lim,t[o].lim);r=n;do{r=e.parent(r),a.push(r)}while(r&&(t[r].low>l||c>t[r].lim));i=r,r=o;for(;(r=e.parent(r))!==i;)s.push(r);return{path:a.concat(s.reverse()),lca:i}}(e,t,r.v,r.w),a=i.path,s=i.lca,l=0,c=a[l],u=!0;for(;n!==r.w;){if(o=e.node(n),u){for(;(c=a[l])!==s&&e.node(c).maxRank<o.rank;)l++;c===s&&(u=!1)}if(!u){for(;l<a.length-1&&e.node(c=a[l+1]).minRank<=o.rank;)l++;c=a[l]}e.setParent(n,c),n=e.successors(n)[0]}})},yu}function Cd(){if(wu)return bu;wu=1;let e=bd();function t(n,o,r,i,a,s,l){let c=n.children(l);if(!c.length)return void(l!==o&&n.setEdge(o,l,{weight:0,minlen:r}));let u=e.addBorderNode(n,"_bt"),d=e.addBorderNode(n,"_bb"),f=n.node(l);n.setParent(u,l),f.borderTop=u,n.setParent(d,l),f.borderBottom=d,c.forEach(e=>{t(n,o,r,i,a,s,e);let c=n.node(e),f=c.borderTop?c.borderTop:e,h=c.borderBottom?c.borderBottom:e,p=c.borderTop?i:2*i,g=f!==h?1:a-s[l]+1;n.setEdge(u,f,{weight:p,minlen:g,nestingEdge:!0}),n.setEdge(h,d,{weight:p,minlen:g,nestingEdge:!0})}),n.parent(l)||n.setEdge(o,u,{weight:0,minlen:a+s[l]})}return bu={run:function(n){let o=e.addDummyNode(n,"root",{},"_root"),r=function(e){var t={};function n(o,r){var i=e.children(o);i&&i.length&&i.forEach(e=>n(e,r+1)),t[o]=r}return e.children().forEach(e=>n(e,1)),t}(n),i=Object.values(r),a=e.applyWithChunking(Math.max,i)-1,s=2*a+1;n.graph().nestingRoot=o,n.edges().forEach(e=>n.edge(e).minlen*=s);let l=function(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}(n)+1;n.children().forEach(e=>t(n,o,s,l,a,r,e)),n.graph().nodeRankFactor=s},cleanup:function(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}},bu}function Nd(){if(ku)return Eu;function e(e){e.nodes().forEach(n=>t(e.node(n))),e.edges().forEach(n=>t(e.edge(n)))}function t(e){let t=e.width;e.width=e.height,e.height=t}function n(e){e.y=-e.y}function o(e){let t=e.x;e.x=e.y,e.y=t}return ku=1,Eu={adjust:function(t){let n=t.graph().rankdir.toLowerCase();"lr"!==n&&"rl"!==n||e(t)},undo:function(t){let r=t.graph().rankdir.toLowerCase();"bt"!==r&&"rl"!==r||function(e){e.nodes().forEach(t=>n(e.node(t))),e.edges().forEach(t=>{let o=e.edge(t);o.points.forEach(n),Object.hasOwn(o,"y")&&n(o)})}(t);"lr"!==r&&"rl"!==r||(!function(e){e.nodes().forEach(t=>o(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(o),Object.hasOwn(n,"x")&&o(n)})}(t),e(t))}},Eu}function Md(){if(Iu)return ju;Iu=1;let e=bd();return ju=function(t,n){let o={};return t.forEach((e,t)=>{let n=o[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};void 0!==e.barycenter&&(n.barycenter=e.barycenter,n.weight=e.weight)}),n.edges().forEach(e=>{let t=o[e.v],n=o[e.w];void 0!==t&&void 0!==n&&(n.indegree++,t.out.push(o[e.w]))}),function(t){let n=[];function o(e){return t=>{t.merged||(void 0===t.barycenter||void 0===e.barycenter||t.barycenter>=e.barycenter)&&function(e,t){let n=0,o=0;e.weight&&(n+=e.barycenter*e.weight,o+=e.weight);t.weight&&(n+=t.barycenter*t.weight,o+=t.weight);e.vs=t.vs.concat(e.vs),e.barycenter=n/o,e.weight=o,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}function r(e){return n=>{n.in.push(e),0===--n.indegree&&t.push(n)}}for(;t.length;){let e=t.pop();n.push(e),e.in.reverse().forEach(o(e)),e.out.forEach(r(e))}return n.filter(e=>!e.merged).map(t=>e.pick(t,["vs","i","barycenter","weight"]))}(Object.values(o).filter(e=>!e.indegree))}}function Pd(){if(Du)return Ru;Du=1;let e=(Pu||(Pu=1,Mu=function(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(n.length){let o=n.reduce((t,n)=>{let o=e.edge(n),r=e.node(n.v);return{sum:t.sum+o.weight*r.order,weight:t.weight+o.weight}},{sum:0,weight:0});return{v:t,barycenter:o.sum/o.weight,weight:o.weight}}return{v:t}})}),Mu),t=Md(),n=function(){if(zu)return Tu;zu=1;let e=bd();function t(e,t,n){let o;for(;t.length&&(o=t[t.length-1]).i<=n;)t.pop(),e.push(o.vs),n++;return n}return Tu=function(n,o){let r=e.partition(n,e=>Object.hasOwn(e,"barycenter")),i=r.lhs,a=r.rhs.sort((e,t)=>t.i-e.i),s=[],l=0,c=0,u=0;var d;i.sort((d=!!o,(e,t)=>e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:d?t.i-e.i:e.i-t.i)),u=t(s,a,u),i.forEach(e=>{u+=e.vs.length,s.push(e.vs),l+=e.barycenter*e.weight,c+=e.weight,u=t(s,a,u)});let f={vs:s.flat(!0)};return c&&(f.barycenter=l/c,f.weight=c),f}}();return Ru=function o(r,i,a,s){let l=r.children(i),c=r.node(i),u=c?c.borderLeft:void 0,d=c?c.borderRight:void 0,f={};u&&(l=l.filter(e=>e!==u&&e!==d));let h=e(r,l);h.forEach(e=>{if(r.children(e.v).length){let i=o(r,e.v,a,s);f[e.v]=i,Object.hasOwn(i,"barycenter")&&(n=i,void 0!==(t=e).barycenter?(t.barycenter=(t.barycenter*t.weight+n.barycenter*n.weight)/(t.weight+n.weight),t.weight+=n.weight):(t.barycenter=n.barycenter,t.weight=n.weight))}var t,n});let p=t(h,a);!function(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}(p,f);let g=n(p,s);if(u&&(g.vs=[u,g.vs,d].flat(!0),r.predecessors(u).length)){let e=r.node(r.predecessors(u)[0]),t=r.node(r.predecessors(d)[0]);Object.hasOwn(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+e.order+t.order)/(g.weight+2),g.weight+=2}return g},Ru}function jd(){if(Lu)return Au;Lu=1;let e=yd().Graph,t=bd();return Au=function(n,o,r){let i=function(e){var n;for(;e.hasNode(n=t.uniqueId("_root")););return n}(n),a=new e({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(e=>n.node(e));return n.nodes().forEach(e=>{let t=n.node(e),s=n.parent(e);(t.rank===o||t.minRank<=o&&o<=t.maxRank)&&(a.setNode(e),a.setParent(e,s||i),n[r](e).forEach(t=>{let o=t.v===e?t.w:t.v,r=a.edge(o,e),i=void 0!==r?r.weight:0;a.setEdge(o,e,{weight:n.edge(t).weight+i})}),Object.hasOwn(t,"minRank")&&a.setNode(e,{borderLeft:t.borderLeft[o],borderRight:t.borderRight[o]}))}),a},Au}function Id(){if(Hu)return $u;Hu=1;let e=function(){if(Ou)return Su;Ou=1;let e=bd();return Su=function(t){let n={},o=t.nodes().filter(e=>!t.children(e).length),r=o.map(e=>t.node(e).rank),i=e.applyWithChunking(Math.max,r),a=e.range(i+1).map(()=>[]);return o.sort((e,n)=>t.node(e).rank-t.node(n).rank).forEach(function e(o){if(n[o])return;n[o]=!0;let r=t.node(o);a[r.rank].push(o),t.successors(o).forEach(e)}),a},Su}(),t=function(){if(Nu)return Cu;Nu=1;let e=bd().zipObject;function t(t,n,o){let r=e(o,o.map((e,t)=>t)),i=n.flatMap(e=>t.outEdges(e).map(e=>({pos:r[e.w],weight:t.edge(e).weight})).sort((e,t)=>e.pos-t.pos)),a=1;for(;a<o.length;)a<<=1;let s=2*a-1;a-=1;let l=new Array(s).fill(0),c=0;return i.forEach(e=>{let t=e.pos+a;l[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=l[t+1]),t=t-1>>1,l[t]+=e.weight;c+=e.weight*n}),c}return Cu=function(e,n){let o=0;for(let r=1;r<n.length;++r)o+=t(e,n[r-1],n[r]);return o},Cu}(),n=Pd(),o=jd(),r=(Bu||(Bu=1,Vu=function(e,t,n){let o,r={};n.forEach(n=>{let i,a,s=e.parent(n);for(;s;){if(i=e.parent(s),i?(a=r[i],r[i]=s):(a=o,o=s),a&&a!==s)return void t.setEdge(a,s);s=i}})}),Vu),i=yd().Graph,a=bd();function s(e,t,n){return t.map(function(t){return o(e,t,n)})}function l(e,t){let o=new i;e.forEach(function(e){let i=e.graph().root,a=n(e,i,o,t);a.vs.forEach((t,n)=>e.node(t).order=n),r(e,o,a.vs)})}function c(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}return $u=function n(o,r){if(r&&"function"==typeof r.customOrder)return void r.customOrder(o,n);let i=a.maxRank(o),u=s(o,a.range(1,i+1),"inEdges"),d=s(o,a.range(i-1,-1,-1),"outEdges"),f=e(o);if(c(o,f),r&&r.disableOptimalOrderHeuristic)return;let h,p=Number.POSITIVE_INFINITY;for(let e=0,n=0;n<4;++e,++n){l(e%2?u:d,e%4>=2),f=a.buildLayerMatrix(o);let r=t(o,f);r<p&&(n=0,h=Object.assign({},f),p=r)}c(o,h)},$u}function Td(){if(Yu)return Fu;Yu=1;let e=yd().Graph,t=bd();function n(e,t){let n={};return t.length&&t.reduce(function(t,o){let i=0,a=0,s=t.length,l=o[o.length-1];return o.forEach((t,c)=>{let u=function(e,t){if(e.node(t).dummy)return e.predecessors(t).find(t=>e.node(t).dummy)}(e,t),d=u?e.node(u).order:s;(u||t===l)&&(o.slice(a,c+1).forEach(t=>{e.predecessors(t).forEach(o=>{let a=e.node(o),s=a.order;!(s<i||d<s)||a.dummy&&e.node(t).dummy||r(n,o,t)})}),a=c+1,i=d)}),o}),n}function o(e,n){let o={};function i(n,i,a,s,l){let c;t.range(i,a).forEach(t=>{c=n[t],e.node(c).dummy&&e.predecessors(c).forEach(t=>{let n=e.node(t);n.dummy&&(n.order<s||n.order>l)&&r(o,t,c)})})}return n.length&&n.reduce(function(t,n){let o,r=-1,a=0;return n.forEach((s,l)=>{if("border"===e.node(s).dummy){let t=e.predecessors(s);t.length&&(o=e.node(t[0]).order,i(n,a,l,r,o),a=l,r=o)}i(n,a,n.length,o,t.length)}),n}),o}function r(e,t,n){if(t>n){let e=t;t=n,n=e}let o=e[t];o||(e[t]=o={}),o[n]=!0}function i(e,t,n){if(t>n){let e=t;t=n,n=e}return!!e[t]&&Object.hasOwn(e[t],n)}function a(e,t,n,o){let r={},a={},s={};return t.forEach(e=>{e.forEach((e,t)=>{r[e]=e,a[e]=e,s[e]=t})}),t.forEach(e=>{let t=-1;e.forEach(e=>{let l=o(e);if(l.length){l=l.sort((e,t)=>s[e]-s[t]);let o=(l.length-1)/2;for(let c=Math.floor(o),u=Math.ceil(o);c<=u;++c){let o=l[c];a[e]===e&&t<s[o]&&!i(n,e,o)&&(a[o]=e,a[e]=r[e]=r[o],t=s[o])}}})}),{root:r,align:a}}function s(t,n,o,r,i){let a={},s=function(t,n,o,r){let i=new e,a=t.graph(),s=function(e,t,n){return(o,r,i)=>{let a,s=o.node(r),l=o.node(i),c=0;if(c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":a=-s.width/2;break;case"r":a=s.width/2}if(a&&(c+=n?a:-a),a=0,c+=(s.dummy?t:e)/2,c+=(l.dummy?t:e)/2,c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":a=l.width/2;break;case"r":a=-l.width/2}return a&&(c+=n?a:-a),a=0,c}}(a.nodesep,a.edgesep,r);return n.forEach(e=>{let n;e.forEach(e=>{let r=o[e];if(i.setNode(r),n){var a=o[n],l=i.edge(a,r);i.setEdge(a,r,Math.max(s(t,e,n),l||0))}n=e})}),i}(t,n,o,i),l=i?"borderLeft":"borderRight";function c(e,t){let n=s.nodes(),o=n.pop(),r={};for(;o;)r[o]?e(o):(r[o]=!0,n.push(o),n=n.concat(t(o))),o=n.pop()}return c(function(e){a[e]=s.inEdges(e).reduce((e,t)=>Math.max(e,a[t.v]+s.edge(t)),0)},s.predecessors.bind(s)),c(function(e){let n=s.outEdges(e).reduce((e,t)=>Math.min(e,a[t.w]-s.edge(t)),Number.POSITIVE_INFINITY),o=t.node(e);n!==Number.POSITIVE_INFINITY&&o.borderType!==l&&(a[e]=Math.max(a[e],n))},s.successors.bind(s)),Object.keys(r).forEach(e=>a[e]=a[o[e]]),a}function l(e,t){return Object.values(t).reduce((t,n)=>{let o=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY;Object.entries(n).forEach(([t,n])=>{let i=function(e,t){return e.node(t).width}(e,t)/2;o=Math.max(n+i,o),r=Math.min(n-i,r)});const i=o-r;return i<t[0]&&(t=[i,n]),t},[Number.POSITIVE_INFINITY,null])[1]}function c(e,n){let o=Object.values(n),r=t.applyWithChunking(Math.min,o),i=t.applyWithChunking(Math.max,o);["u","d"].forEach(o=>{["l","r"].forEach(a=>{let s=o+a,l=e[s];if(l===n)return;let c=Object.values(l),u=r-t.applyWithChunking(Math.min,c);"l"!==a&&(u=i-t.applyWithChunking(Math.max,c)),u&&(e[s]=t.mapValues(l,e=>e+u))})})}function u(e,n){return t.mapValues(e.ul,(t,o)=>{if(n)return e[n.toLowerCase()][o];{let t=Object.values(e).map(e=>e[o]).sort((e,t)=>e-t);return(t[1]+t[2])/2}})}return Fu={positionX:function(e){let r,i=t.buildLayerMatrix(e),d=Object.assign(n(e,i),o(e,i)),f={};["u","d"].forEach(n=>{r="u"===n?i:Object.values(i).reverse(),["l","r"].forEach(o=>{"r"===o&&(r=r.map(e=>Object.values(e).reverse()));let i=("u"===n?e.predecessors:e.successors).bind(e),l=a(e,r,d,i),c=s(e,r,l.root,l.align,"r"===o);"r"===o&&(c=t.mapValues(c,e=>-e)),f[n+o]=c})});let h=l(e,f);return c(f,h),u(f,e.graph().align)},findType1Conflicts:n,findType2Conflicts:o,addConflict:r,hasConflict:i,verticalAlignment:a,horizontalCompaction:s,alignCoordinates:c,findSmallestWidthAlignment:l,balance:u}}function zd(){if(qu)return Zu;qu=1;let e=bd(),t=Td().positionX;return Zu=function(n){(function(t){let n=e.buildLayerMatrix(t),o=t.graph().ranksep,r=0;n.forEach(e=>{const n=e.reduce((e,n)=>{const o=t.node(n).height;return e>o?e:o},0);e.forEach(e=>t.node(e).y=r+n/2),r+=n+o})})(n=e.asNonCompoundGraph(n)),Object.entries(t(n)).forEach(([e,t])=>n.node(e).x=t)},Zu}function Rd(){if(Gu)return Xu;Gu=1;let e=wd(),t=xd(),n=Sd(),o=bd().normalizeRanks,r=Od(),i=bd().removeEmptyRanks,a=Cd(),s=function(){if(_u)return xu;_u=1;let e=bd();function t(t,n,o,r,i,a){let s={width:0,height:0,rank:a,borderType:n},l=i[n][a-1],c=e.addDummyNode(t,"border",s,o);i[n][a]=c,t.setParent(c,r),l&&t.setEdge(l,c,{weight:1})}return xu=function(e){e.children().forEach(function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let n=i.minRank,r=i.maxRank+1;n<r;++n)t(e,"borderLeft","_bl",o,i,n),t(e,"borderRight","_br",o,i,n)}})},xu}(),l=Nd(),c=Id(),u=zd(),d=bd(),f=yd().Graph;Xu=function(E,k){let S=k&&k.debugTiming?d.time:d.notime;S("layout",()=>{let O=S(" buildLayoutGraph",()=>function(e){let t=new f({multigraph:!0,compound:!0}),n=_(e.graph());return t.setGraph(Object.assign({},p,x(n,h),d.pick(n,g))),e.nodes().forEach(n=>{const o=x(_(e.node(n)),m);Object.keys(y).forEach(e=>{void 0===o[e]&&(o[e]=y[e])}),t.setNode(n,o),t.setParent(n,e.parent(n))}),e.edges().forEach(n=>{let o=_(e.edge(n));t.setEdge(n,Object.assign({},b,x(o,v),d.pick(o,w)))}),t}(E));S(" runLayout",()=>function(f,h,p){h(" makeSpaceForEdgeLabels",()=>function(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let o=e.edge(n);o.minlen*=2,"c"!==o.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?o.width+=o.labeloffset:o.height+=o.labeloffset)})}(f)),h(" removeSelfEdges",()=>function(e){e.edges().forEach(t=>{if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}(f)),h(" acyclic",()=>e.run(f)),h(" nestingGraph.run",()=>a.run(f)),h(" rank",()=>n(d.asNonCompoundGraph(f))),h(" injectEdgeLabelProxies",()=>function(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v),o={rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t};d.addDummyNode(e,"edge-proxy",o,"_ep")}})}(f)),h(" removeEmptyRanks",()=>i(f)),h(" nestingGraph.cleanup",()=>a.cleanup(f)),h(" normalizeRanks",()=>o(f)),h(" assignRankMinMax",()=>function(e){let t=0;e.nodes().forEach(n=>{let o=e.node(n);o.borderTop&&(o.minRank=e.node(o.borderTop).rank,o.maxRank=e.node(o.borderBottom).rank,t=Math.max(t,o.maxRank))}),e.graph().maxRank=t}(f)),h(" removeEdgeLabelProxies",()=>function(e){e.nodes().forEach(t=>{let n=e.node(t);"edge-proxy"===n.dummy&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}(f)),h(" normalize.run",()=>t.run(f)),h(" parentDummyChains",()=>r(f)),h(" addBorderSegments",()=>s(f)),h(" order",()=>c(f,p)),h(" insertSelfEdges",()=>function(e){var t=d.buildLayerMatrix(e);t.forEach(t=>{var n=0;t.forEach((t,o)=>{var r=e.node(t);r.order=o+n,(r.selfEdges||[]).forEach(t=>{d.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:r.rank,order:o+ ++n,e:t.e,label:t.label},"_se")}),delete r.selfEdges})})}(f)),h(" adjustCoordinateSystem",()=>l.adjust(f)),h(" position",()=>u(f)),h(" positionSelfEdges",()=>function(e){e.nodes().forEach(t=>{var n=e.node(t);if("selfedge"===n.dummy){var o=e.node(n.e.v),r=o.x+o.width/2,i=o.y,a=n.x-r,s=o.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:r+2*a/3,y:i-s},{x:r+5*a/6,y:i-s},{x:r+a,y:i},{x:r+5*a/6,y:i+s},{x:r+2*a/3,y:i+s}],n.label.x=n.x,n.label.y=n.y}})}(f)),h(" removeBorderNodes",()=>function(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),o=e.node(n.borderTop),r=e.node(n.borderBottom),i=e.node(n.borderLeft[n.borderLeft.length-1]),a=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(a.x-i.x),n.height=Math.abs(r.y-o.y),n.x=i.x+n.width/2,n.y=o.y+n.height/2}}),e.nodes().forEach(t=>{"border"===e.node(t).dummy&&e.removeNode(t)})}(f)),h(" normalize.undo",()=>t.undo(f)),h(" fixupEdgeLabelCoords",()=>function(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}})}(f)),h(" undoCoordinateSystem",()=>l.undo(f)),h(" translateGraph",()=>function(e){let t=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,r=0,i=e.graph(),a=i.marginx||0,s=i.marginy||0;function l(e){let i=e.x,a=e.y,s=e.width,l=e.height;t=Math.min(t,i-s/2),n=Math.max(n,i+s/2),o=Math.min(o,a-l/2),r=Math.max(r,a+l/2)}e.nodes().forEach(t=>l(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,"x")&&l(n)}),t-=a,o-=s,e.nodes().forEach(n=>{let r=e.node(n);r.x-=t,r.y-=o}),e.edges().forEach(n=>{let r=e.edge(n);r.points.forEach(e=>{e.x-=t,e.y-=o}),Object.hasOwn(r,"x")&&(r.x-=t),Object.hasOwn(r,"y")&&(r.y-=o)}),i.width=n-t+a,i.height=r-o+s}(f)),h(" assignNodeIntersects",()=>function(e){e.edges().forEach(t=>{let n,o,r=e.edge(t),i=e.node(t.v),a=e.node(t.w);r.points?(n=r.points[0],o=r.points[r.points.length-1]):(r.points=[],n=a,o=i),r.points.unshift(d.intersectRect(i,n)),r.points.push(d.intersectRect(a,o))})}(f)),h(" reversePoints",()=>function(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}(f)),h(" acyclic.undo",()=>e.undo(f))}(O,S,k)),S(" updateInputGraph",()=>function(e,t){e.nodes().forEach(n=>{let o=e.node(n),r=t.node(n);o&&(o.x=r.x,o.y=r.y,o.rank=r.rank,t.children(n).length&&(o.width=r.width,o.height=r.height))}),e.edges().forEach(n=>{let o=e.edge(n),r=t.edge(n);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}(E,O))})};let h=["nodesep","edgesep","ranksep","marginx","marginy"],p={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},g=["acyclicer","ranker","rankdir","align"],m=["width","height","rank"],y={width:0,height:0},v=["minlen","weight","width","height","labeloffset"],b={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},w=["labelpos"];function x(e,t){return d.mapValues(d.pick(e,t),Number)}function _(e){var t={};return e&&Object.entries(e).forEach(([e,n])=>{"string"==typeof e&&(e=e.toLowerCase()),t[e]=n}),t}return Xu}function Dd(){if(Ku)return Wu;Ku=1;let e=bd(),t=yd().Graph;return Wu={debugOrdering:function(n){let o=e.buildLayerMatrix(n),r=new t({compound:!0,multigraph:!0}).setGraph({});return n.nodes().forEach(e=>{r.setNode(e,{label:e}),r.setParent(e,"layer"+n.node(e).rank)}),n.edges().forEach(e=>r.setEdge(e.v,e.w,{},e.name)),o.forEach((e,t)=>{let n="layer"+t;r.setNode(n,{rank:"same"}),e.reduce((e,t)=>(r.setEdge(e,t,{style:"invis"}),t))}),r}},Wu}r("/* this gets exported as style.css and can be used for the default theming */\n/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */\n.react-flow {\n direction: ltr;\n\n --xy-edge-stroke-default: #b1b1b7;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #555;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);\n\n --xy-minimap-background-color-default: #fff;\n --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #e2e2e2;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: transparent;\n --xy-background-pattern-dots-color-default: #91919a;\n --xy-background-pattern-lines-color-default: #eee;\n --xy-background-pattern-cross-color-default: #e2e2e2;\n background-color: var(--xy-background-color, var(--xy-background-color-default));\n --xy-node-color-default: inherit;\n --xy-node-border-default: 1px solid #1a192b;\n --xy-node-background-color-default: #fff;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;\n --xy-node-border-radius-default: 3px;\n\n --xy-handle-background-color-default: #1a192b;\n --xy-handle-border-color-default: #fff;\n\n --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);\n\n --xy-controls-button-background-color-default: #fefefe;\n --xy-controls-button-background-color-hover-default: #f4f4f4;\n --xy-controls-button-color-default: inherit;\n --xy-controls-button-color-hover-default: inherit;\n --xy-controls-button-border-color-default: #eee;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #ffffff;\n --xy-edge-label-color-default: inherit;\n --xy-resize-background-color-default: #3367d9;\n}\n.react-flow.dark {\n --xy-edge-stroke-default: #3e3e3e;\n --xy-edge-stroke-width-default: 1;\n --xy-edge-stroke-selected-default: #727272;\n\n --xy-connectionline-stroke-default: #b1b1b7;\n --xy-connectionline-stroke-width-default: 1;\n\n --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);\n\n --xy-minimap-background-color-default: #141414;\n --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);\n --xy-minimap-mask-stroke-color-default: transparent;\n --xy-minimap-mask-stroke-width-default: 1;\n --xy-minimap-node-background-color-default: #2b2b2b;\n --xy-minimap-node-stroke-color-default: transparent;\n --xy-minimap-node-stroke-width-default: 2;\n\n --xy-background-color-default: #141414;\n --xy-background-pattern-dots-color-default: #777;\n --xy-background-pattern-lines-color-default: #777;\n --xy-background-pattern-cross-color-default: #777;\n --xy-node-color-default: #f8f8f8;\n --xy-node-border-default: 1px solid #3c3c3c;\n --xy-node-background-color-default: #1e1e1e;\n --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);\n --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;\n\n --xy-handle-background-color-default: #bebebe;\n --xy-handle-border-color-default: #1e1e1e;\n\n --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);\n --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);\n\n --xy-controls-button-background-color-default: #2b2b2b;\n --xy-controls-button-background-color-hover-default: #3e3e3e;\n --xy-controls-button-color-default: #f8f8f8;\n --xy-controls-button-color-hover-default: #fff;\n --xy-controls-button-border-color-default: #5b5b5b;\n --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n --xy-edge-label-background-color-default: #141414;\n --xy-edge-label-color-default: #f8f8f8;\n}\n.react-flow__background {\n background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));\n pointer-events: none;\n z-index: -1;\n}\n.react-flow__container {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n.react-flow__pane {\n z-index: 1;\n}\n.react-flow__pane.draggable {\n cursor: grab;\n }\n.react-flow__pane.dragging {\n cursor: grabbing;\n }\n.react-flow__pane.selection {\n cursor: pointer;\n }\n.react-flow__viewport {\n transform-origin: 0 0;\n z-index: 2;\n pointer-events: none;\n}\n.react-flow__renderer {\n z-index: 4;\n}\n.react-flow__selection {\n z-index: 6;\n}\n.react-flow__nodesselection-rect:focus,\n.react-flow__nodesselection-rect:focus-visible {\n outline: none;\n}\n.react-flow__edge-path {\n stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));\n fill: none;\n}\n.react-flow__connection-path {\n stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));\n stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));\n fill: none;\n}\n.react-flow .react-flow__edges {\n position: absolute;\n}\n.react-flow .react-flow__edges svg {\n overflow: visible;\n position: absolute;\n pointer-events: none;\n }\n.react-flow__edge {\n pointer-events: visibleStroke;\n}\n.react-flow__edge.selectable {\n cursor: pointer;\n }\n.react-flow__edge.animated path {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\n.react-flow__edge.animated path.react-flow__edge-interaction {\n stroke-dasharray: none;\n animation: none;\n }\n.react-flow__edge.inactive {\n pointer-events: none;\n }\n.react-flow__edge.selected,\n .react-flow__edge:focus,\n .react-flow__edge:focus-visible {\n outline: none;\n }\n.react-flow__edge.selected .react-flow__edge-path,\n .react-flow__edge.selectable:focus .react-flow__edge-path,\n .react-flow__edge.selectable:focus-visible .react-flow__edge-path {\n stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));\n }\n.react-flow__edge-textwrapper {\n pointer-events: all;\n }\n.react-flow__edge .react-flow__edge-text {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__connection {\n pointer-events: none;\n}\n.react-flow__connection .animated {\n stroke-dasharray: 5;\n animation: dashdraw 0.5s linear infinite;\n }\nsvg.react-flow__connectionline {\n z-index: 1001;\n overflow: visible;\n position: absolute;\n}\n.react-flow__nodes {\n pointer-events: none;\n transform-origin: 0 0;\n}\n.react-flow__node {\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n pointer-events: all;\n transform-origin: 0 0;\n box-sizing: border-box;\n cursor: default;\n}\n.react-flow__node.selectable {\n cursor: pointer;\n }\n.react-flow__node.draggable {\n cursor: grab;\n pointer-events: all;\n }\n.react-flow__node.draggable.dragging {\n cursor: grabbing;\n }\n.react-flow__nodesselection {\n z-index: 3;\n transform-origin: left top;\n pointer-events: none;\n}\n.react-flow__nodesselection-rect {\n position: absolute;\n pointer-events: all;\n cursor: grab;\n }\n.react-flow__handle {\n position: absolute;\n pointer-events: none;\n min-width: 5px;\n min-height: 5px;\n width: 6px;\n height: 6px;\n background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));\n border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));\n border-radius: 100%;\n}\n.react-flow__handle.connectingfrom {\n pointer-events: all;\n }\n.react-flow__handle.connectionindicator {\n pointer-events: all;\n cursor: crosshair;\n }\n.react-flow__handle-bottom {\n top: auto;\n left: 50%;\n bottom: 0;\n transform: translate(-50%, 50%);\n }\n.react-flow__handle-top {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-left {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n }\n.react-flow__handle-right {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n }\n.react-flow__edgeupdater {\n cursor: move;\n pointer-events: all;\n}\n.react-flow__pane.selection .react-flow__panel {\n pointer-events: none;\n}\n.react-flow__panel {\n position: absolute;\n z-index: 5;\n margin: 15px;\n}\n.react-flow__panel.top {\n top: 0;\n }\n.react-flow__panel.bottom {\n bottom: 0;\n }\n.react-flow__panel.top.center, .react-flow__panel.bottom.center {\n left: 50%;\n transform: translateX(-15px) translateX(-50%);\n }\n.react-flow__panel.left {\n left: 0;\n }\n.react-flow__panel.right {\n right: 0;\n }\n.react-flow__panel.left.center, .react-flow__panel.right.center {\n top: 50%;\n transform: translateY(-15px) translateY(-50%);\n }\n.react-flow__attribution {\n font-size: 10px;\n background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));\n padding: 2px 3px;\n margin: 0;\n}\n.react-flow__attribution a {\n text-decoration: none;\n color: #999;\n }\n@keyframes dashdraw {\n from {\n stroke-dashoffset: 10;\n }\n}\n.react-flow__edgelabel-renderer {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n left: 0;\n top: 0;\n}\n.react-flow__viewport-portal {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.react-flow__minimap {\n background: var(\n --xy-minimap-background-color-props,\n var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))\n );\n}\n.react-flow__minimap-svg {\n display: block;\n }\n.react-flow__minimap-mask {\n fill: var(\n --xy-minimap-mask-background-color-props,\n var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))\n );\n stroke: var(\n --xy-minimap-mask-stroke-color-props,\n var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-mask-stroke-width-props,\n var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))\n );\n }\n.react-flow__minimap-node {\n fill: var(\n --xy-minimap-node-background-color-props,\n var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))\n );\n stroke: var(\n --xy-minimap-node-stroke-color-props,\n var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))\n );\n stroke-width: var(\n --xy-minimap-node-stroke-width-props,\n var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))\n );\n }\n.react-flow__background-pattern.dots {\n fill: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))\n );\n }\n.react-flow__background-pattern.lines {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))\n );\n }\n.react-flow__background-pattern.cross {\n stroke: var(\n --xy-background-pattern-color-props,\n var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))\n );\n }\n.react-flow__controls {\n display: flex;\n flex-direction: column;\n box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));\n}\n.react-flow__controls.horizontal {\n flex-direction: row;\n }\n.react-flow__controls-button {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 26px;\n width: 26px;\n padding: 4px;\n border: none;\n background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));\n border-bottom: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n color: var(\n --xy-controls-button-color-props,\n var(--xy-controls-button-color, var(--xy-controls-button-color-default))\n );\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__controls-button svg {\n width: 100%;\n max-width: 12px;\n max-height: 12px;\n fill: currentColor;\n }\n.react-flow__edge.updating .react-flow__edge-path {\n stroke: #777;\n }\n.react-flow__edge-text {\n font-size: 10px;\n }\n.react-flow__node.selectable:focus,\n .react-flow__node.selectable:focus-visible {\n outline: none;\n }\n.react-flow__node-input,\n.react-flow__node-default,\n.react-flow__node-output,\n.react-flow__node-group {\n padding: 10px;\n border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));\n width: 150px;\n font-size: 12px;\n color: var(--xy-node-color, var(--xy-node-color-default));\n text-align: center;\n border: var(--xy-node-border, var(--xy-node-border-default));\n background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));\n}\n.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {\n box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));\n }\n.react-flow__node-input.selectable.selected,\n .react-flow__node-input.selectable:focus,\n .react-flow__node-input.selectable:focus-visible,\n .react-flow__node-default.selectable.selected,\n .react-flow__node-default.selectable:focus,\n .react-flow__node-default.selectable:focus-visible,\n .react-flow__node-output.selectable.selected,\n .react-flow__node-output.selectable:focus,\n .react-flow__node-output.selectable:focus-visible,\n .react-flow__node-group.selectable.selected,\n .react-flow__node-group.selectable:focus,\n .react-flow__node-group.selectable:focus-visible {\n box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));\n }\n.react-flow__node-group {\n background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));\n}\n.react-flow__nodesselection-rect,\n.react-flow__selection {\n background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));\n border: var(--xy-selection-border, var(--xy-selection-border-default));\n}\n.react-flow__nodesselection-rect:focus,\n .react-flow__nodesselection-rect:focus-visible,\n .react-flow__selection:focus,\n .react-flow__selection:focus-visible {\n outline: none;\n }\n.react-flow__controls-button:hover {\n background: var(\n --xy-controls-button-background-color-hover-props,\n var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))\n );\n color: var(\n --xy-controls-button-color-hover-props,\n var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))\n );\n }\n.react-flow__controls-button:disabled {\n pointer-events: none;\n }\n.react-flow__controls-button:disabled svg {\n fill-opacity: 0.4;\n }\n.react-flow__controls-button:last-child {\n border-bottom: none;\n }\n.react-flow__controls.horizontal .react-flow__controls-button {\n border-bottom: none;\n border-right: 1px solid\n var(\n --xy-controls-button-border-color-props,\n var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n );\n }\n.react-flow__controls.horizontal .react-flow__controls-button:last-child {\n border-right: none;\n }\n.react-flow__resize-control {\n position: absolute;\n}\n.react-flow__resize-control.left,\n.react-flow__resize-control.right {\n cursor: ew-resize;\n}\n.react-flow__resize-control.top,\n.react-flow__resize-control.bottom {\n cursor: ns-resize;\n}\n.react-flow__resize-control.top.left,\n.react-flow__resize-control.bottom.right {\n cursor: nwse-resize;\n}\n.react-flow__resize-control.bottom.left,\n.react-flow__resize-control.top.right {\n cursor: nesw-resize;\n}\n/* handle styles */\n.react-flow__resize-control.handle {\n width: 5px;\n height: 5px;\n border: 1px solid #fff;\n border-radius: 1px;\n background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n translate: -50% -50%;\n}\n.react-flow__resize-control.handle.left {\n left: 0;\n top: 50%;\n}\n.react-flow__resize-control.handle.right {\n left: 100%;\n top: 50%;\n}\n.react-flow__resize-control.handle.top {\n left: 50%;\n top: 0;\n}\n.react-flow__resize-control.handle.bottom {\n left: 50%;\n top: 100%;\n}\n.react-flow__resize-control.handle.top.left {\n left: 0;\n}\n.react-flow__resize-control.handle.bottom.left {\n left: 0;\n}\n.react-flow__resize-control.handle.top.right {\n left: 100%;\n}\n.react-flow__resize-control.handle.bottom.right {\n left: 100%;\n}\n/* line styles */\n.react-flow__resize-control.line {\n border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n border-width: 0;\n border-style: solid;\n}\n.react-flow__resize-control.line.left,\n.react-flow__resize-control.line.right {\n width: 1px;\n transform: translate(-50%, 0);\n top: 0;\n height: 100%;\n}\n.react-flow__resize-control.line.left {\n left: 0;\n border-left-width: 1px;\n}\n.react-flow__resize-control.line.right {\n left: 100%;\n border-right-width: 1px;\n}\n.react-flow__resize-control.line.top,\n.react-flow__resize-control.line.bottom {\n height: 1px;\n transform: translate(0, -50%);\n left: 0;\n width: 100%;\n}\n.react-flow__resize-control.line.top {\n top: 0;\n border-top-width: 1px;\n}\n.react-flow__resize-control.line.bottom {\n border-bottom-width: 1px;\n top: 100%;\n}\n.react-flow__edge-textbg {\n fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));\n}\n.react-flow__edge-text {\n fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));\n}\n");var Ad=i(ed?Ju:(ed=1,Ju={graphlib:yd(),layout:Rd(),debug:Dd(),util:{time:bd().time,notime:bd().notime},version:Qu?Uu:(Qu=1,Uu="1.1.5")})),Ld={type:ar.ArrowClosed,width:20,height:20,color:"#FF0072"},Vd={strokeWidth:2,stroke:"#FF0072"},Bd=function(n){var o=n.tree,r=hs().fitView,i=function(e){const[n,o]=t.useState(e),r=t.useCallback(e=>o(t=>es(e,t)),[]);return[n,o,r]}([]),a=Y(i,3),s=a[0],l=a[1],c=a[2],u=function(e){const[n,o]=t.useState(e),r=t.useCallback(e=>o(t=>ts(e,t)),[]);return[n,o,r]}([]),d=Y(u,3),f=d[0],h=d[1],p=d[2];return t.useEffect(function(){if(o){var e,t=function(e,t){var n=[],o=[];return Object.keys(e).forEach(function(r,i){e[r].forEach(function(e,i){var a={id:e,flowId:e,position:{x:250,y:200*i},data:{label:String(e)}};if(0==i&&(a.type="input"),i>0){var s=o[o.length-1],l={id:s.flowId+"-"+r+"-"+i+"-"+a.flowId,source:s.flowId,target:a.flowId,animated:t,markerEnd:Ld,style:Vd};n.push(l)}o.push(a)})}),{nodes:o,edges:n}}(o.data,null!==(e=o.animated)&&void 0!==e&&e),n=function(e,t,n){var o=(new Ad.graphlib.Graph).setDefaultEdgeLabel(function(){return{}});return o.setGraph({rankdir:n.direction,ranksep:100,nodesep:170}),t.forEach(function(e){return o.setEdge(e.source,e.target)}),e.forEach(function(e){var t,n,r,i;return o.setNode(e.id,F(F({},e),{},{width:null!==(t=null===(n=e.measured)||void 0===n?void 0:n.width)&&void 0!==t?t:0,height:null!==(r=null===(i=e.measured)||void 0===i?void 0:i.height)&&void 0!==r?r:0}))}),Ad.layout(o),{nodes:e.map(function(e){var t,n,r,i,a=o.node(e.id),s=a.x-(null!==(t=null===(n=e.measured)||void 0===n?void 0:n.width)&&void 0!==t?t:0)/2,l=a.y-(null!==(r=null===(i=e.measured)||void 0===i?void 0:i.height)&&void 0!==r?r:0)/2;return F(F({},e),{},{position:{x:s,y:l}})}),edges:t}}(t.nodes,t.edges,{direction:o.orientation});l(Z(n.nodes)),h(Z(n.edges)),r()}},[o]),e.jsx(Zl,{nodes:s,edges:f,onNodesChange:c,onEdgesChange:p,colorMode:"dark",fitView:!0,children:e.jsx(ic,{})})};r(".file-browser {\n width: 100%;\n height: 100%;\n color: white;\n overflow-y: auto;\n scrollbar-gutter: stable;\n scrollbar-color: rgba(71, 71, 71, 0.4) #252526;\n scrollbar-width: thin;\n background-color: #1e1e1e;\n}");var $d=["color","size","title","className"];function Hd(){return Hd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Hd.apply(null,arguments)}var Fd=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,$d);return t.createElement("svg",Hd({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-braces",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{d:"M2.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C3.25 2 2.49 2.759 2.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6M13.886 7.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V7.332c-1.114 0-1.49-.362-1.49-1.456V4.352C13.51 2.759 12.75 2 11.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6"}))});Fd.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var Yd=["color","size","title","className"];function Zd(){return Zd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Zd.apply(null,arguments)}var qd=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Yd);return t.createElement("svg",Zd({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-chevron-down",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708"}))});qd.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var Xd=["color","size","title","className"];function Gd(){return Gd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Gd.apply(null,arguments)}var Wd=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Xd);return t.createElement("svg",Gd({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-chevron-right",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708"}))});Wd.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var Kd=["color","size","title","className"];function Ud(){return Ud=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Ud.apply(null,arguments)}var Qd=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Kd);return t.createElement("svg",Ud({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-circle-fill",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("circle",{cx:"8",cy:"8",r:"8"}))});Qd.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var Jd=["color","size","title","className"];function ef(){return ef=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},ef.apply(null,arguments)}var tf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Jd);return t.createElement("svg",ef({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-file-code",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{d:"M6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708zm2.708 0a.5.5 0 1 0-.708.708L10.293 8 8.646 9.646a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708z"}),t.createElement("path",{d:"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1"}))});tf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var nf=["color","size","title","className"];function of(){return of=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},of.apply(null,arguments)}var rf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,nf);return t.createElement("svg",of({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-file-earmark",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{d:"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5z"}))});rf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var af=["color","size","title","className"];function sf(){return sf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},sf.apply(null,arguments)}var lf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,af);return t.createElement("svg",sf({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-filetype-js",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M14 4.5V14a2 2 0 0 1-2 2H8v-1h4a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM3.186 15.29a1.2 1.2 0 0 1-.111-.449h.765a.58.58 0 0 0 .255.384q.105.073.249.114.143.041.319.041.246 0 .413-.07a.56.56 0 0 0 .255-.193.5.5 0 0 0 .085-.29.39.39 0 0 0-.153-.326q-.151-.12-.462-.193l-.619-.143a1.7 1.7 0 0 1-.539-.214 1 1 0 0 1-.351-.367 1.1 1.1 0 0 1-.123-.524q0-.366.19-.639.19-.272.528-.422.336-.15.776-.149.457 0 .78.152.324.153.5.41.18.255.2.566h-.75a.56.56 0 0 0-.12-.258.6.6 0 0 0-.247-.181.9.9 0 0 0-.369-.068q-.325 0-.513.152a.47.47 0 0 0-.184.384q0 .18.143.3a1 1 0 0 0 .405.175l.62.143q.327.075.566.211.24.136.375.358t.135.56q0 .37-.188.656a1.2 1.2 0 0 1-.539.439q-.351.158-.858.158-.381 0-.665-.09a1.4 1.4 0 0 1-.478-.252 1.1 1.1 0 0 1-.29-.375m-3.104-.033A1.3 1.3 0 0 1 0 14.791h.765a.6.6 0 0 0 .073.27.5.5 0 0 0 .454.246q.285 0 .422-.164.138-.165.138-.466v-2.745h.79v2.725q0 .66-.357 1.005-.354.345-.984.345a1.6 1.6 0 0 1-.569-.094 1.15 1.15 0 0 1-.407-.266 1.1 1.1 0 0 1-.243-.39"}))});lf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var cf=["color","size","title","className"];function uf(){return uf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},uf.apply(null,arguments)}var df=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,cf);return t.createElement("svg",uf({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-filetype-py",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M14 4.5V14a2 2 0 0 1-2 2H7v-1h5a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM0 11.85h1.6q.434 0 .732.179.302.175.46.477t.158.677-.16.677q-.158.299-.464.474a1.45 1.45 0 0 1-.732.173H.79v1.342H0zm2.06 1.714a.8.8 0 0 0 .085-.381q0-.34-.185-.521-.185-.182-.513-.182H.788v1.406h.66a.8.8 0 0 0 .374-.082.57.57 0 0 0 .238-.24m2.963.75v1.535H4.23v-1.52L2.89 11.85h.876l.853 1.696h.032l.856-1.696h.855z"}))});df.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var ff=["color","size","title","className"];function hf(){return hf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},hf.apply(null,arguments)}var pf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,ff);return t.createElement("svg",hf({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-filetype-scss",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{fillRule:"evenodd",d:"M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.356 15.29a1.2 1.2 0 0 1-.111-.449h.765a.58.58 0 0 0 .255.384q.105.073.249.114.143.041.319.041.246 0 .413-.07a.56.56 0 0 0 .255-.193.5.5 0 0 0 .085-.29.39.39 0 0 0-.153-.326q-.151-.12-.462-.193l-.619-.143a1.7 1.7 0 0 1-.539-.214 1 1 0 0 1-.351-.367 1.1 1.1 0 0 1-.123-.524q0-.366.19-.639.19-.272.528-.422.336-.15.776-.149.457 0 .78.152.324.153.5.41.18.255.2.566h-.75a.56.56 0 0 0-.12-.258.6.6 0 0 0-.247-.181.9.9 0 0 0-.369-.068q-.325 0-.513.152a.47.47 0 0 0-.184.384q0 .18.143.3a1 1 0 0 0 .405.175l.62.143q.326.075.566.211t.375.358.135.56q0 .37-.188.656a1.2 1.2 0 0 1-.539.439q-.351.158-.858.158-.381 0-.665-.09a1.4 1.4 0 0 1-.478-.252 1.1 1.1 0 0 1-.29-.375m4.274-2.23a1.7 1.7 0 0 0-.103.633v.495q0 .369.103.627a.83.83 0 0 0 .298.392.85.85 0 0 0 .478.132.9.9 0 0 0 .401-.088.7.7 0 0 0 .273-.249.8.8 0 0 0 .117-.363h.765v.076a1.27 1.27 0 0 1-.226.674 1.4 1.4 0 0 1-.55.454 1.8 1.8 0 0 1-.786.164q-.54 0-.914-.217a1.4 1.4 0 0 1-.571-.626q-.195-.408-.194-.976v-.498q0-.569.197-.979a1.44 1.44 0 0 1 .57-.633q.38-.222.912-.222.328 0 .607.097.28.093.489.272a1.32 1.32 0 0 1 .466.964v.073h-.765a.85.85 0 0 0-.12-.38.7.7 0 0 0-.273-.261.8.8 0 0 0-.398-.097.8.8 0 0 0-.475.138.87.87 0 0 0-.301.398m2.609 1.781a1.13 1.13 0 0 0 .401.823q.193.162.478.252.284.091.665.091.507 0 .858-.158.354-.158.54-.44a1.17 1.17 0 0 0 .187-.656q0-.336-.135-.56a1 1 0 0 0-.375-.357 2 2 0 0 0-.566-.21l-.62-.144a1 1 0 0 1-.405-.176.37.37 0 0 1-.143-.299q0-.234.184-.384.188-.152.513-.152.213 0 .369.068a.6.6 0 0 1 .246.181.56.56 0 0 1 .12.258h.75a1.1 1.1 0 0 0-.2-.566 1.2 1.2 0 0 0-.5-.41 1.8 1.8 0 0 0-.78-.152q-.438 0-.776.15-.336.149-.527.421-.19.273-.19.639 0 .302.123.524t.351.367q.228.143.54.213l.617.144q.311.073.463.193a.39.39 0 0 1 .153.326.5.5 0 0 1-.085.29.56.56 0 0 1-.255.193 1.1 1.1 0 0 1-.413.07q-.177 0-.32-.04a.8.8 0 0 1-.249-.115.58.58 0 0 1-.255-.384zm3.502.449a1.2 1.2 0 0 1-.11-.449h.764a.58.58 0 0 0 .255.384q.105.073.249.114.143.041.319.041.246 0 .413-.07a.56.56 0 0 0 .255-.193.5.5 0 0 0 .085-.29.39.39 0 0 0-.152-.326q-.153-.12-.463-.193l-.618-.143a1.7 1.7 0 0 1-.54-.214 1 1 0 0 1-.351-.367 1.1 1.1 0 0 1-.123-.524q0-.366.19-.639.19-.272.528-.422.336-.15.776-.149.458 0 .78.152.324.153.5.41.18.255.2.566h-.75a.56.56 0 0 0-.12-.258.6.6 0 0 0-.247-.181.9.9 0 0 0-.369-.068q-.325 0-.512.152a.47.47 0 0 0-.185.384q0 .18.143.3a1 1 0 0 0 .405.175l.62.143q.326.075.566.211t.375.358.135.56q0 .37-.187.656a1.2 1.2 0 0 1-.54.439q-.351.158-.858.158-.381 0-.665-.09a1.4 1.4 0 0 1-.478-.252 1.1 1.1 0 0 1-.29-.375"}))});pf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};var gf=["color","size","title","className"];function mf(){return mf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},mf.apply(null,arguments)}var yf=t.forwardRef(function(e,n){var o=e.color,r=void 0===o?"currentColor":o,i=e.size,a=void 0===i?"1em":i,s=e.title,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,gf);return t.createElement("svg",mf({ref:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:r,className:["bi","bi-x-lg",u].filter(Boolean).join(" ")},d),l?t.createElement("title",null,l):null,t.createElement("path",{d:"M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"}))});yf.propTypes={color:z.string,size:z.oneOfType([z.string,z.number]),title:z.string,className:z.string};r('.file-node-row {\n width: 100%;\n min-width: 200px;\n display: flex;\n font-size: 13px;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n cursor: pointer;\n height: 28px;\n}\n\n.indent {\n height: 100%;\n margin-left: 10px;\n}\n\n.folder-icon {\n display: flex;\n margin-right: 5px;\n align-items: center;\n}\n\n.file-icon {\n display: flex;\n margin-right: 5px;\n align-items: center;\n}\n\n.file-name {\n color: #DDD;\n display: flex;\n align-items: center;\n}');var vf=function(o){var r=o.id,i=o.parentId,a=o.node,s=n.useDraggable({id:r,data:{type:"FileTreeNode",parentId:i,node:a,preview:e.jsx(bf,{node:a})}}),l=s.attributes,c=s.listeners,u=s.setNodeRef;s.transform;var d=Cf().selectNode,f=t.useCallback(function(){d(a)},[d]);return e.jsxs("div",F(F(F({className:"file-node-row",ref:u},c),l),{},{style:function(){var e={};return a.selected&&(e.backgroundColor="#00426b"),e}(),onClick:f,children:[e.jsx("div",{className:"indent",style:{width:20*a.level+"px"}}),"folder"===a.type?e.jsx("span",{className:"folder-icon",children:a.collapsed?e.jsx(Wd,{}):e.jsx(qd,{})}):e.jsx("span",{className:"file-icon",children:function(){switch(a.name.split(".").pop()){case"js":return e.jsx(lf,{color:"#f1e05a"});case"json":return e.jsx(Fd,{color:"#fffb00"});case"scss":return e.jsx(pf,{color:"#f12727"});case"py":return e.jsx(df,{color:"#686affbd"});default:return e.jsx(tf,{color:"#ffffff"})}}()}),e.jsx("span",{className:"file-name",children:a.name})]}))},bf=function(t){var n=t.node;return e.jsx("div",{className:"file-node-row",children:e.jsx("span",{className:"file-name",children:n.name})})};r("");var wf=function(n){!function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(n);var o=Y(t.useState([]),2),r=o[0],i=o[1],a=Cf().state;t.useEffect(function(){var e;s(null!==(e=a.collapsedTree)&&void 0!==e?e:[])},[a.collapsedTree]);var s=function(t,n){var o=[];t.forEach(function(t){o.push(e.jsx(vf,{parentId:n,node:t,id:"tree-node-"+t.uid},n+"-"+t.uid))}),i(o)};return e.jsx(e.Fragment,{children:r})},xf=t.createContext(),_f=function(e,t){t||(t=0);for(var n=[],o=0;o<e.length;o++){var r=e[o];r.level=t,n.push(r),null!=r&&r.children&&(n=n.concat(_f(r.children,t+1)))}return n},Ef=function(e){for(var t,n,o=[],r=0;r<e.length;r++){if(t){if(!(e[r].level<=n))continue;t=!1}e[r].collapsed&&(t=!0,n=e[r].level),o.push(e[r])}return o},kf={uid:crypto.randomUUID(),tree:{},flattenedTree:[],selectedNode:null,collapsedTree:[]},Sf=function(e,t){switch(t.type){case"ADD_FILE_TREE":var n=function(e){return e.forEach(function(e){e.collapsed=!1}),e}(_f(Z(t.payload))),o=Ef(n);return F(F({},e),{},{tree:t.payload,flattenedTree:n,collapsedTree:o});case"SELECT_NODE":var r=e.flattenedTree.map(function(e){return e.uid===t.payload.uid?F(F({},e),{},{selected:!0,collapsed:!e.collapsed}):F(F({},e),{},{selected:!1})});return F(F({},e),{},{flattenedTree:r,collapsedTree:Ef(r),selectedNode:t.payload});case"RESET_STATE":return kf;default:return e}},Of=t.forwardRef(function(n,o){var r=n.onSelectFile,i=Y(t.useReducer(Sf,kf),2),a=i[0],s=i[1],l=t.useCallback(function(e){s({type:"RESET_STATE"}),s({type:"ADD_FILE_TREE",payload:e})},[]);t.useEffect(function(){a.selectedNode&&"file"===a.selectedNode.type&&r(a.selectedNode)},[a.selectedNode]);var c=t.useCallback(function(e){s({type:"SELECT_NODE",payload:e})},[]),u=t.useMemo(function(){return{state:a,addFileTree:l,selectNode:c}},[a,l,c]);return t.useImperativeHandle(o,function(){return u},[u]),e.jsx(xf.Provider,{value:u,children:e.jsx("div",{className:"file-browser",children:e.jsx(wf,{})})})});function Cf(){var e=t.useContext(xf);if(!e)throw new Error("useFileBrowser must be used inside <FileBrowser>");return e}Of.displayName="FileBrowser";r('.editorContainer {\n position: relative;\n width: 100%;\n height: 100%;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n}\n\n.tabContainer {\n position: absolute;\n top: 0;\n left: 0;\n height: 35px;\n right: 0;\n}\n\n.monacoContainer {\n position: absolute;\n top: 35px;\n left: 0;\n bottom: 0;\n right: 0;\n}');var Nf={DESIGN:1,MAPPING:2},Mf=Nf=Object.freeze(Nf);function Pf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function If(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jf(Object(n),!0).forEach(function(t){Pf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Tf(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zf(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function Rf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Df(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Af(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Df(Object(n),!0).forEach(function(t){Rf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Df(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Lf(e){return function t(){for(var n=this,o=arguments.length,r=new Array(o),i=0;i<o;i++)r[i]=arguments[i];return r.length>=e.length?e.apply(this,r):function(){for(var e=arguments.length,o=new Array(e),i=0;i<e;i++)o[i]=arguments[i];return t.apply(n,[].concat(r,o))}}}function Vf(e){return{}.toString.call(e).includes("Object")}function Bf(e){return"function"==typeof e}var $f=Lf(function(e,t){throw new Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),Hf={changes:function(e,t){return Vf(t)||$f("changeType"),Object.keys(t).some(function(t){return!function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,t)})&&$f("changeField"),t},selector:function(e){Bf(e)||$f("selectorType")},handler:function(e){Bf(e)||Vf(e)||$f("handlerType"),Vf(e)&&Object.values(e).some(function(e){return!Bf(e)})&&$f("handlersType")},initial:function(e){var t;e||$f("initialIsRequired"),Vf(e)||$f("initialType"),t=e,Object.keys(t).length||$f("initialContent")}};function Ff(e,t){return Bf(t)?t(e.current):t}function Yf(e,t){return e.current=Af(Af({},e.current),t),t}function Zf(e,t,n){return Bf(t)?t(e.current):Object.keys(n).forEach(function(n){var o;return null===(o=t[n])||void 0===o?void 0:o.call(t,e.current[n])}),n}var qf={create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Hf.initial(e),Hf.handler(t);var n={current:e},o=Lf(Zf)(n,t),r=Lf(Yf)(n),i=Lf(Hf.changes)(e),a=Lf(Ff)(n);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return Hf.selector(e),e(n.current)},function(e){!function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}}(o,r,i,a)(e)}]}};var Xf,Gf={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},Wf=(Xf=function(e,t){throw new Error(e[t]||e.default)},function e(){for(var t=this,n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return o.length>=Xf.length?Xf.apply(this,o):function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return e.apply(t,[].concat(o,r))}})(Gf),Kf={config:function(e){var t;return e||Wf("configIsRequired"),t=e,{}.toString.call(t).includes("Object")||Wf("configType"),e.urls?(console.warn(Gf.deprecation),{paths:{vs:e.urls.monacoBase}}):e}};function Uf(e,t){return Object.keys(t).forEach(function(n){t[n]instanceof Object&&e[n]&&Object.assign(t[n],Uf(e[n],t[n]))}),If(If({},e),t)}var Qf={type:"cancelation",msg:"operation is manually canceled"};function Jf(e){var t=!1,n=new Promise(function(n,o){e.then(function(e){return t?o(Qf):n(e)}),e.catch(o)});return n.cancel=function(){return t=!0},n}var eh,th,nh=qf.create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),oh=(th=2,function(e){if(Array.isArray(e))return e}(eh=nh)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],o=!0,r=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(o=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);o=!0);}catch(e){r=!0,i=e}finally{try{o||null==s.return||s.return()}finally{if(r)throw i}}return n}}(eh,th)||function(e,t){if(e){if("string"==typeof e)return zf(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?zf(e,t):void 0}}(eh,th)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),rh=oh[0],ih=oh[1];function ah(e){return document.body.appendChild(e)}function sh(e){var t,n,o=rh(function(e){return{config:e.config,reject:e.reject}}),r=(t="".concat(o.config.paths.vs,"/loader.js"),n=document.createElement("script"),t&&(n.src=t),n);return r.onload=function(){return e()},r.onerror=o.reject,r}function lh(){var e=rh(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){ch(t),e.resolve(t)},function(t){e.reject(t)})}function ch(e){rh().monaco||ih({monaco:e})}var uh=new Promise(function(e,t){return ih({resolve:e,reject:t})}),dh={config:function(e){var t=Kf.config(e),n=t.monaco,o=Tf(t,["monaco"]);ih(function(e){return{config:Uf(e.config,o),monaco:n}})},init:function(){var e=rh(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(ih({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Jf(uh);if(window.monaco&&window.monaco.editor)return ch(window.monaco),e.resolve(window.monaco),Jf(uh);!function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}}(ah,sh)(lh)}return Jf(uh)},__getMonacoInstance:function(){return rh(function(e){return e.monaco})}},fh={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},hh={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}};var ph=function({children:e}){return t.createElement("div",{style:hh.container},e)};var gh=function({width:e,height:n,isEditorReady:o,loading:r,_ref:i,className:a,wrapperProps:s}){return t.createElement("section",{style:{...fh.wrapper,width:e,height:n},...s},!o&&t.createElement(ph,null,r),t.createElement("div",{ref:i,style:{...fh.fullWidth,...!o&&fh.hide},className:a}))},mh=t.memo(gh);var yh=function(e){t.useEffect(e,[])};var vh=function(e,n,o=!0){let r=t.useRef(!0);t.useEffect(r.current||!o?()=>{r.current=!1}:e,n)};function bh(){}function wh(e,t,n,o){return function(e,t){return e.editor.getModel(xh(e,t))}(e,o)||function(e,t,n,o){return e.editor.createModel(t,n,o?xh(e,o):void 0)}(e,t,n,o)}function xh(e,t){return e.Uri.parse(t)}var _h=function({original:e,modified:n,language:o,originalLanguage:r,modifiedLanguage:i,originalModelPath:a,modifiedModelPath:s,keepCurrentOriginalModel:l=!1,keepCurrentModifiedModel:c=!1,theme:u="light",loading:d="Loading...",options:f={},height:h="100%",width:p="100%",className:g,wrapperProps:m={},beforeMount:y=bh,onMount:v=bh}){let[b,w]=t.useState(!1),[x,_]=t.useState(!0),E=t.useRef(null),k=t.useRef(null),S=t.useRef(null),O=t.useRef(v),C=t.useRef(y),N=t.useRef(!1);yh(()=>{let e=dh.init();return e.then(e=>(k.current=e)&&_(!1)).catch(e=>"cancelation"!==e?.type&&console.error("Monaco initialization: error:",e)),()=>E.current?function(){let e=E.current?.getModel();l||e?.original?.dispose(),c||e?.modified?.dispose(),E.current?.dispose()}():e.cancel()}),vh(()=>{if(E.current&&k.current){let t=E.current.getOriginalEditor(),n=wh(k.current,e||"",r||o||"text",a||"");n!==t.getModel()&&t.setModel(n)}},[a],b),vh(()=>{if(E.current&&k.current){let e=E.current.getModifiedEditor(),t=wh(k.current,n||"",i||o||"text",s||"");t!==e.getModel()&&e.setModel(t)}},[s],b),vh(()=>{let e=E.current.getModifiedEditor();e.getOption(k.current.editor.EditorOption.readOnly)?e.setValue(n||""):n!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:n||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[n],b),vh(()=>{E.current?.getModel()?.original.setValue(e||"")},[e],b),vh(()=>{let{original:e,modified:t}=E.current.getModel();k.current.editor.setModelLanguage(e,r||o||"text"),k.current.editor.setModelLanguage(t,i||o||"text")},[o,r,i],b),vh(()=>{k.current?.editor.setTheme(u)},[u],b),vh(()=>{E.current?.updateOptions(f)},[f],b);let M=t.useCallback(()=>{if(!k.current)return;C.current(k.current);let t=wh(k.current,e||"",r||o||"text",a||""),l=wh(k.current,n||"",i||o||"text",s||"");E.current?.setModel({original:t,modified:l})},[o,n,i,e,r,a,s]),P=t.useCallback(()=>{!N.current&&S.current&&(E.current=k.current.editor.createDiffEditor(S.current,{automaticLayout:!0,...f}),M(),k.current?.editor.setTheme(u),w(!0),N.current=!0)},[f,u,M]);return t.useEffect(()=>{b&&O.current(E.current,k.current)},[b]),t.useEffect(()=>{!x&&!b&&P()},[x,b,P]),t.createElement(mh,{width:p,height:h,isEditorReady:b,loading:d,_ref:S,className:g,wrapperProps:m})};t.memo(_h);var Eh=function(e){let n=t.useRef();return t.useEffect(()=>{n.current=e},[e]),n.current},kh=new Map;var Sh=function({defaultValue:e,defaultLanguage:n,defaultPath:o,value:r,language:i,path:a,theme:s="light",line:l,loading:c="Loading...",options:u={},overrideServices:d={},saveViewState:f=!0,keepCurrentModel:h=!1,width:p="100%",height:g="100%",className:m,wrapperProps:y={},beforeMount:v=bh,onMount:b=bh,onChange:w,onValidate:x=bh}){let[_,E]=t.useState(!1),[k,S]=t.useState(!0),O=t.useRef(null),C=t.useRef(null),N=t.useRef(null),M=t.useRef(b),P=t.useRef(v),j=t.useRef(),I=t.useRef(r),T=Eh(a),z=t.useRef(!1),R=t.useRef(!1);yh(()=>{let e=dh.init();return e.then(e=>(O.current=e)&&S(!1)).catch(e=>"cancelation"!==e?.type&&console.error("Monaco initialization: error:",e)),()=>C.current?(j.current?.dispose(),h?f&&kh.set(a,C.current.saveViewState()):C.current.getModel()?.dispose(),void C.current.dispose()):e.cancel()}),vh(()=>{let t=wh(O.current,e||r||"",n||i||"",a||o||"");t!==C.current?.getModel()&&(f&&kh.set(T,C.current?.saveViewState()),C.current?.setModel(t),f&&C.current?.restoreViewState(kh.get(a)))},[a],_),vh(()=>{C.current?.updateOptions(u)},[u],_),vh(()=>{!C.current||void 0===r||(C.current.getOption(O.current.editor.EditorOption.readOnly)?C.current.setValue(r):r!==C.current.getValue()&&(R.current=!0,C.current.executeEdits("",[{range:C.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),C.current.pushUndoStop(),R.current=!1))},[r],_),vh(()=>{let e=C.current?.getModel();e&&i&&O.current?.editor.setModelLanguage(e,i)},[i],_),vh(()=>{void 0!==l&&C.current?.revealLine(l)},[l],_),vh(()=>{O.current?.editor.setTheme(s)},[s],_);let D=t.useCallback(()=>{if(N.current&&O.current&&!z.current){P.current(O.current);let t=a||o,c=wh(O.current,r||e||"",n||i||"",t||"");C.current=O.current?.editor.create(N.current,{model:c,automaticLayout:!0,...u},d),f&&C.current.restoreViewState(kh.get(t)),O.current.editor.setTheme(s),void 0!==l&&C.current.revealLine(l),E(!0),z.current=!0}},[e,n,o,r,i,a,u,d,f,s,l]);return t.useEffect(()=>{_&&M.current(C.current,O.current)},[_]),t.useEffect(()=>{!k&&!_&&D()},[k,_,D]),I.current=r,t.useEffect(()=>{_&&w&&(j.current?.dispose(),j.current=C.current?.onDidChangeModelContent(e=>{R.current||w(C.current.getValue(),e)}))},[_,w]),t.useEffect(()=>{if(_){let e=O.current.editor.onDidChangeMarkers(e=>{let t=C.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=O.current.editor.getModelMarkers({resource:t});x?.(e)}});return()=>{e?.dispose()}}return()=>{}},[_,x]),t.createElement(mh,{width:p,height:g,isEditorReady:_,loading:c,_ref:N,className:m,wrapperProps:y})},Oh=t.memo(Sh);r(".no-tab {\n background-color: #1e1e1e;\n color: #6b6b6b;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset: 0;\n}\n\n.editor-container {\n position: relative;\n width: 100%;\n height: 100%;\n background: #1e1e1e;\n}\n\n.overlay-layer {\n position: absolute;\n left: 0;\n right: 0;\n inset: 0;\n overflow: hidden;\n}\n\n.line-block-overlay {\n z-index: 999;\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.line-block-overlay:hover {\n background-color: rgba(255, 166, 0, 0.3);\n cursor: pointer;\n}");var Ch=t.forwardRef(function(n,o){n.onSelectAbstraction;var r=Lh(),i=r.state,a=r.setUpdatedContent,s=Y(t.useState(!1),2),l=s[0],c=s[1],u=t.useRef(i.activeTab),d=t.useRef(null),f=t.useRef(new Map);t.useEffect(function(){i.activeTab?(u.current=i.activeTab,d.current&&d.current.setModel(h(i.activeTab)),c(!0)):(u.current=null,c(!1))},[i.activeTab,d]),t.useEffect(function(){return function(){f.current.forEach(function(e){return e.dispose()}),f.current.clear()}},[]);var h=t.useCallback(function(e){var t;if(f.current.has(e.uid))t=f.current.get(e.uid);else{var n=monaco.Uri.parse("file:///".concat(e.uid));t=monaco.editor.createModel(e.content,"python",n),f.current.set(e.uid,t)}return t.onDidChangeContent(function(e){a(u.current,d.current.getValue())}),t},[d,f,a]),p=t.useCallback(function(e,t){d.current=e,e.layout(),f.current=new Map,t.editor.getModels().forEach(function(e){return e.dispose()}),u.current&&(d.current.setModel(h(u.current)),c(!0))},[]),g=t.useRef(null),m=t.useRef(0);t.useEffect(function(){if(g.current){var e=new ResizeObserver(function(){cancelAnimationFrame(m.current),m.current=requestAnimationFrame(function(){var e;null===(e=d.current)||void 0===e||e.layout()})});return e.observe(g.current),function(){cancelAnimationFrame(m.current),e.disconnect()}}},[i.activeTab]);var y=t.useCallback(function(e){f.current.has(e)&&(f.current.get(e).dispose(),f.current.delete(e))},[]),v=t.useMemo(function(){return{clearModel:y}},[y]);return t.useImperativeHandle(o,function(){return v},[v]),e.jsxs("div",{className:"editor-container",ref:g,children:[e.jsx(Oh,{defaultLanguage:"python",defaultValue:"Loading content...",onMount:p,theme:"vs-dark",options:{minimap:{enabled:!1},padding:{top:10},renderWhitespace:"none",wordWrap:"on",scrollBeyondLastLine:!1,automaticLayout:!1}}),l?null:e.jsx("div",{className:"no-tab",children:"Select file or drag and drop to view."}),i.mode===Mf.MAPPING&&e.jsx("div",{className:"overlay-layer",onWheel:handleWheel,children:overlayDivs})]})});Ch.propTypes={editorContent:z.string};r(".gutter {\n min-width: 2px;\n height: 35px;\n width: 2px;\n}");var Nh=function(t){var o=t.id,r=t.index,i=t.parentId,a=n.useDroppable({id:o,data:{type:"EditorTabGutter",parentId:i,index:r}}),s=a.setNodeRef,l={backgroundColor:a.isOver?"#FFFFFF":"#222425"};return e.jsx("div",{className:"gutter",ref:s,style:l})};Nh.propTypes={id:z.string.isRequired,parentId:z.string.isRequired,index:z.number.isRequired};r(".tab {\n padding: 0px 18px;\n cursor: default !important;\n height: 35px;\n width: auto;\n}\n\n.tab-content {\n width: auto;\n height: 31px;\n display: flex;\n align-items: center;\n vertical-align: middle;\n overflow-y: hidden;\n}\n\n.tab > .tab-content > .icon {\n padding-right: 2px;\n display: flex;\n align-items: center;\n width: 20px;\n}\n\n.tab > .tab-content > .tab-name {\n display: flex;\n align-items: center;\n width: auto;\n font-size: 13px;\n}\n\n.tab > .tab-content > .close-icon {\n display: flex;\n margin-left: 7px;\n padding-top: 3px;\n align-items: center;\n vertical-align: middle;\n width: 10px;\n cursor: pointer;\n}");var Mh="#1e1e1e",Ph="#FFFFFF",jh=function(o){var r=o.id,i=o.isDirty,a=o.parentId,s=o.node,l=Y(t.useState(),2),c=l[0],u=l[1],d=Lh(),f=d.selectTab,h=d.closeTab,p=d.state,g=n.useDraggable({id:r,data:{type:"EditorTab",parentId:a,node:s,preview:e.jsx(Ih,{node:s})}}),m=g.attributes,y=g.listeners,v=g.setNodeRef;g.transform,t.useEffect(function(){b(p.activeTab&&p.activeTab.uid===s.uid)},[p.activeTab]);var b=function(e){u({backgroundColor:e?Mh:"#2d2d2d",color:e?Ph:"#969690"})};return e.jsx("div",F(F(F({ref:v,style:c,id:r,onMouseDown:function(e){e.stopPropagation(),1===e.button?h(s.uid):f(s.uid)},className:"tab"},y),m),{},{children:e.jsxs("div",{className:"tab-content",children:[i&&e.jsx("div",{className:"icon",children:e.jsx(Qd,{size:6})}),e.jsx("div",{className:"icon",children:e.jsx(rf,{size:14,style:{pointerEvents:"none"}})}),e.jsx("div",{className:"tab-name",children:e.jsx("span",{children:s.name})}),e.jsx("div",{className:"close-icon",onMouseDown:function(e){e.stopPropagation(),h(s.uid)},children:e.jsx(yf,{size:18})})]})}))};jh.propTypes={id:z.string.isRequired,parentId:z.string.isRequired,node:z.shape({name:z.string.isRequired}).isRequired};var Ih=function(t){var n=t.node;return e.jsx("div",{className:"tab",style:{backgroundColor:Mh,color:Ph,opacity:.5},children:e.jsxs("div",{className:"tab-content",children:[e.jsx("div",{className:"icon",children:e.jsx(rf,{size:14,style:{pointerEvents:"none"}})}),e.jsx("div",{className:"tab-name",children:e.jsx("span",{children:n.name})}),e.jsx("div",{className:"close-icon",children:e.jsx(yf,{size:18})})]})})};r(".tabs-container {\n display: flex;\n flex-direction: row;\n height: 35px;\n width: 100%;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n scrollbar-width: thin;\n scrollbar-color: rgba(255, 255, 255, 0.2) transparent;\n}\n\n.tabs-container::-webkit-scrollbar {\n height: 4px;\n}\n\n.tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.tabs-container::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.2);\n border-radius: 4px;\n}");var Th=function(){var n=Lh().state,o=Y(t.useState(),2),r=o[0],i=o[1];t.useEffect(function(){var e;(null===(e=n.tabs)||void 0===e?void 0:e.length)>=0&&null!=n.parentTabGroupId&&a(n.tabs,n.parentTabGroupId)},[n.tabs,n.modifiedIndicator,n.parentTabGroupId]);var a=function(t,n){var o=[];t.forEach(function(t,r){o.push(e.jsx(Nh,{id:n+"-"+r,index:r,parentId:n},t.uid+"-gutter")),o.push(e.jsx(jh,{isDirty:t.isDirty,id:n+"-"+t.uid,parentId:n,node:t},t.uid))}),o.push(e.jsx(Nh,{id:n+"-"+t.length,index:t.length,parentId:n},"last-gutter")),i(o)};return e.jsx("div",{className:"tabs-container",style:{background:"#222425"},children:r})},zh=t.createContext(),Rh={uid:crypto.randomUUID(),tabs:[],activeTab:null,mode:Mf.DESIGN,mapping:new Map,parentTabGroupId:null,mappedIds:[],modifiedIndicator:!1},Dh=function(e,t){switch(t.type){case"ADD_TAB":var n=t.payload,o=n.tab,r=n.index,i=e.tabs.find(function(e){return e.uid===o.uid});if(i)return console.warn("Tab with id ".concat(i.uid," already exists")),F(F({},e),{},{activeTab:i});o.updatedContent=o.content,o.isDirty=!1;var a=Z(e.tabs);return void 0!==r&&r<e.tabs.length?a.splice(r,0,o):a.push(o),F(F({},e),{},{tabs:a,activeTab:o});case"SET_PARENT_TAB_GROUP_ID":return F(F({},e),{},{parentTabGroupId:t.payload});case"SELECT_TAB":var s=e.tabs.find(function(e){return e.uid===t.payload});return s?F(F({},e),{},{activeTab:s}):(console.error("Tab with id ".concat(t.payload," not found.")),e);case"CLOSE_TAB":var l=e.tabs.findIndex(function(e){return e.uid===t.payload});if(-1===l)return console.warn("Tab with id ".concat(t.payload," not found.")),e;var c=Z(e.tabs);c.splice(l,1);var u=e.activeTab,d=e.activeTab&&e.activeTab.uid===t.payload;return d&&l<c.length?u=c[Math.max(0,l)]:d&&l>=c.length&&(u=c.length>0?c[c.length-1]:null),F(F({},e),{},{tabs:c,activeTab:u});case"MOVE_TAB":var f=Z(e.tabs),h=t.payload,p=h.tabId,g=h.newIndex,m=f.findIndex(function(e){return e.uid===p});if(-1===m)return console.warn("Tab with id ".concat(p," not found.")),e;if(g-1===m||g===m)return e;var y=Y(f.splice(m,1),1)[0],v=m<g?g-1:g;return f.splice(v,0,y),F(F({},e),{},{tabs:f});case"SET_MAPPING":var b=t.payload,w=b.mapping,x=b.fileName,_=new Map(e.mapping);return _.set(x,w),F(F({},e),{},{mapping:_});case"SET_MODE":return F(F({},e),{},{mode:t.payload});case"SET_MAPPED_IDS":return F(F({},e),{},{mappedIds:t.payload});case"RESET_STATE":return Rh;case"SET_UPDATED_CONTENT":var E=t.payload,k=E.tab,S=E.content;return k.updatedContent=S,k.isDirty=k.content!==k.updatedContent,F(F({},e),{},{modifiedIndicator:!e.modifiedIndicator,tabs:e.tabs.map(function(e){return e.uid===k.uid?k:e})});case"SET_CONTENT":var O=t.payload,C=O.tab,N=O.content;return C.content=N,C.isDirty=C.content!==C.updatedContent,F(F({},e),{},{modifiedIndicator:!e.modifiedIndicator,tabs:e.tabs.map(function(e){return e.uid===C.uid?C:e})});case"SAVE_ALL":var M=e.tabs.map(function(e){return e.content=e.updatedContent,e.isDirty=!1,e});return F(F({},e),{},{modifiedIndicator:!e.modifiedIndicator,tabs:M});default:return e}},Ah=t.forwardRef(function(n,o){var r=n.onSelectAbstraction,i=n.onSelectTab,a=n.onUpdateContent,s=Y(t.useReducer(Dh,Rh),2),l=s[0],c=s[1],u=t.useRef(),d=t.useCallback(function(e){c({type:"SELECT_TAB",payload:e}),i&&i(e)},[i]),f=t.useCallback(function(e){u.current&&u.current.clearModel(e),c({type:"CLOSE_TAB",payload:e})},[]),h=t.useCallback(function(e,t){c({type:"MOVE_TAB",payload:{tabId:e,newIndex:t}})},[]),p=t.useCallback(function(e,t){c({type:"ADD_TAB",payload:{tab:e,index:t}})},[]),g=t.useCallback(function(e){c({type:"RESET_STATE"}),c({type:"SET_PARENT_TAB_GROUP_ID",payload:e})},[]),m=t.useCallback(function(e,t){c({type:"SET_MAPPING",payload:{fileName:e,mapping:t}})},[]),y=t.useCallback(function(e){c({type:"SET_MODE",payload:e})},[]),v=t.useCallback(function(e){c({type:"SET_MAPPED_IDS",payload:e})},[]),b=t.useCallback(function(){return l.tabs},[l.tabs]),w=t.useCallback(function(e){return l.tabs.find(function(t){return t.uid===e})},[l.tabs]),x=t.useCallback(function(){return l.tabs.find(function(e){return e.id===l.activeTabId})},[l.tabs,l.activeTabId]),_=t.useCallback(function(e,t){c({type:"SET_UPDATED_CONTENT",payload:{tab:e,content:t}}),a&&a(e,t)},[a]),E=t.useCallback(function(e,t){c({type:"SET_CONTENT",payload:{tab:e,content:t}})},[]),k=t.useCallback(function(){c({type:"SAVE_ALL",payload:{}})},[]),S={state:l,addTab:p,setTabGroupId:g,selectTab:d,closeTab:f,moveTab:h,setMapping:m,setMode:y,setMappedIds:v,getTab:w,getTabs:b,getActiveTab:x,setUpdatedContent:_,setContent:E,saveAll:k},O=t.useMemo(function(){return S},Object.values(S));return t.useImperativeHandle(o,function(){return O},[O]),e.jsx(zh.Provider,{value:O,children:e.jsxs("div",{className:"editorContainer",children:[e.jsx("div",{className:"tabContainer",children:e.jsx(Th,{})}),e.jsx("div",{className:"monacoContainer",children:e.jsx(Ch,{ref:u,onSelectAbstraction:r})})]})})});function Lh(){var e=t.useContext(zh);if(!e)throw new Error("useEditor must be used inside <Editor>");return e}Ah.displayName="Editor";r(".canvas-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n background-color: #1b1c1d;\n overflow: hidden;\n}\n\n.canvas-wrapper > canvas {\n overflow: hidden;\n}");var Vh=t.forwardRef(function(n,r){var i=n.connectBehaviors,a=n.deleteTransition,s=n.deleteBehavior,l=n.selectBehavior,c=t.useRef(),u=t.useRef(),d=Y(t.useState({width:0,height:0}),2),f=d[0],h=d[1];t.useEffect(function(){var e=new ResizeObserver(function(e){var t=Y(e,1)[0].contentRect,n=t.width,o=t.height;h({width:n,height:o})});return u.current&&e.observe(u.current),function(){return e.disconnect()}},[]);var p=Y(t.useState([]),2),g=p[0],m=p[1],y=Y(t.useState([]),2),v=y[0],b=y[1],w=Y(t.useState([]),2),x=w[0],_=w[1],E=t.useCallback(function(e){if(e){var t=function(e){for(var t=[],n=[],o=0;o<e.graph.nodes.length;o++){var r=e.graph.nodes[o];n.push({id:r.getBehavior().getName(),text:r.getBehavior().getName()})}for(var i=function(){var n=e.graph.nodes[a];if(null==n||!n.getGoToBehaviors())return 1;n.getGoToBehaviors().forEach(function(e){t.push({id:"".concat(n.getBehavior().getName(),"->").concat(e),from:n.getBehavior().getName(),to:e})})},a=0;a<e.graph.nodes.length;a++)i();return{nodes:n,edges:t}}(e),n=t.nodes,o=t.edges;b(n),m(o)}},[b,m]),k=t.useMemo(function(){return{updateEngine:E}},[E]);t.useImperativeHandle(r,function(){return k},[k]);var S=t.useCallback(function(e){c.current&&(e.deltaY<0?c.current.zoomIn():c.current.zoomOut())},[c]),O=t.useCallback(function(e,t){_([t.id]),l(t.id)},[l]),C=t.useCallback(function(e,t){s(t),_([])},[s]),N=t.useCallback(function(e,t){_([t.id])},[]),M=t.useCallback(function(e,t){a(t),_([])},[a]),P=t.useCallback(function(e){l(null),_([])},[l]),j=t.useCallback(function(e,t,n){n&&i(t,n)},[i]);return e.jsx("div",{onWheel:S,ref:u,className:"canvas-wrapper",children:e.jsx(o.Canvas,{panType:"drag",fit:!0,center:!0,ref:c,nodes:v,edges:g,width:f.width,height:f.height,selections:x,onNodeLink:j,node:e.jsx(o.Node,{onClick:O,onRemove:C}),edge:e.jsx(o.Edge,{onClick:N,onRemove:M}),onCanvasClick:P})})});Vh.propTypes={connectBehaviors:z.func.isRequired,deleteTransition:z.func.isRequired,deleteBehavior:z.func.isRequired,selectBehavior:z.func.isRequired},exports.BehavioralGraphBuilder=Vh,exports.Editor=Ah,exports.FileBrowser=Of,exports.FlowDiagram=function(n){var o=n.treeInfo,r=Y(t.useState(),2),i=r[0],a=r[1];return t.useEffect(function(){a(o)},[o]),e.jsx($l,{children:e.jsx(Bd,{tree:i})})},exports.StackList=V,exports.useEditor=Lh,exports.useFileBrowser=Cf;
42
42
  //# sourceMappingURL=index.js.map