@agentic-surfaces/server 0.1.9 → 0.1.10
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.
|
@@ -59,7 +59,7 @@ Error generating stack: `+x.message+`
|
|
|
59
59
|
`,`
|
|
60
60
|
+`).split(`
|
|
61
61
|
`)),m=d.reduce((p,g)=>p.concat(...g),[]);return[d,m]}return[[],[]]},[e]);return T.useEffect(()=>{const f=(t==null?void 0:t.target)??Ry,d=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const m=v=>{var b,k;if(s.current=v.ctrlKey||v.metaKey||v.shiftKey||v.altKey,(!s.current||s.current&&!d)&&kw(v))return!1;const w=Dy(v.code,c);if(l.current.add(v[w]),jy(a,l.current,!1)){const _=((k=(b=v.composedPath)==null?void 0:b.call(v))==null?void 0:k[0])||v.target,E=(_==null?void 0:_.nodeName)==="BUTTON"||(_==null?void 0:_.nodeName)==="A";t.preventDefault!==!1&&(s.current||!E)&&v.preventDefault(),i(!0)}},p=v=>{const S=Dy(v.code,c);jy(a,l.current,!0)?(i(!1),l.current.clear()):l.current.delete(v[S]),v.key==="Meta"&&l.current.clear(),s.current=!1},g=()=>{l.current.clear(),i(!1)};return f==null||f.addEventListener("keydown",m),f==null||f.addEventListener("keyup",p),window.addEventListener("blur",g),window.addEventListener("contextmenu",g),()=>{f==null||f.removeEventListener("keydown",m),f==null||f.removeEventListener("keyup",p),window.removeEventListener("blur",g),window.removeEventListener("contextmenu",g)}}},[e,i]),n}function jy(e,t,n){return e.filter(i=>n||i.length===t.size).some(i=>i.every(s=>t.has(s)))}function Dy(e,t){return t.includes(e)?"code":"key"}const m2=()=>{const e=He();return T.useMemo(()=>({zoomIn:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{const{panZoom:i}=e.getState();return i?i.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[i,s,l],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??i,y:t.y??s,zoom:t.zoom??l},n),!0):!1},getViewport:()=>{const[t,n,i]=e.getState().transform;return{x:t,y:n,zoom:i}},setCenter:async(t,n,i)=>e.getState().setCenter(t,n,i),fitBounds:async(t,n)=>{const{width:i,height:s,minZoom:l,maxZoom:a,panZoom:c}=e.getState(),f=Lh(t,i,s,l,a,(n==null?void 0:n.padding)??.1);return c?(await c.setViewport(f,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{const{transform:i,snapGrid:s,snapToGrid:l,domNode:a}=e.getState();if(!a)return t;const{x:c,y:f}=a.getBoundingClientRect(),d={x:t.x-c,y:t.y-f},m=n.snapGrid??s,p=n.snapToGrid??l;return mo(d,i,p,m)},flowToScreenPosition:t=>{const{transform:n,domNode:i}=e.getState();if(!i)return t;const{x:s,y:l}=i.getBoundingClientRect(),a=lo(t,n);return{x:a.x+s,y:a.y+l}}}),[])};function qw(e,t){const n=[],i=new Map,s=[];for(const l of e)if(l.type==="add"){s.push(l);continue}else if(l.type==="remove"||l.type==="replace")i.set(l.id,[l]);else{const a=i.get(l.id);a?a.push(l):i.set(l.id,[l])}for(const l of t){const a=i.get(l.id);if(!a){n.push(l);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const c={...l};for(const f of a)g2(f,c);n.push(c)}return s.length&&s.forEach(l=>{l.index!==void 0?n.splice(l.index,0,{...l.item}):n.push({...l.item})}),n}function g2(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function y2(e,t){return qw(e,t)}function v2(e,t){return qw(e,t)}function Xr(e,t){return{id:e,type:"select",selected:t}}function Yi(e,t=new Set,n=!1){const i=[];for(const[s,l]of e){const a=t.has(s);!(l.selected===void 0&&!a)&&l.selected!==a&&(n&&(l.selected=a),i.push(Xr(l.id,a)))}return i}function $y({items:e=[],lookup:t}){var s;const n=[],i=new Map(e.map(l=>[l.id,l]));for(const[l,a]of e.entries()){const c=t.get(a.id),f=((s=c==null?void 0:c.internals)==null?void 0:s.userNode)??c;f!==void 0&&f!==a&&n.push({id:a.id,item:a,type:"replace"}),f===void 0&&n.push({item:a,type:"add",index:l})}for(const[l]of t)i.get(l)===void 0&&n.push({id:l,type:"remove"});return n}function zy(e){return{id:e.id,type:"remove"}}const w2=ww();function x2(e,t,n={}){return rC(e,t,{...n,onError:n.onError??w2})}const Fy=e=>VN(e),b2=e=>mw(e);function Yw(e){return T.forwardRef(e)}const S2=typeof window<"u"?T.useLayoutEffect:T.useEffect;function By(e){const[t,n]=T.useState(BigInt(0)),[i]=T.useState(()=>k2(()=>n(s=>s+BigInt(1))));return S2(()=>{const s=i.get();s.length&&(e(s),i.reset())},[t]),i}function k2(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const Kw=T.createContext(null);function E2({children:e}){const t=He(),n=T.useCallback(c=>{const{nodes:f=[],setNodes:d,hasDefaultNodes:m,onNodesChange:p,nodeLookup:g,fitViewQueued:v,onNodesChangeMiddlewareMap:S}=t.getState();let w=f;for(const k of c)w=typeof k=="function"?k(w):k;let b=$y({items:w,lookup:g});for(const k of S.values())b=k(b);m&&d(w),b.length>0?p==null||p(b):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:k,nodes:_,setNodes:E}=t.getState();k&&E(_)})},[]),i=By(n),s=T.useCallback(c=>{const{edges:f=[],setEdges:d,hasDefaultEdges:m,onEdgesChange:p,edgeLookup:g}=t.getState();let v=f;for(const S of c)v=typeof S=="function"?S(v):S;m?d(v):p&&p($y({items:v,lookup:g}))},[]),l=By(s),a=T.useMemo(()=>({nodeQueue:i,edgeQueue:l}),[]);return A.jsx(Kw.Provider,{value:a,children:e})}function _2(){const e=T.useContext(Kw);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const N2=e=>!!e.panZoom;function Fh(){const e=m2(),t=He(),n=_2(),i=Oe(N2),s=T.useMemo(()=>{const l=p=>t.getState().nodeLookup.get(p),a=p=>{n.nodeQueue.push(p)},c=p=>{n.edgeQueue.push(p)},f=p=>{var k,_;const{nodeLookup:g,nodeOrigin:v}=t.getState(),S=Fy(p)?p:g.get(p.id),w=S.parentId?bw(S.position,S.measured,S.parentId,g,v):S.position,b={...S,position:w,width:((k=S.measured)==null?void 0:k.width)??S.width,height:((_=S.measured)==null?void 0:_.height)??S.height};return so(b)},d=(p,g,v={replace:!1})=>{a(S=>S.map(w=>{if(w.id===p){const b=typeof g=="function"?g(w):g;return v.replace&&Fy(b)?b:{...w,...b}}return w}))},m=(p,g,v={replace:!1})=>{c(S=>S.map(w=>{if(w.id===p){const b=typeof g=="function"?g(w):g;return v.replace&&b2(b)?b:{...w,...b}}return w}))};return{getNodes:()=>t.getState().nodes.map(p=>({...p})),getNode:p=>{var g;return(g=l(p))==null?void 0:g.internals.userNode},getInternalNode:l,getEdges:()=>{const{edges:p=[]}=t.getState();return p.map(g=>({...g}))},getEdge:p=>t.getState().edgeLookup.get(p),setNodes:a,setEdges:c,addNodes:p=>{const g=Array.isArray(p)?p:[p];n.nodeQueue.push(v=>[...v,...g])},addEdges:p=>{const g=Array.isArray(p)?p:[p];n.edgeQueue.push(v=>[...v,...g])},toObject:()=>{const{nodes:p=[],edges:g=[],transform:v}=t.getState(),[S,w,b]=v;return{nodes:p.map(k=>({...k})),edges:g.map(k=>({...k})),viewport:{x:S,y:w,zoom:b}}},deleteElements:async({nodes:p=[],edges:g=[]})=>{const{nodes:v,edges:S,onNodesDelete:w,onEdgesDelete:b,triggerNodeChanges:k,triggerEdgeChanges:_,onDelete:E,onBeforeDelete:N}=t.getState(),{nodes:P,edges:L}=await YN({nodesToRemove:p,edgesToRemove:g,nodes:v,edges:S,onBeforeDelete:N}),R=L.length>0,C=P.length>0;if(R){const O=L.map(zy);b==null||b(L),_(O)}if(C){const O=P.map(zy);w==null||w(P),k(O)}return(C||R)&&(E==null||E({nodes:P,edges:L})),{deletedNodes:P,deletedEdges:L}},getIntersectingNodes:(p,g=!0,v)=>{const S=dy(p),w=S?p:f(p),b=v!==void 0;return w?(v||t.getState().nodes).filter(k=>{const _=t.getState().nodeLookup.get(k.id);if(_&&!S&&(k.id===p.id||!_.internals.positionAbsolute))return!1;const E=so(b?k:_),N=Ts(E,w);return g&&N>0||N>=E.width*E.height||N>=w.width*w.height}):[]},isNodeIntersecting:(p,g,v=!0)=>{const w=dy(p)?p:f(p);if(!w)return!1;const b=Ts(w,g);return v&&b>0||b>=g.width*g.height||b>=w.width*w.height},updateNode:d,updateNodeData:(p,g,v={replace:!1})=>{d(p,S=>{const w=typeof g=="function"?g(S):g;return v.replace?{...S,data:w}:{...S,data:{...S.data,...w}}},v)},updateEdge:m,updateEdgeData:(p,g,v={replace:!1})=>{m(p,S=>{const w=typeof g=="function"?g(S):g;return v.replace?{...S,data:w}:{...S,data:{...S.data,...w}}},v)},getNodesBounds:p=>{const{nodeLookup:g,nodeOrigin:v}=t.getState();return HN(p,{nodeLookup:g,nodeOrigin:v})},getHandleConnections:({type:p,id:g,nodeId:v})=>{var S;return Array.from(((S=t.getState().connectionLookup.get(`${v}-${p}${g?`-${g}`:""}`))==null?void 0:S.values())??[])},getNodeConnections:({type:p,handleId:g,nodeId:v})=>{var S;return Array.from(((S=t.getState().connectionLookup.get(`${v}${p?g?`-${p}-${g}`:`-${p}`:""}`))==null?void 0:S.values())??[])},fitView:async p=>{const g=t.getState().fitViewResolver??XN();return t.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:g}),n.nodeQueue.push(v=>[...v]),g.promise}}},[]);return T.useMemo(()=>({...s,...e,viewportInitialized:i}),[i])}const Vy=e=>e.selected,C2=typeof window<"u"?window:void 0;function I2({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=He(),{deleteElements:i}=Fh(),s=As(e,{actInsideInputWithModifier:!1}),l=As(t,{target:C2});T.useEffect(()=>{if(s){const{edges:a,nodes:c}=n.getState();i({nodes:c.filter(Vy),edges:a.filter(Vy)}),n.setState({nodesSelectionActive:!1})}},[s]),T.useEffect(()=>{n.setState({multiSelectionActive:l})},[l])}function T2(e){const t=He();T.useEffect(()=>{const n=()=>{var s,l,a,c;if(!e.current||!(((l=(s=e.current).checkVisibility)==null?void 0:l.call(s))??!0))return!1;const i=Mh(e.current);(i.height===0||i.width===0)&&((c=(a=t.getState()).onError)==null||c.call(a,"004",pn.error004())),t.setState({width:i.width||500,height:i.height||500})};if(e.current){n(),window.addEventListener("resize",n);const i=new ResizeObserver(()=>n());return i.observe(e.current),()=>{window.removeEventListener("resize",n),i&&e.current&&i.unobserve(e.current)}}},[])}const yu={position:"absolute",width:"100%",height:"100%",top:0,left:0},P2=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function A2({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:i=!1,panOnScrollSpeed:s=.5,panOnScrollMode:l=ni.Free,zoomOnDoubleClick:a=!0,panOnDrag:c=!0,defaultViewport:f,translateExtent:d,minZoom:m,maxZoom:p,zoomActivationKeyCode:g,preventScrolling:v=!0,children:S,noWheelClassName:w,noPanClassName:b,onViewportChange:k,isControlledViewport:_,paneClickDistance:E,selectionOnDrag:N}){const P=He(),L=T.useRef(null),{userSelectionActive:R,lib:C,connectionInProgress:O}=Oe(P2,Ve),F=As(g),M=T.useRef();T2(L);const $=T.useCallback(Z=>{k==null||k({x:Z[0],y:Z[1],zoom:Z[2]}),_||P.setState({transform:Z})},[k,_]);return T.useEffect(()=>{if(L.current){M.current=LC({domNode:L.current,minZoom:m,maxZoom:p,translateExtent:d,viewport:f,onDraggingChange:q=>P.setState(J=>J.paneDragging===q?J:{paneDragging:q}),onPanZoomStart:(q,J)=>{const{onViewportChangeStart:Y,onMoveStart:W}=P.getState();W==null||W(q,J),Y==null||Y(J)},onPanZoom:(q,J)=>{const{onViewportChange:Y,onMove:W}=P.getState();W==null||W(q,J),Y==null||Y(J)},onPanZoomEnd:(q,J)=>{const{onViewportChangeEnd:Y,onMoveEnd:W}=P.getState();W==null||W(q,J),Y==null||Y(J)}});const{x:Z,y:D,zoom:G}=M.current.getViewport();return P.setState({panZoom:M.current,transform:[Z,D,G],domNode:L.current.closest(".react-flow")}),()=>{var q;(q=M.current)==null||q.destroy()}}},[]),T.useEffect(()=>{var Z;(Z=M.current)==null||Z.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:i,panOnScrollSpeed:s,panOnScrollMode:l,zoomOnDoubleClick:a,panOnDrag:c,zoomActivationKeyPressed:F,preventScrolling:v,noPanClassName:b,userSelectionActive:R,noWheelClassName:w,lib:C,onTransformChange:$,connectionInProgress:O,selectionOnDrag:N,paneClickDistance:E})},[e,t,n,i,s,l,a,c,F,v,b,R,w,C,$,O,N,E]),A.jsx("div",{className:"react-flow__renderer",ref:L,style:yu,children:S})}const O2=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function L2(){const{userSelectionActive:e,userSelectionRect:t}=Oe(O2,Ve);return e&&t?A.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const Vf=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},M2=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function R2({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Is.Full,panOnDrag:i,autoPanOnSelection:s,paneClickDistance:l,selectionOnDrag:a,onSelectionStart:c,onSelectionEnd:f,onPaneClick:d,onPaneContextMenu:m,onPaneScroll:p,onPaneMouseEnter:g,onPaneMouseMove:v,onPaneMouseLeave:S,children:w}){const b=T.useRef(0),k=He(),{userSelectionActive:_,elementsSelectable:E,dragging:N,connectionInProgress:P,panBy:L,autoPanSpeed:R}=Oe(M2,Ve),C=E&&(e||_),O=T.useRef(null),F=T.useRef(),M=T.useRef(new Set),$=T.useRef(new Set),Z=T.useRef(!1),D=T.useRef({x:0,y:0}),G=T.useRef(!1),q=ee=>{if(Z.current||P){Z.current=!1;return}d==null||d(ee),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},J=ee=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){ee.preventDefault();return}m==null||m(ee)},Y=p?ee=>p(ee):void 0,W=ee=>{Z.current&&(ee.stopPropagation(),Z.current=!1)},B=ee=>{var $e,yt;const{domNode:oe,transform:de}=k.getState();if(F.current=oe==null?void 0:oe.getBoundingClientRect(),!F.current)return;const xe=ee.target===O.current;if(!xe&&!!ee.target.closest(".nokey")||!e||!(a&&xe||t)||ee.button!==0||!ee.isPrimary)return;(yt=($e=ee.target)==null?void 0:$e.setPointerCapture)==null||yt.call($e,ee.pointerId),Z.current=!1;const{x:ke,y:Pe}=hn(ee.nativeEvent,F.current),Ae=mo({x:ke,y:Pe},de);k.setState({userSelectionRect:{width:0,height:0,startX:Ae.x,startY:Ae.y,x:ke,y:Pe}}),xe||(ee.stopPropagation(),ee.preventDefault())};function j(ee,oe){const{userSelectionRect:de}=k.getState();if(!de)return;const{transform:xe,nodeLookup:he,edgeLookup:fe,connectionLookup:ke,triggerNodeChanges:Pe,triggerEdgeChanges:Ae,defaultEdgeOptions:$e}=k.getState(),yt={x:de.startX,y:de.startY},{x:kt,y:ft}=lo(yt,xe),dt={startX:yt.x,startY:yt.y,x:ee<kt?ee:kt,y:oe<ft?oe:ft,width:Math.abs(ee-kt),height:Math.abs(oe-ft)},Mn=M.current,wn=$.current;M.current=new Set(Ah(he,dt,xe,n===Is.Partial,!0).map(Et=>Et.id)),$.current=new Set;const xn=($e==null?void 0:$e.selectable)??!0;for(const Et of M.current){const Ht=ke.get(Et);if(Ht)for(const{edgeId:Lt}of Ht.values()){const Wt=fe.get(Lt);Wt&&(Wt.selectable??xn)&&$.current.add(Lt)}}if(!hy(Mn,M.current)){const Et=Yi(he,M.current,!0);Pe(Et)}if(!hy(wn,$.current)){const Et=Yi(fe,$.current);Ae(Et)}k.setState({userSelectionRect:dt,userSelectionActive:!0,nodesSelectionActive:!1})}function H(){if(!s||!F.current)return;const[ee,oe]=Oh(D.current,F.current,R);L({x:ee,y:oe}).then(de=>{if(!Z.current||!de){b.current=requestAnimationFrame(H);return}const{x:xe,y:he}=D.current;j(xe,he),b.current=requestAnimationFrame(H)})}const V=()=>{cancelAnimationFrame(b.current),b.current=0,G.current=!1};T.useEffect(()=>()=>V(),[]);const K=ee=>{const{userSelectionRect:oe,transform:de,resetSelectedElements:xe}=k.getState();if(!F.current||!oe)return;const{x:he,y:fe}=hn(ee.nativeEvent,F.current);D.current={x:he,y:fe};const ke=lo({x:oe.startX,y:oe.startY},de);if(!Z.current){const Pe=t?0:l;if(Math.hypot(he-ke.x,fe-ke.y)<=Pe)return;xe(),c==null||c(ee)}Z.current=!0,G.current||(H(),G.current=!0),j(he,fe)},Q=ee=>{var oe,de;ee.button===0&&((de=(oe=ee.target)==null?void 0:oe.releasePointerCapture)==null||de.call(oe,ee.pointerId),!_&&ee.target===O.current&&k.getState().userSelectionRect&&(q==null||q(ee)),k.setState({userSelectionActive:!1,userSelectionRect:null}),Z.current&&(f==null||f(ee),k.setState({nodesSelectionActive:M.current.size>0})),V())},re=ee=>{var oe,de;(de=(oe=ee.target)==null?void 0:oe.releasePointerCapture)==null||de.call(oe,ee.pointerId),V()},se=i===!0||Array.isArray(i)&&i.includes(0);return A.jsxs("div",{className:tt(["react-flow__pane",{draggable:se,dragging:N,selection:e}]),onClick:C?void 0:Vf(q,O),onContextMenu:Vf(J,O),onWheel:Vf(Y,O),onPointerEnter:C?void 0:g,onPointerMove:C?K:v,onPointerUp:C?Q:void 0,onPointerCancel:C?re:void 0,onPointerDownCapture:C?B:void 0,onClickCapture:C?W:void 0,onPointerLeave:S,ref:O,style:yu,children:[w,A.jsx(L2,{})]})}function fh({id:e,store:t,unselect:n=!1,nodeRef:i}){const{addSelectedNodes:s,unselectNodesAndEdges:l,multiSelectionActive:a,nodeLookup:c,onError:f}=t.getState(),d=c.get(e);if(!d){f==null||f("012",pn.error012(e));return}t.setState({nodesSelectionActive:!1}),d.selected?(n||d.selected&&a)&&(l({nodes:[d],edges:[]}),requestAnimationFrame(()=>{var m;return(m=i==null?void 0:i.current)==null?void 0:m.blur()})):s([e])}function Gw({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:i,nodeId:s,isSelectable:l,nodeClickDistance:a}){const c=He(),[f,d]=T.useState(!1),m=T.useRef();return T.useEffect(()=>{m.current=wC({getStoreItems:()=>c.getState(),onNodeMouseDown:p=>{fh({id:p,store:c,nodeRef:e})},onDragStart:()=>{d(!0)},onDragStop:()=>{d(!1)}})},[]),T.useEffect(()=>{if(!(t||!e.current||!m.current))return m.current.update({noDragClassName:n,handleSelector:i,domNode:e.current,isSelectable:l,nodeId:s,nodeClickDistance:a}),()=>{var p;(p=m.current)==null||p.destroy()}},[n,i,t,l,e,s,a]),f}const j2=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Xw(){const e=He();return T.useCallback(n=>{const{nodeExtent:i,snapToGrid:s,snapGrid:l,nodesDraggable:a,onError:c,updateNodePositions:f,nodeLookup:d,nodeOrigin:m}=e.getState(),p=new Map,g=j2(a),v=s?l[0]:5,S=s?l[1]:5,w=n.direction.x*v*n.factor,b=n.direction.y*S*n.factor;for(const[,k]of d){if(!g(k))continue;let _={x:k.internals.positionAbsolute.x+w,y:k.internals.positionAbsolute.y+b};s&&(_=zs(_,l));const{position:E,positionAbsolute:N}=gw({nodeId:k.id,nextPosition:_,nodeLookup:d,nodeExtent:i,nodeOrigin:m,onError:c});k.position=E,k.internals.positionAbsolute=N,p.set(k.id,k)}f(p)},[])}const Bh=T.createContext(null),D2=Bh.Provider;Bh.Consumer;const Qw=()=>T.useContext(Bh),$2=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),z2=(e,t,n)=>i=>{const{connectionClickStartHandle:s,connectionMode:l,connection:a}=i,{fromHandle:c,toHandle:f,isValid:d}=a,m=(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===t&&(f==null?void 0:f.type)===n;return{connectingFrom:(c==null?void 0:c.nodeId)===e&&(c==null?void 0:c.id)===t&&(c==null?void 0:c.type)===n,connectingTo:m,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===t&&(s==null?void 0:s.type)===n,isPossibleEndHandle:l===io.Strict?(c==null?void 0:c.type)!==n:e!==(c==null?void 0:c.nodeId)||t!==(c==null?void 0:c.id),connectionInProcess:!!c,clickConnectionInProcess:!!s,valid:m&&d}};function F2({type:e="source",position:t=Se.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:s=!0,isConnectableEnd:l=!0,id:a,onConnect:c,children:f,className:d,onMouseDown:m,onTouchStart:p,...g},v){var G,q;const S=a||null,w=e==="target",b=He(),k=Qw(),{connectOnClick:_,noPanClassName:E,rfId:N}=Oe($2,Ve),{connectingFrom:P,connectingTo:L,clickConnecting:R,isPossibleEndHandle:C,connectionInProcess:O,clickConnectionInProcess:F,valid:M}=Oe(z2(k,S,e),Ve);k||(q=(G=b.getState()).onError)==null||q.call(G,"010",pn.error010());const $=J=>{const{defaultEdgeOptions:Y,onConnect:W,hasDefaultEdges:B}=b.getState(),j={...Y,...J};if(B){const{edges:H,setEdges:V,onError:K}=b.getState();V(x2(j,H,{onError:K}))}W==null||W(j),c==null||c(j)},Z=J=>{if(!k)return;const Y=Ew(J.nativeEvent);if(s&&(Y&&J.button===0||!Y)){const W=b.getState();ch.onPointerDown(J.nativeEvent,{handleDomNode:J.currentTarget,autoPanOnConnect:W.autoPanOnConnect,connectionMode:W.connectionMode,connectionRadius:W.connectionRadius,domNode:W.domNode,nodeLookup:W.nodeLookup,lib:W.lib,isTarget:w,handleId:S,nodeId:k,flowId:W.rfId,panBy:W.panBy,cancelConnection:W.cancelConnection,onConnectStart:W.onConnectStart,onConnectEnd:(...B)=>{var j,H;return(H=(j=b.getState()).onConnectEnd)==null?void 0:H.call(j,...B)},updateConnection:W.updateConnection,onConnect:$,isValidConnection:n||((...B)=>{var j,H;return((H=(j=b.getState()).isValidConnection)==null?void 0:H.call(j,...B))??!0}),getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,autoPanSpeed:W.autoPanSpeed,dragThreshold:W.connectionDragThreshold})}Y?m==null||m(J):p==null||p(J)},D=J=>{const{onClickConnectStart:Y,onClickConnectEnd:W,connectionClickStartHandle:B,connectionMode:j,isValidConnection:H,lib:V,rfId:K,nodeLookup:Q,connection:re}=b.getState();if(!k||!B&&!s)return;if(!B){Y==null||Y(J.nativeEvent,{nodeId:k,handleId:S,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:k,type:e,id:S}});return}const se=Sw(J.target),ee=n||H,{connection:oe,isValid:de}=ch.isValid(J.nativeEvent,{handle:{nodeId:k,id:S,type:e},connectionMode:j,fromNodeId:B.nodeId,fromHandleId:B.id||null,fromType:B.type,isValidConnection:ee,flowId:K,doc:se,lib:V,nodeLookup:Q});de&&oe&&$(oe);const xe=structuredClone(re);delete xe.inProgress,xe.toPosition=xe.toHandle?xe.toHandle.position:null,W==null||W(J,xe),b.setState({connectionClickStartHandle:null})};return A.jsx("div",{"data-handleid":S,"data-nodeid":k,"data-handlepos":t,"data-id":`${N}-${k}-${S}-${e}`,className:tt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",E,d,{source:!w,target:w,connectable:i,connectablestart:s,connectableend:l,clickconnecting:R,connectingfrom:P,connectingto:L,valid:M,connectionindicator:i&&(!O||C)&&(O||F?l:s)}]),onMouseDown:Z,onTouchStart:Z,onClick:_?D:void 0,ref:v,...g,children:f})}const Nr=T.memo(Yw(F2));function B2({data:e,isConnectable:t,sourcePosition:n=Se.Bottom}){return A.jsxs(A.Fragment,{children:[e==null?void 0:e.label,A.jsx(Nr,{type:"source",position:n,isConnectable:t})]})}function V2({data:e,isConnectable:t,targetPosition:n=Se.Top,sourcePosition:i=Se.Bottom}){return A.jsxs(A.Fragment,{children:[A.jsx(Nr,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,A.jsx(Nr,{type:"source",position:i,isConnectable:t})]})}function H2(){return null}function W2({data:e,isConnectable:t,targetPosition:n=Se.Top}){return A.jsxs(A.Fragment,{children:[A.jsx(Nr,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const Qa={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Hy={input:B2,default:V2,output:W2,group:H2};function U2(e){var t,n,i,s;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((i=e.style)==null?void 0:i.width),height:e.height??((s=e.style)==null?void 0:s.height)}}const q2=e=>{const{width:t,height:n,x:i,y:s}=$s(e.nodeLookup,{filter:l=>!!l.selected});return{width:dn(t)?t:null,height:dn(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${i}px,${s}px)`}};function Y2({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const i=He(),{width:s,height:l,transformString:a,userSelectionActive:c}=Oe(q2,Ve),f=Xw(),d=T.useRef(null);T.useEffect(()=>{var v;n||(v=d.current)==null||v.focus({preventScroll:!0})},[n]);const m=!c&&s!==null&&l!==null;if(Gw({nodeRef:d,disabled:!m}),!m)return null;const p=e?v=>{const S=i.getState().nodes.filter(w=>w.selected);e(v,S)}:void 0,g=v=>{Object.prototype.hasOwnProperty.call(Qa,v.key)&&(v.preventDefault(),f({direction:Qa[v.key],factor:v.shiftKey?4:1}))};return A.jsx("div",{className:tt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:A.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:s,height:l}})})}const Wy=typeof window<"u"?window:void 0,K2=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Jw({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:s,onPaneContextMenu:l,onPaneScroll:a,paneClickDistance:c,deleteKeyCode:f,selectionKeyCode:d,selectionOnDrag:m,selectionMode:p,onSelectionStart:g,onSelectionEnd:v,multiSelectionKeyCode:S,panActivationKeyCode:w,zoomActivationKeyCode:b,elementsSelectable:k,zoomOnScroll:_,zoomOnPinch:E,panOnScroll:N,panOnScrollSpeed:P,panOnScrollMode:L,zoomOnDoubleClick:R,panOnDrag:C,autoPanOnSelection:O,defaultViewport:F,translateExtent:M,minZoom:$,maxZoom:Z,preventScrolling:D,onSelectionContextMenu:G,noWheelClassName:q,noPanClassName:J,disableKeyboardA11y:Y,onViewportChange:W,isControlledViewport:B}){const{nodesSelectionActive:j,userSelectionActive:H}=Oe(K2,Ve),V=As(d,{target:Wy}),K=As(w,{target:Wy}),Q=K||C,re=K||N,se=m&&Q!==!0,ee=V||H||se;return I2({deleteKeyCode:f,multiSelectionKeyCode:S}),A.jsx(A2,{onPaneContextMenu:l,elementsSelectable:k,zoomOnScroll:_,zoomOnPinch:E,panOnScroll:re,panOnScrollSpeed:P,panOnScrollMode:L,zoomOnDoubleClick:R,panOnDrag:!V&&Q,defaultViewport:F,translateExtent:M,minZoom:$,maxZoom:Z,zoomActivationKeyCode:b,preventScrolling:D,noWheelClassName:q,noPanClassName:J,onViewportChange:W,isControlledViewport:B,paneClickDistance:c,selectionOnDrag:se,children:A.jsxs(R2,{onSelectionStart:g,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:s,onPaneContextMenu:l,onPaneScroll:a,panOnDrag:Q,autoPanOnSelection:O,isSelecting:!!ee,selectionMode:p,selectionKeyPressed:V,paneClickDistance:c,selectionOnDrag:se,children:[e,j&&A.jsx(Y2,{onSelectionContextMenu:G,noPanClassName:J,disableKeyboardA11y:Y})]})})}Jw.displayName="FlowRenderer";const G2=T.memo(Jw),X2=e=>t=>e?Ah(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function Q2(e){return Oe(T.useCallback(X2(e),[e]),Ve)}const J2=e=>e.updateNodeInternals;function Z2(){const e=Oe(J2),[t]=T.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const i=new Map;n.forEach(s=>{const l=s.target.getAttribute("data-id");i.set(l,{id:l,nodeElement:s.target,force:!0})}),e(i)}));return T.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function eI({node:e,nodeType:t,hasDimensions:n,resizeObserver:i}){const s=He(),l=T.useRef(null),a=T.useRef(null),c=T.useRef(e.sourcePosition),f=T.useRef(e.targetPosition),d=T.useRef(t),m=n&&!!e.internals.handleBounds;return T.useEffect(()=>{l.current&&!e.hidden&&(!m||a.current!==l.current)&&(a.current&&(i==null||i.unobserve(a.current)),i==null||i.observe(l.current),a.current=l.current)},[m,e.hidden]),T.useEffect(()=>()=>{a.current&&(i==null||i.unobserve(a.current),a.current=null)},[]),T.useEffect(()=>{if(l.current){const p=d.current!==t,g=c.current!==e.sourcePosition,v=f.current!==e.targetPosition;(p||g||v)&&(d.current=t,c.current=e.sourcePosition,f.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:l.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),l}function tI({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:s,onContextMenu:l,onDoubleClick:a,nodesDraggable:c,elementsSelectable:f,nodesConnectable:d,nodesFocusable:m,resizeObserver:p,noDragClassName:g,noPanClassName:v,disableKeyboardA11y:S,rfId:w,nodeTypes:b,nodeClickDistance:k,onError:_}){const{node:E,internals:N,isParent:P}=Oe(ee=>{const oe=ee.nodeLookup.get(e),de=ee.parentLookup.has(e);return{node:oe,internals:oe.internals,isParent:de}},Ve);let L=E.type||"default",R=(b==null?void 0:b[L])||Hy[L];R===void 0&&(_==null||_("003",pn.error003(L)),L="default",R=(b==null?void 0:b.default)||Hy.default);const C=!!(E.draggable||c&&typeof E.draggable>"u"),O=!!(E.selectable||f&&typeof E.selectable>"u"),F=!!(E.connectable||d&&typeof E.connectable>"u"),M=!!(E.focusable||m&&typeof E.focusable>"u"),$=He(),Z=xw(E),D=eI({node:E,nodeType:L,hasDimensions:Z,resizeObserver:p}),G=Gw({nodeRef:D,disabled:E.hidden||!C,noDragClassName:g,handleSelector:E.dragHandle,nodeId:e,isSelectable:O,nodeClickDistance:k}),q=Xw();if(E.hidden)return null;const J=Jn(E),Y=U2(E),W=O||C||t||n||i||s,B=n?ee=>n(ee,{...N.userNode}):void 0,j=i?ee=>i(ee,{...N.userNode}):void 0,H=s?ee=>s(ee,{...N.userNode}):void 0,V=l?ee=>l(ee,{...N.userNode}):void 0,K=a?ee=>a(ee,{...N.userNode}):void 0,Q=ee=>{const{selectNodesOnDrag:oe,nodeDragThreshold:de}=$.getState();O&&(!oe||!C||de>0)&&fh({id:e,store:$,nodeRef:D}),t&&t(ee,{...N.userNode})},re=ee=>{if(!(kw(ee.nativeEvent)||S)){if(fw.includes(ee.key)&&O){const oe=ee.key==="Escape";fh({id:e,store:$,unselect:oe,nodeRef:D})}else if(C&&E.selected&&Object.prototype.hasOwnProperty.call(Qa,ee.key)){ee.preventDefault();const{ariaLabelConfig:oe}=$.getState();$.setState({ariaLiveMessage:oe["node.a11yDescription.ariaLiveMessage"]({direction:ee.key.replace("Arrow","").toLowerCase(),x:~~N.positionAbsolute.x,y:~~N.positionAbsolute.y})}),q({direction:Qa[ee.key],factor:ee.shiftKey?4:1})}}},se=()=>{var ke;if(S||!((ke=D.current)!=null&&ke.matches(":focus-visible")))return;const{transform:ee,width:oe,height:de,autoPanOnNodeFocus:xe,setCenter:he}=$.getState();if(!xe)return;Ah(new Map([[e,E]]),{x:0,y:0,width:oe,height:de},ee,!0).length>0||he(E.position.x+J.width/2,E.position.y+J.height/2,{zoom:ee[2]})};return A.jsx("div",{className:tt(["react-flow__node",`react-flow__node-${L}`,{[v]:C},E.className,{selected:E.selected,selectable:O,parent:P,draggable:C,dragging:G}]),ref:D,style:{zIndex:N.z,transform:`translate(${N.positionAbsolute.x}px,${N.positionAbsolute.y}px)`,pointerEvents:W?"all":"none",visibility:Z?"visible":"hidden",...E.style,...Y},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:B,onMouseMove:j,onMouseLeave:H,onContextMenu:V,onClick:Q,onDoubleClick:K,onKeyDown:M?re:void 0,tabIndex:M?0:void 0,onFocus:M?se:void 0,role:E.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":S?void 0:`${Hw}-${w}`,"aria-label":E.ariaLabel,...E.domAttributes,children:A.jsx(D2,{value:e,children:A.jsx(R,{id:e,data:E.data,type:L,positionAbsoluteX:N.positionAbsolute.x,positionAbsoluteY:N.positionAbsolute.y,selected:E.selected??!1,selectable:O,draggable:C,deletable:E.deletable??!0,isConnectable:F,sourcePosition:E.sourcePosition,targetPosition:E.targetPosition,dragging:G,dragHandle:E.dragHandle,zIndex:N.z,parentId:E.parentId,...J})})})}var nI=T.memo(tI);const rI=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Zw(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:s,onError:l}=Oe(rI,Ve),a=Q2(e.onlyRenderVisibleElements),c=Z2();return A.jsx("div",{className:"react-flow__nodes",style:yu,children:a.map(f=>A.jsx(nI,{id:f,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:c,nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:l},f))})}Zw.displayName="NodeRenderer";const iI=T.memo(Zw);function oI(e){return Oe(T.useCallback(n=>{if(!e)return n.edges.map(s=>s.id);const i=[];if(n.width&&n.height)for(const s of n.edges){const l=n.nodeLookup.get(s.source),a=n.nodeLookup.get(s.target);l&&a&&eC({sourceNode:l,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&i.push(s.id)}return i},[e]),Ve)}const sI=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return A.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},lI=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return A.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Uy={[Ga.Arrow]:sI,[Ga.ArrowClosed]:lI};function aI(e){const t=He();return T.useMemo(()=>{var s,l;return Object.prototype.hasOwnProperty.call(Uy,e)?Uy[e]:((l=(s=t.getState()).onError)==null||l.call(s,"009",pn.error009(e)),null)},[e])}const uI=({id:e,type:t,color:n,width:i=12.5,height:s=12.5,markerUnits:l="strokeWidth",strokeWidth:a,orient:c="auto-start-reverse"})=>{const f=aI(t);return f?A.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:c,refX:"0",refY:"0",children:A.jsx(f,{color:n,strokeWidth:a})}):null},ex=({defaultColor:e,rfId:t})=>{const n=Oe(l=>l.edges),i=Oe(l=>l.defaultEdgeOptions),s=T.useMemo(()=>aC(n,{id:t,defaultColor:e,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[n,i,t,e]);return s.length?A.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:A.jsx("defs",{children:s.map(l=>A.jsx(uI,{id:l.id,type:l.type,color:l.color,width:l.width,height:l.height,markerUnits:l.markerUnits,strokeWidth:l.strokeWidth,orient:l.orient},l.id))})}):null};ex.displayName="MarkerDefinitions";var cI=T.memo(ex);function tx({x:e,y:t,label:n,labelStyle:i,labelShowBg:s=!0,labelBgStyle:l,labelBgPadding:a=[2,4],labelBgBorderRadius:c=2,children:f,className:d,...m}){const[p,g]=T.useState({x:1,y:0,width:0,height:0}),v=tt(["react-flow__edge-textwrapper",d]),S=T.useRef(null);return T.useEffect(()=>{if(S.current){const w=S.current.getBBox();g({x:w.x,y:w.y,width:w.width,height:w.height})}},[n]),n?A.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...m,children:[s&&A.jsx("rect",{width:p.width+2*a[0],x:-a[0],y:-a[1],height:p.height+2*a[1],className:"react-flow__edge-textbg",style:l,rx:c,ry:c}),A.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:S,style:i,children:n}),f]}):null}tx.displayName="EdgeText";const fI=T.memo(tx);function vu({path:e,labelX:t,labelY:n,label:i,labelStyle:s,labelShowBg:l,labelBgStyle:a,labelBgPadding:c,labelBgBorderRadius:f,interactionWidth:d=20,...m}){return A.jsxs(A.Fragment,{children:[A.jsx("path",{...m,d:e,fill:"none",className:tt(["react-flow__edge-path",m.className])}),d?A.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}):null,i&&dn(t)&&dn(n)?A.jsx(fI,{x:t,y:n,label:i,labelStyle:s,labelShowBg:l,labelBgStyle:a,labelBgPadding:c,labelBgBorderRadius:f}):null]})}function qy({pos:e,x1:t,y1:n,x2:i,y2:s}){return e===Se.Left||e===Se.Right?[.5*(t+i),n]:[t,.5*(n+s)]}function nx({sourceX:e,sourceY:t,sourcePosition:n=Se.Bottom,targetX:i,targetY:s,targetPosition:l=Se.Top}){const[a,c]=qy({pos:n,x1:e,y1:t,x2:i,y2:s}),[f,d]=qy({pos:l,x1:i,y1:s,x2:e,y2:t}),[m,p,g,v]=_w({sourceX:e,sourceY:t,targetX:i,targetY:s,sourceControlX:a,sourceControlY:c,targetControlX:f,targetControlY:d});return[`M${e},${t} C${a},${c} ${f},${d} ${i},${s}`,m,p,g,v]}function rx(e){return T.memo(({id:t,sourceX:n,sourceY:i,targetX:s,targetY:l,sourcePosition:a,targetPosition:c,label:f,labelStyle:d,labelShowBg:m,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:S,markerEnd:w,markerStart:b,interactionWidth:k})=>{const[_,E,N]=nx({sourceX:n,sourceY:i,sourcePosition:a,targetX:s,targetY:l,targetPosition:c}),P=e.isInternal?void 0:t;return A.jsx(vu,{id:P,path:_,labelX:E,labelY:N,label:f,labelStyle:d,labelShowBg:m,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:S,markerEnd:w,markerStart:b,interactionWidth:k})})}const dI=rx({isInternal:!1}),ix=rx({isInternal:!0});dI.displayName="SimpleBezierEdge";ix.displayName="SimpleBezierEdgeInternal";function ox(e){return T.memo(({id:t,sourceX:n,sourceY:i,targetX:s,targetY:l,label:a,labelStyle:c,labelShowBg:f,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:p,style:g,sourcePosition:v=Se.Bottom,targetPosition:S=Se.Top,markerEnd:w,markerStart:b,pathOptions:k,interactionWidth:_})=>{const[E,N,P]=lh({sourceX:n,sourceY:i,sourcePosition:v,targetX:s,targetY:l,targetPosition:S,borderRadius:k==null?void 0:k.borderRadius,offset:k==null?void 0:k.offset,stepPosition:k==null?void 0:k.stepPosition}),L=e.isInternal?void 0:t;return A.jsx(vu,{id:L,path:E,labelX:N,labelY:P,label:a,labelStyle:c,labelShowBg:f,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:p,style:g,markerEnd:w,markerStart:b,interactionWidth:_})})}const sx=ox({isInternal:!1}),lx=ox({isInternal:!0});sx.displayName="SmoothStepEdge";lx.displayName="SmoothStepEdgeInternal";function ax(e){return T.memo(({id:t,...n})=>{var s;const i=e.isInternal?void 0:t;return A.jsx(sx,{...n,id:i,pathOptions:T.useMemo(()=>{var l;return{borderRadius:0,offset:(l=n.pathOptions)==null?void 0:l.offset}},[(s=n.pathOptions)==null?void 0:s.offset])})})}const hI=ax({isInternal:!1}),ux=ax({isInternal:!0});hI.displayName="StepEdge";ux.displayName="StepEdgeInternal";function cx(e){return T.memo(({id:t,sourceX:n,sourceY:i,targetX:s,targetY:l,label:a,labelStyle:c,labelShowBg:f,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:p,style:g,markerEnd:v,markerStart:S,interactionWidth:w})=>{const[b,k,_]=Iw({sourceX:n,sourceY:i,targetX:s,targetY:l}),E=e.isInternal?void 0:t;return A.jsx(vu,{id:E,path:b,labelX:k,labelY:_,label:a,labelStyle:c,labelShowBg:f,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:p,style:g,markerEnd:v,markerStart:S,interactionWidth:w})})}const pI=cx({isInternal:!1}),fx=cx({isInternal:!0});pI.displayName="StraightEdge";fx.displayName="StraightEdgeInternal";function dx(e){return T.memo(({id:t,sourceX:n,sourceY:i,targetX:s,targetY:l,sourcePosition:a=Se.Bottom,targetPosition:c=Se.Top,label:f,labelStyle:d,labelShowBg:m,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:S,markerEnd:w,markerStart:b,pathOptions:k,interactionWidth:_})=>{const[E,N,P]=Nw({sourceX:n,sourceY:i,sourcePosition:a,targetX:s,targetY:l,targetPosition:c,curvature:k==null?void 0:k.curvature}),L=e.isInternal?void 0:t;return A.jsx(vu,{id:L,path:E,labelX:N,labelY:P,label:f,labelStyle:d,labelShowBg:m,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:S,markerEnd:w,markerStart:b,interactionWidth:_})})}const mI=dx({isInternal:!1}),hx=dx({isInternal:!0});mI.displayName="BezierEdge";hx.displayName="BezierEdgeInternal";const Yy={default:hx,straight:fx,step:ux,smoothstep:lx,simplebezier:ix},Ky={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},gI=(e,t,n)=>n===Se.Left?e-t:n===Se.Right?e+t:e,yI=(e,t,n)=>n===Se.Top?e-t:n===Se.Bottom?e+t:e,Gy="react-flow__edgeupdater";function Xy({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:s,onMouseEnter:l,onMouseOut:a,type:c}){return A.jsx("circle",{onMouseDown:s,onMouseEnter:l,onMouseOut:a,className:tt([Gy,`${Gy}-${c}`]),cx:gI(t,i,e),cy:yI(n,i,e),r:i,stroke:"transparent",fill:"transparent"})}function vI({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:s,targetX:l,targetY:a,sourcePosition:c,targetPosition:f,onReconnect:d,onReconnectStart:m,onReconnectEnd:p,setReconnecting:g,setUpdateHover:v}){const S=He(),w=(N,P)=>{if(N.button!==0)return;const{autoPanOnConnect:L,domNode:R,connectionMode:C,connectionRadius:O,lib:F,onConnectStart:M,cancelConnection:$,nodeLookup:Z,rfId:D,panBy:G,updateConnection:q}=S.getState(),J=P.type==="target",Y=(j,H)=>{g(!1),p==null||p(j,n,P.type,H)},W=j=>d==null?void 0:d(n,j),B=(j,H)=>{g(!0),m==null||m(N,n,P.type),M==null||M(j,H)};ch.onPointerDown(N.nativeEvent,{autoPanOnConnect:L,connectionMode:C,connectionRadius:O,domNode:R,handleId:P.id,nodeId:P.nodeId,nodeLookup:Z,isTarget:J,edgeUpdaterType:P.type,lib:F,flowId:D,cancelConnection:$,panBy:G,isValidConnection:(...j)=>{var H,V;return((V=(H=S.getState()).isValidConnection)==null?void 0:V.call(H,...j))??!0},onConnect:W,onConnectStart:B,onConnectEnd:(...j)=>{var H,V;return(V=(H=S.getState()).onConnectEnd)==null?void 0:V.call(H,...j)},onReconnectEnd:Y,updateConnection:q,getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,dragThreshold:S.getState().connectionDragThreshold,handleDomNode:N.currentTarget})},b=N=>w(N,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),k=N=>w(N,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),_=()=>v(!0),E=()=>v(!1);return A.jsxs(A.Fragment,{children:[(e===!0||e==="source")&&A.jsx(Xy,{position:c,centerX:i,centerY:s,radius:t,onMouseDown:b,onMouseEnter:_,onMouseOut:E,type:"source"}),(e===!0||e==="target")&&A.jsx(Xy,{position:f,centerX:l,centerY:a,radius:t,onMouseDown:k,onMouseEnter:_,onMouseOut:E,type:"target"})]})}function wI({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:s,onDoubleClick:l,onContextMenu:a,onMouseEnter:c,onMouseMove:f,onMouseLeave:d,reconnectRadius:m,onReconnect:p,onReconnectStart:g,onReconnectEnd:v,rfId:S,edgeTypes:w,noPanClassName:b,onError:k,disableKeyboardA11y:_}){let E=Oe(he=>he.edgeLookup.get(e));const N=Oe(he=>he.defaultEdgeOptions);E=N?{...N,...E}:E;let P=E.type||"default",L=(w==null?void 0:w[P])||Yy[P];L===void 0&&(k==null||k("011",pn.error011(P)),P="default",L=(w==null?void 0:w.default)||Yy.default);const R=!!(E.focusable||t&&typeof E.focusable>"u"),C=typeof p<"u"&&(E.reconnectable||n&&typeof E.reconnectable>"u"),O=!!(E.selectable||i&&typeof E.selectable>"u"),F=T.useRef(null),[M,$]=T.useState(!1),[Z,D]=T.useState(!1),G=He(),{zIndex:q,sourceX:J,sourceY:Y,targetX:W,targetY:B,sourcePosition:j,targetPosition:H}=Oe(T.useCallback(he=>{const fe=he.nodeLookup.get(E.source),ke=he.nodeLookup.get(E.target);if(!fe||!ke)return{zIndex:E.zIndex,...Ky};const Pe=lC({id:e,sourceNode:fe,targetNode:ke,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:he.connectionMode,onError:k});return{zIndex:ZN({selected:E.selected,zIndex:E.zIndex,sourceNode:fe,targetNode:ke,elevateOnSelect:he.elevateEdgesOnSelect,zIndexMode:he.zIndexMode}),...Pe||Ky}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),Ve),V=T.useMemo(()=>E.markerStart?`url('#${ah(E.markerStart,S)}')`:void 0,[E.markerStart,S]),K=T.useMemo(()=>E.markerEnd?`url('#${ah(E.markerEnd,S)}')`:void 0,[E.markerEnd,S]);if(E.hidden||J===null||Y===null||W===null||B===null)return null;const Q=he=>{var Ae;const{addSelectedEdges:fe,unselectNodesAndEdges:ke,multiSelectionActive:Pe}=G.getState();O&&(G.setState({nodesSelectionActive:!1}),E.selected&&Pe?(ke({nodes:[],edges:[E]}),(Ae=F.current)==null||Ae.blur()):fe([e])),s&&s(he,E)},re=l?he=>{l(he,{...E})}:void 0,se=a?he=>{a(he,{...E})}:void 0,ee=c?he=>{c(he,{...E})}:void 0,oe=f?he=>{f(he,{...E})}:void 0,de=d?he=>{d(he,{...E})}:void 0,xe=he=>{var fe;if(!_&&fw.includes(he.key)&&O){const{unselectNodesAndEdges:ke,addSelectedEdges:Pe}=G.getState();he.key==="Escape"?((fe=F.current)==null||fe.blur(),ke({edges:[E]})):Pe([e])}};return A.jsx("svg",{style:{zIndex:q},children:A.jsxs("g",{className:tt(["react-flow__edge",`react-flow__edge-${P}`,E.className,b,{selected:E.selected,animated:E.animated,inactive:!O&&!s,updating:M,selectable:O}]),onClick:Q,onDoubleClick:re,onContextMenu:se,onMouseEnter:ee,onMouseMove:oe,onMouseLeave:de,onKeyDown:R?xe:void 0,tabIndex:R?0:void 0,role:E.ariaRole??(R?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":R?`${Ww}-${S}`:void 0,ref:F,...E.domAttributes,children:[!Z&&A.jsx(L,{id:e,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:O,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:J,sourceY:Y,targetX:W,targetY:B,sourcePosition:j,targetPosition:H,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:V,markerEnd:K,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),C&&A.jsx(vI,{edge:E,isReconnectable:C,reconnectRadius:m,onReconnect:p,onReconnectStart:g,onReconnectEnd:v,sourceX:J,sourceY:Y,targetX:W,targetY:B,sourcePosition:j,targetPosition:H,setUpdateHover:$,setReconnecting:D})]})})}var xI=T.memo(wI);const bI=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function px({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:i,noPanClassName:s,onReconnect:l,onEdgeContextMenu:a,onEdgeMouseEnter:c,onEdgeMouseMove:f,onEdgeMouseLeave:d,onEdgeClick:m,reconnectRadius:p,onEdgeDoubleClick:g,onReconnectStart:v,onReconnectEnd:S,disableKeyboardA11y:w}){const{edgesFocusable:b,edgesReconnectable:k,elementsSelectable:_,onError:E}=Oe(bI,Ve),N=oI(t);return A.jsxs("div",{className:"react-flow__edges",children:[A.jsx(cI,{defaultColor:e,rfId:n}),N.map(P=>A.jsx(xI,{id:P,edgesFocusable:b,edgesReconnectable:k,elementsSelectable:_,noPanClassName:s,onReconnect:l,onContextMenu:a,onMouseEnter:c,onMouseMove:f,onMouseLeave:d,onClick:m,reconnectRadius:p,onDoubleClick:g,onReconnectStart:v,onReconnectEnd:S,rfId:n,onError:E,edgeTypes:i,disableKeyboardA11y:w},P))]})}px.displayName="EdgeRenderer";const SI=T.memo(px),kI=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function EI({children:e}){const t=Oe(kI);return A.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function _I(e){const t=Fh(),n=T.useRef(!1);T.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const NI=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function CI(e){const t=Oe(NI),n=He();return T.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function II(e){return e.connection.inProgress?{...e.connection,to:mo(e.connection.to,e.transform)}:{...e.connection}}function TI(e){return II}function PI(e){const t=TI();return Oe(t,Ve)}const AI=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function OI({containerStyle:e,style:t,type:n,component:i}){const{nodesConnectable:s,width:l,height:a,isValid:c,inProgress:f}=Oe(AI,Ve);return!(l&&s&&f)?null:A.jsx("svg",{style:e,width:l,height:a,className:"react-flow__connectionline react-flow__container",children:A.jsx("g",{className:tt(["react-flow__connection",pw(c)]),children:A.jsx(mx,{style:t,type:n,CustomComponent:i,isValid:c})})})}const mx=({style:e,type:t=_r.Bezier,CustomComponent:n,isValid:i})=>{const{inProgress:s,from:l,fromNode:a,fromHandle:c,fromPosition:f,to:d,toNode:m,toHandle:p,toPosition:g,pointer:v}=PI();if(!s)return;if(n)return A.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:c,fromX:l.x,fromY:l.y,toX:d.x,toY:d.y,fromPosition:f,toPosition:g,connectionStatus:pw(i),toNode:m,toHandle:p,pointer:v});let S="";const w={sourceX:l.x,sourceY:l.y,sourcePosition:f,targetX:d.x,targetY:d.y,targetPosition:g};switch(t){case _r.Bezier:[S]=Nw(w);break;case _r.SimpleBezier:[S]=nx(w);break;case _r.Step:[S]=lh({...w,borderRadius:0});break;case _r.SmoothStep:[S]=lh(w);break;default:[S]=Iw(w)}return A.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:e})};mx.displayName="ConnectionLine";const LI={};function Qy(e=LI){T.useRef(e),He(),T.useEffect(()=>{},[e])}function MI(){He(),T.useRef(!1),T.useEffect(()=>{},[])}function gx({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:i,onEdgeClick:s,onNodeDoubleClick:l,onEdgeDoubleClick:a,onNodeMouseEnter:c,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:m,onSelectionContextMenu:p,onSelectionStart:g,onSelectionEnd:v,connectionLineType:S,connectionLineStyle:w,connectionLineComponent:b,connectionLineContainerStyle:k,selectionKeyCode:_,selectionOnDrag:E,selectionMode:N,multiSelectionKeyCode:P,panActivationKeyCode:L,zoomActivationKeyCode:R,deleteKeyCode:C,onlyRenderVisibleElements:O,elementsSelectable:F,defaultViewport:M,translateExtent:$,minZoom:Z,maxZoom:D,preventScrolling:G,defaultMarkerColor:q,zoomOnScroll:J,zoomOnPinch:Y,panOnScroll:W,panOnScrollSpeed:B,panOnScrollMode:j,zoomOnDoubleClick:H,panOnDrag:V,autoPanOnSelection:K,onPaneClick:Q,onPaneMouseEnter:re,onPaneMouseMove:se,onPaneMouseLeave:ee,onPaneScroll:oe,onPaneContextMenu:de,paneClickDistance:xe,nodeClickDistance:he,onEdgeContextMenu:fe,onEdgeMouseEnter:ke,onEdgeMouseMove:Pe,onEdgeMouseLeave:Ae,reconnectRadius:$e,onReconnect:yt,onReconnectStart:kt,onReconnectEnd:ft,noDragClassName:dt,noWheelClassName:Mn,noPanClassName:wn,disableKeyboardA11y:xn,nodeExtent:Et,rfId:Ht,viewport:Lt,onViewportChange:Wt}){return Qy(e),Qy(t),MI(),_I(n),CI(Lt),A.jsx(G2,{onPaneClick:Q,onPaneMouseEnter:re,onPaneMouseMove:se,onPaneMouseLeave:ee,onPaneContextMenu:de,onPaneScroll:oe,paneClickDistance:xe,deleteKeyCode:C,selectionKeyCode:_,selectionOnDrag:E,selectionMode:N,onSelectionStart:g,onSelectionEnd:v,multiSelectionKeyCode:P,panActivationKeyCode:L,zoomActivationKeyCode:R,elementsSelectable:F,zoomOnScroll:J,zoomOnPinch:Y,zoomOnDoubleClick:H,panOnScroll:W,panOnScrollSpeed:B,panOnScrollMode:j,panOnDrag:V,autoPanOnSelection:K,defaultViewport:M,translateExtent:$,minZoom:Z,maxZoom:D,onSelectionContextMenu:p,preventScrolling:G,noDragClassName:dt,noWheelClassName:Mn,noPanClassName:wn,disableKeyboardA11y:xn,onViewportChange:Wt,isControlledViewport:!!Lt,children:A.jsxs(EI,{children:[A.jsx(SI,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:a,onReconnect:yt,onReconnectStart:kt,onReconnectEnd:ft,onlyRenderVisibleElements:O,onEdgeContextMenu:fe,onEdgeMouseEnter:ke,onEdgeMouseMove:Pe,onEdgeMouseLeave:Ae,reconnectRadius:$e,defaultMarkerColor:q,noPanClassName:wn,disableKeyboardA11y:xn,rfId:Ht}),A.jsx(OI,{style:w,type:S,component:b,containerStyle:k}),A.jsx("div",{className:"react-flow__edgelabel-renderer"}),A.jsx(iI,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:m,nodeClickDistance:he,onlyRenderVisibleElements:O,noPanClassName:wn,noDragClassName:dt,disableKeyboardA11y:xn,nodeExtent:Et,rfId:Ht}),A.jsx("div",{className:"react-flow__viewport-portal"})]})})}gx.displayName="GraphView";const RI=T.memo(gx),jI=ww(),Jy=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:s,height:l,fitView:a,fitViewOptions:c,minZoom:f=.5,maxZoom:d=2,nodeOrigin:m,nodeExtent:p,zIndexMode:g="basic"}={})=>{const v=new Map,S=new Map,w=new Map,b=new Map,k=i??t??[],_=n??e??[],E=m??[0,0],N=p??Cs;Aw(w,b,k);const{nodesInitialized:P}=uh(_,v,S,{nodeOrigin:E,nodeExtent:N,zIndexMode:g});let L=[0,0,1];if(a&&s&&l){const R=$s(v,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:C,y:O,zoom:F}=Lh(R,s,l,f,d,(c==null?void 0:c.padding)??.1);L=[C,O,F]}return{rfId:"1",width:s??0,height:l??0,transform:L,nodes:_,nodesInitialized:P,nodeLookup:v,parentLookup:S,edges:k,edgeLookup:b,connectionLookup:w,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:f,maxZoom:d,translateExtent:Cs,nodeExtent:N,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:io.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:E,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:c,fitViewResolver:null,connection:{...hw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:jI,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:dw,zIndexMode:g,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},DI=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:s,height:l,fitView:a,fitViewOptions:c,minZoom:f,maxZoom:d,nodeOrigin:m,nodeExtent:p,zIndexMode:g})=>XC((v,S)=>{async function w(){const{nodeLookup:b,panZoom:k,fitViewOptions:_,fitViewResolver:E,width:N,height:P,minZoom:L,maxZoom:R}=S();k&&(await qN({nodes:b,width:N,height:P,panZoom:k,minZoom:L,maxZoom:R},_),E==null||E.resolve(!0),v({fitViewResolver:null}))}return{...Jy({nodes:e,edges:t,width:s,height:l,fitView:a,fitViewOptions:c,minZoom:f,maxZoom:d,nodeOrigin:m,nodeExtent:p,defaultNodes:n,defaultEdges:i,zIndexMode:g}),setNodes:b=>{const{nodeLookup:k,parentLookup:_,nodeOrigin:E,elevateNodesOnSelect:N,fitViewQueued:P,zIndexMode:L,nodesSelectionActive:R}=S(),{nodesInitialized:C,hasSelectedNodes:O}=uh(b,k,_,{nodeOrigin:E,nodeExtent:p,elevateNodesOnSelect:N,checkEquality:!0,zIndexMode:L}),F=R&&O;P&&C?(w(),v({nodes:b,nodesInitialized:C,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:F})):v({nodes:b,nodesInitialized:C,nodesSelectionActive:F})},setEdges:b=>{const{connectionLookup:k,edgeLookup:_}=S();Aw(k,_,b),v({edges:b})},setDefaultNodesAndEdges:(b,k)=>{if(b){const{setNodes:_}=S();_(b),v({hasDefaultNodes:!0})}if(k){const{setEdges:_}=S();_(k),v({hasDefaultEdges:!0})}},updateNodeInternals:b=>{const{triggerNodeChanges:k,nodeLookup:_,parentLookup:E,domNode:N,nodeOrigin:P,nodeExtent:L,debug:R,fitViewQueued:C,zIndexMode:O}=S(),{changes:F,updatedInternals:M}=mC(b,_,E,N,P,L,O);M&&(fC(_,E,{nodeOrigin:P,nodeExtent:L,zIndexMode:O}),C?(w(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(F==null?void 0:F.length)>0&&(R&&console.log("React Flow: trigger node changes",F),k==null||k(F)))},updateNodePositions:(b,k=!1)=>{const _=[];let E=[];const{nodeLookup:N,triggerNodeChanges:P,connection:L,updateConnection:R,onNodesChangeMiddlewareMap:C}=S();for(const[O,F]of b){const M=N.get(O),$=!!(M!=null&&M.expandParent&&(M!=null&&M.parentId)&&(F!=null&&F.position)),Z={id:O,type:"position",position:$?{x:Math.max(0,F.position.x),y:Math.max(0,F.position.y)}:F.position,dragging:k};if(M&&L.inProgress&&L.fromNode.id===M.id){const D=li(M,L.fromHandle,Se.Left,!0);R({...L,from:D})}$&&M.parentId&&_.push({id:O,parentId:M.parentId,rect:{...F.internals.positionAbsolute,width:F.measured.width??0,height:F.measured.height??0}}),E.push(Z)}if(_.length>0){const{parentLookup:O,nodeOrigin:F}=S(),M=zh(_,N,O,F);E.push(...M)}for(const O of C.values())E=O(E);P(E)},triggerNodeChanges:b=>{const{onNodesChange:k,setNodes:_,nodes:E,hasDefaultNodes:N,debug:P}=S();if(b!=null&&b.length){if(N){const L=y2(b,E);_(L)}P&&console.log("React Flow: trigger node changes",b),k==null||k(b)}},triggerEdgeChanges:b=>{const{onEdgesChange:k,setEdges:_,edges:E,hasDefaultEdges:N,debug:P}=S();if(b!=null&&b.length){if(N){const L=v2(b,E);_(L)}P&&console.log("React Flow: trigger edge changes",b),k==null||k(b)}},addSelectedNodes:b=>{const{multiSelectionActive:k,edgeLookup:_,nodeLookup:E,triggerNodeChanges:N,triggerEdgeChanges:P}=S();if(k){const L=b.map(R=>Xr(R,!0));N(L);return}N(Yi(E,new Set([...b]),!0)),P(Yi(_))},addSelectedEdges:b=>{const{multiSelectionActive:k,edgeLookup:_,nodeLookup:E,triggerNodeChanges:N,triggerEdgeChanges:P}=S();if(k){const L=b.map(R=>Xr(R,!0));P(L);return}P(Yi(_,new Set([...b]))),N(Yi(E,new Set,!0))},unselectNodesAndEdges:({nodes:b,edges:k}={})=>{const{edges:_,nodes:E,nodeLookup:N,triggerNodeChanges:P,triggerEdgeChanges:L}=S(),R=b||E,C=k||_,O=[];for(const M of R){if(!M.selected)continue;const $=N.get(M.id);$&&($.selected=!1),O.push(Xr(M.id,!1))}const F=[];for(const M of C)M.selected&&F.push(Xr(M.id,!1));P(O),L(F)},setMinZoom:b=>{const{panZoom:k,maxZoom:_}=S();k==null||k.setScaleExtent([b,_]),v({minZoom:b})},setMaxZoom:b=>{const{panZoom:k,minZoom:_}=S();k==null||k.setScaleExtent([_,b]),v({maxZoom:b})},setTranslateExtent:b=>{var k;(k=S().panZoom)==null||k.setTranslateExtent(b),v({translateExtent:b})},resetSelectedElements:()=>{const{edges:b,nodes:k,triggerNodeChanges:_,triggerEdgeChanges:E,elementsSelectable:N}=S();if(!N)return;const P=k.reduce((R,C)=>C.selected?[...R,Xr(C.id,!1)]:R,[]),L=b.reduce((R,C)=>C.selected?[...R,Xr(C.id,!1)]:R,[]);_(P),E(L)},setNodeExtent:b=>{const{nodes:k,nodeLookup:_,parentLookup:E,nodeOrigin:N,elevateNodesOnSelect:P,nodeExtent:L,zIndexMode:R}=S();b[0][0]===L[0][0]&&b[0][1]===L[0][1]&&b[1][0]===L[1][0]&&b[1][1]===L[1][1]||(uh(k,_,E,{nodeOrigin:N,nodeExtent:b,elevateNodesOnSelect:P,checkEquality:!1,zIndexMode:R}),v({nodeExtent:b}))},panBy:b=>{const{transform:k,width:_,height:E,panZoom:N,translateExtent:P}=S();return gC({delta:b,panZoom:N,transform:k,translateExtent:P,width:_,height:E})},setCenter:async(b,k,_)=>{const{width:E,height:N,maxZoom:P,panZoom:L}=S();if(!L)return!1;const R=typeof(_==null?void 0:_.zoom)<"u"?_.zoom:P;return await L.setViewport({x:E/2-b*R,y:N/2-k*R,zoom:R},{duration:_==null?void 0:_.duration,ease:_==null?void 0:_.ease,interpolate:_==null?void 0:_.interpolate}),!0},cancelConnection:()=>{v({connection:{...hw}})},updateConnection:b=>{v({connection:b})},reset:()=>v({...Jy()})}},Object.is);function yx({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:i,initialWidth:s,initialHeight:l,initialMinZoom:a,initialMaxZoom:c,initialFitViewOptions:f,fitView:d,nodeOrigin:m,nodeExtent:p,zIndexMode:g,children:v}){const[S]=T.useState(()=>DI({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:s,height:l,fitView:d,minZoom:a,maxZoom:c,fitViewOptions:f,nodeOrigin:m,nodeExtent:p,zIndexMode:g}));return A.jsx(QC,{value:S,children:A.jsx(E2,{children:v})})}function $I({children:e,nodes:t,edges:n,defaultNodes:i,defaultEdges:s,width:l,height:a,fitView:c,fitViewOptions:f,minZoom:d,maxZoom:m,nodeOrigin:p,nodeExtent:g,zIndexMode:v}){return T.useContext(mu)?A.jsx(A.Fragment,{children:e}):A.jsx(yx,{initialNodes:t,initialEdges:n,defaultNodes:i,defaultEdges:s,initialWidth:l,initialHeight:a,fitView:c,initialFitViewOptions:f,initialMinZoom:d,initialMaxZoom:m,nodeOrigin:p,nodeExtent:g,zIndexMode:v,children:e})}const zI={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function FI({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:s,nodeTypes:l,edgeTypes:a,onNodeClick:c,onEdgeClick:f,onInit:d,onMove:m,onMoveStart:p,onMoveEnd:g,onConnect:v,onConnectStart:S,onConnectEnd:w,onClickConnectStart:b,onClickConnectEnd:k,onNodeMouseEnter:_,onNodeMouseMove:E,onNodeMouseLeave:N,onNodeContextMenu:P,onNodeDoubleClick:L,onNodeDragStart:R,onNodeDrag:C,onNodeDragStop:O,onNodesDelete:F,onEdgesDelete:M,onDelete:$,onSelectionChange:Z,onSelectionDragStart:D,onSelectionDrag:G,onSelectionDragStop:q,onSelectionContextMenu:J,onSelectionStart:Y,onSelectionEnd:W,onBeforeDelete:B,connectionMode:j,connectionLineType:H=_r.Bezier,connectionLineStyle:V,connectionLineComponent:K,connectionLineContainerStyle:Q,deleteKeyCode:re="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:ee=!1,selectionMode:oe=Is.Full,panActivationKeyCode:de="Space",multiSelectionKeyCode:xe=Ps()?"Meta":"Control",zoomActivationKeyCode:he=Ps()?"Meta":"Control",snapToGrid:fe,snapGrid:ke,onlyRenderVisibleElements:Pe=!1,selectNodesOnDrag:Ae,nodesDraggable:$e,autoPanOnNodeFocus:yt,nodesConnectable:kt,nodesFocusable:ft,nodeOrigin:dt=Uw,edgesFocusable:Mn,edgesReconnectable:wn,elementsSelectable:xn=!0,defaultViewport:Et=c2,minZoom:Ht=.5,maxZoom:Lt=2,translateExtent:Wt=Cs,preventScrolling:Ws=!0,nodeExtent:Rn,defaultMarkerColor:Pr="#b1b1b7",zoomOnScroll:Lu=!0,zoomOnPinch:Us=!0,panOnScroll:qs=!1,panOnScrollSpeed:Mu=.5,panOnScrollMode:bo=ni.Free,zoomOnDoubleClick:So=!0,panOnDrag:ko=!0,onPaneClick:Eo,onPaneMouseEnter:_o,onPaneMouseMove:Zn,onPaneMouseLeave:er,onPaneScroll:Ys,onPaneContextMenu:Ks,paneClickDistance:Gs=1,nodeClickDistance:Xs=0,children:Qs,onReconnect:No,onReconnectStart:Js,onReconnectEnd:Ar,onEdgeContextMenu:Co,onEdgeDoubleClick:Or,onEdgeMouseEnter:Ru,onEdgeMouseMove:Lr,onEdgeMouseLeave:ci,reconnectRadius:fi=10,onNodesChange:Io,onEdgesChange:ju,noDragClassName:Du="nodrag",noWheelClassName:$u="nowheel",noPanClassName:bn="nopan",fitView:To,fitViewOptions:Po,connectOnClick:zu,attributionPosition:Zs,proOptions:el,defaultEdgeOptions:tl,elevateNodesOnSelect:nl=!0,elevateEdgesOnSelect:Fu=!1,disableKeyboardA11y:rl=!1,autoPanOnConnect:We,autoPanOnNodeDrag:Bu,autoPanOnSelection:Ao=!0,autoPanSpeed:il,connectionRadius:di,isValidConnection:Vu,onError:ol,style:hi,id:Mt,nodeDragThreshold:Hu,connectionDragThreshold:Rt,viewport:Wu,onViewportChange:Uu,width:qu,height:pi,colorMode:mi="light",debug:Mr,onScroll:jn,ariaLabelConfig:Yu,zIndexMode:sl="basic",...Oo},ll){const Rr=Mt||"1",jr=p2(mi),Ku=T.useCallback(gi=>{gi.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),jn==null||jn(gi)},[jn]);return A.jsx("div",{"data-testid":"rf__wrapper",...Oo,onScroll:Ku,style:{...hi,...zI},ref:ll,className:tt(["react-flow",s,jr]),id:Mt,role:"application",children:A.jsxs($I,{nodes:e,edges:t,width:qu,height:pi,fitView:To,fitViewOptions:Po,minZoom:Ht,maxZoom:Lt,nodeOrigin:dt,nodeExtent:Rn,zIndexMode:sl,children:[A.jsx(h2,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:v,onConnectStart:S,onConnectEnd:w,onClickConnectStart:b,onClickConnectEnd:k,nodesDraggable:$e,autoPanOnNodeFocus:yt,nodesConnectable:kt,nodesFocusable:ft,edgesFocusable:Mn,edgesReconnectable:wn,elementsSelectable:xn,elevateNodesOnSelect:nl,elevateEdgesOnSelect:Fu,minZoom:Ht,maxZoom:Lt,nodeExtent:Rn,onNodesChange:Io,onEdgesChange:ju,snapToGrid:fe,snapGrid:ke,connectionMode:j,translateExtent:Wt,connectOnClick:zu,defaultEdgeOptions:tl,fitView:To,fitViewOptions:Po,onNodesDelete:F,onEdgesDelete:M,onDelete:$,onNodeDragStart:R,onNodeDrag:C,onNodeDragStop:O,onSelectionDrag:G,onSelectionDragStart:D,onSelectionDragStop:q,onMove:m,onMoveStart:p,onMoveEnd:g,noPanClassName:bn,nodeOrigin:dt,rfId:Rr,autoPanOnConnect:We,autoPanOnNodeDrag:Bu,autoPanSpeed:il,onError:ol,connectionRadius:di,isValidConnection:Vu,selectNodesOnDrag:Ae,nodeDragThreshold:Hu,connectionDragThreshold:Rt,onBeforeDelete:B,debug:Mr,ariaLabelConfig:Yu,zIndexMode:sl}),A.jsx(RI,{onInit:d,onNodeClick:c,onEdgeClick:f,onNodeMouseEnter:_,onNodeMouseMove:E,onNodeMouseLeave:N,onNodeContextMenu:P,onNodeDoubleClick:L,nodeTypes:l,edgeTypes:a,connectionLineType:H,connectionLineStyle:V,connectionLineComponent:K,connectionLineContainerStyle:Q,selectionKeyCode:se,selectionOnDrag:ee,selectionMode:oe,deleteKeyCode:re,multiSelectionKeyCode:xe,panActivationKeyCode:de,zoomActivationKeyCode:he,onlyRenderVisibleElements:Pe,defaultViewport:Et,translateExtent:Wt,minZoom:Ht,maxZoom:Lt,preventScrolling:Ws,zoomOnScroll:Lu,zoomOnPinch:Us,zoomOnDoubleClick:So,panOnScroll:qs,panOnScrollSpeed:Mu,panOnScrollMode:bo,panOnDrag:ko,autoPanOnSelection:Ao,onPaneClick:Eo,onPaneMouseEnter:_o,onPaneMouseMove:Zn,onPaneMouseLeave:er,onPaneScroll:Ys,onPaneContextMenu:Ks,paneClickDistance:Gs,nodeClickDistance:Xs,onSelectionContextMenu:J,onSelectionStart:Y,onSelectionEnd:W,onReconnect:No,onReconnectStart:Js,onReconnectEnd:Ar,onEdgeContextMenu:Co,onEdgeDoubleClick:Or,onEdgeMouseEnter:Ru,onEdgeMouseMove:Lr,onEdgeMouseLeave:ci,reconnectRadius:fi,defaultMarkerColor:Pr,noDragClassName:Du,noWheelClassName:$u,noPanClassName:bn,rfId:Rr,disableKeyboardA11y:rl,nodeExtent:Rn,viewport:Wu,onViewportChange:Uu}),A.jsx(u2,{onSelectionChange:Z}),Qs,A.jsx(i2,{proOptions:el,position:Zs}),A.jsx(r2,{rfId:Rr,disableKeyboardA11y:rl})]})})}var BI=Yw(FI);function VI({dimensions:e,lineWidth:t,variant:n,className:i}){return A.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:tt(["react-flow__background-pattern",n,i])})}function HI({radius:e,className:t}){return A.jsx("circle",{cx:e,cy:e,r:e,className:tt(["react-flow__background-pattern","dots",t])})}var Gn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Gn||(Gn={}));const WI={[Gn.Dots]:1,[Gn.Lines]:1,[Gn.Cross]:6},UI=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function vx({id:e,variant:t=Gn.Dots,gap:n=20,size:i,lineWidth:s=1,offset:l=0,color:a,bgColor:c,style:f,className:d,patternClassName:m}){const p=T.useRef(null),{transform:g,patternId:v}=Oe(UI,Ve),S=i||WI[t],w=t===Gn.Dots,b=t===Gn.Cross,k=Array.isArray(n)?n:[n,n],_=[k[0]*g[2]||1,k[1]*g[2]||1],E=S*g[2],N=Array.isArray(l)?l:[l,l],P=b?[E,E]:_,L=[N[0]*g[2]||1+P[0]/2,N[1]*g[2]||1+P[1]/2],R=`${v}${e||""}`;return A.jsxs("svg",{className:tt(["react-flow__background",d]),style:{...f,...yu,"--xy-background-color-props":c,"--xy-background-pattern-color-props":a},ref:p,"data-testid":"rf__background",children:[A.jsx("pattern",{id:R,x:g[0]%_[0],y:g[1]%_[1],width:_[0],height:_[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${L[0]},-${L[1]})`,children:w?A.jsx(HI,{radius:E/2,className:m}):A.jsx(VI,{dimensions:P,lineWidth:s,variant:t,className:m})}),A.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${R})`})]})}vx.displayName="Background";const qI=T.memo(vx);function YI(){return A.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:A.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function KI(){return A.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:A.jsx("path",{d:"M0 0h32v4.2H0z"})})}function GI(){return A.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:A.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 XI(){return A.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:A.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 QI(){return A.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:A.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 ya({children:e,className:t,...n}){return A.jsx("button",{type:"button",className:tt(["react-flow__controls-button",t]),...n,children:e})}const JI=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function wx({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:s,onZoomIn:l,onZoomOut:a,onFitView:c,onInteractiveChange:f,className:d,children:m,position:p="bottom-left",orientation:g="vertical","aria-label":v}){const S=He(),{isInteractive:w,minZoomReached:b,maxZoomReached:k,ariaLabelConfig:_}=Oe(JI,Ve),{zoomIn:E,zoomOut:N,fitView:P}=Fh(),L=()=>{E(),l==null||l()},R=()=>{N(),a==null||a()},C=()=>{P(s),c==null||c()},O=()=>{S.setState({nodesDraggable:!w,nodesConnectable:!w,elementsSelectable:!w}),f==null||f(!w)},F=g==="horizontal"?"horizontal":"vertical";return A.jsxs(gu,{className:tt(["react-flow__controls",F,d]),position:p,style:e,"data-testid":"rf__controls","aria-label":v??_["controls.ariaLabel"],children:[t&&A.jsxs(A.Fragment,{children:[A.jsx(ya,{onClick:L,className:"react-flow__controls-zoomin",title:_["controls.zoomIn.ariaLabel"],"aria-label":_["controls.zoomIn.ariaLabel"],disabled:k,children:A.jsx(YI,{})}),A.jsx(ya,{onClick:R,className:"react-flow__controls-zoomout",title:_["controls.zoomOut.ariaLabel"],"aria-label":_["controls.zoomOut.ariaLabel"],disabled:b,children:A.jsx(KI,{})})]}),n&&A.jsx(ya,{className:"react-flow__controls-fitview",onClick:C,title:_["controls.fitView.ariaLabel"],"aria-label":_["controls.fitView.ariaLabel"],children:A.jsx(GI,{})}),i&&A.jsx(ya,{className:"react-flow__controls-interactive",onClick:O,title:_["controls.interactive.ariaLabel"],"aria-label":_["controls.interactive.ariaLabel"],children:w?A.jsx(QI,{}):A.jsx(XI,{})}),m]})}wx.displayName="Controls";const ZI=T.memo(wx);function eT({id:e,x:t,y:n,width:i,height:s,style:l,color:a,strokeColor:c,strokeWidth:f,className:d,borderRadius:m,shapeRendering:p,selected:g,onClick:v}){const{background:S,backgroundColor:w}=l||{},b=a||S||w;return A.jsx("rect",{className:tt(["react-flow__minimap-node",{selected:g},d]),x:t,y:n,rx:m,ry:m,width:i,height:s,style:{fill:b,stroke:c,strokeWidth:f},shapeRendering:p,onClick:v?k=>v(k,e):void 0})}const tT=T.memo(eT),nT=e=>e.nodes.map(t=>t.id),Hf=e=>e instanceof Function?e:()=>e;function rT({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:s,nodeComponent:l=tT,onClick:a}){const c=Oe(nT,Ve),f=Hf(t),d=Hf(e),m=Hf(n),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return A.jsx(A.Fragment,{children:c.map(g=>A.jsx(oT,{id:g,nodeColorFunc:f,nodeStrokeColorFunc:d,nodeClassNameFunc:m,nodeBorderRadius:i,nodeStrokeWidth:s,NodeComponent:l,onClick:a,shapeRendering:p},g))})}function iT({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:s,nodeStrokeWidth:l,shapeRendering:a,NodeComponent:c,onClick:f}){const{node:d,x:m,y:p,width:g,height:v}=Oe(S=>{const w=S.nodeLookup.get(e);if(!w)return{node:void 0,x:0,y:0,width:0,height:0};const b=w.internals.userNode,{x:k,y:_}=w.internals.positionAbsolute,{width:E,height:N}=Jn(b);return{node:b,x:k,y:_,width:E,height:N}},Ve);return!d||d.hidden||!xw(d)?null:A.jsx(c,{x:m,y:p,width:g,height:v,style:d.style,selected:!!d.selected,className:i(d),color:t(d),borderRadius:s,strokeColor:n(d),strokeWidth:l,shapeRendering:a,onClick:f,id:d.id})}const oT=T.memo(iT);var sT=T.memo(rT);const lT=200,aT=150,uT=e=>!e.hidden,cT=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?vw($s(e.nodeLookup,{filter:uT}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},fT="react-flow__minimap-desc";function xx({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:s="",nodeBorderRadius:l=5,nodeStrokeWidth:a,nodeComponent:c,bgColor:f,maskColor:d,maskStrokeColor:m,maskStrokeWidth:p,position:g="bottom-right",onClick:v,onNodeClick:S,pannable:w=!1,zoomable:b=!1,ariaLabel:k,inversePan:_,zoomStep:E=1,offsetScale:N=5}){const P=He(),L=T.useRef(null),{boundingRect:R,viewBB:C,rfId:O,panZoom:F,translateExtent:M,flowWidth:$,flowHeight:Z,ariaLabelConfig:D}=Oe(cT,Ve),G=(e==null?void 0:e.width)??lT,q=(e==null?void 0:e.height)??aT,J=R.width/G,Y=R.height/q,W=Math.max(J,Y),B=W*G,j=W*q,H=N*W,V=R.x-(B-R.width)/2-H,K=R.y-(j-R.height)/2-H,Q=B+H*2,re=j+H*2,se=`${fT}-${O}`,ee=T.useRef(0),oe=T.useRef();ee.current=W,T.useEffect(()=>{if(L.current&&F)return oe.current=_C({domNode:L.current,panZoom:F,getTransform:()=>P.getState().transform,getViewScale:()=>ee.current}),()=>{var fe;(fe=oe.current)==null||fe.destroy()}},[F]),T.useEffect(()=>{var fe;(fe=oe.current)==null||fe.update({translateExtent:M,width:$,height:Z,inversePan:_,pannable:w,zoomStep:E,zoomable:b})},[w,b,_,E,M,$,Z]);const de=v?fe=>{var Ae;const[ke,Pe]=((Ae=oe.current)==null?void 0:Ae.pointer(fe))||[0,0];v(fe,{x:ke,y:Pe})}:void 0,xe=S?T.useCallback((fe,ke)=>{const Pe=P.getState().nodeLookup.get(ke).internals.userNode;S(fe,Pe)},[]):void 0,he=k??D["minimap.ariaLabel"];return A.jsx(gu,{position:g,style:{...e,"--xy-minimap-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*W:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof a=="number"?a:void 0},className:tt(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:A.jsxs("svg",{width:G,height:q,viewBox:`${V} ${K} ${Q} ${re}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":se,ref:L,onClick:de,children:[he&&A.jsx("title",{id:se,children:he}),A.jsx(sT,{onClick:xe,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:l,nodeClassName:s,nodeStrokeWidth:a,nodeComponent:c}),A.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-H},${K-H}h${Q+H*2}v${re+H*2}h${-Q-H*2}z
|
|
62
|
-
M${C.x},${C.y}h${C.width}v${C.height}h${-C.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}xx.displayName="MiniMap";T.memo(xx);const dT=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,hT={[ao.Line]:"right",[ao.Handle]:"bottom-right"};function pT({nodeId:e,position:t,variant:n=ao.Handle,className:i,style:s=void 0,children:l,color:a,minWidth:c=10,minHeight:f=10,maxWidth:d=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:g,autoScale:v=!0,shouldResize:S,onResizeStart:w,onResize:b,onResizeEnd:k}){const _=Qw(),E=typeof e=="string"?e:_,N=He(),P=T.useRef(null),L=n===ao.Handle,R=Oe(T.useCallback(dT(L&&v),[L,v]),Ve),C=T.useRef(null),O=t??hT[n];T.useEffect(()=>{if(!(!P.current||!E))return C.current||(C.current=$C({domNode:P.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:M,transform:$,snapGrid:Z,snapToGrid:D,nodeOrigin:G,domNode:q}=N.getState();return{nodeLookup:M,transform:$,snapGrid:Z,snapToGrid:D,nodeOrigin:G,paneDomNode:q}},onChange:(M,$)=>{const{triggerNodeChanges:Z,nodeLookup:D,parentLookup:G,nodeOrigin:q}=N.getState(),J=[],Y={x:M.x,y:M.y},W=D.get(E);if(W&&W.expandParent&&W.parentId){const B=W.origin??q,j=M.width??W.measured.width??0,H=M.height??W.measured.height??0,V={id:W.id,parentId:W.parentId,rect:{width:j,height:H,...bw({x:M.x??W.position.x,y:M.y??W.position.y},{width:j,height:H},W.parentId,D,B)}},K=zh([V],D,G,q);J.push(...K),Y.x=M.x?Math.max(B[0]*j,M.x):void 0,Y.y=M.y?Math.max(B[1]*H,M.y):void 0}if(Y.x!==void 0&&Y.y!==void 0){const B={id:E,type:"position",position:{...Y}};J.push(B)}if(M.width!==void 0&&M.height!==void 0){const j={id:E,type:"dimensions",resizing:!0,setAttributes:g?g==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};J.push(j)}for(const B of $){const j={...B,type:"position"};J.push(j)}Z(J)},onEnd:({width:M,height:$})=>{const Z={id:E,type:"dimensions",resizing:!1,dimensions:{width:M,height:$}};N.getState().triggerNodeChanges([Z])}})),C.current.update({controlPosition:O,boundaries:{minWidth:c,minHeight:f,maxWidth:d,maxHeight:m},keepAspectRatio:p,resizeDirection:g,onResizeStart:w,onResize:b,onResizeEnd:k,shouldResize:S}),()=>{var M;(M=C.current)==null||M.destroy()}},[O,c,f,d,m,p,w,b,k,S]);const F=O.split("-");return A.jsx("div",{className:tt(["react-flow__resize-control","nodrag",...F,n,i]),ref:P,style:{...s,scale:R,...a&&{[L?"backgroundColor":"borderColor"]:a}},children:l})}T.memo(pT);function bx(e){var t,n,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=bx(e[t]))&&(i&&(i+=" "),i+=n)}else for(n in e)e[n]&&(i&&(i+=" "),i+=n);return i}function Sx(){for(var e,t,n=0,i="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=bx(e))&&(i&&(i+=" "),i+=t);return i}const mT=(e,t)=>{const n=new Array(e.length+t.length);for(let i=0;i<e.length;i++)n[i]=e[i];for(let i=0;i<t.length;i++)n[e.length+i]=t[i];return n},gT=(e,t)=>({classGroupId:e,validator:t}),kx=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ja="-",Zy=[],yT="arbitrary..",vT=e=>{const t=xT(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return wT(a);const c=a.split(Ja),f=c[0]===""&&c.length>1?1:0;return Ex(c,f,t)},getConflictingClassGroupIds:(a,c)=>{if(c){const f=i[a],d=n[a];return f?d?mT(d,f):f:d||Zy}return n[a]||Zy}}},Ex=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const s=e[t],l=n.nextPart.get(s);if(l){const d=Ex(e,t+1,l);if(d)return d}const a=n.validators;if(a===null)return;const c=t===0?e.join(Ja):e.slice(t).join(Ja),f=a.length;for(let d=0;d<f;d++){const m=a[d];if(m.validator(c))return m.classGroupId}},wT=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),i=t.slice(0,n);return i?yT+i:void 0})(),xT=e=>{const{theme:t,classGroups:n}=e;return bT(n,t)},bT=(e,t)=>{const n=kx();for(const i in e){const s=e[i];Vh(s,n,i,t)}return n},Vh=(e,t,n,i)=>{const s=e.length;for(let l=0;l<s;l++){const a=e[l];ST(a,t,n,i)}},ST=(e,t,n,i)=>{if(typeof e=="string"){kT(e,t,n);return}if(typeof e=="function"){ET(e,t,n,i);return}_T(e,t,n,i)},kT=(e,t,n)=>{const i=e===""?t:_x(t,e);i.classGroupId=n},ET=(e,t,n,i)=>{if(NT(e)){Vh(e(i),t,n,i);return}t.validators===null&&(t.validators=[]),t.validators.push(gT(n,e))},_T=(e,t,n,i)=>{const s=Object.entries(e),l=s.length;for(let a=0;a<l;a++){const[c,f]=s[a];Vh(f,_x(t,c),n,i)}},_x=(e,t)=>{let n=e;const i=t.split(Ja),s=i.length;for(let l=0;l<s;l++){const a=i[l];let c=n.nextPart.get(a);c||(c=kx(),n.nextPart.set(a,c)),n=c}return n},NT=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,CT=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),i=Object.create(null);const s=(l,a)=>{n[l]=a,t++,t>e&&(t=0,i=n,n=Object.create(null))};return{get(l){let a=n[l];if(a!==void 0)return a;if((a=i[l])!==void 0)return s(l,a),a},set(l,a){l in n?n[l]=a:s(l,a)}}},dh="!",e0=":",IT=[],t0=(e,t,n,i,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:i,isExternal:s}),TT=e=>{const{prefix:t,experimentalParseClassName:n}=e;let i=s=>{const l=[];let a=0,c=0,f=0,d;const m=s.length;for(let w=0;w<m;w++){const b=s[w];if(a===0&&c===0){if(b===e0){l.push(s.slice(f,w)),f=w+1;continue}if(b==="/"){d=w;continue}}b==="["?a++:b==="]"?a--:b==="("?c++:b===")"&&c--}const p=l.length===0?s:s.slice(f);let g=p,v=!1;p.endsWith(dh)?(g=p.slice(0,-1),v=!0):p.startsWith(dh)&&(g=p.slice(1),v=!0);const S=d&&d>f?d-f:void 0;return t0(l,v,g,S)};if(t){const s=t+e0,l=i;i=a=>a.startsWith(s)?l(a.slice(s.length)):t0(IT,!1,a,void 0,!0)}if(n){const s=i;i=l=>n({className:l,parseClassName:s})}return i},PT=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,i)=>{t.set(n,1e6+i)}),n=>{const i=[];let s=[];for(let l=0;l<n.length;l++){const a=n[l],c=a[0]==="[",f=t.has(a);c||f?(s.length>0&&(s.sort(),i.push(...s),s=[]),i.push(a)):s.push(a)}return s.length>0&&(s.sort(),i.push(...s)),i}},AT=e=>({cache:CT(e.cacheSize),parseClassName:TT(e),sortModifiers:PT(e),postfixLookupClassGroupIds:OT(e),...vT(e)}),OT=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let i=0;i<n.length;i++)t[n[i]]=!0;return t},LT=/\s+/,MT=(e,t)=>{const{parseClassName:n,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:a}=t,c=[],f=e.trim().split(LT);let d="";for(let m=f.length-1;m>=0;m-=1){const p=f[m],{isExternal:g,modifiers:v,hasImportantModifier:S,baseClassName:w,maybePostfixModifierPosition:b}=n(p);if(g){d=p+(d.length>0?" "+d:d);continue}let k=!!b,_;if(k){const R=w.substring(0,b);_=i(R);const C=_&&a[_]?i(w):void 0;C&&C!==_&&(_=C,k=!1)}else _=i(w);if(!_){if(!k){d=p+(d.length>0?" "+d:d);continue}if(_=i(w),!_){d=p+(d.length>0?" "+d:d);continue}k=!1}const E=v.length===0?"":v.length===1?v[0]:l(v).join(":"),N=S?E+dh:E,P=N+_;if(c.indexOf(P)>-1)continue;c.push(P);const L=s(_,k);for(let R=0;R<L.length;++R){const C=L[R];c.push(N+C)}d=p+(d.length>0?" "+d:d)}return d},RT=(...e)=>{let t=0,n,i,s="";for(;t<e.length;)(n=e[t++])&&(i=Nx(n))&&(s&&(s+=" "),s+=i);return s},Nx=e=>{if(typeof e=="string")return e;let t,n="";for(let i=0;i<e.length;i++)e[i]&&(t=Nx(e[i]))&&(n&&(n+=" "),n+=t);return n},jT=(e,...t)=>{let n,i,s,l;const a=f=>{const d=t.reduce((m,p)=>p(m),e());return n=AT(d),i=n.cache.get,s=n.cache.set,l=c,c(f)},c=f=>{const d=i(f);if(d)return d;const m=MT(f,n);return s(f,m),m};return l=a,(...f)=>l(RT(...f))},DT=[],it=e=>{const t=n=>n[e]||DT;return t.isThemeGetter=!0,t},Cx=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ix=/^\((?:(\w[\w-]*):)?(.+)\)$/i,$T=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,zT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,FT=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,BT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,VT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,HT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Sr=e=>$T.test(e),Ie=e=>!!e&&!Number.isNaN(Number(e)),Nn=e=>!!e&&Number.isInteger(Number(e)),Wf=e=>e.endsWith("%")&&Ie(e.slice(0,-1)),qn=e=>zT.test(e),Tx=()=>!0,WT=e=>FT.test(e)&&!BT.test(e),Hh=()=>!1,UT=e=>VT.test(e),qT=e=>HT.test(e),YT=e=>!me(e)&&!ye(e),KT=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),GT=e=>Ir(e,Ox,Hh),me=e=>Cx.test(e),Gr=e=>Ir(e,Lx,WT),n0=e=>Ir(e,rP,Ie),XT=e=>Ir(e,Rx,Tx),QT=e=>Ir(e,Mx,Hh),r0=e=>Ir(e,Px,Hh),JT=e=>Ir(e,Ax,qT),va=e=>Ir(e,jx,UT),ye=e=>Ix.test(e),hs=e=>ui(e,Lx),ZT=e=>ui(e,Mx),i0=e=>ui(e,Px),eP=e=>ui(e,Ox),tP=e=>ui(e,Ax),wa=e=>ui(e,jx,!0),nP=e=>ui(e,Rx,!0),Ir=(e,t,n)=>{const i=Cx.exec(e);return i?i[1]?t(i[1]):n(i[2]):!1},ui=(e,t,n=!1)=>{const i=Ix.exec(e);return i?i[1]?t(i[1]):n:!1},Px=e=>e==="position"||e==="percentage",Ax=e=>e==="image"||e==="url",Ox=e=>e==="length"||e==="size"||e==="bg-size",Lx=e=>e==="length",rP=e=>e==="number",Mx=e=>e==="family-name",Rx=e=>e==="number"||e==="weight",jx=e=>e==="shadow",iP=()=>{const e=it("color"),t=it("font"),n=it("text"),i=it("font-weight"),s=it("tracking"),l=it("leading"),a=it("breakpoint"),c=it("container"),f=it("spacing"),d=it("radius"),m=it("shadow"),p=it("inset-shadow"),g=it("text-shadow"),v=it("drop-shadow"),S=it("blur"),w=it("perspective"),b=it("aspect"),k=it("ease"),_=it("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],P=()=>[...N(),ye,me],L=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],C=()=>[ye,me,f],O=()=>[Sr,"full","auto",...C()],F=()=>[Nn,"none","subgrid",ye,me],M=()=>["auto",{span:["full",Nn,ye,me]},Nn,ye,me],$=()=>[Nn,"auto",ye,me],Z=()=>["auto","min","max","fr",ye,me],D=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...C()],J=()=>[Sr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],Y=()=>[Sr,"screen","full","dvw","lvw","svw","min","max","fit",...C()],W=()=>[Sr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],B=()=>[e,ye,me],j=()=>[...N(),i0,r0,{position:[ye,me]}],H=()=>["no-repeat",{repeat:["","x","y","space","round"]}],V=()=>["auto","cover","contain",eP,GT,{size:[ye,me]}],K=()=>[Wf,hs,Gr],Q=()=>["","none","full",d,ye,me],re=()=>["",Ie,hs,Gr],se=()=>["solid","dashed","dotted","double"],ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],oe=()=>[Ie,Wf,i0,r0],de=()=>["","none",S,ye,me],xe=()=>["none",Ie,ye,me],he=()=>["none",Ie,ye,me],fe=()=>[Ie,ye,me],ke=()=>[Sr,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[qn],breakpoint:[qn],color:[Tx],container:[qn],"drop-shadow":[qn],ease:["in","out","in-out"],font:[YT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[qn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[qn],shadow:[qn],spacing:["px",Ie],text:[qn],"text-shadow":[qn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Sr,me,ye,b]}],container:["container"],"container-type":[{"@container":["","normal","size",ye,me]}],"container-named":[KT],columns:[{columns:[Ie,me,ye,c]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:P()}],overflow:[{overflow:L()}],"overflow-x":[{"overflow-x":L()}],"overflow-y":[{"overflow-y":L()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{"inset-s":O(),start:O()}],end:[{"inset-e":O(),end:O()}],"inset-bs":[{"inset-bs":O()}],"inset-be":[{"inset-be":O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[Nn,"auto",ye,me]}],basis:[{basis:[Sr,"full","auto",c,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ie,Sr,"auto","initial","none",me]}],grow:[{grow:["",Ie,ye,me]}],shrink:[{shrink:["",Ie,ye,me]}],order:[{order:[Nn,"first","last","none",ye,me]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Z()}],"auto-rows":[{"auto-rows":Z()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...D(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...D()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],"inline-size":[{inline:["auto",...Y()]}],"min-inline-size":[{"min-inline":["auto",...Y()]}],"max-inline-size":[{"max-inline":["none",...Y()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[c,"screen",...J()]}],"min-w":[{"min-w":[c,"screen","none",...J()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[a]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",n,hs,Gr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,nP,XT]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Wf,me]}],"font-family":[{font:[ZT,QT,t]}],"font-features":[{"font-features":[me]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,ye,me]}],"line-clamp":[{"line-clamp":[Ie,"none",ye,n0]}],leading:[{leading:[l,...C()]}],"list-image":[{"list-image":["none",ye,me]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ye,me]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:B()}],"text-color":[{text:B()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...se(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ie,"from-font","auto",ye,Gr]}],"text-decoration-color":[{decoration:B()}],"underline-offset":[{"underline-offset":[Ie,"auto",ye,me]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"tab-size":[{tab:[Nn,ye,me]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ye,me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ye,me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:j()}],"bg-repeat":[{bg:H()}],"bg-size":[{bg:V()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Nn,ye,me],radial:["",ye,me],conic:[Nn,ye,me]},tP,JT]}],"bg-color":[{bg:B()}],"gradient-from-pos":[{from:K()}],"gradient-via-pos":[{via:K()}],"gradient-to-pos":[{to:K()}],"gradient-from":[{from:B()}],"gradient-via":[{via:B()}],"gradient-to":[{to:B()}],rounded:[{rounded:Q()}],"rounded-s":[{"rounded-s":Q()}],"rounded-e":[{"rounded-e":Q()}],"rounded-t":[{"rounded-t":Q()}],"rounded-r":[{"rounded-r":Q()}],"rounded-b":[{"rounded-b":Q()}],"rounded-l":[{"rounded-l":Q()}],"rounded-ss":[{"rounded-ss":Q()}],"rounded-se":[{"rounded-se":Q()}],"rounded-ee":[{"rounded-ee":Q()}],"rounded-es":[{"rounded-es":Q()}],"rounded-tl":[{"rounded-tl":Q()}],"rounded-tr":[{"rounded-tr":Q()}],"rounded-br":[{"rounded-br":Q()}],"rounded-bl":[{"rounded-bl":Q()}],"border-w":[{border:re()}],"border-w-x":[{"border-x":re()}],"border-w-y":[{"border-y":re()}],"border-w-s":[{"border-s":re()}],"border-w-e":[{"border-e":re()}],"border-w-bs":[{"border-bs":re()}],"border-w-be":[{"border-be":re()}],"border-w-t":[{"border-t":re()}],"border-w-r":[{"border-r":re()}],"border-w-b":[{"border-b":re()}],"border-w-l":[{"border-l":re()}],"divide-x":[{"divide-x":re()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":re()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...se(),"hidden","none"]}],"divide-style":[{divide:[...se(),"hidden","none"]}],"border-color":[{border:B()}],"border-color-x":[{"border-x":B()}],"border-color-y":[{"border-y":B()}],"border-color-s":[{"border-s":B()}],"border-color-e":[{"border-e":B()}],"border-color-bs":[{"border-bs":B()}],"border-color-be":[{"border-be":B()}],"border-color-t":[{"border-t":B()}],"border-color-r":[{"border-r":B()}],"border-color-b":[{"border-b":B()}],"border-color-l":[{"border-l":B()}],"divide-color":[{divide:B()}],"outline-style":[{outline:[...se(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ie,ye,me]}],"outline-w":[{outline:["",Ie,hs,Gr]}],"outline-color":[{outline:B()}],shadow:[{shadow:["","none",m,wa,va]}],"shadow-color":[{shadow:B()}],"inset-shadow":[{"inset-shadow":["none",p,wa,va]}],"inset-shadow-color":[{"inset-shadow":B()}],"ring-w":[{ring:re()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:B()}],"ring-offset-w":[{"ring-offset":[Ie,Gr]}],"ring-offset-color":[{"ring-offset":B()}],"inset-ring-w":[{"inset-ring":re()}],"inset-ring-color":[{"inset-ring":B()}],"text-shadow":[{"text-shadow":["none",g,wa,va]}],"text-shadow-color":[{"text-shadow":B()}],opacity:[{opacity:[Ie,ye,me]}],"mix-blend":[{"mix-blend":[...ee(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ee()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Ie]}],"mask-image-linear-from-pos":[{"mask-linear-from":oe()}],"mask-image-linear-to-pos":[{"mask-linear-to":oe()}],"mask-image-linear-from-color":[{"mask-linear-from":B()}],"mask-image-linear-to-color":[{"mask-linear-to":B()}],"mask-image-t-from-pos":[{"mask-t-from":oe()}],"mask-image-t-to-pos":[{"mask-t-to":oe()}],"mask-image-t-from-color":[{"mask-t-from":B()}],"mask-image-t-to-color":[{"mask-t-to":B()}],"mask-image-r-from-pos":[{"mask-r-from":oe()}],"mask-image-r-to-pos":[{"mask-r-to":oe()}],"mask-image-r-from-color":[{"mask-r-from":B()}],"mask-image-r-to-color":[{"mask-r-to":B()}],"mask-image-b-from-pos":[{"mask-b-from":oe()}],"mask-image-b-to-pos":[{"mask-b-to":oe()}],"mask-image-b-from-color":[{"mask-b-from":B()}],"mask-image-b-to-color":[{"mask-b-to":B()}],"mask-image-l-from-pos":[{"mask-l-from":oe()}],"mask-image-l-to-pos":[{"mask-l-to":oe()}],"mask-image-l-from-color":[{"mask-l-from":B()}],"mask-image-l-to-color":[{"mask-l-to":B()}],"mask-image-x-from-pos":[{"mask-x-from":oe()}],"mask-image-x-to-pos":[{"mask-x-to":oe()}],"mask-image-x-from-color":[{"mask-x-from":B()}],"mask-image-x-to-color":[{"mask-x-to":B()}],"mask-image-y-from-pos":[{"mask-y-from":oe()}],"mask-image-y-to-pos":[{"mask-y-to":oe()}],"mask-image-y-from-color":[{"mask-y-from":B()}],"mask-image-y-to-color":[{"mask-y-to":B()}],"mask-image-radial":[{"mask-radial":[ye,me]}],"mask-image-radial-from-pos":[{"mask-radial-from":oe()}],"mask-image-radial-to-pos":[{"mask-radial-to":oe()}],"mask-image-radial-from-color":[{"mask-radial-from":B()}],"mask-image-radial-to-color":[{"mask-radial-to":B()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[Ie]}],"mask-image-conic-from-pos":[{"mask-conic-from":oe()}],"mask-image-conic-to-pos":[{"mask-conic-to":oe()}],"mask-image-conic-from-color":[{"mask-conic-from":B()}],"mask-image-conic-to-color":[{"mask-conic-to":B()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:j()}],"mask-repeat":[{mask:H()}],"mask-size":[{mask:V()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ye,me]}],filter:[{filter:["","none",ye,me]}],blur:[{blur:de()}],brightness:[{brightness:[Ie,ye,me]}],contrast:[{contrast:[Ie,ye,me]}],"drop-shadow":[{"drop-shadow":["","none",v,wa,va]}],"drop-shadow-color":[{"drop-shadow":B()}],grayscale:[{grayscale:["",Ie,ye,me]}],"hue-rotate":[{"hue-rotate":[Ie,ye,me]}],invert:[{invert:["",Ie,ye,me]}],saturate:[{saturate:[Ie,ye,me]}],sepia:[{sepia:["",Ie,ye,me]}],"backdrop-filter":[{"backdrop-filter":["","none",ye,me]}],"backdrop-blur":[{"backdrop-blur":de()}],"backdrop-brightness":[{"backdrop-brightness":[Ie,ye,me]}],"backdrop-contrast":[{"backdrop-contrast":[Ie,ye,me]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ie,ye,me]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ie,ye,me]}],"backdrop-invert":[{"backdrop-invert":["",Ie,ye,me]}],"backdrop-opacity":[{"backdrop-opacity":[Ie,ye,me]}],"backdrop-saturate":[{"backdrop-saturate":[Ie,ye,me]}],"backdrop-sepia":[{"backdrop-sepia":["",Ie,ye,me]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ye,me]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ie,"initial",ye,me]}],ease:[{ease:["linear","initial",k,ye,me]}],delay:[{delay:[Ie,ye,me]}],animate:[{animate:["none",_,ye,me]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,ye,me]}],"perspective-origin":[{"perspective-origin":P()}],rotate:[{rotate:xe()}],"rotate-x":[{"rotate-x":xe()}],"rotate-y":[{"rotate-y":xe()}],"rotate-z":[{"rotate-z":xe()}],scale:[{scale:he()}],"scale-x":[{"scale-x":he()}],"scale-y":[{"scale-y":he()}],"scale-z":[{"scale-z":he()}],"scale-3d":["scale-3d"],skew:[{skew:fe()}],"skew-x":[{"skew-x":fe()}],"skew-y":[{"skew-y":fe()}],transform:[{transform:[ye,me,"","none","gpu","cpu"]}],"transform-origin":[{origin:P()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ke()}],"translate-x":[{"translate-x":ke()}],"translate-y":[{"translate-y":ke()}],"translate-z":[{"translate-z":ke()}],"translate-none":["translate-none"],zoom:[{zoom:[Nn,ye,me]}],accent:[{accent:B()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:B()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ye,me]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":B()}],"scrollbar-track-color":[{"scrollbar-track":B()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ye,me]}],fill:[{fill:["none",...B()]}],"stroke-w":[{stroke:[Ie,hs,Gr,n0]}],stroke:[{stroke:["none",...B()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},oP=jT(iP);function at(...e){return oP(Sx(e))}function o0(e){return e?e.replace(/^trigger\./,""):""}function sP({activeView:e,onViewChange:t,liveConnected:n,workflows:i=[],selected:s,onSelect:l,onRun:a}){return A.jsxs("aside",{className:"w-60 shrink-0 bg-bg border-r border-border flex flex-col",children:[A.jsxs("div",{className:"h-12 flex items-center gap-2 px-4 border-b border-border",children:[A.jsx("div",{className:"size-5 rounded bg-fg flex items-center justify-center text-bg text-[10px] font-mono",children:"~/"}),A.jsx("span",{className:"font-semibold tracking-tight",children:"agentic-surfaces"})]}),A.jsx("div",{className:"px-3 pt-3 pb-1 text-[11px] uppercase tracking-wider text-mutedfg",children:"Workflows"}),A.jsxs("nav",{className:"px-2 space-y-0.5",children:[i.length===0&&A.jsx("div",{className:"px-2.5 py-1.5 text-[12px] text-mutedfg",children:"No workflows loaded."}),i.map(c=>A.jsxs("div",{"data-testid":"workflow-item",className:at("group w-full px-2.5 py-1.5 rounded-md flex items-center gap-2 text-[13px] cursor-pointer",c.name===s?"bg-muted":"hover:bg-muted text-mutedfg"),onClick:()=>l==null?void 0:l(c.name),children:[A.jsx("span",{className:at("size-1.5 rounded-full flex-shrink-0",c.name===s?"bg-ok":"bg-border")}),A.jsx("span",{className:"truncate",children:c.name}),c.runnable&&a&&A.jsx("button",{"data-testid":"run-workflow",title:`Run ${c.name}`,onClick:f=>{f.stopPropagation(),a(c.name)},className:"ml-auto text-[11px] font-mono text-mutedfg hover:text-ok px-1 rounded opacity-0 group-hover:opacity-100",children:"▶ run"}),!(c.runnable&&a)&&o0(c.triggerType)&&A.jsx("span",{className:"ml-auto text-[10px] text-mutedfg font-mono",children:o0(c.triggerType)})]},c.name))]}),A.jsx("div",{className:"px-3 pt-5 pb-1 text-[11px] uppercase tracking-wider text-mutedfg",children:"View"}),A.jsxs("nav",{className:"px-2 space-y-0.5",children:[A.jsx("button",{onClick:()=>t("board"),className:at("w-full text-left px-2.5 py-1.5 rounded-md flex items-center gap-2 text-[13px]",e==="board"?"bg-muted":"hover:bg-muted text-mutedfg"),children:"Whiteboard"}),A.jsxs("button",{onClick:()=>t("runs"),className:at("w-full text-left px-2.5 py-1.5 rounded-md flex items-center gap-2 text-[13px]",e==="runs"?"bg-muted":"hover:bg-muted text-mutedfg"),children:["Runs",n&&A.jsx("span",{className:"ml-auto size-1.5 rounded-full bg-ok pulse-dot"})]})]}),A.jsxs("div",{className:"mt-auto p-3 border-t border-border text-[11px] text-mutedfg leading-relaxed",children:[A.jsxs("div",{className:"flex items-center gap-1.5",children:[A.jsx("span",{className:at("size-1.5 rounded-full",n?"bg-ok":"bg-border")}),n?"server connected":"scheduler running"]}),A.jsxs("div",{className:"mt-1 font-mono",children:["no fleet state stored —",A.jsx("br",{}),"surfaces are the source of truth"]})]})]})}function lP({workflow:e,onLoadYaml:t}){const n=(e==null?void 0:e.name)??"no workflow loaded",i=e?`workflows/${e.name}.yaml`:"",[s,l]=T.useState(!1),a=T.useRef(null),c=T.useCallback(()=>{var m;const d=((m=a.current)==null?void 0:m.value)??"";d.trim()&&(t(d),l(!1))},[t]),f=T.useCallback(()=>{l(!1)},[]);return A.jsxs(A.Fragment,{children:[A.jsxs("header",{className:"h-12 shrink-0 bg-bg border-b border-border flex items-center px-4 gap-3",children:[A.jsx("h1",{className:"font-semibold tracking-tight",children:n}),i&&A.jsx("span",{className:"text-[11px] font-mono text-mutedfg px-1.5 py-0.5 bg-muted rounded",children:i}),A.jsx("div",{className:"ml-auto",children:A.jsx("button",{onClick:()=>l(!0),className:"text-[12px] px-2.5 py-1 rounded bg-muted hover:bg-border text-fg transition-colors",children:"Paste YAML"})})]}),s&&A.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-bg/80 z-50",children:A.jsxs("div",{className:"bg-bg border border-border rounded-lg shadow-lg p-4 flex flex-col gap-3 w-[520px] max-w-[90vw]",children:[A.jsxs("div",{className:"flex items-center justify-between",children:[A.jsx("span",{className:"font-semibold text-sm",children:"Paste YAML"}),A.jsx("button",{onClick:f,className:"text-mutedfg hover:text-fg text-lg leading-none","aria-label":"Close",children:"×"})]}),A.jsx("textarea",{ref:a,className:"w-full h-64 font-mono text-[12px] bg-muted border border-border rounded p-2 resize-y focus:outline-none focus:ring-1 focus:ring-primary",placeholder:"Paste your workflow YAML here...",spellCheck:!1}),A.jsxs("div",{className:"flex justify-end gap-2",children:[A.jsx("button",{onClick:f,className:"text-[12px] px-3 py-1.5 rounded bg-muted hover:bg-border text-fg transition-colors",children:"Cancel"}),A.jsx("button",{onClick:c,className:"text-[12px] px-3 py-1.5 rounded bg-primary hover:opacity-90 text-white transition-opacity",children:"Apply"})]})]})})]})}function s0({status:e}){return A.jsx("span",{"data-testid":"status-dot","data-status":e,className:at("size-1.5 rounded-full flex-shrink-0",e==="idle"&&"bg-border",e==="running"&&"bg-run pulse-dot",e==="success"&&"bg-ok",e==="failed"&&"bg-fail")})}function l0({data:e,selected:t}){const{node:n,liveStatus:i="idle"}=e;if(n.type==="agent.run"){const l=i==="running";return A.jsxs("div",{"data-testid":"agent-node","data-node-type":"agent.run","data-live-status":i,className:at("rounded-lg border overflow-hidden cursor-pointer","bg-agentbg border-agent/40",l?"agent-ring agent-live":"agent-ring"),style:{width:220,height:60},onClick:()=>{var a;return(a=e.onNodeClick)==null?void 0:a.call(e,n)},children:[A.jsx("div",{className:"h-1 bg-agent"}),A.jsxs("div",{className:"p-2.5 flex flex-col justify-center",style:{height:"calc(100% - 4px)"},children:[A.jsxs("div",{className:"flex items-center gap-1.5",children:[A.jsx(s0,{status:i}),A.jsx("span",{className:"font-medium text-agent text-[12px]",children:n.id}),A.jsx("span",{className:"ml-auto text-[9px] font-mono uppercase tracking-wide text-agent/70 bg-agent/10 px-1 rounded",children:"agent"})]}),A.jsx("div",{className:"font-mono text-[10px] text-agent/60 mt-0.5",children:n.type})]}),A.jsx(Nr,{type:"target",position:Se.Left,className:"!bg-agent/50"}),A.jsx(Nr,{type:"source",position:Se.Right,className:"!bg-agent/50"})]})}return A.jsxs("div",{"data-testid":"workflow-node","data-node-type":n.type,"data-live-status":i,className:at("rounded-lg border overflow-hidden cursor-pointer bg-bg border-border shadow-sm",t&&"ring-2 ring-fg/20"),style:{width:n.type==="task.branch"||n.type.startsWith("trigger.")?140:220,height:60},onClick:()=>{var l;return(l=e.onNodeClick)==null?void 0:l.call(e,n)},children:[A.jsx("div",{className:"h-1 bg-mutedfg/30"}),A.jsxs("div",{className:"p-2.5 flex flex-col justify-center",style:{height:"calc(100% - 4px)"},children:[A.jsxs("div",{className:"flex items-center gap-1.5",children:[A.jsx(s0,{status:i}),A.jsx("span",{className:"font-medium text-[12px]",children:n.id})]}),A.jsx("div",{className:"font-mono text-[10px] text-mutedfg mt-0.5",children:n.type})]}),A.jsx(Nr,{type:"target",position:Se.Left,className:"!bg-mutedfg/50"}),A.jsx(Nr,{type:"source",position:Se.Right,className:"!bg-mutedfg/50"})]})}var Uf,a0;function Wh(){if(a0)return Uf;a0=1;var e="\0",t="\0",n="";class i{constructor(m){Ze(this,"_isDirected",!0);Ze(this,"_isMultigraph",!1);Ze(this,"_isCompound",!1);Ze(this,"_label");Ze(this,"_defaultNodeLabelFn",()=>{});Ze(this,"_defaultEdgeLabelFn",()=>{});Ze(this,"_nodes",{});Ze(this,"_in",{});Ze(this,"_preds",{});Ze(this,"_out",{});Ze(this,"_sucs",{});Ze(this,"_edgeObjs",{});Ze(this,"_edgeLabels",{});Ze(this,"_nodeCount",0);Ze(this,"_edgeCount",0);Ze(this,"_parent");Ze(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var g=arguments,v=this;return m.forEach(function(S){g.length>1?v.setNode(S,p):v.setNode(S)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=t,this._children[m]={},this._children[t][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var g=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(g),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(g),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=t;else{p+="";for(var g=p;g!==void 0;g=this.parent(g))if(g===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==t)return p}}children(m=t){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===t)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var g of this.successors(m))v.add(g);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var g=this;Object.entries(this._nodes).forEach(function([w,b]){m(w)&&p.setNode(w,b)}),Object.values(this._edgeObjs).forEach(function(w){p.hasNode(w.v)&&p.hasNode(w.w)&&p.setEdge(w,g.edge(w))});var v={};function S(w){var b=g.parent(w);return b===void 0||p.hasNode(b)?(v[w]=b,b):b in v?v[b]:S(b)}return this._isCompound&&p.nodes().forEach(w=>p.setParent(w,S(w))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var g=this,v=arguments;return m.reduce(function(S,w){return v.length>1?g.setEdge(S,w,p):g.setEdge(S,w),w}),this}setEdge(){var m,p,g,v,S=!1,w=arguments[0];typeof w=="object"&&w!==null&&"v"in w?(m=w.v,p=w.w,g=w.name,arguments.length===2&&(v=arguments[1],S=!0)):(m=w,p=arguments[1],g=arguments[3],arguments.length>2&&(v=arguments[2],S=!0)),m=""+m,p=""+p,g!==void 0&&(g=""+g);var b=a(this._isDirected,m,p,g);if(Object.hasOwn(this._edgeLabels,b))return S&&(this._edgeLabels[b]=v),this;if(g!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[b]=S?v:this._defaultEdgeLabelFn(m,p,g);var k=c(this._isDirected,m,p,g);return m=k.v,p=k.w,Object.freeze(k),this._edgeObjs[b]=k,s(this._preds[p],m),s(this._sucs[m],p),this._in[p][b]=k,this._out[m][b]=k,this._edgeCount++,this}edge(m,p,g){var v=arguments.length===1?f(this._isDirected,arguments[0]):a(this._isDirected,m,p,g);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,g){var v=arguments.length===1?f(this._isDirected,arguments[0]):a(this._isDirected,m,p,g);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,g){var v=arguments.length===1?f(this._isDirected,arguments[0]):a(this._isDirected,m,p,g),S=this._edgeObjs[v];return S&&(m=S.v,p=S.w,delete this._edgeLabels[v],delete this._edgeObjs[v],l(this._preds[p],m),l(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var g=this._in[m];if(g){var v=Object.values(g);return p?v.filter(S=>S.v===p):v}}outEdges(m,p){var g=this._out[m];if(g){var v=Object.values(g);return p?v.filter(S=>S.w===p):v}}nodeEdges(m,p){var g=this.inEdges(m,p);if(g)return g.concat(this.outEdges(m,p))}}function s(d,m){d[m]?d[m]++:d[m]=1}function l(d,m){--d[m]||delete d[m]}function a(d,m,p,g){var v=""+m,S=""+p;if(!d&&v>S){var w=v;v=S,S=w}return v+n+S+n+(g===void 0?e:g)}function c(d,m,p,g){var v=""+m,S=""+p;if(!d&&v>S){var w=v;v=S,S=w}var b={v,w:S};return g&&(b.name=g),b}function f(d,m){return a(d,m.v,m.w,m.name)}return Uf=i,Uf}var qf,u0;function aP(){return u0||(u0=1,qf="2.2.4"),qf}var Yf,c0;function uP(){return c0||(c0=1,Yf={Graph:Wh(),version:aP()}),Yf}var Kf,f0;function cP(){if(f0)return Kf;f0=1;var e=Wh();Kf={write:t,read:s};function t(l){var a={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:n(l),edges:i(l)};return l.graph()!==void 0&&(a.value=structuredClone(l.graph())),a}function n(l){return l.nodes().map(function(a){var c=l.node(a),f=l.parent(a),d={v:a};return c!==void 0&&(d.value=c),f!==void 0&&(d.parent=f),d})}function i(l){return l.edges().map(function(a){var c=l.edge(a),f={v:a.v,w:a.w};return a.name!==void 0&&(f.name=a.name),c!==void 0&&(f.value=c),f})}function s(l){var a=new e(l.options).setGraph(l.value);return l.nodes.forEach(function(c){a.setNode(c.v,c.value),c.parent&&a.setParent(c.v,c.parent)}),l.edges.forEach(function(c){a.setEdge({v:c.v,w:c.w,name:c.name},c.value)}),a}return Kf}var Gf,d0;function fP(){if(d0)return Gf;d0=1,Gf=e;function e(t){var n={},i=[],s;function l(a){Object.hasOwn(n,a)||(n[a]=!0,s.push(a),t.successors(a).forEach(l),t.predecessors(a).forEach(l))}return t.nodes().forEach(function(a){s=[],l(a),s.length&&i.push(s)}),i}return Gf}var Xf,h0;function Dx(){if(h0)return Xf;h0=1;class e{constructor(){Ze(this,"_arr",[]);Ze(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var i=this._keyIndices[n];if(i!==void 0)return this._arr[i].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,i){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var l=this._arr,a=l.length;return s[n]=a,l.push({key:n,priority:i}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,i){var s=this._keyIndices[n];if(i>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+i);this._arr[s].priority=i,this._decrease(s)}_heapify(n){var i=this._arr,s=2*n,l=s+1,a=n;s<i.length&&(a=i[s].priority<i[a].priority?s:a,l<i.length&&(a=i[l].priority<i[a].priority?l:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var i=this._arr,s=i[n].priority,l;n!==0&&(l=n>>1,!(i[l].priority<s));)this._swap(n,l),n=l}_swap(n,i){var s=this._arr,l=this._keyIndices,a=s[n],c=s[i];s[n]=c,s[i]=a,l[c.key]=n,l[a.key]=i}}return Xf=e,Xf}var Qf,p0;function $x(){if(p0)return Qf;p0=1;var e=Dx();Qf=n;var t=()=>1;function n(s,l,a,c){return i(s,String(l),a||t,c||function(f){return s.outEdges(f)})}function i(s,l,a,c){var f={},d=new e,m,p,g=function(v){var S=v.v!==m?v.v:v.w,w=f[S],b=a(v),k=p.distance+b;if(b<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+b);k<w.distance&&(w.distance=k,w.predecessor=m,d.decrease(S,k))};for(s.nodes().forEach(function(v){var S=v===l?0:Number.POSITIVE_INFINITY;f[v]={distance:S},d.add(v,S)});d.size()>0&&(m=d.removeMin(),p=f[m],p.distance!==Number.POSITIVE_INFINITY);)c(m).forEach(g);return f}return Qf}var Jf,m0;function dP(){if(m0)return Jf;m0=1;var e=$x();Jf=t;function t(n,i,s){return n.nodes().reduce(function(l,a){return l[a]=e(n,a,i,s),l},{})}return Jf}var Zf,g0;function zx(){if(g0)return Zf;g0=1,Zf=e;function e(t){var n=0,i=[],s={},l=[];function a(c){var f=s[c]={onStack:!0,lowlink:n,index:n++};if(i.push(c),t.successors(c).forEach(function(p){Object.hasOwn(s,p)?s[p].onStack&&(f.lowlink=Math.min(f.lowlink,s[p].index)):(a(p),f.lowlink=Math.min(f.lowlink,s[p].lowlink))}),f.lowlink===f.index){var d=[],m;do m=i.pop(),s[m].onStack=!1,d.push(m);while(c!==m);l.push(d)}}return t.nodes().forEach(function(c){Object.hasOwn(s,c)||a(c)}),l}return Zf}var ed,y0;function hP(){if(y0)return ed;y0=1;var e=zx();ed=t;function t(n){return e(n).filter(function(i){return i.length>1||i.length===1&&n.hasEdge(i[0],i[0])})}return ed}var td,v0;function pP(){if(v0)return td;v0=1,td=t;var e=()=>1;function t(i,s,l){return n(i,s||e,l||function(a){return i.outEdges(a)})}function n(i,s,l){var a={},c=i.nodes();return c.forEach(function(f){a[f]={},a[f][f]={distance:0},c.forEach(function(d){f!==d&&(a[f][d]={distance:Number.POSITIVE_INFINITY})}),l(f).forEach(function(d){var m=d.v===f?d.w:d.v,p=s(d);a[f][m]={distance:p,predecessor:f}})}),c.forEach(function(f){var d=a[f];c.forEach(function(m){var p=a[m];c.forEach(function(g){var v=p[f],S=d[g],w=p[g],b=v.distance+S.distance;b<w.distance&&(w.distance=b,w.predecessor=S.predecessor)})})}),a}return td}var nd,w0;function Fx(){if(w0)return nd;w0=1;function e(n){var i={},s={},l=[];function a(c){if(Object.hasOwn(s,c))throw new t;Object.hasOwn(i,c)||(s[c]=!0,i[c]=!0,n.predecessors(c).forEach(a),delete s[c],l.push(c))}if(n.sinks().forEach(a),Object.keys(i).length!==n.nodeCount())throw new t;return l}class t extends Error{constructor(){super(...arguments)}}return nd=e,e.CycleException=t,nd}var rd,x0;function mP(){if(x0)return rd;x0=1;var e=Fx();rd=t;function t(n){try{e(n)}catch(i){if(i instanceof e.CycleException)return!1;throw i}return!0}return rd}var id,b0;function Bx(){if(b0)return id;b0=1,id=e;function e(s,l,a){Array.isArray(l)||(l=[l]);var c=s.isDirected()?p=>s.successors(p):p=>s.neighbors(p),f=a==="post"?t:n,d=[],m={};return l.forEach(p=>{if(!s.hasNode(p))throw new Error("Graph does not have node: "+p);f(p,c,m,d)}),d}function t(s,l,a,c){for(var f=[[s,!1]];f.length>0;){var d=f.pop();d[1]?c.push(d[0]):Object.hasOwn(a,d[0])||(a[d[0]]=!0,f.push([d[0],!0]),i(l(d[0]),m=>f.push([m,!1])))}}function n(s,l,a,c){for(var f=[s];f.length>0;){var d=f.pop();Object.hasOwn(a,d)||(a[d]=!0,c.push(d),i(l(d),m=>f.push(m)))}}function i(s,l){for(var a=s.length;a--;)l(s[a],a,s);return s}return id}var od,S0;function gP(){if(S0)return od;S0=1;var e=Bx();od=t;function t(n,i){return e(n,i,"post")}return od}var sd,k0;function yP(){if(k0)return sd;k0=1;var e=Bx();sd=t;function t(n,i){return e(n,i,"pre")}return sd}var ld,E0;function vP(){if(E0)return ld;E0=1;var e=Wh(),t=Dx();ld=n;function n(i,s){var l=new e,a={},c=new t,f;function d(p){var g=p.v===f?p.w:p.v,v=c.priority(g);if(v!==void 0){var S=s(p);S<v&&(a[g]=f,c.decrease(g,S))}}if(i.nodeCount()===0)return l;i.nodes().forEach(function(p){c.add(p,Number.POSITIVE_INFINITY),l.setNode(p)}),c.decrease(i.nodes()[0],0);for(var m=!1;c.size()>0;){if(f=c.removeMin(),Object.hasOwn(a,f))l.setEdge(f,a[f]);else{if(m)throw new Error("Input graph is not connected: "+i);m=!0}i.nodeEdges(f).forEach(d)}return l}return ld}var ad,_0;function wP(){return _0||(_0=1,ad={components:fP(),dijkstra:$x(),dijkstraAll:dP(),findCycles:hP(),floydWarshall:pP(),isAcyclic:mP(),postorder:gP(),preorder:yP(),prim:vP(),tarjan:zx(),topsort:Fx()}),ad}var ud,N0;function mn(){if(N0)return ud;N0=1;var e=uP();return ud={Graph:e.Graph,json:cP(),alg:wP(),version:e.version},ud}var cd,C0;function xP(){if(C0)return cd;C0=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,l=s._prev;if(l!==s)return t(l),l}enqueue(s){let l=this._sentinel;s._prev&&s._next&&t(s),s._next=l._next,l._next._prev=s,l._next=s,s._prev=l}toString(){let s=[],l=this._sentinel,a=l._prev;for(;a!==l;)s.push(JSON.stringify(a,n)),a=a._prev;return"["+s.join(", ")+"]"}}function t(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function n(i,s){if(i!=="_next"&&i!=="_prev")return s}return cd=e,cd}var fd,I0;function bP(){if(I0)return fd;I0=1;let e=mn().Graph,t=xP();fd=i;let n=()=>1;function i(d,m){if(d.nodeCount()<=1)return[];let p=a(d,m||n);return s(p.graph,p.buckets,p.zeroIdx).flatMap(v=>d.outEdges(v.v,v.w))}function s(d,m,p){let g=[],v=m[m.length-1],S=m[0],w;for(;d.nodeCount();){for(;w=S.dequeue();)l(d,m,p,w);for(;w=v.dequeue();)l(d,m,p,w);if(d.nodeCount()){for(let b=m.length-2;b>0;--b)if(w=m[b].dequeue(),w){g=g.concat(l(d,m,p,w,!0));break}}}return g}function l(d,m,p,g,v){let S=v?[]:void 0;return d.inEdges(g.v).forEach(w=>{let b=d.edge(w),k=d.node(w.v);v&&S.push({v:w.v,w:w.w}),k.out-=b,c(m,p,k)}),d.outEdges(g.v).forEach(w=>{let b=d.edge(w),k=w.w,_=d.node(k);_.in-=b,c(m,p,_)}),d.removeNode(g.v),S}function a(d,m){let p=new e,g=0,v=0;d.nodes().forEach(b=>{p.setNode(b,{v:b,in:0,out:0})}),d.edges().forEach(b=>{let k=p.edge(b.v,b.w)||0,_=m(b),E=k+_;p.setEdge(b.v,b.w,E),v=Math.max(v,p.node(b.v).out+=_),g=Math.max(g,p.node(b.w).in+=_)});let S=f(v+g+3).map(()=>new t),w=g+1;return p.nodes().forEach(b=>{c(S,w,p.node(b))}),{graph:p,buckets:S,zeroIdx:w}}function c(d,m,p){p.out?p.in?d[p.out-p.in+m].enqueue(p):d[d.length-1].enqueue(p):d[0].enqueue(p)}function f(d){const m=[];for(let p=0;p<d;p++)m.push(p);return m}return fd}var dd,T0;function et(){if(T0)return dd;T0=1;let e=mn().Graph;dd={addBorderNode:m,addDummyNode:t,applyWithChunking:v,asNonCompoundGraph:i,buildLayerMatrix:c,intersectRect:a,mapValues:L,maxRank:S,normalizeRanks:f,notime:k,partition:w,pick:P,predecessorWeights:l,range:N,removeEmptyRanks:d,simplify:n,successorWeights:s,time:b,uniqueId:E,zipObject:R};function t(C,O,F,M){for(var $=M;C.hasNode($);)$=E(M);return F.dummy=O,C.setNode($,F),$}function n(C){let O=new e().setGraph(C.graph());return C.nodes().forEach(F=>O.setNode(F,C.node(F))),C.edges().forEach(F=>{let M=O.edge(F.v,F.w)||{weight:0,minlen:1},$=C.edge(F);O.setEdge(F.v,F.w,{weight:M.weight+$.weight,minlen:Math.max(M.minlen,$.minlen)})}),O}function i(C){let O=new e({multigraph:C.isMultigraph()}).setGraph(C.graph());return C.nodes().forEach(F=>{C.children(F).length||O.setNode(F,C.node(F))}),C.edges().forEach(F=>{O.setEdge(F,C.edge(F))}),O}function s(C){let O=C.nodes().map(F=>{let M={};return C.outEdges(F).forEach($=>{M[$.w]=(M[$.w]||0)+C.edge($).weight}),M});return R(C.nodes(),O)}function l(C){let O=C.nodes().map(F=>{let M={};return C.inEdges(F).forEach($=>{M[$.v]=(M[$.v]||0)+C.edge($).weight}),M});return R(C.nodes(),O)}function a(C,O){let F=C.x,M=C.y,$=O.x-F,Z=O.y-M,D=C.width/2,G=C.height/2;if(!$&&!Z)throw new Error("Not possible to find intersection inside of the rectangle");let q,J;return Math.abs(Z)*D>Math.abs($)*G?(Z<0&&(G=-G),q=G*$/Z,J=G):($<0&&(D=-D),q=D,J=D*Z/$),{x:F+q,y:M+J}}function c(C){let O=N(S(C)+1).map(()=>[]);return C.nodes().forEach(F=>{let M=C.node(F),$=M.rank;$!==void 0&&(O[$][M.order]=F)}),O}function f(C){let O=C.nodes().map(M=>{let $=C.node(M).rank;return $===void 0?Number.MAX_VALUE:$}),F=v(Math.min,O);C.nodes().forEach(M=>{let $=C.node(M);Object.hasOwn($,"rank")&&($.rank-=F)})}function d(C){let O=C.nodes().map(D=>C.node(D).rank),F=v(Math.min,O),M=[];C.nodes().forEach(D=>{let G=C.node(D).rank-F;M[G]||(M[G]=[]),M[G].push(D)});let $=0,Z=C.graph().nodeRankFactor;Array.from(M).forEach((D,G)=>{D===void 0&&G%Z!==0?--$:D!==void 0&&$&&D.forEach(q=>C.node(q).rank+=$)})}function m(C,O,F,M){let $={width:0,height:0};return arguments.length>=4&&($.rank=F,$.order=M),t(C,"border",$,O)}function p(C,O=g){const F=[];for(let M=0;M<C.length;M+=O){const $=C.slice(M,M+O);F.push($)}return F}const g=65535;function v(C,O){if(O.length>g){const F=p(O);return C.apply(null,F.map(M=>C.apply(null,M)))}else return C.apply(null,O)}function S(C){const F=C.nodes().map(M=>{let $=C.node(M).rank;return $===void 0?Number.MIN_VALUE:$});return v(Math.max,F)}function w(C,O){let F={lhs:[],rhs:[]};return C.forEach(M=>{O(M)?F.lhs.push(M):F.rhs.push(M)}),F}function b(C,O){let F=Date.now();try{return O()}finally{console.log(C+" time: "+(Date.now()-F)+"ms")}}function k(C,O){return O()}let _=0;function E(C){var O=++_;return C+(""+O)}function N(C,O,F=1){O==null&&(O=C,C=0);let M=Z=>Z<O;F<0&&(M=Z=>O<Z);const $=[];for(let Z=C;M(Z);Z+=F)$.push(Z);return $}function P(C,O){const F={};for(const M of O)C[M]!==void 0&&(F[M]=C[M]);return F}function L(C,O){let F=O;return typeof O=="string"&&(F=M=>M[O]),Object.entries(C).reduce((M,[$,Z])=>(M[$]=F(Z,$),M),{})}function R(C,O){return C.reduce((F,M,$)=>(F[M]=O[$],F),{})}return dd}var hd,P0;function SP(){if(P0)return hd;P0=1;let e=bP(),t=et().uniqueId;hd={run:n,undo:s};function n(l){(l.graph().acyclicer==="greedy"?e(l,c(l)):i(l)).forEach(f=>{let d=l.edge(f);l.removeEdge(f),d.forwardName=f.name,d.reversed=!0,l.setEdge(f.w,f.v,d,t("rev"))});function c(f){return d=>f.edge(d).weight}}function i(l){let a=[],c={},f={};function d(m){Object.hasOwn(f,m)||(f[m]=!0,c[m]=!0,l.outEdges(m).forEach(p=>{Object.hasOwn(c,p.w)?a.push(p):d(p.w)}),delete c[m])}return l.nodes().forEach(d),a}function s(l){l.edges().forEach(a=>{let c=l.edge(a);if(c.reversed){l.removeEdge(a);let f=c.forwardName;delete c.reversed,delete c.forwardName,l.setEdge(a.w,a.v,c,f)}})}return hd}var pd,A0;function kP(){if(A0)return pd;A0=1;let e=et();pd={run:t,undo:i};function t(s){s.graph().dummyChains=[],s.edges().forEach(l=>n(s,l))}function n(s,l){let a=l.v,c=s.node(a).rank,f=l.w,d=s.node(f).rank,m=l.name,p=s.edge(l),g=p.labelRank;if(d===c+1)return;s.removeEdge(l);let v,S,w;for(w=0,++c;c<d;++w,++c)p.points=[],S={width:0,height:0,edgeLabel:p,edgeObj:l,rank:c},v=e.addDummyNode(s,"edge",S,"_d"),c===g&&(S.width=p.width,S.height=p.height,S.dummy="edge-label",S.labelpos=p.labelpos),s.setEdge(a,v,{weight:p.weight},m),w===0&&s.graph().dummyChains.push(v),a=v;s.setEdge(a,f,{weight:p.weight},m)}function i(s){s.graph().dummyChains.forEach(l=>{let a=s.node(l),c=a.edgeLabel,f;for(s.setEdge(a.edgeObj,c);a.dummy;)f=s.successors(l)[0],s.removeNode(l),c.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(c.x=a.x,c.y=a.y,c.width=a.width,c.height=a.height),l=f,a=s.node(l)})}return pd}var md,O0;function Za(){if(O0)return md;O0=1;const{applyWithChunking:e}=et();md={longestPath:t,slack:n};function t(i){var s={};function l(a){var c=i.node(a);if(Object.hasOwn(s,a))return c.rank;s[a]=!0;let f=i.outEdges(a).map(m=>m==null?Number.POSITIVE_INFINITY:l(m.w)-i.edge(m).minlen);var d=e(Math.min,f);return d===Number.POSITIVE_INFINITY&&(d=0),c.rank=d}i.sources().forEach(l)}function n(i,s){return i.node(s.w).rank-i.node(s.v).rank-i.edge(s).minlen}return md}var gd,L0;function Vx(){if(L0)return gd;L0=1;var e=mn().Graph,t=Za().slack;gd=n;function n(a){var c=new e({directed:!1}),f=a.nodes()[0],d=a.nodeCount();c.setNode(f,{});for(var m,p;i(c,a)<d;)m=s(c,a),p=c.hasNode(m.v)?t(a,m):-t(a,m),l(c,a,p);return c}function i(a,c){function f(d){c.nodeEdges(d).forEach(m=>{var p=m.v,g=d===p?m.w:p;!a.hasNode(g)&&!t(c,m)&&(a.setNode(g,{}),a.setEdge(d,g,{}),f(g))})}return a.nodes().forEach(f),a.nodeCount()}function s(a,c){return c.edges().reduce((d,m)=>{let p=Number.POSITIVE_INFINITY;return a.hasNode(m.v)!==a.hasNode(m.w)&&(p=t(c,m)),p<d[0]?[p,m]:d},[Number.POSITIVE_INFINITY,null])[1]}function l(a,c,f){a.nodes().forEach(d=>c.node(d).rank+=f)}return gd}var yd,M0;function EP(){if(M0)return yd;M0=1;var e=Vx(),t=Za().slack,n=Za().longestPath,i=mn().alg.preorder,s=mn().alg.postorder,l=et().simplify;yd=a,a.initLowLimValues=m,a.initCutValues=c,a.calcCutValue=d,a.leaveEdge=g,a.enterEdge=v,a.exchangeEdges=S;function a(_){_=l(_),n(_);var E=e(_);m(E),c(E,_);for(var N,P;N=g(E);)P=v(E,_,N),S(E,_,N,P)}function c(_,E){var N=s(_,_.nodes());N=N.slice(0,N.length-1),N.forEach(P=>f(_,E,P))}function f(_,E,N){var P=_.node(N),L=P.parent;_.edge(N,L).cutvalue=d(_,E,N)}function d(_,E,N){var P=_.node(N),L=P.parent,R=!0,C=E.edge(N,L),O=0;return C||(R=!1,C=E.edge(L,N)),O=C.weight,E.nodeEdges(N).forEach(F=>{var M=F.v===N,$=M?F.w:F.v;if($!==L){var Z=M===R,D=E.edge(F).weight;if(O+=Z?D:-D,b(_,N,$)){var G=_.edge(N,$).cutvalue;O+=Z?-G:G}}}),O}function m(_,E){arguments.length<2&&(E=_.nodes()[0]),p(_,{},1,E)}function p(_,E,N,P,L){var R=N,C=_.node(P);return E[P]=!0,_.neighbors(P).forEach(O=>{Object.hasOwn(E,O)||(N=p(_,E,N,O,P))}),C.low=R,C.lim=N++,L?C.parent=L:delete C.parent,N}function g(_){return _.edges().find(E=>_.edge(E).cutvalue<0)}function v(_,E,N){var P=N.v,L=N.w;E.hasEdge(P,L)||(P=N.w,L=N.v);var R=_.node(P),C=_.node(L),O=R,F=!1;R.lim>C.lim&&(O=C,F=!0);var M=E.edges().filter($=>F===k(_,_.node($.v),O)&&F!==k(_,_.node($.w),O));return M.reduce(($,Z)=>t(E,Z)<t(E,$)?Z:$)}function S(_,E,N,P){var L=N.v,R=N.w;_.removeEdge(L,R),_.setEdge(P.v,P.w,{}),m(_),c(_,E),w(_,E)}function w(_,E){var N=_.nodes().find(L=>!E.node(L).parent),P=i(_,N);P=P.slice(1),P.forEach(L=>{var R=_.node(L).parent,C=E.edge(L,R),O=!1;C||(C=E.edge(R,L),O=!0),E.node(L).rank=E.node(R).rank+(O?C.minlen:-C.minlen)})}function b(_,E,N){return _.hasEdge(E,N)}function k(_,E,N){return N.low<=E.lim&&E.lim<=N.lim}return yd}var vd,R0;function _P(){if(R0)return vd;R0=1;var e=Za(),t=e.longestPath,n=Vx(),i=EP();vd=s;function s(f){var d=f.graph().ranker;if(d instanceof Function)return d(f);switch(f.graph().ranker){case"network-simplex":c(f);break;case"tight-tree":a(f);break;case"longest-path":l(f);break;case"none":break;default:c(f)}}var l=t;function a(f){t(f),n(f)}function c(f){i(f)}return vd}var wd,j0;function NP(){if(j0)return wd;j0=1,wd=e;function e(i){let s=n(i);i.graph().dummyChains.forEach(l=>{let a=i.node(l),c=a.edgeObj,f=t(i,s,c.v,c.w),d=f.path,m=f.lca,p=0,g=d[p],v=!0;for(;l!==c.w;){if(a=i.node(l),v){for(;(g=d[p])!==m&&i.node(g).maxRank<a.rank;)p++;g===m&&(v=!1)}if(!v){for(;p<d.length-1&&i.node(g=d[p+1]).minRank<=a.rank;)p++;g=d[p]}i.setParent(l,g),l=i.successors(l)[0]}})}function t(i,s,l,a){let c=[],f=[],d=Math.min(s[l].low,s[a].low),m=Math.max(s[l].lim,s[a].lim),p,g;p=l;do p=i.parent(p),c.push(p);while(p&&(s[p].low>d||m>s[p].lim));for(g=p,p=a;(p=i.parent(p))!==g;)f.push(p);return{path:c.concat(f.reverse()),lca:g}}function n(i){let s={},l=0;function a(c){let f=l;i.children(c).forEach(a),s[c]={low:f,lim:l++}}return i.children().forEach(a),s}return wd}var xd,D0;function CP(){if(D0)return xd;D0=1;let e=et();xd={run:t,cleanup:l};function t(a){let c=e.addDummyNode(a,"root",{},"_root"),f=i(a),d=Object.values(f),m=e.applyWithChunking(Math.max,d)-1,p=2*m+1;a.graph().nestingRoot=c,a.edges().forEach(v=>a.edge(v).minlen*=p);let g=s(a)+1;a.children().forEach(v=>n(a,c,p,g,m,f,v)),a.graph().nodeRankFactor=p}function n(a,c,f,d,m,p,g){let v=a.children(g);if(!v.length){g!==c&&a.setEdge(c,g,{weight:0,minlen:f});return}let S=e.addBorderNode(a,"_bt"),w=e.addBorderNode(a,"_bb"),b=a.node(g);a.setParent(S,g),b.borderTop=S,a.setParent(w,g),b.borderBottom=w,v.forEach(k=>{n(a,c,f,d,m,p,k);let _=a.node(k),E=_.borderTop?_.borderTop:k,N=_.borderBottom?_.borderBottom:k,P=_.borderTop?d:2*d,L=E!==N?1:m-p[g]+1;a.setEdge(S,E,{weight:P,minlen:L,nestingEdge:!0}),a.setEdge(N,w,{weight:P,minlen:L,nestingEdge:!0})}),a.parent(g)||a.setEdge(c,S,{weight:0,minlen:m+p[g]})}function i(a){var c={};function f(d,m){var p=a.children(d);p&&p.length&&p.forEach(g=>f(g,m+1)),c[d]=m}return a.children().forEach(d=>f(d,1)),c}function s(a){return a.edges().reduce((c,f)=>c+a.edge(f).weight,0)}function l(a){var c=a.graph();a.removeNode(c.nestingRoot),delete c.nestingRoot,a.edges().forEach(f=>{var d=a.edge(f);d.nestingEdge&&a.removeEdge(f)})}return xd}var bd,$0;function IP(){if($0)return bd;$0=1;let e=et();bd=t;function t(i){function s(l){let a=i.children(l),c=i.node(l);if(a.length&&a.forEach(s),Object.hasOwn(c,"minRank")){c.borderLeft=[],c.borderRight=[];for(let f=c.minRank,d=c.maxRank+1;f<d;++f)n(i,"borderLeft","_bl",l,c,f),n(i,"borderRight","_br",l,c,f)}}i.children().forEach(s)}function n(i,s,l,a,c,f){let d={width:0,height:0,rank:f,borderType:s},m=c[s][f-1],p=e.addDummyNode(i,"border",d,l);c[s][f]=p,i.setParent(p,a),m&&i.setEdge(m,p,{weight:1})}return bd}var Sd,z0;function TP(){if(z0)return Sd;z0=1,Sd={adjust:e,undo:t};function e(f){let d=f.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&n(f)}function t(f){let d=f.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&s(f),(d==="lr"||d==="rl")&&(a(f),n(f))}function n(f){f.nodes().forEach(d=>i(f.node(d))),f.edges().forEach(d=>i(f.edge(d)))}function i(f){let d=f.width;f.width=f.height,f.height=d}function s(f){f.nodes().forEach(d=>l(f.node(d))),f.edges().forEach(d=>{let m=f.edge(d);m.points.forEach(l),Object.hasOwn(m,"y")&&l(m)})}function l(f){f.y=-f.y}function a(f){f.nodes().forEach(d=>c(f.node(d))),f.edges().forEach(d=>{let m=f.edge(d);m.points.forEach(c),Object.hasOwn(m,"x")&&c(m)})}function c(f){let d=f.x;f.x=f.y,f.y=d}return Sd}var kd,F0;function PP(){if(F0)return kd;F0=1;let e=et();kd=t;function t(n){let i={},s=n.nodes().filter(m=>!n.children(m).length),l=s.map(m=>n.node(m).rank),a=e.applyWithChunking(Math.max,l),c=e.range(a+1).map(()=>[]);function f(m){if(i[m])return;i[m]=!0;let p=n.node(m);c[p.rank].push(m),n.successors(m).forEach(f)}return s.sort((m,p)=>n.node(m).rank-n.node(p).rank).forEach(f),c}return kd}var Ed,B0;function AP(){if(B0)return Ed;B0=1;let e=et().zipObject;Ed=t;function t(i,s){let l=0;for(let a=1;a<s.length;++a)l+=n(i,s[a-1],s[a]);return l}function n(i,s,l){let a=e(l,l.map((g,v)=>v)),c=s.flatMap(g=>i.outEdges(g).map(v=>({pos:a[v.w],weight:i.edge(v).weight})).sort((v,S)=>v.pos-S.pos)),f=1;for(;f<l.length;)f<<=1;let d=2*f-1;f-=1;let m=new Array(d).fill(0),p=0;return c.forEach(g=>{let v=g.pos+f;m[v]+=g.weight;let S=0;for(;v>0;)v%2&&(S+=m[v+1]),v=v-1>>1,m[v]+=g.weight;p+=g.weight*S}),p}return Ed}var _d,V0;function OP(){if(V0)return _d;V0=1,_d=e;function e(t,n=[]){return n.map(i=>{let s=t.inEdges(i);if(s.length){let l=s.reduce((a,c)=>{let f=t.edge(c),d=t.node(c.v);return{sum:a.sum+f.weight*d.order,weight:a.weight+f.weight}},{sum:0,weight:0});return{v:i,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:i}})}return _d}var Nd,H0;function LP(){if(H0)return Nd;H0=1;let e=et();Nd=t;function t(s,l){let a={};s.forEach((f,d)=>{let m=a[f.v]={indegree:0,in:[],out:[],vs:[f.v],i:d};f.barycenter!==void 0&&(m.barycenter=f.barycenter,m.weight=f.weight)}),l.edges().forEach(f=>{let d=a[f.v],m=a[f.w];d!==void 0&&m!==void 0&&(m.indegree++,d.out.push(a[f.w]))});let c=Object.values(a).filter(f=>!f.indegree);return n(c)}function n(s){let l=[];function a(f){return d=>{d.merged||(d.barycenter===void 0||f.barycenter===void 0||d.barycenter>=f.barycenter)&&i(f,d)}}function c(f){return d=>{d.in.push(f),--d.indegree===0&&s.push(d)}}for(;s.length;){let f=s.pop();l.push(f),f.in.reverse().forEach(a(f)),f.out.forEach(c(f))}return l.filter(f=>!f.merged).map(f=>e.pick(f,["vs","i","barycenter","weight"]))}function i(s,l){let a=0,c=0;s.weight&&(a+=s.barycenter*s.weight,c+=s.weight),l.weight&&(a+=l.barycenter*l.weight,c+=l.weight),s.vs=l.vs.concat(s.vs),s.barycenter=a/c,s.weight=c,s.i=Math.min(l.i,s.i),l.merged=!0}return Nd}var Cd,W0;function MP(){if(W0)return Cd;W0=1;let e=et();Cd=t;function t(s,l){let a=e.partition(s,S=>Object.hasOwn(S,"barycenter")),c=a.lhs,f=a.rhs.sort((S,w)=>w.i-S.i),d=[],m=0,p=0,g=0;c.sort(i(!!l)),g=n(d,f,g),c.forEach(S=>{g+=S.vs.length,d.push(S.vs),m+=S.barycenter*S.weight,p+=S.weight,g=n(d,f,g)});let v={vs:d.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function n(s,l,a){let c;for(;l.length&&(c=l[l.length-1]).i<=a;)l.pop(),s.push(c.vs),a++;return a}function i(s){return(l,a)=>l.barycenter<a.barycenter?-1:l.barycenter>a.barycenter?1:s?a.i-l.i:l.i-a.i}return Cd}var Id,U0;function RP(){if(U0)return Id;U0=1;let e=OP(),t=LP(),n=MP();Id=i;function i(a,c,f,d){let m=a.children(c),p=a.node(c),g=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,S={};g&&(m=m.filter(_=>_!==g&&_!==v));let w=e(a,m);w.forEach(_=>{if(a.children(_.v).length){let E=i(a,_.v,f,d);S[_.v]=E,Object.hasOwn(E,"barycenter")&&l(_,E)}});let b=t(w,f);s(b,S);let k=n(b,d);if(g&&(k.vs=[g,k.vs,v].flat(!0),a.predecessors(g).length)){let _=a.node(a.predecessors(g)[0]),E=a.node(a.predecessors(v)[0]);Object.hasOwn(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+_.order+E.order)/(k.weight+2),k.weight+=2}return k}function s(a,c){a.forEach(f=>{f.vs=f.vs.flatMap(d=>c[d]?c[d].vs:d)})}function l(a,c){a.barycenter!==void 0?(a.barycenter=(a.barycenter*a.weight+c.barycenter*c.weight)/(a.weight+c.weight),a.weight+=c.weight):(a.barycenter=c.barycenter,a.weight=c.weight)}return Id}var Td,q0;function jP(){if(q0)return Td;q0=1;let e=mn().Graph,t=et();Td=n;function n(s,l,a,c){c||(c=s.nodes());let f=i(s),d=new e({compound:!0}).setGraph({root:f}).setDefaultNodeLabel(m=>s.node(m));return c.forEach(m=>{let p=s.node(m),g=s.parent(m);(p.rank===l||p.minRank<=l&&l<=p.maxRank)&&(d.setNode(m),d.setParent(m,g||f),s[a](m).forEach(v=>{let S=v.v===m?v.w:v.v,w=d.edge(S,m),b=w!==void 0?w.weight:0;d.setEdge(S,m,{weight:s.edge(v).weight+b})}),Object.hasOwn(p,"minRank")&&d.setNode(m,{borderLeft:p.borderLeft[l],borderRight:p.borderRight[l]}))}),d}function i(s){for(var l;s.hasNode(l=t.uniqueId("_root")););return l}return Td}var Pd,Y0;function DP(){if(Y0)return Pd;Y0=1,Pd=e;function e(t,n,i){let s={},l;i.forEach(a=>{let c=t.parent(a),f,d;for(;c;){if(f=t.parent(c),f?(d=s[f],s[f]=c):(d=l,l=c),d&&d!==c){n.setEdge(d,c);return}c=f}})}return Pd}var Ad,K0;function $P(){if(K0)return Ad;K0=1;let e=PP(),t=AP(),n=RP(),i=jP(),s=DP(),l=mn().Graph,a=et();Ad=c;function c(p,g){if(g&&typeof g.customOrder=="function"){g.customOrder(p,c);return}let v=a.maxRank(p),S=f(p,a.range(1,v+1),"inEdges"),w=f(p,a.range(v-1,-1,-1),"outEdges"),b=e(p);if(m(p,b),g&&g.disableOptimalOrderHeuristic)return;let k=Number.POSITIVE_INFINITY,_;for(let E=0,N=0;N<4;++E,++N){d(E%2?S:w,E%4>=2),b=a.buildLayerMatrix(p);let P=t(p,b);P<k&&(N=0,_=Object.assign({},b),k=P)}m(p,_)}function f(p,g,v){const S=new Map,w=(b,k)=>{S.has(b)||S.set(b,[]),S.get(b).push(k)};for(const b of p.nodes()){const k=p.node(b);if(typeof k.rank=="number"&&w(k.rank,b),typeof k.minRank=="number"&&typeof k.maxRank=="number")for(let _=k.minRank;_<=k.maxRank;_++)_!==k.rank&&w(_,b)}return g.map(function(b){return i(p,b,v,S.get(b)||[])})}function d(p,g){let v=new l;p.forEach(function(S){let w=S.graph().root,b=n(S,w,v,g);b.vs.forEach((k,_)=>S.node(k).order=_),s(S,v,b.vs)})}function m(p,g){Object.values(g).forEach(v=>v.forEach((S,w)=>p.node(S).order=w))}return Ad}var Od,G0;function zP(){if(G0)return Od;G0=1;let e=mn().Graph,t=et();Od={positionX:v,findType1Conflicts:n,findType2Conflicts:i,addConflict:l,hasConflict:a,verticalAlignment:c,horizontalCompaction:f,alignCoordinates:p,findSmallestWidthAlignment:m,balance:g};function n(b,k){let _={};function E(N,P){let L=0,R=0,C=N.length,O=P[P.length-1];return P.forEach((F,M)=>{let $=s(b,F),Z=$?b.node($).order:C;($||F===O)&&(P.slice(R,M+1).forEach(D=>{b.predecessors(D).forEach(G=>{let q=b.node(G),J=q.order;(J<L||Z<J)&&!(q.dummy&&b.node(D).dummy)&&l(_,G,D)})}),R=M+1,L=Z)}),P}return k.length&&k.reduce(E),_}function i(b,k){let _={};function E(P,L,R,C,O){let F;t.range(L,R).forEach(M=>{F=P[M],b.node(F).dummy&&b.predecessors(F).forEach($=>{let Z=b.node($);Z.dummy&&(Z.order<C||Z.order>O)&&l(_,$,F)})})}function N(P,L){let R=-1,C,O=0;return L.forEach((F,M)=>{if(b.node(F).dummy==="border"){let $=b.predecessors(F);$.length&&(C=b.node($[0]).order,E(L,O,M,R,C),O=M,R=C)}E(L,O,L.length,C,P.length)}),L}return k.length&&k.reduce(N),_}function s(b,k){if(b.node(k).dummy)return b.predecessors(k).find(_=>b.node(_).dummy)}function l(b,k,_){if(k>_){let N=k;k=_,_=N}let E=b[k];E||(b[k]=E={}),E[_]=!0}function a(b,k,_){if(k>_){let E=k;k=_,_=E}return!!b[k]&&Object.hasOwn(b[k],_)}function c(b,k,_,E){let N={},P={},L={};return k.forEach(R=>{R.forEach((C,O)=>{N[C]=C,P[C]=C,L[C]=O})}),k.forEach(R=>{let C=-1;R.forEach(O=>{let F=E(O);if(F.length){F=F.sort(($,Z)=>L[$]-L[Z]);let M=(F.length-1)/2;for(let $=Math.floor(M),Z=Math.ceil(M);$<=Z;++$){let D=F[$];P[O]===O&&C<L[D]&&!a(_,O,D)&&(P[D]=O,P[O]=N[O]=N[D],C=L[D])}}})}),{root:N,align:P}}function f(b,k,_,E,N){let P={},L=d(b,k,_,N),R=N?"borderLeft":"borderRight";function C(M,$){let Z=L.nodes(),D=Z.pop(),G={};for(;D;)G[D]?M(D):(G[D]=!0,Z.push(D),Z=Z.concat($(D))),D=Z.pop()}function O(M){P[M]=L.inEdges(M).reduce(($,Z)=>Math.max($,P[Z.v]+L.edge(Z)),0)}function F(M){let $=L.outEdges(M).reduce((D,G)=>Math.min(D,P[G.w]-L.edge(G)),Number.POSITIVE_INFINITY),Z=b.node(M);$!==Number.POSITIVE_INFINITY&&Z.borderType!==R&&(P[M]=Math.max(P[M],$))}return C(O,L.predecessors.bind(L)),C(F,L.successors.bind(L)),Object.keys(E).forEach(M=>P[M]=P[_[M]]),P}function d(b,k,_,E){let N=new e,P=b.graph(),L=S(P.nodesep,P.edgesep,E);return k.forEach(R=>{let C;R.forEach(O=>{let F=_[O];if(N.setNode(F),C){var M=_[C],$=N.edge(M,F);N.setEdge(M,F,Math.max(L(b,O,C),$||0))}C=O})}),N}function m(b,k){return Object.values(k).reduce((_,E)=>{let N=Number.NEGATIVE_INFINITY,P=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([R,C])=>{let O=w(b,R)/2;N=Math.max(C+O,N),P=Math.min(C-O,P)});const L=N-P;return L<_[0]&&(_=[L,E]),_},[Number.POSITIVE_INFINITY,null])[1]}function p(b,k){let _=Object.values(k),E=t.applyWithChunking(Math.min,_),N=t.applyWithChunking(Math.max,_);["u","d"].forEach(P=>{["l","r"].forEach(L=>{let R=P+L,C=b[R];if(C===k)return;let O=Object.values(C),F=E-t.applyWithChunking(Math.min,O);L!=="l"&&(F=N-t.applyWithChunking(Math.max,O)),F&&(b[R]=t.mapValues(C,M=>M+F))})})}function g(b,k){return t.mapValues(b.ul,(_,E)=>{if(k)return b[k.toLowerCase()][E];{let N=Object.values(b).map(P=>P[E]).sort((P,L)=>P-L);return(N[1]+N[2])/2}})}function v(b){let k=t.buildLayerMatrix(b),_=Object.assign(n(b,k),i(b,k)),E={},N;["u","d"].forEach(L=>{N=L==="u"?k:Object.values(k).reverse(),["l","r"].forEach(R=>{R==="r"&&(N=N.map(M=>Object.values(M).reverse()));let C=(L==="u"?b.predecessors:b.successors).bind(b),O=c(b,N,_,C),F=f(b,N,O.root,O.align,R==="r");R==="r"&&(F=t.mapValues(F,M=>-M)),E[L+R]=F})});let P=m(b,E);return p(E,P),g(E,b.graph().align)}function S(b,k,_){return(E,N,P)=>{let L=E.node(N),R=E.node(P),C=0,O;if(C+=L.width/2,Object.hasOwn(L,"labelpos"))switch(L.labelpos.toLowerCase()){case"l":O=-L.width/2;break;case"r":O=L.width/2;break}if(O&&(C+=_?O:-O),O=0,C+=(L.dummy?k:b)/2,C+=(R.dummy?k:b)/2,C+=R.width/2,Object.hasOwn(R,"labelpos"))switch(R.labelpos.toLowerCase()){case"l":O=R.width/2;break;case"r":O=-R.width/2;break}return O&&(C+=_?O:-O),O=0,C}}function w(b,k){return b.node(k).width}return Od}var Ld,X0;function FP(){if(X0)return Ld;X0=1;let e=et(),t=zP().positionX;Ld=n;function n(s){s=e.asNonCompoundGraph(s),i(s),Object.entries(t(s)).forEach(([l,a])=>s.node(l).x=a)}function i(s){let l=e.buildLayerMatrix(s),a=s.graph().ranksep,c=0;l.forEach(f=>{const d=f.reduce((m,p)=>{const g=s.node(p).height;return m>g?m:g},0);f.forEach(m=>s.node(m).y=c+d/2),c+=d+a})}return Ld}var Md,Q0;function BP(){if(Q0)return Md;Q0=1;let e=SP(),t=kP(),n=_P(),i=et().normalizeRanks,s=NP(),l=et().removeEmptyRanks,a=CP(),c=IP(),f=TP(),d=$P(),m=FP(),p=et(),g=mn().Graph;Md=v;function v(V,K){let Q=K&&K.debugTiming?p.time:p.notime;Q("layout",()=>{let re=Q(" buildLayoutGraph",()=>C(V));Q(" runLayout",()=>S(re,Q,K)),Q(" updateInputGraph",()=>w(V,re))})}function S(V,K,Q){K(" makeSpaceForEdgeLabels",()=>O(V)),K(" removeSelfEdges",()=>Y(V)),K(" acyclic",()=>e.run(V)),K(" nestingGraph.run",()=>a.run(V)),K(" rank",()=>n(p.asNonCompoundGraph(V))),K(" injectEdgeLabelProxies",()=>F(V)),K(" removeEmptyRanks",()=>l(V)),K(" nestingGraph.cleanup",()=>a.cleanup(V)),K(" normalizeRanks",()=>i(V)),K(" assignRankMinMax",()=>M(V)),K(" removeEdgeLabelProxies",()=>$(V)),K(" normalize.run",()=>t.run(V)),K(" parentDummyChains",()=>s(V)),K(" addBorderSegments",()=>c(V)),K(" order",()=>d(V,Q)),K(" insertSelfEdges",()=>W(V)),K(" adjustCoordinateSystem",()=>f.adjust(V)),K(" position",()=>m(V)),K(" positionSelfEdges",()=>B(V)),K(" removeBorderNodes",()=>J(V)),K(" normalize.undo",()=>t.undo(V)),K(" fixupEdgeLabelCoords",()=>G(V)),K(" undoCoordinateSystem",()=>f.undo(V)),K(" translateGraph",()=>Z(V)),K(" assignNodeIntersects",()=>D(V)),K(" reversePoints",()=>q(V)),K(" acyclic.undo",()=>e.undo(V))}function w(V,K){V.nodes().forEach(Q=>{let re=V.node(Q),se=K.node(Q);re&&(re.x=se.x,re.y=se.y,re.rank=se.rank,K.children(Q).length&&(re.width=se.width,re.height=se.height))}),V.edges().forEach(Q=>{let re=V.edge(Q),se=K.edge(Q);re.points=se.points,Object.hasOwn(se,"x")&&(re.x=se.x,re.y=se.y)}),V.graph().width=K.graph().width,V.graph().height=K.graph().height}let b=["nodesep","edgesep","ranksep","marginx","marginy"],k={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},_=["acyclicer","ranker","rankdir","align"],E=["width","height","rank"],N={width:0,height:0},P=["minlen","weight","width","height","labeloffset"],L={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},R=["labelpos"];function C(V){let K=new g({multigraph:!0,compound:!0}),Q=H(V.graph());return K.setGraph(Object.assign({},k,j(Q,b),p.pick(Q,_))),V.nodes().forEach(re=>{let se=H(V.node(re));const ee=j(se,E);Object.keys(N).forEach(oe=>{ee[oe]===void 0&&(ee[oe]=N[oe])}),K.setNode(re,ee),K.setParent(re,V.parent(re))}),V.edges().forEach(re=>{let se=H(V.edge(re));K.setEdge(re,Object.assign({},L,j(se,P),p.pick(se,R)))}),K}function O(V){let K=V.graph();K.ranksep/=2,V.edges().forEach(Q=>{let re=V.edge(Q);re.minlen*=2,re.labelpos.toLowerCase()!=="c"&&(K.rankdir==="TB"||K.rankdir==="BT"?re.width+=re.labeloffset:re.height+=re.labeloffset)})}function F(V){V.edges().forEach(K=>{let Q=V.edge(K);if(Q.width&&Q.height){let re=V.node(K.v),ee={rank:(V.node(K.w).rank-re.rank)/2+re.rank,e:K};p.addDummyNode(V,"edge-proxy",ee,"_ep")}})}function M(V){let K=0;V.nodes().forEach(Q=>{let re=V.node(Q);re.borderTop&&(re.minRank=V.node(re.borderTop).rank,re.maxRank=V.node(re.borderBottom).rank,K=Math.max(K,re.maxRank))}),V.graph().maxRank=K}function $(V){V.nodes().forEach(K=>{let Q=V.node(K);Q.dummy==="edge-proxy"&&(V.edge(Q.e).labelRank=Q.rank,V.removeNode(K))})}function Z(V){let K=Number.POSITIVE_INFINITY,Q=0,re=Number.POSITIVE_INFINITY,se=0,ee=V.graph(),oe=ee.marginx||0,de=ee.marginy||0;function xe(he){let fe=he.x,ke=he.y,Pe=he.width,Ae=he.height;K=Math.min(K,fe-Pe/2),Q=Math.max(Q,fe+Pe/2),re=Math.min(re,ke-Ae/2),se=Math.max(se,ke+Ae/2)}V.nodes().forEach(he=>xe(V.node(he))),V.edges().forEach(he=>{let fe=V.edge(he);Object.hasOwn(fe,"x")&&xe(fe)}),K-=oe,re-=de,V.nodes().forEach(he=>{let fe=V.node(he);fe.x-=K,fe.y-=re}),V.edges().forEach(he=>{let fe=V.edge(he);fe.points.forEach(ke=>{ke.x-=K,ke.y-=re}),Object.hasOwn(fe,"x")&&(fe.x-=K),Object.hasOwn(fe,"y")&&(fe.y-=re)}),ee.width=Q-K+oe,ee.height=se-re+de}function D(V){V.edges().forEach(K=>{let Q=V.edge(K),re=V.node(K.v),se=V.node(K.w),ee,oe;Q.points?(ee=Q.points[0],oe=Q.points[Q.points.length-1]):(Q.points=[],ee=se,oe=re),Q.points.unshift(p.intersectRect(re,ee)),Q.points.push(p.intersectRect(se,oe))})}function G(V){V.edges().forEach(K=>{let Q=V.edge(K);if(Object.hasOwn(Q,"x"))switch((Q.labelpos==="l"||Q.labelpos==="r")&&(Q.width-=Q.labeloffset),Q.labelpos){case"l":Q.x-=Q.width/2+Q.labeloffset;break;case"r":Q.x+=Q.width/2+Q.labeloffset;break}})}function q(V){V.edges().forEach(K=>{let Q=V.edge(K);Q.reversed&&Q.points.reverse()})}function J(V){V.nodes().forEach(K=>{if(V.children(K).length){let Q=V.node(K),re=V.node(Q.borderTop),se=V.node(Q.borderBottom),ee=V.node(Q.borderLeft[Q.borderLeft.length-1]),oe=V.node(Q.borderRight[Q.borderRight.length-1]);Q.width=Math.abs(oe.x-ee.x),Q.height=Math.abs(se.y-re.y),Q.x=ee.x+Q.width/2,Q.y=re.y+Q.height/2}}),V.nodes().forEach(K=>{V.node(K).dummy==="border"&&V.removeNode(K)})}function Y(V){V.edges().forEach(K=>{if(K.v===K.w){var Q=V.node(K.v);Q.selfEdges||(Q.selfEdges=[]),Q.selfEdges.push({e:K,label:V.edge(K)}),V.removeEdge(K)}})}function W(V){var K=p.buildLayerMatrix(V);K.forEach(Q=>{var re=0;Q.forEach((se,ee)=>{var oe=V.node(se);oe.order=ee+re,(oe.selfEdges||[]).forEach(de=>{p.addDummyNode(V,"selfedge",{width:de.label.width,height:de.label.height,rank:oe.rank,order:ee+ ++re,e:de.e,label:de.label},"_se")}),delete oe.selfEdges})})}function B(V){V.nodes().forEach(K=>{var Q=V.node(K);if(Q.dummy==="selfedge"){var re=V.node(Q.e.v),se=re.x+re.width/2,ee=re.y,oe=Q.x-se,de=re.height/2;V.setEdge(Q.e,Q.label),V.removeNode(K),Q.label.points=[{x:se+2*oe/3,y:ee-de},{x:se+5*oe/6,y:ee-de},{x:se+oe,y:ee},{x:se+5*oe/6,y:ee+de},{x:se+2*oe/3,y:ee+de}],Q.label.x=Q.x,Q.label.y=Q.y}})}function j(V,K){return p.mapValues(p.pick(V,K),Number)}function H(V){var K={};return V&&Object.entries(V).forEach(([Q,re])=>{typeof Q=="string"&&(Q=Q.toLowerCase()),K[Q]=re}),K}return Md}var Rd,J0;function VP(){if(J0)return Rd;J0=1;let e=et(),t=mn().Graph;Rd={debugOrdering:n};function n(i){let s=e.buildLayerMatrix(i),l=new t({compound:!0,multigraph:!0}).setGraph({});return i.nodes().forEach(a=>{l.setNode(a,{label:a}),l.setParent(a,"layer"+i.node(a).rank)}),i.edges().forEach(a=>l.setEdge(a.v,a.w,{},a.name)),s.forEach((a,c)=>{let f="layer"+c;l.setNode(f,{rank:"same"}),a.reduce((d,m)=>(l.setEdge(d,m,{style:"invis"}),m))}),l}return Rd}var jd,Z0;function HP(){return Z0||(Z0=1,jd="1.1.8"),jd}var Dd,ev;function WP(){return ev||(ev=1,Dd={graphlib:mn(),layout:BP(),debug:VP(),util:{time:et().time,notime:et().notime},version:HP()}),Dd}var UP=WP();const tv=su(UP),nv=220,rv=140,$d=60;function qP(e){return T.useMemo(()=>{if(!e)return{nodes:[],edges:[]};const t=new tv.graphlib.Graph;t.setDefaultEdgeLabel(()=>({})),t.setGraph({rankdir:"LR",nodesep:40,ranksep:80});for(const s of e.nodes){const l=s.type==="task.branch"||s.type.startsWith("trigger.")?rv:nv;t.setNode(s.id,{width:l,height:$d})}for(const s of e.edges)t.setEdge(s.from,s.to);tv.layout(t);const n=e.nodes.map(s=>{const l=t.node(s.id),a=s.type==="task.branch"||s.type.startsWith("trigger.")?rv:nv;return{id:s.id,type:s.type==="agent.run"?"agentNode":"workflowNode",position:{x:l.x-a/2,y:l.y-$d/2},data:{node:s},width:a,height:$d}}),i=e.edges.map((s,l)=>({id:`e-${l}`,source:s.from,target:s.to,label:s.when,type:"smoothstep",style:{stroke:"hsl(240 5% 65%)",strokeWidth:1.5},labelStyle:{fontSize:11,fontFamily:"JetBrains Mono, monospace"}}));return{nodes:n,edges:i}},[e])}const YP={workflowNode:l0,agentNode:l0};function KP({workflow:e,onNodeClick:t,onLoadYaml:n,nodeStatuses:i={}}){const{nodes:s,edges:l}=qP(e),[a,c]=T.useState(!1),f=s.map(v=>({...v,data:{...v.data,onNodeClick:t,liveStatus:i[v.id]??"idle"}})),d=T.useCallback((v,S)=>{const w=S.data.node;w&&t(w)},[t]),m=T.useCallback(v=>{v.preventDefault(),v.dataTransfer.dropEffect="copy",c(!0)},[]),p=T.useCallback(()=>{c(!1)},[]),g=T.useCallback(v=>{v.preventDefault(),c(!1);const S=v.dataTransfer.files[0];if(!S)return;const w=new FileReader;w.onload=b=>{var _;const k=(_=b.target)==null?void 0:_.result;typeof k=="string"&&n(k)},w.readAsText(S)},[n]);return A.jsxs("div",{className:"flex-1 relative canvas-grid overflow-hidden",style:{height:"100%"},onDragOver:m,onDragLeave:p,onDrop:g,children:[A.jsxs(BI,{nodes:f,edges:l,nodeTypes:YP,onNodeClick:d,fitView:!0,attributionPosition:"bottom-right",children:[A.jsx(qI,{variant:Gn.Dots,gap:22,size:1,color:"hsl(240 5.9% 88%)"}),A.jsx(ZI,{})]}),a&&A.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-bg/70 border-2 border-dashed border-primary pointer-events-none z-10",children:A.jsx("span",{className:"text-sm font-medium text-primary",children:"Drop YAML here"})}),A.jsx("div",{className:"absolute bottom-3 right-14 text-[10px] font-mono text-mutedfg pointer-events-none",children:"layout: auto (dagre) · positions not stored"})]})}function bt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function iv(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function GP(...e){return t=>{let n=!1;const i=e.map(s=>{const l=iv(s,t);return!n&&typeof l=="function"&&(n=!0),l});if(n)return()=>{for(let s=0;s<i.length;s++){const l=i[s];typeof l=="function"?l():iv(e[s],null)}}}}function Vt(...e){return T.useCallback(GP(...e),e)}function Hx(e,t=[]){let n=[];function i(l,a){const c=T.createContext(a);c.displayName=l+"Context";const f=n.length;n=[...n,a];const d=p=>{var k;const{scope:g,children:v,...S}=p,w=((k=g==null?void 0:g[e])==null?void 0:k[f])||c,b=T.useMemo(()=>S,Object.values(S));return A.jsx(w.Provider,{value:b,children:v})};d.displayName=l+"Provider";function m(p,g){var w;const v=((w=g==null?void 0:g[e])==null?void 0:w[f])||c,S=T.useContext(v);if(S)return S;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${l}\``)}return[d,m]}const s=()=>{const l=n.map(a=>T.createContext(a));return function(c){const f=(c==null?void 0:c[e])||l;return T.useMemo(()=>({[`__scope${e}`]:{...c,[e]:f}}),[c,f])}};return s.scopeName=e,[i,XP(s,...t)]}function XP(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const i=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(l){const a=i.reduce((c,{useScope:f,scopeName:d})=>{const p=f(l)[`__scope${d}`];return{...c,...p}},{});return T.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}var uo=globalThis!=null&&globalThis.document?T.useLayoutEffect:()=>{},QP=Sh[" useId ".trim().toString()]||(()=>{}),JP=0;function zd(e){const[t,n]=T.useState(QP());return uo(()=>{n(i=>i??String(JP++))},[e]),e||(t?`radix-${t}`:"")}var ZP=Sh[" useInsertionEffect ".trim().toString()]||uo;function eA({prop:e,defaultProp:t,onChange:n=()=>{},caller:i}){const[s,l,a]=tA({defaultProp:t,onChange:n}),c=e!==void 0,f=c?e:s;{const m=T.useRef(e!==void 0);T.useEffect(()=>{const p=m.current;p!==c&&console.warn(`${i} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=c},[c,i])}const d=T.useCallback(m=>{var p;if(c){const g=nA(m)?m(e):m;g!==e&&((p=a.current)==null||p.call(a,g))}else l(m)},[c,e,l,a]);return[f,d]}function tA({defaultProp:e,onChange:t}){const[n,i]=T.useState(e),s=T.useRef(n),l=T.useRef(t);return ZP(()=>{l.current=t},[t]),T.useEffect(()=>{var a;s.current!==n&&((a=l.current)==null||a.call(l,n),s.current=n)},[n,s]),[n,i,l]}function nA(e){return typeof e=="function"}function Wx(e){const t=T.forwardRef((n,i)=>{let{children:s,...l}=n,a=null,c=!1;const f=[];ov(s)&&typeof xa=="function"&&(s=xa(s._payload)),T.Children.forEach(s,g=>{var v;if(lA(g)){c=!0;const S=g;let w="child"in S.props?S.props.child:S.props.children;ov(w)&&typeof xa=="function"&&(w=xa(w._payload)),a=iA(S,w),f.push((v=a==null?void 0:a.props)==null?void 0:v.children)}else f.push(g)}),a?a=T.cloneElement(a,void 0,f):!c&&T.Children.count(s)===1&&T.isValidElement(s)&&(a=s);const d=a?sA(a):void 0,m=Vt(i,d);if(!a){if(s||s===0)throw new Error(c?fA(e):cA(e));return s}const p=oA(l,a.props??{});return a.type!==T.Fragment&&(p.ref=i?m:d),T.cloneElement(a,p)});return t.displayName=`${e}.Slot`,t}var rA=Symbol.for("radix.slottable"),iA=(e,t)=>{if("child"in e.props){const n=e.props.child;return T.isValidElement(n)?T.cloneElement(n,void 0,e.props.children(n.props.children)):null}return T.isValidElement(t)?t:null};function oA(e,t){const n={...t};for(const i in t){const s=e[i],l=t[i];/^on[A-Z]/.test(i)?s&&l?n[i]=(...c)=>{const f=l(...c);return s(...c),f}:s&&(n[i]=s):i==="style"?n[i]={...s,...l}:i==="className"&&(n[i]=[s,l].filter(Boolean).join(" "))}return{...e,...n}}function sA(e){var i,s;let t=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function lA(e){return T.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===rA}var aA=Symbol.for("react.lazy");function ov(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===aA&&"_payload"in e&&uA(e._payload)}function uA(e){return typeof e=="object"&&e!==null&&"then"in e}var cA=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,fA=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,xa=Sh[" use ".trim().toString()],dA=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ot=dA.reduce((e,t)=>{const n=Wx(`Primitive.${t}`),i=T.forwardRef((s,l)=>{const{asChild:a,...c}=s,f=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),A.jsx(f,{...c,ref:l})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function hA(e,t){e&&Bw.flushSync(()=>e.dispatchEvent(t))}function Qt(e){const t=T.useRef(e);return T.useEffect(()=>{t.current=e}),T.useMemo(()=>((...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)}),[])}function pA(e,t=globalThis==null?void 0:globalThis.document){const n=Qt(e);T.useEffect(()=>{const i=s=>{s.key==="Escape"&&n(s)};return t.addEventListener("keydown",i,{capture:!0}),()=>t.removeEventListener("keydown",i,{capture:!0})},[n,t])}var mA="DismissableLayer",hh="dismissableLayer.update",gA="dismissableLayer.pointerDownOutside",yA="dismissableLayer.focusOutside",sv,Uh=T.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Ux=T.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:a,onInteractOutside:c,onDismiss:f,...d}=e,m=T.useContext(Uh),[p,g]=T.useState(null),v=(p==null?void 0:p.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=T.useState({}),w=Vt(t,O=>g(O)),b=Array.from(m.layers),[k]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),_=b.indexOf(k),E=p?b.indexOf(p):-1,N=m.layersWithOutsidePointerEventsDisabled.size>0,P=E>=_,L=T.useRef(!1),R=bA(O=>{const F=O.target;if(!(F instanceof Node))return;const M=[...m.branches].some($=>$.contains(F));!P||M||(l==null||l(O),c==null||c(O),O.defaultPrevented||f==null||f())},{ownerDocument:v,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:L,dismissableSurfaces:m.dismissableSurfaces}),C=SA(O=>{if(i&&L.current)return;const F=O.target;[...m.branches].some($=>$.contains(F))||(a==null||a(O),c==null||c(O),O.defaultPrevented||f==null||f())},v);return pA(O=>{E===m.layers.size-1&&(s==null||s(O),!O.defaultPrevented&&f&&(O.preventDefault(),f()))},v),T.useEffect(()=>{if(p)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(sv=v.body.style.pointerEvents,v.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(p)),m.layers.add(p),lv(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(p),m.layersWithOutsidePointerEventsDisabled.size===0&&(v.body.style.pointerEvents=sv))}},[p,v,n,m]),T.useEffect(()=>()=>{p&&(m.layers.delete(p),m.layersWithOutsidePointerEventsDisabled.delete(p),lv())},[p,m]),T.useEffect(()=>{const O=()=>S({});return document.addEventListener(hh,O),()=>document.removeEventListener(hh,O)},[]),A.jsx(Ot.div,{...d,ref:w,style:{pointerEvents:N?P?"auto":"none":void 0,...e.style},onFocusCapture:bt(e.onFocusCapture,C.onFocusCapture),onBlurCapture:bt(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:bt(e.onPointerDownCapture,R.onPointerDownCapture)})});Ux.displayName=mA;var vA="DismissableLayerBranch",wA=T.forwardRef((e,t)=>{const n=T.useContext(Uh),i=T.useRef(null),s=Vt(t,i);return T.useEffect(()=>{const l=i.current;if(l)return n.branches.add(l),()=>{n.branches.delete(l)}},[n.branches]),A.jsx(Ot.div,{...e,ref:s})});wA.displayName=vA;function xA(){const e=T.useContext(Uh),[t,n]=T.useState(null);return T.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function bA(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:s,dismissableSurfaces:l}=t,a=Qt(e),c=T.useRef(!1),f=T.useRef(!1),d=T.useRef(new Map),m=T.useRef(()=>{});return T.useEffect(()=>{function p(){f.current=!1,s.current=!1,d.current.clear()}function g(){return Array.from(d.current.values()).some(Boolean)}function v(_){if(!f.current)return;const E=_.target;E instanceof Node&&[...l].some(P=>P.contains(E))||d.current.set(_.type,!0),_.type==="click"&&window.setTimeout(()=>{f.current&&m.current()},0)}function S(_){f.current&&d.current.set(_.type,!1)}const w=_=>{if(_.target&&!c.current){let E=function(){n.removeEventListener("click",m.current);const P=g();p(),P||qx(gA,a,N,{discrete:!0})};const N={originalEvent:_};f.current=!0,s.current=i&&_.button===0,d.current.clear(),!i||_.button!==0?E():(n.removeEventListener("click",m.current),m.current=E,n.addEventListener("click",m.current,{once:!0}))}else n.removeEventListener("click",m.current),p();c.current=!1},b=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const _ of b)n.addEventListener(_,v,!0),n.addEventListener(_,S);const k=window.setTimeout(()=>{n.addEventListener("pointerdown",w)},0);return()=>{window.clearTimeout(k),n.removeEventListener("pointerdown",w),n.removeEventListener("click",m.current);for(const _ of b)n.removeEventListener(_,v,!0),n.removeEventListener(_,S)}},[n,a,i,s,l]),{onPointerDownCapture:()=>c.current=!0}}function SA(e,t=globalThis==null?void 0:globalThis.document){const n=Qt(e),i=T.useRef(!1);return T.useEffect(()=>{const s=l=>{l.target&&!i.current&&qx(yA,n,{originalEvent:l},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function lv(){const e=new CustomEvent(hh);document.dispatchEvent(e)}function qx(e,t,n,{discrete:i}){const s=n.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),i?hA(s,l):s.dispatchEvent(l)}var Fd="focusScope.autoFocusOnMount",Bd="focusScope.autoFocusOnUnmount",av={bubbles:!1,cancelable:!0},kA="FocusScope",Yx=T.forwardRef((e,t)=>{const{loop:n=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:l,...a}=e,[c,f]=T.useState(null),d=Qt(s),m=Qt(l),p=T.useRef(null),g=Vt(t,w=>f(w)),v=T.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;T.useEffect(()=>{if(i){let w=function(E){if(v.paused||!c)return;const N=E.target;c.contains(N)?p.current=N:kr(p.current,{select:!0})},b=function(E){if(v.paused||!c)return;const N=E.relatedTarget;N!==null&&(c.contains(N)||kr(p.current,{select:!0}))},k=function(E){if(document.activeElement===document.body)for(const P of E)P.removedNodes.length>0&&kr(c)};document.addEventListener("focusin",w),document.addEventListener("focusout",b);const _=new MutationObserver(k);return c&&_.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",b),_.disconnect()}}},[i,c,v.paused]),T.useEffect(()=>{if(c){cv.add(v);const w=document.activeElement;if(!c.contains(w)){const k=new CustomEvent(Fd,av);c.addEventListener(Fd,d),c.dispatchEvent(k),k.defaultPrevented||(EA(TA(Kx(c)),{select:!0}),document.activeElement===w&&kr(c))}return()=>{c.removeEventListener(Fd,d),setTimeout(()=>{const k=new CustomEvent(Bd,av);c.addEventListener(Bd,m),c.dispatchEvent(k),k.defaultPrevented||kr(w??document.body,{select:!0}),c.removeEventListener(Bd,m),cv.remove(v)},0)}}},[c,d,m,v]);const S=T.useCallback(w=>{if(!n&&!i||v.paused)return;const b=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,k=document.activeElement;if(b&&k){const _=w.currentTarget,[E,N]=_A(_);E&&N?!w.shiftKey&&k===N?(w.preventDefault(),n&&kr(E,{select:!0})):w.shiftKey&&k===E&&(w.preventDefault(),n&&kr(N,{select:!0})):k===_&&w.preventDefault()}},[n,i,v.paused]);return A.jsx(Ot.div,{tabIndex:-1,...a,ref:g,onKeyDown:S})});Yx.displayName=kA;function EA(e,{select:t=!1}={}){const n=document.activeElement;for(const i of e)if(kr(i,{select:t}),document.activeElement!==n)return}function _A(e){const t=Kx(e),n=uv(t,e),i=uv(t.reverse(),e);return[n,i]}function Kx(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function uv(e,t){for(const n of e)if(!NA(n,{upTo:t}))return n}function NA(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function CA(e){return e instanceof HTMLInputElement&&"select"in e}function kr(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&CA(e)&&t&&e.select()}}var cv=IA();function IA(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=fv(e,t),e.unshift(t)},remove(t){var n;e=fv(e,t),(n=e[0])==null||n.resume()}}}function fv(e,t){const n=[...e],i=n.indexOf(t);return i!==-1&&n.splice(i,1),n}function TA(e){return e.filter(t=>t.tagName!=="A")}var PA="Portal",Gx=T.forwardRef((e,t)=>{var c;const{container:n,...i}=e,[s,l]=T.useState(!1);uo(()=>l(!0),[]);const a=n||s&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return a?Bw.createPortal(A.jsx(Ot.div,{...i,ref:t}),a):null});Gx.displayName=PA;function AA(e,t){return T.useReducer((n,i)=>t[n][i]??n,e)}var Tr=e=>{const{present:t,children:n}=e,i=OA(t),s=typeof n=="function"?n({present:i.isPresent}):T.Children.only(n),l=LA(i.ref,MA(s));return typeof n=="function"||i.isPresent?T.cloneElement(s,{ref:l}):null};Tr.displayName="Presence";function OA(e){const[t,n]=T.useState(),i=T.useRef(null),s=T.useRef(e),l=T.useRef("none"),a=e?"mounted":"unmounted",[c,f]=AA(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return T.useEffect(()=>{const d=ba(i.current);l.current=c==="mounted"?d:"none"},[c]),uo(()=>{const d=i.current,m=s.current;if(m!==e){const g=l.current,v=ba(d);e?f("MOUNT"):v==="none"||(d==null?void 0:d.display)==="none"?f("UNMOUNT"):f(m&&g!==v?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,f]),uo(()=>{if(t){let d;const m=t.ownerDocument.defaultView??window,p=v=>{const w=ba(i.current).includes(CSS.escape(v.animationName));if(v.target===t&&w&&(f("ANIMATION_END"),!s.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",d=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=v=>{v.target===t&&(l.current=ba(i.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{m.clearTimeout(d),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:T.useCallback(d=>{i.current=d?getComputedStyle(d):null,n(d)},[])}}function dv(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function LA(...e){const t=T.useRef(e);return t.current=e,T.useCallback(n=>{const i=t.current;let s=!1;const l=i.map(a=>{const c=dv(a,n);return!s&&typeof c=="function"&&(s=!0),c});if(s)return()=>{for(let a=0;a<l.length;a++){const c=l[a];typeof c=="function"?c():dv(i[a],null)}}},[])}function ba(e){return(e==null?void 0:e.animationName)||"none"}function MA(e){var i,s;let t=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Sa=0,Cn=null;function RA(){T.useEffect(()=>{Cn||(Cn={start:hv(),end:hv()});const{start:e,end:t}=Cn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Sa++,()=>{Sa===1&&(Cn==null||Cn.start.remove(),Cn==null||Cn.end.remove(),Cn=null),Sa=Math.max(0,Sa-1)}},[])}function hv(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Tn=function(){return Tn=Object.assign||function(t){for(var n,i=1,s=arguments.length;i<s;i++){n=arguments[i];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(t[l]=n[l])}return t},Tn.apply(this,arguments)};function Xx(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++)t.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(n[i[s]]=e[i[s]]);return n}function jA(e,t,n){if(n||arguments.length===2)for(var i=0,s=t.length,l;i<s;i++)(l||!(i in t))&&(l||(l=Array.prototype.slice.call(t,0,i)),l[i]=t[i]);return e.concat(l||Array.prototype.slice.call(t))}var Da="right-scroll-bar-position",$a="width-before-scroll-bar",DA="with-scroll-bars-hidden",$A="--removed-body-scroll-bar-size";function Vd(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function zA(e,t){var n=T.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(i){var s=n.value;s!==i&&(n.value=i,n.callback(i,s))}}}})[0];return n.callback=t,n.facade}var FA=typeof window<"u"?T.useLayoutEffect:T.useEffect,pv=new WeakMap;function BA(e,t){var n=zA(null,function(i){return e.forEach(function(s){return Vd(s,i)})});return FA(function(){var i=pv.get(n);if(i){var s=new Set(i),l=new Set(e),a=n.current;s.forEach(function(c){l.has(c)||Vd(c,null)}),l.forEach(function(c){s.has(c)||Vd(c,a)})}pv.set(n,e)},[e]),n}function VA(e){return e}function HA(e,t){t===void 0&&(t=VA);var n=[],i=!1,s={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(l){var a=t(l,i);return n.push(a),function(){n=n.filter(function(c){return c!==a})}},assignSyncMedium:function(l){for(i=!0;n.length;){var a=n;n=[],a.forEach(l)}n={push:function(c){return l(c)},filter:function(){return n}}},assignMedium:function(l){i=!0;var a=[];if(n.length){var c=n;n=[],c.forEach(l),a=n}var f=function(){var m=a;a=[],m.forEach(l)},d=function(){return Promise.resolve().then(f)};d(),n={push:function(m){a.push(m),d()},filter:function(m){return a=a.filter(m),n}}}};return s}function WA(e){e===void 0&&(e={});var t=HA(null);return t.options=Tn({async:!0,ssr:!1},e),t}var Qx=function(e){var t=e.sideCar,n=Xx(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=t.read();if(!i)throw new Error("Sidecar medium not found");return T.createElement(i,Tn({},n))};Qx.isSideCarExport=!0;function UA(e,t){return e.useMedium(t),Qx}var Jx=WA(),Hd=function(){},wu=T.forwardRef(function(e,t){var n=T.useRef(null),i=T.useState({onScrollCapture:Hd,onWheelCapture:Hd,onTouchMoveCapture:Hd}),s=i[0],l=i[1],a=e.forwardProps,c=e.children,f=e.className,d=e.removeScrollBar,m=e.enabled,p=e.shards,g=e.sideCar,v=e.noRelative,S=e.noIsolation,w=e.inert,b=e.allowPinchZoom,k=e.as,_=k===void 0?"div":k,E=e.gapMode,N=Xx(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=g,L=BA([n,t]),R=Tn(Tn({},N),s);return T.createElement(T.Fragment,null,m&&T.createElement(P,{sideCar:Jx,removeScrollBar:d,shards:p,noRelative:v,noIsolation:S,inert:w,setCallbacks:l,allowPinchZoom:!!b,lockRef:n,gapMode:E}),a?T.cloneElement(T.Children.only(c),Tn(Tn({},R),{ref:L})):T.createElement(_,Tn({},R,{className:f,ref:L}),c))});wu.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};wu.classNames={fullWidth:$a,zeroRight:Da};var qA=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function YA(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=qA();return t&&e.setAttribute("nonce",t),e}function KA(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function GA(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var XA=function(){var e=0,t=null;return{add:function(n){e==0&&(t=YA())&&(KA(t,n),GA(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},QA=function(){var e=XA();return function(t,n){T.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Zx=function(){var e=QA(),t=function(n){var i=n.styles,s=n.dynamic;return e(i,s),null};return t},JA={left:0,top:0,right:0,gap:0},Wd=function(e){return parseInt(e||"",10)||0},ZA=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],i=t[e==="padding"?"paddingTop":"marginTop"],s=t[e==="padding"?"paddingRight":"marginRight"];return[Wd(n),Wd(i),Wd(s)]},eO=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return JA;var t=ZA(e),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,i-n+t[2]-t[0])}},tO=Zx(),Zi="data-scroll-locked",nO=function(e,t,n,i){var s=e.left,l=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),`
|
|
62
|
+
M${C.x},${C.y}h${C.width}v${C.height}h${-C.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}xx.displayName="MiniMap";T.memo(xx);const dT=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,hT={[ao.Line]:"right",[ao.Handle]:"bottom-right"};function pT({nodeId:e,position:t,variant:n=ao.Handle,className:i,style:s=void 0,children:l,color:a,minWidth:c=10,minHeight:f=10,maxWidth:d=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:g,autoScale:v=!0,shouldResize:S,onResizeStart:w,onResize:b,onResizeEnd:k}){const _=Qw(),E=typeof e=="string"?e:_,N=He(),P=T.useRef(null),L=n===ao.Handle,R=Oe(T.useCallback(dT(L&&v),[L,v]),Ve),C=T.useRef(null),O=t??hT[n];T.useEffect(()=>{if(!(!P.current||!E))return C.current||(C.current=$C({domNode:P.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:M,transform:$,snapGrid:Z,snapToGrid:D,nodeOrigin:G,domNode:q}=N.getState();return{nodeLookup:M,transform:$,snapGrid:Z,snapToGrid:D,nodeOrigin:G,paneDomNode:q}},onChange:(M,$)=>{const{triggerNodeChanges:Z,nodeLookup:D,parentLookup:G,nodeOrigin:q}=N.getState(),J=[],Y={x:M.x,y:M.y},W=D.get(E);if(W&&W.expandParent&&W.parentId){const B=W.origin??q,j=M.width??W.measured.width??0,H=M.height??W.measured.height??0,V={id:W.id,parentId:W.parentId,rect:{width:j,height:H,...bw({x:M.x??W.position.x,y:M.y??W.position.y},{width:j,height:H},W.parentId,D,B)}},K=zh([V],D,G,q);J.push(...K),Y.x=M.x?Math.max(B[0]*j,M.x):void 0,Y.y=M.y?Math.max(B[1]*H,M.y):void 0}if(Y.x!==void 0&&Y.y!==void 0){const B={id:E,type:"position",position:{...Y}};J.push(B)}if(M.width!==void 0&&M.height!==void 0){const j={id:E,type:"dimensions",resizing:!0,setAttributes:g?g==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};J.push(j)}for(const B of $){const j={...B,type:"position"};J.push(j)}Z(J)},onEnd:({width:M,height:$})=>{const Z={id:E,type:"dimensions",resizing:!1,dimensions:{width:M,height:$}};N.getState().triggerNodeChanges([Z])}})),C.current.update({controlPosition:O,boundaries:{minWidth:c,minHeight:f,maxWidth:d,maxHeight:m},keepAspectRatio:p,resizeDirection:g,onResizeStart:w,onResize:b,onResizeEnd:k,shouldResize:S}),()=>{var M;(M=C.current)==null||M.destroy()}},[O,c,f,d,m,p,w,b,k,S]);const F=O.split("-");return A.jsx("div",{className:tt(["react-flow__resize-control","nodrag",...F,n,i]),ref:P,style:{...s,scale:R,...a&&{[L?"backgroundColor":"borderColor"]:a}},children:l})}T.memo(pT);function bx(e){var t,n,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=bx(e[t]))&&(i&&(i+=" "),i+=n)}else for(n in e)e[n]&&(i&&(i+=" "),i+=n);return i}function Sx(){for(var e,t,n=0,i="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=bx(e))&&(i&&(i+=" "),i+=t);return i}const mT=(e,t)=>{const n=new Array(e.length+t.length);for(let i=0;i<e.length;i++)n[i]=e[i];for(let i=0;i<t.length;i++)n[e.length+i]=t[i];return n},gT=(e,t)=>({classGroupId:e,validator:t}),kx=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ja="-",Zy=[],yT="arbitrary..",vT=e=>{const t=xT(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return wT(a);const c=a.split(Ja),f=c[0]===""&&c.length>1?1:0;return Ex(c,f,t)},getConflictingClassGroupIds:(a,c)=>{if(c){const f=i[a],d=n[a];return f?d?mT(d,f):f:d||Zy}return n[a]||Zy}}},Ex=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const s=e[t],l=n.nextPart.get(s);if(l){const d=Ex(e,t+1,l);if(d)return d}const a=n.validators;if(a===null)return;const c=t===0?e.join(Ja):e.slice(t).join(Ja),f=a.length;for(let d=0;d<f;d++){const m=a[d];if(m.validator(c))return m.classGroupId}},wT=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),i=t.slice(0,n);return i?yT+i:void 0})(),xT=e=>{const{theme:t,classGroups:n}=e;return bT(n,t)},bT=(e,t)=>{const n=kx();for(const i in e){const s=e[i];Vh(s,n,i,t)}return n},Vh=(e,t,n,i)=>{const s=e.length;for(let l=0;l<s;l++){const a=e[l];ST(a,t,n,i)}},ST=(e,t,n,i)=>{if(typeof e=="string"){kT(e,t,n);return}if(typeof e=="function"){ET(e,t,n,i);return}_T(e,t,n,i)},kT=(e,t,n)=>{const i=e===""?t:_x(t,e);i.classGroupId=n},ET=(e,t,n,i)=>{if(NT(e)){Vh(e(i),t,n,i);return}t.validators===null&&(t.validators=[]),t.validators.push(gT(n,e))},_T=(e,t,n,i)=>{const s=Object.entries(e),l=s.length;for(let a=0;a<l;a++){const[c,f]=s[a];Vh(f,_x(t,c),n,i)}},_x=(e,t)=>{let n=e;const i=t.split(Ja),s=i.length;for(let l=0;l<s;l++){const a=i[l];let c=n.nextPart.get(a);c||(c=kx(),n.nextPart.set(a,c)),n=c}return n},NT=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,CT=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),i=Object.create(null);const s=(l,a)=>{n[l]=a,t++,t>e&&(t=0,i=n,n=Object.create(null))};return{get(l){let a=n[l];if(a!==void 0)return a;if((a=i[l])!==void 0)return s(l,a),a},set(l,a){l in n?n[l]=a:s(l,a)}}},dh="!",e0=":",IT=[],t0=(e,t,n,i,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:i,isExternal:s}),TT=e=>{const{prefix:t,experimentalParseClassName:n}=e;let i=s=>{const l=[];let a=0,c=0,f=0,d;const m=s.length;for(let w=0;w<m;w++){const b=s[w];if(a===0&&c===0){if(b===e0){l.push(s.slice(f,w)),f=w+1;continue}if(b==="/"){d=w;continue}}b==="["?a++:b==="]"?a--:b==="("?c++:b===")"&&c--}const p=l.length===0?s:s.slice(f);let g=p,v=!1;p.endsWith(dh)?(g=p.slice(0,-1),v=!0):p.startsWith(dh)&&(g=p.slice(1),v=!0);const S=d&&d>f?d-f:void 0;return t0(l,v,g,S)};if(t){const s=t+e0,l=i;i=a=>a.startsWith(s)?l(a.slice(s.length)):t0(IT,!1,a,void 0,!0)}if(n){const s=i;i=l=>n({className:l,parseClassName:s})}return i},PT=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,i)=>{t.set(n,1e6+i)}),n=>{const i=[];let s=[];for(let l=0;l<n.length;l++){const a=n[l],c=a[0]==="[",f=t.has(a);c||f?(s.length>0&&(s.sort(),i.push(...s),s=[]),i.push(a)):s.push(a)}return s.length>0&&(s.sort(),i.push(...s)),i}},AT=e=>({cache:CT(e.cacheSize),parseClassName:TT(e),sortModifiers:PT(e),postfixLookupClassGroupIds:OT(e),...vT(e)}),OT=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let i=0;i<n.length;i++)t[n[i]]=!0;return t},LT=/\s+/,MT=(e,t)=>{const{parseClassName:n,getClassGroupId:i,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:a}=t,c=[],f=e.trim().split(LT);let d="";for(let m=f.length-1;m>=0;m-=1){const p=f[m],{isExternal:g,modifiers:v,hasImportantModifier:S,baseClassName:w,maybePostfixModifierPosition:b}=n(p);if(g){d=p+(d.length>0?" "+d:d);continue}let k=!!b,_;if(k){const R=w.substring(0,b);_=i(R);const C=_&&a[_]?i(w):void 0;C&&C!==_&&(_=C,k=!1)}else _=i(w);if(!_){if(!k){d=p+(d.length>0?" "+d:d);continue}if(_=i(w),!_){d=p+(d.length>0?" "+d:d);continue}k=!1}const E=v.length===0?"":v.length===1?v[0]:l(v).join(":"),N=S?E+dh:E,P=N+_;if(c.indexOf(P)>-1)continue;c.push(P);const L=s(_,k);for(let R=0;R<L.length;++R){const C=L[R];c.push(N+C)}d=p+(d.length>0?" "+d:d)}return d},RT=(...e)=>{let t=0,n,i,s="";for(;t<e.length;)(n=e[t++])&&(i=Nx(n))&&(s&&(s+=" "),s+=i);return s},Nx=e=>{if(typeof e=="string")return e;let t,n="";for(let i=0;i<e.length;i++)e[i]&&(t=Nx(e[i]))&&(n&&(n+=" "),n+=t);return n},jT=(e,...t)=>{let n,i,s,l;const a=f=>{const d=t.reduce((m,p)=>p(m),e());return n=AT(d),i=n.cache.get,s=n.cache.set,l=c,c(f)},c=f=>{const d=i(f);if(d)return d;const m=MT(f,n);return s(f,m),m};return l=a,(...f)=>l(RT(...f))},DT=[],it=e=>{const t=n=>n[e]||DT;return t.isThemeGetter=!0,t},Cx=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ix=/^\((?:(\w[\w-]*):)?(.+)\)$/i,$T=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,zT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,FT=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,BT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,VT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,HT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Sr=e=>$T.test(e),Ie=e=>!!e&&!Number.isNaN(Number(e)),Nn=e=>!!e&&Number.isInteger(Number(e)),Wf=e=>e.endsWith("%")&&Ie(e.slice(0,-1)),qn=e=>zT.test(e),Tx=()=>!0,WT=e=>FT.test(e)&&!BT.test(e),Hh=()=>!1,UT=e=>VT.test(e),qT=e=>HT.test(e),YT=e=>!me(e)&&!ye(e),KT=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),GT=e=>Ir(e,Ox,Hh),me=e=>Cx.test(e),Gr=e=>Ir(e,Lx,WT),n0=e=>Ir(e,rP,Ie),XT=e=>Ir(e,Rx,Tx),QT=e=>Ir(e,Mx,Hh),r0=e=>Ir(e,Px,Hh),JT=e=>Ir(e,Ax,qT),va=e=>Ir(e,jx,UT),ye=e=>Ix.test(e),hs=e=>ui(e,Lx),ZT=e=>ui(e,Mx),i0=e=>ui(e,Px),eP=e=>ui(e,Ox),tP=e=>ui(e,Ax),wa=e=>ui(e,jx,!0),nP=e=>ui(e,Rx,!0),Ir=(e,t,n)=>{const i=Cx.exec(e);return i?i[1]?t(i[1]):n(i[2]):!1},ui=(e,t,n=!1)=>{const i=Ix.exec(e);return i?i[1]?t(i[1]):n:!1},Px=e=>e==="position"||e==="percentage",Ax=e=>e==="image"||e==="url",Ox=e=>e==="length"||e==="size"||e==="bg-size",Lx=e=>e==="length",rP=e=>e==="number",Mx=e=>e==="family-name",Rx=e=>e==="number"||e==="weight",jx=e=>e==="shadow",iP=()=>{const e=it("color"),t=it("font"),n=it("text"),i=it("font-weight"),s=it("tracking"),l=it("leading"),a=it("breakpoint"),c=it("container"),f=it("spacing"),d=it("radius"),m=it("shadow"),p=it("inset-shadow"),g=it("text-shadow"),v=it("drop-shadow"),S=it("blur"),w=it("perspective"),b=it("aspect"),k=it("ease"),_=it("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],P=()=>[...N(),ye,me],L=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],C=()=>[ye,me,f],O=()=>[Sr,"full","auto",...C()],F=()=>[Nn,"none","subgrid",ye,me],M=()=>["auto",{span:["full",Nn,ye,me]},Nn,ye,me],$=()=>[Nn,"auto",ye,me],Z=()=>["auto","min","max","fr",ye,me],D=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...C()],J=()=>[Sr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],Y=()=>[Sr,"screen","full","dvw","lvw","svw","min","max","fit",...C()],W=()=>[Sr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],B=()=>[e,ye,me],j=()=>[...N(),i0,r0,{position:[ye,me]}],H=()=>["no-repeat",{repeat:["","x","y","space","round"]}],V=()=>["auto","cover","contain",eP,GT,{size:[ye,me]}],K=()=>[Wf,hs,Gr],Q=()=>["","none","full",d,ye,me],re=()=>["",Ie,hs,Gr],se=()=>["solid","dashed","dotted","double"],ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],oe=()=>[Ie,Wf,i0,r0],de=()=>["","none",S,ye,me],xe=()=>["none",Ie,ye,me],he=()=>["none",Ie,ye,me],fe=()=>[Ie,ye,me],ke=()=>[Sr,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[qn],breakpoint:[qn],color:[Tx],container:[qn],"drop-shadow":[qn],ease:["in","out","in-out"],font:[YT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[qn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[qn],shadow:[qn],spacing:["px",Ie],text:[qn],"text-shadow":[qn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Sr,me,ye,b]}],container:["container"],"container-type":[{"@container":["","normal","size",ye,me]}],"container-named":[KT],columns:[{columns:[Ie,me,ye,c]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:P()}],overflow:[{overflow:L()}],"overflow-x":[{"overflow-x":L()}],"overflow-y":[{"overflow-y":L()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{"inset-s":O(),start:O()}],end:[{"inset-e":O(),end:O()}],"inset-bs":[{"inset-bs":O()}],"inset-be":[{"inset-be":O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[Nn,"auto",ye,me]}],basis:[{basis:[Sr,"full","auto",c,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ie,Sr,"auto","initial","none",me]}],grow:[{grow:["",Ie,ye,me]}],shrink:[{shrink:["",Ie,ye,me]}],order:[{order:[Nn,"first","last","none",ye,me]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Z()}],"auto-rows":[{"auto-rows":Z()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...D(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...D()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],"inline-size":[{inline:["auto",...Y()]}],"min-inline-size":[{"min-inline":["auto",...Y()]}],"max-inline-size":[{"max-inline":["none",...Y()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[c,"screen",...J()]}],"min-w":[{"min-w":[c,"screen","none",...J()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[a]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",n,hs,Gr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,nP,XT]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Wf,me]}],"font-family":[{font:[ZT,QT,t]}],"font-features":[{"font-features":[me]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,ye,me]}],"line-clamp":[{"line-clamp":[Ie,"none",ye,n0]}],leading:[{leading:[l,...C()]}],"list-image":[{"list-image":["none",ye,me]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ye,me]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:B()}],"text-color":[{text:B()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...se(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ie,"from-font","auto",ye,Gr]}],"text-decoration-color":[{decoration:B()}],"underline-offset":[{"underline-offset":[Ie,"auto",ye,me]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"tab-size":[{tab:[Nn,ye,me]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ye,me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ye,me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:j()}],"bg-repeat":[{bg:H()}],"bg-size":[{bg:V()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Nn,ye,me],radial:["",ye,me],conic:[Nn,ye,me]},tP,JT]}],"bg-color":[{bg:B()}],"gradient-from-pos":[{from:K()}],"gradient-via-pos":[{via:K()}],"gradient-to-pos":[{to:K()}],"gradient-from":[{from:B()}],"gradient-via":[{via:B()}],"gradient-to":[{to:B()}],rounded:[{rounded:Q()}],"rounded-s":[{"rounded-s":Q()}],"rounded-e":[{"rounded-e":Q()}],"rounded-t":[{"rounded-t":Q()}],"rounded-r":[{"rounded-r":Q()}],"rounded-b":[{"rounded-b":Q()}],"rounded-l":[{"rounded-l":Q()}],"rounded-ss":[{"rounded-ss":Q()}],"rounded-se":[{"rounded-se":Q()}],"rounded-ee":[{"rounded-ee":Q()}],"rounded-es":[{"rounded-es":Q()}],"rounded-tl":[{"rounded-tl":Q()}],"rounded-tr":[{"rounded-tr":Q()}],"rounded-br":[{"rounded-br":Q()}],"rounded-bl":[{"rounded-bl":Q()}],"border-w":[{border:re()}],"border-w-x":[{"border-x":re()}],"border-w-y":[{"border-y":re()}],"border-w-s":[{"border-s":re()}],"border-w-e":[{"border-e":re()}],"border-w-bs":[{"border-bs":re()}],"border-w-be":[{"border-be":re()}],"border-w-t":[{"border-t":re()}],"border-w-r":[{"border-r":re()}],"border-w-b":[{"border-b":re()}],"border-w-l":[{"border-l":re()}],"divide-x":[{"divide-x":re()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":re()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...se(),"hidden","none"]}],"divide-style":[{divide:[...se(),"hidden","none"]}],"border-color":[{border:B()}],"border-color-x":[{"border-x":B()}],"border-color-y":[{"border-y":B()}],"border-color-s":[{"border-s":B()}],"border-color-e":[{"border-e":B()}],"border-color-bs":[{"border-bs":B()}],"border-color-be":[{"border-be":B()}],"border-color-t":[{"border-t":B()}],"border-color-r":[{"border-r":B()}],"border-color-b":[{"border-b":B()}],"border-color-l":[{"border-l":B()}],"divide-color":[{divide:B()}],"outline-style":[{outline:[...se(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ie,ye,me]}],"outline-w":[{outline:["",Ie,hs,Gr]}],"outline-color":[{outline:B()}],shadow:[{shadow:["","none",m,wa,va]}],"shadow-color":[{shadow:B()}],"inset-shadow":[{"inset-shadow":["none",p,wa,va]}],"inset-shadow-color":[{"inset-shadow":B()}],"ring-w":[{ring:re()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:B()}],"ring-offset-w":[{"ring-offset":[Ie,Gr]}],"ring-offset-color":[{"ring-offset":B()}],"inset-ring-w":[{"inset-ring":re()}],"inset-ring-color":[{"inset-ring":B()}],"text-shadow":[{"text-shadow":["none",g,wa,va]}],"text-shadow-color":[{"text-shadow":B()}],opacity:[{opacity:[Ie,ye,me]}],"mix-blend":[{"mix-blend":[...ee(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ee()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Ie]}],"mask-image-linear-from-pos":[{"mask-linear-from":oe()}],"mask-image-linear-to-pos":[{"mask-linear-to":oe()}],"mask-image-linear-from-color":[{"mask-linear-from":B()}],"mask-image-linear-to-color":[{"mask-linear-to":B()}],"mask-image-t-from-pos":[{"mask-t-from":oe()}],"mask-image-t-to-pos":[{"mask-t-to":oe()}],"mask-image-t-from-color":[{"mask-t-from":B()}],"mask-image-t-to-color":[{"mask-t-to":B()}],"mask-image-r-from-pos":[{"mask-r-from":oe()}],"mask-image-r-to-pos":[{"mask-r-to":oe()}],"mask-image-r-from-color":[{"mask-r-from":B()}],"mask-image-r-to-color":[{"mask-r-to":B()}],"mask-image-b-from-pos":[{"mask-b-from":oe()}],"mask-image-b-to-pos":[{"mask-b-to":oe()}],"mask-image-b-from-color":[{"mask-b-from":B()}],"mask-image-b-to-color":[{"mask-b-to":B()}],"mask-image-l-from-pos":[{"mask-l-from":oe()}],"mask-image-l-to-pos":[{"mask-l-to":oe()}],"mask-image-l-from-color":[{"mask-l-from":B()}],"mask-image-l-to-color":[{"mask-l-to":B()}],"mask-image-x-from-pos":[{"mask-x-from":oe()}],"mask-image-x-to-pos":[{"mask-x-to":oe()}],"mask-image-x-from-color":[{"mask-x-from":B()}],"mask-image-x-to-color":[{"mask-x-to":B()}],"mask-image-y-from-pos":[{"mask-y-from":oe()}],"mask-image-y-to-pos":[{"mask-y-to":oe()}],"mask-image-y-from-color":[{"mask-y-from":B()}],"mask-image-y-to-color":[{"mask-y-to":B()}],"mask-image-radial":[{"mask-radial":[ye,me]}],"mask-image-radial-from-pos":[{"mask-radial-from":oe()}],"mask-image-radial-to-pos":[{"mask-radial-to":oe()}],"mask-image-radial-from-color":[{"mask-radial-from":B()}],"mask-image-radial-to-color":[{"mask-radial-to":B()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[Ie]}],"mask-image-conic-from-pos":[{"mask-conic-from":oe()}],"mask-image-conic-to-pos":[{"mask-conic-to":oe()}],"mask-image-conic-from-color":[{"mask-conic-from":B()}],"mask-image-conic-to-color":[{"mask-conic-to":B()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:j()}],"mask-repeat":[{mask:H()}],"mask-size":[{mask:V()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ye,me]}],filter:[{filter:["","none",ye,me]}],blur:[{blur:de()}],brightness:[{brightness:[Ie,ye,me]}],contrast:[{contrast:[Ie,ye,me]}],"drop-shadow":[{"drop-shadow":["","none",v,wa,va]}],"drop-shadow-color":[{"drop-shadow":B()}],grayscale:[{grayscale:["",Ie,ye,me]}],"hue-rotate":[{"hue-rotate":[Ie,ye,me]}],invert:[{invert:["",Ie,ye,me]}],saturate:[{saturate:[Ie,ye,me]}],sepia:[{sepia:["",Ie,ye,me]}],"backdrop-filter":[{"backdrop-filter":["","none",ye,me]}],"backdrop-blur":[{"backdrop-blur":de()}],"backdrop-brightness":[{"backdrop-brightness":[Ie,ye,me]}],"backdrop-contrast":[{"backdrop-contrast":[Ie,ye,me]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ie,ye,me]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ie,ye,me]}],"backdrop-invert":[{"backdrop-invert":["",Ie,ye,me]}],"backdrop-opacity":[{"backdrop-opacity":[Ie,ye,me]}],"backdrop-saturate":[{"backdrop-saturate":[Ie,ye,me]}],"backdrop-sepia":[{"backdrop-sepia":["",Ie,ye,me]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ye,me]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ie,"initial",ye,me]}],ease:[{ease:["linear","initial",k,ye,me]}],delay:[{delay:[Ie,ye,me]}],animate:[{animate:["none",_,ye,me]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,ye,me]}],"perspective-origin":[{"perspective-origin":P()}],rotate:[{rotate:xe()}],"rotate-x":[{"rotate-x":xe()}],"rotate-y":[{"rotate-y":xe()}],"rotate-z":[{"rotate-z":xe()}],scale:[{scale:he()}],"scale-x":[{"scale-x":he()}],"scale-y":[{"scale-y":he()}],"scale-z":[{"scale-z":he()}],"scale-3d":["scale-3d"],skew:[{skew:fe()}],"skew-x":[{"skew-x":fe()}],"skew-y":[{"skew-y":fe()}],transform:[{transform:[ye,me,"","none","gpu","cpu"]}],"transform-origin":[{origin:P()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ke()}],"translate-x":[{"translate-x":ke()}],"translate-y":[{"translate-y":ke()}],"translate-z":[{"translate-z":ke()}],"translate-none":["translate-none"],zoom:[{zoom:[Nn,ye,me]}],accent:[{accent:B()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:B()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ye,me]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":B()}],"scrollbar-track-color":[{"scrollbar-track":B()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ye,me]}],fill:[{fill:["none",...B()]}],"stroke-w":[{stroke:[Ie,hs,Gr,n0]}],stroke:[{stroke:["none",...B()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},oP=jT(iP);function at(...e){return oP(Sx(e))}function o0(e){return e?e.replace(/^trigger\./,""):""}function sP({activeView:e,onViewChange:t,liveConnected:n,workflows:i=[],selected:s,onSelect:l,onRun:a,version:c}){return A.jsxs("aside",{className:"w-60 shrink-0 bg-bg border-r border-border flex flex-col",children:[A.jsxs("div",{className:"h-12 flex items-center gap-2 px-4 border-b border-border",children:[A.jsx("div",{className:"size-5 rounded bg-fg flex items-center justify-center text-bg text-[10px] font-mono",children:"~/"}),A.jsx("span",{className:"font-semibold tracking-tight",children:"agentic-surfaces"}),c&&A.jsxs("span",{"data-testid":"version",className:"ml-auto text-[10px] text-mutedfg font-mono",children:["v",c]})]}),A.jsx("div",{className:"px-3 pt-3 pb-1 text-[11px] uppercase tracking-wider text-mutedfg",children:"Workflows"}),A.jsxs("nav",{className:"px-2 space-y-0.5",children:[i.length===0&&A.jsx("div",{className:"px-2.5 py-1.5 text-[12px] text-mutedfg",children:"No workflows loaded."}),i.map(f=>A.jsxs("div",{"data-testid":"workflow-item",className:at("group w-full px-2.5 py-1.5 rounded-md flex items-center gap-2 text-[13px] cursor-pointer",f.name===s?"bg-muted":"hover:bg-muted text-mutedfg"),onClick:()=>l==null?void 0:l(f.name),children:[A.jsx("span",{className:at("size-1.5 rounded-full flex-shrink-0",f.name===s?"bg-ok":"bg-border")}),A.jsx("span",{className:"truncate",children:f.name}),f.runnable&&a&&A.jsx("button",{"data-testid":"run-workflow",title:`Run ${f.name}`,onClick:d=>{d.stopPropagation(),a(f.name)},className:"ml-auto text-[11px] font-mono text-mutedfg hover:text-ok px-1 rounded opacity-0 group-hover:opacity-100",children:"▶ run"}),!(f.runnable&&a)&&o0(f.triggerType)&&A.jsx("span",{className:"ml-auto text-[10px] text-mutedfg font-mono",children:o0(f.triggerType)})]},f.name))]}),A.jsx("div",{className:"px-3 pt-5 pb-1 text-[11px] uppercase tracking-wider text-mutedfg",children:"View"}),A.jsxs("nav",{className:"px-2 space-y-0.5",children:[A.jsx("button",{onClick:()=>t("board"),className:at("w-full text-left px-2.5 py-1.5 rounded-md flex items-center gap-2 text-[13px]",e==="board"?"bg-muted":"hover:bg-muted text-mutedfg"),children:"Whiteboard"}),A.jsxs("button",{onClick:()=>t("runs"),className:at("w-full text-left px-2.5 py-1.5 rounded-md flex items-center gap-2 text-[13px]",e==="runs"?"bg-muted":"hover:bg-muted text-mutedfg"),children:["Runs",n&&A.jsx("span",{className:"ml-auto size-1.5 rounded-full bg-ok pulse-dot"})]})]}),A.jsxs("div",{className:"mt-auto p-3 border-t border-border text-[11px] text-mutedfg leading-relaxed",children:[A.jsxs("div",{className:"flex items-center gap-1.5",children:[A.jsx("span",{className:at("size-1.5 rounded-full",n?"bg-ok":"bg-border")}),n?"server connected":"scheduler running"]}),A.jsxs("div",{className:"mt-1 font-mono",children:["no fleet state stored —",A.jsx("br",{}),"surfaces are the source of truth"]})]})]})}function lP({workflow:e,onLoadYaml:t}){const n=(e==null?void 0:e.name)??"no workflow loaded",i=e?`workflows/${e.name}.yaml`:"",[s,l]=T.useState(!1),a=T.useRef(null),c=T.useCallback(()=>{var m;const d=((m=a.current)==null?void 0:m.value)??"";d.trim()&&(t(d),l(!1))},[t]),f=T.useCallback(()=>{l(!1)},[]);return A.jsxs(A.Fragment,{children:[A.jsxs("header",{className:"h-12 shrink-0 bg-bg border-b border-border flex items-center px-4 gap-3",children:[A.jsx("h1",{className:"font-semibold tracking-tight",children:n}),i&&A.jsx("span",{className:"text-[11px] font-mono text-mutedfg px-1.5 py-0.5 bg-muted rounded",children:i}),A.jsx("div",{className:"ml-auto",children:A.jsx("button",{onClick:()=>l(!0),className:"text-[12px] px-2.5 py-1 rounded bg-muted hover:bg-border text-fg transition-colors",children:"Paste YAML"})})]}),s&&A.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-bg/80 z-50",children:A.jsxs("div",{className:"bg-bg border border-border rounded-lg shadow-lg p-4 flex flex-col gap-3 w-[520px] max-w-[90vw]",children:[A.jsxs("div",{className:"flex items-center justify-between",children:[A.jsx("span",{className:"font-semibold text-sm",children:"Paste YAML"}),A.jsx("button",{onClick:f,className:"text-mutedfg hover:text-fg text-lg leading-none","aria-label":"Close",children:"×"})]}),A.jsx("textarea",{ref:a,className:"w-full h-64 font-mono text-[12px] bg-muted border border-border rounded p-2 resize-y focus:outline-none focus:ring-1 focus:ring-primary",placeholder:"Paste your workflow YAML here...",spellCheck:!1}),A.jsxs("div",{className:"flex justify-end gap-2",children:[A.jsx("button",{onClick:f,className:"text-[12px] px-3 py-1.5 rounded bg-muted hover:bg-border text-fg transition-colors",children:"Cancel"}),A.jsx("button",{onClick:c,className:"text-[12px] px-3 py-1.5 rounded bg-primary hover:opacity-90 text-white transition-opacity",children:"Apply"})]})]})})]})}function s0({status:e}){return A.jsx("span",{"data-testid":"status-dot","data-status":e,className:at("size-1.5 rounded-full flex-shrink-0",e==="idle"&&"bg-border",e==="running"&&"bg-run pulse-dot",e==="success"&&"bg-ok",e==="failed"&&"bg-fail")})}function l0({data:e,selected:t}){const{node:n,liveStatus:i="idle"}=e;if(n.type==="agent.run"){const l=i==="running";return A.jsxs("div",{"data-testid":"agent-node","data-node-type":"agent.run","data-live-status":i,className:at("rounded-lg border overflow-hidden cursor-pointer","bg-agentbg border-agent/40",l?"agent-ring agent-live":"agent-ring"),style:{width:220,height:60},onClick:()=>{var a;return(a=e.onNodeClick)==null?void 0:a.call(e,n)},children:[A.jsx("div",{className:"h-1 bg-agent"}),A.jsxs("div",{className:"p-2.5 flex flex-col justify-center",style:{height:"calc(100% - 4px)"},children:[A.jsxs("div",{className:"flex items-center gap-1.5",children:[A.jsx(s0,{status:i}),A.jsx("span",{className:"font-medium text-agent text-[12px]",children:n.id}),A.jsx("span",{className:"ml-auto text-[9px] font-mono uppercase tracking-wide text-agent/70 bg-agent/10 px-1 rounded",children:"agent"})]}),A.jsx("div",{className:"font-mono text-[10px] text-agent/60 mt-0.5",children:n.type})]}),A.jsx(Nr,{type:"target",position:Se.Left,className:"!bg-agent/50"}),A.jsx(Nr,{type:"source",position:Se.Right,className:"!bg-agent/50"})]})}return A.jsxs("div",{"data-testid":"workflow-node","data-node-type":n.type,"data-live-status":i,className:at("rounded-lg border overflow-hidden cursor-pointer bg-bg border-border shadow-sm",t&&"ring-2 ring-fg/20"),style:{width:n.type==="task.branch"||n.type.startsWith("trigger.")?140:220,height:60},onClick:()=>{var l;return(l=e.onNodeClick)==null?void 0:l.call(e,n)},children:[A.jsx("div",{className:"h-1 bg-mutedfg/30"}),A.jsxs("div",{className:"p-2.5 flex flex-col justify-center",style:{height:"calc(100% - 4px)"},children:[A.jsxs("div",{className:"flex items-center gap-1.5",children:[A.jsx(s0,{status:i}),A.jsx("span",{className:"font-medium text-[12px]",children:n.id})]}),A.jsx("div",{className:"font-mono text-[10px] text-mutedfg mt-0.5",children:n.type})]}),A.jsx(Nr,{type:"target",position:Se.Left,className:"!bg-mutedfg/50"}),A.jsx(Nr,{type:"source",position:Se.Right,className:"!bg-mutedfg/50"})]})}var Uf,a0;function Wh(){if(a0)return Uf;a0=1;var e="\0",t="\0",n="";class i{constructor(m){Ze(this,"_isDirected",!0);Ze(this,"_isMultigraph",!1);Ze(this,"_isCompound",!1);Ze(this,"_label");Ze(this,"_defaultNodeLabelFn",()=>{});Ze(this,"_defaultEdgeLabelFn",()=>{});Ze(this,"_nodes",{});Ze(this,"_in",{});Ze(this,"_preds",{});Ze(this,"_out",{});Ze(this,"_sucs",{});Ze(this,"_edgeObjs",{});Ze(this,"_edgeLabels",{});Ze(this,"_nodeCount",0);Ze(this,"_edgeCount",0);Ze(this,"_parent");Ze(this,"_children");m&&(this._isDirected=Object.hasOwn(m,"directed")?m.directed:!0,this._isMultigraph=Object.hasOwn(m,"multigraph")?m.multigraph:!1,this._isCompound=Object.hasOwn(m,"compound")?m.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(m){return this._label=m,this}graph(){return this._label}setDefaultNodeLabel(m){return this._defaultNodeLabelFn=m,typeof m!="function"&&(this._defaultNodeLabelFn=()=>m),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var m=this;return this.nodes().filter(p=>Object.keys(m._in[p]).length===0)}sinks(){var m=this;return this.nodes().filter(p=>Object.keys(m._out[p]).length===0)}setNodes(m,p){var g=arguments,v=this;return m.forEach(function(S){g.length>1?v.setNode(S,p):v.setNode(S)}),this}setNode(m,p){return Object.hasOwn(this._nodes,m)?(arguments.length>1&&(this._nodes[m]=p),this):(this._nodes[m]=arguments.length>1?p:this._defaultNodeLabelFn(m),this._isCompound&&(this._parent[m]=t,this._children[m]={},this._children[t][m]=!0),this._in[m]={},this._preds[m]={},this._out[m]={},this._sucs[m]={},++this._nodeCount,this)}node(m){return this._nodes[m]}hasNode(m){return Object.hasOwn(this._nodes,m)}removeNode(m){var p=this;if(Object.hasOwn(this._nodes,m)){var g=v=>p.removeEdge(p._edgeObjs[v]);delete this._nodes[m],this._isCompound&&(this._removeFromParentsChildList(m),delete this._parent[m],this.children(m).forEach(function(v){p.setParent(v)}),delete this._children[m]),Object.keys(this._in[m]).forEach(g),delete this._in[m],delete this._preds[m],Object.keys(this._out[m]).forEach(g),delete this._out[m],delete this._sucs[m],--this._nodeCount}return this}setParent(m,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=t;else{p+="";for(var g=p;g!==void 0;g=this.parent(g))if(g===m)throw new Error("Setting "+p+" as parent of "+m+" would create a cycle");this.setNode(p)}return this.setNode(m),this._removeFromParentsChildList(m),this._parent[m]=p,this._children[p][m]=!0,this}_removeFromParentsChildList(m){delete this._children[this._parent[m]][m]}parent(m){if(this._isCompound){var p=this._parent[m];if(p!==t)return p}}children(m=t){if(this._isCompound){var p=this._children[m];if(p)return Object.keys(p)}else{if(m===t)return this.nodes();if(this.hasNode(m))return[]}}predecessors(m){var p=this._preds[m];if(p)return Object.keys(p)}successors(m){var p=this._sucs[m];if(p)return Object.keys(p)}neighbors(m){var p=this.predecessors(m);if(p){const v=new Set(p);for(var g of this.successors(m))v.add(g);return Array.from(v.values())}}isLeaf(m){var p;return this.isDirected()?p=this.successors(m):p=this.neighbors(m),p.length===0}filterNodes(m){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var g=this;Object.entries(this._nodes).forEach(function([w,b]){m(w)&&p.setNode(w,b)}),Object.values(this._edgeObjs).forEach(function(w){p.hasNode(w.v)&&p.hasNode(w.w)&&p.setEdge(w,g.edge(w))});var v={};function S(w){var b=g.parent(w);return b===void 0||p.hasNode(b)?(v[w]=b,b):b in v?v[b]:S(b)}return this._isCompound&&p.nodes().forEach(w=>p.setParent(w,S(w))),p}setDefaultEdgeLabel(m){return this._defaultEdgeLabelFn=m,typeof m!="function"&&(this._defaultEdgeLabelFn=()=>m),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(m,p){var g=this,v=arguments;return m.reduce(function(S,w){return v.length>1?g.setEdge(S,w,p):g.setEdge(S,w),w}),this}setEdge(){var m,p,g,v,S=!1,w=arguments[0];typeof w=="object"&&w!==null&&"v"in w?(m=w.v,p=w.w,g=w.name,arguments.length===2&&(v=arguments[1],S=!0)):(m=w,p=arguments[1],g=arguments[3],arguments.length>2&&(v=arguments[2],S=!0)),m=""+m,p=""+p,g!==void 0&&(g=""+g);var b=a(this._isDirected,m,p,g);if(Object.hasOwn(this._edgeLabels,b))return S&&(this._edgeLabels[b]=v),this;if(g!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(m),this.setNode(p),this._edgeLabels[b]=S?v:this._defaultEdgeLabelFn(m,p,g);var k=c(this._isDirected,m,p,g);return m=k.v,p=k.w,Object.freeze(k),this._edgeObjs[b]=k,s(this._preds[p],m),s(this._sucs[m],p),this._in[p][b]=k,this._out[m][b]=k,this._edgeCount++,this}edge(m,p,g){var v=arguments.length===1?f(this._isDirected,arguments[0]):a(this._isDirected,m,p,g);return this._edgeLabels[v]}edgeAsObj(){const m=this.edge(...arguments);return typeof m!="object"?{label:m}:m}hasEdge(m,p,g){var v=arguments.length===1?f(this._isDirected,arguments[0]):a(this._isDirected,m,p,g);return Object.hasOwn(this._edgeLabels,v)}removeEdge(m,p,g){var v=arguments.length===1?f(this._isDirected,arguments[0]):a(this._isDirected,m,p,g),S=this._edgeObjs[v];return S&&(m=S.v,p=S.w,delete this._edgeLabels[v],delete this._edgeObjs[v],l(this._preds[p],m),l(this._sucs[m],p),delete this._in[p][v],delete this._out[m][v],this._edgeCount--),this}inEdges(m,p){var g=this._in[m];if(g){var v=Object.values(g);return p?v.filter(S=>S.v===p):v}}outEdges(m,p){var g=this._out[m];if(g){var v=Object.values(g);return p?v.filter(S=>S.w===p):v}}nodeEdges(m,p){var g=this.inEdges(m,p);if(g)return g.concat(this.outEdges(m,p))}}function s(d,m){d[m]?d[m]++:d[m]=1}function l(d,m){--d[m]||delete d[m]}function a(d,m,p,g){var v=""+m,S=""+p;if(!d&&v>S){var w=v;v=S,S=w}return v+n+S+n+(g===void 0?e:g)}function c(d,m,p,g){var v=""+m,S=""+p;if(!d&&v>S){var w=v;v=S,S=w}var b={v,w:S};return g&&(b.name=g),b}function f(d,m){return a(d,m.v,m.w,m.name)}return Uf=i,Uf}var qf,u0;function aP(){return u0||(u0=1,qf="2.2.4"),qf}var Yf,c0;function uP(){return c0||(c0=1,Yf={Graph:Wh(),version:aP()}),Yf}var Kf,f0;function cP(){if(f0)return Kf;f0=1;var e=Wh();Kf={write:t,read:s};function t(l){var a={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:n(l),edges:i(l)};return l.graph()!==void 0&&(a.value=structuredClone(l.graph())),a}function n(l){return l.nodes().map(function(a){var c=l.node(a),f=l.parent(a),d={v:a};return c!==void 0&&(d.value=c),f!==void 0&&(d.parent=f),d})}function i(l){return l.edges().map(function(a){var c=l.edge(a),f={v:a.v,w:a.w};return a.name!==void 0&&(f.name=a.name),c!==void 0&&(f.value=c),f})}function s(l){var a=new e(l.options).setGraph(l.value);return l.nodes.forEach(function(c){a.setNode(c.v,c.value),c.parent&&a.setParent(c.v,c.parent)}),l.edges.forEach(function(c){a.setEdge({v:c.v,w:c.w,name:c.name},c.value)}),a}return Kf}var Gf,d0;function fP(){if(d0)return Gf;d0=1,Gf=e;function e(t){var n={},i=[],s;function l(a){Object.hasOwn(n,a)||(n[a]=!0,s.push(a),t.successors(a).forEach(l),t.predecessors(a).forEach(l))}return t.nodes().forEach(function(a){s=[],l(a),s.length&&i.push(s)}),i}return Gf}var Xf,h0;function Dx(){if(h0)return Xf;h0=1;class e{constructor(){Ze(this,"_arr",[]);Ze(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var i=this._keyIndices[n];if(i!==void 0)return this._arr[i].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,i){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var l=this._arr,a=l.length;return s[n]=a,l.push({key:n,priority:i}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,i){var s=this._keyIndices[n];if(i>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+i);this._arr[s].priority=i,this._decrease(s)}_heapify(n){var i=this._arr,s=2*n,l=s+1,a=n;s<i.length&&(a=i[s].priority<i[a].priority?s:a,l<i.length&&(a=i[l].priority<i[a].priority?l:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var i=this._arr,s=i[n].priority,l;n!==0&&(l=n>>1,!(i[l].priority<s));)this._swap(n,l),n=l}_swap(n,i){var s=this._arr,l=this._keyIndices,a=s[n],c=s[i];s[n]=c,s[i]=a,l[c.key]=n,l[a.key]=i}}return Xf=e,Xf}var Qf,p0;function $x(){if(p0)return Qf;p0=1;var e=Dx();Qf=n;var t=()=>1;function n(s,l,a,c){return i(s,String(l),a||t,c||function(f){return s.outEdges(f)})}function i(s,l,a,c){var f={},d=new e,m,p,g=function(v){var S=v.v!==m?v.v:v.w,w=f[S],b=a(v),k=p.distance+b;if(b<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+b);k<w.distance&&(w.distance=k,w.predecessor=m,d.decrease(S,k))};for(s.nodes().forEach(function(v){var S=v===l?0:Number.POSITIVE_INFINITY;f[v]={distance:S},d.add(v,S)});d.size()>0&&(m=d.removeMin(),p=f[m],p.distance!==Number.POSITIVE_INFINITY);)c(m).forEach(g);return f}return Qf}var Jf,m0;function dP(){if(m0)return Jf;m0=1;var e=$x();Jf=t;function t(n,i,s){return n.nodes().reduce(function(l,a){return l[a]=e(n,a,i,s),l},{})}return Jf}var Zf,g0;function zx(){if(g0)return Zf;g0=1,Zf=e;function e(t){var n=0,i=[],s={},l=[];function a(c){var f=s[c]={onStack:!0,lowlink:n,index:n++};if(i.push(c),t.successors(c).forEach(function(p){Object.hasOwn(s,p)?s[p].onStack&&(f.lowlink=Math.min(f.lowlink,s[p].index)):(a(p),f.lowlink=Math.min(f.lowlink,s[p].lowlink))}),f.lowlink===f.index){var d=[],m;do m=i.pop(),s[m].onStack=!1,d.push(m);while(c!==m);l.push(d)}}return t.nodes().forEach(function(c){Object.hasOwn(s,c)||a(c)}),l}return Zf}var ed,y0;function hP(){if(y0)return ed;y0=1;var e=zx();ed=t;function t(n){return e(n).filter(function(i){return i.length>1||i.length===1&&n.hasEdge(i[0],i[0])})}return ed}var td,v0;function pP(){if(v0)return td;v0=1,td=t;var e=()=>1;function t(i,s,l){return n(i,s||e,l||function(a){return i.outEdges(a)})}function n(i,s,l){var a={},c=i.nodes();return c.forEach(function(f){a[f]={},a[f][f]={distance:0},c.forEach(function(d){f!==d&&(a[f][d]={distance:Number.POSITIVE_INFINITY})}),l(f).forEach(function(d){var m=d.v===f?d.w:d.v,p=s(d);a[f][m]={distance:p,predecessor:f}})}),c.forEach(function(f){var d=a[f];c.forEach(function(m){var p=a[m];c.forEach(function(g){var v=p[f],S=d[g],w=p[g],b=v.distance+S.distance;b<w.distance&&(w.distance=b,w.predecessor=S.predecessor)})})}),a}return td}var nd,w0;function Fx(){if(w0)return nd;w0=1;function e(n){var i={},s={},l=[];function a(c){if(Object.hasOwn(s,c))throw new t;Object.hasOwn(i,c)||(s[c]=!0,i[c]=!0,n.predecessors(c).forEach(a),delete s[c],l.push(c))}if(n.sinks().forEach(a),Object.keys(i).length!==n.nodeCount())throw new t;return l}class t extends Error{constructor(){super(...arguments)}}return nd=e,e.CycleException=t,nd}var rd,x0;function mP(){if(x0)return rd;x0=1;var e=Fx();rd=t;function t(n){try{e(n)}catch(i){if(i instanceof e.CycleException)return!1;throw i}return!0}return rd}var id,b0;function Bx(){if(b0)return id;b0=1,id=e;function e(s,l,a){Array.isArray(l)||(l=[l]);var c=s.isDirected()?p=>s.successors(p):p=>s.neighbors(p),f=a==="post"?t:n,d=[],m={};return l.forEach(p=>{if(!s.hasNode(p))throw new Error("Graph does not have node: "+p);f(p,c,m,d)}),d}function t(s,l,a,c){for(var f=[[s,!1]];f.length>0;){var d=f.pop();d[1]?c.push(d[0]):Object.hasOwn(a,d[0])||(a[d[0]]=!0,f.push([d[0],!0]),i(l(d[0]),m=>f.push([m,!1])))}}function n(s,l,a,c){for(var f=[s];f.length>0;){var d=f.pop();Object.hasOwn(a,d)||(a[d]=!0,c.push(d),i(l(d),m=>f.push(m)))}}function i(s,l){for(var a=s.length;a--;)l(s[a],a,s);return s}return id}var od,S0;function gP(){if(S0)return od;S0=1;var e=Bx();od=t;function t(n,i){return e(n,i,"post")}return od}var sd,k0;function yP(){if(k0)return sd;k0=1;var e=Bx();sd=t;function t(n,i){return e(n,i,"pre")}return sd}var ld,E0;function vP(){if(E0)return ld;E0=1;var e=Wh(),t=Dx();ld=n;function n(i,s){var l=new e,a={},c=new t,f;function d(p){var g=p.v===f?p.w:p.v,v=c.priority(g);if(v!==void 0){var S=s(p);S<v&&(a[g]=f,c.decrease(g,S))}}if(i.nodeCount()===0)return l;i.nodes().forEach(function(p){c.add(p,Number.POSITIVE_INFINITY),l.setNode(p)}),c.decrease(i.nodes()[0],0);for(var m=!1;c.size()>0;){if(f=c.removeMin(),Object.hasOwn(a,f))l.setEdge(f,a[f]);else{if(m)throw new Error("Input graph is not connected: "+i);m=!0}i.nodeEdges(f).forEach(d)}return l}return ld}var ad,_0;function wP(){return _0||(_0=1,ad={components:fP(),dijkstra:$x(),dijkstraAll:dP(),findCycles:hP(),floydWarshall:pP(),isAcyclic:mP(),postorder:gP(),preorder:yP(),prim:vP(),tarjan:zx(),topsort:Fx()}),ad}var ud,N0;function mn(){if(N0)return ud;N0=1;var e=uP();return ud={Graph:e.Graph,json:cP(),alg:wP(),version:e.version},ud}var cd,C0;function xP(){if(C0)return cd;C0=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,l=s._prev;if(l!==s)return t(l),l}enqueue(s){let l=this._sentinel;s._prev&&s._next&&t(s),s._next=l._next,l._next._prev=s,l._next=s,s._prev=l}toString(){let s=[],l=this._sentinel,a=l._prev;for(;a!==l;)s.push(JSON.stringify(a,n)),a=a._prev;return"["+s.join(", ")+"]"}}function t(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function n(i,s){if(i!=="_next"&&i!=="_prev")return s}return cd=e,cd}var fd,I0;function bP(){if(I0)return fd;I0=1;let e=mn().Graph,t=xP();fd=i;let n=()=>1;function i(d,m){if(d.nodeCount()<=1)return[];let p=a(d,m||n);return s(p.graph,p.buckets,p.zeroIdx).flatMap(v=>d.outEdges(v.v,v.w))}function s(d,m,p){let g=[],v=m[m.length-1],S=m[0],w;for(;d.nodeCount();){for(;w=S.dequeue();)l(d,m,p,w);for(;w=v.dequeue();)l(d,m,p,w);if(d.nodeCount()){for(let b=m.length-2;b>0;--b)if(w=m[b].dequeue(),w){g=g.concat(l(d,m,p,w,!0));break}}}return g}function l(d,m,p,g,v){let S=v?[]:void 0;return d.inEdges(g.v).forEach(w=>{let b=d.edge(w),k=d.node(w.v);v&&S.push({v:w.v,w:w.w}),k.out-=b,c(m,p,k)}),d.outEdges(g.v).forEach(w=>{let b=d.edge(w),k=w.w,_=d.node(k);_.in-=b,c(m,p,_)}),d.removeNode(g.v),S}function a(d,m){let p=new e,g=0,v=0;d.nodes().forEach(b=>{p.setNode(b,{v:b,in:0,out:0})}),d.edges().forEach(b=>{let k=p.edge(b.v,b.w)||0,_=m(b),E=k+_;p.setEdge(b.v,b.w,E),v=Math.max(v,p.node(b.v).out+=_),g=Math.max(g,p.node(b.w).in+=_)});let S=f(v+g+3).map(()=>new t),w=g+1;return p.nodes().forEach(b=>{c(S,w,p.node(b))}),{graph:p,buckets:S,zeroIdx:w}}function c(d,m,p){p.out?p.in?d[p.out-p.in+m].enqueue(p):d[d.length-1].enqueue(p):d[0].enqueue(p)}function f(d){const m=[];for(let p=0;p<d;p++)m.push(p);return m}return fd}var dd,T0;function et(){if(T0)return dd;T0=1;let e=mn().Graph;dd={addBorderNode:m,addDummyNode:t,applyWithChunking:v,asNonCompoundGraph:i,buildLayerMatrix:c,intersectRect:a,mapValues:L,maxRank:S,normalizeRanks:f,notime:k,partition:w,pick:P,predecessorWeights:l,range:N,removeEmptyRanks:d,simplify:n,successorWeights:s,time:b,uniqueId:E,zipObject:R};function t(C,O,F,M){for(var $=M;C.hasNode($);)$=E(M);return F.dummy=O,C.setNode($,F),$}function n(C){let O=new e().setGraph(C.graph());return C.nodes().forEach(F=>O.setNode(F,C.node(F))),C.edges().forEach(F=>{let M=O.edge(F.v,F.w)||{weight:0,minlen:1},$=C.edge(F);O.setEdge(F.v,F.w,{weight:M.weight+$.weight,minlen:Math.max(M.minlen,$.minlen)})}),O}function i(C){let O=new e({multigraph:C.isMultigraph()}).setGraph(C.graph());return C.nodes().forEach(F=>{C.children(F).length||O.setNode(F,C.node(F))}),C.edges().forEach(F=>{O.setEdge(F,C.edge(F))}),O}function s(C){let O=C.nodes().map(F=>{let M={};return C.outEdges(F).forEach($=>{M[$.w]=(M[$.w]||0)+C.edge($).weight}),M});return R(C.nodes(),O)}function l(C){let O=C.nodes().map(F=>{let M={};return C.inEdges(F).forEach($=>{M[$.v]=(M[$.v]||0)+C.edge($).weight}),M});return R(C.nodes(),O)}function a(C,O){let F=C.x,M=C.y,$=O.x-F,Z=O.y-M,D=C.width/2,G=C.height/2;if(!$&&!Z)throw new Error("Not possible to find intersection inside of the rectangle");let q,J;return Math.abs(Z)*D>Math.abs($)*G?(Z<0&&(G=-G),q=G*$/Z,J=G):($<0&&(D=-D),q=D,J=D*Z/$),{x:F+q,y:M+J}}function c(C){let O=N(S(C)+1).map(()=>[]);return C.nodes().forEach(F=>{let M=C.node(F),$=M.rank;$!==void 0&&(O[$][M.order]=F)}),O}function f(C){let O=C.nodes().map(M=>{let $=C.node(M).rank;return $===void 0?Number.MAX_VALUE:$}),F=v(Math.min,O);C.nodes().forEach(M=>{let $=C.node(M);Object.hasOwn($,"rank")&&($.rank-=F)})}function d(C){let O=C.nodes().map(D=>C.node(D).rank),F=v(Math.min,O),M=[];C.nodes().forEach(D=>{let G=C.node(D).rank-F;M[G]||(M[G]=[]),M[G].push(D)});let $=0,Z=C.graph().nodeRankFactor;Array.from(M).forEach((D,G)=>{D===void 0&&G%Z!==0?--$:D!==void 0&&$&&D.forEach(q=>C.node(q).rank+=$)})}function m(C,O,F,M){let $={width:0,height:0};return arguments.length>=4&&($.rank=F,$.order=M),t(C,"border",$,O)}function p(C,O=g){const F=[];for(let M=0;M<C.length;M+=O){const $=C.slice(M,M+O);F.push($)}return F}const g=65535;function v(C,O){if(O.length>g){const F=p(O);return C.apply(null,F.map(M=>C.apply(null,M)))}else return C.apply(null,O)}function S(C){const F=C.nodes().map(M=>{let $=C.node(M).rank;return $===void 0?Number.MIN_VALUE:$});return v(Math.max,F)}function w(C,O){let F={lhs:[],rhs:[]};return C.forEach(M=>{O(M)?F.lhs.push(M):F.rhs.push(M)}),F}function b(C,O){let F=Date.now();try{return O()}finally{console.log(C+" time: "+(Date.now()-F)+"ms")}}function k(C,O){return O()}let _=0;function E(C){var O=++_;return C+(""+O)}function N(C,O,F=1){O==null&&(O=C,C=0);let M=Z=>Z<O;F<0&&(M=Z=>O<Z);const $=[];for(let Z=C;M(Z);Z+=F)$.push(Z);return $}function P(C,O){const F={};for(const M of O)C[M]!==void 0&&(F[M]=C[M]);return F}function L(C,O){let F=O;return typeof O=="string"&&(F=M=>M[O]),Object.entries(C).reduce((M,[$,Z])=>(M[$]=F(Z,$),M),{})}function R(C,O){return C.reduce((F,M,$)=>(F[M]=O[$],F),{})}return dd}var hd,P0;function SP(){if(P0)return hd;P0=1;let e=bP(),t=et().uniqueId;hd={run:n,undo:s};function n(l){(l.graph().acyclicer==="greedy"?e(l,c(l)):i(l)).forEach(f=>{let d=l.edge(f);l.removeEdge(f),d.forwardName=f.name,d.reversed=!0,l.setEdge(f.w,f.v,d,t("rev"))});function c(f){return d=>f.edge(d).weight}}function i(l){let a=[],c={},f={};function d(m){Object.hasOwn(f,m)||(f[m]=!0,c[m]=!0,l.outEdges(m).forEach(p=>{Object.hasOwn(c,p.w)?a.push(p):d(p.w)}),delete c[m])}return l.nodes().forEach(d),a}function s(l){l.edges().forEach(a=>{let c=l.edge(a);if(c.reversed){l.removeEdge(a);let f=c.forwardName;delete c.reversed,delete c.forwardName,l.setEdge(a.w,a.v,c,f)}})}return hd}var pd,A0;function kP(){if(A0)return pd;A0=1;let e=et();pd={run:t,undo:i};function t(s){s.graph().dummyChains=[],s.edges().forEach(l=>n(s,l))}function n(s,l){let a=l.v,c=s.node(a).rank,f=l.w,d=s.node(f).rank,m=l.name,p=s.edge(l),g=p.labelRank;if(d===c+1)return;s.removeEdge(l);let v,S,w;for(w=0,++c;c<d;++w,++c)p.points=[],S={width:0,height:0,edgeLabel:p,edgeObj:l,rank:c},v=e.addDummyNode(s,"edge",S,"_d"),c===g&&(S.width=p.width,S.height=p.height,S.dummy="edge-label",S.labelpos=p.labelpos),s.setEdge(a,v,{weight:p.weight},m),w===0&&s.graph().dummyChains.push(v),a=v;s.setEdge(a,f,{weight:p.weight},m)}function i(s){s.graph().dummyChains.forEach(l=>{let a=s.node(l),c=a.edgeLabel,f;for(s.setEdge(a.edgeObj,c);a.dummy;)f=s.successors(l)[0],s.removeNode(l),c.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(c.x=a.x,c.y=a.y,c.width=a.width,c.height=a.height),l=f,a=s.node(l)})}return pd}var md,O0;function Za(){if(O0)return md;O0=1;const{applyWithChunking:e}=et();md={longestPath:t,slack:n};function t(i){var s={};function l(a){var c=i.node(a);if(Object.hasOwn(s,a))return c.rank;s[a]=!0;let f=i.outEdges(a).map(m=>m==null?Number.POSITIVE_INFINITY:l(m.w)-i.edge(m).minlen);var d=e(Math.min,f);return d===Number.POSITIVE_INFINITY&&(d=0),c.rank=d}i.sources().forEach(l)}function n(i,s){return i.node(s.w).rank-i.node(s.v).rank-i.edge(s).minlen}return md}var gd,L0;function Vx(){if(L0)return gd;L0=1;var e=mn().Graph,t=Za().slack;gd=n;function n(a){var c=new e({directed:!1}),f=a.nodes()[0],d=a.nodeCount();c.setNode(f,{});for(var m,p;i(c,a)<d;)m=s(c,a),p=c.hasNode(m.v)?t(a,m):-t(a,m),l(c,a,p);return c}function i(a,c){function f(d){c.nodeEdges(d).forEach(m=>{var p=m.v,g=d===p?m.w:p;!a.hasNode(g)&&!t(c,m)&&(a.setNode(g,{}),a.setEdge(d,g,{}),f(g))})}return a.nodes().forEach(f),a.nodeCount()}function s(a,c){return c.edges().reduce((d,m)=>{let p=Number.POSITIVE_INFINITY;return a.hasNode(m.v)!==a.hasNode(m.w)&&(p=t(c,m)),p<d[0]?[p,m]:d},[Number.POSITIVE_INFINITY,null])[1]}function l(a,c,f){a.nodes().forEach(d=>c.node(d).rank+=f)}return gd}var yd,M0;function EP(){if(M0)return yd;M0=1;var e=Vx(),t=Za().slack,n=Za().longestPath,i=mn().alg.preorder,s=mn().alg.postorder,l=et().simplify;yd=a,a.initLowLimValues=m,a.initCutValues=c,a.calcCutValue=d,a.leaveEdge=g,a.enterEdge=v,a.exchangeEdges=S;function a(_){_=l(_),n(_);var E=e(_);m(E),c(E,_);for(var N,P;N=g(E);)P=v(E,_,N),S(E,_,N,P)}function c(_,E){var N=s(_,_.nodes());N=N.slice(0,N.length-1),N.forEach(P=>f(_,E,P))}function f(_,E,N){var P=_.node(N),L=P.parent;_.edge(N,L).cutvalue=d(_,E,N)}function d(_,E,N){var P=_.node(N),L=P.parent,R=!0,C=E.edge(N,L),O=0;return C||(R=!1,C=E.edge(L,N)),O=C.weight,E.nodeEdges(N).forEach(F=>{var M=F.v===N,$=M?F.w:F.v;if($!==L){var Z=M===R,D=E.edge(F).weight;if(O+=Z?D:-D,b(_,N,$)){var G=_.edge(N,$).cutvalue;O+=Z?-G:G}}}),O}function m(_,E){arguments.length<2&&(E=_.nodes()[0]),p(_,{},1,E)}function p(_,E,N,P,L){var R=N,C=_.node(P);return E[P]=!0,_.neighbors(P).forEach(O=>{Object.hasOwn(E,O)||(N=p(_,E,N,O,P))}),C.low=R,C.lim=N++,L?C.parent=L:delete C.parent,N}function g(_){return _.edges().find(E=>_.edge(E).cutvalue<0)}function v(_,E,N){var P=N.v,L=N.w;E.hasEdge(P,L)||(P=N.w,L=N.v);var R=_.node(P),C=_.node(L),O=R,F=!1;R.lim>C.lim&&(O=C,F=!0);var M=E.edges().filter($=>F===k(_,_.node($.v),O)&&F!==k(_,_.node($.w),O));return M.reduce(($,Z)=>t(E,Z)<t(E,$)?Z:$)}function S(_,E,N,P){var L=N.v,R=N.w;_.removeEdge(L,R),_.setEdge(P.v,P.w,{}),m(_),c(_,E),w(_,E)}function w(_,E){var N=_.nodes().find(L=>!E.node(L).parent),P=i(_,N);P=P.slice(1),P.forEach(L=>{var R=_.node(L).parent,C=E.edge(L,R),O=!1;C||(C=E.edge(R,L),O=!0),E.node(L).rank=E.node(R).rank+(O?C.minlen:-C.minlen)})}function b(_,E,N){return _.hasEdge(E,N)}function k(_,E,N){return N.low<=E.lim&&E.lim<=N.lim}return yd}var vd,R0;function _P(){if(R0)return vd;R0=1;var e=Za(),t=e.longestPath,n=Vx(),i=EP();vd=s;function s(f){var d=f.graph().ranker;if(d instanceof Function)return d(f);switch(f.graph().ranker){case"network-simplex":c(f);break;case"tight-tree":a(f);break;case"longest-path":l(f);break;case"none":break;default:c(f)}}var l=t;function a(f){t(f),n(f)}function c(f){i(f)}return vd}var wd,j0;function NP(){if(j0)return wd;j0=1,wd=e;function e(i){let s=n(i);i.graph().dummyChains.forEach(l=>{let a=i.node(l),c=a.edgeObj,f=t(i,s,c.v,c.w),d=f.path,m=f.lca,p=0,g=d[p],v=!0;for(;l!==c.w;){if(a=i.node(l),v){for(;(g=d[p])!==m&&i.node(g).maxRank<a.rank;)p++;g===m&&(v=!1)}if(!v){for(;p<d.length-1&&i.node(g=d[p+1]).minRank<=a.rank;)p++;g=d[p]}i.setParent(l,g),l=i.successors(l)[0]}})}function t(i,s,l,a){let c=[],f=[],d=Math.min(s[l].low,s[a].low),m=Math.max(s[l].lim,s[a].lim),p,g;p=l;do p=i.parent(p),c.push(p);while(p&&(s[p].low>d||m>s[p].lim));for(g=p,p=a;(p=i.parent(p))!==g;)f.push(p);return{path:c.concat(f.reverse()),lca:g}}function n(i){let s={},l=0;function a(c){let f=l;i.children(c).forEach(a),s[c]={low:f,lim:l++}}return i.children().forEach(a),s}return wd}var xd,D0;function CP(){if(D0)return xd;D0=1;let e=et();xd={run:t,cleanup:l};function t(a){let c=e.addDummyNode(a,"root",{},"_root"),f=i(a),d=Object.values(f),m=e.applyWithChunking(Math.max,d)-1,p=2*m+1;a.graph().nestingRoot=c,a.edges().forEach(v=>a.edge(v).minlen*=p);let g=s(a)+1;a.children().forEach(v=>n(a,c,p,g,m,f,v)),a.graph().nodeRankFactor=p}function n(a,c,f,d,m,p,g){let v=a.children(g);if(!v.length){g!==c&&a.setEdge(c,g,{weight:0,minlen:f});return}let S=e.addBorderNode(a,"_bt"),w=e.addBorderNode(a,"_bb"),b=a.node(g);a.setParent(S,g),b.borderTop=S,a.setParent(w,g),b.borderBottom=w,v.forEach(k=>{n(a,c,f,d,m,p,k);let _=a.node(k),E=_.borderTop?_.borderTop:k,N=_.borderBottom?_.borderBottom:k,P=_.borderTop?d:2*d,L=E!==N?1:m-p[g]+1;a.setEdge(S,E,{weight:P,minlen:L,nestingEdge:!0}),a.setEdge(N,w,{weight:P,minlen:L,nestingEdge:!0})}),a.parent(g)||a.setEdge(c,S,{weight:0,minlen:m+p[g]})}function i(a){var c={};function f(d,m){var p=a.children(d);p&&p.length&&p.forEach(g=>f(g,m+1)),c[d]=m}return a.children().forEach(d=>f(d,1)),c}function s(a){return a.edges().reduce((c,f)=>c+a.edge(f).weight,0)}function l(a){var c=a.graph();a.removeNode(c.nestingRoot),delete c.nestingRoot,a.edges().forEach(f=>{var d=a.edge(f);d.nestingEdge&&a.removeEdge(f)})}return xd}var bd,$0;function IP(){if($0)return bd;$0=1;let e=et();bd=t;function t(i){function s(l){let a=i.children(l),c=i.node(l);if(a.length&&a.forEach(s),Object.hasOwn(c,"minRank")){c.borderLeft=[],c.borderRight=[];for(let f=c.minRank,d=c.maxRank+1;f<d;++f)n(i,"borderLeft","_bl",l,c,f),n(i,"borderRight","_br",l,c,f)}}i.children().forEach(s)}function n(i,s,l,a,c,f){let d={width:0,height:0,rank:f,borderType:s},m=c[s][f-1],p=e.addDummyNode(i,"border",d,l);c[s][f]=p,i.setParent(p,a),m&&i.setEdge(m,p,{weight:1})}return bd}var Sd,z0;function TP(){if(z0)return Sd;z0=1,Sd={adjust:e,undo:t};function e(f){let d=f.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&n(f)}function t(f){let d=f.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&s(f),(d==="lr"||d==="rl")&&(a(f),n(f))}function n(f){f.nodes().forEach(d=>i(f.node(d))),f.edges().forEach(d=>i(f.edge(d)))}function i(f){let d=f.width;f.width=f.height,f.height=d}function s(f){f.nodes().forEach(d=>l(f.node(d))),f.edges().forEach(d=>{let m=f.edge(d);m.points.forEach(l),Object.hasOwn(m,"y")&&l(m)})}function l(f){f.y=-f.y}function a(f){f.nodes().forEach(d=>c(f.node(d))),f.edges().forEach(d=>{let m=f.edge(d);m.points.forEach(c),Object.hasOwn(m,"x")&&c(m)})}function c(f){let d=f.x;f.x=f.y,f.y=d}return Sd}var kd,F0;function PP(){if(F0)return kd;F0=1;let e=et();kd=t;function t(n){let i={},s=n.nodes().filter(m=>!n.children(m).length),l=s.map(m=>n.node(m).rank),a=e.applyWithChunking(Math.max,l),c=e.range(a+1).map(()=>[]);function f(m){if(i[m])return;i[m]=!0;let p=n.node(m);c[p.rank].push(m),n.successors(m).forEach(f)}return s.sort((m,p)=>n.node(m).rank-n.node(p).rank).forEach(f),c}return kd}var Ed,B0;function AP(){if(B0)return Ed;B0=1;let e=et().zipObject;Ed=t;function t(i,s){let l=0;for(let a=1;a<s.length;++a)l+=n(i,s[a-1],s[a]);return l}function n(i,s,l){let a=e(l,l.map((g,v)=>v)),c=s.flatMap(g=>i.outEdges(g).map(v=>({pos:a[v.w],weight:i.edge(v).weight})).sort((v,S)=>v.pos-S.pos)),f=1;for(;f<l.length;)f<<=1;let d=2*f-1;f-=1;let m=new Array(d).fill(0),p=0;return c.forEach(g=>{let v=g.pos+f;m[v]+=g.weight;let S=0;for(;v>0;)v%2&&(S+=m[v+1]),v=v-1>>1,m[v]+=g.weight;p+=g.weight*S}),p}return Ed}var _d,V0;function OP(){if(V0)return _d;V0=1,_d=e;function e(t,n=[]){return n.map(i=>{let s=t.inEdges(i);if(s.length){let l=s.reduce((a,c)=>{let f=t.edge(c),d=t.node(c.v);return{sum:a.sum+f.weight*d.order,weight:a.weight+f.weight}},{sum:0,weight:0});return{v:i,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:i}})}return _d}var Nd,H0;function LP(){if(H0)return Nd;H0=1;let e=et();Nd=t;function t(s,l){let a={};s.forEach((f,d)=>{let m=a[f.v]={indegree:0,in:[],out:[],vs:[f.v],i:d};f.barycenter!==void 0&&(m.barycenter=f.barycenter,m.weight=f.weight)}),l.edges().forEach(f=>{let d=a[f.v],m=a[f.w];d!==void 0&&m!==void 0&&(m.indegree++,d.out.push(a[f.w]))});let c=Object.values(a).filter(f=>!f.indegree);return n(c)}function n(s){let l=[];function a(f){return d=>{d.merged||(d.barycenter===void 0||f.barycenter===void 0||d.barycenter>=f.barycenter)&&i(f,d)}}function c(f){return d=>{d.in.push(f),--d.indegree===0&&s.push(d)}}for(;s.length;){let f=s.pop();l.push(f),f.in.reverse().forEach(a(f)),f.out.forEach(c(f))}return l.filter(f=>!f.merged).map(f=>e.pick(f,["vs","i","barycenter","weight"]))}function i(s,l){let a=0,c=0;s.weight&&(a+=s.barycenter*s.weight,c+=s.weight),l.weight&&(a+=l.barycenter*l.weight,c+=l.weight),s.vs=l.vs.concat(s.vs),s.barycenter=a/c,s.weight=c,s.i=Math.min(l.i,s.i),l.merged=!0}return Nd}var Cd,W0;function MP(){if(W0)return Cd;W0=1;let e=et();Cd=t;function t(s,l){let a=e.partition(s,S=>Object.hasOwn(S,"barycenter")),c=a.lhs,f=a.rhs.sort((S,w)=>w.i-S.i),d=[],m=0,p=0,g=0;c.sort(i(!!l)),g=n(d,f,g),c.forEach(S=>{g+=S.vs.length,d.push(S.vs),m+=S.barycenter*S.weight,p+=S.weight,g=n(d,f,g)});let v={vs:d.flat(!0)};return p&&(v.barycenter=m/p,v.weight=p),v}function n(s,l,a){let c;for(;l.length&&(c=l[l.length-1]).i<=a;)l.pop(),s.push(c.vs),a++;return a}function i(s){return(l,a)=>l.barycenter<a.barycenter?-1:l.barycenter>a.barycenter?1:s?a.i-l.i:l.i-a.i}return Cd}var Id,U0;function RP(){if(U0)return Id;U0=1;let e=OP(),t=LP(),n=MP();Id=i;function i(a,c,f,d){let m=a.children(c),p=a.node(c),g=p?p.borderLeft:void 0,v=p?p.borderRight:void 0,S={};g&&(m=m.filter(_=>_!==g&&_!==v));let w=e(a,m);w.forEach(_=>{if(a.children(_.v).length){let E=i(a,_.v,f,d);S[_.v]=E,Object.hasOwn(E,"barycenter")&&l(_,E)}});let b=t(w,f);s(b,S);let k=n(b,d);if(g&&(k.vs=[g,k.vs,v].flat(!0),a.predecessors(g).length)){let _=a.node(a.predecessors(g)[0]),E=a.node(a.predecessors(v)[0]);Object.hasOwn(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+_.order+E.order)/(k.weight+2),k.weight+=2}return k}function s(a,c){a.forEach(f=>{f.vs=f.vs.flatMap(d=>c[d]?c[d].vs:d)})}function l(a,c){a.barycenter!==void 0?(a.barycenter=(a.barycenter*a.weight+c.barycenter*c.weight)/(a.weight+c.weight),a.weight+=c.weight):(a.barycenter=c.barycenter,a.weight=c.weight)}return Id}var Td,q0;function jP(){if(q0)return Td;q0=1;let e=mn().Graph,t=et();Td=n;function n(s,l,a,c){c||(c=s.nodes());let f=i(s),d=new e({compound:!0}).setGraph({root:f}).setDefaultNodeLabel(m=>s.node(m));return c.forEach(m=>{let p=s.node(m),g=s.parent(m);(p.rank===l||p.minRank<=l&&l<=p.maxRank)&&(d.setNode(m),d.setParent(m,g||f),s[a](m).forEach(v=>{let S=v.v===m?v.w:v.v,w=d.edge(S,m),b=w!==void 0?w.weight:0;d.setEdge(S,m,{weight:s.edge(v).weight+b})}),Object.hasOwn(p,"minRank")&&d.setNode(m,{borderLeft:p.borderLeft[l],borderRight:p.borderRight[l]}))}),d}function i(s){for(var l;s.hasNode(l=t.uniqueId("_root")););return l}return Td}var Pd,Y0;function DP(){if(Y0)return Pd;Y0=1,Pd=e;function e(t,n,i){let s={},l;i.forEach(a=>{let c=t.parent(a),f,d;for(;c;){if(f=t.parent(c),f?(d=s[f],s[f]=c):(d=l,l=c),d&&d!==c){n.setEdge(d,c);return}c=f}})}return Pd}var Ad,K0;function $P(){if(K0)return Ad;K0=1;let e=PP(),t=AP(),n=RP(),i=jP(),s=DP(),l=mn().Graph,a=et();Ad=c;function c(p,g){if(g&&typeof g.customOrder=="function"){g.customOrder(p,c);return}let v=a.maxRank(p),S=f(p,a.range(1,v+1),"inEdges"),w=f(p,a.range(v-1,-1,-1),"outEdges"),b=e(p);if(m(p,b),g&&g.disableOptimalOrderHeuristic)return;let k=Number.POSITIVE_INFINITY,_;for(let E=0,N=0;N<4;++E,++N){d(E%2?S:w,E%4>=2),b=a.buildLayerMatrix(p);let P=t(p,b);P<k&&(N=0,_=Object.assign({},b),k=P)}m(p,_)}function f(p,g,v){const S=new Map,w=(b,k)=>{S.has(b)||S.set(b,[]),S.get(b).push(k)};for(const b of p.nodes()){const k=p.node(b);if(typeof k.rank=="number"&&w(k.rank,b),typeof k.minRank=="number"&&typeof k.maxRank=="number")for(let _=k.minRank;_<=k.maxRank;_++)_!==k.rank&&w(_,b)}return g.map(function(b){return i(p,b,v,S.get(b)||[])})}function d(p,g){let v=new l;p.forEach(function(S){let w=S.graph().root,b=n(S,w,v,g);b.vs.forEach((k,_)=>S.node(k).order=_),s(S,v,b.vs)})}function m(p,g){Object.values(g).forEach(v=>v.forEach((S,w)=>p.node(S).order=w))}return Ad}var Od,G0;function zP(){if(G0)return Od;G0=1;let e=mn().Graph,t=et();Od={positionX:v,findType1Conflicts:n,findType2Conflicts:i,addConflict:l,hasConflict:a,verticalAlignment:c,horizontalCompaction:f,alignCoordinates:p,findSmallestWidthAlignment:m,balance:g};function n(b,k){let _={};function E(N,P){let L=0,R=0,C=N.length,O=P[P.length-1];return P.forEach((F,M)=>{let $=s(b,F),Z=$?b.node($).order:C;($||F===O)&&(P.slice(R,M+1).forEach(D=>{b.predecessors(D).forEach(G=>{let q=b.node(G),J=q.order;(J<L||Z<J)&&!(q.dummy&&b.node(D).dummy)&&l(_,G,D)})}),R=M+1,L=Z)}),P}return k.length&&k.reduce(E),_}function i(b,k){let _={};function E(P,L,R,C,O){let F;t.range(L,R).forEach(M=>{F=P[M],b.node(F).dummy&&b.predecessors(F).forEach($=>{let Z=b.node($);Z.dummy&&(Z.order<C||Z.order>O)&&l(_,$,F)})})}function N(P,L){let R=-1,C,O=0;return L.forEach((F,M)=>{if(b.node(F).dummy==="border"){let $=b.predecessors(F);$.length&&(C=b.node($[0]).order,E(L,O,M,R,C),O=M,R=C)}E(L,O,L.length,C,P.length)}),L}return k.length&&k.reduce(N),_}function s(b,k){if(b.node(k).dummy)return b.predecessors(k).find(_=>b.node(_).dummy)}function l(b,k,_){if(k>_){let N=k;k=_,_=N}let E=b[k];E||(b[k]=E={}),E[_]=!0}function a(b,k,_){if(k>_){let E=k;k=_,_=E}return!!b[k]&&Object.hasOwn(b[k],_)}function c(b,k,_,E){let N={},P={},L={};return k.forEach(R=>{R.forEach((C,O)=>{N[C]=C,P[C]=C,L[C]=O})}),k.forEach(R=>{let C=-1;R.forEach(O=>{let F=E(O);if(F.length){F=F.sort(($,Z)=>L[$]-L[Z]);let M=(F.length-1)/2;for(let $=Math.floor(M),Z=Math.ceil(M);$<=Z;++$){let D=F[$];P[O]===O&&C<L[D]&&!a(_,O,D)&&(P[D]=O,P[O]=N[O]=N[D],C=L[D])}}})}),{root:N,align:P}}function f(b,k,_,E,N){let P={},L=d(b,k,_,N),R=N?"borderLeft":"borderRight";function C(M,$){let Z=L.nodes(),D=Z.pop(),G={};for(;D;)G[D]?M(D):(G[D]=!0,Z.push(D),Z=Z.concat($(D))),D=Z.pop()}function O(M){P[M]=L.inEdges(M).reduce(($,Z)=>Math.max($,P[Z.v]+L.edge(Z)),0)}function F(M){let $=L.outEdges(M).reduce((D,G)=>Math.min(D,P[G.w]-L.edge(G)),Number.POSITIVE_INFINITY),Z=b.node(M);$!==Number.POSITIVE_INFINITY&&Z.borderType!==R&&(P[M]=Math.max(P[M],$))}return C(O,L.predecessors.bind(L)),C(F,L.successors.bind(L)),Object.keys(E).forEach(M=>P[M]=P[_[M]]),P}function d(b,k,_,E){let N=new e,P=b.graph(),L=S(P.nodesep,P.edgesep,E);return k.forEach(R=>{let C;R.forEach(O=>{let F=_[O];if(N.setNode(F),C){var M=_[C],$=N.edge(M,F);N.setEdge(M,F,Math.max(L(b,O,C),$||0))}C=O})}),N}function m(b,k){return Object.values(k).reduce((_,E)=>{let N=Number.NEGATIVE_INFINITY,P=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([R,C])=>{let O=w(b,R)/2;N=Math.max(C+O,N),P=Math.min(C-O,P)});const L=N-P;return L<_[0]&&(_=[L,E]),_},[Number.POSITIVE_INFINITY,null])[1]}function p(b,k){let _=Object.values(k),E=t.applyWithChunking(Math.min,_),N=t.applyWithChunking(Math.max,_);["u","d"].forEach(P=>{["l","r"].forEach(L=>{let R=P+L,C=b[R];if(C===k)return;let O=Object.values(C),F=E-t.applyWithChunking(Math.min,O);L!=="l"&&(F=N-t.applyWithChunking(Math.max,O)),F&&(b[R]=t.mapValues(C,M=>M+F))})})}function g(b,k){return t.mapValues(b.ul,(_,E)=>{if(k)return b[k.toLowerCase()][E];{let N=Object.values(b).map(P=>P[E]).sort((P,L)=>P-L);return(N[1]+N[2])/2}})}function v(b){let k=t.buildLayerMatrix(b),_=Object.assign(n(b,k),i(b,k)),E={},N;["u","d"].forEach(L=>{N=L==="u"?k:Object.values(k).reverse(),["l","r"].forEach(R=>{R==="r"&&(N=N.map(M=>Object.values(M).reverse()));let C=(L==="u"?b.predecessors:b.successors).bind(b),O=c(b,N,_,C),F=f(b,N,O.root,O.align,R==="r");R==="r"&&(F=t.mapValues(F,M=>-M)),E[L+R]=F})});let P=m(b,E);return p(E,P),g(E,b.graph().align)}function S(b,k,_){return(E,N,P)=>{let L=E.node(N),R=E.node(P),C=0,O;if(C+=L.width/2,Object.hasOwn(L,"labelpos"))switch(L.labelpos.toLowerCase()){case"l":O=-L.width/2;break;case"r":O=L.width/2;break}if(O&&(C+=_?O:-O),O=0,C+=(L.dummy?k:b)/2,C+=(R.dummy?k:b)/2,C+=R.width/2,Object.hasOwn(R,"labelpos"))switch(R.labelpos.toLowerCase()){case"l":O=R.width/2;break;case"r":O=-R.width/2;break}return O&&(C+=_?O:-O),O=0,C}}function w(b,k){return b.node(k).width}return Od}var Ld,X0;function FP(){if(X0)return Ld;X0=1;let e=et(),t=zP().positionX;Ld=n;function n(s){s=e.asNonCompoundGraph(s),i(s),Object.entries(t(s)).forEach(([l,a])=>s.node(l).x=a)}function i(s){let l=e.buildLayerMatrix(s),a=s.graph().ranksep,c=0;l.forEach(f=>{const d=f.reduce((m,p)=>{const g=s.node(p).height;return m>g?m:g},0);f.forEach(m=>s.node(m).y=c+d/2),c+=d+a})}return Ld}var Md,Q0;function BP(){if(Q0)return Md;Q0=1;let e=SP(),t=kP(),n=_P(),i=et().normalizeRanks,s=NP(),l=et().removeEmptyRanks,a=CP(),c=IP(),f=TP(),d=$P(),m=FP(),p=et(),g=mn().Graph;Md=v;function v(V,K){let Q=K&&K.debugTiming?p.time:p.notime;Q("layout",()=>{let re=Q(" buildLayoutGraph",()=>C(V));Q(" runLayout",()=>S(re,Q,K)),Q(" updateInputGraph",()=>w(V,re))})}function S(V,K,Q){K(" makeSpaceForEdgeLabels",()=>O(V)),K(" removeSelfEdges",()=>Y(V)),K(" acyclic",()=>e.run(V)),K(" nestingGraph.run",()=>a.run(V)),K(" rank",()=>n(p.asNonCompoundGraph(V))),K(" injectEdgeLabelProxies",()=>F(V)),K(" removeEmptyRanks",()=>l(V)),K(" nestingGraph.cleanup",()=>a.cleanup(V)),K(" normalizeRanks",()=>i(V)),K(" assignRankMinMax",()=>M(V)),K(" removeEdgeLabelProxies",()=>$(V)),K(" normalize.run",()=>t.run(V)),K(" parentDummyChains",()=>s(V)),K(" addBorderSegments",()=>c(V)),K(" order",()=>d(V,Q)),K(" insertSelfEdges",()=>W(V)),K(" adjustCoordinateSystem",()=>f.adjust(V)),K(" position",()=>m(V)),K(" positionSelfEdges",()=>B(V)),K(" removeBorderNodes",()=>J(V)),K(" normalize.undo",()=>t.undo(V)),K(" fixupEdgeLabelCoords",()=>G(V)),K(" undoCoordinateSystem",()=>f.undo(V)),K(" translateGraph",()=>Z(V)),K(" assignNodeIntersects",()=>D(V)),K(" reversePoints",()=>q(V)),K(" acyclic.undo",()=>e.undo(V))}function w(V,K){V.nodes().forEach(Q=>{let re=V.node(Q),se=K.node(Q);re&&(re.x=se.x,re.y=se.y,re.rank=se.rank,K.children(Q).length&&(re.width=se.width,re.height=se.height))}),V.edges().forEach(Q=>{let re=V.edge(Q),se=K.edge(Q);re.points=se.points,Object.hasOwn(se,"x")&&(re.x=se.x,re.y=se.y)}),V.graph().width=K.graph().width,V.graph().height=K.graph().height}let b=["nodesep","edgesep","ranksep","marginx","marginy"],k={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},_=["acyclicer","ranker","rankdir","align"],E=["width","height","rank"],N={width:0,height:0},P=["minlen","weight","width","height","labeloffset"],L={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},R=["labelpos"];function C(V){let K=new g({multigraph:!0,compound:!0}),Q=H(V.graph());return K.setGraph(Object.assign({},k,j(Q,b),p.pick(Q,_))),V.nodes().forEach(re=>{let se=H(V.node(re));const ee=j(se,E);Object.keys(N).forEach(oe=>{ee[oe]===void 0&&(ee[oe]=N[oe])}),K.setNode(re,ee),K.setParent(re,V.parent(re))}),V.edges().forEach(re=>{let se=H(V.edge(re));K.setEdge(re,Object.assign({},L,j(se,P),p.pick(se,R)))}),K}function O(V){let K=V.graph();K.ranksep/=2,V.edges().forEach(Q=>{let re=V.edge(Q);re.minlen*=2,re.labelpos.toLowerCase()!=="c"&&(K.rankdir==="TB"||K.rankdir==="BT"?re.width+=re.labeloffset:re.height+=re.labeloffset)})}function F(V){V.edges().forEach(K=>{let Q=V.edge(K);if(Q.width&&Q.height){let re=V.node(K.v),ee={rank:(V.node(K.w).rank-re.rank)/2+re.rank,e:K};p.addDummyNode(V,"edge-proxy",ee,"_ep")}})}function M(V){let K=0;V.nodes().forEach(Q=>{let re=V.node(Q);re.borderTop&&(re.minRank=V.node(re.borderTop).rank,re.maxRank=V.node(re.borderBottom).rank,K=Math.max(K,re.maxRank))}),V.graph().maxRank=K}function $(V){V.nodes().forEach(K=>{let Q=V.node(K);Q.dummy==="edge-proxy"&&(V.edge(Q.e).labelRank=Q.rank,V.removeNode(K))})}function Z(V){let K=Number.POSITIVE_INFINITY,Q=0,re=Number.POSITIVE_INFINITY,se=0,ee=V.graph(),oe=ee.marginx||0,de=ee.marginy||0;function xe(he){let fe=he.x,ke=he.y,Pe=he.width,Ae=he.height;K=Math.min(K,fe-Pe/2),Q=Math.max(Q,fe+Pe/2),re=Math.min(re,ke-Ae/2),se=Math.max(se,ke+Ae/2)}V.nodes().forEach(he=>xe(V.node(he))),V.edges().forEach(he=>{let fe=V.edge(he);Object.hasOwn(fe,"x")&&xe(fe)}),K-=oe,re-=de,V.nodes().forEach(he=>{let fe=V.node(he);fe.x-=K,fe.y-=re}),V.edges().forEach(he=>{let fe=V.edge(he);fe.points.forEach(ke=>{ke.x-=K,ke.y-=re}),Object.hasOwn(fe,"x")&&(fe.x-=K),Object.hasOwn(fe,"y")&&(fe.y-=re)}),ee.width=Q-K+oe,ee.height=se-re+de}function D(V){V.edges().forEach(K=>{let Q=V.edge(K),re=V.node(K.v),se=V.node(K.w),ee,oe;Q.points?(ee=Q.points[0],oe=Q.points[Q.points.length-1]):(Q.points=[],ee=se,oe=re),Q.points.unshift(p.intersectRect(re,ee)),Q.points.push(p.intersectRect(se,oe))})}function G(V){V.edges().forEach(K=>{let Q=V.edge(K);if(Object.hasOwn(Q,"x"))switch((Q.labelpos==="l"||Q.labelpos==="r")&&(Q.width-=Q.labeloffset),Q.labelpos){case"l":Q.x-=Q.width/2+Q.labeloffset;break;case"r":Q.x+=Q.width/2+Q.labeloffset;break}})}function q(V){V.edges().forEach(K=>{let Q=V.edge(K);Q.reversed&&Q.points.reverse()})}function J(V){V.nodes().forEach(K=>{if(V.children(K).length){let Q=V.node(K),re=V.node(Q.borderTop),se=V.node(Q.borderBottom),ee=V.node(Q.borderLeft[Q.borderLeft.length-1]),oe=V.node(Q.borderRight[Q.borderRight.length-1]);Q.width=Math.abs(oe.x-ee.x),Q.height=Math.abs(se.y-re.y),Q.x=ee.x+Q.width/2,Q.y=re.y+Q.height/2}}),V.nodes().forEach(K=>{V.node(K).dummy==="border"&&V.removeNode(K)})}function Y(V){V.edges().forEach(K=>{if(K.v===K.w){var Q=V.node(K.v);Q.selfEdges||(Q.selfEdges=[]),Q.selfEdges.push({e:K,label:V.edge(K)}),V.removeEdge(K)}})}function W(V){var K=p.buildLayerMatrix(V);K.forEach(Q=>{var re=0;Q.forEach((se,ee)=>{var oe=V.node(se);oe.order=ee+re,(oe.selfEdges||[]).forEach(de=>{p.addDummyNode(V,"selfedge",{width:de.label.width,height:de.label.height,rank:oe.rank,order:ee+ ++re,e:de.e,label:de.label},"_se")}),delete oe.selfEdges})})}function B(V){V.nodes().forEach(K=>{var Q=V.node(K);if(Q.dummy==="selfedge"){var re=V.node(Q.e.v),se=re.x+re.width/2,ee=re.y,oe=Q.x-se,de=re.height/2;V.setEdge(Q.e,Q.label),V.removeNode(K),Q.label.points=[{x:se+2*oe/3,y:ee-de},{x:se+5*oe/6,y:ee-de},{x:se+oe,y:ee},{x:se+5*oe/6,y:ee+de},{x:se+2*oe/3,y:ee+de}],Q.label.x=Q.x,Q.label.y=Q.y}})}function j(V,K){return p.mapValues(p.pick(V,K),Number)}function H(V){var K={};return V&&Object.entries(V).forEach(([Q,re])=>{typeof Q=="string"&&(Q=Q.toLowerCase()),K[Q]=re}),K}return Md}var Rd,J0;function VP(){if(J0)return Rd;J0=1;let e=et(),t=mn().Graph;Rd={debugOrdering:n};function n(i){let s=e.buildLayerMatrix(i),l=new t({compound:!0,multigraph:!0}).setGraph({});return i.nodes().forEach(a=>{l.setNode(a,{label:a}),l.setParent(a,"layer"+i.node(a).rank)}),i.edges().forEach(a=>l.setEdge(a.v,a.w,{},a.name)),s.forEach((a,c)=>{let f="layer"+c;l.setNode(f,{rank:"same"}),a.reduce((d,m)=>(l.setEdge(d,m,{style:"invis"}),m))}),l}return Rd}var jd,Z0;function HP(){return Z0||(Z0=1,jd="1.1.8"),jd}var Dd,ev;function WP(){return ev||(ev=1,Dd={graphlib:mn(),layout:BP(),debug:VP(),util:{time:et().time,notime:et().notime},version:HP()}),Dd}var UP=WP();const tv=su(UP),nv=220,rv=140,$d=60;function qP(e){return T.useMemo(()=>{if(!e)return{nodes:[],edges:[]};const t=new tv.graphlib.Graph;t.setDefaultEdgeLabel(()=>({})),t.setGraph({rankdir:"LR",nodesep:40,ranksep:80});for(const s of e.nodes){const l=s.type==="task.branch"||s.type.startsWith("trigger.")?rv:nv;t.setNode(s.id,{width:l,height:$d})}for(const s of e.edges)t.setEdge(s.from,s.to);tv.layout(t);const n=e.nodes.map(s=>{const l=t.node(s.id),a=s.type==="task.branch"||s.type.startsWith("trigger.")?rv:nv;return{id:s.id,type:s.type==="agent.run"?"agentNode":"workflowNode",position:{x:l.x-a/2,y:l.y-$d/2},data:{node:s},width:a,height:$d}}),i=e.edges.map((s,l)=>({id:`e-${l}`,source:s.from,target:s.to,label:s.when,type:"smoothstep",style:{stroke:"hsl(240 5% 65%)",strokeWidth:1.5},labelStyle:{fontSize:11,fontFamily:"JetBrains Mono, monospace"}}));return{nodes:n,edges:i}},[e])}const YP={workflowNode:l0,agentNode:l0};function KP({workflow:e,onNodeClick:t,onLoadYaml:n,nodeStatuses:i={}}){const{nodes:s,edges:l}=qP(e),[a,c]=T.useState(!1),f=s.map(v=>({...v,data:{...v.data,onNodeClick:t,liveStatus:i[v.id]??"idle"}})),d=T.useCallback((v,S)=>{const w=S.data.node;w&&t(w)},[t]),m=T.useCallback(v=>{v.preventDefault(),v.dataTransfer.dropEffect="copy",c(!0)},[]),p=T.useCallback(()=>{c(!1)},[]),g=T.useCallback(v=>{v.preventDefault(),c(!1);const S=v.dataTransfer.files[0];if(!S)return;const w=new FileReader;w.onload=b=>{var _;const k=(_=b.target)==null?void 0:_.result;typeof k=="string"&&n(k)},w.readAsText(S)},[n]);return A.jsxs("div",{className:"flex-1 relative canvas-grid overflow-hidden",style:{height:"100%"},onDragOver:m,onDragLeave:p,onDrop:g,children:[A.jsxs(BI,{nodes:f,edges:l,nodeTypes:YP,onNodeClick:d,fitView:!0,attributionPosition:"bottom-right",children:[A.jsx(qI,{variant:Gn.Dots,gap:22,size:1,color:"hsl(240 5.9% 88%)"}),A.jsx(ZI,{})]}),a&&A.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-bg/70 border-2 border-dashed border-primary pointer-events-none z-10",children:A.jsx("span",{className:"text-sm font-medium text-primary",children:"Drop YAML here"})}),A.jsx("div",{className:"absolute bottom-3 right-14 text-[10px] font-mono text-mutedfg pointer-events-none",children:"layout: auto (dagre) · positions not stored"})]})}function bt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function iv(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function GP(...e){return t=>{let n=!1;const i=e.map(s=>{const l=iv(s,t);return!n&&typeof l=="function"&&(n=!0),l});if(n)return()=>{for(let s=0;s<i.length;s++){const l=i[s];typeof l=="function"?l():iv(e[s],null)}}}}function Vt(...e){return T.useCallback(GP(...e),e)}function Hx(e,t=[]){let n=[];function i(l,a){const c=T.createContext(a);c.displayName=l+"Context";const f=n.length;n=[...n,a];const d=p=>{var k;const{scope:g,children:v,...S}=p,w=((k=g==null?void 0:g[e])==null?void 0:k[f])||c,b=T.useMemo(()=>S,Object.values(S));return A.jsx(w.Provider,{value:b,children:v})};d.displayName=l+"Provider";function m(p,g){var w;const v=((w=g==null?void 0:g[e])==null?void 0:w[f])||c,S=T.useContext(v);if(S)return S;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${l}\``)}return[d,m]}const s=()=>{const l=n.map(a=>T.createContext(a));return function(c){const f=(c==null?void 0:c[e])||l;return T.useMemo(()=>({[`__scope${e}`]:{...c,[e]:f}}),[c,f])}};return s.scopeName=e,[i,XP(s,...t)]}function XP(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const i=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(l){const a=i.reduce((c,{useScope:f,scopeName:d})=>{const p=f(l)[`__scope${d}`];return{...c,...p}},{});return T.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}var uo=globalThis!=null&&globalThis.document?T.useLayoutEffect:()=>{},QP=Sh[" useId ".trim().toString()]||(()=>{}),JP=0;function zd(e){const[t,n]=T.useState(QP());return uo(()=>{n(i=>i??String(JP++))},[e]),e||(t?`radix-${t}`:"")}var ZP=Sh[" useInsertionEffect ".trim().toString()]||uo;function eA({prop:e,defaultProp:t,onChange:n=()=>{},caller:i}){const[s,l,a]=tA({defaultProp:t,onChange:n}),c=e!==void 0,f=c?e:s;{const m=T.useRef(e!==void 0);T.useEffect(()=>{const p=m.current;p!==c&&console.warn(`${i} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=c},[c,i])}const d=T.useCallback(m=>{var p;if(c){const g=nA(m)?m(e):m;g!==e&&((p=a.current)==null||p.call(a,g))}else l(m)},[c,e,l,a]);return[f,d]}function tA({defaultProp:e,onChange:t}){const[n,i]=T.useState(e),s=T.useRef(n),l=T.useRef(t);return ZP(()=>{l.current=t},[t]),T.useEffect(()=>{var a;s.current!==n&&((a=l.current)==null||a.call(l,n),s.current=n)},[n,s]),[n,i,l]}function nA(e){return typeof e=="function"}function Wx(e){const t=T.forwardRef((n,i)=>{let{children:s,...l}=n,a=null,c=!1;const f=[];ov(s)&&typeof xa=="function"&&(s=xa(s._payload)),T.Children.forEach(s,g=>{var v;if(lA(g)){c=!0;const S=g;let w="child"in S.props?S.props.child:S.props.children;ov(w)&&typeof xa=="function"&&(w=xa(w._payload)),a=iA(S,w),f.push((v=a==null?void 0:a.props)==null?void 0:v.children)}else f.push(g)}),a?a=T.cloneElement(a,void 0,f):!c&&T.Children.count(s)===1&&T.isValidElement(s)&&(a=s);const d=a?sA(a):void 0,m=Vt(i,d);if(!a){if(s||s===0)throw new Error(c?fA(e):cA(e));return s}const p=oA(l,a.props??{});return a.type!==T.Fragment&&(p.ref=i?m:d),T.cloneElement(a,p)});return t.displayName=`${e}.Slot`,t}var rA=Symbol.for("radix.slottable"),iA=(e,t)=>{if("child"in e.props){const n=e.props.child;return T.isValidElement(n)?T.cloneElement(n,void 0,e.props.children(n.props.children)):null}return T.isValidElement(t)?t:null};function oA(e,t){const n={...t};for(const i in t){const s=e[i],l=t[i];/^on[A-Z]/.test(i)?s&&l?n[i]=(...c)=>{const f=l(...c);return s(...c),f}:s&&(n[i]=s):i==="style"?n[i]={...s,...l}:i==="className"&&(n[i]=[s,l].filter(Boolean).join(" "))}return{...e,...n}}function sA(e){var i,s;let t=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function lA(e){return T.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===rA}var aA=Symbol.for("react.lazy");function ov(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===aA&&"_payload"in e&&uA(e._payload)}function uA(e){return typeof e=="object"&&e!==null&&"then"in e}var cA=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,fA=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,xa=Sh[" use ".trim().toString()],dA=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ot=dA.reduce((e,t)=>{const n=Wx(`Primitive.${t}`),i=T.forwardRef((s,l)=>{const{asChild:a,...c}=s,f=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),A.jsx(f,{...c,ref:l})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function hA(e,t){e&&Bw.flushSync(()=>e.dispatchEvent(t))}function Qt(e){const t=T.useRef(e);return T.useEffect(()=>{t.current=e}),T.useMemo(()=>((...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)}),[])}function pA(e,t=globalThis==null?void 0:globalThis.document){const n=Qt(e);T.useEffect(()=>{const i=s=>{s.key==="Escape"&&n(s)};return t.addEventListener("keydown",i,{capture:!0}),()=>t.removeEventListener("keydown",i,{capture:!0})},[n,t])}var mA="DismissableLayer",hh="dismissableLayer.update",gA="dismissableLayer.pointerDownOutside",yA="dismissableLayer.focusOutside",sv,Uh=T.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Ux=T.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:a,onInteractOutside:c,onDismiss:f,...d}=e,m=T.useContext(Uh),[p,g]=T.useState(null),v=(p==null?void 0:p.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,S]=T.useState({}),w=Vt(t,O=>g(O)),b=Array.from(m.layers),[k]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),_=b.indexOf(k),E=p?b.indexOf(p):-1,N=m.layersWithOutsidePointerEventsDisabled.size>0,P=E>=_,L=T.useRef(!1),R=bA(O=>{const F=O.target;if(!(F instanceof Node))return;const M=[...m.branches].some($=>$.contains(F));!P||M||(l==null||l(O),c==null||c(O),O.defaultPrevented||f==null||f())},{ownerDocument:v,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:L,dismissableSurfaces:m.dismissableSurfaces}),C=SA(O=>{if(i&&L.current)return;const F=O.target;[...m.branches].some($=>$.contains(F))||(a==null||a(O),c==null||c(O),O.defaultPrevented||f==null||f())},v);return pA(O=>{E===m.layers.size-1&&(s==null||s(O),!O.defaultPrevented&&f&&(O.preventDefault(),f()))},v),T.useEffect(()=>{if(p)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(sv=v.body.style.pointerEvents,v.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(p)),m.layers.add(p),lv(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(p),m.layersWithOutsidePointerEventsDisabled.size===0&&(v.body.style.pointerEvents=sv))}},[p,v,n,m]),T.useEffect(()=>()=>{p&&(m.layers.delete(p),m.layersWithOutsidePointerEventsDisabled.delete(p),lv())},[p,m]),T.useEffect(()=>{const O=()=>S({});return document.addEventListener(hh,O),()=>document.removeEventListener(hh,O)},[]),A.jsx(Ot.div,{...d,ref:w,style:{pointerEvents:N?P?"auto":"none":void 0,...e.style},onFocusCapture:bt(e.onFocusCapture,C.onFocusCapture),onBlurCapture:bt(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:bt(e.onPointerDownCapture,R.onPointerDownCapture)})});Ux.displayName=mA;var vA="DismissableLayerBranch",wA=T.forwardRef((e,t)=>{const n=T.useContext(Uh),i=T.useRef(null),s=Vt(t,i);return T.useEffect(()=>{const l=i.current;if(l)return n.branches.add(l),()=>{n.branches.delete(l)}},[n.branches]),A.jsx(Ot.div,{...e,ref:s})});wA.displayName=vA;function xA(){const e=T.useContext(Uh),[t,n]=T.useState(null);return T.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function bA(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:s,dismissableSurfaces:l}=t,a=Qt(e),c=T.useRef(!1),f=T.useRef(!1),d=T.useRef(new Map),m=T.useRef(()=>{});return T.useEffect(()=>{function p(){f.current=!1,s.current=!1,d.current.clear()}function g(){return Array.from(d.current.values()).some(Boolean)}function v(_){if(!f.current)return;const E=_.target;E instanceof Node&&[...l].some(P=>P.contains(E))||d.current.set(_.type,!0),_.type==="click"&&window.setTimeout(()=>{f.current&&m.current()},0)}function S(_){f.current&&d.current.set(_.type,!1)}const w=_=>{if(_.target&&!c.current){let E=function(){n.removeEventListener("click",m.current);const P=g();p(),P||qx(gA,a,N,{discrete:!0})};const N={originalEvent:_};f.current=!0,s.current=i&&_.button===0,d.current.clear(),!i||_.button!==0?E():(n.removeEventListener("click",m.current),m.current=E,n.addEventListener("click",m.current,{once:!0}))}else n.removeEventListener("click",m.current),p();c.current=!1},b=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const _ of b)n.addEventListener(_,v,!0),n.addEventListener(_,S);const k=window.setTimeout(()=>{n.addEventListener("pointerdown",w)},0);return()=>{window.clearTimeout(k),n.removeEventListener("pointerdown",w),n.removeEventListener("click",m.current);for(const _ of b)n.removeEventListener(_,v,!0),n.removeEventListener(_,S)}},[n,a,i,s,l]),{onPointerDownCapture:()=>c.current=!0}}function SA(e,t=globalThis==null?void 0:globalThis.document){const n=Qt(e),i=T.useRef(!1);return T.useEffect(()=>{const s=l=>{l.target&&!i.current&&qx(yA,n,{originalEvent:l},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function lv(){const e=new CustomEvent(hh);document.dispatchEvent(e)}function qx(e,t,n,{discrete:i}){const s=n.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),i?hA(s,l):s.dispatchEvent(l)}var Fd="focusScope.autoFocusOnMount",Bd="focusScope.autoFocusOnUnmount",av={bubbles:!1,cancelable:!0},kA="FocusScope",Yx=T.forwardRef((e,t)=>{const{loop:n=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:l,...a}=e,[c,f]=T.useState(null),d=Qt(s),m=Qt(l),p=T.useRef(null),g=Vt(t,w=>f(w)),v=T.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;T.useEffect(()=>{if(i){let w=function(E){if(v.paused||!c)return;const N=E.target;c.contains(N)?p.current=N:kr(p.current,{select:!0})},b=function(E){if(v.paused||!c)return;const N=E.relatedTarget;N!==null&&(c.contains(N)||kr(p.current,{select:!0}))},k=function(E){if(document.activeElement===document.body)for(const P of E)P.removedNodes.length>0&&kr(c)};document.addEventListener("focusin",w),document.addEventListener("focusout",b);const _=new MutationObserver(k);return c&&_.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",b),_.disconnect()}}},[i,c,v.paused]),T.useEffect(()=>{if(c){cv.add(v);const w=document.activeElement;if(!c.contains(w)){const k=new CustomEvent(Fd,av);c.addEventListener(Fd,d),c.dispatchEvent(k),k.defaultPrevented||(EA(TA(Kx(c)),{select:!0}),document.activeElement===w&&kr(c))}return()=>{c.removeEventListener(Fd,d),setTimeout(()=>{const k=new CustomEvent(Bd,av);c.addEventListener(Bd,m),c.dispatchEvent(k),k.defaultPrevented||kr(w??document.body,{select:!0}),c.removeEventListener(Bd,m),cv.remove(v)},0)}}},[c,d,m,v]);const S=T.useCallback(w=>{if(!n&&!i||v.paused)return;const b=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,k=document.activeElement;if(b&&k){const _=w.currentTarget,[E,N]=_A(_);E&&N?!w.shiftKey&&k===N?(w.preventDefault(),n&&kr(E,{select:!0})):w.shiftKey&&k===E&&(w.preventDefault(),n&&kr(N,{select:!0})):k===_&&w.preventDefault()}},[n,i,v.paused]);return A.jsx(Ot.div,{tabIndex:-1,...a,ref:g,onKeyDown:S})});Yx.displayName=kA;function EA(e,{select:t=!1}={}){const n=document.activeElement;for(const i of e)if(kr(i,{select:t}),document.activeElement!==n)return}function _A(e){const t=Kx(e),n=uv(t,e),i=uv(t.reverse(),e);return[n,i]}function Kx(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function uv(e,t){for(const n of e)if(!NA(n,{upTo:t}))return n}function NA(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function CA(e){return e instanceof HTMLInputElement&&"select"in e}function kr(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&CA(e)&&t&&e.select()}}var cv=IA();function IA(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=fv(e,t),e.unshift(t)},remove(t){var n;e=fv(e,t),(n=e[0])==null||n.resume()}}}function fv(e,t){const n=[...e],i=n.indexOf(t);return i!==-1&&n.splice(i,1),n}function TA(e){return e.filter(t=>t.tagName!=="A")}var PA="Portal",Gx=T.forwardRef((e,t)=>{var c;const{container:n,...i}=e,[s,l]=T.useState(!1);uo(()=>l(!0),[]);const a=n||s&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return a?Bw.createPortal(A.jsx(Ot.div,{...i,ref:t}),a):null});Gx.displayName=PA;function AA(e,t){return T.useReducer((n,i)=>t[n][i]??n,e)}var Tr=e=>{const{present:t,children:n}=e,i=OA(t),s=typeof n=="function"?n({present:i.isPresent}):T.Children.only(n),l=LA(i.ref,MA(s));return typeof n=="function"||i.isPresent?T.cloneElement(s,{ref:l}):null};Tr.displayName="Presence";function OA(e){const[t,n]=T.useState(),i=T.useRef(null),s=T.useRef(e),l=T.useRef("none"),a=e?"mounted":"unmounted",[c,f]=AA(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return T.useEffect(()=>{const d=ba(i.current);l.current=c==="mounted"?d:"none"},[c]),uo(()=>{const d=i.current,m=s.current;if(m!==e){const g=l.current,v=ba(d);e?f("MOUNT"):v==="none"||(d==null?void 0:d.display)==="none"?f("UNMOUNT"):f(m&&g!==v?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,f]),uo(()=>{if(t){let d;const m=t.ownerDocument.defaultView??window,p=v=>{const w=ba(i.current).includes(CSS.escape(v.animationName));if(v.target===t&&w&&(f("ANIMATION_END"),!s.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",d=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=v=>{v.target===t&&(l.current=ba(i.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{m.clearTimeout(d),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:T.useCallback(d=>{i.current=d?getComputedStyle(d):null,n(d)},[])}}function dv(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function LA(...e){const t=T.useRef(e);return t.current=e,T.useCallback(n=>{const i=t.current;let s=!1;const l=i.map(a=>{const c=dv(a,n);return!s&&typeof c=="function"&&(s=!0),c});if(s)return()=>{for(let a=0;a<l.length;a++){const c=l[a];typeof c=="function"?c():dv(i[a],null)}}},[])}function ba(e){return(e==null?void 0:e.animationName)||"none"}function MA(e){var i,s;let t=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Sa=0,Cn=null;function RA(){T.useEffect(()=>{Cn||(Cn={start:hv(),end:hv()});const{start:e,end:t}=Cn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Sa++,()=>{Sa===1&&(Cn==null||Cn.start.remove(),Cn==null||Cn.end.remove(),Cn=null),Sa=Math.max(0,Sa-1)}},[])}function hv(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Tn=function(){return Tn=Object.assign||function(t){for(var n,i=1,s=arguments.length;i<s;i++){n=arguments[i];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(t[l]=n[l])}return t},Tn.apply(this,arguments)};function Xx(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++)t.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(n[i[s]]=e[i[s]]);return n}function jA(e,t,n){if(n||arguments.length===2)for(var i=0,s=t.length,l;i<s;i++)(l||!(i in t))&&(l||(l=Array.prototype.slice.call(t,0,i)),l[i]=t[i]);return e.concat(l||Array.prototype.slice.call(t))}var Da="right-scroll-bar-position",$a="width-before-scroll-bar",DA="with-scroll-bars-hidden",$A="--removed-body-scroll-bar-size";function Vd(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function zA(e,t){var n=T.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(i){var s=n.value;s!==i&&(n.value=i,n.callback(i,s))}}}})[0];return n.callback=t,n.facade}var FA=typeof window<"u"?T.useLayoutEffect:T.useEffect,pv=new WeakMap;function BA(e,t){var n=zA(null,function(i){return e.forEach(function(s){return Vd(s,i)})});return FA(function(){var i=pv.get(n);if(i){var s=new Set(i),l=new Set(e),a=n.current;s.forEach(function(c){l.has(c)||Vd(c,null)}),l.forEach(function(c){s.has(c)||Vd(c,a)})}pv.set(n,e)},[e]),n}function VA(e){return e}function HA(e,t){t===void 0&&(t=VA);var n=[],i=!1,s={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(l){var a=t(l,i);return n.push(a),function(){n=n.filter(function(c){return c!==a})}},assignSyncMedium:function(l){for(i=!0;n.length;){var a=n;n=[],a.forEach(l)}n={push:function(c){return l(c)},filter:function(){return n}}},assignMedium:function(l){i=!0;var a=[];if(n.length){var c=n;n=[],c.forEach(l),a=n}var f=function(){var m=a;a=[],m.forEach(l)},d=function(){return Promise.resolve().then(f)};d(),n={push:function(m){a.push(m),d()},filter:function(m){return a=a.filter(m),n}}}};return s}function WA(e){e===void 0&&(e={});var t=HA(null);return t.options=Tn({async:!0,ssr:!1},e),t}var Qx=function(e){var t=e.sideCar,n=Xx(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=t.read();if(!i)throw new Error("Sidecar medium not found");return T.createElement(i,Tn({},n))};Qx.isSideCarExport=!0;function UA(e,t){return e.useMedium(t),Qx}var Jx=WA(),Hd=function(){},wu=T.forwardRef(function(e,t){var n=T.useRef(null),i=T.useState({onScrollCapture:Hd,onWheelCapture:Hd,onTouchMoveCapture:Hd}),s=i[0],l=i[1],a=e.forwardProps,c=e.children,f=e.className,d=e.removeScrollBar,m=e.enabled,p=e.shards,g=e.sideCar,v=e.noRelative,S=e.noIsolation,w=e.inert,b=e.allowPinchZoom,k=e.as,_=k===void 0?"div":k,E=e.gapMode,N=Xx(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=g,L=BA([n,t]),R=Tn(Tn({},N),s);return T.createElement(T.Fragment,null,m&&T.createElement(P,{sideCar:Jx,removeScrollBar:d,shards:p,noRelative:v,noIsolation:S,inert:w,setCallbacks:l,allowPinchZoom:!!b,lockRef:n,gapMode:E}),a?T.cloneElement(T.Children.only(c),Tn(Tn({},R),{ref:L})):T.createElement(_,Tn({},R,{className:f,ref:L}),c))});wu.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};wu.classNames={fullWidth:$a,zeroRight:Da};var qA=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function YA(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=qA();return t&&e.setAttribute("nonce",t),e}function KA(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function GA(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var XA=function(){var e=0,t=null;return{add:function(n){e==0&&(t=YA())&&(KA(t,n),GA(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},QA=function(){var e=XA();return function(t,n){T.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Zx=function(){var e=QA(),t=function(n){var i=n.styles,s=n.dynamic;return e(i,s),null};return t},JA={left:0,top:0,right:0,gap:0},Wd=function(e){return parseInt(e||"",10)||0},ZA=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],i=t[e==="padding"?"paddingTop":"marginTop"],s=t[e==="padding"?"paddingRight":"marginRight"];return[Wd(n),Wd(i),Wd(s)]},eO=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return JA;var t=ZA(e),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,i-n+t[2]-t[0])}},tO=Zx(),Zi="data-scroll-locked",nO=function(e,t,n,i){var s=e.left,l=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),`
|
|
63
63
|
.`.concat(DA,` {
|
|
64
64
|
overflow: hidden `).concat(i,`;
|
|
65
65
|
padding-right: `).concat(c,"px ").concat(i,`;
|
|
@@ -295,4 +295,4 @@ edges:
|
|
|
295
295
|
- { from: unhandled, to: gate }
|
|
296
296
|
- { from: gate, to: interpret, when: "true" }
|
|
297
297
|
- { from: interpret, to: reply }
|
|
298
|
-
`;function kM(){const[e,t]=T.useState(null),[n,i]=T.useState(null),s=T.useCallback(c=>{try{const f=bM(c);t(f),i(null)}catch(f){i(f instanceof Error?f.message:"Failed to parse YAML")}},[]),l=T.useCallback(c=>{t(c),i(null)},[]),a=T.useCallback(()=>{s(SM)},[s]);return{workflow:e,error:n,loadFromString:s,loadFromObject:l,loadDefault:a}}function EM(e){const[t,n]=T.useState({}),[i,s]=T.useState({}),[l,a]=T.useState([]),[c,f]=T.useState(!1),[d,m]=T.useState([]),p=T.useRef(0),g=T.useRef(null),v=T.useRef(null),S=T.useCallback(w=>{var b;if(m(k=>[...k,w]),w.type==="run:start"){const k=`run_${(++p.current).toString(16).padStart(4,"0")}`;g.current=k,v.current=null,a(_=>[{id:k,workflow:w.workflow,status:"running",startedAt:w.ts},..._]),n({}),s({})}else if(w.type==="node:start"&&w.nodeId)n(k=>({...k,[w.nodeId]:"running"}));else if(w.type==="node:finish"&&w.nodeId){const k=w.status==="failed";if(n(_=>({..._,[w.nodeId]:k?"failed":"success"})),k){const _=(b=w.meta)==null?void 0:b.error;_&&(s(E=>({...E,[w.nodeId]:_})),v.current||(v.current=`${w.nodeId}: ${_}`))}}else if(w.type==="run:finish"){const k=w.status==="failed"?"failed":"success",_=g.current,E=v.current??void 0;_&&a(N=>N.map(P=>P.id===_?{...P,status:k,finishedAt:w.ts,error:k==="failed"?E:void 0}:P))}},[]);return T.useEffect(()=>{if(!e)return;let w;try{w=new EventSource(`${e}/api/events`)}catch{return}return w.onopen=()=>f(!0),w.onmessage=b=>{try{const k=JSON.parse(b.data);S(k)}catch{}},w.onerror=()=>{f(!1)},()=>{w.close(),f(!1)}},[e,S]),{nodeStatuses:t,nodeErrors:i,runs:l,connected:c,events:d}}function _M(e){const[t,n]=T.useState([]);return T.useEffect(()=>{if(!e)return;let i=!1;return fetch(`${e}/api/workflows`).then(s=>s.ok?s.json():[]).then(s=>{!i&&Array.isArray(s)&&n(s)}).catch(()=>{}),()=>{i=!0}},[e]),{workflows:t}}function NM(e){const[t,n]=T.useState({});return T.useEffect(()=>{if(!e)return;let i=!1;return fetch(`${e}/api/config`).then(s=>s.ok?s.json():{}).then(s=>{!i&&s&&typeof s=="object"&&n(s)}).catch(()=>{}),()=>{i=!0}},[e]),t}function CM(e){const[t,n]=T.useState({});return T.useEffect(()=>{if(!e)return;let i=!1;return fetch(`${e}/api/agents`).then(s=>s.ok?s.json():[]).then(s=>{if(i||!Array.isArray(s))return;const l={};for(const a of s)l[a.name]=a;n(l)}).catch(()=>{}),()=>{i=!0}},[e]),t}async function IM(e,t){await fetch(`${e}/api/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workflow:t})})}const Ui=typeof window<"u"&&window.location.protocol.startsWith("http")?window.location.origin:void 0;function TM(){const{workflow:e,loadDefault:t,loadFromString:n,loadFromObject:i}=kM(),[s,l]=T.useState(null),[a,c]=T.useState("board"),[f,d]=T.useState(null),{nodeStatuses:m,runs:p,connected:g,events:v}=EM(Ui),{workflows:S}=_M(Ui),w=NM(Ui),b=CM(Ui);T.useEffect(()=>{if(S.length===0){t();return}const P=S.find(L=>L.name===f)??S[0];P.name!==f&&d(P.name),i(P)},[S,f,t,i]);const k=T.useCallback(P=>{d(P)},[]),_=T.useCallback(P=>{Ui&&IM(Ui,P)},[]),E=T.useCallback(P=>{l(P)},[]),N=T.useCallback(()=>{l(null)},[]);return A.jsxs("div",{className:"h-screen w-screen flex overflow-hidden bg-muted text-fg font-sans text-[13px] antialiased relative",children:[A.jsx(sP,{activeView:a,onViewChange:c,liveConnected:g,workflows:S,selected:f,onSelect:k,onRun:_}),A.jsx("main",{className:"flex-1 flex flex-col min-w-0",children:a==="board"?A.jsxs(A.Fragment,{children:[A.jsx(lP,{workflow:e,onLoadYaml:n}),A.jsx("div",{className:"flex-1 flex min-h-0",children:A.jsx(yx,{children:A.jsx(KP,{workflow:e,onNodeClick:E,onLoadYaml:n,nodeStatuses:m})})})]}):A.jsx(fL,{runs:p,events:v,connected:g})}),A.jsx(sL,{node:s,onClose:N,agentDefaults:w.agent,agents:b})]})}ak.createRoot(document.getElementById("root")).render(A.jsx(bh.StrictMode,{children:A.jsx(TM,{})}));
|
|
298
|
+
`;function kM(){const[e,t]=T.useState(null),[n,i]=T.useState(null),s=T.useCallback(c=>{try{const f=bM(c);t(f),i(null)}catch(f){i(f instanceof Error?f.message:"Failed to parse YAML")}},[]),l=T.useCallback(c=>{t(c),i(null)},[]),a=T.useCallback(()=>{s(SM)},[s]);return{workflow:e,error:n,loadFromString:s,loadFromObject:l,loadDefault:a}}function EM(e){const[t,n]=T.useState({}),[i,s]=T.useState({}),[l,a]=T.useState([]),[c,f]=T.useState(!1),[d,m]=T.useState([]),p=T.useRef(0),g=T.useRef(null),v=T.useRef(null),S=T.useCallback(w=>{var b;if(m(k=>[...k,w]),w.type==="run:start"){const k=`run_${(++p.current).toString(16).padStart(4,"0")}`;g.current=k,v.current=null,a(_=>[{id:k,workflow:w.workflow,status:"running",startedAt:w.ts},..._]),n({}),s({})}else if(w.type==="node:start"&&w.nodeId)n(k=>({...k,[w.nodeId]:"running"}));else if(w.type==="node:finish"&&w.nodeId){const k=w.status==="failed";if(n(_=>({..._,[w.nodeId]:k?"failed":"success"})),k){const _=(b=w.meta)==null?void 0:b.error;_&&(s(E=>({...E,[w.nodeId]:_})),v.current||(v.current=`${w.nodeId}: ${_}`))}}else if(w.type==="run:finish"){const k=w.status==="failed"?"failed":"success",_=g.current,E=v.current??void 0;_&&a(N=>N.map(P=>P.id===_?{...P,status:k,finishedAt:w.ts,error:k==="failed"?E:void 0}:P))}},[]);return T.useEffect(()=>{if(!e)return;let w;try{w=new EventSource(`${e}/api/events`)}catch{return}return w.onopen=()=>f(!0),w.onmessage=b=>{try{const k=JSON.parse(b.data);S(k)}catch{}},w.onerror=()=>{f(!1)},()=>{w.close(),f(!1)}},[e,S]),{nodeStatuses:t,nodeErrors:i,runs:l,connected:c,events:d}}function _M(e){const[t,n]=T.useState([]);return T.useEffect(()=>{if(!e)return;let i=!1;return fetch(`${e}/api/workflows`).then(s=>s.ok?s.json():[]).then(s=>{!i&&Array.isArray(s)&&n(s)}).catch(()=>{}),()=>{i=!0}},[e]),{workflows:t}}function NM(e){const[t,n]=T.useState({});return T.useEffect(()=>{if(!e)return;let i=!1;return fetch(`${e}/api/config`).then(s=>s.ok?s.json():{}).then(s=>{!i&&s&&typeof s=="object"&&n(s)}).catch(()=>{}),()=>{i=!0}},[e]),t}function CM(e){const[t,n]=T.useState({});return T.useEffect(()=>{if(!e)return;let i=!1;return fetch(`${e}/api/agents`).then(s=>s.ok?s.json():[]).then(s=>{if(i||!Array.isArray(s))return;const l={};for(const a of s)l[a.name]=a;n(l)}).catch(()=>{}),()=>{i=!0}},[e]),t}async function IM(e,t){await fetch(`${e}/api/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workflow:t})})}const Ui=typeof window<"u"&&window.location.protocol.startsWith("http")?window.location.origin:void 0;function TM(){const{workflow:e,loadDefault:t,loadFromString:n,loadFromObject:i}=kM(),[s,l]=T.useState(null),[a,c]=T.useState("board"),[f,d]=T.useState(null),{nodeStatuses:m,runs:p,connected:g,events:v}=EM(Ui),{workflows:S}=_M(Ui),w=NM(Ui),b=CM(Ui);T.useEffect(()=>{if(S.length===0){t();return}const P=S.find(L=>L.name===f)??S[0];P.name!==f&&d(P.name),i(P)},[S,f,t,i]);const k=T.useCallback(P=>{d(P)},[]),_=T.useCallback(P=>{Ui&&IM(Ui,P)},[]),E=T.useCallback(P=>{l(P)},[]),N=T.useCallback(()=>{l(null)},[]);return A.jsxs("div",{className:"h-screen w-screen flex overflow-hidden bg-muted text-fg font-sans text-[13px] antialiased relative",children:[A.jsx(sP,{activeView:a,onViewChange:c,liveConnected:g,workflows:S,selected:f,onSelect:k,onRun:_,version:w.version}),A.jsx("main",{className:"flex-1 flex flex-col min-w-0",children:a==="board"?A.jsxs(A.Fragment,{children:[A.jsx(lP,{workflow:e,onLoadYaml:n}),A.jsx("div",{className:"flex-1 flex min-h-0",children:A.jsx(yx,{children:A.jsx(KP,{workflow:e,onNodeClick:E,onLoadYaml:n,nodeStatuses:m})})})]}):A.jsx(fL,{runs:p,events:v,connected:g})}),A.jsx(sL,{node:s,onClose:N,agentDefaults:w.agent,agents:b})]})}ak.createRoot(document.getElementById("root")).render(A.jsx(bh.StrictMode,{children:A.jsx(TM,{})}));
|
package/dist/editor/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>agentic-surfaces — workflow editor</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-DYcc1GTw.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-BgnkW1wX.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
package/dist/http.d.ts
CHANGED
|
@@ -21,13 +21,14 @@ export interface ServerOptions {
|
|
|
21
21
|
* (the editor renders read-only).
|
|
22
22
|
*/
|
|
23
23
|
onRun?: (name: string) => void | Promise<unknown>;
|
|
24
|
-
/** Project-level config surfaced at GET /api/config (so the UI shows effective agent defaults). */
|
|
24
|
+
/** Project-level config surfaced at GET /api/config (so the UI shows effective agent defaults + version). */
|
|
25
25
|
config?: {
|
|
26
26
|
dryRun?: boolean;
|
|
27
27
|
agent?: {
|
|
28
28
|
model?: string;
|
|
29
29
|
effort?: string;
|
|
30
30
|
};
|
|
31
|
+
version?: string;
|
|
31
32
|
};
|
|
32
33
|
/** File-based agent definitions, surfaced at GET /api/agents (for the node detail view). */
|
|
33
34
|
agents?: AgentDefinition[];
|
package/dist/serve.d.ts
CHANGED
|
@@ -11,13 +11,14 @@ export interface ServeOptions {
|
|
|
11
11
|
workflows?: Workflow[];
|
|
12
12
|
/** Trigger a run by name from the UI (POST /api/run). */
|
|
13
13
|
onRun?: (name: string) => void | Promise<unknown>;
|
|
14
|
-
/** Project config surfaced at GET /api/config (effective agent defaults, dryRun). */
|
|
14
|
+
/** Project config surfaced at GET /api/config (effective agent defaults, dryRun, version). */
|
|
15
15
|
config?: {
|
|
16
16
|
dryRun?: boolean;
|
|
17
17
|
agent?: {
|
|
18
18
|
model?: string;
|
|
19
19
|
effort?: string;
|
|
20
20
|
};
|
|
21
|
+
version?: string;
|
|
21
22
|
};
|
|
22
23
|
/** Agent definitions surfaced at GET /api/agents. */
|
|
23
24
|
agents?: AgentDefinition[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentic-surfaces/server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@agentic-surfaces/core": "0.1.
|
|
24
|
+
"@agentic-surfaces/core": "0.1.10"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
27
|
"build": "tsc -b",
|