var yr=Object.defineProperty,_r=Object.defineProperties;var wr=Object.getOwnPropertyDescriptors;var Vt=Object.getOwnPropertySymbols;var ho=Object.prototype.hasOwnProperty,go=Object.prototype.propertyIsEnumerable;var ut=Math.pow,fo=(e,t,n)=>t in e?yr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t)=>{for(var n in t||(t={}))ho.call(t,n)&&fo(e,n,t[n]);if(Vt)for(var n of Vt(t))go.call(t,n)&&fo(e,n,t[n]);return e},re=(e,t)=>_r(e,wr(t));var Ue=(e,t)=>{var n={};for(var o in e)ho.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Vt)for(var o of Vt(e))t.indexOf(o)<0&&go.call(e,o)&&(n[o]=e[o]);return n};var vo=(e,t,n)=>new Promise((o,i)=>{var r=s=>{try{l(n.next(s))}catch(u){i(u)}},a=s=>{try{l(n.throw(s))}catch(u){i(u)}},l=s=>s.done?o(s.value):Promise.resolve(s.value).then(r,a);l((n=n.apply(e,t)).next())});import{g4 as li,n as he,$ as un,r as br,p as de,aY as bt,aW as pt,R as ce,di as si,dj as Wt,aG as Kn,b2 as xr,g5 as Er,d as we,g6 as ui,S as Se,a as me,o as ci,f as ue,k as ve,U as Ge,u as ne,v as tt,fy as Sr,g as mt,s as Oe,j as ke,b as nt,F as ot,T as Nr,db as Mr,i as Le,w as Tn,y as Pe,a1 as Cr,m as xt,X as Ir,h as $r,t as Dn,a6 as kr,l as qn,z as Jn,dm as ft,N as ge,e as di,g7 as Tr}from"./index-Ccpe4M2K.js";function cn(e){return si()?(Wt(e),!0):!1}function He(e){return typeof e=="function"?e():ne(e)}const Dr=typeof window!="undefined"&&typeof document!="undefined",Pr=e=>typeof e!="undefined",Ar=Object.prototype.toString,Or=e=>Ar.call(e)==="[object Object]",zr=()=>{};function Br(e,t){function n(...o){return new Promise((i,r)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(i).catch(r)})}return n}const fi=e=>e();function Rr(e=fi){const t=me(!0);function n(){t.value=!1}function o(){t.value=!0}const i=(...r)=>{t.value&&e(...r)};return{isActive:Tr(t),pause:n,resume:o,eventFilter:i}}function po(e,t=!1,n="Timeout"){return new Promise((o,i)=>{setTimeout(t?()=>i(n):o,e)})}function Vr(e,t,n={}){const r=n,{eventFilter:o=fi}=r,i=Ue(r,["eventFilter"]);return he(e,Br(o,t),i)}function ct(e,t,n={}){const c=n,{eventFilter:o}=c,i=Ue(c,["eventFilter"]),{eventFilter:r,pause:a,resume:l,isActive:s}=Rr(o);return{stop:Vr(e,t,re(A({},i),{eventFilter:r})),pause:a,resume:l,isActive:s}}function Hr(e,t={}){if(!Kn(e))return xr(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const o in e.value)n[o]=Er(()=>({get(){return e.value[o]},set(i){var r;if((r=He(t.replaceRef))!=null?r:!0)if(Array.isArray(e.value)){const l=[...e.value];l[o]=i,e.value=l}else{const l=re(A({},e.value),{[o]:i});Object.setPrototypeOf(l,Object.getPrototypeOf(e.value)),e.value=l}else e.value[o]=i}}));return n}function Pn(e,t=!1){function n(f,{flush:h="sync",deep:v=!1,timeout:b,throwOnTimeout:x}={}){let d=null;const y=[new Promise(M=>{d=he(e,S=>{f(S)!==t&&(d==null||d(),M(S))},{flush:h,deep:v,immediate:!0})})];return b!=null&&y.push(po(b,x).then(()=>He(e)).finally(()=>d==null?void 0:d())),Promise.race(y)}function o(f,h){if(!Kn(f))return n(S=>S===f,h);const{flush:v="sync",deep:b=!1,timeout:x,throwOnTimeout:d}=h!=null?h:{};let m=null;const M=[new Promise(S=>{m=he([e,f],([k,V])=>{t!==(k===V)&&(m==null||m(),S(k))},{flush:v,deep:b,immediate:!0})})];return x!=null&&M.push(po(x,d).then(()=>He(e)).finally(()=>(m==null||m(),He(e)))),Promise.race(M)}function i(f){return n(h=>!!h,f)}function r(f){return o(null,f)}function a(f){return o(void 0,f)}function l(f){return n(Number.isNaN,f)}function s(f,h){return n(v=>{const b=Array.from(v);return b.includes(f)||b.includes(He(f))},h)}function u(f){return c(1,f)}function c(f=1,h){let v=-1;return n(()=>(v+=1,v>=f),h)}return Array.isArray(He(e))?{toMatch:n,toContains:s,changed:u,changedTimes:c,get not(){return Pn(e,!t)}}:{toMatch:n,toBe:o,toBeTruthy:i,toBeNull:r,toBeNaN:l,toBeUndefined:a,changed:u,changedTimes:c,get not(){return Pn(e,!t)}}}function jt(e){return Pn(e)}function Lr(e){var t;const n=He(e);return(t=n==null?void 0:n.$el)!=null?t:n}const hi=Dr?window:void 0;function gi(...e){let t,n,o,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,o,i]=e,t=hi):[t,n,o,i]=e,!t)return zr;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const r=[],a=()=>{r.forEach(c=>c()),r.length=0},l=(c,f,h,v)=>(c.addEventListener(f,h,v),()=>c.removeEventListener(f,h,v)),s=he(()=>[Lr(t),He(i)],([c,f])=>{if(a(),!c)return;const h=Or(f)?A({},f):f;r.push(...n.flatMap(v=>o.map(b=>l(c,v,b,h))))},{immediate:!0,flush:"post"}),u=()=>{s(),a()};return cn(u),u}function Fr(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function mo(...e){let t,n,o={};e.length===3?(t=e[0],n=e[1],o=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],o=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:i=hi,eventName:r="keydown",passive:a=!1,dedupe:l=!1}=o,s=Fr(t);return gi(i,r,c=>{c.repeat&&He(l)||s(c)&&n(c)},a)}function Gr(e){return JSON.parse(JSON.stringify(e))}function Ct(e,t,n,o={}){var i,r,a;const{clone:l=!1,passive:s=!1,eventName:u,deep:c=!1,defaultValue:f,shouldEmit:h}=o,v=un(),b=n||(v==null?void 0:v.emit)||((i=v==null?void 0:v.$emit)==null?void 0:i.bind(v))||((a=(r=v==null?void 0:v.proxy)==null?void 0:r.$emit)==null?void 0:a.bind(v==null?void 0:v.proxy));let x=u;t||(t="modelValue"),x=x||`update:${t.toString()}`;const d=M=>l?typeof l=="function"?l(M):Gr(M):M,m=()=>Pr(e[t])?d(e[t]):f,y=M=>{h?h(M)&&b(x,M):b(x,M)};if(s){const M=m(),S=me(M);let k=!1;return he(()=>e[t],V=>{k||(k=!0,S.value=d(V),Pe(()=>k=!1))}),he(S,V=>{!k&&(V!==e[t]||c)&&y(V)},{deep:c}),S}else return de({get(){return m()},set(M){y(M)}})}var Yr={value:()=>{}};function dn(){for(var e=0,t=arguments.length,n={},o;e=0&&(o=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}Kt.prototype=dn.prototype={constructor:Kt,on:function(e,t){var n=this._,o=Xr(e+"",n),i,r=-1,a=o.length;if(arguments.length<2){for(;++r0)for(var n=new Array(i),o=0,i,r;o=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),_o.hasOwnProperty(t)?{space:_o[t],local:e}:e}function Ur(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===An&&t.documentElement.namespaceURI===An?t.createElement(e):t.createElementNS(n,e)}}function Wr(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function vi(e){var t=fn(e);return(t.local?Wr:Ur)(t)}function Kr(){}function Qn(e){return e==null?Kr:function(){return this.querySelector(e)}}function qr(e){typeof e!="function"&&(e=Qn(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i=M&&(M=y+1);!(k=d[M])&&++M=0;)(a=o[i])&&(r&&a.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(a,r),r=a);return this}function ba(e){e||(e=xa);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,o=n.length,i=new Array(o),r=0;rt?1:e>=t?0:NaN}function Ea(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Sa(){return Array.from(this)}function Na(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?za:typeof t=="function"?Ra:Ba)(e,t,n==null?"":n)):yt(this.node(),e)}function yt(e,t){return e.style.getPropertyValue(t)||wi(e).getComputedStyle(e,null).getPropertyValue(t)}function Ha(e){return function(){delete this[e]}}function La(e,t){return function(){this[e]=t}}function Fa(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ga(e,t){return arguments.length>1?this.each((t==null?Ha:typeof t=="function"?Fa:La)(e,t)):this.node()[e]}function bi(e){return e.trim().split(/^|\s+/)}function jn(e){return e.classList||new xi(e)}function xi(e){this._node=e,this._names=bi(e.getAttribute("class")||"")}xi.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ei(e,t){for(var n=jn(e),o=-1,i=t.length;++o=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function ml(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,i=t.length,r;n()=>e;function On(e,{sourceEvent:t,subject:n,target:o,identifier:i,active:r,x:a,y:l,dx:s,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}On.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Cl(e){return!e.ctrlKey&&!e.button}function Il(){return this.parentNode}function $l(e,t){return t==null?{x:e.x,y:e.y}:t}function kl(){return navigator.maxTouchPoints||"ontouchstart"in this}function Tl(){var e=Cl,t=Il,n=$l,o=kl,i={},r=dn("start","drag","end"),a=0,l,s,u,c,f=0;function h(S){S.on("mousedown.drag",v).filter(o).on("touchstart.drag",d).on("touchmove.drag",m,Ml).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(S,k){if(!(c||!e.call(this,S,k))){var V=M(this,t.call(this,S,k),S,k,"mouse");V&&(Ie(S.view).on("mousemove.drag",b,kt).on("mouseup.drag",x,kt),Ci(S.view),bn(S),u=!1,l=S.clientX,s=S.clientY,V("start",S))}}function b(S){if(ht(S),!u){var k=S.clientX-l,V=S.clientY-s;u=k*k+V*V>f}i.mouse("drag",S)}function x(S){Ie(S.view).on("mousemove.drag mouseup.drag",null),Ii(S.view,u),ht(S),i.mouse("end",S)}function d(S,k){if(e.call(this,S,k)){var V=S.changedTouches,w=t.call(this,S,k),X=V.length,G,U;for(G=0;G>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Lt(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Lt(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Pl.exec(e))?new Me(t[1],t[2],t[3],1):(t=Al.exec(e))?new Me(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Ol.exec(e))?Lt(t[1],t[2],t[3],t[4]):(t=zl.exec(e))?Lt(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Bl.exec(e))?Mo(t[1],t[2]/100,t[3]/100,1):(t=Rl.exec(e))?Mo(t[1],t[2]/100,t[3]/100,t[4]):wo.hasOwnProperty(e)?Eo(wo[e]):e==="transparent"?new Me(NaN,NaN,NaN,0):null}function Eo(e){return new Me(e>>16&255,e>>8&255,e&255,1)}function Lt(e,t,n,o){return o<=0&&(e=t=n=NaN),new Me(e,t,n,o)}function Ll(e){return e instanceof zt||(e=Pt(e)),e?(e=e.rgb(),new Me(e.r,e.g,e.b,e.opacity)):new Me}function zn(e,t,n,o){return arguments.length===1?Ll(e):new Me(e,t,n,o==null?1:o)}function Me(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}eo(Me,zn,$i(zt,{brighter(e){return e=e==null?tn:Math.pow(tn,e),new Me(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Tt:Math.pow(Tt,e),new Me(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Me(Qe(this.r),Qe(this.g),Qe(this.b),nn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:So,formatHex:So,formatHex8:Fl,formatRgb:No,toString:No}));function So(){return`#${qe(this.r)}${qe(this.g)}${qe(this.b)}`}function Fl(){return`#${qe(this.r)}${qe(this.g)}${qe(this.b)}${qe((isNaN(this.opacity)?1:this.opacity)*255)}`}function No(){const e=nn(this.opacity);return`${e===1?"rgb(":"rgba("}${Qe(this.r)}, ${Qe(this.g)}, ${Qe(this.b)}${e===1?")":`, ${e})`}`}function nn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Qe(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function qe(e){return e=Qe(e),(e<16?"0":"")+e.toString(16)}function Mo(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new $e(e,t,n,o)}function ki(e){if(e instanceof $e)return new $e(e.h,e.s,e.l,e.opacity);if(e instanceof zt||(e=Pt(e)),!e)return new $e;if(e instanceof $e)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,i=Math.min(t,n,o),r=Math.max(t,n,o),a=NaN,l=r-i,s=(r+i)/2;return l?(t===r?a=(n-o)/l+(n0&&s<1?0:a,new $e(a,l,s,e.opacity)}function Gl(e,t,n,o){return arguments.length===1?ki(e):new $e(e,t,n,o==null?1:o)}function $e(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}eo($e,Gl,$i(zt,{brighter(e){return e=e==null?tn:Math.pow(tn,e),new $e(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Tt:Math.pow(Tt,e),new $e(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,i=2*n-o;return new Me(xn(e>=240?e-240:e+120,i,o),xn(e,i,o),xn(e<120?e+240:e-120,i,o),this.opacity)},clamp(){return new $e(Co(this.h),Ft(this.s),Ft(this.l),nn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=nn(this.opacity);return`${e===1?"hsl(":"hsla("}${Co(this.h)}, ${Ft(this.s)*100}%, ${Ft(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Co(e){return e=(e||0)%360,e<0?e+360:e}function Ft(e){return Math.max(0,Math.min(1,e||0))}function xn(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Ti=e=>()=>e;function Yl(e,t){return function(n){return e+n*t}}function Xl(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function Zl(e){return(e=+e)==1?Di:function(t,n){return n-t?Xl(t,n,e):Ti(isNaN(t)?n:t)}}function Di(e,t){var n=t-e;return n?Yl(e,n):Ti(isNaN(e)?t:e)}const Io=function e(t){var n=Zl(t);function o(i,r){var a=n((i=zn(i)).r,(r=zn(r)).r),l=n(i.g,r.g),s=n(i.b,r.b),u=Di(i.opacity,r.opacity);return function(c){return i.r=a(c),i.g=l(c),i.b=s(c),i.opacity=u(c),i+""}}return o.gamma=e,o}(1);function Ze(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Bn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,En=new RegExp(Bn.source,"g");function Ul(e){return function(){return e}}function Wl(e){return function(t){return e(t)+""}}function Kl(e,t){var n=Bn.lastIndex=En.lastIndex=0,o,i,r,a=-1,l=[],s=[];for(e=e+"",t=t+"";(o=Bn.exec(e))&&(i=En.exec(t));)(r=i.index)>n&&(r=t.slice(n,r),l[a]?l[a]+=r:l[++a]=r),(o=o[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,s.push({i:a,x:Ze(o,i)})),n=En.lastIndex;return n180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,o)-2,x:Ze(u,c)})):c&&f.push(i(f)+"rotate("+c+o)}function l(u,c,f,h){u!==c?h.push({i:f.push(i(f)+"skewX(",null,o)-2,x:Ze(u,c)}):c&&f.push(i(f)+"skewX("+c+o)}function s(u,c,f,h,v,b){if(u!==f||c!==h){var x=v.push(i(v)+"scale(",null,",",null,")");b.push({i:x-4,x:Ze(u,f)},{i:x-2,x:Ze(c,h)})}else(f!==1||h!==1)&&v.push(i(v)+"scale("+f+","+h+")")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),r(u.translateX,u.translateY,c.translateX,c.translateY,f,h),a(u.rotate,c.rotate,f,h),l(u.skewX,c.skewX,f,h),s(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(v){for(var b=-1,x=h.length,d;++b=0&&e._call.call(void 0,t),e=e._next;--_t}function To(){it=(rn=At.now())+hn,_t=Nt=0;try{rs()}finally{_t=0,ls(),it=0}}function as(){var e=At.now(),t=e-rn;t>Oi&&(hn-=t,rn=e)}function ls(){for(var e,t=on,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:on=n);Mt=e,Vn(o)}function Vn(e){if(!_t){Nt&&(Nt=clearTimeout(Nt));var t=e-it;t>24?(e<1/0&&(Nt=setTimeout(To,e-At.now()-hn)),Et&&(Et=clearInterval(Et))):(Et||(rn=At.now(),Et=setInterval(as,Oi)),_t=1,zi(To))}}function Do(e,t,n){var o=new an;return t=t==null?0:+t,o.restart(i=>{o.stop(),e(i+t)},t,n),o}var ss=dn("start","end","cancel","interrupt"),us=[],Ri=0,Po=1,Hn=2,qt=3,Ao=4,Ln=5,Jt=6;function gn(e,t,n,o,i,r){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;cs(e,n,{name:t,index:o,group:i,on:ss,tween:us,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:Ri})}function no(e,t){var n=Te(e,t);if(n.state>Ri)throw new Error("too late; already scheduled");return n}function ze(e,t){var n=Te(e,t);if(n.state>qt)throw new Error("too late; already running");return n}function Te(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function cs(e,t,n){var o=e.__transition,i;o[t]=n,n.timer=Bi(r,0,n.time);function r(u){n.state=Po,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var c,f,h,v;if(n.state!==Po)return s();for(c in o)if(v=o[c],v.name===n.name){if(v.state===qt)return Do(a);v.state===Ao?(v.state=Jt,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete o[c]):+cHn&&o.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function Hs(e,t,n){var o,i,r=Vs(t)?no:ze;return function(){var a=r(this,e),l=a.on;l!==o&&(i=(o=l).copy()).on(t,n),a.on=i}}function Ls(e,t){var n=this._id;return arguments.length<2?Te(this.node(),n).on.on(e):this.each(Hs(n,e,t))}function Fs(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Gs(){return this.on("end.remove",Fs(this._id))}function Ys(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Qn(e));for(var o=this._groups,i=o.length,r=new Array(i),a=0;a()=>e;function vu(e,{sourceEvent:t,target:n,transform:o,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function Fe(e,t,n){this.k=e,this.x=t,this.y=n}Fe.prototype={constructor:Fe,scale:function(e){return e===1?this:new Fe(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Fe(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var wt=new Fe(1,0,0);Fe.prototype;function Sn(e){e.stopImmediatePropagation()}function St(e){e.preventDefault(),e.stopImmediatePropagation()}function pu(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function mu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Oo(){return this.__zoom||wt}function yu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function _u(){return navigator.maxTouchPoints||"ontouchstart"in this}function wu(e,t,n){var o=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a))}function bu(){var e=pu,t=mu,n=wu,o=yu,i=_u,r=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],l=250,s=os,u=dn("start","zoom","end"),c,f,h,v=500,b=150,x=0,d=10;function m(p){p.property("__zoom",Oo).on("wheel.zoom",X,{passive:!1}).on("mousedown.zoom",G).on("dblclick.zoom",U).filter(i).on("touchstart.zoom",O).on("touchmove.zoom",Q).on("touchend.zoom touchcancel.zoom",Y).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(p,I,E,$){var B=p.selection?p.selection():p;B.property("__zoom",Oo),p!==B?k(p,I,E,$):B.interrupt().each(function(){V(this,arguments).event($).start().zoom(null,typeof I=="function"?I.apply(this,arguments):I).end()})},m.scaleBy=function(p,I,E,$){m.scaleTo(p,function(){var B=this.__zoom.k,C=typeof I=="function"?I.apply(this,arguments):I;return B*C},E,$)},m.scaleTo=function(p,I,E,$){m.transform(p,function(){var B=t.apply(this,arguments),C=this.__zoom,D=E==null?S(B):typeof E=="function"?E.apply(this,arguments):E,Z=C.invert(D),q=typeof I=="function"?I.apply(this,arguments):I;return n(M(y(C,q),D,Z),B,a)},E,$)},m.translateBy=function(p,I,E,$){m.transform(p,function(){return n(this.__zoom.translate(typeof I=="function"?I.apply(this,arguments):I,typeof E=="function"?E.apply(this,arguments):E),t.apply(this,arguments),a)},null,$)},m.translateTo=function(p,I,E,$,B){m.transform(p,function(){var C=t.apply(this,arguments),D=this.__zoom,Z=$==null?S(C):typeof $=="function"?$.apply(this,arguments):$;return n(wt.translate(Z[0],Z[1]).scale(D.k).translate(typeof I=="function"?-I.apply(this,arguments):-I,typeof E=="function"?-E.apply(this,arguments):-E),C,a)},$,B)};function y(p,I){return I=Math.max(r[0],Math.min(r[1],I)),I===p.k?p:new Fe(I,p.x,p.y)}function M(p,I,E){var $=I[0]-E[0]*p.k,B=I[1]-E[1]*p.k;return $===p.x&&B===p.y?p:new Fe(p.k,$,B)}function S(p){return[(+p[0][0]+ +p[1][0])/2,(+p[0][1]+ +p[1][1])/2]}function k(p,I,E,$){p.on("start.zoom",function(){V(this,arguments).event($).start()}).on("interrupt.zoom end.zoom",function(){V(this,arguments).event($).end()}).tween("zoom",function(){var B=this,C=arguments,D=V(B,C).event($),Z=t.apply(B,C),q=E==null?S(Z):typeof E=="function"?E.apply(B,C):E,se=Math.max(Z[1][0]-Z[0][0],Z[1][1]-Z[0][1]),F=B.__zoom,te=typeof I=="function"?I.apply(B,C):I,T=s(F.invert(q).concat(se/F.k),te.invert(q).concat(se/te.k));return function(j){if(j===1)j=te;else{var W=T(j),K=se/W[2];j=new Fe(K,q[0]-W[0]*K,q[1]-W[1]*K)}D.zoom(null,j)}})}function V(p,I,E){return!E&&p.__zooming||new w(p,I)}function w(p,I){this.that=p,this.args=I,this.active=0,this.sourceEvent=null,this.extent=t.apply(p,I),this.taps=0}w.prototype={event:function(p){return p&&(this.sourceEvent=p),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(p,I){return this.mouse&&p!=="mouse"&&(this.mouse[1]=I.invert(this.mouse[0])),this.touch0&&p!=="touch"&&(this.touch0[1]=I.invert(this.touch0[0])),this.touch1&&p!=="touch"&&(this.touch1[1]=I.invert(this.touch1[0])),this.that.__zoom=I,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(p){var I=Ie(this.that).datum();u.call(p,this.that,new vu(p,{sourceEvent:this.sourceEvent,target:m,type:p,transform:this.that.__zoom,dispatch:u}),I)}};function X(p,...I){if(!e.apply(this,arguments))return;var E=V(this,I).event(p),$=this.__zoom,B=Math.max(r[0],Math.min(r[1],$.k*Math.pow(2,o.apply(this,arguments)))),C=De(p);if(E.wheel)(E.mouse[0][0]!==C[0]||E.mouse[0][1]!==C[1])&&(E.mouse[1]=$.invert(E.mouse[0]=C)),clearTimeout(E.wheel);else{if($.k===B)return;E.mouse=[C,$.invert(C)],Qt(this),E.start()}St(p),E.wheel=setTimeout(D,b),E.zoom("mouse",n(M(y($,B),E.mouse[0],E.mouse[1]),E.extent,a));function D(){E.wheel=null,E.end()}}function G(p,...I){if(h||!e.apply(this,arguments))return;var E=p.currentTarget,$=V(this,I,!0).event(p),B=Ie(p.view).on("mousemove.zoom",q,!0).on("mouseup.zoom",se,!0),C=De(p,E),D=p.clientX,Z=p.clientY;Ci(p.view),Sn(p),$.mouse=[C,this.__zoom.invert(C)],Qt(this),$.start();function q(F){if(St(F),!$.moved){var te=F.clientX-D,T=F.clientY-Z;$.moved=te*te+T*T>x}$.event(F).zoom("mouse",n(M($.that.__zoom,$.mouse[0]=De(F,E),$.mouse[1]),$.extent,a))}function se(F){B.on("mousemove.zoom mouseup.zoom",null),Ii(F.view,$.moved),St(F),$.event(F).end()}}function U(p,...I){if(e.apply(this,arguments)){var E=this.__zoom,$=De(p.changedTouches?p.changedTouches[0]:p,this),B=E.invert($),C=E.k*(p.shiftKey?.5:2),D=n(M(y(E,C),$,B),t.apply(this,I),a);St(p),l>0?Ie(this).transition().duration(l).call(k,D,$,p):Ie(this).call(m.transform,D,$,p)}}function O(p,...I){if(e.apply(this,arguments)){var E=p.touches,$=E.length,B=V(this,I,p.changedTouches.length===$).event(p),C,D,Z,q;for(Sn(p),D=0;D<$;++D)Z=E[D],q=De(Z,this),q=[q,this.__zoom.invert(q),Z.identifier],B.touch0?!B.touch1&&B.touch0[2]!==q[2]&&(B.touch1=q,B.taps=0):(B.touch0=q,C=!0,B.taps=1+!!c);c&&(c=clearTimeout(c)),C&&(B.taps<2&&(f=q[0],c=setTimeout(function(){c=null},v)),Qt(this),B.start())}}function Q(p,...I){if(this.__zooming){var E=V(this,I).event(p),$=p.changedTouches,B=$.length,C,D,Z,q;for(St(p),C=0;C(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(J||{}),io=(e=>(e.Partial="partial",e.Full="full",e))(io||{}),We=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(We||{}),rt=(e=>(e.Strict="strict",e.Loose="loose",e))(rt||{}),Fn=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(Fn||{}),It=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(It||{});function ro(){return typeof window!="undefined"?window:{chrome:!1,addEventListener(...e){}}}function Gn(e){var t,n;const o=((n=(t=e.composedPath)==null?void 0:t.call(e))==null?void 0:n[0])||e.target,i=typeof(o==null?void 0:o.hasAttribute)=="function"?o.hasAttribute("contenteditable"):!1,r=typeof(o==null?void 0:o.closest)=="function"?o.closest(".nokey"):null;return["INPUT","SELECT","TEXTAREA"].includes(o==null?void 0:o.nodeName)||i||!!r}function xu(e){return e.ctrlKey||e.metaKey||e.shiftKey}function zo(e,t,n,o){const i=t.split("+").map(r=>r.trim().toLowerCase());return i.length===1?e.toLowerCase()===t.toLowerCase():(o?n.delete(e.toLowerCase()):n.add(e.toLowerCase()),i.every((r,a)=>n.has(r)&&Array.from(n.values())[a]===i[a]))}function Eu(e,t){return n=>{if(!n.code&&!n.key)return!1;const o=Su(n.code,e);return Array.isArray(e)?e.some(i=>zo(n[o],i,t,n.type==="keyup")):zo(n[o],e,t,n.type==="keyup")}}function Su(e,t){return typeof t=="string"?e===t?"code":"key":t.includes(e)?"code":"key"}function $t(e,t,n={actInsideInputWithModifier:!0}){const o=ro(),i=me(ce(e)===!0);let r=!1;const a=new Set;let l=u(ce(e));return he(i,(c,f)=>{c!==f&&(t==null||t(c))}),he(()=>ce(e),(c,f)=>{typeof f=="boolean"&&typeof c!="boolean"&&s(),l=u(c)},{immediate:!0}),gi(o,"blur",()=>{ce(e)!==!0&&(i.value=!1)}),mo((...c)=>l(...c),c=>{r=xu(c),!((!r||r&&!n.actInsideInputWithModifier)&&Gn(c))&&(c.preventDefault(),i.value=!0)},{eventName:"keydown"}),mo((...c)=>l(...c),c=>{if(i.value){if((!r||r&&!n.actInsideInputWithModifier)&&Gn(c))return;s()}},{eventName:"keyup"}),i;function s(){r=!1,a.clear(),i.value=!1}function u(c){return c===null?(s(),()=>!1):typeof c=="boolean"?(s(),i.value=c,()=>!1):Array.isArray(c)||typeof c=="string"?Eu(c,a):c}}const Fi="vue-flow__node-desc",Gi="vue-flow__edge-desc",Nu="vue-flow__aria-live",Yi=["Enter"," ","Escape"],vt={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function Xi(e){const{vueFlowRef:t,snapToGrid:n,snapGrid:o,noDragClassName:i,nodes:r,nodeExtent:a,nodeDragThreshold:l,viewport:s,autoPanOnNodeDrag:u,nodesDraggable:c,panBy:f,findNode:h,multiSelectionActive:v,nodesSelectionActive:b,selectNodesOnDrag:x,removeSelectedElements:d,addSelectedNodes:m,updateNodePositions:y,emits:M}=_e(),{onStart:S,onDrag:k,onStop:V,el:w,disabled:X,id:G,selectable:U,dragHandle:O}=e,Q=me(!1);let Y=[],p,I=null,E={x:void 0,y:void 0},$={x:0,y:0},B=null,C=!1,D=0,Z=!1;const q=ku(),se=({x:K,y:ee})=>{E={x:K,y:ee};let oe=!1;if(Y=Y.map(le=>{const pe={x:K-le.distance.x,y:ee-le.distance.y};n.value&&(pe.x=o.value[0]*Math.round(pe.x/o.value[0]),pe.y=o.value[1]*Math.round(pe.y/o.value[1]));const{computedPosition:g}=lo(le,pe,M.error,a.value,le.parentNode?h(le.parentNode):void 0);return oe=oe||le.position.x!==g.x||le.position.y!==g.y,le.position=g,le}),!!oe&&(y(Y,!0,!0),Q.value=!0,B)){const[le,pe]=$n({id:G,dragItems:Y,findNode:h});k({event:B,node:le,nodes:pe})}},F=()=>{var oe,le;if(!I)return;const[K,ee]=ar($,I);if(K!==0||ee!==0){const pe={x:((oe=E.x)!=null?oe:0)-K/s.value.zoom,y:((le=E.y)!=null?le:0)-ee/s.value.zoom};f({x:K,y:ee})&&se(pe)}D=requestAnimationFrame(F)},te=(K,ee)=>{C=!0;const oe=h(G);!x.value&&!v.value&&oe&&(oe.selected||d()),oe&&ce(U)&&x.value&&Un(oe,v.value,m,d,b,!1,ee);const le=q(K);if(E=le,Y=Xu(r.value,c.value,le,h,G),Y.length){const[pe,g]=$n({id:G,dragItems:Y,findNode:h});S({event:K.sourceEvent,node:pe,nodes:g})}},T=(K,ee)=>{var oe;l.value===0&&te(K,ee),E=q(K),I=((oe=t.value)==null?void 0:oe.getBoundingClientRect())||null,$=et(K.sourceEvent,I)},j=(K,ee)=>{var le,pe;const oe=q(K);if(!Z&&C&&u.value&&(Z=!0,F()),!C){const g=oe.xSnapped-((le=E.x)!=null?le:0),_=oe.ySnapped-((pe=E.y)!=null?pe:0);Math.sqrt(g*g+_*_)>l.value&&te(K,ee)}(E.x!==oe.xSnapped||E.y!==oe.ySnapped)&&Y.length&&C&&(B=K.sourceEvent,$=et(K.sourceEvent,I),se(oe))},W=K=>{if(C&&(Q.value=!1,Z=!1,C=!1,cancelAnimationFrame(D),Y.length)){y(Y,!1,!1);const[ee,oe]=$n({id:G,dragItems:Y,findNode:h});V({event:K.sourceEvent,node:ee,nodes:oe})}};return he([()=>ce(X),w],([K,ee],oe,le)=>{if(ee){const pe=Ie(ee);K||(p=Tl().on("start",g=>T(g,ee)).on("drag",g=>j(g,ee)).on("end",g=>W(g)).filter(g=>{const _=g.target,z=ce(O);return!g.button&&(!i.value||!Zo(_,`.${i.value}`,ee)&&(!z||Zo(_,z,ee)))}),pe.call(p)),le(()=>{pe.on(".drag",null),p&&(p.on("start",null),p.on("drag",null),p.on("end",null))})}}),Q}const Bo=Symbol("vueFlow"),Zi=Symbol("nodeId"),Ui=Symbol("nodeRef"),Mu=Symbol("edgeId"),Cu=Symbol("edgeRef"),vn=Symbol("slots");function Iu(){return{doubleClick:L(),click:L(),mouseEnter:L(),mouseMove:L(),mouseLeave:L(),contextMenu:L(),updateStart:L(),update:L(),updateEnd:L()}}function $u(e,t){const n=Iu();return n.doubleClick.on(o=>{var i,r;t.edgeDoubleClick(o),(r=(i=e.events)==null?void 0:i.doubleClick)==null||r.call(i,o)}),n.click.on(o=>{var i,r;t.edgeClick(o),(r=(i=e.events)==null?void 0:i.click)==null||r.call(i,o)}),n.mouseEnter.on(o=>{var i,r;t.edgeMouseEnter(o),(r=(i=e.events)==null?void 0:i.mouseEnter)==null||r.call(i,o)}),n.mouseMove.on(o=>{var i,r;t.edgeMouseMove(o),(r=(i=e.events)==null?void 0:i.mouseMove)==null||r.call(i,o)}),n.mouseLeave.on(o=>{var i,r;t.edgeMouseLeave(o),(r=(i=e.events)==null?void 0:i.mouseLeave)==null||r.call(i,o)}),n.contextMenu.on(o=>{var i,r;t.edgeContextMenu(o),(r=(i=e.events)==null?void 0:i.contextMenu)==null||r.call(i,o)}),n.updateStart.on(o=>{var i,r;t.edgeUpdateStart(o),(r=(i=e.events)==null?void 0:i.updateStart)==null||r.call(i,o)}),n.update.on(o=>{var i,r;t.edgeUpdate(o),(r=(i=e.events)==null?void 0:i.update)==null||r.call(i,o)}),n.updateEnd.on(o=>{var i,r;t.edgeUpdateEnd(o),(r=(i=e.events)==null?void 0:i.updateEnd)==null||r.call(i,o)}),Object.entries(n).reduce((o,[i,r])=>(o.emit[i]=r.trigger,o.on[i]=r.on,o),{emit:{},on:{}})}function ku(){const{viewport:e,snapGrid:t,snapToGrid:n}=_e();return({sourceEvent:o})=>{const i=o.touches?o.touches[0].clientX:o.clientX,r=o.touches?o.touches[0].clientY:o.clientY,a={x:(i-e.value.x)/e.value.zoom,y:(r-e.value.y)/e.value.zoom};return A({xSnapped:n.value?t.value[0]*Math.round(a.x/t.value[0]):a.x,ySnapped:n.value?t.value[1]*Math.round(a.y/t.value[1]):a.y},a)}}function Xt(){return!0}function Wi({handleId:e,nodeId:t,type:n,isValidConnection:o,edgeUpdaterType:i,onEdgeUpdate:r,onEdgeUpdateEnd:a}){const{vueFlowRef:l,connectionMode:s,connectionRadius:u,connectOnClick:c,connectionClickStartHandle:f,nodesConnectable:h,autoPanOnConnect:v,findNode:b,panBy:x,startConnection:d,updateConnection:m,endConnection:y,emits:M,viewport:S,edges:k,nodes:V,isValidConnection:w}=_e();let X=null,G=!1,U=null;function O(Y){var p;const I=ce(n)==="target",E=so(Y),$=Vo(Y.target);if(E&&Y.button===0||!E){let B=function(g){ee=et(g,W);const{handle:_,validHandleResult:z}=Qu(g,$,Xn(ee,S.value,!1,[1,1]),u.value,le,P=>qo(g,P,s.value,ce(t),ce(e),I?"target":"source",Z,$,k.value,V.value,b));if(q=_,oe||(pe(),oe=!0),X=z.connection,G=z.isValid,U=z.handleDomNode,m(q&&G?tr({x:q.x,y:q.y},S.value):ee,z.endHandle,ec(!!q,G)),!q&&!G&&!U)return kn(K);X&&X.source!==X.target&&U&&(kn(K),K=U,U.classList.add("connecting","vue-flow__handle-connecting"),U.classList.toggle("valid",G),U.classList.toggle("vue-flow__handle-valid",G))},C=function(g){(q||U)&&X&&G&&(r?r(g,X):M.connect(X)),M.connectEnd(g),i&&(a==null||a(g)),kn(K),cancelAnimationFrame(se),y(g),oe=!1,G=!1,X=null,U=null,$.removeEventListener("mousemove",B),$.removeEventListener("mouseup",C),$.removeEventListener("touchmove",B),$.removeEventListener("touchend",C)};const D=b(ce(t));let Z=ce(o)||w.value||Xt;!Z&&D&&(Z=(I?D.isValidSourcePos:D.isValidTargetPos)||Xt);let q,se=0;const{x:F,y:te}=et(Y),T=$==null?void 0:$.elementFromPoint(F,te),j=uo(ce(i),T),W=(p=l.value)==null?void 0:p.getBoundingClientRect();if(!W||!j)return;let K,ee=et(Y,W),oe=!1;const le=ju({nodes:V.value,nodeId:ce(t),handleId:ce(e),handleType:j}),pe=()=>{if(!v)return;const[g,_]=ar(ee,W);x({x:g,y:_}),se=requestAnimationFrame(pe)};d({nodeId:ce(t),handleId:ce(e),type:j},{x:F-W.left,y:te-W.top},Y),M.connectStart({event:Y,nodeId:ce(t),handleId:ce(e),handleType:j}),$.addEventListener("mousemove",B),$.addEventListener("mouseup",C),$.addEventListener("touchmove",B),$.addEventListener("touchend",C)}}function Q(Y){if(!c.value)return;const p=ce(n)==="target";if(!f.value)M.clickConnectStart({event:Y,nodeId:ce(t),handleId:ce(e)}),d({nodeId:ce(t),type:ce(n),handleId:ce(e)},void 0,Y,!0);else{let I=ce(o)||w.value||Xt;const E=b(ce(t));if(!I&&E&&(I=(p?E.isValidSourcePos:E.isValidTargetPos)||Xt),E&&(typeof E.connectable=="undefined"?h.value:E.connectable)===!1)return;const $=Vo(Y.target),{connection:B,isValid:C}=qo(Y,{nodeId:ce(t),id:ce(e),type:ce(n)},s.value,f.value.nodeId,f.value.handleId||null,f.value.type,I,$,k.value,V.value,b),D=B.source===B.target;C&&!D&&M.connect(B),M.clickConnectEnd(Y),y(Y,!0)}}return{handlePointerDown:O,handleClick:Q}}function Ki(){return bt(Zi,"")}function Tu(e){var l;const t=(l=Ki())!=null?l:"",n=bt(Ui,me(null)),{findNode:o,edges:i,emits:r}=_e(),a=o(t);return a||r.error(new Ne(Ee.NODE_NOT_FOUND,t)),{id:t,nodeEl:n,node:a,parentNode:de(()=>o(a.parentNode)),connectedEdges:de(()=>ao([a],i.value))}}function Du(){return{doubleClick:L(),click:L(),mouseEnter:L(),mouseMove:L(),mouseLeave:L(),contextMenu:L(),dragStart:L(),drag:L(),dragStop:L()}}function Pu(e,t){const n=Du();return n.doubleClick.on(o=>{var i,r;t.nodeDoubleClick(o),(r=(i=e.events)==null?void 0:i.doubleClick)==null||r.call(i,o)}),n.click.on(o=>{var i,r;t.nodeClick(o),(r=(i=e.events)==null?void 0:i.click)==null||r.call(i,o)}),n.mouseEnter.on(o=>{var i,r;t.nodeMouseEnter(o),(r=(i=e.events)==null?void 0:i.mouseEnter)==null||r.call(i,o)}),n.mouseMove.on(o=>{var i,r;t.nodeMouseMove(o),(r=(i=e.events)==null?void 0:i.mouseMove)==null||r.call(i,o)}),n.mouseLeave.on(o=>{var i,r;t.nodeMouseLeave(o),(r=(i=e.events)==null?void 0:i.mouseLeave)==null||r.call(i,o)}),n.contextMenu.on(o=>{var i,r;t.nodeContextMenu(o),(r=(i=e.events)==null?void 0:i.contextMenu)==null||r.call(i,o)}),n.dragStart.on(o=>{var i,r;t.nodeDragStart(o),(r=(i=e.events)==null?void 0:i.dragStart)==null||r.call(i,o)}),n.drag.on(o=>{var i,r;t.nodeDrag(o),(r=(i=e.events)==null?void 0:i.drag)==null||r.call(i,o)}),n.dragStop.on(o=>{var i,r;t.nodeDragStop(o),(r=(i=e.events)==null?void 0:i.dragStop)==null||r.call(i,o)}),Object.entries(n).reduce((o,[i,r])=>(o.emit[i]=r.trigger,o.on[i]=r.on,o),{emit:{},on:{}})}function qi(){const{getSelectedNodes:e,nodeExtent:t,updateNodePositions:n,findNode:o,snapGrid:i,snapToGrid:r,nodesDraggable:a,emits:l}=_e();return(s,u=!1)=>{const c=r.value?i.value[0]:5,f=r.value?i.value[1]:5,h=u?4:1,v=s.x*c*h,b=s.y*f*h,x=e.value.filter(d=>d.draggable||a&&typeof d.draggable=="undefined").map(d=>{const m={x:d.computedPosition.x+v,y:d.computedPosition.y+b},{computedPosition:y}=lo(d,m,l.error,t.value,d.parentNode?o(d.parentNode):void 0);return{id:d.id,position:y,from:d.position,distance:{x:s.x,y:s.y},dimensions:d.dimensions}});n(x,!0,!1)}}const Nn=.1;function Xe(){return Bt("Viewport not initialized yet."),Promise.resolve(!1)}const Au={zoomIn:Xe,zoomOut:Xe,zoomTo:Xe,fitView:Xe,setCenter:Xe,fitBounds:Xe,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:Xe,setTransform:Xe,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function Ou(e){function t(o,i){return new Promise(r=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.scaleBy(Mn(e.d3Selection,i,()=>{r(!0)}),o):r(!1)})}function n(o,i,r,a){return new Promise(l=>{const{x:s,y:u}=Ji({x:-o,y:-i},e.translateExtent),c=wt.translate(-s,-u).scale(r);e.d3Selection&&e.d3Zoom?e.d3Zoom.transform(Mn(e.d3Selection,a,()=>{l(!0)}),c):l(!1)})}return de(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>t(1.2,i==null?void 0:i.duration),zoomOut:i=>t(1/1.2,i==null?void 0:i.duration),zoomTo:(i,r)=>new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.scaleTo(Mn(e.d3Selection,r==null?void 0:r.duration,()=>{a(!0)}),i):a(!1)}),setViewport:(i,r)=>n(i.x,i.y,i.zoom,r==null?void 0:r.duration),setTransform:(i,r)=>n(i.x,i.y,i.zoom,r==null?void 0:r.duration),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Nn,includeHiddenNodes:!1,duration:0})=>{var c,f,h;const r=e.nodes.filter(v=>{var b;const x=v.dimensions.width&&v.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!v.hidden);return(b=i.nodes)!=null&&b.length?x&&i.nodes.includes(v.id):x});if(!r.length)return Promise.resolve(!1);const a=or(r),{x:l,y:s,zoom:u}=Ho(a,e.dimensions.width,e.dimensions.height,(c=i.minZoom)!=null?c:e.minZoom,(f=i.maxZoom)!=null?f:e.maxZoom,(h=i.padding)!=null?h:Nn,i.offset);return n(l,s,u,i==null?void 0:i.duration)},setCenter:(i,r,a)=>{const l=typeof(a==null?void 0:a.zoom)!="undefined"?a.zoom:e.maxZoom,s=e.dimensions.width/2-i*l,u=e.dimensions.height/2-r*l;return n(s,u,l,a==null?void 0:a.duration)},fitBounds:(i,r={padding:Nn})=>{const{x:a,y:l,zoom:s}=Ho(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,r.padding);return n(a,l,s,r==null?void 0:r.duration)},project:i=>Xn(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:r,y:a}=e.vueFlowRef.getBoundingClientRect(),l={x:i.x-r,y:i.y-a};return Xn(l,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:r,y:a}=e.vueFlowRef.getBoundingClientRect(),l={x:i.x+r,y:i.y+a};return tr(l,e.viewport)}return{x:0,y:0}}}:Au)}function Mn(e,t=0,n){return e.transition().duration(t).on("end",n)}function zu(e,t,n){const o=li(!0);return o.run(()=>{const i=()=>{o.run(()=>{let x,d,m=!!(n.nodes.value.length||n.edges.value.length);x=ct([e.modelValue,()=>{var y,M;return(M=(y=e.modelValue)==null?void 0:y.value)==null?void 0:M.length}],([y])=>{y&&Array.isArray(y)&&(d==null||d.pause(),n.setElements(y),!d&&!m&&y.length?m=!0:d==null||d.resume())}),d=ct([n.nodes,n.edges,()=>n.edges.value.length,()=>n.nodes.value.length],([y,M])=>{var S;(S=e.modelValue)!=null&&S.value&&Array.isArray(e.modelValue.value)&&(x==null||x.pause(),e.modelValue.value=[...y,...M],Pe(()=>{x==null||x.resume()}))},{immediate:m}),Wt(()=>{x==null||x.stop(),d==null||d.stop()})})},r=()=>{o.run(()=>{let x,d,m=!!n.nodes.value.length;x=ct([e.nodes,()=>{var y,M;return(M=(y=e.nodes)==null?void 0:y.value)==null?void 0:M.length}],([y])=>{y&&Array.isArray(y)&&(d==null||d.pause(),n.setNodes(y),!d&&!m&&y.length?m=!0:d==null||d.resume())}),d=ct([n.nodes,()=>n.nodes.value.length],([y])=>{var M;(M=e.nodes)!=null&&M.value&&Array.isArray(e.nodes.value)&&(x==null||x.pause(),e.nodes.value=[...y],Pe(()=>{x==null||x.resume()}))},{immediate:m}),Wt(()=>{x==null||x.stop(),d==null||d.stop()})})},a=()=>{o.run(()=>{let x,d,m=!!n.edges.value.length;x=ct([e.edges,()=>{var y,M;return(M=(y=e.edges)==null?void 0:y.value)==null?void 0:M.length}],([y])=>{y&&Array.isArray(y)&&(d==null||d.pause(),n.setEdges(y),!d&&!m&&y.length?m=!0:d==null||d.resume())}),d=ct([n.edges,()=>n.edges.value.length],([y])=>{var M;(M=e.edges)!=null&&M.value&&Array.isArray(e.edges.value)&&(x==null||x.pause(),e.edges.value=[...y],Pe(()=>{x==null||x.resume()}))},{immediate:m}),Wt(()=>{x==null||x.stop(),d==null||d.stop()})})},l=()=>{o.run(()=>{he(()=>t.maxZoom,()=>{t.maxZoom&&be(t.maxZoom)&&n.setMaxZoom(t.maxZoom)},{immediate:!0})})},s=()=>{o.run(()=>{he(()=>t.minZoom,()=>{t.minZoom&&be(t.minZoom)&&n.setMinZoom(t.minZoom)},{immediate:!0})})},u=()=>{o.run(()=>{he(()=>t.translateExtent,()=>{t.translateExtent&&be(t.translateExtent)&&n.setTranslateExtent(t.translateExtent)},{immediate:!0})})},c=()=>{o.run(()=>{he(()=>t.nodeExtent,()=>{t.nodeExtent&&be(t.nodeExtent)&&n.setNodeExtent(t.nodeExtent)},{immediate:!0})})},f=()=>{o.run(()=>{he(()=>t.applyDefault,()=>{be(t.applyDefault)&&(n.applyDefault.value=t.applyDefault)},{immediate:!0})})},h=()=>{o.run(()=>{const x=d=>vo(this,null,function*(){let m=d;typeof t.autoConnect=="function"&&(m=yield t.autoConnect(d)),m!==!1&&n.addEdges([m])});he(()=>t.autoConnect,()=>{be(t.autoConnect)&&(n.autoConnect.value=t.autoConnect)},{immediate:!0}),he(n.autoConnect,(d,m,y)=>{d?n.onConnect(x):n.hooks.value.connect.off(x),y(()=>{n.hooks.value.connect.off(x)})},{immediate:!0})})},v=()=>{const x=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const d of Object.keys(t)){const m=d;if(!x.includes(m)){const y=Se(()=>t[m]),M=n[m];Kn(M)&&o.run(()=>{he(y,S=>{be(S)&&(M.value=S)},{immediate:!0,flush:"pre"})})}}};(()=>{i(),r(),a(),s(),l(),u(),c(),f(),h(),v()})()}),()=>o.stop()}function Ro(e){return re(A({},e.computedPosition||{x:0,y:0}),{width:e.dimensions.width||0,height:e.dimensions.height||0})}function Yn(e,t){const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)}function pn(e){return{width:e.offsetWidth,height:e.offsetHeight}}function at(e,t=0,n=1){return Math.min(Math.max(e,t),n)}function Ji(e,t){return{x:at(e.x,t[0][0],t[1][0]),y:at(e.y,t[0][1],t[1][1])}}function Vo(e){const t=e.getRootNode();return"elementFromPoint"in t?t:ro().document}function lt(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function je(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!lt(e)}function dt(e){return je(e)&&"computedPosition"in e}function Zt(e){return!Number.isNaN(e)&&Number.isFinite(e)}function Bu(e){return Zt(e.width)&&Zt(e.height)&&Zt(e.x)&&Zt(e.y)}function Ru(e,t,n){var i;const o={id:e.id.toString(),type:(i=e.type)!=null?i:"default",dimensions:ft({width:0,height:0}),handleBounds:{source:[],target:[]},computedPosition:ft(A({z:0},e.position)),draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:be(e.data)?e.data:{},events:ft(be(e.events)?e.events:{})};return Object.assign(t!=null?t:o,e,{id:e.id.toString(),parentNode:n})}function Qi(e,t,n){var a,l,s,u,c,f,h;var o,i;const r=A({id:e.id.toString(),type:(l=(a=e.type)!=null?a:t==null?void 0:t.type)!=null?l:"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(o=e.sourceHandle)==null?void 0:o.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:(s=e.updatable)!=null?s:n==null?void 0:n.updatable,selectable:(u=e.selectable)!=null?u:n==null?void 0:n.selectable,focusable:(c=e.focusable)!=null?c:n==null?void 0:n.focusable,data:be(e.data)?e.data:{},events:ft(be(e.events)?e.events:{}),label:(f=e.label)!=null?f:"",interactionWidth:(h=e.interactionWidth)!=null?h:n==null?void 0:n.interactionWidth},n!=null?n:{});return Object.assign(t!=null?t:r,e,{id:e.id.toString()})}function ji(e,t,n,o){const i=typeof e=="string"?e:e.id,r=new Set,a=o==="source"?"target":"source";for(const l of n)l[a]===i&&r.add(l[o]);return t.filter(l=>r.has(l.id))}function Vu(...e){if(e.length===3){const[r,a,l]=e;return ji(r,a,l,"target")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(r=>lt(r)&&r.source===o).map(r=>n.find(a=>je(a)&&a.id===r.target))}function Hu(...e){if(e.length===3){const[r,a,l]=e;return ji(r,a,l,"source")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(r=>lt(r)&&r.target===o).map(r=>n.find(a=>je(a)&&a.id===r.source))}function er({source:e,sourceHandle:t,target:n,targetHandle:o}){return`vueflow__edge-${e}${t!=null?t:""}-${n}${o!=null?o:""}`}function Lu(e,t){return t.some(n=>lt(n)&&n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle))}function tr({x:e,y:t},{x:n,y:o,zoom:i}){return{x:e*i+n,y:t*i+o}}function Xn({x:e,y:t},{x:n,y:o,zoom:i},r,[a,l]){const s={x:(e-n)/i,y:(t-o)/i};return r?{x:a*Math.round(s.x/a),y:l*Math.round(s.y/l)}:s}function Fu(e,t){return{x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}}function nr({x:e,y:t,width:n,height:o}){return{x:e,y:t,x2:e+n,y2:t+o}}function Gu({x:e,y:t,x2:n,y2:o}){return{x:e,y:t,width:n-e,height:o-t}}function or(e){const t=e.reduce((n,{computedPosition:o={x:0,y:0},dimensions:i={width:0,height:0}}={})=>Fu(n,nr(A(A({},o),i))),{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY});return Gu(t)}function ir(e,t,{x:n,y:o,zoom:i}={x:0,y:0,zoom:1},r=!1,a=!1){const l={x:(t.x-n)/i,y:(t.y-o)/i,width:t.width/i,height:t.height/i};return e.filter(s=>{const{computedPosition:u={x:0,y:0},dimensions:c={width:0,height:0},selectable:f}=s;if(a&&!f)return!1;const h=re(A({},u),{width:c.width||0,height:c.height||0}),v=Yn(l,h),b=typeof c.width=="undefined"||typeof c.height=="undefined"||c.width===0||c.height===0,x=r&&v>0,d=c.width*c.height;return b||x||v>=d})}function ao(e,t){const n=new Set;if(typeof e=="string")n.add(e);else if(e.length>=1)for(const o of e)n.add(o.id);return t.filter(o=>n.has(o.source)||n.has(o.target))}function Ho(e,t,n,o,i,r=.1,a={x:0,y:0}){var x,d;const l=t/(e.width*(1+r)),s=n/(e.height*(1+r)),u=Math.min(l,s),c=at(u,o,i),f=e.x+e.width/2,h=e.y+e.height/2,v=t/2-f*c+((x=a.x)!=null?x:0),b=n/2-h*c+((d=a.y)!=null?d:0);return{x:v,y:b,zoom:c}}function Yu(e,t){return{x:t.x+e.x,y:t.y+e.y,z:(e.z>t.z?e.z:t.z)+1}}function rr(e,t){if(!e.parentNode)return!1;const n=t(e.parentNode);return n?n.selected?!0:rr(n,t):!1}function Je(e,t){return typeof e=="undefined"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`}function Lo(e,t,n){return en?-at(Math.abs(e-n),1,50)/50:0}function ar(e,t){const n=Lo(e.x,35,t.width-35)*20,o=Lo(e.y,35,t.height-35)*20;return[n,o]}function Cn(e,t){var n,o;if(t){const i=e.position.x+e.dimensions.width-t.dimensions.width,r=e.position.y+e.dimensions.height-t.dimensions.height;if(i>0||r>0||e.position.x<0||e.position.y<0){let a={};if(typeof t.style=="function"?a=A({},t.style(t)):t.style&&(a=A({},t.style)),a.width=(n=a.width)!=null?n:`${t.dimensions.width}px`,a.height=(o=a.height)!=null?o:`${t.dimensions.height}px`,i>0)if(typeof a.width=="string"){const l=Number(a.width.replace("px",""));a.width=`${l+i}px`}else a.width+=i;if(r>0)if(typeof a.height=="string"){const l=Number(a.height.replace("px",""));a.height=`${l+r}px`}else a.height+=r;if(e.position.x<0){const l=Math.abs(e.position.x);if(t.position.x=t.position.x-l,typeof a.width=="string"){const s=Number(a.width.replace("px",""));a.width=`${s+l}px`}else a.width+=l;e.position.x=0}if(e.position.y<0){const l=Math.abs(e.position.y);if(t.position.y=t.position.y-l,typeof a.height=="string"){const s=Number(a.height.replace("px",""));a.height=`${s+l}px`}else a.height+=l;e.position.y=0}t.dimensions.width=Number(a.width.toString().replace("px","")),t.dimensions.height=Number(a.height.toString().replace("px","")),typeof t.style=="function"?t.style=l=>{const s=t.style;return A(A({},s(l)),a)}:t.style=A(A({},t.style),a)}}}function Fo(e,t){var n,o;const i=e.filter(a=>a.type==="add"||a.type==="remove");for(const a of i)if(a.type==="add")t.findIndex(s=>s.id===a.item.id)===-1&&t.push(a.item);else if(a.type==="remove"){const l=t.findIndex(s=>s.id===a.id);l!==-1&&t.splice(l,1)}const r=t.map(a=>a.id);for(const a of t){const l=e.filter(s=>s.id===a.id);for(const s of l)switch(s.type){case"select":a.selected=s.selected;break;case"position":if(dt(a)&&(typeof s.position!="undefined"&&(a.position=s.position),typeof s.dragging!="undefined"&&(a.dragging=s.dragging),a.expandParent&&a.parentNode)){const u=t[r.indexOf(a.parentNode)];u&&dt(u)&&Cn(a,u)}break;case"dimensions":if(dt(a)){if(typeof s.dimensions!="undefined"&&(a.dimensions=s.dimensions),typeof s.updateStyle!="undefined"&&(a.style=re(A({},a.style||{}),{width:`${(n=s.dimensions)==null?void 0:n.width}px`,height:`${(o=s.dimensions)==null?void 0:o.height}px`})),typeof s.resizing!="undefined"&&(a.resizing=s.resizing),a.expandParent&&a.parentNode){const u=t[r.indexOf(a.parentNode)];u&&dt(u)&&(u.initialized?Cn(a,u):Pe(()=>{Cn(a,u)}))}a.initialized||(a.initialized=!0)}break}}return t}function Ve(e,t){return{id:e,type:"select",selected:t}}function Go(e){return{item:e,type:"add"}}function Yo(e){return{id:e,type:"remove"}}function Xo(e,t,n,o,i){return{id:e,source:t,target:n,sourceHandle:o||null,targetHandle:i||null,type:"remove"}}function In(e,t){return e.reduce((n,o)=>{let i=t.includes(o.id);be(o.selectable)&&!o.selectable&&(i=!1);const r=dt(o)?"changedNodes":"changedEdges";return!o.selected&&i?n[r].push(Ve(o.id,!0)):o.selected&&!i&&n[r].push(Ve(o.id,!1)),n},{changedNodes:[],changedEdges:[]})}function L(e){const t=new Set;let n=!1;const o=()=>t.size>0;e&&(n=!0,t.add(e));const i=l=>{t.delete(l)};return{on:l=>{e&&n&&t.delete(e),t.add(l);const s=()=>{i(l),e&&n&&t.add(e)};return cn(s),{off:s}},off:i,trigger:l=>Promise.all(Array.from(t).map(s=>s(l))),hasListeners:o,fns:t}}function Zo(e,t,n){let o=e;do{if(o&&o.matches(t))return!0;if(o===n)return!1;o=o.parentElement}while(o);return!1}function Xu(e,t,n,o,i){return e.filter(r=>(r.selected||r.id===i)&&(!r.parentNode||!rr(r,o))&&(r.draggable||t&&typeof r.draggable=="undefined")).map(r=>{var a,l;return ft({id:r.id,position:r.position||{x:0,y:0},distance:{x:n.x-((a=r.computedPosition)==null?void 0:a.x)||0,y:n.y-((l=r.computedPosition)==null?void 0:l.y)||0},from:r.computedPosition,extent:r.extent,parentNode:r.parentNode,dimensions:r.dimensions,expandParent:r.expandParent})})}function $n({id:e,dragItems:t,findNode:n}){const o=t.reduce((i,r)=>{const a=n(r.id);return a&&i.push(a),i},[]);return[e?o.find(i=>i.id===e):o[0],o]}function lr(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function Zu(e,t,n){const[o,i,r,a]=typeof e!="string"?lr(e.padding):[0,0,0,0];return n&&typeof n.computedPosition.x!="undefined"&&typeof n.computedPosition.y!="undefined"&&typeof n.dimensions.width!="undefined"&&typeof n.dimensions.height!="undefined"?[[n.computedPosition.x+a,n.computedPosition.y+o],[n.computedPosition.x+n.dimensions.width-i,n.computedPosition.y+n.dimensions.height-r]]:!1}function Uu(e,t,n,o){let i=e.extent||n;if((i==="parent"||!Array.isArray(i)&&(i==null?void 0:i.range)==="parent")&&!e.expandParent)if(e.parentNode&&o&&e.dimensions.width&&e.dimensions.height){const r=Zu(i,e,o);r&&(i=r)}else t(new Ne(Ee.NODE_EXTENT_INVALID,e.id)),i=n;else if(Array.isArray(i)){const r=(o==null?void 0:o.computedPosition.x)||0,a=(o==null?void 0:o.computedPosition.y)||0;i=[[i[0][0]+r,i[0][1]+a],[i[1][0]+r,i[1][1]+a]]}else if(i!=="parent"&&(i!=null&&i.range)&&Array.isArray(i.range)){const[r,a,l,s]=lr(i.padding),u=(o==null?void 0:o.computedPosition.x)||0,c=(o==null?void 0:o.computedPosition.y)||0;i=[[i.range[0][0]+u+s,i.range[0][1]+c+r],[i.range[1][0]+u-a,i.range[1][1]+c-l]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function Wu({width:e,height:t},n){return[n[0],[n[1][0]-(e||0),n[1][1]-(t||0)]]}function lo(e,t,n,o,i){const r=Wu(e.dimensions,Uu(e,n,o,i)),a=Ji(t,r);return{position:{x:a.x-((i==null?void 0:i.computedPosition.x)||0),y:a.y-((i==null?void 0:i.computedPosition.y)||0)},computedPosition:a}}function Zn(e,t,n){var l,s,u,c;const o=((l=n==null?void 0:n.x)!=null?l:0)+t.x,i=((s=n==null?void 0:n.y)!=null?s:0)+t.y,r=(u=n==null?void 0:n.width)!=null?u:t.width,a=(c=n==null?void 0:n.height)!=null?c:t.height;switch(e){case J.Top:return{x:o+r/2,y:i};case J.Right:return{x:o+r,y:i+a/2};case J.Bottom:return{x:o+r/2,y:i+a};case J.Left:return{x:o,y:i+a/2}}}function Uo(e=[],t){return e.length&&(t?e.find(n=>n.id===t):e[0])||null}function Ku(e,t,n,o,i,r){const a=Zn(n,A(A({},e.dimensions),e.computedPosition),t),l=Zn(r,A(A({},o.dimensions),o.computedPosition),i);return{sourceX:a.x,sourceY:a.y,targetX:l.x,targetY:l.y}}function qu({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:r,width:a,height:l,viewport:s}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+o,t.y+r)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=nr({x:(0-s.x)/s.zoom,y:(0-s.y)/s.zoom,width:a/s.zoom,height:l/s.zoom}),f=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),h=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(f*h)>0}function Ju(e,t,n=!1){const o=typeof e.zIndex=="number";let i=o?e.zIndex:0;const r=t(e.source),a=t(e.target);return!r||!a?0:(n&&(i=o?e.zIndex:Math.max(r.computedPosition.z||0,a.computedPosition.z||0)),i)}var Ee=(e=>(e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e))(Ee||{});const Wo={MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid Node: ${e}`,NODE_NOT_FOUND:e=>`Node not found Node: ${e}`,NODE_MISSING_PARENT:(e,t)=>`Node is missing a parent Node: ${e} Parent: ${t}`,NODE_TYPE_MISSING:e=>`Node type is missing Type: ${e}`,NODE_EXTENT_INVALID:e=>`Only child nodes can use a parent extent Node: ${e}`,EDGE_INVALID:e=>`An edge needs a source and a target Edge: ${e}`,EDGE_SOURCE_MISSING:(e,t)=>`Edge source is missing Edge: ${e} Source: ${t}`,EDGE_TARGET_MISSING:(e,t)=>`Edge target is missing Edge: ${e} Target: ${t}`,EDGE_TYPE_MISSING:e=>`Edge type is missing Type: ${e}`,EDGE_SOURCE_TARGET_SAME:(e,t,n)=>`Edge source and target are the same Edge: ${e} Source: ${t} Target: ${n}`,EDGE_SOURCE_TARGET_MISSING:(e,t,n)=>`Edge source or target is missing Edge: ${e} Source: ${t} Target: ${n}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found Edge: ${e}`};class Ne extends Error{constructor(t,...n){var o;super((o=Wo[t])==null?void 0:o.call(Wo,...n)),this.name="VueFlowError",this.code=t,this.args=n}}function so(e){return"clientX"in e}function et(e,t){var l,s;var n,o;const i=so(e),r=i?e.clientX:(n=e.touches)==null?void 0:n[0].clientX,a=i?e.clientY:(o=e.touches)==null?void 0:o[0].clientY;return{x:r-((l=t==null?void 0:t.left)!=null?l:0),y:a-((s=t==null?void 0:t.top)!=null?s:0)}}const ln=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function sr(){return{handleDomNode:null,isValid:!1,connection:{source:"",target:"",sourceHandle:null,targetHandle:null},endHandle:null}}function kn(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Ko(e,t,n,o){return(t[n]||[]).reduce((i,r)=>{var s,u;var a,l;return`${e.id}-${r.id}-${n}`!==o&&i.push({id:r.id||null,type:n,nodeId:e.id,x:((s=(a=e.computedPosition)==null?void 0:a.x)!=null?s:0)+r.x+r.width/2,y:((u=(l=e.computedPosition)==null?void 0:l.y)!=null?u:0)+r.y+r.height/2,width:r.width,height:r.height}),i},[])}function Qu(e,t,n,o,i,r){const{x:a,y:l}=et(e),u=t.elementsFromPoint(a,l).find(b=>b.classList.contains("vue-flow__handle"));if(u){const b=u.getAttribute("data-nodeid");if(b){const x=uo(void 0,u),d=u.getAttribute("data-handleid"),m=r({nodeId:b,id:d,type:x});if(m){const y=i.find(M=>M.nodeId===b&&M.type===x&&M.id===d);return{handle:{id:d,type:x,nodeId:b,x:(y==null?void 0:y.x)||n.x,y:(y==null?void 0:y.y)||n.y},validHandleResult:m}}}}let c=[],f=Number.POSITIVE_INFINITY;for(const b of i){const x=Math.sqrt(ut(b.x-n.x,2)+ut(b.y-n.y,2));if(x<=o){const d=r(b);x<=f&&(xb.isValid),v=c.some(({handle:b})=>b.type==="target");return c.find(({handle:b,validHandleResult:x})=>v?b.type==="target":h?x.isValid:!0)||c[0]}function qo(e,t,n,o,i,r,a,l,s,u,c){const f=r==="target",h=l.querySelector(`.vue-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),{x:v,y:b}=et(e),x=l.elementFromPoint(v,b),d=x!=null&&x.classList.contains("vue-flow__handle")?x:h,m=sr();if(d){m.handleDomNode=d;const y=uo(void 0,d),M=d.getAttribute("data-nodeid"),S=d.getAttribute("data-handleid"),k=d.classList.contains("connectable"),V=d.classList.contains("connectableend"),w={source:f?M:o,sourceHandle:f?S:i,target:f?o:M,targetHandle:f?i:S};m.connection=w;const G=k&&V&&(n===rt.Strict?f&&y==="source"||!f&&y==="target":M!==o||S!==i);m.endHandle={nodeId:M,handleId:S,type:y},G&&(m.isValid=a(w,{edges:s,nodes:u,sourceNode:c(w.source),targetNode:c(w.target)}))}return m}function ju({nodes:e,nodeId:t,handleId:n,handleType:o}){return e.reduce((i,r)=>{const{handleBounds:a}=r;let l=[],s=[];return a&&(l=Ko(r,a,"source",`${t}-${n}-${o}`),s=Ko(r,a,"target",`${t}-${n}-${o}`)),i.push(...l,...s),i},[])}function uo(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function ec(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}const tc=["production","prod"];function Bt(e,...t){tc.includes("production")||console.warn(`[Vue Flow]: ${e}`,...t)}function Jo(e,t,n){const o=t.querySelectorAll(`.vue-flow__handle${e}`);if(!o||!o.length)return;const i=Array.from(o),r=t.getBoundingClientRect();return i.map(a=>{const l=a.getBoundingClientRect();return A({id:a.getAttribute("data-handleid"),position:a.getAttribute("data-handlepos"),x:(l.left-r.left)/n,y:(l.top-r.top)/n},pn(a))})}function Un(e,t,n,o,i,r=!1,a){i.value=!1,e.selected?(r||e.selected&&t)&&(o([e]),Pe(()=>{a.blur()})):n([e])}function be(e){return typeof ne(e)!="undefined"}function nc(e,t,n,o){var r;if(!e||!e.source||!e.target)return n(new Ne(Ee.EDGE_INVALID,(r=e==null?void 0:e.id)!=null?r:"[ID UNKNOWN]")),!1;let i;return lt(e)?i=e:i=re(A({},e),{id:er(e)}),i=Qi(i,void 0,o),Lu(i,t)?!1:i}function oc(e,t,n,o,i,r){if(!t.source||!t.target)return r(new Ne(Ee.EDGE_INVALID,e.id)),!1;const a=o(e.id);if(!a)return r(new Ne(Ee.EDGE_NOT_FOUND,e.id)),!1;const c=e,{id:l}=c,s=Ue(c,["id"]),u=re(A({},s),{id:i?er(t):l,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle});return n.splice(n.indexOf(a),1,u),u}function Qo(e,t,n,o){const i={},r=e.reduce((l,s,u)=>{if(!je(s))return o(new Ne(Ee.NODE_INVALID,s==null?void 0:s.id)||`[ID UNKNOWN|INDEX ${u}]`),l;const c=Ru(s,n(s.id),s.parentNode);return s.parentNode&&(i[s.parentNode]=!0),l.concat(c)},[]),a=[...r,...t];for(const l of r){const s=a.find(u=>u.id===l.parentNode);l.parentNode&&!s&&o(new Ne(Ee.NODE_MISSING_PARENT,l.id,l.parentNode)),(l.parentNode||i[l.id])&&(i[l.id]&&(l.isParent=!0),s&&(s.isParent=!0))}return r}function jo(e,t){e.clear();for(const n of t){const{id:o,source:i,target:r,sourceHandle:a=null,targetHandle:l=null}=n,s=`${i}-source-${a}`,u=`${r}-target-${l}`,c=e.get(s)||new Map,f=e.get(u)||new Map,h=ft({edgeId:o,source:i,target:r,sourceHandle:a,targetHandle:l});e.set(s,c.set(`${r}-${l}`,h)),e.set(u,f.set(`${i}-${a}`,h))}}function ei(e,t,n){if(!n)return;const o=[];for(const i of e.keys())t.has(i)||o.push(e.get(i));o.length&&n(o)}function ic(e,t){if(!e&&!t)return!0;if(!e||!t||e.size!==t.size)return!1;if(!e.size&&!t.size)return!0;for(const n of e.keys())if(!t.has(n))return!1;return!0}function rc(){return{edgesChange:L(),nodesChange:L(),nodeDoubleClick:L(),nodeClick:L(),nodeMouseEnter:L(),nodeMouseMove:L(),nodeMouseLeave:L(),nodeContextMenu:L(),nodeDragStart:L(),nodeDrag:L(),nodeDragStop:L(),nodesInitialized:L(),miniMapNodeClick:L(),miniMapNodeDoubleClick:L(),miniMapNodeMouseEnter:L(),miniMapNodeMouseMove:L(),miniMapNodeMouseLeave:L(),connect:L(),connectStart:L(),connectEnd:L(),clickConnectStart:L(),clickConnectEnd:L(),paneReady:L(),init:L(),move:L(),moveStart:L(),moveEnd:L(),selectionDragStart:L(),selectionDrag:L(),selectionDragStop:L(),selectionContextMenu:L(),selectionStart:L(),selectionEnd:L(),viewportChangeStart:L(),viewportChange:L(),viewportChangeEnd:L(),paneScroll:L(),paneClick:L(),paneContextMenu:L(),paneMouseEnter:L(),paneMouseMove:L(),paneMouseLeave:L(),edgeContextMenu:L(),edgeMouseEnter:L(),edgeMouseMove:L(),edgeMouseLeave:L(),edgeDoubleClick:L(),edgeClick:L(),edgeUpdateStart:L(),edgeUpdate:L(),edgeUpdateEnd:L(),updateNodeInternals:L(),error:L(e=>Bt(e.message))}}function ac(e,t){Cr(()=>{for(const[n,o]of Object.entries(t.value)){const i=r=>{e(n,r)};o.fns.add(i),cn(()=>{o.off(i)})}})}function ur(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:io.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:It.Free,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:We.Bezier,style:{}},connectionMode:rt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:ln()?"Meta":"Control",zoomActivationKeyCode:ln()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:rc(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,disableKeyboardA11y:!1,ariaLiveMessage:""}}const lc=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function sc(e,t,n,o){const i=Ou(t),r=g=>{var z;const _=(z=g!=null?g:n.value)!=null?z:[];t.hooks.updateNodeInternals.trigger(_)},a=g=>Hu(g,t.nodes,t.edges),l=g=>Vu(g,t.nodes,t.edges),s=g=>ao(g,t.edges),u=g=>{if(g)return t.nodes&&!n.value.length?t.nodes.find(_=>_.id===g):t.nodes[n.value.indexOf(g)]},c=g=>{if(g)return t.edges&&!o.value.length?t.edges.find(_=>_.id===g):t.edges[o.value.indexOf(g)]},f=(g,_,z)=>{var H,ie;var P,R;const N=[];for(const ae of g){const fe={id:ae.id,type:"position",dragging:z,from:ae.from};if(_&&(fe.position=ae.position,ae.parentNode)){const ye=u(ae.parentNode);fe.position={x:fe.position.x-((H=(P=ye==null?void 0:ye.computedPosition)==null?void 0:P.x)!=null?H:0),y:fe.position.y-((ie=(R=ye==null?void 0:ye.computedPosition)==null?void 0:R.y)!=null?ie:0)}}N.push(fe)}N!=null&&N.length&&t.hooks.nodesChange.trigger(N)},h=g=>{if(!t.vueFlowRef)return;const _=t.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!_)return;const z=window.getComputedStyle(_),{m22:P}=new window.DOMMatrixReadOnly(z.transform),R=g.reduce((N,H)=>{const ie=u(H.id);if(ie){const ae=pn(H.nodeElement);!!(ae.width&&ae.height&&(ie.dimensions.width!==ae.width||ie.dimensions.height!==ae.height||H.forceUpdate))&&(ie.handleBounds.source=Jo(".source",H.nodeElement,P),ie.handleBounds.target=Jo(".target",H.nodeElement,P),ie.dimensions=ae,ie.initialized=!0,N.push({id:ie.id,type:"dimensions",dimensions:ae}))}return N},[]);!t.fitViewOnInitDone&&t.fitViewOnInit&&Pe(()=>{i.value.fitView(),t.fitViewOnInitDone=!0}),R.length&&t.hooks.nodesChange.trigger(R)},v=(g,_)=>{const z=g.map(N=>N.id);let P,R=[];if(t.multiSelectionActive)P=z.map(N=>Ve(N,_));else{const N=In([...t.nodes,...t.edges],z);P=N.changedNodes,R=N.changedEdges}P.length&&t.hooks.nodesChange.trigger(P),R.length&&t.hooks.edgesChange.trigger(R)},b=(g,_)=>{const z=g.map(N=>N.id);let P=[],R;if(t.multiSelectionActive)R=z.map(N=>Ve(N,_));else{const N=In([...t.nodes,...t.edges],z);P=N.changedNodes,R=N.changedEdges}P.length&&t.hooks.nodesChange.trigger(P),R.length&&t.hooks.edgesChange.trigger(R)},x=(g,_)=>{const z=g.filter(je).map(H=>H.id),P=g.filter(lt).map(H=>H.id);let{changedNodes:R,changedEdges:N}=In([...t.nodes,...t.edges],[...z,...P]);t.multiSelectionActive&&(R=z.map(H=>Ve(H,_)),N=P.map(H=>Ve(H,_))),R.length&&t.hooks.nodesChange.trigger(R),N.length&&t.hooks.edgesChange.trigger(N)},d=g=>{v(g,!0)},m=g=>{b(g,!0)},y=g=>{x(g,!0)},M=g=>{if(!g.length)return v(g,!1);const z=g.map(P=>P.id).map(P=>Ve(P,!1));z.length&&t.hooks.nodesChange.trigger(z)},S=g=>{if(!g.length)return b(g,!1);const z=g.map(P=>P.id).map(P=>Ve(P,!1));z.length&&t.hooks.edgesChange.trigger(z)},k=g=>{if(!g||!g.length)return x([],!1);const _=g.reduce((z,P)=>{const R=Ve(P.id,!1);return je(P)?z.nodes.push(R):z.edges.push(R),z},{nodes:[],edges:[]});_.nodes.length&&t.hooks.nodesChange.trigger(_.nodes),_.edges.length&&t.hooks.edgesChange.trigger(_.edges)},V=g=>{var _;(_=t.d3Zoom)==null||_.scaleExtent([g,t.maxZoom]),t.minZoom=g},w=g=>{var _;(_=t.d3Zoom)==null||_.scaleExtent([t.minZoom,g]),t.maxZoom=g},X=g=>{var _;(_=t.d3Zoom)==null||_.translateExtent(g),t.translateExtent=g},G=g=>{t.nodeExtent=g,r(n.value)},U=g=>{t.nodesDraggable=g,t.nodesConnectable=g,t.elementsSelectable=g},O=g=>{const _=g instanceof Function?g(t.nodes):g;!t.initialized&&!_.length||(t.nodes=Qo(_,t.nodes,u,t.hooks.error.trigger))},Q=g=>{const _=g instanceof Function?g(t.edges):g;if(!t.initialized&&!_.length)return;const z=t.isValidConnection?_.filter(P=>t.isValidConnection(P,{edges:t.edges,nodes:t.nodes,sourceNode:u(P.source),targetNode:u(P.target)})):_;jo(t.connectionLookup,z),t.edges=z.reduce((P,R)=>{const N=u(R.source),H=u(R.target),ie=!N||typeof N=="undefined",ae=!H||typeof H=="undefined";if(ie&&ae?t.hooks.error.trigger(new Ne(Ee.EDGE_SOURCE_TARGET_MISSING,R.id,R.source,R.target)):(ie&&t.hooks.error.trigger(new Ne(Ee.EDGE_SOURCE_MISSING,R.id,R.source)),ae&&t.hooks.error.trigger(new Ne(Ee.EDGE_TARGET_MISSING,R.id,R.target))),ie||ae)return P;const fe=c(R.id);return P.push(re(A({},Qi(R,fe,t.defaultEdgeOptions)),{sourceNode:N,targetNode:H})),P},[])},Y=g=>{const _=g instanceof Function?g([...t.nodes,...t.edges]):g;!t.initialized&&!_.length||(O(_.filter(je)),Q(_.filter(lt)))},p=g=>{let _=g instanceof Function?g(t.nodes):g;_=Array.isArray(_)?_:[_];const P=Qo(_,t.nodes,u,t.hooks.error.trigger).map(Go);P.length&&t.hooks.nodesChange.trigger(P)},I=g=>{let _=g instanceof Function?g(t.edges):g;_=Array.isArray(_)?_:[_];const P=(t.isValidConnection?_.filter(R=>{var N;return(N=t.isValidConnection)==null?void 0:N.call(t,R,{edges:t.edges,nodes:t.nodes,sourceNode:u(R.source),targetNode:u(R.target)})}):_).reduce((R,N)=>{const H=nc(N,t.edges,t.hooks.error.trigger,t.defaultEdgeOptions);if(H){const ie=u(H.source),ae=u(H.target);R.push(Go(re(A({},H),{sourceNode:ie,targetNode:ae})))}return R},[]);P.length&&t.hooks.edgesChange.trigger(P)},E=(g,_=!0,z=!1)=>{const P=g instanceof Function?g(t.nodes):g,R=Array.isArray(P)?P:[P],N=[],H=[];function ie(fe){const ye=s(fe).filter(xe=>be(xe.deletable)?xe.deletable:!0);H.push(...ye.map(xe=>Xo(xe.id,xe.source,xe.target,xe.sourceHandle,xe.targetHandle)))}function ae(fe){const ye=t.nodes.filter(xe=>xe.parentNode===fe);if(ye.length){const xe=ye.map(Be=>Be.id);N.push(...xe.map(Be=>Yo(Be))),_&&ie(ye);for(const Be of ye)ae(Be.id)}}for(const fe of R){const ye=typeof fe=="string"?u(fe):fe;ye&&(be(ye.deletable)&&!ye.deletable||(N.push(Yo(ye.id)),_&&ie([ye]),z&&ae(ye.id)))}H.length&&t.hooks.edgesChange.trigger(H),N.length&&t.hooks.nodesChange.trigger(N)},$=g=>{const _=g instanceof Function?g(t.edges):g,z=Array.isArray(_)?_:[_],P=[];for(const R of z){const N=typeof R=="string"?c(R):R;N&&(be(N.deletable)&&!N.deletable||P.push(Xo(typeof R=="string"?R:R.id,N.source,N.target,N.sourceHandle,N.targetHandle)))}t.hooks.edgesChange.trigger(P)},B=(g,_,z=!0)=>oc(g,_,t.edges,c,z,t.hooks.error.trigger),C=g=>Fo(g,t.nodes),D=g=>{const _=Fo(g,t.edges);return jo(t.connectionLookup,_),_},Z=(g,_,z={replace:!1})=>{const P=u(g);if(!P)return;const R=typeof _=="function"?_(P):_;z.replace?t.nodes.splice(t.nodes.indexOf(P),1,R):Object.assign(P,R)},q=(g,_,z={replace:!1})=>{Z(g,P=>{const R=typeof _=="function"?_(P):_;return z.replace?re(A({},P),{data:R}):re(A({},P),{data:A(A({},P.data),R)})},z)},se=(g,_,z,P=!1)=>{P?t.connectionClickStartHandle=g:t.connectionStartHandle=g,t.connectionEndHandle=null,t.connectionStatus=null,_&&(t.connectionPosition=_)},F=(g,_=null,z=null)=>{t.connectionStartHandle&&(t.connectionPosition=g,t.connectionEndHandle=_,t.connectionStatus=z)},te=(g,_)=>{t.connectionPosition={x:Number.NaN,y:Number.NaN},t.connectionEndHandle=null,t.connectionStatus=null,_?t.connectionClickStartHandle=null:t.connectionStartHandle=null},T=g=>{const _=Bu(g),z=_?null:dt(g)?g:u(g.id);return!_&&!z?[null,null,_]:[_?g:Ro(z),z,_]},j=(g,_=!0,z=t.nodes)=>{const[P,R,N]=T(g);return P?(z||t.nodes).filter(H=>{if(!N&&(H.id===R.id||!H.computedPosition))return!1;const ie=Ro(H),ae=Yn(ie,P);return _&&ae>0||ae>=Number(P.width)*Number(P.height)}):[]},W=(g,_,z=!0)=>{const[P]=T(g);if(!P)return!1;const R=Yn(P,_);return z&&R>0||R>=Number(P.width)*Number(P.height)},K=g=>{const{viewport:_,dimensions:z,d3Zoom:P,d3Selection:R,translateExtent:N}=t;if(!P||!R||!g.x&&!g.y)return!1;const H=wt.translate(_.x+g.x,_.y+g.y).scale(_.zoom),ie=[[0,0],[z.width,z.height]],ae=P.constrain()(H,ie,N),fe=t.viewport.x!==ae.x||t.viewport.y!==ae.y||t.viewport.zoom!==ae.k;return P.transform(R,ae),fe},ee=g=>{const _=g instanceof Function?g(t):g,z=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];be(_.defaultEdgeOptions)&&(t.defaultEdgeOptions=_.defaultEdgeOptions);const P=_.modelValue||_.nodes||_.edges?[]:void 0;P&&(_.modelValue&&P.push(..._.modelValue),_.nodes&&P.push(..._.nodes),_.edges&&P.push(..._.edges),Y(P));const R=()=>{be(_.maxZoom)&&w(_.maxZoom),be(_.minZoom)&&V(_.minZoom),be(_.translateExtent)&&X(_.translateExtent)};for(const N of Object.keys(_)){const H=N,ie=_[H];![...lc,...z].includes(H)&&be(ie)&&(t[H]=ie)}jt(()=>t.d3Zoom).not.toBeNull().then(R),t.initialized||(t.initialized=!0)};return{updateNodePositions:f,updateNodeDimensions:h,setElements:Y,setNodes:O,setEdges:Q,addNodes:p,addEdges:I,removeNodes:E,removeEdges:$,findNode:u,findEdge:c,updateEdge:B,updateNode:Z,updateNodeData:q,applyEdgeChanges:D,applyNodeChanges:C,addSelectedElements:y,addSelectedNodes:d,addSelectedEdges:m,setMinZoom:V,setMaxZoom:w,setTranslateExtent:X,setNodeExtent:G,removeSelectedElements:k,removeSelectedNodes:M,removeSelectedEdges:S,startConnection:se,updateConnection:F,endConnection:te,setInteractive:U,setState:ee,getIntersectingNodes:j,getIncomers:a,getOutgoers:l,getConnectedEdges:s,isNodeIntersecting:W,panBy:K,fitView:g=>i.value.fitView(g),zoomIn:g=>i.value.zoomIn(g),zoomOut:g=>i.value.zoomOut(g),zoomTo:(g,_)=>i.value.zoomTo(g,_),setViewport:(g,_)=>i.value.setViewport(g,_),setTransform:(g,_)=>i.value.setTransform(g,_),getViewport:()=>i.value.getViewport(),getTransform:()=>i.value.getTransform(),setCenter:(g,_,z)=>i.value.setCenter(g,_,z),fitBounds:(g,_)=>i.value.fitBounds(g,_),project:g=>i.value.project(g),screenToFlowCoordinate:g=>i.value.screenToFlowCoordinate(g),flowToScreenCoordinate:g=>i.value.flowToScreenCoordinate(g),toObject:()=>JSON.parse(JSON.stringify({nodes:t.nodes.map(g=>{const xe=g,{computedPosition:_,handleBounds:z,selected:P,dimensions:R,isParent:N,resizing:H,dragging:ie,initialized:ae,events:fe}=xe;return Ue(xe,["computedPosition","handleBounds","selected","dimensions","isParent","resizing","dragging","initialized","events"])}),edges:t.edges.map(g=>{const H=g,{selected:_,sourceNode:z,targetNode:P,events:R}=H;return Ue(H,["selected","sourceNode","targetNode","events"])}),position:[t.viewport.x,t.viewport.y],zoom:t.viewport.zoom,viewport:t.viewport})),fromObject:g=>new Promise(_=>{const{nodes:z,edges:P,position:R,zoom:N,viewport:H}=g;if(z&&O(z),P&&Q(P),H!=null&&H.x&&(H!=null&&H.y)||R){const ie=(H==null?void 0:H.x)||R[0],ae=(H==null?void 0:H.y)||R[1],fe=(H==null?void 0:H.zoom)||N||t.viewport.zoom;return jt(()=>i.value.viewportInitialized).toBe(!0).then(()=>{i.value.setViewport({x:ie,y:ae,zoom:fe}).then(()=>{_(!0)})})}else _(!0)}),updateNodeInternals:r,viewportHelper:i,$reset:()=>{var _,z,P;const g=ur();if(t.edges=[],t.nodes=[],t.d3Zoom&&t.d3Selection){const R=wt.translate((_=g.defaultViewport.x)!=null?_:0,(z=g.defaultViewport.y)!=null?z:0).scale(at((P=g.defaultViewport.zoom)!=null?P:1,g.minZoom,g.maxZoom)),N=t.viewportRef.getBoundingClientRect(),H=[[0,0],[N.width,N.height]],ie=t.d3Zoom.constrain()(R,H,g.translateExtent);t.d3Zoom.transform(t.d3Selection,ie)}ee(g)},$destroy:()=>{}}}const uc=["data-id","data-handleid","data-nodeid","data-handlepos"],cc={name:"Handle",compatConfig:{MODE:3}},sn=we(re(A({},cc),{props:{id:{},type:{},position:{default:()=>J.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:t}){const n=ui(e,["position","connectable","connectableStart","connectableEnd","id"]),o=Se(()=>{var O;return(O=n.type)!=null?O:"source"}),i=Se(()=>{var O;return(O=n.isValidConnection)!=null?O:null}),{connectionStartHandle:r,connectionClickStartHandle:a,connectionEndHandle:l,vueFlowRef:s,nodesConnectable:u,noDragClassName:c,noPanClassName:f}=_e(),{id:h,node:v,nodeEl:b,connectedEdges:x}=Tu(),d=me(),m=Se(()=>{var O;return(O=e.id)!=null?O:`${h}__handle-${e.position}`}),y=Se(()=>typeof e.connectableStart!="undefined"?e.connectableStart:!0),M=Se(()=>typeof e.connectableEnd!="undefined"?e.connectableEnd:!0),S=Se(()=>{var O,Q,Y,p,I,E;return((O=r.value)==null?void 0:O.nodeId)===h&&((Q=r.value)==null?void 0:Q.handleId)===m.value&&((Y=r.value)==null?void 0:Y.type)===o.value||((p=l.value)==null?void 0:p.nodeId)===h&&((I=l.value)==null?void 0:I.handleId)===m.value&&((E=l.value)==null?void 0:E.type)===o.value}),k=Se(()=>{var O,Q,Y;return((O=a.value)==null?void 0:O.nodeId)===h&&((Q=a.value)==null?void 0:Q.handleId)===m.value&&((Y=a.value)==null?void 0:Y.type)===o.value}),{handlePointerDown:V,handleClick:w}=Wi({nodeId:h,handleId:m,isValidConnection:i,type:o}),X=de(()=>typeof e.connectable=="string"&&e.connectable==="single"?!x.value.some(O=>{const Q=O[`${o.value}Handle`];return O[o.value]!==h?!1:Q?Q===m.value:!0}):typeof e.connectable=="number"?x.value.filter(O=>{const Q=O[`${o.value}Handle`];return O[o.value]!==h?!1:Q?Q===m.value:!0}).lengthv.initialized).toBe(!0,{flush:"post"}).then(()=>{var C;var O;const Q=(O=v.handleBounds[o.value])==null?void 0:O.find(D=>D.id===m.value);if(!s.value||Q)return;const Y=s.value.querySelector(".vue-flow__transformationpane");if(!b.value||!d.value||!Y||!m.value)return;const p=b.value.getBoundingClientRect(),I=d.value.getBoundingClientRect(),E=window.getComputedStyle(Y),{m22:$}=new window.DOMMatrixReadOnly(E.transform),B=A({id:m.value,position:e.position,x:(I.left-p.left)/$,y:(I.top-p.top)/$},pn(d.value));v.handleBounds[o.value]=[...(C=v.handleBounds[o.value])!=null?C:[],B]}),ci(()=>{const O=v.handleBounds[o.value];O&&(v.handleBounds[o.value]=O.filter(Q=>Q.id!==m.value))});function G(O){const Q=so(O);X.value&&y.value&&(Q&&O.button===0||!Q)&&V(O)}function U(O){!h||!a.value&&!y.value||X.value&&w(O)}return t({handleClick:w,handlePointerDown:V,onClick:U,onPointerDown:G}),(O,Q)=>(ue(),ve("div",{ref_key:"handle",ref:d,"data-id":`${ne(h)}-${m.value}-${o.value}`,"data-handleid":m.value,"data-nodeid":ne(h),"data-handlepos":O.position,class:tt(["vue-flow__handle",[`vue-flow__handle-${O.position}`,`vue-flow__handle-${m.value}`,ne(c),ne(f),o.value,{connectable:X.value,connecting:k.value,connectablestart:y.value,connectableend:M.value,connectionindicator:X.value&&(y.value&&!S.value||M.value&&S.value)}]]),onMousedown:G,onTouchstartPassive:G,onClick:U},[Ge(O.$slots,"default",{id:O.id})],42,uc))}})),mn=function({sourcePosition:e=J.Bottom,targetPosition:t=J.Top,label:n,connectable:o=!0,isValidTargetPos:i,isValidSourcePos:r,data:a}){const l=a.label||n;return[ge(sn,{type:"target",position:t,connectable:o,isValidConnection:i}),typeof l!="string"&&l?ge(l):ge("div",{innerHTML:l}),ge(sn,{type:"source",position:e,connectable:o,isValidConnection:r})]};mn.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"];mn.inheritAttrs=!1;mn.compatConfig={MODE:3};const dc=mn,yn=function({targetPosition:e=J.Top,label:t,connectable:n=!0,isValidTargetPos:o,data:i}){const r=i.label||t;return[ge(sn,{type:"target",position:e,connectable:n,isValidConnection:o}),typeof r!="string"&&r?ge(r):ge("div",{innerHTML:r})]};yn.props=["targetPosition","label","isValidTargetPos","connectable","data"];yn.inheritAttrs=!1;yn.compatConfig={MODE:3};const fc=yn,_n=function({sourcePosition:e=J.Bottom,label:t,connectable:n=!0,isValidSourcePos:o,data:i}){const r=i.label||t;return[typeof r!="string"&&r?ge(r):ge("div",{innerHTML:r}),ge(sn,{type:"source",position:e,connectable:n,isValidConnection:o})]};_n.props=["sourcePosition","label","isValidSourcePos","connectable","data"];_n.inheritAttrs=!1;_n.compatConfig={MODE:3};const hc=_n,gc=["transform"],vc=["width","height","x","y","rx","ry"],pc=["y"],mc={name:"EdgeText",compatConfig:{MODE:3}},yc=we(re(A({},mc),{props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const t=me({x:0,y:0,width:0,height:0}),n=me(null),o=de(()=>`translate(${e.x-t.value.width/2} ${e.y-t.value.height/2})`);xt(i),he([()=>e.x,()=>e.y,n,()=>e.label],i);function i(){if(!n.value)return;const r=n.value.getBBox();(r.width!==t.value.width||r.height!==t.value.height)&&(t.value=r)}return(r,a)=>(ue(),ve("g",{transform:o.value,class:"vue-flow__edge-textwrapper"},[r.labelShowBg?(ue(),ve("rect",{key:0,class:"vue-flow__edge-textbg",width:`${t.value.width+2*r.labelBgPadding[0]}px`,height:`${t.value.height+2*r.labelBgPadding[1]}px`,x:-r.labelBgPadding[0],y:-r.labelBgPadding[1],style:Oe(r.labelBgStyle),rx:r.labelBgBorderRadius,ry:r.labelBgBorderRadius},null,12,vc)):ke("",!0),mt("text",kr(r.$attrs,{ref_key:"el",ref:n,class:"vue-flow__edge-text",y:t.value.height/2,dy:"0.3em",style:r.labelStyle}),[Ge(r.$slots,"default",{},()=>[typeof r.label!="string"?(ue(),nt(Ir(r.label),{key:0})):(ue(),ve(ot,{key:1},[$r(Dn(r.label),1)],64))])],16,pc)],8,gc))}})),_c=["id","d","marker-end","marker-start"],wc=["d","stroke-width"],bc={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},wn=we(re(A({},bc),{props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},style:{},labelStyle:{},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:t}){const n=ui(e,["interactionWidth","labelShowBg"]),o=me(null),i=me(null),r=me(null),a=Sr();return t({pathEl:o,interactionEl:i,labelEl:r}),(l,s)=>(ue(),ve(ot,null,[mt("path",{id:l.id,ref_key:"pathEl",ref:o,d:l.path,style:Oe(n.style),class:tt(["vue-flow__edge-path",ne(a).class]),"marker-end":l.markerEnd,"marker-start":l.markerStart},null,14,_c),l.interactionWidth?(ue(),ve("path",{key:0,ref_key:"interactionEl",ref:i,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,wc)):ke("",!0),l.label&&l.labelX&&l.labelY?(ue(),nt(yc,{key:1,ref_key:"labelEl",ref:r,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):ke("",!0)],64))}}));function cr({sourceX:e,sourceY:t,targetX:n,targetY:o}){const i=Math.abs(n-e)/2,r=n=0?.5*e:t*25*Math.sqrt(-e)}function ti({pos:e,x1:t,y1:n,x2:o,y2:i,c:r}){let a,l;switch(e){case J.Left:a=t-Ut(t-o,r),l=n;break;case J.Right:a=t+Ut(o-t,r),l=n;break;case J.Top:a=t,l=n-Ut(n-i,r);break;case J.Bottom:a=t,l=n+Ut(i-n,r);break}return[a,l]}function fr({sourceX:e,sourceY:t,sourcePosition:n=J.Bottom,targetX:o,targetY:i,targetPosition:r=J.Top,curvature:a=.25}){const[l,s]=ti({pos:n,x1:e,y1:t,x2:o,y2:i,c:a}),[u,c]=ti({pos:r,x1:o,y1:i,x2:e,y2:t,c:a}),[f,h,v,b]=dr({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:l,sourceControlY:s,targetControlX:u,targetControlY:c});return[`M${e},${t} C${l},${s} ${u},${c} ${o},${i}`,f,h,v,b]}function ni({pos:e,x1:t,y1:n,x2:o,y2:i}){let r,a;switch(e){case J.Left:case J.Right:r=.5*(t+o),a=n;break;case J.Top:case J.Bottom:r=t,a=.5*(n+i);break}return[r,a]}function hr({sourceX:e,sourceY:t,sourcePosition:n=J.Bottom,targetX:o,targetY:i,targetPosition:r=J.Top}){const[a,l]=ni({pos:n,x1:e,y1:t,x2:o,y2:i}),[s,u]=ni({pos:r,x1:o,y1:i,x2:e,y2:t}),[c,f,h,v]=dr({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:s,targetControlY:u});return[`M${e},${t} C${a},${l} ${s},${u} ${o},${i}`,c,f,h,v]}const oi={[J.Left]:{x:-1,y:0},[J.Right]:{x:1,y:0},[J.Top]:{x:0,y:-1},[J.Bottom]:{x:0,y:1}};function xc({source:e,sourcePosition:t=J.Bottom,target:n}){return t===J.Left||t===J.Right?e.xe[f]?-1:1)*E:m[f]=(u[f]>n[f]?-1:1)*E}}if(t!==o){const I=f==="x"?"y":"x",E=a[f]===l[I],$=s[I]>u[I],B=s[I]=p?(b=(O.x+Q.x)/2,x=v[0].y):(b=v[0].x,x=(O.y+Q.y)/2)}return[[e,{x:s.x+d.x,y:s.y+d.y},...v,{x:u.x+m.x,y:u.y+m.y},n],b,x,S,k]}function Sc(e,t,n,o){const i=Math.min(ii(e,t)/2,ii(t,n)/2,o),{x:r,y:a}=t;if(e.x===r&&r===n.x||e.y===a&&a===n.y)return`L${r} ${a}`;if(e.y===a){const u=e.x{let M;return y>0&&y{const[n,o,i]=Nc(e);return ge(wn,A(A({path:n,labelX:o,labelY:i},t),e))}}}),Cc=Mc,Ic=we({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{var r,a;const[n,o,i]=Wn(re(A({},e),{sourcePosition:(r=e.sourcePosition)!=null?r:J.Bottom,targetPosition:(a=e.targetPosition)!=null?a:J.Top}));return ge(wn,A(A({path:n,labelX:o,labelY:i},t),e))}}}),gr=Ic,$c=we({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:t}){return()=>ge(gr,re(A(A({},e),t),{borderRadius:0}))}}),kc=$c,Tc=we({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{var r,a;const[n,o,i]=fr(re(A({},e),{sourcePosition:(r=e.sourcePosition)!=null?r:J.Bottom,targetPosition:(a=e.targetPosition)!=null?a:J.Top}));return ge(wn,A(A({path:n,labelX:o,labelY:i},t),e))}}}),Dc=Tc,Pc=we({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{var r,a;const[n,o,i]=hr(re(A({},e),{sourcePosition:(r=e.sourcePosition)!=null?r:J.Bottom,targetPosition:(a=e.targetPosition)!=null?a:J.Top}));return ge(wn,A(A({path:n,labelX:o,labelY:i},t),e))}}}),Ac=Pc,Oc={input:hc,default:dc,output:fc},zc={default:Dc,straight:Cc,step:kc,smoothstep:gr,simplebezier:Ac};function Bc(e,t,n){const o=de(()=>d=>e.nodes&&!t.value.length?e.nodes.find(m=>m.id===d):e.nodes[t.value.indexOf(d)]),i=de(()=>d=>e.edges&&!n.value.length?e.edges.find(m=>m.id===d):e.edges[n.value.indexOf(d)]),r=de(()=>{const d=A(A({},zc),e.edgeTypes),m=Object.keys(d);for(const y of e.edges)y.type&&!m.includes(y.type)&&(d[y.type]=y.type);return d}),a=de(()=>{const d=A(A({},Oc),e.nodeTypes),m=Object.keys(d);for(const y of e.nodes)y.type&&!m.includes(y.type)&&(d[y.type]=y.type);return d}),l=de(()=>{const d=e.nodes.filter(m=>!m.hidden);return e.onlyRenderVisibleElements?d&&ir(d,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):d!=null?d:[]}),s=(d,m,y)=>{if(m=m!=null?m:o.value(d.source),y=y!=null?y:o.value(d.target),!m||!y){e.hooks.error.trigger(new Ne(Ee.EDGE_ORPHANED,d.id));return}return!d.hidden&&!y.hidden&&!m.hidden},u=de(()=>e.onlyRenderVisibleElements?e.edges.filter(d=>{const m=o.value(d.source),y=o.value(d.target);return s(d,m,y)&&qu({sourcePos:m.computedPosition||{x:0,y:0},targetPos:y.computedPosition||{x:0,y:0},sourceWidth:m.dimensions.width,sourceHeight:m.dimensions.height,targetWidth:y.dimensions.width,targetHeight:y.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})}):e.edges.filter(d=>s(d))),c=de(()=>[...l.value,...u.value]),f=de(()=>e.nodes.filter(d=>d.selected)),h=de(()=>e.edges.filter(d=>d.selected)),v=de(()=>{var d,m;return[...(d=f.value)!=null?d:[],...(m=h.value)!=null?m:[]]}),b=de(()=>l.value.filter(d=>d.initialized&&d.handleBounds!==void 0)),x=de(()=>l.value.length>0&&b.value.length===l.value.length);return{getNode:o,getEdge:i,getElements:c,getEdgeTypes:r,getNodeTypes:a,getEdges:u,getNodes:l,getSelectedElements:v,getSelectedNodes:f,getSelectedEdges:h,getNodesInitialized:b,areNodesInitialized:x}}class Ke{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var i;var t;const n=(t=un())==null?void 0:t.appContext.app,o=(i=n==null?void 0:n.config.globalProperties.$vueFlowStorage)!=null?i:Ke.instance;return Ke.instance=o!=null?o:new Ke,n&&(n.config.globalProperties.$vueFlowStorage=Ke.instance),Ke.instance}set(t,n){return this.flows.set(t,n)}get(t){return this.flows.get(t)}remove(t){return this.flows.delete(t)}create(t,n){const o=ur(),i=br(o),r={};for(const[h,v]of Object.entries(i.hooks)){const b=`on${h.charAt(0).toUpperCase()+h.slice(1)}`;r[b]=v.on}const a={};for(const[h,v]of Object.entries(i.hooks))a[h]=v.trigger;const l=de(()=>i.nodes.map(h=>h.id)),s=de(()=>i.edges.map(h=>h.id)),u=Bc(i,l,s),c=sc(t,i,l,s);c.setState(A(A({},i),n));const f=re(A(A(A(A({},r),u),c),Hr(i)),{emits:a,id:t,vueFlowVersion:"1.33.7",$destroy:()=>{this.remove(t)}});return this.set(t,f),f}getId(){return`vue-flow-${this.currentId++}`}}function _e(e){const t=Ke.getInstance(),n=si(),o=e==null?void 0:e.id,i=(n==null?void 0:n.vueFlowId)||o;let r;if(n){const a=bt(Bo,null);typeof a!="undefined"&&a!==null&&(r=a)}if(r||i&&(r=t.get(i)),!r||r&&o&&o!==r.id){const a=o!=null?o:t.getId(),l=t.create(a,e);r=l,(n!=null?n:li(!0)).run(()=>{he(l.applyDefault,(u,c,f)=>{const h=b=>{l.applyNodeChanges(b)},v=b=>{l.applyEdgeChanges(b)};u?(l.onNodesChange(h),l.onEdgesChange(v)):(l.hooks.value.nodesChange.off(h),l.hooks.value.edgesChange.off(v)),f(()=>{l.hooks.value.nodesChange.off(h),l.hooks.value.edgesChange.off(v)})},{immediate:!0}),cn(()=>{if(r){const u=t.get(r.id);u?u.$destroy():Bt(`No store instance found for id ${r.id} in storage.`)}})})}else e&&r.setState(e);return n&&(pt(Bo,r),n.vueFlowId=r.id),r}function Rc(e){const t=ro(),{emits:n,dimensions:o}=_e();let i;xt(()=>{const r=e.value,a=()=>{if(!r)return;const l=pn(r);(l.width===0||l.height===0)&&n.error(new Ne(Ee.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),t.addEventListener("resize",a),r&&(i=new ResizeObserver(()=>a()),i.observe(r)),Jn(()=>{t.removeEventListener("resize",a),i&&r&&i.unobserve(r)})})}const Vc={name:"UserSelection",compatConfig:{MODE:3}},Hc=we(re(A({},Vc),{props:{userSelectionRect:{}},setup(e){return(t,n)=>(ue(),ve("div",{class:"vue-flow__selection vue-flow__container",style:Oe({width:`${t.userSelectionRect.width}px`,height:`${t.userSelectionRect.height}px`,transform:`translate(${t.userSelectionRect.x}px, ${t.userSelectionRect.y}px)`})},null,4))}})),Lc=["tabIndex"],Fc={name:"NodesSelection",compatConfig:{MODE:3}},Gc=we(re(A({},Fc),{setup(e){const{emits:t,viewport:n,getSelectedNodes:o,noPanClassName:i,disableKeyboardA11y:r,userSelectionActive:a}=_e(),l=qi(),s=me(null),u=Xi({el:s,onStart(b){t.selectionDragStart(b)},onDrag(b){t.selectionDrag(b)},onStop(b){t.selectionDragStop(b)}});xt(()=>{var b;r.value||(b=s.value)==null||b.focus({preventScroll:!0})});const c=de(()=>or(o.value)),f=de(()=>({width:`${c.value.width}px`,height:`${c.value.height}px`,top:`${c.value.y}px`,left:`${c.value.x}px`}));function h(b){t.selectionContextMenu({event:b,nodes:o.value})}function v(b){r||vt[b.key]&&l({x:vt[b.key].x,y:vt[b.key].y},b.shiftKey)}return(b,x)=>!ne(a)&&c.value.width&&c.value.height?(ue(),ve("div",{key:0,class:tt(["vue-flow__nodesselection vue-flow__container",ne(i)]),style:Oe({transform:`translate(${ne(n).x}px,${ne(n).y}px) scale(${ne(n).zoom})`})},[mt("div",{ref_key:"el",ref:s,class:tt([{dragging:ne(u)},"vue-flow__nodesselection-rect"]),style:Oe(f.value),tabIndex:ne(r)?void 0:-1,onContextmenu:h,onKeydown:v},null,46,Lc)],6)):ke("",!0)}}));function ri(e,t){return{x:e.clientX-t.left,y:e.clientY-t.top}}const Yc={name:"Pane",compatConfig:{MODE:3}},Xc=we(re(A({},Yc),{props:{isSelecting:{type:Boolean}},setup(e){const{vueFlowRef:t,getNodes:n,getEdges:o,viewport:i,emits:r,userSelectionActive:a,removeSelectedElements:l,panOnDrag:s,userSelectionRect:u,elementsSelectable:c,nodesSelectionActive:f,addSelectedElements:h,getSelectedEdges:v,getSelectedNodes:b,removeNodes:x,removeEdges:d,selectionMode:m,deleteKeyCode:y,multiSelectionKeyCode:M,multiSelectionActive:S}=_e(),k=me(null),V=me(0),w=me(0),X=me(),G=Se(()=>c.value&&(e.isSelecting||a.value));$t(y,C=>{if(!C)return;const D=n.value.reduce((Z,q)=>((!q.selected&&q.parentNode&&Z.find(se=>se.id===q.parentNode)||q.selected)&&Z.push(q),Z),[]);(D||v.value)&&(v.value.length>0&&d(v.value),D.length>0&&x(D),f.value=!1,l())},{actInsideInputWithModifier:!1}),$t(M,C=>{S.value=C});function U(){a.value=!1,u.value=null,V.value=0,w.value=0}function O(C){C.target!==k.value||G.value||(r.paneClick(C),l(),f.value=!1)}function Q(C){var D;if(C.target===k.value){if(Array.isArray(s.value)&&((D=s.value)!=null&&D.includes(2))){C.preventDefault();return}r.paneContextMenu(C)}}function Y(C){C.target===k.value&&r.paneScroll(C)}function p(C){if(X.value=t.value.getBoundingClientRect(),!G.value||!c||!e.isSelecting||C.button!==0||C.target!==k.value||!X.value)return;const{x:D,y:Z}=ri(C,X.value);l(),u.value={width:0,height:0,startX:D,startY:Z,x:D,y:Z},a.value=!0,r.selectionStart(C)}function I(C){var T,j;if(!G.value)return r.paneMouseMove(C);if(!e.isSelecting||!X.value||!u.value)return;a.value||(a.value=!0),f.value&&(f.value=!1);const D=ri(C,X.value),Z=(T=u.value.startX)!=null?T:0,q=(j=u.value.startY)!=null?j:0,se=re(A({},u.value),{x:D.x0,U(),r.selectionEnd(C))}function $(C){var D;if(!G.value)return r.paneMouseLeave(C);a.value&&(f.value=V.value>0,(D=r.selectionEnd)==null||D.call(r,C)),U()}function B(C){G.value||r.paneMouseEnter(C)}return(C,D)=>(ue(),ve("div",{ref_key:"container",ref:k,class:tt(["vue-flow__pane vue-flow__container",{selection:C.isSelecting}]),onClick:O,onContextmenu:Q,onWheelPassive:Y,onMouseenter:B,onMousedown:p,onMousemove:I,onMouseup:E,onMouseleave:$},[Ge(C.$slots,"default"),ne(a)&&ne(u)?(ue(),nt(Hc,{key:0,"user-selection-rect":ne(u)},null,8,["user-selection-rect"])):ke("",!0),ne(f)&&ne(b).length?(ue(),nt(Gc,{key:1})):ke("",!0)],34))}})),Zc={name:"Transform",compatConfig:{MODE:3}},Uc=we(re(A({},Zc),{setup(e){const{viewport:t}=_e();return(n,o)=>(ue(),ve("div",{class:"vue-flow__transformationpane vue-flow__container",style:Oe({transform:`translate(${ne(t).x}px,${ne(t).y}px) scale(${ne(t).zoom})`})},[Ge(n.$slots,"default")],4))}})),Wc={name:"Viewport",compatConfig:{MODE:3}},Kc=we(re(A({},Wc),{setup(e){const{minZoom:t,maxZoom:n,defaultViewport:o,translateExtent:i,zoomActivationKeyCode:r,selectionKeyCode:a,panActivationKeyCode:l,panOnScroll:s,panOnScrollMode:u,panOnScrollSpeed:c,panOnDrag:f,zoomOnDoubleClick:h,zoomOnPinch:v,zoomOnScroll:b,preventScrolling:x,noWheelClassName:d,noPanClassName:m,emits:y,connectionStartHandle:M,userSelectionActive:S,paneDragging:k,d3Zoom:V,d3Selection:w,d3ZoomHandler:X,viewport:G,viewportRef:U}=_e();Rc(U);const O=me(!1),Q=me(!1);let Y=null,p=!1,I=0,E={x:0,y:0,zoom:0};const $=$t(l),B=$t(a),C=$t(r),D=Se(()=>$.value||f.value),Z=Se(()=>$.value||s.value),q=Se(()=>B.value||a.value===!0&&D.value!==!0);xt(()=>{var z,P,R;if(!U.value){Bt("Viewport element is missing");return}const W=U.value,K=W.getBoundingClientRect(),ee=bu().scaleExtent([t.value,n.value]).translateExtent(i.value),oe=Ie(W).call(ee),le=oe.on("wheel.zoom"),pe=wt.translate((z=o.value.x)!=null?z:0,(P=o.value.y)!=null?P:0).scale(at((R=o.value.zoom)!=null?R:1,t.value,n.value)),g=[[0,0],[K.width,K.height]],_=ee.constrain()(pe,g,i.value);ee.transform(oe,_),ee.wheelDelta(F),V.value=ee,w.value=oe,X.value=le,G.value={x:_.x,y:_.y,zoom:_.k},ee.on("start",N=>{var H;if(!N.sourceEvent)return null;I=N.sourceEvent.button,O.value=!0;const ie=T(N.transform);((H=N.sourceEvent)==null?void 0:H.type)==="mousedown"&&(k.value=!0),E=ie,y.viewportChangeStart(ie),y.moveStart({event:N,flowTransform:ie})}),ee.on("end",N=>{if(!N.sourceEvent)return null;if(O.value=!1,k.value=!1,se(D.value,I!=null?I:0)&&!p&&y.paneContextMenu(N.sourceEvent),p=!1,te(E,N.transform)){const H=T(N.transform);E=H,y.viewportChangeEnd(H),y.moveEnd({event:N,flowTransform:H})}}),ee.filter(N=>{var H,ie;const ae=C.value||b.value,fe=v.value&&N.ctrlKey;if((D.value===!0||Array.isArray(D.value)&&D.value.includes(1))&&N.button===1&&N.type==="mousedown"&&((H=N.target)!=null&&H.closest(".vue-flow__node")||(ie=N.target)!=null&&ie.closest(".vue-flow__edge")))return!0;if(!D.value&&!ae&&!Z.value&&!h.value&&!v.value||S.value||!h.value&&N.type==="dblclick"||j(N,d.value)&&N.type==="wheel"||j(N,m.value)&&(N.type!=="wheel"||Z.value&&N.type==="wheel"&&!C.value)||!v.value&&N.ctrlKey&&N.type==="wheel"||!ae&&!Z.value&&!fe&&N.type==="wheel"||!D.value&&(N.type==="mousedown"||N.type==="touchstart")||Array.isArray(D.value)&&!D.value.includes(N.button)&&(N.type==="mousedown"||N.type==="touchstart"))return!1;const ye=Array.isArray(D.value)&&D.value.includes(N.button)||!N.button||N.button<=1;return(!N.ctrlKey||N.type==="wheel")&&ye}),he([S,D],()=>{S.value&&!O.value?ee.on("zoom",null):S.value||ee.on("zoom",N=>{G.value={x:N.transform.x,y:N.transform.y,zoom:N.transform.k};const H=T(N.transform);p=se(D.value,I!=null?I:0),y.viewportChange(H),y.move({event:N,flowTransform:H})})},{immediate:!0}),he([S,Z,u,C,v,x,d],()=>{Z.value&&!C.value&&!S.value?oe.on("wheel.zoom",N=>{if(j(N,d.value))return!1;const H=C.value||b.value,ie=v.value&&N.ctrlKey;if(!(!x.value||Z.value||H||ie))return!1;N.preventDefault(),N.stopImmediatePropagation();const fe=oe.property("__zoom").k||1,ye=ln();if(N.ctrlKey&&v.value&&ye){const vr=De(N),pr=F(N),mr=fe*ut(2,pr);ee.scaleTo(oe,mr,vr,N);return}const xe=N.deltaMode===1?20:1;let Be=u.value===It.Vertical?0:N.deltaX*xe,Rt=u.value===It.Horizontal?0:N.deltaY*xe;!ye&&N.shiftKey&&u.value!==It.Vertical&&!Be&&Rt&&(Be=Rt,Rt=0),ee.translateBy(oe,-(Be/fe)*c.value,-(Rt/fe)*c.value);const st=T(oe.property("__zoom"));Y&&clearTimeout(Y),Q.value?(y.move({event:N,flowTransform:st}),y.viewportChange(st),Y=setTimeout(()=>{y.moveEnd({event:N,flowTransform:st}),y.viewportChangeEnd(st),Q.value=!1},150)):(Q.value=!0,y.moveStart({event:N,flowTransform:st}),y.viewportChangeStart(st))},{passive:!1}):typeof le!="undefined"&&oe.on("wheel.zoom",function(N,H){const ie=!x.value&&N.type==="wheel"&&!N.ctrlKey,ae=C.value||b.value,fe=v.value&&N.ctrlKey;if(!ae&&!s.value&&!fe&&N.type==="wheel"||ie||j(N,d.value))return null;N.preventDefault(),le.call(this,N,H)},{passive:!1})},{immediate:!0})});function se(W,K){return K===2&&Array.isArray(W)&&W.includes(2)}function F(W){const K=W.ctrlKey&&ln()?10:1;return-W.deltaY*(W.deltaMode===1?.05:W.deltaMode?1:.002)*K}function te(W,K){return W.x!==K.x&&!Number.isNaN(K.x)||W.y!==K.y&&!Number.isNaN(K.y)||W.zoom!==K.k&&!Number.isNaN(K.k)}function T(W){return{x:W.x,y:W.y,zoom:W.k}}function j(W,K){return W.target.closest(`.${K}`)}return(W,K)=>(ue(),ve("div",{ref_key:"viewportRef",ref:U,class:"vue-flow__viewport vue-flow__container"},[Le(Xc,{"is-selecting":q.value,class:tt({connecting:!!ne(M),dragging:ne(k),draggable:D.value})},{default:Tn(()=>[Le(Uc,null,{default:Tn(()=>[Ge(W.$slots,"default")]),_:3})]),_:3},8,["is-selecting","class"])],512))}})),qc=["id"],Jc=["id"],Qc=["id"],jc={name:"A11yDescriptions",compatConfig:{MODE:3}},ed=we(re(A({},jc),{setup(e){const{id:t,disableKeyboardA11y:n,ariaLiveMessage:o}=_e();return(i,r)=>(ue(),ve(ot,null,[mt("div",{id:`${ne(Fi)}-${ne(t)}`,style:{display:"none"}}," Press enter or space to select a node. "+Dn(ne(n)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,qc),mt("div",{id:`${ne(Gi)}-${ne(t)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,Jc),ne(n)?ke("",!0):(ue(),ve("div",{key:0,id:`${ne(Nu)}-${ne(t)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},Dn(ne(o)),9,Qc))],64))}}));function td(){const e=_e();he(()=>e.viewportHelper.value.viewportInitialized,t=>{t&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function nd(e,t,n){return n===J.Left?e-t:n===J.Right?e+t:e}function od(e,t,n){return n===J.Top?e-t:n===J.Bottom?e+t:e}const co=function({radius:e=10,centerX:t=0,centerY:n=0,position:o=J.Top,type:i}){return ge("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:nd(t,e,o),cy:od(n,e,o),r:e,stroke:"transparent",fill:"transparent"})};co.props=["radius","centerX","centerY","position","type"];co.compatConfig={MODE:3};const ai=co,id=we({name:"Edge",compatConfig:{MODE:3},props:["name","type","id","updatable","selectable","focusable","edge"],setup(e){const{id:t,addSelectedEdges:n,connectionMode:o,edgeUpdaterRadius:i,emits:r,nodesSelectionActive:a,noPanClassName:l,getEdgeTypes:s,removeSelectedEdges:u,findEdge:c,findNode:f,isValidConnection:h,multiSelectionActive:v,disableKeyboardA11y:b}=_e(),x=$u(e.edge,r),d=Ct(e,"edge"),m=me(!1),y=me(!1),M=me(""),S=me(null),k=me("source"),V=me(null);pt(Mu,e.id),pt(Cu,V);const w=de(()=>d.value.class instanceof Function?d.value.class(d.value):d.value.class),X=de(()=>d.value.style instanceof Function?d.value.style(d.value):d.value.style),{handlePointerDown:G}=Wi({nodeId:M,handleId:S,type:k,isValidConnection:h,edgeUpdaterType:k,onEdgeUpdate:Q,onEdgeUpdateEnd:Y});return()=>{const F=f(d.value.source),te=f(d.value.target),T="pathOptions"in d.value?d.value.pathOptions:{};if(!F&&!te)return r.error(new Ne(Ee.EDGE_SOURCE_TARGET_MISSING,d.value.id,d.value.source,d.value.target)),null;if(!F)return r.error(new Ne(Ee.EDGE_SOURCE_MISSING,d.value.id,d.value.source)),null;if(!te)return r.error(new Ne(Ee.EDGE_TARGET_MISSING,d.value.id,d.value.target)),null;if(!d||F.hidden||te.hidden)return null;let j;o.value===rt.Strict?j=F.handleBounds.source:j=[...F.handleBounds.source||[],...F.handleBounds.target||[]];const W=Uo(j,d.value.sourceHandle);let K;o.value===rt.Strict?K=te.handleBounds.target:K=[...te.handleBounds.target||[],...te.handleBounds.source||[]];const ee=Uo(K,d.value.targetHandle),oe=W?W.position:J.Bottom,le=ee?ee.position:J.Top,{sourceX:pe,sourceY:g,targetY:_,targetX:z}=Ku(F,W,oe,te,ee,le);return d.value.sourceX=pe,d.value.sourceY=g,d.value.targetX=z,d.value.targetY=_,ge("g",{ref:V,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${e.type===!1?"default":e.name}`,l.value,w.value,{updating:m.value,selected:d.value.selected,animated:d.value.animated,inactive:!e.selectable}],onClick:I,onContextmenu:E,onDblclick:$,onMouseenter:B,onMousemove:C,onMouseleave:D,onKeyDown:e.focusable?se:void 0,tabIndex:e.focusable?0:void 0,"aria-label":d.value.ariaLabel===null?void 0:d.value.ariaLabel||`Edge from ${d.value.source} to ${d.value.target}`,"aria-describedby":e.focusable?`${Gi}-${t}`:void 0,role:e.focusable?"button":"img"},[y.value?null:ge(e.type===!1?s.value.default:e.type,A({id:e.id,sourceNode:F,targetNode:te,source:d.value.source,target:d.value.target,type:d.value.type,updatable:e.updatable,selected:d.value.selected,animated:d.value.animated,label:d.value.label,labelStyle:d.value.labelStyle,labelShowBg:d.value.labelShowBg,labelBgStyle:d.value.labelBgStyle,labelBgPadding:d.value.labelBgPadding,labelBgBorderRadius:d.value.labelBgBorderRadius,data:d.value.data,events:A(A({},d.value.events),x.on),style:X.value,markerStart:`url('#${Je(d.value.markerStart,t)}')`,markerEnd:`url('#${Je(d.value.markerEnd,t)}')`,sourcePosition:oe,targetPosition:le,sourceX:pe,sourceY:g,targetX:z,targetY:_,sourceHandleId:d.value.sourceHandle,targetHandleId:d.value.targetHandle,interactionWidth:d.value.interactionWidth},T)),[e.updatable==="source"||e.updatable===!0?[ge("g",{onMousedown:Z,onMouseenter:U,onMouseout:O},ge(ai,{position:oe,centerX:pe,centerY:g,radius:i.value,type:"source","data-type":"source"}))]:null,e.updatable==="target"||e.updatable===!0?[ge("g",{onMousedown:q,onMouseenter:U,onMouseout:O},ge(ai,{position:le,centerX:z,centerY:_,radius:i.value,type:"target","data-type":"target"}))]:null]])};function U(){m.value=!0}function O(){m.value=!1}function Q(F,te){x.emit.update({event:F,edge:d.value,connection:te})}function Y(F){x.emit.updateEnd({event:F,edge:d.value}),y.value=!1}function p(F,te){var T;F.button===0&&(y.value=!0,M.value=te?d.value.target:d.value.source,S.value=(T=te?d.value.targetHandle:d.value.sourceHandle)!=null?T:"",k.value=te?"target":"source",x.emit.updateStart({event:F,edge:d.value}),G(F))}function I(F){var te;const T={event:F,edge:d.value};e.selectable&&(a.value=!1,d.value.selected&&v.value?(u([d.value]),(te=V.value)==null||te.blur()):n([d.value])),x.emit.click(T)}function E(F){x.emit.contextMenu({event:F,edge:d.value})}function $(F){x.emit.doubleClick({event:F,edge:d.value})}function B(F){x.emit.mouseEnter({event:F,edge:d.value})}function C(F){x.emit.mouseMove({event:F,edge:d.value})}function D(F){x.emit.mouseLeave({event:F,edge:d.value})}function Z(F){p(F,!0)}function q(F){p(F,!1)}function se(F){var te;!b.value&&Yi.includes(F.key)&&e.selectable&&(F.key==="Escape"?((te=V.value)==null||te.blur(),u([c(e.id)])):n([c(e.id)]))}}}),rd=id,ad={[J.Left]:J.Right,[J.Right]:J.Left,[J.Top]:J.Bottom,[J.Bottom]:J.Top},ld=we({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:t,connectionMode:n,connectionStartHandle:o,connectionEndHandle:i,connectionPosition:r,connectionLineType:a,connectionLineStyle:l,connectionLineOptions:s,connectionStatus:u,viewport:c,findNode:f}=_e(),h=(e=bt(vn))==null?void 0:e["connection-line"];return()=>{var C,D,Z;var v,b,x,d,m;if(!o.value)return null;const y=f(o.value.nodeId);if(!y)return null;const M=o.value.handleId,S=o.value.type,k=((v=i.value)==null?void 0:v.handleId)&&f(i.value.nodeId)||null,V=(r.value.x-c.value.x)/c.value.zoom,w=(r.value.y-c.value.y)/c.value.zoom,X=y.handleBounds;let G=X==null?void 0:X[S];if(n.value===rt.Loose&&(G=G||(X==null?void 0:X[S==="source"?"target":"source"])),!G)return null;const U=(C=M?G.find(q=>q.id===M):G[0])!=null?C:null,O=(U==null?void 0:U.position)||J.Top,{x:Q,y:Y}=Zn(O,A(A({},y.dimensions),y.computedPosition),U),p=k&&((b=i.value)==null?void 0:b.handleId)&&((n.value===rt.Strict?(x=k.handleBounds[S==="source"?"target":"source"])==null?void 0:x.find(q=>{var se;return q.id===((se=i.value)==null?void 0:se.handleId)}):(d=[...k.handleBounds.source||[],...k.handleBounds.target||[]])==null?void 0:d.find(q=>{var se;return q.id===((se=i.value)==null?void 0:se.handleId)}))||((m=k.handleBounds[S!=null?S:"target"])==null?void 0:m[0]))||null,I=O?ad[O]:null;if(!O||!I)return null;const E=(Z=(D=a.value)!=null?D:s.value.type)!=null?Z:We.Bezier;let $="";const B={sourceX:Q,sourceY:Y,sourcePosition:O,targetX:V,targetY:w,targetPosition:I};return E===We.Bezier?[$]=fr(B):E===We.Step?[$]=Wn(re(A({},B),{borderRadius:0})):E===We.SmoothStep?[$]=Wn(B):E===We.SimpleBezier?[$]=hr(B):$=`M${Q},${Y} ${V},${w}`,ge("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},ge("g",{class:"vue-flow__connection"},h?ge(h,{sourceX:Q,sourceY:Y,sourcePosition:O,targetX:V,targetY:w,targetPosition:I,sourceNode:y,sourceHandle:U,targetNode:k,targetHandle:p,markerEnd:`url(#${Je(s.value.markerEnd,t)})`,markerStart:`url(#${Je(s.value.markerStart,t)})`,connectionStatus:u.value}):ge("path",{d:$,class:[s.value.class,u,"vue-flow__connection-path"],style:A(A({},l.value),s.value.style),"marker-end":`url(#${Je(s.value.markerEnd,t)})`,"marker-start":`url(#${Je(s.value.markerStart,t)})`})))}}}),sd=ld,ud=["id","markerWidth","markerHeight","markerUnits","orient"],cd={name:"MarkerType",compatConfig:{MODE:3}},dd=we(re(A({},cd),{props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(t,n)=>(ue(),ve("marker",{id:t.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${t.width}`,markerHeight:`${t.height}`,markerUnits:t.markerUnits,orient:t.orient},[t.type===ne(Fn).ArrowClosed?(ue(),ve("polyline",{key:0,style:Oe({stroke:t.color,fill:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):ke("",!0),t.type===ne(Fn).Arrow?(ue(),ve("polyline",{key:1,style:Oe({stroke:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):ke("",!0)],8,ud))}})),fd={name:"MarkerDefinitions",compatConfig:{MODE:3}},hd=we(re(A({},fd),{setup(e){const{id:t,edges:n,connectionLineOptions:o,defaultMarkerColor:i}=_e(),r=de(()=>{const a=[],l=[],s=u=>{if(u){const c=Je(u,t);a.includes(c)||(typeof u=="object"?l.push(re(A({},u),{id:c,color:u.color||i.value})):l.push({id:c,color:i.value,type:u}),a.push(c))}};for(const u of[o.value.markerEnd,o.value.markerStart])s(u);return n.value.reduce((u,c)=>{for(const f of[c.markerStart,c.markerEnd])s(f);return u.sort((f,h)=>f.id.localeCompare(h.id))},l),l});return(a,l)=>(ue(),ve("defs",null,[(ue(!0),ve(ot,null,qn(r.value,s=>(ue(),nt(dd,{id:s.id,key:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,"stroke-width":s.strokeWidth,orient:s.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))]))}})),gd={class:"vue-flow__edges vue-flow__container"},vd={name:"Edges",compatConfig:{MODE:3}},pd=we(re(A({},vd),{setup(e){const t=bt(vn),{edgesUpdatable:n,edgesFocusable:o,elementsSelectable:i,findNode:r,getEdges:a,getEdgeTypes:l,elevateEdgesOnSelect:s,dimensions:u,emits:c}=_e(),f=un();function h(d){return typeof d=="undefined"?i.value:d}function v(d){return typeof d=="undefined"?n.value:d}function b(d){return typeof d=="undefined"?o.value:d}function x(d,m){const y=d||"default",M=t==null?void 0:t[`edge-${y}`];if(M)return M;let S=m!=null?m:l.value[y];if(typeof S=="string"&&f){const k=Object.keys(f.appContext.components);k&&k.includes(y)&&(S=di(y,!1))}return S&&typeof S!="string"?S:(c.error(new Ne(Ee.EDGE_TYPE_MISSING,S)),!1)}return(d,m)=>ne(u).width&&ne(u).height?(ue(),ve(ot,{key:0},[(ue(),ve("svg",gd,[Le(hd)])),(ue(!0),ve(ot,null,qn(ne(a),y=>(ue(),ve("svg",{key:y.id,class:"vue-flow__edges vue-flow__container",style:Oe({zIndex:ne(Ju)(y,ne(r),ne(s))})},[Le(ne(rd),{id:y.id,edge:y,type:x(y.type,y.template),name:y.type||"default",selectable:h(y.selectable),updatable:v(y.updatable),focusable:b(y.focusable)},null,8,["id","edge","type","name","selectable","updatable","focusable"])],4))),128)),Le(ne(sd))],64)):ke("",!0)}})),md=we({name:"Node",compatConfig:{MODE:3},props:["name","type","id","draggable","selectable","focusable","connectable","node","resizeObserver"],setup(e){pt(Zi,e.id);const{id:t,noPanClassName:n,selectNodesOnDrag:o,nodesSelectionActive:i,multiSelectionActive:r,emits:a,findNode:l,removeSelectedNodes:s,addSelectedNodes:u,updateNodeDimensions:c,onUpdateNodeInternals:f,getIntersectingNodes:h,getNodeTypes:v,nodeExtent:b,elevateNodesOnSelect:x,disableKeyboardA11y:d,ariaLiveMessage:m,snapToGrid:y,snapGrid:M,nodeDragThreshold:S,getConnectedEdges:k}=_e(),V=qi(),w=Ct(e,"node"),X=de(()=>{var T;return l((T=w.value)==null?void 0:T.parentNode)}),G=de(()=>k(w.value?[w.value]:[])),U=me(null);pt(Ui,U);const{emit:O,on:Q}=Pu(w.value,a),Y=Xi({id:e.id,el:U,disabled:()=>!e.draggable,selectable:()=>e.selectable,dragHandle:()=>w.value.dragHandle,onStart(T){O.dragStart(re(A({},T),{intersections:h(w.value)}))},onDrag(T){O.drag(re(A({},T),{intersections:h(w.value)}))},onStop(T){O.dragStop(re(A({},T),{intersections:h(w.value)}))}}),p=de(()=>w.value.class instanceof Function?w.value.class(w.value):w.value.class),I=de(()=>{const T=(w.value.style instanceof Function?w.value.style(w.value):w.value.style)||{},j=w.value.width instanceof Function?w.value.width(w.value):w.value.width,W=w.value.height instanceof Function?w.value.height(w.value):w.value.height;return j&&(T.width=typeof j=="string"?j:`${j}px`),W&&(T.height=typeof W=="string"?W:`${W}px`),T}),E=Se(()=>{var T,j;return Number((j=(T=w.value.zIndex)!=null?T:I.value.zIndex)!=null?j:0)});return f(T=>{T.includes(e.id)&&B()}),xt(()=>{e.resizeObserver.observe(U.value)}),Jn(()=>{e.resizeObserver.unobserve(U.value)}),he([()=>w.value.type,()=>w.value.sourcePosition,()=>w.value.targetPosition],()=>{Pe(()=>{c([{id:e.id,nodeElement:U.value,forceUpdate:!0}])})}),he([()=>w.value.position.x,()=>w.value.position.y,()=>{var T;return(T=X.value)==null?void 0:T.computedPosition.x},()=>{var T;return(T=X.value)==null?void 0:T.computedPosition.y},()=>{var T;return(T=X.value)==null?void 0:T.computedPosition.z},E,()=>w.value.selected,()=>w.value.dimensions.height,()=>w.value.dimensions.width,()=>{var T;return(T=X.value)==null?void 0:T.dimensions.height},()=>{var T;return(T=X.value)==null?void 0:T.dimensions.width}],([T,j,W,K,ee,oe])=>{const le={x:T,y:j,z:oe+(x.value&&w.value.selected?1e3:0)};typeof W!="undefined"&&typeof K!="undefined"?w.value.computedPosition=Yu({x:W,y:K,z:ee},le):w.value.computedPosition=le},{flush:"post",immediate:!0}),he([()=>w.value.extent,b],([T,j],[W,K])=>{(T!==W||j!==K)&&$()}),w.value.extent==="parent"||typeof w.value.extent=="object"&&"range"in w.value.extent&&w.value.extent.range==="parent"?jt(()=>w.value.initialized).toBe(!0).then($):$(),()=>{var T,j;return ge("div",{ref:U,"data-id":w.value.id,class:["vue-flow__node",`vue-flow__node-${e.type===!1?"default":e.name}`,{[n.value]:e.draggable,dragging:Y==null?void 0:Y.value,draggable:e.draggable,selected:w.value.selected,selectable:e.selectable,parent:w.value.isParent},p.value],style:A({visibility:w.value.initialized?"visible":"hidden",zIndex:(T=w.value.computedPosition.z)!=null?T:E.value,transform:`translate(${w.value.computedPosition.x}px,${w.value.computedPosition.y}px)`,pointerEvents:e.selectable||e.draggable?"all":"none"},I.value),tabIndex:e.focusable?0:void 0,role:e.focusable?"button":void 0,"aria-describedby":d.value?void 0:`${Fi}-${t}`,"aria-label":w.value.ariaLabel,onMouseenter:C,onMousemove:D,onMouseleave:Z,onContextmenu:q,onClick:F,onDblclick:se,onKeydown:te},[ge(e.type===!1?v.value.default:e.type,{id:w.value.id,type:w.value.type,data:w.value.data,events:A(A({},w.value.events),Q),selected:w.value.selected,resizing:w.value.resizing,dragging:Y.value,connectable:e.connectable,position:w.value.computedPosition,dimensions:w.value.dimensions,isValidTargetPos:w.value.isValidTargetPos,isValidSourcePos:w.value.isValidSourcePos,parent:w.value.parentNode,parentNodeId:w.value.parentNode,zIndex:(j=w.value.computedPosition.z)!=null?j:E.value,targetPosition:w.value.targetPosition,sourcePosition:w.value.sourcePosition,label:w.value.label,dragHandle:w.value.dragHandle,onUpdateNodeInternals:B})])};function $(){const T=w.value.computedPosition;y.value&&(T.x=M.value[0]*Math.round(T.x/M.value[0]),T.y=M.value[1]*Math.round(T.y/M.value[1]));const{computedPosition:j,position:W}=lo(w.value,T,a.error,b.value,X.value);(w.value.computedPosition.x!==j.x||w.value.computedPosition.y!==j.y)&&(w.value.computedPosition=A(A({},w.value.computedPosition),j)),(w.value.position.x!==W.x||w.value.position.y!==W.y)&&(w.value.position=W)}function B(){U.value&&c([{id:e.id,nodeElement:U.value,forceUpdate:!0}])}function C(T){Y!=null&&Y.value||O.mouseEnter({event:T,node:w.value,connectedEdges:G.value})}function D(T){Y!=null&&Y.value||O.mouseMove({event:T,node:w.value,connectedEdges:G.value})}function Z(T){Y!=null&&Y.value||O.mouseLeave({event:T,node:w.value,connectedEdges:G.value})}function q(T){return O.contextMenu({event:T,node:w.value,connectedEdges:G.value})}function se(T){return O.doubleClick({event:T,node:w.value,connectedEdges:G.value})}function F(T){e.selectable&&(!o.value||!e.draggable||S.value>0)&&Un(w.value,r.value,u,s,i,!1,U.value),O.click({event:T,node:w.value,connectedEdges:G.value})}function te(T){if(!(Gn(T)||d.value))if(Yi.includes(T.key)&&e.selectable){const j=T.key==="Escape";Un(w.value,r.value,u,s,i,j,U.value)}else e.draggable&&w.value.selected&&vt[T.key]&&(m.value=`Moved selected node ${T.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~w.value.position.x}, y: ${~~w.value.position.y}`,V({x:vt[T.key].x,y:vt[T.key].y},T.shiftKey))}}}),yd=md,_d={height:"0",width:"0"},wd={name:"EdgeLabelRenderer",compatConfig:{MODE:3}},kd=we(re(A({},wd),{setup(e){const{viewportRef:t}=_e(),n=Se(()=>{var o;return(o=t.value)==null?void 0:o.getElementsByClassName("vue-flow__edge-labels")[0]});return(o,i)=>(ue(),ve("svg",null,[(ue(),ve("foreignObject",_d,[(ue(),nt(Nr,{to:n.value,disabled:!n.value},[Ge(o.$slots,"default")],8,["to","disabled"]))]))]))}}));function bd(e={includeHiddenNodes:!1}){const{nodes:t}=_e();return de(()=>{if(t.value.length===0)return!1;for(const n of t.value)if((e.includeHiddenNodes||!n.hidden)&&((n==null?void 0:n.handleBounds)===void 0||n.dimensions.width===0||n.dimensions.height===0))return!1;return!0})}const xd={class:"vue-flow__nodes vue-flow__container"},Ed={name:"Nodes",compatConfig:{MODE:3}},Sd=we(re(A({},Ed),{setup(e){const{nodes:t,nodesDraggable:n,nodesFocusable:o,elementsSelectable:i,nodesConnectable:r,getNodes:a,getNodeTypes:l,updateNodeDimensions:s,emits:u}=_e(),c=bd(),f=bt(vn),h=me(),v=un();he(c,M=>{M&&Pe(()=>{u.nodesInitialized(t.value)})},{immediate:!0}),xt(()=>{h.value=new ResizeObserver(M=>{const S=M.map(k=>({id:k.target.getAttribute("data-id"),nodeElement:k.target,forceUpdate:!0}));Pe(()=>s(S))})}),Jn(()=>{var M;return(M=h.value)==null?void 0:M.disconnect()});function b(M){return typeof M=="undefined"?n.value:M}function x(M){return typeof M=="undefined"?i.value:M}function d(M){return typeof M=="undefined"?r.value:M}function m(M){return typeof M=="undefined"?o.value:M}function y(M,S){const k=M||"default",V=f==null?void 0:f[`node-${k}`];if(V)return V;let w=S!=null?S:l.value[k];if(typeof w=="string"&&v){const X=Object.keys(v.appContext.components);X&&X.includes(k)&&(w=di(k,!1))}return w&&typeof w!="string"?w:(u.error(new Ne(Ee.NODE_TYPE_MISSING,w)),!1)}return(M,S)=>(ue(),ve("div",xd,[h.value?(ue(!0),ve(ot,{key:0},qn(ne(a),k=>(ue(),nt(ne(yd),{id:k.id,key:k.id,"resize-observer":h.value,type:y(k.type,k.template),name:k.type||"default",draggable:b(k.draggable),selectable:x(k.selectable),connectable:d(k.connectable),focusable:m(k.focusable),node:k},null,8,["id","resize-observer","type","name","draggable","selectable","connectable","focusable","node"]))),128)):ke("",!0)]))}})),Nd=mt("div",{class:"vue-flow__edge-labels"},null,-1),Md={name:"VueFlow",compatConfig:{MODE:3}},Td=we(re(A({},Md),{props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0}},emits:["nodesChange","edgesChange","nodesInitialized","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneReady","init","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","updateNodeInternals","error","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdate","edgeUpdateEnd","nodeDoubleClick","nodeClick","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeContextMenu","nodeDragStart","nodeDrag","nodeDragStop","update:modelValue","update:nodes","update:edges"],setup(e,{expose:t,emit:n}){const o=e,i=Mr(),r=Ct(o,"modelValue",n),a=Ct(o,"nodes",n),l=Ct(o,"edges",n),b=_e(o),{vueFlowRef:s,hooks:u,getNodeTypes:c,getEdgeTypes:f}=b,h=Ue(b,["vueFlowRef","hooks","getNodeTypes","getEdgeTypes"]),v=zu({modelValue:r,nodes:a,edges:l},o,A({vueFlowRef:s,hooks:u,getNodeTypes:c,getEdgeTypes:f},h));return ac(n,u),td(),pt(vn,i),ci(()=>{v()}),t(A({vueFlowRef:s,hooks:u,getNodeTypes:c,getEdgeTypes:f},h)),(x,d)=>(ue(),ve("div",{ref_key:"vueFlowRef",ref:s,class:"vue-flow"},[Le(Kc,null,{default:Tn(()=>[Le(pd),Nd,Le(Sd),Ge(x.$slots,"zoom-pane")]),_:3}),Ge(x.$slots,"default"),Le(ed)],512))}})),Cd={name:"Panel",compatConfig:{MODE:3}},Dd=we(re(A({},Cd),{props:{position:{}},setup(e){const t=e,{userSelectionActive:n}=_e(),o=de(()=>`${t.position}`.split("-"));return(i,r)=>(ue(),ve("div",{class:tt(["vue-flow__panel",o.value]),style:Oe({pointerEvents:ne(n)?"none":"all"})},[Ge(i.$slots,"default")],6))}}));function Pd(e){const{type:t,id:n,nodeId:o,onConnect:i,onDisconnect:r}=e,{connectionLookup:a}=_e(),l=Ki(),s=Se(()=>{var h;return(h=ce(o))!=null?h:l}),u=Se(()=>ce(t)),c=Se(()=>{var h;return(h=ce(n))!=null?h:null}),f=me();return he(()=>a.value.get(`${s.value}-${u.value}-${c.value}`),h=>{ic(f.value,h)||(f.value=h)},{immediate:!0}),he([f,()=>typeof i!="undefined",()=>typeof r!="undefined"],([h],[v])=>{if(v&&v!==h){const b=h!=null?h:new Map;ei(v,b,r),ei(b,v,i)}},{immediate:!0}),de(()=>{var v;var h;return Array.from((v=(h=f.value)==null?void 0:h.values())!=null?v:[])})}function Ad(e){const{findNode:t}=_e();return de({get(){var i,r;const n=ce(e);if(!Array.isArray(n)){const a=t(n);return a?{id:a.id,type:a.type,data:(i=a.data)!=null?i:null}:null}const o=[];for(const a of n){const l=t(a);l&&o.push({id:l.id,type:l.type,data:(r=l.data)!=null?r:null})}return o},set(){Bt("You are trying to set node data via useNodesData. This is not supported.")}})}export{J as P,Dd as _,Td as a,Pd as b,sn as c,Ad as d,wn as e,kd as f,Wn as g,_e as u};